Pet*_*etr 9 debian debootstrap fakeroot
我有一个脚本,它通过运行准备安装映像debootstrap,对文件进行一些修改,然后将文件复制到由文件备份的磁盘映像。
这在 下有效root,但我希望能够在没有root特权的情况下运行脚本,因为它确实不需要任何特权资源。我以为我会使用 运行整个脚本fakeroot,但debootstrap失败了
W: Failure trying to run: chroot /tmp/tmp..... mount -t proc proc /proc
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题?
一般来说,是的,可以通过 以debootstrap非 root 用户身份运行fakeroot,但还有更多细节。
您似乎遇到的直接问题是尝试以chroot非 root 用户身份使用;你需要使用fakechroot替代,除了fakeroot。例如:
fakechroot fakeroot debootstrap sid /tmp/sid
Run Code Online (Sandbox Code Playgroud)
以后可能会遇到的问题包括以非 root 用户身份创建环回挂载或创建磁盘映像分区表。
您可能会发现使用像polystrap这样的 debootstrap 变体更容易,而不是一个一个地处理所有这些细节,如果您最终想要它,它也可以处理交叉编译(例如,从 x86-64 生成 armhf 图像) .
chroot (2)系统调用需要 root 权限,或者更准确地说,从技术上讲,
CAP_SYS_CHROOT需要功能(请参阅功能(7))
因此你不能只使用fakeroot它(你还需要fakechroot等)。
| 归档时间: |
|
| 查看次数: |
7255 次 |
| 最近记录: |