„GParted Bug: Eine Partition kann nicht (xxx) nach dem Ende des Laufwerks enden (%2)“

Problem

GParted beschwert sich bei der Anpasung von Partitionsgrößen: „GParted Bug: Eine Partition kann nicht (xxx) nach dem Ende des Laufwerks enden (%2)“

Die gleiche Meldung gibt es auch auf Englisch: „GParted Bug: A partition cannot end after the end of the device (%2)“

Das tritt beim resizing oder verschieben einer Partition auf, obwohl noch genug Platz da ist und das Ende des Laufwerks noch nicht erreich scheint.

Lösung

Der Fehler (Bug) liegt in der Berechnung der Partitionsgrenzen bei der Verwendung des Binärpräfixe gemäß IEC (MiB/KiB …). Man stelle den Dialog also einfach einfach auf „Zylinder“ (Cylinder) um, schon funktioniert die selbe Operation fehlerfrei.

CUPS: Alle Drucker auf einmal aktivieren

Nach einem abgeschlossenen „dist-upgrade“ sind konfigurierte CUPS Drucker gerne mal deaktiviert („disabled“). Man kann einen Drucker nach dem anderen natürlich manuell einschalten („enable“), aber schöner wäre es die ganze Liste auf einmal zu aktivieren. Dafür gibt es das tool „cupsenable„.

Die konfigurierten Drucker zeigt „lptstat -t“ an.

Liste inaktiver Drucker anzeigen

lpstat -t | grep disabled | awk '{ print $2; }'

Alle diese Drucker aktivieren

lpstat -t | grep disabled | awk '{ print $2; }' | xargs -I{} cupsenable {}

Debian GNU/Linux 9 (stretch) Zeit via NTP synchronisieren

Dies ist wieder einer von diesen „jedesmal-google-ich-das-wieder“ Schnippsel, die hoffentlich beim nächsten mal Zeit sparen.

Ein Debian stretch Server soll die aktuelle Zeit von einem [internen] NTP (NTPS) Server bekommen.

# NTP installieren
[email protected]:~# apt install ntp

# In der /etc/ntp.conf den lokalen NTP-Dienst konfigurieren
[email protected]:~# vi /etc/ntp.conf


  # Zeitquellen
  server MYNTP1.MEINEDOMA.IN
  server MYNTP2.MEINEDOMA.IN
  # Darf lokal genutzt werden
  restrict lo
  # Soll NTP *NICHT* nach außen (*:123) zur Verfuegung stellen
  interface ignore wildcard
  interface listen lo

# NTP restart
[email protected]:~# systemctl restart ntp

# NTP, config und Zeitserver testen
[email protected]:~#  ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
MYNTP1.MEINEDOMA.IN 352.29.139.27     3 u    9   64    3    0.485    7.615   1.192
MYNTP2.MEINEDOMA.IN 392.468.0.10      4 u   11   64    3    0.438   14.571   0.182



Linux (SuSE/Debian/RedHat) 802.1q VLAN-Interfaces erstellen und IP-Adressen vergeben

Dies ist mal wieder eine dieser „schnellen Notizen“, weil ich das jetzt ständig neu nachschlagen musste. 802.1q VLANs unter Linux werden in der Regel an ein bestehendes (physisches) Interface gebunden und stehen dann als Unterinterface mit einem Punkt (bzw. in „ip addr“ mit einem @-Zeichen) getrennt zur Verfügung.

Ein neues VLAN Interface unter Linux erstellen

Das Interface eth1 ist das physische Interface und eth1.3 wird das zugehörige VLAN-Interface (VLAN ID 3):


ip addr add 192.168.100.23/24 dev eth1
ip link set dev eth1 up
ip link add dev eth1.3 link eth1 type vlan id 3

Das Interface eth1.3 hat so noch keine IP-Adresse.

Ein VLAN Interface unter Linux konfigurieren

Das Interface eth1.3 wird mit einer IP-Adresse konfiguriert:


ip addr add  172.16.3.1/24 dev eth1.3
ip link set dev eth1.3 up

Der Netzwerverkehr für 172.16.3.0/24 passiert dann nun auf eth1.3, wird also direkt mit der VLAN ID=3 getaggt. Die Route für das Linklokale Netzwerk wird, wie bei Physischen Interfaces auch,  automatisch hinzugefügt.

Ein VLAN Interface unter Linux entfernen

Wenn man es nicht mehr braucht, kann es auch wieder gelöscht werden:


ip link set dev eth1.3 down
ip link delete eth1.3 type vlan

JPEG-Bilder nach EXIF Aufnahmedatum umbenennen (Windows/Linux)

Problem

Wir haben vermutlich alle mittlerweile eine Menge Bilder auf unseren Smarphones. So ich natürlich auch. Von Zeit zu Zeit sichere ich diese dann auf meine Backup-Maschine (und sychonisiere diese in verschiedene Clouds). Allerdings hatte ich neulich ein paar Probleme, als ich die Fotos und Videos sortieren wollte.

Die Bilder-Dateinamen sind ja meistens nur Dateizähler wie DSC0001, DSC0002, DSC0003. Die löbliche Ausnahme ist hier Windows Phone, das amerikansiche Datumsangaben einschliesslich (!) Uhrzeit verwendet. In einigigen Android’s kann man das auch einstellen, in anderen nicht.

Wenn man nun Bilder vom internen Speicher verschiebt, werden alle Dateidaten („Änderungsdatum“) der Bilder auf den Tag geändert, an dem die Dateien verschoben wurden. Das ist superunpraktisch beim selektieren, for allem wenn man das automatisieren möchte. Das passiert leider auch beim internen verschieben, also zum Beispiel vom internen Speicher auf eine SD-Karte.

Lösung

Zum Glück gibt es Jhead, das „Kommandozeilengesteuerte Programm zum Manipulieren der Nicht-Bild-Teile von Exif–JPEG-Dateien“.

Für Windows, Linux und Mac OS X gibt es eine vorkompilierte ausführbare Datei, die von der Kommandozeile aus starte. Ein GUI gibt es (und braucht es) nicht. Jhead zeigt, ohne Parameterm, so ungefähr alle EXIF-Daten an:

C:\Foo\JHead>jhead.exe C:\tmp\DSC* 
File name    : C:\tmp\DSC_F40261.JPG 
File size    : 3156739 bytes 
File date    : 2017:03:24 11:52:50
Camera make  : MegatronINC
Camera model : D4303 
Date/Time    : 2014:01:13 12:17:55 
Resolution   : 3840 x 2160
...

Und man kann damit diese Daten ganz wundervoll und schnell umbenennen:

C:\Foo\JHead>jhead.exe -n%m-%d-%Y-%f D:\tmp\DSC* 
D:\tmp\DSC_F0261.JPG --> D:\tmp\02-13-2016-DSC_0261.jpg 
D:\tmp\DSC_F0162.JPG --> D:\tmp\02-13-2016-DSC_0262.jpg

Ganz brauchbar fand ich diese Optionen (schnellübersicht, NICHT vollständig!)
%d Day of month as decimal number (01 – 31)
%H Hour in 24-hour format (00 – 23)
%j Day of year as decimal number (001 – 366)
%m Month as decimal number (01 – 12)
%M Minute as decimal number (00 – 59)
%S Second as decimal number (00 – 59)
%y Year without century, as decimal number (00 – 99)
%Y Year with century, as decimal number

Zum Beispiel:
C:\Foo> jhead -n%Y%m%d-%H%M%S *.jpg

… erzeugt Dateien mit der Benennung „YYYYMMDD-HHMMSS“.