《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。可以修改超时时间。

 

posted @ 2020-06-29 19:05  一个不知道干嘛的小萌新  阅读(6719)  评论(0编辑  收藏  举报