《Ubuntu — NetworkManager开机提示A start job is running for Network Manager wait online (29s / no limit) 等待30s解决办法》
1.Network Manager
Ubuntu Server:
Ubuntu的Server版本只有终端界面,没有桌面GUI,且Server版本不会安装NetworkManager,所以Ubuntu Server网络由配置文件进行配置。
由于Server版本一般用作服务器的操作系统,服务器IP一般是固定的,通过命令修改 /etc/network/interfaces
配置文件来修改IP。
Ubuntu Desktop:
Ubuntu桌面系统,由于具有GUI,所以Desktop配置网络:
- 通过修改配置文件:
/etc/network/interfaces
的方法; - 通过 NetworkManager进行配置;
NetworkManager的配置文件:
/etc/NetworkManger/NetworkManager.conf
[main] plugins=ifupdown,keyfile,ofono dns=dnsmasq [ifupdown] managed=false
在 /usr/share/doc
里面可以查看得知:
Devices listed in /etc/network/interfaces will be managed by NetworkManager unless the ifupdown system-config-setting is enabled and is setup to run in “Unmanaged mode”. The config to select unmanaged/managed mode is in /etc/NetworkManager/NetworkManager.conf: [ifupdown] managed=true/false Unmanaged mode will make NetworkManager not touch any wired/wireless device matching an interface name configured in /etc/network/interfaces. Managed mode will make NetworkManager manage all devices and will make NetworkManager honour all dhcp and static configurations for wired and wireless devices.
从上面可以得知:
如果managed设置为true(unmanaged模式),NetworkManager将不会配置在interfaces文件中列出的有线/无线网卡,在interfaces中列出有线/无线网卡的配置将会生效;
如果managed设置为false(managed模式),NetworkManager将会管理配置所有的有线/无线网卡,interfaces中的配置无效;
NetworkManager和/etc/network/interfaces关系:
- Desktop版本默认安装NetworkManager,并且默认使用NetworkManager管理网络;
- 如果手动修改了/etc/network/interfaces,则NetworkManager停止管理网络,由配置文件interfaces内的参数对网络进行管理,并自动会将managed参数改为true;
- NetworkManager 只会管理 /etc/network/interfaces 里没配置的网络接口(当配置为true的时候);
2.停止Network Manager
$ systemctl status NetworkManager //查看NetworkManager的状态
可以看到当前NetworkManager是处于运行状态的。
$ systemctl disable NetworkManager //禁止NetworkManager
再查看一次Network Manager的状态(要重启一下系统):
可以看到NetwrokManager的状态是dead。
3.针对30s的情况
除了直接禁止掉这个功能,也可以修改等待的时间。
找到NetworkManager-wait-online.servic这个文件,Ubuntu下文件在/lib/systemd/system目录下:
pipci@ubuntu:/lib/systemd/system$ cat NetworkManager-wait-online.service [Unit] Description=Network Manager Wait Online Documentation=man:nm-online(1) Requisite=NetworkManager.service After=NetworkManager.service Before=network-online.target [Service] Type=oneshot ExecStart=/usr/bin/nm-online -s -q --timeout=30 RemainAfterExit=yes [Install] WantedBy=network-online.target
这个文件里的ExecStart=/usr/bin/nm-online -s -q --timeout=30 这行--timeout=30 是等待30s 通过vi编辑器
把这行给成ExecStart=/usr/bin/nm-online -s -q --timeout=5 保存,等待时间变成5s
4.总结
1.当我们使用Ubuntu作为系统的时候,如果我们使用静态ip或者用interface来配置网卡,那么可以修改NetworkManager的配置文件,将manged=false该成ture。
2.当我们确定我们一定不会使用NetworkManager来配置网卡的时候,也可以直接禁止该服务。禁止完要重启才能生效。
3.如果不想禁止掉NetworkManager,但是每次开机都会有等待30s。可以修改超时时间。