修复 'netplan apply' Failed to start NetworkManager.service: Unit NetworkManager.service not found.

问题:

你在 netplan 中配置了 wifi 或类似(非以太网)网络。你的 netplan 配置(例如在 /etc/netplan/50-cloud-init.yaml 中)类似这样:

netplan_example.yaml
network:
    ethernets:
        enp0s25:
            addresses: []
            dhcp4: true
    wifis:
        wlxc04a0013c4ca:
            renderer: NetworkManager
            match: {}
            dhcp4: true
            access-points:
                MyWifi:
                    password: "mywifipassword"

但当你运行

netplan_apply.sh
sudo netplan apply

你看到类似这样的错误消息:

netplan_error.txt
Failed to start NetworkManager.service: Unit NetworkManager.service not found.
Traceback (most recent call last):
  File "/usr/sbin/netplan", line 23, in <module>
    netplan.main()
  File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 41, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 130, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 101, in command_apply
    utils.systemctl_network_manager('start', sync=sync)
  File "/usr/share/netplan/netplan/cli/utils.py", line 68, in systemctl_network_manager
    subprocess.check_call(command)
  File "/usr/lib/python3.6/subprocess.py", line 291, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'NetworkManager.service']' returned non-zero exit status 5.

解决方案

renderer: NetworkManager 行告诉 netplan 使用 NetworkManager 连接到此网络。

错误消息告诉你 NetworkManager 未安装在你的系统上。

在 Ubuntu 和 Debian 上,使用

install_network_manager.sh
sudo apt install network-manager

来安装它。在其他发行版上,尝试使用你的发行版的包管理器安装 network-manager 或类似名称的包。

之后,运行

netplan_apply_再次。sh
sudo netplan apply

再次。


Check out similar posts by category: Linux, Networking