在 chroot 环境中运行 nmcli 命令

在 chroot 环境中运行 nmcli 命令

我已经设置了 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 &

相关内容