问题描述
很多脚本在安装Ubuntu 15.10后就停止了工作,我很难记住这个新名字,因为我习惯ethx和wlanx多年。是否有这个改变的原因?我是否必须习惯这个,或者我可以重新命名它并返回到旧的eth0?
$ ifconfig
enp0s25 Link encap:Ethernet HWaddr 77:5a:5e:a6:86:d5
inet addr:192.168.31.239 Bcast:192.168.31.255 Mask:255.255.255.0
inet6 addr: fe80::725a:b6ff:fea6:86d7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4833 errors:1332 dropped:0 overruns:0 frame:666
TX packets:5589 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3266446 (3.2 MB) TX bytes:1046654 (1.0 MB)
Interrupt:20 Memory:d3500000-d3520000
最佳解决思路
这被称为Predictable Network Interface naming,它是systemd的一部分,从15.04版本开始,Ubuntu已经过渡到该版本。
基本思想是,与以前的* nix命名方案不同,在这种方案中,硬件探测不按特定顺序进行,并可能在重新启动之间发生变化,这里接口名称取决于硬件的物理位置,可以通过查看lspci
或lshw
输出来预测/猜测。相反,我们可以猜测它在pci系统中的物理位置的信息。在你的情况下,这将是PCI总线0,插槽2.根据the freedesktop.org article,实际上有3种方法如何分配接口名称:基于板载卡的BIOS /固件,基于PCI信息,并基于接口的MAC地址。 Refer here for other examples。
根据the freedesktop.org page切换到可预测命名的原因之一是,经典的命名约定可能会导致multi-interface系统中的软件安全风险,因为设备在启动时被添加和删除。另外,根据Sam Hanes的the comment,“在一个具有多个以太网端口的大型服务器上这是非常宝贵的:您可以立即知道哪个接口转到哪个端口,添加或删除硬件不会更改其他端口的名称。”
如果您决定恢复到其他版本的命名,请参见How to rename network interface in 15.10。