我已经设置了 chroot 环境(Ubuntu Jammy)。我需要nmcli
出于某些目的运行该命令。nmcli
依赖于NetworkManager.service
,但 chroot 环境中不允许使用 systemd 服务。
如何使nmcli
命令在 chroot 中可用?
答案1
您需要以某种方式允许与“主机”NetworkManager 守护进程进行通信,因此,启用 dbus 的绑定挂载?
我不确定 nmcli 在不访问 /etc 中的配置文件的情况下是否可以工作,所以这是您可能需要的另一个绑定安装。
无论哪种情况,跑步strace -o /tmp/nmcli strace nmcli
都会告诉你它需要什么;这就是我如何弄清楚需要向容器公开什么内容。
答案2
NetworkManager 可以在后台使用--no-daemon
选项执行,使其nmcli
独立于 systemd 服务工作:
/usr/sbin/NetworkManager --no-daemon &