Linuxのソースからインストールする際のベストプラクティス

Linuxのソースからインストールする際のベストプラクティス

Linuxシステムでソフトウェアをコンパイルして手動でインストールする良い方法が何であるかを知りたいです。私の言葉は、次の一般的な方法でコードを取得、ビルド、インストールすることです。

git clone https://a-repo/foo.git
cd foo/
./configure
make
make install
  • このような状況を避けるべきですか?それともお勧めですか?おそらくあなたが使用しているディストリビューションのためのパッケージを作成する方が良いかもしれません。
  • バージョンとアップデートの管理に関するヒントはありますか?
  • ./configure仕事をするとき、特に仕事をするときに良い習慣がありますか--prefix= ?
  • 正しくインストール/削除するには?実行するソースを常に維持する必要がありますかmake uninstall ?
  • たとえば、いくつかのツールを見たことがありますが、stow議論の余地がある解決策のようです。たぶん別の解決策ですか?

展開に依存しないソリューションを好むが、すべての提案とコメントを歓迎します!
ありがとうございます!

編集する:人々が私の質問を理解していないようです。私は議論を始めようとするのではなく、上記のことについてできるだけ明確に答えたいと思います。私はこれが何人かの人々に役立つかもしれないと思います。あなたの貢献に感謝します。

ベストアンサー1

アプローチの問題は、ソフトウェアをアンインストールするときに削除する必要があるファイルを特定することです。

最善の方法は、配布用のパッケージを構築することです。これにはいくつかの利点があります。パッケージを簡単にインストール、アップグレード、および削除できます。これにより、別々のコンピュータでソフトウェアをコンパイルできるため、各コンピュータにコンパイラをインストールする必要はありません。アップストリームが別のバージョン/リリースに移動すると、パッケージを簡単にアップグレードできます。さらに、ルートなしでソフトウェアを構築できます。

rpmbuildと仕様ファイルの使い方を学ぶ前に、私が使用した迅速で汚れた作業は次のとおりです。

./configure
make
make DESTDIR=/tmp/build install

これにより、「インストールされた」すべてのファイルが正しいインストールツリーとともに/ tmp / buildディレクトリに配置されます。次に、ディレクトリ内のすべてのファイルの所有者/グループを変更します。それから:

tar cvfj <filename> -C /tmp/build/

インストールするには: tar xvf <filename> -C / 削除するには: tar tf <filename> | xargs rm

おすすめ記事