TableOfContents()

Linux-Tips

Userspace-Tips

Die gängigen Kommandozeilen-Programme

Was kann man damit machen?

Prinzipiell können all die Befehle einfach eingegeben werden. Nachdem man <Return> gedrückt hat, wird dieser Befehl ausgeführt,bis er sich beendet hat.

Aber mit der Shell (dem Kommandointerpreter) von Unix-artigen Systemen kann man viel mehr machen, als nur einfach der Reihe nach Befehle auszuführen. Wenn man an die Befehlszeile "&" anhängt, so wird der Befehl im Hintergrund ausgeführt, sodaß man sofort weitere Befehle eingeben kann. Das hilft vor allem, wenn man Programme mit langer Laufzeit ausführen möchte.

Natürlich kann man die Ausgabe eines Programmes auch (wie unter DOS) in eine Datei umleiten:

$ ls > ausgabedatei

oder an eine Datei anhängen:

$ ls >> ausgabedatei

USB mit "speziellen" Geräten

Einige USB-Geräte brauchen nach dem Einstecken noch etwas Feinschliff, oder gar sich ändernde Modul-Parameter. Leider ist das noch nicht so dolle dokumentiert. Ich habe hier z.B. einen Drucker, der sich als serielle Schnittstelle am US-Bus anmeldet. Leider braucht das usbserial.o-Modul aber Vendor- und Product-ID. Voraussetzung ist, daß hotplug installiert ist. Danach kommt die Speziel-Behandlung:

$ cat /usr/lib/hotplug/special-local-config/usb.usermap
usbgenericserial 0x03 0x04b8 0x0202 0 0 0 0 0 0 0 0 0

Das Verzeichnis special-local-config muß einfach nur ein Unterverzeichnis (frei wählbar) sein. update-usb.usermap (gehört zu dem Debian'schen hotplug-Paket liest alle Dateien mit dem Namen usb.usermap aus all den Unterverzeichnissen von /usr/lib/hotplug/ und generiert daraus die /etc/hotplug/usb.usermap. Wenn man kein Debian hat, kann man die Zeile(n) da also auch direkt eintragen.

Als erstes kommt ein Script-Name (dieses Script muß dann in /etc/hotplug/usb/ liegen). Danach kommt ein Bezeichner, der angibt, was für ein Vergleich mit den hinten angegebenen Zahlen (und den Angaben, die das USB-Gerät mit sich bringt) gemacht werden soll. 0x03 ist anscheinend Vergleich von Vendor- und ProductID (das haben zumindest viele andere Einträge so...). Danach kommen besagte Vendor- und ProductID sowie einige nullen (da kommen sonst noch weitere USB-Merkmale hin, aber da wir die ja nicht brauchen...)

Nun sollte man also einmal

# update-usb.usermap

aufrufen, um die /etc/hotplug/usb.usermap zu erzeugen (falls man die Daten da nicht direkt hineingeschrieben hat).

Als nächstes gilt es, das Script /etc/hotplug/usb/usbgenericserial zu erzeugen. Ich habe darin folgendes stehen:

$ cat /etc/hotplug/usb/usbgenericserial
#!/bin/sh

echo "${PRODUCT}" | tr '/' ' ' | while read VENDOR_ID DEVICE_ID REVISION_ID; do
        modprobe usbserial vendor=0x${VENDOR_ID} product=0x${DEVICE_ID}
done

In der Variable $PRODUCT sind Vendor-, Product- und Revision-ID gespeichert, getrennt durch "/". Ich brauchte für das usbserial.o-Modul Vendor- und ProductID (da das Modul leider keine 2MB-Tabelle von 10000 unterstützten seriellen USB-Geräten beinhaltet...) und lade dann das Modul.

Kernel-Tips

Wie finde ich heraus, welche Kernel-Versionen gerade aktuell sind?

Es gibt einen alten Dienst namens ["Finger"], mit dem man früher herausfinden konnte, ob ein User eingeloggt ist, was er so vor hat, wann er zuletzt Mails gelesen hat etc. Dieser Dienst wird auf dem Rechner finger.kernel.org mißbraucht, um die aktuellen Kernel-Versionen von sich zu geben:

$ finger @finger.kernel.org
[zeus-pub.kernel.org]
The latest stable version of the Linux kernel is:           2.4.20
The latest prepatch for the stable Linux kernel tree is:    2.4.21-pre5
The latest beta version of the Linux kernel is:             2.5.64
The latest snapshot for the beta Linux kernel tree is:      2.5.64-bk5
The latest 2.2 version of the Linux kernel is:              2.2.24
The latest 2.0 version of the Linux kernel is:              2.0.39
The latest prepatch for the 2.0 Linux kernel tree is:       2.0.40-rc6
The latest -ac patch to the stable Linux kernels is:        2.4.21-pre5-ac2
The latest -ac patch to the beta Linux kernels is:          2.5.64-ac3
The latest -dj patch to the beta Linux kernels is:          2.5.60-dj2
$ date
Tue Mar 11 10:39:06 CET 2003
Impressum Datenschutz