内核升级后dkms不会自动重建

如标题中所述,在我的系统上安装的所有DKMS模块在内核升级后都不会自动重建。

# ls -la /var/lib/dkms/ total 32K drwxr-xr-x 7 root root 4.0K May 26 11:55 . drwxr-xr-x 86 root root 4.0K May 25 19:33 .. drwxr-xr-x 4 root root 4.0K May 25 18:56 anbox-modules-ashmem drwxr-xr-x 4 root root 4.0K May 25 18:57 anbox-modules-binder drwxr-xr-x 3 root root 4.0K May 2 18:34 bbswitch -rw-r--r-- 1 root root 6 Jul 8 2008 dkms_dbversion drwxr-xr-x 3 root root 4.0K May 26 11:55 nvidia-381 drwxr-xr-x 3 root root 4.0K May 26 11:55 virtualbox 

我总是必须在内核升级后手动重建它。 如果有任何日志或配置需要诊断此问题,我会尽快提供。

系统信息:

 # lsb_release -a LSB Version: core-9.20160110ubuntu0.2-amd64:core-9.20160110ubuntu0.2-noarch:printing-9.20160110ubuntu0.2-amd64:printing-9.20160110ubuntu0.2-noarch:security-9.20160110ubuntu0.2-amd64:security-9.20160110ubuntu0.2-noarch Distributor ID: neon Description: KDE neon User Edition 5.9 Release: 16.04 Codename: xenial # apt list dkms -a Listing... Done dkms/xenial-updates,xenial-updates,now 2.2.0.3-2ubuntu11.3 all [installed] dkms/xenial,xenial 2.2.0.3-2ubuntu11 all 

编辑1:

删除linux-image-4.8.0-52日志: https ://pastebin.com/a0L6fbFj

安装linux-image-4.8.0-52日志:(N / A)

编辑2:

dkms status

 # dkms status Error! Could not locate dkms.conf file. File: does not exist. # cd /var/lib/dkms/nvidia-381/381.22/build # ls -la dkms.conf -rw-r--r-- 1 root root 1,2K Mai 26 11:54 dkms.conf # dkms status Error! Could not locate dkms.conf file. File: does not exist. 

ls -la /usr/src

 # ls -la /usr/src/ total 44K drwxr-xr-x 11 root root 4,0K Mai 26 16:28 . drwxr-xr-x 12 root root 4,0K Apr 25 19:40 .. drwxr-xr-x 2 root root 4,0K Apr 22 14:20 bbswitch-0.8 drwxr-xr-x 3 root root 4,0K Apr 29 18:50 gmock drwxr-xr-x 4 root root 4,0K Apr 29 18:50 gtest drwxr-xr-x 27 root root 4,0K Mai 16 18:39 linux-headers-4.4.0-78 drwxr-xr-x 7 root root 4,0K Mai 16 18:39 linux-headers-4.4.0-78-generic drwxr-xr-x 27 root root 4,0K Mai 25 19:42 linux-headers-4.8.0-53 drwxr-xr-x 7 root root 4,0K Mai 25 19:42 linux-headers-4.8.0-53-generic drwxr-xr-x 8 root root 4,0K Mai 20 16:43 nvidia-381-381.22 drwxr-xr-x 12 root root 4,0K Mai 11 16:31 virtualbox-5.0.40 

ls /usr/src/*/dkms.conf

 # ls /usr/src/*/dkms.conf /usr/src/bbswitch-0.8/dkms.conf /usr/src/nvidia-381-381.22/dkms.conf /usr/src/virtualbox-5.0.40/dkms.conf 

从评论…

有许多问题需要解决。

  • 我们删除了/usr/src/gmock/usr/src/gtest因为它们不是dkms软件模块。 如果您出于某种原因需要此软件,请重新安装,或创建~/src并将gmock / gtest软件放在那里,并执行相应的make命令(或其他)来构建该软件。

  • 我们删除了/var/lib/dkms/anbox*目录,因为它们因为卸载不完整而缺少关联的/usr/src/anbox*源代码,并导致dkms status命令失败,查找dkms.conf文件那不存在。

  • dkms status现在可以正确显示bbswitch,nividia和virtualbox dkms软件的installed状态。

  • 未来的内核升级应正确构建/重建剩余的bbsswitch,nividia和virtualbox dkms软件模块。

  • 我们还检查了virtualbox-dkms是已安装的虚拟机的正确版本。