PCのコンテキストでの/ optおよび/ usr / localディレクトリの使用


65

ディレクトリ/opt/usr/localディレクトリの違いは何ですか?また、どのようなプログラムをインストールする必要がありますか?

私はLinuxファイルシステム階層に言及しましたが、説明はそれほど明確ではありません。上記のリンクによると、

/opt :-このディレクトリは、デフォルトのインストールの一部ではないすべてのソフトウェアおよびアドオンパッケージ用に予約されています

/usr/local:- /usr/local階層は、ソフトウェアをローカルにインストールするときにシステム管理者が使用するためのものです。システムソフトウェアの更新時に上書きされないようにする必要があります。

ネットワーク化されたコンピューターのないPCのコンテキストでは、複数のローカルユーザーがアクセスするソフトウェアをインストールするためのディレクトリは何ですか?(つまり、netbeansなどのソフトウェアをどこにインストールすればよいですか)

ありがとうございました


4
Google Chrome optは何らかの理由でそのディレクトリを使用します。
カミロマーティン14

2
@CamiloMartin私はそれがoptional だと思います。
becko

4
@beckoまあ、それはoptグーグルの広告がoptそれを編集した場合、それは重要な選択でなければなりません。
カミロマーティン14

3
たとえあなたがすべて正しい場合でも、optimus Primeの音はより良くなります。
erm3nda

2
Lol ..私はパーティーに遅刻しましたopt..しかし、あなたは人々が多くのコメントセクションを模倣しているようです..:P
john400

回答:


71

/opt上記のパッケージの範囲外の依存関係に依存しないサードパーティアプリケーション用です。/usr/local配布パッケージマネージャーの範囲外でこのマシンにインストールされたパッケージ用です。

例:

.debとして提供されるオープンソースsip-clientはにインストールされ/usrます。Qtフレームワークを使用してビルドされた場合、aptは依存関係としてそれをプルします。

ソースからビルドされた同じオープンソースのsip-clientが常駐する/usr/localため、後で同じアプリケーションの.debパッケージをインストールした場合、aptによって混乱することはありません。ソースから依存関係を構築するか、パッケージマネージャーから依存関係を取得できます。

のサードパーティアプリケーション/optは自己完結型であると想定されています。たとえば、Qtを使用する独自のsip-clientは、aptのバージョンに依存しませんが、バンドルまたは静的にリンクされます。

詳細については、Filesystem Hierarchy Standardをご覧ください。


1
netbeansはjdkや他のコンパイラに依存しているため、/ usr / localに移動します+さらにLinux FHSに従いますか?
ニロシャン

1
答えはイエスです。
エギル

1
ここconda提案されているようにグローバルにインストールしたい場合/opt、適切な場所はありますか?
アレクセイ

@Egil、なぜMacにoptディレクトリがないのですか?
パセリエ

以前にこの答えを支持しましたが、その結論はこのLinux Journalの記事とはわずかに異なることがわかりました。この記事は、パッケージ化されたソフトウェアでは、誰がパッケージを提供したかが重要であることを暗示しています。パッケージがOSのパッケージリポジトリからのものである場合、通常どおりに/usr(または、おそらく直接、、などの下/bin/lib)インストールする必要があります。ただし、別のソースからの場合は、に入れる必要があります/usr/local。それは潜在的に.deb答えに「オープンソースsip-client」を含むでしょう。
サンパブロクパー

12

サードパーティのバイナリのみのパッケージをにインストールします/opt

あなたがソースから自分で構築するものは何でも入れ/usr/localます。

netbeansUbuntu Reposにあります。特定のバージョンが必要ですか?


その背後にある理論的根拠はありますか、それとも単なる実践ですか?(例としてnetbeansに言及しました-あいまいさを取り除くためにその部分を変更しました)。ありがとう
ニロシャン

他の答えがそれを最もよく言ったと思う。通常、サードパーティのバイナリは自己完結型です。
ブラム

PythonやJavaソフトウェアなど、ランタイムに依存するものはどうですか?私はそれらを装着しました/optが、それが正しいかどうかはわかりません。
カミロマーティン14

8

パッケージングがすべてです。何かがLHS方式でパッケージ化されている場合(実行可能ファイルをbin /ライブラリにlib /などに置く)、/ usr / localに移動する必要があります。

最上位のディレクトリがあり、そのモデルに従っていない場合は、/ optに移動します。通常、/ optにあるものをPATHに明示的に追加する必要があります。

スーパーユーザーに関するこの質問も参照してください


この回答は、このLinux Journalの記事で裏付けられているようです。
サンパブロクパー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.