今天将系统从 Ubuntu 8.04 升级到 8.10 beta,基本上一切正常。只是本来在公司用得好好的网络链接,回到宿舍后却突然无法使用了。
使用 ifconfig
发现 eth0
没有从路由器上获得 IP 地址。在 /var/log/syslog 中看到系统不断地重复输出(3秒一次)
Oct 7 22:34:54 ubuntu NetworkManager:
disconnected by the system bus.
Oct 7 22:34:57 ubuntu NetworkManager:nm_dbus_manager_start_service(): Could not acquire the NetworkManager service as it is already taken.
通过浏览日志发现,系统在启动的时候其实已经通过 DHCP 获得了 IP 地址,而且 Activation (eth0) Stage 的五个步骤也全部成功完成。但是随后输出一下日志
Oct 7 22:20:22 ubuntu NetworkManager:
(eth0): carrier now OFF (device state 8 )
Oct 7 22:20:22 ubuntu NetworkManager:(eth0): device state change: 8 -> 2
Oct 7 22:20:22 ubuntu NetworkManager:(eth0): deactivating device.
Oct 7 22:20:22 ubuntu NetworkManager:eth0: canceled DHCP transaction, dhcp client pid 6853
不知道为什么会突然 carrier OFF。考虑到网上很多用户反映 Ubuntu 8.10 的 NetworkManager 不好用,不能排除新版本的 NetworkManager 依旧存在某些 bug。
如果需要快速恢复系统的网络链接,一个快捷的方法是编辑 /etc/network/interfaces 文件。我打开文件后发现其中内容只有 lo
的配置:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).# The loopback network interface
auto lo
iface lo inet loopback# The primary network interface
于是为 eth0
(有线链接)和 eth1
(无线链接)加上配置,如下:
auto eth0
iface eth0 inet dhcpauto eth1
iface eth1 inet dhcp
保存之后执行sudo /etc/init.d/networking restart
即可恢复。但是这时 NetworkManager 不再管理网络链接,点击其图标会提示 device is unmanaged。
如果希望保留 NetworkManager 的特性,还可以编辑 /etc/NetworkManager/nm-system-settings.conf,将其中的
[ifupdown]
managed=false
修改成为
[ifupdown]
managed=true
即可。
http://www.dreamcode.org/blog/posts/32.html原贴地址