感谢您的时间和耐心! 我正在尝试在debian Stretch主机上的无特权LXC debian Stretch容器中安装tvheadend。在安装依赖程序makedev期间,会引发一些错误。
#apt install tvheadend
[...]
Setting up makedev (2.3.1-93) ...
mknod: mem-: Operation not permitted
makedev mem c 1 1 root kmem 0640: failed
mknod: kmem-: Operation not permitted
makedev kmem c 1 2 root kmem 0640: failed
mknod: null-: Operation not permitted
makedev null c 1 3 root root 0666: failed
mknod: port-: Operation not permitted
[...]
我知道没有特权的LXC容器无法创建设备。到目前为止,我已经研究了这些解决方案
a)在容器外部创建设备,然后将它们传递到容器上。但是,在容器中安装makedev仍然会失败。
b)允许容器创建设备。似乎有一个lxc.cgroup.devices.allow函数,但是我不清楚。我不确定没有特权的容器能否完全做到这一点。
c)通过重新映射filsystem,将容器变成一个特权容器进行安装。但是,这将使最终迁移到新服务器非常困难。
非常感谢您的帮助。
亲切的问候, 迈克尔