chroot 环境中 /dev/null 权限被拒绝

Bat*_*tle 4 permissions apt chroot

我的环境中有 Xubuntu 18.04 chroot。我只是将它从我拥有的虚拟机中放入其中。

进入chroot环境,如果我尝试运行,apt update则会收到此错误:

/usr/bin/apt-key: 624: /usr/bin/apt-key: cannot create /dev/null: Permission denied

我在这里尝试了大多数解决方案:https://unix.stackexchange.com/questions/146633/bash-dev-null-permission-denied 以及此解决方案: https: //superuser.com/a/814594两者都不是工作了。完全相同的输出。

有什么方法可以让它工作吗?提前致谢。

小智 5

我今天遇到了这个问题。

我可以通过将主机的 /dev/ 绑定到 chroot 环境的 /dev/ 来解决它。

# Run in host machine as root(sudo)
mount --bind /dev /path/to/chroot/environment/dev
Run Code Online (Sandbox Code Playgroud)

同样在我的例子中,我还需要绑定 3 个文件系统。

# Run in host machine as root(sudo)
mount --bind /dev/pts /path/to/chroot/environment/dev/pts
mount --bind /proc /path/to/chroot/environment/proc
mount --bind /sys /path/to/chroot/environment/sys
Run Code Online (Sandbox Code Playgroud)

然后 chroot 进入环境:

chroot /path/to/chroot/environment
Run Code Online (Sandbox Code Playgroud)