Udev
Back to current versionRestore this version

udev#

Udev dient seit dem Linux-Kernel 2.6 dazu, alle Geräte des Systems automatisch zu konfigurieren. Dabei ist die Philosophie (im Gegensatz zu früher), daß ein Userspace-Programm (nämlich udev) erfährt, wenn ein Device in das System kommt (beim hochfahren oder wenn z.B. ein USB-Gerät eingesteckt wird). In /etc/udev gibt es nun umfangreiche Konfigurationsdateien. Dort kann man festlegen, welches Gerät dann wie heissen soll. Udev sorgt dabei automatisch dafür, daß ein bestimmtes Gerät immer unter dem gleichen Namen erreichbar ist. So ist die USB-Kamera immer an derselben Stelle (am besten z.B. an /dev/camera) und nicht zufällig gerade heute mal auf /dev/sdc, weil ich vorher zwei Flashkarten eingelegt habe (wie früher üblich).

Die udev-Weseite findet sich unter http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html.

Hier soll nicht die udev-Dokumentation wiederholt werden. Stattdessen möchte ich hier (mindestens) einen Fallstrick dokumentieren, der mich viel Zeit gekostet hat.

Netzwerkkarte auf einmal weg#

Folgendes ist passiert: Ich habe einen Rechner mit einer internen Netzwerkkarte (forcedeth) installiert. Bei der Debian Etch-Installation wurde diese Karte als "eth0" eingebunden. Bis dahin war ich gar nicht erstaunt. Was ich nicht wusste, ist, daß diese Namensgebung neuerdings von udev gemacht wird und udevs Philosophie bedeutet, daß ein Gerät, das man einmal eingebaut hat, in Zukunft immer unter dem gleichen Namen erreichbar sein soll. Also merkt sich udev in etc/udev/rules.d/z25_persistent-net.rules diese Karte.

Nun habe ich eine zweite Netzwerkkarte installiert. Das System hat diese (8139too) aus irgendeinem Grund (vor dem udev-Start) als erste und die forcedeth als eth1 installiert. Nun meinte udev, die forcedeth als eth0 einrichten zu müssen. Da eth0 aber schon besetzt war, hat es sich dieses auch gemerkt, die forcedeth umbenannt in eth1_rename und fertig.

Jetzt hatte ich in etc/udev/rules.d/z25_persistent-net.rules beide Karten als eth0 stehen und in welcher Reihenfolge ich die Module auch lud, ein eth1 bekam ich nicht.

Fazit: Wem also plötzlich eine zweie Netzwerkkarte fehlt, der sollte mal ifconfig -a machen. Findet man eine *_rename-Karte, so kann ein Blick in o.g. Datei nicht schaden.