自分で作成した、またはWebからダウンロードしたカスタムシェルスクリプトまたはプログラムがあり、CLIからこれを実行できるようにしたい場合、これをLinux/Unixディレクトリ構造に配置する標準の場所はありますか?
/usr/bin ?
/usr/local/bin ?
/usr/lib ?
/usr/sbin ?
/bin ?
/sbin ?
/var ?
通常は〜/ binフォルダーに入れてPATHに入れますが、きれいに見えません。そして、新しいプログラムをダウンロードするたびに、再度PATHに入れなければなりません。
/usr/local/bin
は、この目的のために、システム全体のインストールのために正確に存在します。プライベートで使用する場合は、~/bin
は事実上の標準です。
各バイナリを独自のサブディレクトリに保持する場合は、それを実行し、PATH
に既にあるディレクトリにシンボリックリンクを追加できます。だから、例えば
curl -o $HOME/downloads/fnord http://fnord.example.com/script.exe
ln -s $HOME/downloads/fnord $HOME/bin/
提供$HOME/bin
はPATH
にあります。 (これを行う stow
などのツールがあります-そして、はるかに-あなたのために舞台裏で。)
これは、Unixのフレーバーによって若干異なる場合があります。ここではLinuxを想定しています(これはOSXにも当てはまります)。 Filesystem Hierarchy Standard(FHS) (リンクは Linux Standard Baseワーキンググループ )から取得しました:
/usr/local
階層は、ソフトウェアをローカルにインストールするときにシステム管理者が使用するためのものです。システムソフトウェアの更新時に上書きされないようにする必要があります。ホストのグループ間で共有可能であるが、/usr
にはないプログラムおよびデータに使用できます。ローカルにインストールされたソフトウェアは、
/usr/local
内のソフトウェアを置換またはアップグレードするためにインストールされている場合を除き、/usr
ではなく/usr
内に配置する必要があります。
/usr/local/bin
は多くの場合、デフォルトでパス上にあります。
実行可能ファイルまたはそれへのリンクのみを/usr/local/bin
に配置し、残りは/usr/local/lib
または/usr/local/share
に配置する必要があることに注意してください。
/opt
ツリーも賢明かもしれません:
/opt
は、アドオンアプリケーションソフトウェアパッケージのインストール用に予約されています。/ optにインストールするパッケージは、その静的ファイルを別の
/opt/<package>
または/opt/<provider>
ディレクトリツリーに配置する必要があります。ここで、<package>
はソフトウェアパッケージを説明する名前で、<provider>
プロバイダーのLANANA登録名です。[...]
ディレクトリ/ opt/bin、/ opt/doc、/ opt/include、/ opt/info、/ opt/lib、および/ opt/manは、ローカルシステム管理者が使用するために予約されています。パッケージは、ローカルシステム管理者がこれらの予約ディレクトリに(リンクまたはコピーによって)配置することを目的とした「フロントエンド」ファイルを提供する場合がありますが、これらの予約ディレクトリがない場合は正常に機能する必要があります。
(/opt/your-package/bin/executable
から/opt/bin
への独自のリンクを作成し、PATH
にまだない場合は/opt/bin
を配置できます。)