Tek*_*ngu 7 64-bit debootstrap mount chroot system-installation
我已经对此进行了研究,这里没有任何答案(到目前为止),也没有谷歌搜索与我的问题相匹配。
这是情况:
我正在运行 Xubuntu 12.04 作为基本安装,并尝试设置 BackBox 3.01(也是 12.04)的 debootstrap chroot 安装。两者都是 amd64 位架构,我已经前后验证了这一事实。
我已按照以下说明操作:
https://help.ubuntu.com/community/DebootstrapChroot https://unix.stackexchange.com/questions/12956/how-do-i-run-32-bit-programs-on-a-64-bit-ubuntu /12957#12957(感谢贾尔斯!)
撇开 RTFM 和胖手指问题不谈,我现在在 debootstrap 安装过程中遇到了一个问题,在那里我得到了一个点并得到:
W: Failure trying to run: chroot /home/user/test/chroot mount -t proc proc /proc
Run Code Online (Sandbox Code Playgroud)
正如我所尝试的那样,放置的安装不足以让 schroot 使用,如果我使用 --foreign 选项重做,它也会做得更好。
我所做的研究似乎表明这个问题与:
试图在 32 位操作系统中安装 64 位操作系统(我显然没有这样做)
某些内核中的 procfs 可能存在问题,但错误报告不清楚,显然这看起来很旧
很多与虚拟化相关的问题(我没有做任何)
我在想,因为这是一个非常简单的基于 file:/// 的(另一个)基于 ubuntu 的发行版安装到我的 chroot 环境(64 - > 64)中,所以在我遗漏的设置步骤中必须有一些真正简单的东西或遗忘。我应该做一些类似的事情,比如预先安装/srv/chroot/backbox3_01/var/proc到类似的东西:
sudo mount -o bind /proc /srv/chroot/backbox3_01
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
****** 更新 ******* 所以我已经挖掘了更多,我至少知道问题的哪一部分。失败的原因是“mount”是一个未知的“文件或目录”,这意味着在运行 chroot 的上下文点没有可以调用的“mount”可执行文件。我猜是:
一种。在此步骤之前的阶段中,某些可执行上下文没有被引入和“预”设置正确?
或者
湾 可能需要在运行此脚本之前导出某些环境属性?
或者
C。??
任何帮助表示赞赏...
*********** 进一步更新 *************** 显然 Backbox 安装并没有正确地膨胀到 chroot 目录中的任何地方。Backbox 3 是一个基于精确 (Ubuntu 12.04) 的发行版,我只是在精确上运行了 debootstrap。我得到一个完整的安装。
当我对 Backbox 执行相同操作时,我只设置了 /dev、/etc 和 /var。没有别的,这意味着 chroot 结构中不存在“mount”。我尝试从 CD 和 CD 的本地副本(在我的文件系统上)安装它。我已经检查了安装 CD 上的“Release”文档,它看起来很完整,但我不明白为什么在安装其余组件之前它会停止。
所以我猜测 Backbox Distro 中有一些东西没有设置为允许 debootstrap 正确地重新充气它 - 至少从 CD 发行版。有谁知道Backbox的在线存档(相当于http://archive.ubuntu.com/ubuntu/)?或者,如果没有,我想我的选择将是:
破解 Backbox Distro 使其工作,有什么建议可以从哪里开始?
拉下一个 Xubuntu 发行版,然后应用 Backbox ppa... 是否有一个可用于 debootstrap 的 Xubuntu 脚本,是否有人有所有 BB ppa 工具的自动安装程序的链接,以便快速安装它们?
:(
在我的系统中,我尝试过的每个 Ubuntu/Backbox 都会发生这种情况。看来 CD 不能用作存储库(请参阅此处),这是有道理的:debootstrap应该需要存储库的路径(具有预定义结构的某些本地/远程文件夹和 .deb 存档),并且 Ubuntu/Backbox 附带一个squashfs(基本上是一个带有基本系统的镜像)。
由于 Backbox 似乎只是 Ubuntu 12.04 (它用作包的源http://archive.ubuntu.com)和一些其他存储库,我认为你在这里有两个选择:
创建一个基本的 Ubuntu chroot,然后安装所有需要的软件:您可以提供debootstrap一个脚本来添加 PPA、安装软件等。
提取squashfs:您需要挂载ISO,然后在其中挂载squashfs,最后复制根文件系统:
sudo mount /path/to/backbox.iso <bb_mount_point>
sudo mount -t squashfs <bb_mount_point>/casper/filesystem.squashfs <squash_mount_point>
sudo cp -rxv <squash_mount_point> <chroot_destination>
Run Code Online (Sandbox Code Playgroud)我还没有尝试过其中任何一个,所以我不能向你保证任何一个都会起作用。实现此目的的一个有效方法是在虚拟机上安装 BB(您可以使用 QEMU/KVM/等),然后将根文件系统复制到您需要的任何位置。
祝你好运。
由于我的经验主要是针对 Debian 的 debootstrap,所以我在这里有一些疯狂的猜测。
您是否尝试过从 shell 手动运行有问题的命令?这通常可以让我们更深入地了解正在发生的事情。
这对我来说看起来很奇怪:chroot /home/user/test/chroot mount -t proc proc /proc。/home/user/test 下真的有 chroot 二进制文件吗?
如果您尝试像这样指定挂载可执行文件的完整路径,会发生什么情况:chroot /home/user/test/chroot /bin/mount -t proc proc /proc?
| 归档时间: |
|
| 查看次数: |
3643 次 |
| 最近记录: |