Linux上で、ディストリビューションのリポジトリに含まれていないパッケージをインストールする場合、一般的にはどのように進めればよいでしょうか?
私の側では、私は/optにインストールするために使用されています。しかし、インターネット上でこのドキュメントを見てからはhttp://www.pathname.com/fhs/今、私は混乱しています: どうやら /usr/local も可能性があるようです
両方の違いは何ですか?何か成功事例はありますか?
Thanks
SirFabel
47 None 2010-03-21
- Unix風にコンパイル&インストールしてFHSに準拠しなければならないものは全て→
/usr/local
- 他のすべてのもの(例えば、独自のアプリケーションサーバが付属していて、zipアーカイブ内のリソースをロードしているjavaのウェブアプリケーションなど)→<++1
36 lajuette 2010-03-21
追加の興味深い情報として/usr/local
の本来の意味は、/usr
がネットワークマウントされている場合(複数のコンピュータで共有されている/usr
が一つだけの場合)、/usr/local
はコンピュータのローカルにある別のファイルシステム(ローカルディスク上のパーティション)になるということです
そして、その話題の中で、たとえそれが質問のオフトピックであったとしても。異なるアーキテクチャを持つ複数のコンピュータがある場合、当然のことながら、各アーカイブには1つの/usr
がありますが、/usr/share
はアーキテクチャ間で共有される別のファイルシステムになるでしょう (それゆえに「共有」)
24 None 2010-03-21
私のやり方は、それ自体にプレフィックスが必要な場合やバイナリパッケージの場合は、/opt (Solaris のやり方に近い) を使用します。ソースからコンパイルする場合は /usr/local を使います
8 Lee 2010-03-21
私はすべてのものをプライベートディレクトリに置き、GNU stowを使用しています
そこで、X.verパッケージを/BASE/stow/X.ver
にインストールします。GNU stow はすべてのパッケージを (シンボリックリンクで) /BASE/bin
, /BASE/lib
などに結合します
競合したり、パッケージを削除したりする方がはるかに楽です
6 R Samuel Klatchko 2010-03-21
ここでは、私がFHS規格をどのように解釈しているかをご紹介します
/usr/local は、ローカルにビルドされたファイルやローカルにインストールされたファイルのためのもので、パッケージ化されているかどうかに関わらず、オペレーティングシステムのインスタンスの一部となっています
/opt は、オペレーティングシステムの一部ではない “外国の “パッケージをインストールするための場所です
ファイルをビルドする単一のシステム上でのみ使用するのであれば、/usr/localで問題ありません
パッケージの再配布を計画しているのであれば、/opt/myPackage のようなカスタムベースのディレクトリを使うことをお勧めします
3 jlliagre 2010-03-21
Solaris は /opt を多用していました。最近の Linux ディストロの多くは /usr/local/ にパッケージを置くことを期待しています。考え方は同じです – オペレーティングシステムとは対照的に、このマシンで何をするかを決定するソフトウェアを置く場所です。これは Windows システムの “Program Files” に大体似ています
一つを選んで、それに固執してください。/opt を /usr/local にシンボリックリンクすれば十分簡単です
2 Kyle 2010-03-21
オペレーティングシステムのディストリビューションで提供されているソフトウェアを再コンパイルして、自分のマシンに特有のアーキテクチャの利点を利用する場合は、/usr/local を使用してください
オペレーティングシステムのディストリビューション以外のソースからソフトウェアを追加する場合は、/opt に入れてください
0 cp7781 2017-12-26