请原谅我的无知……我有许多 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。
也可以看看:维基百科