DKMS(Dynamic Kernel Module Support,动态内核模块支持)是一个用于管理 Linux 内核模块的工具,主要作用是在系统内核更新时,自动重新编译和安装依赖于特定内核版本的驱动程序(内核模块),避免因内核升级导致驱动失效。

核心功能

  1. 自动适配内核更新
    当 Linux 系统升级内核后,依赖旧内核编译的驱动模块会失效。DKMS 能检测到内核变化,自动重新编译对应的驱动模块并安装到新内核中,无需用户手动操作。

  2. 统一管理驱动模块
    集中管理第三方驱动(如显卡、网卡、虚拟机工具等),支持模块的安装、卸载、升级和版本切换,简化驱动维护流程。

  3. 跨内核版本兼容
    允许同一驱动在多个内核版本中使用,尤其适合需要频繁测试不同内核的场景(如开发者或服务器环境)。

常见使用场景

  • 安装 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 内核频繁更新与第三方驱动兼容性的痛点,是系统管理员和开发者维护硬件驱动的重要工具。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐