Show Table of Contents
第6章 Yum
Yum は Red Hat パッケージマネージャーです。Yum は、パッケージ情報に関するクエリ、リポジトリからのパッケージのフェッチ、パッケージのインストールとアンインストール、さらには利用可能な最新バージョンへのシステム全体の更新を行うことができます。Yum は、更新/インストール/削除を実行しているパッケージで依存関係の自動解決を行います。そのため、利用可能なすべての依存パッケージを自動的に決定/フェッチ/インストールすることができます。
Yum は、新しい追加のリポジトリまたは パッケージソース を使って設定することができ、機能を向上して拡張する多くのプラグインも提供します。また、Yum は RPM が実行できる多くの同じタスクを行うことができます。さらに、多くのコマンドラインオプションも似ています。Yum を使うことで、1 つのマシンまたはマシンのグループ上でのパッケージ管理を簡単かつシンプルに行うことができます。
重要
Yum は、GPG (Gnu Privacy Guard: 別名 GnuPG) 署名付きのパッケージの GPG 署名照合をすべてのパッケージリポジトリ (パッケージソース) または個々のリポジトリに有効にすることで、セキュアなパッケージ管理を実現します。署名照合が有効な場合、Yum はリポジトリに対して GPG 署名がない不正確なキーを持つパッケージのインストールを拒否します。これにより、ご使用のシステムにダウンロードしてインストールする RPM パッケージが Red Hat などの信頼されたソースからのものであり、移行中に変更されていないことが信用できます。Yum を使用して署名照合を有効にする方法については、「Yum と Yum リポジトリの設定」 を参照して下さい。また、GPG 署名付きの RPM パッケージ全般の使用及び検証方法に関しては 「パッケージの署名確認」 を参照して下さい。
Yum を使用すると、他のマシンへダウンロード/インストールするための RPM パッケージのリポジトリを簡単に設定することができます。
Yum を使用するとシステム管理タスクを最速で実行できることが多いため、習得する価値は十分にあります。また、Yum は PackageKit グラフィカルパッケージ管理ツールが実現できる以上の機能を提供します。PackageKit の使用に関する詳細は、7章PackageKit を参照して下さい。
注記
yum を使用して、システムにパッケージをインストール/更新/削除するにはスーパーユーザー権限が必要です。本章のすべての例では、su または sudo コマンドを使用することでスーパーユーザー権限をすでに持っていると仮定しています。
6.1. パッケージの確認と更新
6.1.1. 更新の確認
使用しているシステムに利用可能な更新があるインストール済みのパッケージを確認するには、以下のコマンドを実行します:
yumcheck-update
例:
~]# yum check-update
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
PackageKit.x86_64 0.5.8-2.el6 rhel
PackageKit-glib.x86_64 0.5.8-2.el6 rhel
PackageKit-yum.x86_64 0.5.8-2.el6 rhel
PackageKit-yum-plugin.x86_64 0.5.8-2.el6 rhel
glibc.x86_64 2.11.90-20.el6 rhel
glibc-common.x86_64 2.10.90-22 rhel
kernel.x86_64 2.6.31-14.el6 rhel
kernel-firmware.noarch 2.6.31-14.el6 rhel
rpm.x86_64 4.7.1-5.el6 rhel
rpm-libs.x86_64 4.7.1-5.el6 rhel
rpm-python.x86_64 4.7.1-5.el6 rhel
udev.x86_64 147-2.15.el6 rhel
yum.noarch 3.2.24-4.el6 rhel
上記の出力に表示されているパッケージには、利用可能な更新があります。一覧の最初のパッケージは、PackageKit と呼ばれるグラフィカルパッケージマネージャーです。その行の意味は以下のとおりです。
PackageKit— パッケージの名前x86_64— パッケージがビルドされた CPU アーキテクチャー0.5.8— インストールされる更新済みパッケージのバージョンrhel— 更新済みのパッケージがあるリポジトリ
また、上記の出力は、カーネル (kernel パッケージ)、Yum および RPM (yum および rpm のパッケージ)、さらにはそれらの依存関係 (kernel-firmware、rpm-libs、rpm-python のパッケージ) をすべて
yum を使って更新できることも示しています。
6.1.2. パッケージの更新
1 回に更新するパッケージ数を 1 つ、複数、またはすべてのパッケージから選択することができます。更新するパッケージの依存関係 (またはパッケージ) に利用可能な更新がある場合は、それらも更新されます。
単一パッケージの更新
単一パッケージを更新するには、
root で以下のコマンドを実行して下さい:
yumupdatepackage_name
例として、udev パッケージを更新するには以下のとおり入力します:
~]# yum update udev
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package udev.x86_64 0:147-2.15.el6 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
===========================================================================
Package Arch Version Repository Size
===========================================================================
Updating:
udev x86_64 147-2.15.el6 rhel 337 k
Transaction Summary
===========================================================================
Install 0 Package(s)
Upgrade 1 Package(s)
Total download size: 337 k
Is this ok [y/N]:
この出力には興味を引く項目が数点あります。
Loaded plugins: product-id, refresh-packagekit, subscription-manager—yumは、どの Yum プラグインがインストールされ有効であるかを常に通知します。Yum プラグインに関する全般情報は 「Yum のプラグイン」 を参照してください。また、個別のプラグインに関する説明は 「プラグインの詳細」 を参照してください。udev.x86_64— 新しい udev パッケージをダウンロードしてインストールできます。yumは、更新情報を表示して、更新を実行したいかどうかを確認します。yumはデフォルトではインタラクティブに実行します。yumコマンドがどのトランザクションを実行するかが事前に分かっている場合は、-yオプションを使用して、yumが行うすべての質問にyesと自動回答するように設定できます (この場合はノンインタラクティブに実行されます)。ただし、yumがシステムに実行しようとしている変更を常に調べることをお勧めします。そうすることで、起こり得る問題を簡単に解決することができます。トランザクションが正しく行われなかった場合は、yum historyコマンドを使用して 「トランザクション履歴の活用」 にあるように Yum のトランザクション履歴を閲覧することができます。
重要
rpm -i kernel のコマンドを使用すると、RPM が新しいカーネルをインストールするのと同じように、yum は常に新しいカーネルを インストール します。そのため、yum を使用する場合は、カーネルパッケージの インストール と アップグレード の区別について気にする必要はありません。つまり、yum update か yum install のコマンドどちらを使用するかに関わらず正しく実行します。
一方で、RPM を使用する場合は、
rpm -u kernel (現在のカーネルと 置換) の代わりに、rpm -i kernel コマンド (新しいカーネルのインストール) を使用することが重要です。RPM を使ったカーネルのインストール/アップグレードについての詳細は、「インストールとアップグレード」 を参照してください。
すべてのパッケージとそれらの依存関係の更新
すべてのパッケージとそれらの依存関係を更新するには、
yum update と (引数なしで) 入力するだけです:
yum updateセキュリティ関連パッケージの更新
どのパッケージに利用可能なセキュリティの更新があるのかを見つけ出し、そうしたパッケージを迅速かつ簡単に更新することは重要です。このため、Yum はプラグインを提供します。security プラグインは、
yum コマンドを非常に便利なセキュリティ中心のコマンド、サブコマンド、オプションのセットにより拡張します。具体的な情報は 「プラグインの詳細」 を参照して下さい。
6.1.3. 設定ファイルの変更の保存
Red Hat Enterprise Linux システムを使用していると、パッケージによりインストールされた設定ファイルに変更を加える必要がでてきます。システムに変更を加えるために Yum が使用する RPM には、整合性を確保する仕組みが備わっています。パッケージのアップグレード全般に渡る設定ファイルへの変更を管理する方法の詳細については、「インストールとアップグレード」 を参照して下さい。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.