将 Squeeze 升级到 Wheezy 现在没有 module.dep

将 Squeeze 升级到 Wheezy 现在没有 module.dep

将 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)

因此,尽管安装有效,但看来 module.dep 并未被创建。我尝试过 depmod -a,我尝试过在内核上安装 apt-get install --reinstall ,但没有解决这个问题。

答案1

当您运行 depmod 时,它仅计算依赖项并为正在运行的内核创建 module.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 前缀] [-w] [版本]

相关内容