CentOS 安装 DKMS 的详细指南

什么是 DKMS?
DKMS(Dynamic Kernel Module Support)是一种允许内核模块在内核升级后仍然保持兼容性的工具,它允许开发者在不重新编译内核的情况下,为不同版本的内核安装和更新内核模块。
为什么需要在 CentOS 上安装 DKMS?
在 CentOS 系统中,如果需要安装某些第三方内核模块,NVIDIA 驱动、OpenVPN 等,可能会遇到内核版本不匹配的问题,安装 DKMS 可以解决这个问题,确保内核模块能够在不同版本的内核上运行。
安装 DKMS 的步骤
准备工作
在开始安装 DKMS 之前,请确保您的 CentOS 系统已经安装了以下软件包:
- kernel-headers:对应您内核版本的源代码头文件。
- kernel-devel:包含编译内核模块所需的文件。
可以通过以下命令检查是否已安装:
rpm -qa | grep kernel
安装 DKMS

使用以下命令安装 DKMS:
sudo yum install epel-release sudo yum install dkms
安装所需的内核模块
以 NVIDIA 驱动为例,下载并安装 NVIDIA 驱动:
sudo yum install nvidia-dkms
编译并安装内核模块
sudo nvidia-dkms install
验证安装
在终端中运行以下命令,检查内核模块是否已安装:
lsmod | grep nvidia
如果输出中包含 nvidia,则表示内核模块已成功安装。
配置 DKMS
- 添加 DKMS 脚本到
/etc/rc.d/rc.local
编辑 /etc/rc.d/rc.local 文件,添加以下内容:

dkms autoinstall
保存并退出编辑器。
使
/etc/rc.d/rc.local文件可执行:
sudo chmod +x /etc/rc.d/rc.local
FAQs
问题:DKMS 安装后,如何更新内核模块?
解答:下载最新的内核模块源代码,然后使用以下命令重新编译并安装:
sudo nvidia-dkms update
问题:DKMS 安装后,如何卸载内核模块?
解答:使用以下命令卸载内核模块:
sudo nvidia-dkms uninstall
通过以上步骤,您可以在 CentOS 上成功安装和配置 DKMS,这将帮助您解决内核模块兼容性问题,确保系统稳定运行。

