Abbildung 1 zeigt den Weg der Informationen von der Hardware bis zur Anwendung, die dann die von »biosdevname
«
definierten Geräte-Namen sieht. Die Udev-Regel, die die Geräte-Namen implementiert, sieht dabei wie folgt aus:
# grep PROGRAM /lib/udev/rules.d/71-biosdevname.rules PROGRAM="/sbin/biosdevname --smbios 2.6 --policy physical -i %k", NAME="%c",OPTIONS+="string_escape=replace"
Es ist schön zu erkennen, dass das Programm »biosdevname
«
, gleich nachdem der Kernel-Treiber ein Gerät erkennt (»%k
«
), diesem direkt einen neuen Namen zuweist (»%c
«
).
Wer auf seinem System das neue Namensschema verwenden möchte, sollte zuerst das oben aufgeführte Skript ausführen, um zu sehen, ob die eingesetzte Hardware die gewünschten Informationen zur Verfügung stellt. Danach ist die Datei »/etc/udev/rules.d/70-persistent-net.rules
«
zu löschen. Die Geräte-Namen sollen ja von »biosdevname
«
kommen und nicht statisch durch Udev gesetzt werden. Schließlich sind noch die Konfigurationsdateien der Netzwerk-Karten unterhalb von »/etc/sysconfig/network-scripts/
«
umzubennen und der Eintrag »DEVICE
«
auf den neuen Namen zu ändern.
Red Hat Enterprise Linux ab 6.1, Fedora ab der Version 15 und aktuelle Versionen von Open Suse, Suse Linux Enterprise Server und Ubuntu verwenden das neue Namensschema bereits standardmäßig, und der Installer verwendet die neuen Namen bereits während der Installation. Wer sich nicht daran gewöhnen kann oder keine Lust hat, seine Skripte zu ändern, die auf »ethX
«
verweisen, der hat über den Kernel-Parameter »biosdevname=0
«
beim Booten immer noch die Möglichkeit, auf das alte Schema zurückzuwechseln.