我“需要”DKMS吗?

我的基于Ubuntu的发行版预装了一些VirtualBox的东西,所以我卸载它并自动移动DKMS包。

从我看到的,它看起来像有用的包,但我需要它吗? 像VirtualBox和CDemu这样的东西可以单独安装它,Ubuntu默认不安装它,所以我猜它只需要一些安装模块或其他东西的程序“需要”。

我不是一个很长的GNU / Linux用户,所以我没有多少经验,我甚至没有编译经验。

现在我有一个Linux内核更新待定,但我不知道是否应该在没有安装DKMS的情况下更新它。

如果您没有安装dkms模块,则不需要dkms软件包。 默认情况下,它不会安装在Ubuntu中。

当您安装一些专有驱动程序,如Nvidia,AMD或Broadcom时,也会自动安装dkms软件包。

要检查您是否有任何dkms模块,您可以运行

dkms status 

如果未安装dkms,则此命令将不起作用,但您可以查看/var/lib/dkms/目录。

dkms包的源存储在/usr/src/

我猜你已经对DKMS做了一点研究,它用于更新普通内核源代码之外的内核模块。 通常它是像VirtualBox这样需要DKMS的驱动程序和软件包。 您可能不一定“需要”DKMS,但安装起来很方便,特别是如果您已经安装了额外的软件包,虽然没有安装它不会破坏您的内核升级。

这里有关于DKMS的更多信息,以及在这里询问ubuntu的有用答案。

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

答案很长:这个系统可以帮助您编译驱动程序(也称为内核模块),以便它们可以与您当前的内核一起运行。 如果你不重新编译模块,就会发生模块canot加载,因此它提供的function将不再具有可用性。 在您的情况下:如果您不重新编译虚拟盒模块,则更新后Virtualbox将不可用。 它将启动,但无法启动任何VM。

没有DKMS,Ubuntu可以正常启动。

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

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