yum があるのに、なぜ rpm を使うのでしょうか?

yum があるのに、なぜ rpm を使うのでしょうか?

ご存知のとおり、yum は rpm をベースに構築されたパッケージ管理システムです。これはコマンドライン ユーティリティでもあり、(乱暴に言えば) rpm のより広範なバージョンであり、rpm では解決できない多くの問題 (主な問題は明らかに依存関係) を解決します。rpm コマンドを使用する方が yum よりも適切な場合はありますか?

答え1

rpmコンピュータ上の RPM データベースとやり取りするために使用されます。これにより、データベースの現在の状態を確認したり、パッケージを検証したり、インストールされているソフトウェアの依存関係を確認したりすることができます。

yumローカル操作の多くに を使用しますrpm(実際には、rpm Python ライブラリを使用します) が、コマンドがrpm実行できる機能のうち、ソフトウェアのインストール、更新、削除に関連する機能のみを実行できます。 yumまた、ローカルおよびリモートのソフトウェア リポジトリと通信し、依存関係グラフを生成してソフトウェア パッケージを管理することもできますが、これは rpm では実行rpmできません。

答え2

rpmは多くの機能を実行しますが、そのうちのいくつかだけが に置き換えられますyum。たとえば、インストールされたパッケージの検証 ( --verify) などです。yumと のrpmマニュアル ページを比較してください。

答え3

yum の新しいバージョンでは、トランザクション (パッケージのインストールまたは削除) によって変更されるのは rpmdb だけではないため、yum の背後で rpm を直接使用して変更するのは実際に有害です。また、そうすると yum からエラーが発生します。

rpm でできて yum ではできないこととして思いつくのは、パッケージへの署名 (rpm -K) だけです...ただし、一部の操作は若干高速になる可能性があり、明らかに、人々がより良く/簡単に覚えられるものもあります。

答え4

yumの前に、まずrpmを使っていくつかの準備作業を行う場合もあります。良い例は次の通りです。マイグレーション

(1) rpm -iv mysql-community-release-el6-5.noarch.rpm

この時点で、mysql/yum リポジトリの準備が整い、メインの mysql と残りのオプション パッケージを取得するために yum のみに頼ることができるようになります。

(2) yum install mysql-community-server

詳細を見る:

http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/index.html

関連情報