はじめに
RPMとYUMは、RedHatベースのLinuxディストリビューション用に作成されたパッケージ管理システムです。パッケージ管理システムは、パッケージのインストール、更新、および削除を自動化するために使用されるツールのコレクションです。
2つのパッケージマネージャーには類似点がありますが、主に機能が異なります。
この記事では、RPMとYUMの違いについて学習します。

RPMとは
RPMは、1995年にRedHatによって開発されたコマンドラインパッケージマネージャーです。パッケージマネージャーは、RedHatベースのシステムで動作するように設計されています。現在、RPMは、CentOS、Fedora、Oracle Linux、openSUSE、Mageiaなどを含む多くのLinuxディストリビューションのコアコンポーネントです。
RPMパッケージマネージャーを使用すると、ユーザーはパッケージのクエリ、検証、インストール、アップグレード、および削除を行うことができます。 主な欠点 パッケージの依存関係やパッケージの自動更新は解決されないということです。
YUMとは
YUM( Y ellow Dog U pdater、 M odified)は、RPMパッケージマネージャーを使用するオープンソースのLinuxパッケージ管理アプリケーションです。このフロントエンドRPMツールを使用すると、ユーザーは公式およびサードパーティのリポジトリを検索し、システムからパッケージをインストール、更新、または削除できます。
YUMは、 /etc/yum.repos.d/*.repoにリストされているオンラインリポジトリで動作します ファイル。さらに、このツールを使用すると、ユーザーは独自の*。repoを追加できます。 ファイル。
RPMに対するYUMの利点は、自動更新、簡単なパッケージ管理、および依存関係管理です。
RPMとYUM

RPMとYUMの両方がパッケージをインストールし、情報をデータベースに保持し、基本的なコマンドライン機能を提供します。ただし、2つのパッケージマネージャーにはいくつかの違いがあります。
次の表は、主なRPMとYUMの違いの概要を示しています。 :
パラメータ | RPM(Red Hat Package Manager) | YUM(Yellow Dog Updater、変更済み) |
---|---|---|
オリジン | 1997年にRedHatによって導入されました。 | 2003年にYUPからYUMにアップグレードされました。 |
定義 | 基本的な機能を備えた低レベルのパッケージマネージャー。 | 高度な機能を備えたトップレベルのフロントエンドパッケージマネージャー。 |
依存関係 | 依存関係を解決しません。 | パッケージの依存関係を自動的に解決してインストールします。 |
パッケージのインストール | 複数のパッケージバージョンをインストールできます。 ただし、一度にインストールできるパッケージは1つだけです。 | 複数のパッケージバージョンをインストールすることはできません。リポジトリで利用可能なパッケージのみをサポートし、すでにインストールされているパッケージを表示します。 一方、YUMは複数のパッケージを同時にインストールできます。 |
アップグレード | RPMは自動アップグレードをサポートしていません。 | YUMを使用すると、利用可能な最新バージョンに自動的にアップグレードできます。 |
リポジトリのサポート | RPMは、パッケージのインストールにオンラインリポジトリを使用しません。代わりに、正確なローカル .rpmが必要です。 インストールを完了するためのパッケージパス。 | YUMは、パッケージのインストールをオンラインリポジトリに依存しています。ユーティリティにはパッケージ名のみが必要です。 |
自律性 | RPMは自律的であり、独自のデータベースを利用してシステム上のパッケージに関する情報を保持します。 | YUMは、パッケージ管理にRPMパッケージマネージャーを使用するフロントエンドユーティリティです。ユーティリティは、バックエンドでRPMデータベースも使用します。 |
使いやすさ | RPMパッケージの管理と処理は複雑になることがあります。 | RPMパッケージを管理する最も簡単な方法です。 |
ロールバック | RPMは変更のロールバックをサポートしていません。 | YUMを使用すると、変更をロールバックできます。 |
依存関係
最大のRPM 欠点は、必要なパッケージの依存関係をフェッチしないことです。 インストール中。 RPMは、リポジトリを使用せずに情報を含むパッケージをインストールするため、依存関係を解決できません。したがって、ユーザーはパッケージの依存関係を手動で把握する必要があります。
RPMは自動的に追加されたパッケージに関する情報を保持しないため、RPMを使用してパッケージを削除するときに、削除する依存関係を見つける方法もありません。
さらに、別のプログラムに必要なパッケージを削除する場合を除いて、パッケージを削除する前にプロンプトは表示されません。その場合、RPMはエラーメッセージを出力し、削除を防ぎます。
YUM パッケージの依存関係ツリーをスキャン、検知、自動的に解決できます 。つまり、YUMは、プログラムが正しく機能するために必要な追加のパッケージを自動的にフェッチします。 YUMは、 depsolver
を使用して依存関係を解決します 、パッケージ依存関係管理ライブラリ。このツールを使用すると、オンラインリポジトリから依存関係を取得し、必要なパッケージをインストールします。
パッケージのインストール
YUM バッチインストールを実行する場合、RPMよりもはるかに優れたオプションです。 YUMはオンラインリポジトリを利用しているため、パッケージ名のみが必要です。 YUMはパッケージと必要な依存関係を自動的にインストールします 。
たとえば、 yum
を使用してCentOS8にMySQLサーバーをインストールします。 パッケージ名のみが必要です:

ユーティリティはMySQLサーバーをインストールし、すべての依存関係を自動的に解決します。
YUMの欠点は、複数のパッケージバージョンをインストールできないことです。また、リポジトリで利用可能なパッケージのみをサポートします。
RPM 複数のパッケージとバージョンをインストールできますが、 .rpmを含む完全なファイル名が必要です。 拡大。それでも、インストールされたパッケージの依存関係は解決されません。
例:

RPMは指定されたパッケージをインストールし、インストールされていない依存関係があることを示すエラーを出力します。
アップグレード
パッケージのアップグレードは通常、より多くの機能、バグ修正、または不要な機能の削除をもたらします。 RPMはパッケージのアップグレードを自動的に処理できず、パッケージごとに個別のアップグレードが必要です。 RPMのアップグレードプロセスには、RPMファイルのダウンロードが含まれます。これは、新しいパッケージのインストールと同様です。
一方、YUMはインストールされたパッケージをスキャンし、アップグレードが利用可能かどうかをユーザーに通知します。 YUMは、オンラインリポジトリを使用してパッケージを自動的にアップグレードします。
リポジトリサポート
RPMはリポジトリをサポートしていないため 、パッケージをインストールするには、完全なパッケージファイル名と場所が必要です。 RPMは、インストールされたパッケージの内部データベースを保持し、後でパッケージ名を使用してインストールされたパッケージを管理できるようにします。
一方、YUMを使用してパッケージをインストールする場合は、パッケージ名のみが必要であり、パッケージの場所は必要ありません。このツールは、リポジトリファイルにリストされているリポジトリを /etc/yum.repos.d/から検索します。 ディレクトリを作成し、利用可能な最新のパッケージバージョンをインストールします。
自律性
RPMはスタンドアロンのパッケージマネージャーです これには、適切なパッケージのインストールまたは削除に必要なすべての情報(ファイルリスト、アクセス許可、スクリプトなど)が含まれています。データはRPMpythonライブラリに含まれています。
一方、YUMはほとんどのローカル操作にRPM pythonライブラリを使用しており、それなしでは機能できません 。つまり、YUMはスタンドアロンのパッケージマネージャーではありませんが、RPMに加えて追加の機能を提供します。