![systemd 机器上的真正 chroot](https://linux22.com/image/56610/systemd%20%E6%9C%BA%E5%99%A8%E4%B8%8A%E7%9A%84%E7%9C%9F%E6%AD%A3%20chroot.png)
我正在努力适应systemd
,因为这似乎是 Debian 的发展方向。
我想在chroot
硬件上运行 Xorg,而不是使用网络(似乎是在容器中执行此操作的规范方法systemd
),因为我不想在我的主机系统上安装 X 服务器。我希望主机是一个精简、低维护的操作系统。
这是我的理解虚拟systemd-nspawn
化/dev
,因此不允许访问硬件。
运行一个标准chroot
在实践中似乎工作得很好,尽管我不确定这是否会存在任何微妙的问题。
除了访客可以直接访问硬件之外,在 systemd 机器上运行“真正的”chroot 是个坏主意?如果是的话,会带来什么问题呢?
如果它是不好的做法,有没有办法做到这一点systemd-nspawn
;比如一些“不安全”标志?我在页面上找不到man
,但根据这一页,有一个--share-system
标志;这对我不起作用。
答案1
systemd 开发人员非常反对允许nspawn
访问真实硬件,因为这句话来自珀特林说:
好吧,我们认为容器实际上只是用于访问虚拟化环境,即 /dev 应该大部分为空(模 /dev/null、/dev/random 等),并且容器实际上永远不应该访问物理环境。硬件。这当然不允许您在容器内运行 X 服务器。
其他容器解决方案确实支持从主机到容器的硬件传递,我们只是认为对于 nspawn 这个简单工具来说有点偏离焦点,并且应该保留。
“标准”安装 Arch Linux 是基于 systemd 的,并且维基百科没有说传统chroot
是不好的。假设传统的chroot
可以满足您在非systemd
系统上的需求,那么它在系统上应该没问题systemd
。在某些情况下,额外的“虚拟化”可能会nspawn
有所帮助,但在某些情况下,它可能会受到限制。