【发布时间】:2015-07-21 10:06:57
【问题描述】:
我正在使用 Gentoo 机器,我想创建基于 Debian 的 chroot 环境不使用 root 帐户或 sudo。
使用 fakeroot 和 fakechroot 等工具似乎可以做到这一点,但到目前为止,我还没有使用它们取得任何成功。这是我用于 Precise 的命令:
fakeroot fakechroot /usr/sbin/debootstrap --variant=fakechroot precise ./precise http://archive.ubuntu.com/ubuntu/
它总是失败并出现相同的错误:
I: Installing core packages...
W: Failure trying to run: chroot precise dpkg --force-depends --install /var/cache/apt/archives/base-passwd_3.5.24_amd64.deb
W: See precise/debootstrap/debootstrap.log for details
而debootstrap.log的内容是:
dpkg: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory
我不知道为什么要引入 SELinux 以及为什么它没有正确处理这种依赖关系。此外,我也尝试构建 Wheezy 和 Jessie。同样的错误。
发生了什么事?版本:
debootstrap-1.0.67
fakeroot-1.19
fakechroot-2.17.2
kernel-3.19.6
【问题讨论】:
-
我看不出 fakeroot 对你有什么帮助。需要明确的是,您要在哪里安装 chroot?为什么要在不使用 root 的情况下执行此操作?
-
chroot 不会在没有 fakeroot(非 root 帐户)的情况下启动。我正在学习一些教程,但它不适用于我的环境。而且我想设置自定义构建环境,而不必为用户提供额外的权限。可以使用 Docker,但是当您尝试以普通用户身份使用它时,它会遇到相同的问题(或更多问题)。
标签: ubuntu debian bootstrapper chroot gentoo