yum、apt-get、rpm、。/ configure && make installの違いは何ですか?


126

私はLinuxが初めてで、CentOSを実行しています。ソフトウェアを更新またはインストールする方法は4つあります。

これまでに、私は見ました:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz->-> unpack-> ./configure-> make->make install

最後の1つは特にプログラムのインストールがワンクリックであり、インストールウィザードが優れているWindowsの場合、特に大きな痛みです。

だから、私の質問は:

  • Linuxでこれを行うためのさまざまな方法があるのはなぜですか?
  • どちらを使用することをお勧めしますか?その理由は何ですか?
  • Linuxにプログラムをインストールする他の方法はありますか?

また、yumvs はどうですかup2date。違いがはっきりしていません。
ジョシュ

apt-getDebianのためのもので、実際に.... CentOSの上に表示されてはならない
カイルストランド

回答:


114

これらのツールはすべてシステムにソフトウェアをインストールしますが、さまざまなレベルで機能しています。

  • ./configure && make install

    実行./configure && make installすると、ソースコードから直接ライブラリまたは実行可能ファイルがビルドおよびインストールされます。

    このmake installステップは基本的に最終ファイルをシステムにコピーするだけです。多くのソースには、make uninstallそれらを再び削除するための特別なルールがありますが、これは保証されておらず、もちろん設定されたソースがある限り機能します。また、これは必要な依存関係を考慮しません。

    多くの場合、特定のパッケージで使用できるソースコードのみがあるため、これが唯一の方法です。また、./configure通常、多くのオプションを受け入れて、パッケージを調整できます。

    どのソフトウェアがどのファイルをインストールしたかを見つけられないこと、およびシステムからそれらを削除する信頼できる方法がないことが、このアプローチの大きな欠点です。

  • RPM(Redhat Package Manager)

    rpmシステムにすでに構成およびコンパイルされたソフトウェアをインストールします。また、それを再度削除するためのアンインストールが付属しています。パッケージは誰かが作成する必要があります。この担当者は、含める機能と、パッケージをシステムレイアウトに最適に統合する方法を既に決定しています。また、依存関係のリストも付属しています。

    RPMは多くのディストリビューションで使用されているため、多くの場合、インストールパス、依存関係、その他のハウスキーピングがうまく統合されるように、このRPMがディストリビューション用に作成されていることを確認する必要があります。

    Debianシステムでは、同等のパッケージ形式はで.debあり、インストールとデータベースはdpkgツールによって処理されます。

  • ヤム

    yumはの追加ラッパーrpmです。一般にオンラインリポジトリで、ディストリビューションで使用可能なrpmファイルの独自のデータベースを保持します。ほとんどのディストリビューションの安定バージョンでは、そのデータベース内のすべてのパッケージが互いにうまく機能します。このデータベースは検索できます(たとえば、yum search some_name)。

    また、依存関係を自動的に解決します。パッケージ(およびいくつかの追加の助けを借りて、パッケージの依存関係)も簡単にアンインストールできます。

    Debianシステムでは、同等のリポジトリと依存関係解決ツールがApt(apt-getおよびaptitude)によって提供されます。

要約すると、ソフトウェアが必要な場合はyum最初に試してください。そこで利用できない場合は、既存のrpmパッケージを探してみてください。ない場合、または特別な要件がある場合は、ソースからビルドします。


ほぼ私が言っていたこと。debianの同等物の言及に追加し、フォーマットを修正しました。
いんちきのキホーテ

2
@quack:ありがとう。しかし、私たち全員がただ騒ぎ立てることはできませんapt-getか?
ベンジャミンバニエ

2
あなたは正しい、適性はおそらく推薦するべきよりよい物です; 私は付属のapt-getを、それが広く呼ばているため、と知らない読者aptitudeはのことを聞いたことがありapt-getを
いんちきキホーテ

4
apt-getの何が問題になっていますか?
再帰的

5
@recursive:ある時点でapt-get自動依存関係を記録せず、アンインストール後にそれらを残しましたが、aptitude適切な依存関係の追跡を導入しました。さらに、で利用できない追加機能も提供しましたapt-get。確かではありませんが、その機能の多くを提供する同じ高度なバックエンドを使用するために、いつかどこで更新されるapt-getと思いaptitudeます。
ベンジャミンバニエ

5

YumはRPMです。ただし、yumはパッケージをネットから自動的に取得し、rpm -i1ステップで(を使用して)インストールします。更新を容易にするために、可能な限り使用する必要があります。rpmによって検出されるパッケージがない場合にのみ使用しyum、使用make可能な.rpmパッケージがない場合、またはいくつかのコンパイル時オプションを変更する必要がある場合にのみメソッドを使用します。

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