如何从 systemrescuecd 在 chroot 中运行“apt-get”?

如何从 systemrescuecd 在 chroot 中运行“apt-get”?

我使用 systemrescuecd 4.3.1 启动,并按照如下所示运行。

$ mkdir /tmp/os
$ mount /dev/sda1 /tmp/os
$ mount -o bind /sys /tmp/os/sys
$ mount -o bind /dev /tmp/os/dev
$ mount -o bind /proc /tmp/os/proc
$ /usr/bin/chroot /tmp/os /bin/sh -c "apt-get purge fglrx*; apt-get install fglrx*; update-initramfs -u -k 3.5.0-54-generic"
...
FATAL: Could not load /lib/modules/3.10.53-std431-amd64/modules.dep: No such file or directory
...
It's likely that 3.10.53-std431-amd64 belongs to a chroot's host
...

apt 文件位于“/dev/sda1”上的“/var/cache/apt/archives”中。

或者这样做是否可行?有人成功了吗?

谢谢您的帮助。

答案1

Apt-get 在 chroot 中运行得很好。问题是你似乎试图安装我认为是知识管理系统内核模块。这些类型的软件包包括安装后脚本,用于检测正在运行的内核并构建适当的模块。与 rescued 中正在运行的内核相关的模块不在 chroot 中,这解释了错误。但无论如何,您几乎肯定不想要与您正在从 rescued 运行的内核相关的模块。

因此,具体来说,使用 chroot 从救援环境到 apt-get 来添加/删除知识管理系统软件包实际上不能很好地工作。从好的方面来说,理论上应该可以安装软件包,当你重新启动系统时,你可以重新运行命令来完成安装并正确构建模块。

看:

相关内容