Dynamic Kernel Module Support。Linux カーネルアップデート時にモジュール自動再ビルド。NVIDIA/VirtualBox/ZFS 等で利用、Dell 2003年公開。
/usr/src/<module>-<version>/ に配置・dkms.confで構成定義し、カーネル更新時にパッケージマネージャ(apt/dnf/pacman)から自動でre-buildを呼び出す仕組みを提供する。Ubuntu/Debian/Fedora(akmod互換)/RHEL/openSUSE/Arch Linux/Manjaro等主要ディストリで標準採用、2026年現在ほぼ全Linuxユーザが間接的に依存する基盤技術。コマンドは sudo dkms add -m <module> -v <version> で登録、dkms build/install/status/remove で管理。\n\n## 主な特徴・仕組み\n\n- 公開: 2003年Dell社、GPL v2、現在のメンテナはGavin Smith(Canonical)\n- 対応OS: Ubuntu/Debian/Fedora/RHEL/CentOS/openSUSE/Arch/Manjaro等\n- 基本構成: /usr/src/<module>-<version>/dkms.conf + ソースコード\n- コマンド: dkms add/build/install/status/remove/autoinstall\n- 自動再ビルド: apt/dnf/pacman からカーネルアップデート時にhook実行\n- 互換性: Fedora akmod は同等機能の独自実装、互換層あり\n- ログ: /var/lib/dkms/<module>/<version>/build/make.log でビルドエラー確認\n- アンインストール: dkms remove <module>/<version> --all で全カーネル削除\n\n## スペック比較表\n\n| 仕組み | ディストリ | 特徴 | 互換性 |\n|--------|-----------|------|--------|\n| DKMS | Ubuntu/Debian/Arch | 業界標準・Dell開発 | 大半 |\n| akmod | Fedora/RHEL | RPM統合・自動 | DKMS互換 |\n| kmod-rpm | RHEL Enterprise | バイナリ配布 | RHELのみ |\n| AUR (Arch) | Arch | ソースから手動 | DKMS併用可 |\n| OBS (openSUSE) | SUSE | リポジトリビルド | DKMS可 |\n| flatpak/snap | Universal | ユーザ空間 | カーネルレベル不可 |\n| out-of-tree manual | 全ディストリ | 完全手動 | 知識要 |\n\n## 具体例・対応製品\n\n- : DKMS必須、Ubuntu/Debian/Fedora全対応\n- : vboxhost.ko/vboxnetadp.ko/vboxnetflt.ko の3モジュールDKMS\n- : openzfs/zfs、Ubuntu 22.04+標準DKMS、Native対応もRoot要\n- : Fedora 41+ NVIDIA、akmod経由DKMS互換\n- : Realtek純正ドライバ、DKMS配布\n\n## 自作PCでの選び方・注意点\n\n自作PC Linux 環境構築時のDKMS適用シナリオ: (A)NVIDIA RTX 4090(¥289,980) + Ubuntu 24.04: 公式 nvidia-driver-560 パッケージで DKMS 自動有効、カーネル更新時自動再ビルド、(B)VirtualBox 7.1 + Arch Linux: pacman -S virtualbox-host-dkms で 3 モジュール自動管理、(C)ZFS root + Ubuntu 24.04: zfs-dkms で / にZFS構成、kernel 6.11 自動対応。注意点: (1)dkms.conf の MAKE/CLEAN 設定がカーネル新バージョンと不整合だとビルド失敗、ソース更新待ちが発生、(2)Secure Boot有効時はモジュール署名必須、 でMOK鍵登録要、(3)akmod(Fedora)では コマンドで明示再ビルド可、トラブル時に有効。Linux カーネルが頻繁に内部API変更するため、DKMSモジュールはカーネル6世代以上で互換性破綻あり、メンテナのソース更新が遅れると古いカーネル固定運用必要。\n\n## 関連用語との違い\n\n: Linux 公式カーネルツリー外のモジュール総称。DKMSはこれらを自動管理する仕組み、概念とツールの関係。\n\n: 公式linux-kernel.orgツリー、modprobe/insmodで標準ロード。NVIDIA等は商用ライセンスでmainlineに入らずDKMS経由が必要。\n\n## よくある質問(FAQ)\n\n\nA: 動くがカーネル更新ごとに 手動再実行必要。DKMS有効版なら apt/dnf upgrade だけで済む。\n\n\nA: 確認、カーネル新バージョン非対応なら旧カーネル固定()、メンテナ更新待ち。\n\n\nA: モジュール署名必須、 でMOK鍵登録+再起動でEFIから承認。NVIDIA driver は ubuntu-drivers が自動署名対応。\n\n## まとめ\n\n- 2003年Dell公開のLinux カーネル外モジュール自動管理\n- カーネル更新時に自動再ビルド、手動介入排除\n- NVIDIA/VirtualBox/ZFS 等で必須的存在\n- Ubuntu/Debian/Fedora(akmod)/Arch全主要対応\n- Secure Boot ではMOK鍵登録必要mokutil --importakmodssh NVIDIA-Linux-x86_64-550.run/var/lib/dkms/<module>/<version>/build/make.logapt-mark hold linux-image-*sudo mokutil --import /var/lib/shim-signed/mok/MOK.der