linux – yum, apt-get, rpm, ./configure && make install の違いは何ですか?

installation linux package-management rpm yum

私はLinuxの初心者で、CentOSを実行しています。私は、ソフトウェアを更新またはインストールするための4つの方法に出くわしました

今のところ、私は見てきました

  • yum install [プログラム]をインストールします
  • apt-get install [プログラム]をインストールします
  • rpm -i [プログラム].rpm
  • wget [program].tar.gz -> unpack -> ./configure -> make -> make install

特にWindowsの場合は、プログラムのインストールは通常ワンクリックで、インストールウィザードを使って行うことになります

それで、私の質問は

  • なぜLinuxではこんなにもいろいろな方法があるのでしょうか?
  • どれを使うのがおすすめなのか、その理由は?
  • Linuxにプログラムをインストールする他の方法はありますか?

  135  Saif Bechan  2010-03-31


ベストアンサー

これらのツールはすべてシステムにソフトウェアをインストールしますが、異なるレベルで作業しています

  • ./configure && make install

    ./configure && make installを実行すると、ソースコードから直接ライブラリや実行ファイルをビルドしてインストールします

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

    多くの場合、特定のパッケージで利用可能なソースコードしかないので、これが唯一の方法です。また、./configure は通常、パッケージをカスタマイズできるように多くのオプションを受け付けています

    どのソフトウェアがどのファイルをインストールしたかを調べることができないことや、システムからそれらを削除する確実な方法がないことが、このアプローチの大きな欠点です

  • RPM (Redhat Package Manager)

    rpm は、すでに設定されコンパイルされたソフトウェアをシステムにインストールし、それを再び取り除くためのアンインストールも付属しています。パッケージは誰かによって作成されなければなりません。その人は、どのような機能を含めるか、どのようにしてパッケージをシステムレイアウトに統合するのがベストかをすでに決めています。また、依存関係のリストも付属しています

    rpms は多くのディストリビューションで使われているので、インストールパスや依存関係、その他のハウスキーピングがうまく統合されるように、この rpm があなたのディストリビューション用に書かれたものであることを確認したいと思うことが多いでしょう

    Debian システムでは、同等のパッケージフォーマットは .deb であり、インストールとデータベースは dpkg ツールで処理されます

  • Yum

    yumrpm の追加ラッパーです。これは、あなたのディストリビューションで利用可能な rpm ファイルのデータベースを保持します。ほとんどのディストリビューションの安定版では、そのデータベース内のすべてのパッケージがお互いにうまく動作します。このデータベースは検索することができます (yum search some_nameなど)

    また、依存関係を自動的に解決してくれます。パッケージ(とその依存関係のあるパッケージ)も簡単にアンインストールすることができます

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

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

123  Benjamin Bannier  2010-03-31


yum はネットから自動的にパッケージを取得して、(rpm -iを使って)一通りインストールしてくれる点以外は RPM と同じです。更新を容易にするために、可能な限り使用すべきです。rpmyum で見つかるパッケージがない場合にのみ使用し、make メソッドは利用可能な .rpm パッケージがない場合や、コンパイル時のオプションを変更する必要がある場合にのみ使用してください

6  marcusw  2010-03-31


タイトルとURLをコピーしました