如何避免 18.04 中的 5 分钟启动延迟:“正在运行启动作业以提升网络接口”

如何避免 18.04 中的 5 分钟启动延迟:“正在运行启动作业以提升网络接口”

问题:启动延迟 5 分钟

设备:UP 板(小型 x86 板),运行 18.04,配备 Panda PAU05 无线 USB 适配器,通过 HDMI 连接到显示器

网络配置:使用 netplan 和 systemd-networkd。未安装 NetworkManager。

连接以太网后,设备可快速启动。我可以拔下以太网并依靠 wifi。SSH 可以正常工作,等等。

当以太网未连接时,会有 5 分钟的延迟。控制台显示A start job is running for Raise network interfaces (Xmin Ys / 5min 2s)并慢慢计数至 5 分 2 秒。我可以 ping 设备,但 ssh 被拒绝:ssh: connect to host rodeobot.local port 22: Connection refused。5 分钟后,启动正常完成。

我修改了我的 netplan,使以太网和 wifi 接口都成为可选的,但这没有帮助。我还尝试删除以太网接口,但这没有帮助。这是/etc/netplan/config.yaml我现在正在运行的:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      optional: true  # Don't wait for Ethernet
      dhcp4: true
  wifis:
    wlx9cefd5fcb328:
      optional: true  # Don't wait for Wifi
      dhcp4: true
      access-points:
        "xxx":
          password: "yyy"

编辑:我看到了几个类似的问题,但没有看到使用 netplan 的答案。这是 netplan 中的错误/缺失功能吗?

编辑:修复了 config.yaml 中的缩进和注释。(我复制并粘贴,然后编辑了 ssid 和 pw。)

编辑:这是结果sudo netplan --debug generate

** (generate:965): DEBUG: 18:35:38.361: Processing input file /etc/netplan/config.yaml..
** (generate:965): DEBUG: 18:35:38.362: starting new processing pass
** (generate:965): DEBUG: 18:35:38.362: wlx9cefd5fcb328: adding wifi AP 'Beckett'
** (generate:965): DEBUG: 18:35:38.362: wlx9cefd5fcb328: setting default backend to 1
** (generate:965): DEBUG: 18:35:38.362: Configuration is valid
** (generate:965): DEBUG: 18:35:38.362: enp1s0: setting default backend to 1
** (generate:965): DEBUG: 18:35:38.362: Configuration is valid
** (generate:965): DEBUG: 18:35:38.363: Generating output files..
** (generate:965): DEBUG: 18:35:38.363: NetworkManager: definition enp1s0 is not for us (backend 1)
** (generate:965): DEBUG: 18:35:38.363: wlx9cefd5fcb328: Creating wpa_supplicant configuration file run/netplan/wpa-wlx9cefd5fcb328.conf
** (generate:965): DEBUG: 18:35:38.363: Creating wpa_supplicant service enablement link /run/systemd/system/systemd-networkd.service.wants/[email protected]
** (generate:965): DEBUG: 18:35:38.364: NetworkManager: definition wlx9cefd5fcb328 is not for us (backend 1)

谢谢。

答案1

network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      optional: true
      dhcp4: true
  wifis:
    wlx9cefd5fcb328:
      optional: true
      dhcp4: true
      access-points:
        "xxx":
          password: "yyy"

sudo netplan generate# 生成配置文件

sudo netplan apply# 应用新配置

reboot# 验证操作正确

答案2

事实证明,enp1s0 不受 systemd-networkd 管理,因此 netplan 无效。我通过查看日志发现了这一点:

journalctl | grep enp1s0 | grep "managed by us"

我发现了许多如下所示的条目:

systemd-networkd: enp1s0: Link is not managed by us

解决办法是删除 ifupdown 包。为了保险起见(并确保我没有忘记!)我移动了 /etc/network 目录:

sudo apt remove ifupdown
sudo mv /etc/network /etc/network_old_ifupdown
sudo reboot now

在查看日志时,我还修复了 resolv.conf 的一个问题——我的符号链接有问题。这里有一个很好的解释:新的警报不断出现:服务器返回错误 NXDOMAIN,缓解潜在的 DNS 违规 DVE-2018-0001

感谢那些提供帮助的人!

答案3

环境sudo nano /etc/network/interfaces

#from
auto lo br0
iface lo inet loopback

# to 
auto lo
allow-hotplug br0
iface lo inet loopback

帮助在 Ubuntu 18.04 下,按照以下步骤操作后,启动缓慢本教程安装 KVM。

相关内容