/opt
ディレクトリと/usr/local
ディレクトリの違いとそれらにインストールするプログラムの種類は何ですか?
Linux File-system Hierarchy を参照しましたが、説明はそれほど明確ではありません。上記のリンクによると、
/opt
:-このディレクトリは、デフォルトのインストールの一部ではないすべてのソフトウェアおよびアドオンパッケージ用に予約されています
/usr/local
:-/usr/local
階層は、ソフトウェアをローカルにインストールするときにシステム管理者が使用するためのものです。システムソフトウェアの更新時に上書きされないようにする必要があります。
ネットワーク化されたコンピューターのないPCのコンテキストでは、複数のローカルユーザーがアクセスするソフトウェアをインストールするためのディレクトリは何ですか? (つまり、netbeansなどのソフトウェアをどこにインストールすればよいですか)
ありがとうございました
/opt
は、前述のパッケージの範囲外の依存関係に依存しないサードパーティアプリケーション用です。 /usr/local
は、配布パッケージマネージャーの範囲外でこのマシンにインストールされたパッケージ用です。
例:
.debとして提供されるオープンソースsip-clientは、/usr
にインストールされます。 Qtフレームワークを使用してビルドされた場合、aptは依存関係としてそれをプルします。
ソースから構築された同じオープンソースのsip-clientは/usr/local
にあるため、同じアプリケーションの.debパッケージを後でインストールした場合、aptによって混乱することはありません。ソースから依存関係を構築するか、パッケージマネージャーから依存関係を取得できます。
/opt
のサードパーティアプリケーションは、自己完結型であると想定されています。たとえば、Qtを使用する独自のsip-clientは、aptのバージョンに依存しませんが、バンドルまたは静的にリンクされます。
詳細については、 Filesystem Hierarchy Standard をご覧ください。
サードパーティのバイナリのみのパッケージを/opt
にインストールします。
ソースから自分でビルドするものはすべて、/usr/local
に入れます。
netbeans
はUbuntuリポジトリにあります。特定のバージョンが必要ですか?
パッケージングがすべてです。何かがLHS方式でパッケージ化されている場合(実行可能ファイルをbin /ライブラリにlib /などに置く)、/ usr/localに移動する必要があります。
最上位のディレクトリがあり、そのモデルに従っていない場合は、/ optに移動します。通常、/ optにあるものをPATHに明示的に追加する必要があります。
スーパーユーザーに関するこの質問 も参照してください。