Archive for the ‘Computer’ Category
Dockstar, OpenWRT & udev
Mahlzeit,
ich habe seit geraumer Zeit eine Seagate Dockstar, auf die ich mit der Hilfe eines guten Freundes ein OpenWRT mit Samba und NFS gezogen habe. Es lief auch alles ganz gut. Auch das mounten der USB-Platten mittels fstab.Nun passierte es jedoch eines Tages, dass ich einen USB-Stick anschließen wollte um per WLAN auf dem Sofa drauf zugreifen zu können, dies funktionierte jedoch nicht, da der Stick nicht gemounted wurde. Was nun? Da ich eh einen neuen Kernel und ein RootFS bauen musste, weil ich ein Modul für FTDI-Serial-USB-Adapter vergessen hatte, entschloss ich mich, udev mit zu kompilieren:
1 2 3 | CONFIG_DEFAULT_udevtrigger=y CONFIG_PACKAGE_udev=y CONFIG_PACKAGE_udevtrigger=y |
Nach einiger Recherche im World-Wide-Web hatte ich auch ungefähre Ahnung davon, wie ich udev für meine Zwecke misbrauchen kann. Ersteinmal sollte beim Start des Systems ein Ordner angelegt werden, welchen ich per NFS und Samba freigeben könne. Dies habe ich einfach mit der Zeile
1 | mkdir /tmp/disks |
in der /etc/rc.local realisiert.
Nun ist es an der Zeit udev ein Init-Script zu verpassen, wir wollen beim Systemstart den udev-daemon starten und auch gleich antriggern, damit er eventuell vorhandene Scripts ausführt. Erstellt wird hierzu die Datei /etc/init.d/udev. Diese wird mit folgendem Inhalt gefüllt:
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/sh /etc/rc.common start() { killall udevd > /dev/null 2> /dev/null /sbin/udevd --daemon /sbin/udevadm trigger } stop() { killall udevd } |
Noch ein
1 | chmod 755 /etc/init.d/udev |
und das Init-Script ist fertig.
Nun müssen wir udev noch dazu bringen, etwas auszuführen, wenn wir ein USB-Speichergerät anstöpseln. Also eine neue Rule erstellen:
1 | vi /etc/udev/rules.d/10-mount.rules |
Diese füllen wir mit der Regel zum Mounten und der zum Verzeichnis anlegen des USB-Mediums und der Regel zum Unmounten und der zum Verzeichnis löschen, wenn das Medium entfernt wird:
1 2 | KERNEL=="sd[a-z][0-9]", BUS=="usb", ACTION=="add", RUN+="/bin/mkdir -p /tmp/disks/%k", RUN+="/bin/mount -t auto /dev/%k /tmp/disks/%k" KERNEL=="sd[a-z][0-9]", BUS=="usb", ACTION=="remove", RUN+="/bin/umount -l /dev/%k", RUN+="/bin/rmdir /tmp/disks/%k" |
Nach einem Reboot der Dockstar sollten nur alle USB-Sticks oder Festplatten automatisch gemounted werden.
Falls ihr Geräte immer unter dem gleichen Mountpoint mounten wollte, z.B. einen bestimmten Stick immer unter /mnt/sonstwas, hilft euch udev hier auch, da es unter /dev/disk/by-id Symlinks zu dem Device anlegt. ein fstab-Eintrag mit “/dev/[ID-DES-GERÄTES] /mnt/sonstwas …” mounted natürlich das Gerät immer am selben Punkt
bis neulich.
j-zero
Bash: Logging & Ausgabe
Wer kennt es nicht, man möchte was in ein Log schreiben und dennoch ausgeben?
Lösung: “tee” (andere mit “tail -f” halte ich für eher ekelhaft.)
1 | make all | tee /tmp/make.log |
Bash: Fotos Web-fähig machen
Wenn man mal eben einen Satz Fotos von der Digitalkamera für das Web fit machen will, ohne sich durch ‘ne GUI zu klicken, helfen ImageMagick und die Bash: Beispiel (1024px und kleinschreibung
1 | mkdir web; for i in *.JPG; do convert -verbose -resize 1024 $i web/`echo $i | awk '{print tolower($0)}'` ; done |
Die Alten Tipps & Tricks findet ihr vorerst hier:
http://www.j-zero.de/tipps-tricks/bash-tipps-tricks
PuTTY und Ctrl+S (Strg+S)
Gerade ist es wieder passiert:
Ich hackte gerade ein wenig Code in vim über eine PuTTY SSH-Session zusammen und drückte beim Speichern – weil ich vorher die ganze Zeit unter Windows arbeitete - Ctrl+S.
Eine Frage in die Runde meiner Kollegen ergab nur:
Starte die Session neu und fang neu an.
Was ich aber für eine blöde Methode hielt. Nach kurzen googlen hatte ich die Lösung: Ctrl+Q (Strg+Q)
Und Damit es einen Blogeintrag wert ist, hier die Erklärung:
Ctrl+S ist das Steuerkommande für XOFF welches das Gegenstück zu XON ist und einfach besagt, das Terminal nimmt alle Kommandos (in unserem Fall Tastatureingaben) entgegen, zeigt aber nichts an. Um wieder in den XON-Modus zu wechseln benutzen wir einfach Ctrl+Q (Strg+Q) und schon ist die PuTTY Session wieder einsatzbereit.
