电脑安装openSUSE42.3和 Ubuntu16.04 双系统,当电脑插上网线后开机会出现A start job is running for Network Manager wait online (29s / no limit) 等待30S时间的提示,不插网线不会出现,
通过网上查资料和实验得出结论应该是:
通过Network Manager来管理网络后有线网络通过DHCP获取网络地址,这样当插上有线网络开机后会在线等待获取IP地址,等待时间是30s,解决办法是关闭Network Manager wait online这个服务或把在线等待时间改为更短的时间,关闭这种方法我没有实验,因为有些服务可能依赖这个服务,关闭后可能存在莫名的错误。
1、Ubuntu16.04更改在线等待时间:
找到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
pipci@ubuntu:/lib/systemd/system$
这个文件里的ExecStart=/usr/bin/nm-online -s -q --timeout=30 这行--timeout=30 是等待30s 通过vi编辑器
把这行给成ExecStart=/usr/bin/nm-online -s -q --timeout=5 保存,等待时间变成5s
2、openSUSE42.3更改在线等待时间:
找到NetworkManager-wait-online.servic这个文件,openSUSE下文件在/usr/lib/systemd/system/目录下
查看这个文件:
pipci@openSUSE:/usr/lib/systemd/system> cat NetworkManager-wait-online.service
[Unit]
Description=Network Manager Wait Online
Requisite=NetworkManager.service
After=NetworkManager.service
Wants=network.target
Before=network.target network-online.target
[Service]
Type=oneshot
Environment=NM_ONLINE_TIMEOUT=0
EnvironmentFile=-/etc/sysconfig/network/config
ExecStart=/bin/bash -c "if [ ${NM_ONLINE_TIMEOUT} -gt 0 ]; then /usr/bin/nm-online -s -q --timeout=${NM_ONLINE_TIMEOUT} ; else /bin/true ; fi"
[Install]
WantedBy=multi-user.target
pipci@openSUSE:/usr/lib/systemd/system>
这个文件里的timeout=${NM_ONLINE_TIMEOUT}是等待时间,但是不能在这个文件里直接更改,通过上面的文件可以知道配置文件是/etc/sysconfig/network/config 这个文件
查看/etc/sysconfig/network/config文件,文件里面有行NM_ONLINE_TIMEOUT="30"这个选项,通过vi把这行改成NM_ONLINE_TIMEOUT="5"保存,这样等待时间就会缩短成5S,开机时间快了很多。