在 Chroot 环境中我们应该把“mount -t proc ...”放在哪里?

在 Chroot 环境中我们应该把“mount -t proc ...”放在哪里?

请原谅我的无知……我有许多 Debian Chroot 环境用于测试软件。它们是必需的,因为我们的软件包维护人员会在同一环境中测试我们。

我的测试脚本使用 Valgrind,但是 Valgrind 失败并出现以下错误:

valgrind: warning (non-fatal): readlink("/proc/self/exe") failed

我知道问题是什么(/proc未安装),也知道如何解决它(mount -t proc none proc/)。但是,我不知道将命令放在哪里,以便每当我 chroot 时它都会自动运行。

只需将以下内容添加到 Chrootfstab即可在尝试使用该工具时导致 Valgrind 错误:

proc<TAB>    none<TAB>    /proc

proc<TAB>    /proc

那么,在 Debian Chroot 环境中,我们到底应该把命令“mount -t proc ...”放在哪里呢?


这是一个非常相关的问题:在 chroot 环境中挂载 dev、proc、sys?我能说的最好的是,人们回答的是做什么,而不是在哪里做。我试图弄清楚在哪里做(除了在命令行上手动操作)。

答案1

你可以将这些命令放入 bash shell 脚本中,就像 Arch Linux 制作的这样的脚本一样chroot 库; 下载 拱门安装脚本-15-1-any.pkg.tar.xz

它可以解决上述问题Arch-Linux曼扎罗,我也成功地使用了它。可能是习俗 Arch-衍生品喜欢抛物线也同样兼容。

虽然一个简单的标准chroot进入 Manjaro 辅助安装将不允许您运行

pacman --sync linux

(系统崩溃后的灵丹妙药),用以下代码替换

chroot 库/运行/媒体/你自己/manja-disk2

将使你能够通过以下方式修复辅助 Arch-derived 安装

pacman --sync linux

就像魔法一样。bash 脚本chroot 库照顾/dev /sys /proc以及更多,这些都不受标准限制chroot

也可以看看:维基百科

相关内容