
私はすでに関連トピックを経験していますここ。
私の同僚の一人がphantomjs
バイナリを/usr/bin
。私たちのシステムでは、このバイナリはrootではなくユーザーだけが利用できます。現在、一般ユーザーはこのバイナリをうまく実行できますが、この質問で公開されているスレッドによると、rootではなくユーザーが使用するバイナリをドロップする正しいアプローチではないようです/usr/bin
。それでは、移すべき理由がありますか/usr/bin
、/usr/local/bin
それともそのままにしておくのが良いでしょうか/usr/bin
。つまり、バイナリを/usr/bin
下に置くことにはどのような違いがありますか?/usr/local/bin
それとも一般的に従う「ルール」ですか?
[root@seco01 ~]# which phantomjs /usr/bin/phantomjs [root@seco01 ~]#
PS:/usr/local/bin
含まれています$PATH
。
答え1
ファイルシステム階層規格によると、各 /usr/local: ローカル階層、それ
/usr/local階層は、システム管理者がソフトウェアをローカルにインストールするときに使用します。システムソフトウェアが更新されたら上書きしないでください。ホストグループ間で共有できますが、/usrにはないプログラムやデータに使用できます。
ローカルにインストールされているソフトウェアは、/usrのソフトウェアを交換またはアップグレードするためにインストールしない限り、/usrではなく/usr/localになければなりません。
一般的に、最新のLinuxディストリビューションでは、ディストリビューションのパッケージマネージャが管理するソフトウェア/usr/bin
などを使用しますが、/usr/local/bin
ローカルにインストールされたソフトウェアはいいえパッケージマネージャによって管理されます。一般的なケースはインストールされているソフトウェアを通してですmake, make install
。静的スタンドアロンバイナリもこのカテゴリに属します。
もう一つの可能性はです/opt
。/opt
との違いは/usr/local
明確ではありませんが、/usr/local
ローカルインストールの場合はより慣用的です。 FHSが言った内容は次のとおりです/opt
。/opt: アプリケーションパッケージの添付。
答え2
ローカルユーザーだけを使用している場合は、/usr/binに保存する意味がないと思います。これにより、アクセスがより安全になります。
あなたが投稿したリンクは、FHS(File System Layer Standard)に準拠していることを示しています。