我的基于 Ubuntu 的发行版预装了一些 VirtualBox 东西,所以我卸载了它并且它自动删除了 DKMS 包。
从我看到的来看,它看起来像是一个有用的软件包,但我需要它吗?VirtualBox 和 CDemu 之类的东西会自行安装它,而 Ubuntu 默认情况下不会安装它,所以我猜只有一些安装模块或其他东西的程序才“需要”它。
我不是长期的 GNU/Linux 用户,所以我没有太多经验,甚至没有编译经验。
现在我有一个待处理的 Linux 内核更新,但我不知道是否应该在未安装 DKMS 的情况下更新它。
答案1
如果您没有安装 dkms 模块,则不需要 dkms 包。Ubuntu 默认不安装该包。
当您安装一些专有驱动程序(如 Nvidia、AMD 或 Broadcom)时,dkms 包也会自动安装。
要检查您是否有任何 dkms 模块,您可以运行
dkms status
如果未安装 dkms,此命令将不起作用,但您可以查看/var/lib/dkms/
目录。
dkms 软件包的来源存储在/usr/src/
答案2
答案3
简短回答:如果您在内核更新后也想使用 Vitualbox,您将需要 DKMS 以及适合您内核的内核头文件。
长答案:该系统可帮助您编译驱动程序(又称内核模块),以便它们可以与当前内核一起运行。如果您不重新编译模块,则会发生无法加载模块的情况,因此它提供的功能将不再可用。对于您的情况:如果您不重新编译虚拟盒模块,Virtualbox 在更新后将不可用。它将启动,但无法启动任何 VM。
答案4
即使没有 DKMS,Ubuntu 也能正常启动。
如果您使用的任何东西依赖于 DKMS 但在其包装中没有它Depends:
,您会注意到,您可以重新安装 DKMS 并提交错误。
DKMS 适用于以源代码形式(或带有源代码包装器的二进制文件)提供内核模块的软件包,因此它们不必在每次内核重建时更新模块。无论是否有 DKMS,标准内核本身始终有效。