ローカルビルドの構成

ローカルビルドの構成

rootアクセス権を持たないコンピュータで作業している人の一般的なことは、自分の好きなツールの小さなコレクションをローカルに構築することです。

ワークフローは次のとおりです。

tar xvzf fav_tool.tar.xvzf
cd fav_tool
./configure --prefix=$HOME
make install

少し混乱する傾向があります。のようなbin/, etc/, include, lib/フォルダがホームフォルダに表示されます。source/依存関係を管理する必要が$PATHありますが、これを行う賢明な方法はありますか?ローカルでパッケージを追跡するためのツールはありますか?

答え1

少し混乱する傾向があります。 bin/、etc/、include、lib/、source/などのフォルダがホームフォルダに表示されます。

選択によるとそうです。きれいに見えない場合は、次のものを使用できます。

./configure --prefix=$HOME/mytools

代わりに。それからあなたは必要になりますこれを$ PATHに追加してください。または、$HOME/binすでに含まれている場合は、現在含まれているすべてのアイテムを移動できます$HOME/mytools/bin

rm ~/bin
ln -s ~/mytools/bin ~/bin

ツールがコンテンツをに挿入する場合は、コンテンツを適切な場所に設定する~/mytools/lib必要があります。LD_LIBRARY_PATH

通常、環境変数の設定に使用する初期化ファイルを使用している場合、これは一度だけ実行され、約1分かかります。

依存関係を管理する必要があります。

「管理」がインストールのトラブルシューティングを意味する場合、これが主な目的です./configure。タスクが正しく実行されないと、サードパーティのツールがタスクをよりよく実行する可能性はほとんどありません。それ可能しかし、そうすることもできます悪い

他のことを意味するなら、「依存性」の概念には実際には何もありません。この問題を解決し、依存関係をダウンロードしてインストールするツールが必要な場合は、これが一般的なパッケージマネージャの役割です。しかし覚えておいてください事前にビルドされたバイナリが欲しくないと決めました。。ソースからビルドしています。

Linuxパッケージ管理者は、権限のないユーザーにとってほとんど不親切であるか役に立たないということは非常に不幸ですが、これは別の質問です(そしてディストリビューションによっては答えが異なる別の質問です)。

ローカルでパッケージを追跡するためのツールはありますか?

はい、ソースコードパッケージ自体です。ビルド時に~/mytools/srcビルドディレクトリをそこに置くか、単にtarballに抽出することができます。何かを削除するには、関連ディレクトリに移動し(必要に応じて再度解凍します)make uninstall

システムはsrcどの目的にもこのディレクトリを使用しません。これには入れたものだけが含まれるため、ダウンロードしたものを削除しない限り、実際にすべてをビルドするために使用されるソースを含むローカルにインストールされたソースビルドソフトウェアのきれいなリストがあります。

関連情報