Linux (Debian) Volumen im laufenden Betrieb vergrößern

Einen Datenträger unter Windows im laufenden Betrieb vergrößern ist schnell erledigt. Ein bisschen umständlicher ist das bei einem Linux-Gast – hier aufgelistet am Beispiel Debian. Unsere Beispielplatte ist /dev/sdb mit einer einzigen Partition /dev/sdb1 darauf, die vergrößert werden soll.

  1. Die betreffende Platte unmounten
    umount /dev/sdb
  2. Die SCSI-ID herausfinden um den Bus gleich nochmal scannen zu können
     cat /proc/scsi/scsi
    Attached devices:
    Host: scsi0 Channel: 00 Id: 00 Lun: 00
    Vendor: VMware   Model: Virtual disk     Rev: 1.0
    Type:   Direct-Access                    ANSI SCSI revision: 02
    Host: scsi0 Channel: 00 Id: 01 Lun: 00
    Vendor: VMware   Model: Virtual disk     Rev: 1.0
    Type:   Direct-Access                    ANSI SCSI revision: 02
    Host: scsi0 Channel: 00 Id: 02 Lun: 00
    Vendor: VMware   Model: Virtual disk     Rev: 1.0
    Type:   Direct-Access                    ANSI SCSI revision: 02
    

    Uns geht es hier beispielhaft um:

    Host: scsi0 Channel: 00 Id: 02 Lun: 00
    Vendor: VMware   Model: Virtual disk     Rev: 1.0
    Type:   Direct-Access                    ANSI SCSI revision: 02
  3. Einmal den Bus neu einlesen um die neuen Werte sehen zu können:
     echo "scsi remove-single-device 0 0 2 0" >/proc/scsi/scsi
    echo "scsi add-single-device 0 0 2 0" >/proc/scsi/scsi

    Ob die neue Größe auch tatsächlich angekommen ist prüft ein

    fdisk –l
  4. Die Volumenbehandlung starten
    fdisk /dev/sdb
  5. Mit **p** die aktuellen Partitionen anschauen.
  6. Mit **d** die aktuelle (in unserem Fall die 1.) Partition löschen (Don’t Panic: es werden keine Daten gelöscht.)
  7. Mit **n** eine neue Partition erzeugen
  8. Mit **1** diese als erste erstellen (je nach Konfiguration entfällt dieser Schritt eventuell)
  9. Mit **p** die Partition als „primary“ setzen
  10. Mit **1** den ersten Zylinder festlegen
  11. Das Ende der Partition festlegen (die vollständige Größe wird genutzt wenn man das Feld freilässt)
  12. Mit **a** kann man die Partition auch noch active setzen (mit aktive Partitionen sind bootfähig)
  13. Und dann mit **1** ins Menü wechseln …
  14. Um mit **w** die Änderungen zu schreiben.
  15. Partition mounten:
    mount /dev/sdb1 /mnt/hiersolleshin
  16. Partition jetzt endlich vergrößern mit
    resize2fs /dev/xvde1
  17. Partitionsgröße prüfen mit
    df –h

Fertig. Fast gar nicht umständlich. Und das im Zeitalter der allgegenwärtigen Virtualisierung.

Samba (Debian) – Windows Offlinedateien (Offlinesynchronisation) abschalten

Nach langem Suchen bin ich nun doch fündig geworden. Die Offlinesynchronisation die sich im Windows-Dateiserver so wunderbar einfach pro Freigabe deaktivieren lässt, ist auch unter Linux durchaus konfigurabel.

Die zuständige Option heißt „CSC Policy“ und wird in die smb.conf im jeweiligen Abschnitt der Freigabe eingefügt, in der die Offlinedaten angepasst werden sollen.

In meinem Fall (eine Abas-ERP Freigabe für die Offline-Verfügbarkeit sperren) sieht das in der smb.conf so aus:

csc policy: disable

CSC steht für „Client-side caching“ und bietet analog zur Windows-Einstellung die Varianten „manual“, „documents“, „programs“ und „disable“. Mehr gibt’s in der manpage für Samba3.

Windows und Linux/Samba (3.0.x) Umlaute/Sonderzeichen Darstellung

windows-linux-samba-umlauteAn diesem Phänomen habe ich jetzt eine ganze Weile gebastelt – aber ich bin zufrieden mit der Lösung 🙂

Problem: Umlaute in Dateinamen werden Unter Windows anders angelegt als unter Linux (Shell/Konsole/X) und noch anders unter DOS. Einen brauchbarer Fileserver mit Umlauten in Dateinamen ist unter Samba praktisch nicht zu betrieben.

Lösung: Die meisten Phänomene mit deutschen Umlauten bekommt man in den Griff, indem man das Dateisystem weiterhin in UTF-8 betreibt (es gibt da die wildesten Anleitungen im Netz), aber die Umlaute durch Samba hart in Windows-Ansi (Codeseite 1252) schreiben lässt. Da Windows selber immer abwärtskompatibel zu DOS bleibt (die gute alte CP850), kann man 1252 in der Regel ohne Probleme zu Samba 3.0.3x (smb.conf)  hinzufügen:

[global]
unix charset = UTF-8
dos charset = cp1252

In Samba <3 lautet die Option (hier alternativ mit ISO8859-1 für Windows-ANSI):

character set = ISO8859-1

Ein schnelles

/etc/init.d/smb reload

läd die Config im laufenden Betrieb auch neu und alles ist gut.

AchtungBestehende Dateien werden dadurch natürlich nicht verändert. Schon geschriebene Umlaute bleiben so wirsch wie sie sind. Das gilt auch nur für den Zeichensatz CP1252, also nicht für den ganzen UTF-8 Zeichenraum. Da wird es so auch weiterhin diese lustigen Codierungsfehler geben.

windows-samba-linux

Bestehende falsche Umlaute im Dateinamen nachträglich (bulk) korrigieren

In der Shell kann man solche falsch benannten Dateien natürlich einfach einzeln umbenennen; zum Beispiek mit mv (oder dem rename-alias):

mv seltsamezeichen???.txt seltsamezeichenÄÖÜ.txt

Das Fragezeichen ist hier der Platzhalter für ’nur ein Zeichen, aber jedes‘. Achtung beim Escapen von Leereichen ( ), hier habe ich mich auch schon ein paarmal „Ganz sch?n ge?rgert.txt“ weil ich einen Backslash an der falschen Stelle eingebaut hatte.

Lösung: Bulk umbenennen mit „convmv“. Das ist bei allen großen Distributionen dabei oder im Repository (warum wohl?) und funktioniert so:

convmv -f iso-8859-15 -t utf-8 --notest /foo/bar

Damit werden in /foo/bar alle Dateinamen von ISO-8859-15 nach UTF-8 konvertiert. Mit -r geht das natürlich auch rekursiv.

E-Mails an der Kommandezeile ab Exchange 2010 und in der Cloud versenden (auch Linux)

Da Exchange ab 2010 für den Standard SMTP-Connector immer TLS für Authentifizierte Verbindungen vorsieht, fallen die guten altgedienten Kommandozeilen-Tools wie Blat, smtpsend und ähnliche leider aus. Glücklicherweise gibt es ein ganz brauchbares Tool das STARTTLS beherrscht und somit diese neu entstandene Lücke im Repertoir der Batchhacker auffüllt: SendEmail.

SendEmail ist ein sehr schlanker SMTP-Mail-Client für die Kommandozeile. Es wurde entwickelt um schnell und einfach in Bash-Skripts, Batch-Dateien, Perl-Programmen und Web-Sites verwendet zu werden, ist sehr anpassungsfähig und beherrscht sowohl SSL als auch TLS. SendEmail ist ursprünglich in Perl geschrieben und einzigartig, weil es fertig gepackt daherkommt und keine externen Module benötigt. Eine ganz klare Empfehlung für Admins.

SendEmail steht unter der GNU GPL unter der Version 2 und unterstützte zahlreiche Plattformen: Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000, und Windows XP.

Benutzung:

sendEmail.exe -a %1 -f %smtp_sender% -t %smtp_receiver% -m "%smtp_message%" -u "%smtp_subject%"  -s %smtp_server%:%smtp_port% -xu %smtp_username% -xp %smtp_password%

Linux: Neue Festplatte hinzufügen, formatieren und mounten

Neue Festplatte zu einem Linux hinzugefügt und diese soll jetzt genutzt werden? Das passiert besonders gerne auch mal unter vmware – hier ist Schnellanleitung. Geschrieben von/für/unter Debian.

  1. Ist die neue Festplatte da? Meistens wohnt diese unter /dev/sdb, /dev/sdc oder höher.
    fdisk -l

    Keine neue Platte da? Reboot bringt diese meistens hoch. Manche Linuxe in manchen Konfigurationen mögen Platten im laufenden Betrieb nicht erkennen. Alternativ zum reboot reicht meist auch ein rescan des SCSI-Busses


    echo "- - -" > /sys/class/scsi_host/host2/scan

  2. Partition erstellen (auf richtigen Platte naürlich)
    fdisk /dev/sdb

    Eingaben: g (GUID Partition), n (neu), p (primär), 1 (erste), 1 (beginn), xxx (Ende), w (schreiben)


  3. Partition formatieren
    EXT3:

     


    mke2fs -j /dev/sdb1

    EXT2:


    mke2fs /dev/sdb1

    Raiser:


    mkreiserfs -j /dev/sdb1

  4. Neue Partition mounten
    mkdir /mnt/ziel
    mount -v -o rw /dev/sdb1 /mnt/ziel

  5. Partition in einer eigenen Zeile zur /etc/fstab hinzufügen, damit diese beim booten auch mitgemountet wird
    /dev/sdb1 /mnt/ziel auto rw 0 0