私はPuppetを使用して、システム上のいくつかの構成を自動化しています(ただし、ここではあまり関係ありません)。マシンのグループの場合、ブート時にカーネルモジュールをロードします。最もエレガントな方法は、/etc/modules
を編集し、個々の行に追加するようです。ただし、Puppetでファイルを編集するのではなく、「.d
」ディレクトリ構造内の個別のファイルを使用して保守性を高めたいと思います。
Modprobeとモジュールのオプションの指定またはブラックリスト化には/etc/modprobe.d/
がありますが、単一の新しいファイルを使用してブート時にモジュールを実際にロードする最もエレガントな方法は何ですか?基本的に、存在しない/etc/modules.d/
ディレクトリを探しています。
助言がありますか?
探しているディレクトリは
/etc/modules-load.d
たとえば、常にnf_conntrack_pptp
カーネルモジュールをロードするには、nf_conntrack_pptp
を/etc/modules-load.d/pptp.conf
に追加します。ファイル名は重要ではありませんが、慣例または要件は.conf
で終わることです。
これは、/etc/init.d/kmod
のSysVinitスクリプトを使用して、(systemdなしの)古いUbuntuバージョンに実装されます。新しいsystemdバージョン(15.04以降)では、systemdがこれを処理します。ドキュメントman 5 modules-load.d
を読んでください。
追加の.confファイルを/etc/modprobe.d/に配置して、モジュールのロードも実行できるようにする必要があります(デフォルトのファイルにはすべてブラックリストに関するものがあります)。
モジュール名だけを行に追加することもできますが、より複雑な動作が必要な場合は、行の先頭で「インストール」を使用できます。マンページから:
install modulename command...
This is the most powerful primitive: it tells modprobe to run your command
instead of inserting the module in the kernel as normal.
http://manpages.ubuntu.com/manpages/precise/man5/modprobe.conf.5.html