一个开始作业正在运行,以等待配置网络。Ubuntu服务器17.10


39

我刚刚在笔记本电脑上安装了ubuntu服务器,并且一切正常,除了以下事实:在启动时,如果笔记本电脑未连接到以太网或在我的wi-fi范围内,我将收到此消息“正在运行启动作业,等待网络连接被配置”,将持续约2分钟。我在网上查找解决方案,然后尝试:

  • 禁用网络管理员
  • 在/etc/systemd/system.conf中编辑超时设置
  • 禁用systemd.networkd-wait-online.service

这些解决方案都不适合我。任何可能的修复?


这些是修复程序。每次更改后,是否重新加载了NM / systemd?他们只在开始时读取配置文件。
user535733

是的,我使用了systemctl daemon-reload,结果仍然相同
vlad27 '17

Answers:


39

采用

systemctl disable systemd-networkd-wait-online.service

禁用等待在线服务以防止系统等待网络连接,并使用

systemctl mask systemd-networkd-wait-online.service

以防止该服务在其他服务请求时启动(该服务与链接在一起/dev/null)。


在这种情况下,屏蔽是什么意思?
Jaime Hablutzel

有效。:)您能描述一下我们在这里所做的吗?我只是好奇。
SD。

3
@SD @ jaime-hablutzel有关的说明,请参见askubuntu.com/a/816378/445084systemctl mask。简而言之:屏蔽服务会将其重定向到/dev/null,以防止在其他服务需要时重新启用该服务。
timelmer '18

31

不要屏蔽或禁用systemd服务。

编辑/etc/netplan/01-netcfg.yaml并添加optional: true到可能并不总是可用的任何设备。

sudo netplan apply

1
就我而言,只有在将所有接口都设置为可选之后,它才起作用:true
duli

1
这与禁用系统服务相比有什么优势?
安德烈亚斯·哈特曼

对我来说,在Vmware上使用Ubuntu 18.04,对应的文件是/etc/netplan/50-cloud-init.yaml; 添加可选:true&重新启动工作!相关主题:askubuntu.com/questions/1090631/…netplan的相关信息:linux.com/learn/intro-to-linux/2018/9/…(配置DHCP)
Snidhi Sofpro

Thisx在Ubuntu 18.04.03 LTS(Desktop)上为我工作,在这里我禁用了NetworkManager并使用netplan设置了网络,并设置了br0进行kdvm / qenu虚拟化以及使用dnsmaquerade进行dns缓存。较新的人没有发现我的设置出了什么问题,但是在没有可选设置的情况下,浮标需要2分钟才能完成:true -setting。有了该设置,引导正常,网络功能也正常。
Reijo Korhonen

9

这意味着systemd-networkd-wait-online.service正在挂。有一些已知的错误。使用以下命令检查所需的服务network-online.target

systemctl show -p WantedBy network-online.target

您可以根据需要禁用这些服务。否则,您可能必须按照Mr.Ecco的指示掩盖该服务。


2

systemd-networkd-wait-online.service如其他答案中所建议的那样,遮罩可以帮助您进行简单的设置,但不能解决问题。如果屏蔽该服务,则所有其他依赖于该服务的服务也会失败。这意味着,等待网络联机所需的所有服务都将失败。

之所以遇到这个问题,是因为我为笔记本电脑使用了动态故障转移设置,并绑定了有线(enp9s0)和无线(wlp12s0)接口,这些接口用作主接口bond0的从属接口。如果使用网桥(带有从属接口的br0),情况也完全相同。只有主接口bond0br0会联机,而从站不会联机,因此systemd-networkd-wait-online.service将在从站上失败。

解决此问题的方法是修改服务,并仅检查应该联机的接口。您会发现:

~$ sudo systemctl cat systemd-networkd-wait-online.service | grep --after-context=3 '\[Service\]'
[Service]
Type=oneshot
ExecStart=/lib/systemd/systemd-networkd-wait-online
RemainAfterExit=yes

程序systemd-networkd-wait-online具有用于测试特定接口的参数。用检查/lib/systemd/systemd-networkd-wait-online --help。因此,我放了一个文件来修改服务:

~$ sudo systemctl edit systemd-networkd-wait-online.service

在空的编辑器中插入这些语句,当然还要在您的界面中插入它们,然后退出编辑器:

[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet

ExecStart=很重要,因为它会禁用“旧”命令。您可以在界面上进行更多检查(查看帮助)。


很好,很好的答案,这正是我的问题
kaklon
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.