/ optを整理する方法は?

Aug 27 2020

従来の場所とフォルダ構造に手作りのスクリプトを配置したいと思います。現在/opt/chkobm/chkobm$PATHにありますが、ワイルドカードパスを含める必要があるため、これは悪い習慣のようです(/opt/*/

TLDPから(セクション「Linuxファイルシステム階層」):

ユーザーが呼び出すプログラムは、ディレクトリ/ opt / 'package' / binにあります。

まず、そのようなファイルをどこに配置するかについての合意されたルールはありますか?(/usr/bin私には実行可能な代替場所のように見えます)次に、手作りのスクリプトをに配置し/opt/*/bin/、このパスをにエクスポートする必要があり$PATHますか?

回答

Stewart Aug 27 2020 at 18:15

/usr/local/bin これを置く慣用的な場所です。

Linuxファイルシステム階層ごと:

背後/usr/localにある元々のアイデアは、/usr以外のすべてのマシンに個別の(「ローカル」)ディレクトリを置くことでした。これは、/usr他の場所から読み取り専用でマウントされる可能性があります。の構造をコピーし/usrます。最近で/usr/localは、自己コンパイルまたはサードパーティのプログラムを保持するのに適した場所と広く見なされています。/ usr / local階層は、システム管理者がソフトウェアをローカルにインストールするときに使用します。システムソフトウェアが更新されたときに上書きされないように安全である必要があります。これは、ホストのグループ間で共有可能であるが、/ usrにはないプログラムおよびデータに使用できます。ローカルにインストールされたソフトウェアは、/ usr内のソフトウェアを置き換えまたはアップグレードするためにインストールされている場合を除き、/ usrではなく/ usr / local内に配置する必要があります。

私はDebianとして定義されているFHSに依存する傾向があります。Debianは標準の実施にかなり優れています。これは彼らがoptについて言わなければならないことです:

ディレクトリ/ opt / bin、/ opt / doc、/ opt / include、/ opt / info、/ opt / lib、および/ opt / manは、ローカルシステム管理者が使用するために予約されています。パッケージは、ローカルシステム管理者がこれらの予約済みディレクトリに(リンクまたはコピーすることによって)配置することを目的とした「フロントエンド」ファイルを提供する場合がありますが、これらの予約済みディレクトリがない場合は正常に機能する必要があります。

..。

通常、システムでパッケージをサポートするために必要なすべてのデータは、/ etc / opt /および/ var / opt /にコピーすることを目的としたファイルや、/ opt内の予約済みディレクトリを含め、/ opt /内に存在する必要があります。

..。

/ opt /の下のディレクトリの構造は、ソフトウェアのパッケージャに任されていますが、パッケージを/ opt //にインストールし、/ opt /のガイドラインと同様の構造に従うことをお勧めします。この構造から逸脱する正当な理由は、/ opt // libまたは/ opt // binにファイルがインストールされている可能性のあるサポートパッケージのためです。

Debianのの定義は/usr/local、TLDPリンクの以前の定義と同じです。