确切地说它有效.
我用Ubuntu 14.04和Ubuntu 14.10(都是64位服务器版本)进行了测试
看起来他们默认启用它 – 在系统启动后立即启用它
网络接口有一个名称,如p4p1而不是eth0,没有自定义
需要.据我了解,为了启用biosdevname,两者兼而有之
必须满足这两个条件:
>必须将引导选项biosdevname = 1传递给内核
>必须安装biosdevname包
正如我已经提到的,Ubuntu 14.04和14.10似乎都提供了biosdevname
作为默认功能:它们已经安装了biosdevname包,我
也不需要修改grub.cfg – GRUB_CMDLINE_LINUX_DEFAULT没有
参数和我的网络接口仍然有一个BIOS名称(p * p *)而不是
内核名称(eth *.)
后来我想恢复旧式设备命名,那就是
有趣的部分开始.我决定尝试禁用时尝试一下
biosdevname功能.因为它需要biosdevname包才能工作(或者
所以我在这里和那里阅读),我假设删除它就足以禁用了
功能,所以我输入:
sudo apt-get purge biosdevname
令我惊讶的是,重新启动后我的网络接口仍然是p4p1,所以
即使biosdevname包已经生效,biosdevname显然仍然有效
歼灭.
下一步,我在/ etc / network / interfaces中应用了适当的更改
为了恢复我的网络接口的旧名称(删除了p4p1的条目
并添加了eth0的条目.结果,在另一次重启后,ifconfig
没有报告eth0和p4p1这是操作系统仍然存在的另一个证据
了解BIOS名称而不是内核名称.
事实证明,我还必须明确地将GRUB条目更改为
GRUB_CMDLINE_LINUX_DEFAULT = biosdevname = 0并更新GRUB以获得预期的结果
结果(禁用了biosdevname,恢复了网络接口的旧名称).
我的问题是:如果没有biosdevname包,biosdevname怎么办?是
毕竟不需要吗?如果是这样,究竟是什么提供了biosdevname
功能和它是如何工作的?