Ich kenne den Zweck der "biosdevname"
Funktion in Linux, aber ich bin mir nicht sicher, wie genau funktioniert.Wie funktioniert "biosdevname" wirklich?
Getestet habe ich es mit Ubuntu 14.04 und Ubuntu 14.10 (beide 64-Bit-Server-Editionen) und es sieht aus wie sie es standardmäßig aktivieren - direkt nach dem Systemstart meiner Netzwerk-Schnittstelle einen Namen wie p4p1
statt eth0
hat, keine Anpassung wird benötigt. Wie ich es verstanden, um für biosdevname
aktiviert sein, BEIDE dieser beiden Bedingungen müssen erfüllt sein:
- eine Boot-Option
biosdevname=1
muss biosdevname
Paket an einen Kernel übergeben werden muss installiert sein
wie ich bereits erwähnt, sowohl Ubuntu 14.04 und 14.10 scheinen biosdevname
als Standard-Feature zu bieten: sie kommen mit biosdevname
Paket bereits installiert ist, ich brauchte nicht 0.123.550 zu ändernentweder - GRUB_CMDLINE_LINUX_DEFAULT
hat keine Parameter und mein Netzwerk-Interface hat noch einen BIOS-Namen (p*p*
) anstelle einen Kernel-Namen
Später wollte ich die alten Stil Gerätenamen wieder herzustellen und das ist, wo die interessant (eth*
.) Teil beginnt. Ich beschloss, ein wenig zu experimentieren, während ich versuchte, die biosdevname
Funktion zu deaktivieren. Da es biosdevname
Paket erfordert arbeiten (oder so las ich hier und da), nahm ich an dem Entfernen es ausreichen würde, die Funktion zu deaktivieren, so dass ich getippt:
sudo apt-get purge biosdevname
Zu meiner Überraschung nach meinem Netzwerk neu starten Schnittstelle war immer noch p4p1,
so biosdevname
offenbar noch funktioniert, obwohl Paket ausgelöscht worden war.
Als nächsten Schritt habe ich angewandt entsprechenden Änderungen an /etc/network/interfaces
in um den alten Namen meiner Netzwerk-Schnittstelle (entfernt Eintrag für p4p1
und zusätzlicher Eintrag für eth0
) wiederherzustellen. Als Ergebnis, nach einem weiteren Neustart, ifconfig
gemeldet weder eth0
noch p4p1
, die ein weiterer Beweis, dass OS immer noch BIOS-Namen statt Kernel-Namen verstehen.
Es stellte sich heraus, dass ich auch die erwartete Ergebnis (biosdevname
Behinderte und alte Name der Netzwerkschnittstelle wiederhergestellt) zu GRUB_CMDLINE_LINUX_DEFAULT=biosdevname=0
und aktualisieren GRUB Eintrag explizit GRUB ändern musste zu bekommen.
Meine Frage ist: wie könnte biosdevname
funktionieren ohne biosdevname
Paket? Ist es doch nicht erforderlich? Wenn ja, was genau bietet die biosdevname
Funktionalität und wie funktioniert es?
Möglicherweise möchten Sie auf die Dateien in /etc/udev/rules.d/, um zu sehen, ob es Regeln gibt Netzwerk-Interface Namensgebung fahren – ComputerDruid