ubuntu 安装内核模块驱动 DKMS 介绍
DKMS(Dynamic Kernel Module Support,动态内核模块支持)是一个用于管理 Linux 内核模块的工具,主要作用是在系统内核更新时,自动重新编译和安装依赖于特定内核版本的驱动程序(内核模块),避免因内核升级导致驱动失效。
核心功能
自动适配内核更新
当 Linux 系统升级内核后,依赖旧内核编译的驱动模块会失效。DKMS 能检测到内核变化,自动重新编译对应的驱动模块并安装到新内核中,无需用户手动操作。统一管理驱动模块
集中管理第三方驱动(如显卡、网卡、虚拟机工具等),支持模块的安装、卸载、升级和版本切换,简化驱动维护流程。跨内核版本兼容
允许同一驱动在多个内核版本中使用,尤其适合需要频繁测试不同内核的场景(如开发者或服务器环境)。
常见使用场景
- 安装 NVIDIA、AMD 等显卡的闭源驱动
- 配置 VirtualBox、VMware 等虚拟机的内核模块
- 管理无线网卡、声卡等硬件的第三方驱动
- 企业服务器环境中,确保内核升级后关键驱动正常工作
基本使用命令
以 Debian/Ubuntu 系统为例:
- 安装 DKMS:
sudo apt install dkms
- 添加驱动模块:
sudo dkms add <驱动路径>
- 编译并安装模块:
sudo dkms install -m <模块名> -v <版本号>
- 查看已安装模块:
dkms status
- 移除模块:
sudo dkms remove -m <模块名> -v <版本号> --all
DKMS 通过标准化驱动编译流程,解决了 Linux 内核频繁更新与第三方驱动兼容性的痛点,是系统管理员和开发者维护硬件驱动的重要工具。