我刚刚在笔记本电脑上安装了ubuntu服务器,并且一切正常,除了以下事实:在启动时,如果笔记本电脑未连接到以太网或在我的wi-fi范围内,我将收到此消息“正在运行启动作业,等待网络连接被配置”,将持续约2分钟。我在网上查找解决方案,然后尝试:
- 禁用网络管理员
- 在/etc/systemd/system.conf中编辑超时设置
- 禁用systemd.networkd-wait-online.service
这些解决方案都不适合我。任何可能的修复?
我刚刚在笔记本电脑上安装了ubuntu服务器,并且一切正常,除了以下事实:在启动时,如果笔记本电脑未连接到以太网或在我的wi-fi范围内,我将收到此消息“正在运行启动作业,等待网络连接被配置”,将持续约2分钟。我在网上查找解决方案,然后尝试:
这些解决方案都不适合我。任何可能的修复?
Answers:
采用
systemctl disable systemd-networkd-wait-online.service
禁用等待在线服务以防止系统等待网络连接,并使用
systemctl mask systemd-networkd-wait-online.service
以防止该服务在其他服务请求时启动(该服务与链接在一起/dev/null
)。
systemctl mask
。简而言之:屏蔽服务会将其重定向到/dev/null
,以防止在其他服务需要时重新启用该服务。
不要屏蔽或禁用systemd服务。
编辑/etc/netplan/01-netcfg.yaml
并添加optional: true
到可能并不总是可用的任何设备。
sudo netplan apply
这意味着systemd-networkd-wait-online.service
正在挂。有一些已知的错误。使用以下命令检查所需的服务network-online.target
:
systemctl show -p WantedBy network-online.target
您可以根据需要禁用这些服务。否则,您可能必须按照Mr.Ecco的指示掩盖该服务。
systemd-networkd-wait-online.service
如其他答案中所建议的那样,遮罩可以帮助您进行简单的设置,但不能解决问题。如果屏蔽该服务,则所有其他依赖于该服务的服务也会失败。这意味着,等待网络联机所需的所有服务都将失败。
之所以遇到这个问题,是因为我为笔记本电脑使用了动态故障转移设置,并绑定了有线(enp9s0)和无线(wlp12s0)接口,这些接口用作主接口bond0的从属接口。如果使用网桥(带有从属接口的br0),情况也完全相同。只有主接口bond0或br0会联机,而从站不会联机,因此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=
很重要,因为它会禁用“旧”命令。您可以在界面上进行更多检查(查看帮助)。