ソースからコンパイルするか、.debパッケージからインストールする方が良いですか?


18

インターネットからソフトウェアをダウンロードするときに、Debian / Ubuntuとtarballをコンパイルするための.debパッケージが用意されていることがあります。初めは、インストールを簡単にするためにパッケージを使用するだけで、あえてコンパイルしようとはしませんでした。それの音でさえ私は少し怖かった。しかし、最近では、オプションがある場合、ジレンマに陥ることがあります。.debパッケージと比較して、ソースからコンパイルすることには不利な利点がありますか?ここで知りたいと思います、ありがとう。

回答:


24

ソースからコンパイルすることの利点は、特定のフラグ/オプションを使用してパッケージをコンパイルできることです。これらのオプションは、ストック標準のUbuntuパッケージでは欠落または無効になっている場合があります。また、同じプログラムの複数のバージョンを簡単にインストールできます。また、Ubuntuリポジトリからすでに削除されているか、まだ存在しないパッケージの正確なバージョンを選択できます(例:古いものを実行する必要があるため、/ opt /ディレクトリにPython 2.4.xのいくつかのバージョンがありますソフトウェア)。

ソースからコンパイルすることの欠点は、.debをビルドしてインストールしない限り、通常の「./configure; make; sudo make install」手順では、Ubuntuのパッケージマネージャーが変更内容を完全に認識しないため、 '手動でコンパイルされたソフトウェアの更新を取得しません。また、パッケージマネージャーを別の場所にインストールすることに注意を払わないと、パッケージマネージャーが後でパッケージを上書き/破損する可能性があります。

つまり、最初に標準のUbuntuリポジトリからインストールすることを常に検討し、次に.debをインストールすることを検討してください。これを行う必要がある理由が正確にわかっている場合にのみ、ソースからコンパイルしてください。


パッケージのパフォーマンスが異なる可能性があること、コンパイルされたとき、現在のカーネルとのより良い互換性の種類も読みました。個人的にはベンチマークしませんでした。
フェディルRYKHTIK

@Fedir:カーネルがこれと関係があるかどうかはわかりませんが、それはむしろプロセッサアーキテクチャです-たとえば、多くのディストリビューションには、Pentium用のプログラムを手動でコンパイルするときに80386命令セットでコンパイルされたパッケージが含まれていたため、より効率的な指示を使用します。このため、ホストマシン上のソースからコンパイルされたGentooなどのディストリビューション全体があります。ただし、違いは通常最小限であり、非常に特定のアプリケーションでのみ認識できます。
セルゲイ

1
make installの代わりにcheckinstallを使用すると、前述の多くの欠点が軽減されることに注意してください。help.ubuntu.com/community/CompilingEasyHowTo
ndemou

1
@EliahKaganを選んで申し訳ありませんが、virtualenvは素晴らしいですが、異なるライブラリがインストールされた複数のPython 環境を維持するためのものです。特定のバージョンのPythonが必要な場合は、特定の設定でコンパイルします-実際のバイナリを.debからインストールするか、ゼロからコンパイルする必要があります。
セルゲイ

@セルゲイその通りです。(そして、私はあなたがnitpickiingと言った何も表示されない- !私は間違っていると誤解を招くコメントを謝る必要がありますどちらかといえば)私はそれが経営者のようなパッケージを理解したようcondaに自動的になります仮想環境を作り、彼らのためのPythonの異なるインストールをインストールし、プロジェクトごとのバージョンの作成と維持。しかし、あなたが言うように、virtualenv自体はこれを行いません。
エリアケイガン

1

昨日これについて議論していました。壊れやすいものを作らないことが非常に重要だと思います。特に壊れやすいシステムで作業している場合は、最新のものや優れたドキュメントなどがないことがわかっているため、火を消して書く時間はありませんドキュメント、およびすべてが堅牢である場合、ドキュメントはそれほど必要ありません。したがって、ソースからコンパイルしたり、別のソリューションを見つけたり、別のソフトウェアを使用したり、アーキテクチャを変更したりすることは絶対にしないでください。ただし、更新後に壊れるようなものは使用しないでください。そして、はい、それはカーネルバージョンとは何の関係もありません、それはあなたのマシンのアーキテクチャに関するものであり、今日ではソースコードからコンパイルすることで大きな違いを得ることがほとんどできません。


0

.debをインストールすることは確かにはるかに簡単ですが、可能であれば、更新を提供できるようにレポまたはppaで見つけることをお勧めします。

知る限り、最初に変更する予定がない限り、自分でコンパイルすることには本当の利点はありません。ソフトウェアをそのまま使用する場合は、.debをインストールします

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.