ディストリビューションのリポジトリの一部ではないパッケージについて、Linuxでのパッケージインストールは通常どのように進めますか?
私の側では、/ optにインストールするのに慣れています。しかし、それ以来、私はこのドキュメントをインターネットで見ました: http://www.pathname.com/fhs/ 。今私は混乱しています:明らかに/ usr/localも可能性があります。
両方の違いは何ですか?共有するベストプラクティスはありますか?
ありがとう
サーファーベル
/usr/local
/opt
追加の興味深い情報:/usr/local
の本来の意味は、/usr
がネットワークにマウントされている(単一の/usr
が複数のコンピューターで共有されている)場合、/usr/local
は別のファイルシステムになるということですコンピュータのローカル(ローカルディスク上のパーティション)。
そして、そのトピックの間、それが問題の主題から外れていても:異なるアーキテクチャの複数のコンピューターがある場合、当然、各Archに対して1つの/usr
がありますが、/usr/share
はさらに別の別のものになりますアーキテクチャ間で共有されるファイルシステム(したがって「共有」)。
私が行う方法は、それ自体にプレフィックスが必要な場合ORバイナリパッケージの場合、/ optを使用します(これはSolarisの方法とほぼ同じです)。ソース/ usr/localは私が行く方法です。
私はすべてをプライベートディレクトリに置き、次に GNU stow を使用します。
そこで、パッケージX.verを/BASE/stow/X.ver
にインストールします。 GNU stowは、(シンボリックリンクを含む)すべてのパッケージを/BASE/bin
、/BASE/lib
などに結合します。
競合とパッケージの削除は、扱いがはるかに簡単です。
FHS標準の解釈方法は次のとおりです。
/ usr/localは、パッケージ化されているかどうかに関係なく、ローカルで構築されたファイルまたはローカルにインストールされたファイル用で、オペレーティングシステムのインスタンスの一部になります。
/ optは、オペレーティングシステムの一部ではない「外部」パッケージをインストールする場所です。
ファイルを作成する単一のシステムでのみファイルを使用する限り、/ usr/localで問題ありません。そのため、これは大部分のオープンソースソフトウェアのデフォルトのベースディレクトリです。
パッケージを再配布する場合は、/ opt/myPackageなどのカスタムベースディレクトリを使用することをお勧めします。
Solarisは/ optをたくさん使用しました。最近のLinuxディストリビューションの多くは、/ usr/local /にあるパッケージを期待しています。考え方は同じです。オペレーティングシステムではなく、このマシンに機能を実行させるソフトウェアを置く場所です。これは、Windowsシステムの「プログラムファイル」とほぼ同じです。
1つを選んで、それに固執してください。/optを/ usr/localにシンボリックリンクするのは簡単です。
オペレーティングシステムの配布によって提供されるソフトウェアを再コンパイルする場合、ご使用のマシンに固有のいくつかのアーキテクチャの利点を活用するには、/ usr/localを使用します。
オペレーティングシステムのディストリビューション以外のソースからソフトウェアを追加する場合は、/ optに配置します。