我希望能够为 Ubuntu 的 Maverick 发行版构建一个包,同时运行 Lucid 发行版。
我找到了这个页面:https : //wiki.ubuntu.com/DebootstrapChroot这似乎解释了我想做的事情。但是,说明说要转到特定网站(链接在文章中,我不能发布多个链接)并下载附加了发行版发布第一个单词的 debootstrap 包(例如“特立独行” ),但不存在这样的包。
我该怎么办?
Most of the time I use chroot to rescue an existing installation from usb.
When I chroot into another system I have to manually bind-mount proc, sys, dev and dev/pts by issuing for example:
mount --bind /proc proc/
Run Code Online (Sandbox Code Playgroud)
Is there an easy way already implemented in a standard Ubuntu install?
我想在我的 Android 设备上的 chroot 中运行功能齐全的 Ubuntu。但是我对新贵有一些麻烦。在 chroot 中“它实际上会运行 /sbin/telinit”,那么我如何运行 upstart 或用其他东西替换它?
我已经对此进行了研究,这里没有任何答案(到目前为止),也没有谷歌搜索与我的问题相匹配。
这是情况:
我正在运行 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”可执行文件。我猜是:
一种。在此步骤之前的阶段中,某些可执行上下文没有被引入和“预”设置正确?
或者
湾 可能需要在运行此脚本之前导出某些环境属性? …
我正在尝试在我的桌面 X64 系统上安装带有 qemu-deboot-strap 的 armel 版本的 Ubuntu,但我发现了这个错误:
$ mkdir precise
$ sudo qemu-debootstrap --arch=armel precise ./precise/
Run Code Online (Sandbox Code Playgroud)
I:运行命令:
$ debootstrap --arch armel --foreign precise ./precise/
/usr/sbin/debootstrap: 1280: /usr/sbin/debootstrap: cannot create /media/ziomario/Nexus-10/Images/313/precise/test-dev-null: Permission denied
E: Cannot install into target '/media/ziomario/Nexus-10/Images/313/precise' mounted with noexec or nodev
Run Code Online (Sandbox Code Playgroud)
你知道怎么修吗?我的系统是这样的:
Linux ziomario-Macmini 3.11.0-15-generic #23-Ubuntu SMP Mon Dec 9 18:17:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
这是/etc/fstab文件的内容:
<file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/ was on …Run Code Online (Sandbox Code Playgroud) 所以我在看:
https://help.ubuntu.com/community/LiveCDCustomizationFromScratch
并在 bash 脚本中尝试以下操作:
sudo chroot chroot
mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts
Run Code Online (Sandbox Code Playgroud)
运行脚本会进入到 shell 处sudo chroot chroot。当我exit收到有关安装需要 root 的预期警告时。有没有一种方法可以将所有这些保存在一个 shell 脚本中?
编辑:我希望这是一个可重复的过程,这就是为什么我想编写整个过程而不是一次又一次地输入它。
我目前需要apt-get在 chroot 目录上使用。设置如下。
我有一个带有 schroot 的 chroot 设置。这个 chroot 环境需要尽可能地剥离。因此,我计划从 chroot 环境中删除 apt-get 和 commin。
我知道 Gentoo 有可能在不同的根目录上使用 portage。是否可以为 apt.get 设置不同的根目录以将软件安装到我的 chroot 目录中?
提前致谢
我有实时构建的问题
$ sudo lb build --interactive shell
Run Code Online (Sandbox Code Playgroud)
返回
chroot: failed to run command ‘/usr/bin/env’: No such file or directory
Run Code Online (Sandbox Code Playgroud)
有谁知道发生了什么?
我正在尝试使用 chroot 设置构建环境,但不是下载 ubuntu 基本文件,我想使用我的 live/作为 chroot 的基本文件,并使用 cow 将在 chroot 中所做的任何更改重定向到其他文件夹。所以我想出了这些
sudo mkdir /var/chroot/build/{root,cow,ubuntu}
sudo mount --bind / /var/chroot/build/root
sudo mount --bind /proc /var/chroot/build/root/proc
sudo mount --bind /dev/pts /var/chroot/build/root/dev/pts
sudo mount -t overlayfs -o upperdir=/var/chroot/build/cow,lowerdir=/var/chroot/build/root overlayfs /var/chroot/build/ubuntu
sudo chroot /var/chroot/build/ubuntu
Run Code Online (Sandbox Code Playgroud)
它的工作原理几乎完全除外两者是内容/proc和/dev/pts是不是在chroot环境可见虽然他们是外部可见的chroot环境。当您以这种方式设置 chroot 时,我猜这是overlayfs 的限制
所以我想知道有没有合适的方法来做到这一点?我找到了一个不错的沙箱应用程序,叫做arkose,它几乎可以完成我在这里想做的事情,但它不允许您保留更改,一旦退出 chroot,cow dir 中的所有文件都将被清除,这不是我想要的
我无法在 chroot 中连接到互联网。例如,当我运行 apt update 时,我收到“临时失败解决”消息。我尝试复制 resolv.conf 但仍然出现同样的错误。
chroot ×10
debootstrap ×2
mount ×2
64-bit ×1
android ×1
apt ×1
bash ×1
command-line ×1
development ×1
fstab ×1
packaging ×1
upstart ×1