Kategorie: Linux

  • Windowsfreigaben unter Linux mounten

    Ich habe heute ein wenig herumsuchen müssen, um eine Windowsfreigabe unter Linux zu mounten. Bisher hatte ich immer den umgekehrten Fall – ein Linuxverzeichnis sollte mittels Samba unter Windows eingebunden werden. Um eine Windowsfreigabe unter Linux zu mounten, habe im Netz viele Treffer mit dem Befehl smbmount gefunden. Dieser funktionierte in meiner OpenSuse 10.3 Installation leider nicht mehr.

    Letztendlich führte unten stehender Befehl zum Erfolg. Mit dem mount Befehl wird einfach ein cifs Dateisystem gemounted.

    USERNAME und PASSWORT sind die Kontoinformationen für den Zugriff auf die Windowsfreigabe. //xxx.xxx.xxx.xxx/share. /winshare ist der mountpoint in Linux, mit dem man später auf die Windowsfreigabe zugreifen kann.
    xxx.xxx.xxx.xxx ist die IP Adresse des Windowsrechners der die Freigabe enthält.

    mount -t cifs -o username=USER,password=PASSWORD //xxx.xxx.xxx.xxx/sharename /winshare

    Damit die Windowsfreigabe bei jedem Reboot automatisch eingebunden wird, muss folgende Zeile in die Datei /etc/fstab eingefügt werden:

    //xxx.xxx.xxx.xxx/sharename /winshare cifs username=USER,password=PASSWORT 0 0

    Damit das Ganze funktioniert, muss natürlich der Samba-Client installiert sein. Dies kann man unter openSUSE mit YAST erledigen. Am schnellsten geht es mit der Console:

    zypper in samba-client

  • Erstellen eines symbolischen Links auf ein Verzeichnis

    Der Befehl

    ln -s /ordner1/ordner2/ meinlink

    erstellt im aktuellen Verzeichnis einen symbolischen Link meinlink auf den Ordner /ordner1/ordner2/

  • Synchronisation von einem Verzeichnis auf einem Remoteserver mit einem Verzeichnis auf dem lokalen Server mittels rsync

    Rsync ist ein Programm zum Spiegeln von Verzeichnissen. Dabei kopiert Rsync die Daten inkrementell, d.h. es werden nur veränderte Daten übertragen.

    Der Befehl

    rsync -v -a –delete -e ssh user2@remoteserver.net:/home/user2/daten/ /home/user1/backup/

    gleicht das Verzeichnis /home/user2/daten/ auf dem entfernten Server mit dem Verzeichnis /home/user1/backup/ auf dem lokalen Server ab.

    Die Optionen bedeuten im einzelnen:

    -v = verbose – Erweiterte Ausgabe, nützlich bei der Fehlersuche
    -a = Kombiniert mehrere andere Optionen. Sorgt unter anderem dafür, dass Unterverzeichnisse rekursiv mitkopiert werden, symbolische Links kopiert werden, Benutzer- und Gruppenrechte sowie Zeiten erhalten bleiben.

    –delete sorgt dafür, dass Dateien auf dem Ziel, die auf der Quelle nicht mehr existieren, gelöscht werden (Mirroring). Vorsicht bei der Verwendung dieser Option.

    -e ssh sorgt dafür, dass die rsync Verbindung durch eine verschlüsselte SSH Verbindung getunnelt wird.

  • SSH Login ohne Passworteingabe mit SSH Key Authentication

    Mit dem Befehl

    ssh-keygen -t rsa

    wird ein Schlüsselpaar aus öffentlichem und privatem Schlüssel generiert. Die beiden Dateien mit den Schlüsseln werden im Ordner ~/.ssh erstellt.
    ~/.ssh/id_rsa Privater ServerKey
    ~/.ssh/id_rsa.pub Public Key

    Nun muss noch der eigene Public Key auf dem Remote Server installiert werden. Der Befehl

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@remoteserver

    hängt den eigenen Public Key an die Datei ~/.ssh/authorized_keys des Remote Servers.

    Ob das Ganze erfolgreich war, kann man nun mit dem Befehl

    ssh user@remoteserver

    testen. Wenn bei der Schlüsselgenerierung keine Passphrase angegeben wurde, sollte die ssh-Verbindung nun automatisch aufgebaut werden. Dies ist unter anderem sehr nützlich, wenn eine SSH Verbindung per Script automatisch aufgebaut werden soll.

  • Darstellung von Umlauten und Linien bei einer SSH Verbindung mit Putty zu einer openSuse Installation.

    Problem: Nach dem Umstieg von Suse Linux 9.3 auf openSUSE Linux 10.1 traten bei einer SSH Verbindung mit Putty Fehler bei der Darstellung von Sonderzeichen und Linien auf. Ein Umstellen des Zeichensatzes auf UTF-8 in Yast und bei Putty behob dieses Problem nur zum Teil. Entweder wurden die Linien richtig dargestellt, aber die deutschen Umlaute nicht, oder es wurden die Umlaute korrekt angezeigt, aber die Linien nicht.

    Lösung: Ein Hinweis in der openSUSE-de Maillingliste, half das Problem zu beheben. Wichtig ist folgende Einstellung unter Putty: Unter CONNECTION -> DATA -> TERMINAL-TYPE STRING muss der Wert XTERM mit dem Wert „linux“ (Achtung: Diese Einstellung ist Case Sensitive. Das heißt „linux“ in Kleinbuchstaben schreiben) ersetzt werden. Weiterhin wurde bei Putty der Zeichensatz unter WINDOW -> TRANSLATION auf UTF-8 geändert. Nun werden alle Umlaute und Linien, bei einer SSH Verbindung mit Putty, wieder korrekt dargestellt.

    Fehlerhafte Umlautdarstellung bei Putty

    Fehlerhafte Umlautdarstellung

    Fehlerhafte Liniendarstellung bei Putty

    Fehlerhafte Liniendarstellung

    Korrekte Darstellung

    Korrekte Darstellung

  • Suchen und Ersetzen mit VIM

    Wer immer nach dem VIM Syntax für Suchen und Ersetzen googlen muss:

    :%s/SUCHMUSTER/NEUERTEXT/g

    Ersetzt im ganzen Dokument das SUCHMUSTER mit NEUERTEXT.

    Hier ein VIM Beispiel für Suchen und Ersetzten in einem Bereich. Es soll in den nächten x Zeilen ein Muster gesucht und ersetzt werden.

    :.,+2s/SUCHMUSTER/NEUERTEXT/g

    In obigen Beispiel soll ab der aktuellen Zeile . in den folgenden 2 Zeilen +2 gesucht werden.

    Eine gute Anleitung zum Thema Suchen und Ersetzen in VIM.