GNU/Linux >> Linux の 問題 >  >> Ubuntu

RPMとYUM:違いを学ぶ

はじめに

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は、パッケージ管理にRP​​Mパッケージマネージャーを使用するフロントエンドユーティリティです。ユーティリティは、バックエンドで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に加えて追加の機能を提供します。


Ubuntu
  1. Linux の rpm コマンドで使用される -i オプションと -U オプションの違いは何ですか?

  2. Yum Package Manager から FreeTDS をインストールできない

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

  1. RPMコマンド

  2. コマンドがCentOSで属するパッケージを検索します

  3. rpm -ivh <package> と yum install <package> の違い

  1. [[$ a ==Z*]]と[$a==Z *]の違いは?

  2. yum パッケージがインストールされたパスの決定

  3. ファイル競合の yum トランザクション チェックを無効にする