我刚刚在我的旧电脑上安装了 Arch Linux,以进行我使用的安装wifi-menu wlan0
,现在我已经重新启动,但如果我输入:
ifconfig wlan0 up
我的结果是:
wlan0: ERROR while getting interface flag: no such device
我读到安装Arch后更改了名称wlan
,我如何找到新名称以及如何更改它?
答案1
从systemd
v197 开始引入了可预测的网络名称。
在 systemd 197 中,我们在 systemd/udevd 中添加了对许多不同命名策略的本机支持,并将类似于 biosdevname 的方案(但通常更强大,更接近内核内部设备识别方案)作为默认方案。1
您可以用来ip link
显示您的所有设备。
然后,您可以选择重命名任何或所有这些设备,或继续使用 systemd/udev 提供的设备。
如果您希望将其重命名为您觉得更舒服的名称,您可以在Called中放置一条udev
规则,例如:/etc/udev/rules.d/
10-net-naming.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="20:a7:d3:68:50:g8", NAME="ether"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="a8:c7:43:1d:f4:53", NAME="wifi"
富有想象力地将无线和以太网重命名为wifi
和ether
。然后,您需要更新网络管理器以使用新名称。
Arch 邮件列表上有一篇非常详细的帖子宣布改变。
1.http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
答案2
我的 Arch 盒子上没有无线网卡,但我可以在备用ip
以太网设备上执行您需要的操作eth1
,如下所示:
# view network devices and addresses
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether __MAC_ADDRESS__ brd __IPv6_BROADCAST__
inet __IP_ADDRESS__/24 brd __BROADCAST__ scope global eth0
inet6 __IPv6 ADDRESS__/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether __MAC_ADDRESS__ brd __IPv6_BROADCAST__
$ # must bring down eth1 before renaming it.
$ sudo ip link set dev eth1 down
$ # rename eth1 to ethfoo
$ sudo ip link set dev eth1 name ethfoo
$ # show 'ethfoo' device status
$ ip addr show dev ethfoo
3: ethfoo: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 48:5b:39:5d:89:2c brd ff:ff:ff:ff:ff:ff
$ # bring ethfoo back up
$ sudo ip link set dev ethfoo up
我想ip
也应该与无线设备相同地工作,如果没有,iw
希望能提供相同的功能。