設定ファイルディレクトリを保存する新しいソフトウェアを構築するときに/etc
ディレクトリ名を指定する必要がありますか、software_name.d
それとも単にsoftware_name
?
このトピックの良いスタイルガイドが見つからないようです。 Debianは私が念頭に置いている主要なディストリビューションですが、より一般的なスタイルガイドやガイドがあれば歓迎します。
「正式な」ガイドラインは個人的な意見よりも優先されます。
答え1
ディレクトリの一般的な用途は、複数の設定ファイル(通常は共通ファイル拡張子の共有、たとえば).d
を保持することです。*.conf
マージまたは構成する単一の論理構成を作成します。このメカニズムは、通常、複数の構成ファイルを単一の構成ファイルにリンクするメカニズムと同じです。
.d
Linuxパッケージ(deb / rpm)やパッケージマネージャと連携するためにディレクトリを使用するようにアプリケーションが開発されることがよくあります。ディレクトリは、.d
パッケージを使用する展開に適しています。これは、パッケージがセクションを追加するために共有構成ファイルを編集することなく、スタンドアロンファイルをディレクトリに簡単に「ドラッグ&ドロップ」できるためです(パッケージはファイルを管理/含むため、自然な作業です)。その特定のパッケージを挿入します。 (以前のLinuxディストリビューションでは、既存の構成ファイルを編集するインストール後およびアンインストール前のスクリプトを使用して、パッケージが正確にこれを実行していることがわかりました。)
アプリケーションが複数の設定ファイルを使用している場合は、名前付き設定ディレクトリを使用する方が一般的です/etc/software_name
。その他の目的(JSON、iniファイルなどの他のファイル形式を使用することもできます。)この場合、1つのディレクトリを使用して同じアプリケーションのすべての設定ファイルをグループ化できますが、別のパッケージ(またはシステム管理者)で新しいファイルをディレクトリにドラッグしますドロップして設定を拡張したい場合は、そのディレクトリを使用しません.d
。
一部のシステムは実際に両方を使用します。たとえば、yum
(Red Hat Package Manager)には独自の設定ファイルがありますが、独自の.d
リポジトリディレクトリ(/etc/yum.repos.d
.)も似ていると思いapt
ます。.d
新しいファイルをディレクトリに「ドラッグアンドドロップ」することでリポジトリの追加と削除を管理できるため、この設定は意味があることがわかります(プッシュするパッケージまたは構成管理システムを介して)。既存のファイルを変更する必要があります(オペレーティングシステムのリリース自体から更新を受け取ることができます)
答え2
ここにはたくさんあります議論するこのトピックについて。本当に明確なことはありません。
「正しい」「正式な」ガイドラインが何であるかについて、究極のソースは次のとおりです。ファイルシステム階層標準Linux財団で。残念ながら、一部の基本検索では明確な情報が見つかりませんでした。もう少し熱心に検索すると幸運かもしれません。
FHSが失敗した場合は、ソフトウェアを作成しているコミュニティに助けを求め、彼らが好きなものに関する一般的な合意に達し、それがあなたの要件を満たしているかどうかを判断します。この文脈では、「推奨」は非常にあいまいな用語なので、実際には存在しないガイダンスを求めているようです。 「誰がお勧めですか?誰のために?」