
Fedora マシンでソフトウェアをコンパイルする必要があります。パッケージ化されたソフトウェアに干渉しないようにするには、どこに置くのが最適でしょうか?
答え1
少なくとも Debian 系のシステムでは、経験則は次のようになります。
/usr/local
「システム全体」に関係するもの、つまり/usr/local
ディストリビューションのデフォルトの にある傾向があり、 、などの$PATH
標準的な UNIX ディレクトリ階層に従います。/usr/local/bin
/usr/local/lib
/opt
システム全体に公開することが信頼できないものについては、アプリごとにプレフィックス ( 、/opt/firefox-3.6.8
など/opt/mono-2.6.7
) を付けて保存します。ここに保存するファイルはより慎重な管理が必要ですが、システムに障害を起こす可能性も低く、フォルダを削除するだけで消えるので削除も簡単です。
答え2
本当に干渉させたくない場合は、 のどこにも置かないでください$PATH
。
にインストールしたい場合は$PATH
、少なくとも にインストールしないようにしてください/usr/local
。ディストリビューションによって にインストールされた場合でも、多くのソフトウェアが にインストールされていることがわかりました/usr
。
カスタムコンパイルされたソフトウェアをインストールする私のお気に入りの方法は、自分の$HOME
ディレクトリにインストールすることです。この方法なら、何も使用する必要がなくsudo
、システムの他の部分から非常にうまく分離されます。たとえば、次のようになります。
mkdir ~/stage
./configure --prefix=/home/username/stage && make && make install
必要に応じて、/home/username/stage/bin
に追加することもできます$PATH
。
答え3
FHSはそれを/usr/localに置くように言っていますディストリビューションが触れるべきではない場所。 ソースとライブラリの/usr/local/bin
バイナリについては、/usr/local/src
/usr/local/lib
FHS仕様詳細情報
答え4
それらを に置きます/usr/local/src
。
私がやっているのは、このディレクトリにソースを展開することです。次のようなパスが作成されます。
/usr/local/src/postgresql-8.3.7
次に、それにシンボリック リンクを作成します。
/usr/local/src # ln -s postgresql-8.3.7 postgresql
すべての構築を で行います/usr/local/src/postgresql
。
この方法を使用すると、バージョン間を切り替えたり、どのバージョンを使用しているかを文書化したりする必要がある場合に役立ちます。