Debian

升級 Squeeze 到 Wheezy 現在沒有 modules.dep

  • November 24, 2015

將 Squeeze 升級到 Wheezy 後,我的伺服器將不再啟動。我只能通過選擇以前的核心(2.6.32)來啟動。

linux:~# find /lib/modules/3.2.0-4-amd64/ -maxdepth 2
/lib/modules/3.2.0-4-amd64/
/lib/modules/3.2.0-4-amd64/modules.order
/lib/modules/3.2.0-4-amd64/modules.builtin
/lib/modules/3.2.0-4-amd64/kernel
/lib/modules/3.2.0-4-amd64/kernel/sound
/lib/modules/3.2.0-4-amd64/kernel/net
/lib/modules/3.2.0-4-amd64/kernel/mm
/lib/modules/3.2.0-4-amd64/kernel/lib
/lib/modules/3.2.0-4-amd64/kernel/fs
/lib/modules/3.2.0-4-amd64/kernel/drivers
/lib/modules/3.2.0-4-amd64/kernel/crypto
/lib/modules/3.2.0-4-amd64/kernel/arch

linux:~# uname -rms
Linux 2.6.32-5-amd64 x86_64

linux:~# dpkg -l "linux-image*" | grep ^ii
ii  linux-image-2.6.32-5-amd64                                  2.6.32-48squeeze6                    amd64        Linux 2.6.32 for 64-bit PCs
ii  linux-image-3.2.0-4-amd64                                   3.2.68-1+deb7u6                      amd64        Linux 3.2 for 64-bit PCs
ii  linux-image-amd64                                           3.2+46                               amd64        Linux for 64-bit PCs (meta-package)

所以看起來 modules.dep 沒有被創建,即使安裝成功了。我試過 depmod -a,我試過 apt-get install –reinstall 在核心上,沒有解決這個問題。

當您執行 depmod 時,它只會計算依賴關係並為執行的核心創建 modules.dep 作為預設行為*,除非*您提供備用核心版本作為參數。

在您的情況下,由於您使用版本 2.6.32-5-amd64 啟動,因此您需要執行:

$sudo depmod -a 3.2.0-4-amd64 

為了它創建文件 /lib/modules/3.2.0-4-amd64/modules.dep

來自: http: //www.computerhope.com/unix/depmod.htm

depmod 生成核心模組依賴項和相關映射文件的列表。

depmod

$$ -b basedir $$ $$ -e $$ $$ -E Module.symvers $$ $$ -F System.map $$ $$ -n $$ $$ -v $$ $$ -A $$ $$ -P prefix $$ $$ -w $$ $$ version $$

引用自:https://unix.stackexchange.com/questions/244673