systemd 机器上的真正 chroot

tra*_*or1 7 linux chroot systemd x-server

我正在努力适应systemd,因为这似乎是 Debian 的发展方向。

我想chroot在硬件上运行 Xorg ,而不是使用网络(这似乎是systemd容器中执行此操作的规范方式),因为我不想在我的主机系统上安装 X 服务器。我希望主机是一个瘦的、低维护的操作系统。

我的理解systemd-nspawn虚拟化/dev,因此不允许访问硬件。

chroot在实践中运行标准似乎工作正常,但我不确定这是否会有任何微妙的问题。

除了来宾可以直接访问硬件之外,在 systemd 机器上运行“真正的”chroot 是一个坏主意吗?如果有,会造成什么问题?

如果这不好的做法,有没有办法做到这一点systemd-nspawn;比如一些“不安全”的标志?我没有在man页面上找到一个,但是根据这个页面,有一个--share-system标志;这对我不起作用。

Str*_*Bad 4

systemd 开发人员非常反对允许访问真实硬件,正如Poetteringnspawn的这句话所说:

好吧,我们认为容器实际上只是用于访问虚拟化环境,即 /dev 应该大部分为空(模 /dev/null、/dev/random 等),并且容器实际上永远不应该访问物理环境。硬件。这当然不允许您在容器内运行 X 服务器。

其他容器解决方案确实支持从主机到容器的硬件传递,我们只是认为对于 nspawn 这个简单工具来说有点偏离焦点,并且应该保留。

“标准”安装 Arch Linux 是基于 systemd 的,并且wiki没有提到传统安装chroot是不好的。假设传统的chroot可以满足您在非systemd系统上的需求,那么它在系统上应该没问题systemd。在某些情况下,额外的“虚拟化”可能会nspawn有所帮助,但在某些情况下,它可能会受到限制。