uther述べ、/usr/local基本的に、の接頭辞として意図され、一方で、システム管理者によってインストールされたソフトウェア/usrのディストリビューションのパッケージからインストールしたソフトウェアを使用する必要があります。
この背後にある考え方は、(のような分散ソフトウェアとの衝突を避けるためにあるrpmとdebパッケージ)と「ローカル」の接頭辞を介して管理者に完全な支配を与えます。
これは、管理者がdebianなどのディストリビューションを使用しながら、カスタムコンパイルされたソフトウェアをインストールできることを意味します。
/または/ usrに配置されたソフトウェアは、システムのアップグレードによって上書きされる場合があります(ただし、このような状況では、ディストリビューションが/ etcのデータを上書きしないことをお勧めします)。このため、正当な理由がない限り、ローカルソフトウェアを/ usr / localの外部に配置しないでください。
ユーザー固有のソフトウェアをインストールする場合、書き込み許可があることを確認するため、プレフィックスとして使用することを推奨し$HOMEます。個人的には、$HOME/.local(うまくいけば)整頓されたホームディレクトリが散らかるのを避けるため、よりエレガントなソリューションであると感じています!
$HOME/.local/shareは、freedesktop.org XDG Base Directory仕様で既に使用されているため、$HOME/.local/binに追加し、$PATHを作成する$HOME/.local/libなどの作業は、それほど必要ありません。
プレフィクスを隠しディレクトリにしたくない場合は、次のようにシンボリックリンクを簡単に作成することもできます。
ln -s .local ~/local
サイドノート
.config(not .local/etc)は、$XDG_CONFIG_HOMEユーザー固有の構成ファイルに使用されるデフォルト値であることに注意してください。また、残念ながら、ソフトウェアの大部分はXDGを無視し、好きな場所(通常はのルート$HOME)に構成ファイルを作成します。また$XDG_CONFIG_HOME、デフォルト$HOME/.configが必要な場合は設定を解除できることに注意してください。
奇妙なことに、ディストリビューションのデフォルト構成ファイル用に予約されたディレクトリがないため、ファイル/etcがディストリビューションによって提供されたか、システム管理者によって編集されたかを知る方法がありません。