与fakeroot和fakechroot

时间:2015-05-11 01:50:07

标签: ubuntu debian bootstrapper chroot gentoo

我正在使用Gentoo框,我想在不使用root帐户或sudo 的情况下创建基于Debian的chroot环境

这似乎可以使用 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

     

内核3.19.6

1 个答案:

答案 0 :(得分:1)

fakeroot和fakechroot不是问题所在。看起来像最初构建dpkg时使用的是libselinux.so.1。首先,尝试locate命令:

locate libselinux

没有版本。这应该1)确认它确实不存在,或2)确实存在,但不在$ LD_LIBRARY_PATH或默认库搜索路径中。

如果locate打开另一个版本,请使用ln -s命令创建指向您现有版本的符号链接(libselinux.so.1)。

要查看依赖项,请运行:

ldd `which dpkg`