web-dev-qa-db-ja.com

インストールプレフィックスはどこに設定されていますか?

プログラムがusr/local/binにインストールされ、ビルド時に./configure --prefix=/usr/を実行すると変更できることがわかります。

デフォルトのプレフィックスはどこに指定されていますか?デフォルトはどこで変更できますか?ユーザーのデフォルトを変更する代わりに、プログラムのデフォルトのインストールを/usr/bin/に変更することはできますか?

1
Niklas

プレフィックス/usrを付けてローカルで構築されたアプリケーションをインストールすることは、インストールされたファイルがパッケージマネージャーによってインストールされたファイルを簡単に上書きする可能性があるため、非常に悪い考えです。これにより、ファイルチェックサムが一致しなくなったとき、または実行可能ファイルとライブラリの間に不一致があるときにパッケージマネージャーが混乱した場合に、後で問題が発生する可能性があります。

/usr/localは、ほとんどのシステムにローカルでコンパイルされたソフトウェアをインストールする正しい場所ですが、/optの方が安全かもしれません(ほとんどのBSDUnicesはサードパーティソフトウェアに/usr/localを使用します)。

デフォルトのプレフィックスを変更することは絶対にお勧めしません。

そうは言っても、それはautoconfディストリビューションのファイルgeneral.m4で変数as_default_prefixとして定義されています。私のOpenBSDシステムでは、このファイルは/usr/local/share/autoconf-2.69/autoconfにあります。 Linuxを使用している場合、または別のバージョンのautoconfを使用している場合、このディレクトリは別の場所にある可能性があります。

この変数はautoconfディストリビューションで変更する必要があり、configureスクリプトを再生成する必要があります(この変数は、作成時にconfigureによってautoconfスクリプトに挿入されるため)。

より簡単な方法は、 autoconfドキュメント で説明されているようにconfig.siteファイルを作成し、prefixの値を設定することです。

繰り返しになりますが、これを変更すると、間違いなく、さらに先の足で自分を撃つことになります。

参照: ファイルシステム階層標準

5
Kusalananda