Apt

如何從 systemrescuecd 在 chroot 中執行“apt-get”?

  • October 30, 2014

我使用 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”中。

或者這樣做是否實用?有人成功嗎?

謝謝您的幫助。

Apt-get 在 chroot 中執行得非常好。問題是您似乎正在嘗試安裝我認為是DKMS核心模組的軟體包。這些類型的包包括檢測執行的安裝後腳本,嘗試檢測正在執行的核心並建構適當的模組。與從您的 rescuecd 執行的核心相關的模組不在 chroot 中,這解釋了錯誤。但是你幾乎肯定不想要一個與你正在從你的 rescuecd 執行的核心相關的模組。

因此,具體來說,使用救援環境中的 chroot 來 apt-get 添加/刪除DKMS包並不能很好地工作。從好的方面來說,理論上應該安裝軟體包,當您重新啟動系統時,您只需重新執行命令即可完成安裝並正確建構模組。

看:

引用自:https://serverfault.com/questions/640743