我“需要” DKMS 吗?

我“需要” DKMS 吗?

我的基于 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

我想你已经对 DKMS 有了一些了解,它用于更新正常内核源之外的内核模块。通常,驱动程序和 VirtualBox 等软件包需要 DKMS。你可能不一定“需要”DKMS,但安装它很方便,特别是如果你安装了额外的软件包,尽管不安装它不会破坏你的内核升级。

有关 DKMS 的更多信息这里以及 ask ubuntu 上的有用答案这里

答案3

简短回答:如果您在内核更新后也想使用 Vitualbox,您将需要 DKMS 以及适合您内核的内核头文件。

长答案:该系统可帮助您编译驱动程序(又称内核模块),以便它们可以与当前内核一起运行。如果您不重新编译模块,则会发生无法加载模块的情况,因此它提供的功能将不再可用。对于您的情况:如果您不重新编译虚拟盒模块,Virtualbox 在更新后将不可用。它将启动,但无法启动任何 VM。

答案4

即使没有 DKMS,Ubuntu 也能正常启动。

如果您使用的任何东西依赖于 DKMS 但在其包装中没有它Depends:,您会注意到,您可以重新安装 DKMS 并提交错误。

DKMS 适用于以源代码形式(或带有源代码包装器的二进制文件)提供内核模块的软件包,因此它们不必在每次内核重建时更新模块。无论是否有 DKMS,标准内核本身始终有效。

相关内容