web-dev-qa-db-ja.com

/ etc / modulesではなく、ブート時にモジュールをロードするために使用する「.d」ディレクトリはありますか?

私はPuppetを使用して、システム上のいくつかの構成を自動化しています(ただし、ここではあまり関係ありません)。マシンのグループの場合、ブート時にカーネルモジュールをロードします。最もエレガントな方法は、/etc/modulesを編集し、個々の行に追加するようです。ただし、Puppetでファイルを編集するのではなく、「.d」ディレクトリ構造内の個別のファイルを使用して保守性を高めたいと思います。

Modprobeとモジュールのオプションの指定またはブラックリスト化には/etc/modprobe.d/がありますが、単一の新しいファイルを使用してブート時にモジュールを実際にロードする最もエレガントな方法は何ですか?基本的に、存在しない/etc/modules.d/ディレクトリを探しています。

助言がありますか?

4
gertvdijk

探しているディレクトリは

/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を読んでください。

2
Adam Monsen

追加の.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

1
ImaginaryRobots