Product SiteDocumentation Site

第4章 Yum

4.1. パッケージの確認と更新
4.1.1. 更新の確認
4.1.2. パッケージの更新
4.1.3. 設定ファイル変更の保存
4.2. パッケージとパッケージ グループ
4.2.1. パッケージの検索
4.2.2. パッケージの一覧
4.2.3. パッケージ情報の表示
4.2.4. パッケージのインストール
4.2.5. パッケージの削除
4.2.6. 処理とトランザクションの履歴
4.3. Yum と Yum リポジトリーの設定
4.3.1. [main] オプションの設定
4.3.2. [repository] オプションの設定
4.3.3. Yum 変数の使い方
4.3.4. 現在の設定の表示
4.3.5. Yum リポジトリの追加・有効化および無効化
4.3.6. Yum リポジトリーの作成
4.4. Yum プラグイン
4.4.1. Yum プラグインの無効化、有効化、設定
4.4.2. 追加の Yum プラグインのインストール
4.4.3. プラグインの説明
4.5. その他のリソース
Yum は、パッケージに関する情報を問い合わせる、リポジトリからパッケージを取得する、自動的に依存解決を使用してパッケージをインストールおよびアンインストールする、システム全体を最新の利用可能なパッケージに更新することができる、The Fedora Project パッケージマネージャーです。Yum は更新、インストール、削除しているパッケージの依存解決を自動的に実行します。このように、利用可能な依存するパッケージをすべて自動的に決定、取得、インストールできます。Yum は新規リポジトリ、追加リポジトリ、またはパッケージソースを用いて設定できます。また、機能を向上および拡張させる多くのプラグインも提供します。Yum は RPM ができるのと同じ作業の多くを実行できます。さらに、同様のコマンドラインオプションを持ちます。Yum は単独のマシンまたはそれらのグループにおいて簡単でシンプルなパッケージ管理をできるようにします。

GPG 署名パッケージを用いたセキュアなパッケージ管理

Yum は GPG 署名されたパッケージにおいて GPG (Gnu Privacy Guard、GnuPGとしても知られています) 署名の検証を、すべてのパッケージリポジトリまたは個々のリポジトリに対して有効にすることによりセキュアなパッケージ管理を提供します。署名検証が有効にされたとき、Yum はリポジトリに対して正しいキーを用いて GPG 署名されていないあらゆるパッケージをインストールすることを拒否します。つまり、The Fedora Project のような信頼されたソースからシステムにダウンロードしてインストールして、転送中に変更されていないことを信頼できます。Yum を用いて署名検証を有効にすることに関する詳細は「Yum と Yum リポジトリーの設定」を参照してください、または一般に GPG 署名された RPM パッケージを検証することについては「パッケージの署名を確認する」を参照してください。
Yum は他のマシンにある RPM パッケージのダウンロードとインストールのために自身のリポジトリを簡単に設定することができます。
Yum はシステム管理作業を実行する最も速い方法であり、PackageKit グラフィカルパッケージ管理アプリケーションにより提供されるものを超えた機能を提供するので、Yum を学習することは価値のある投資です。PackageKit の使い方の詳細は5章PackageKitを参照してください。

Yum とスーパーユーザー権限

インストールに yum を使用するためには、スーパーユーザー権限を持っていなければいけません。本章にあるすべての例は、su または sudo コマンドを使用することにより、スーパーユーザー権限をすでに持っていることを前提にしています。

4.1. パッケージの確認と更新

4.1.1. 更新の確認

システムにインストールされているパッケージが利用可能な更新があるかを確認するには、以下のコマンドを使用します
yum check-update
例:
~]# yum check-update
Loaded plugins: langpacks, presto, refresh-packagekit

PackageKit.x86_64                    0.6.14-2.fc15                 fedora
PackageKit-command-not-found.x86_64  0.6.14-2.fc15                 fedora
PackageKit-device-rebind.x86_64      0.6.14-2.fc15                 fedora
PackageKit-glib.x86_64               0.6.14-2.fc15                 fedora
PackageKit-gstreamer-plugin.x86_64   0.6.14-2.fc15                 fedora
PackageKit-gtk-module.x86_64         0.6.14-2.fc15                 fedora
PackageKit-gtk3-module.x86_64        0.6.14-2.fc15                 fedora
PackageKit-yum.x86_64                0.6.14-2.fc15                 fedora
PackageKit-yum-plugin.x86_64         0.6.14-2.fc15                 fedora
gdb.x86_64                           7.2.90.20110429-36.fc15       fedora
kernel.x86_64                        2.6.38.6-26.fc15              fedora
rpm.x86_64                           4.9.0-6.fc15                  fedora
rpm-libs.x86_64                      4.9.0-6.fc15                  fedora
rpm-python.x86_64                    4.9.0-6.fc15                  fedora
yum.noarch                           3.2.29-5.fc15                 fedora
上の出力にあるパッケージは利用可能な更新があるものとして一覧化されています。一覧にある最初のパッケージは PackageKit というグラフィカルパッケージマネージャーです。出力例にある行は次のことを意味します:
  • PackageKit — パッケージの名前
  • x86_64 — パッケージがビルトされた対象の CPU アーキテクチャー
  • 0.6.14 — インストールされる更新パッケージのバージョン
  • fedora — 更新パッケージが置かれているリポジトリー
カーネル(kernel パッケージ)、Yum および RPM 自身(yum および rpm パッケージ)だけでなく、その依存物(kernel-firmware, rpm-libs, および rpm-python パッケージのような)をすべて yum を使用して更新できることを出力は示しています。

4.1.2. パッケージの更新

単一パッケージ、複数パッケージまたは全パッケージを一度に更新することを選べます。更新するパッケージに依存するあらゆるものに利用可能な更新があれば、それらも更新されます。

シンプルなパッケージの更新

root で次のコマンドを実行し、ひとつのパッケージを更新します:
yum update package_name
たとえば、udev パッケージを更新するには、次のとおり入力します:
~]# yum update udev
Loaded plugins: langpacks, presto, refresh-packagekit
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package gdb.x86_64 0:7.2.90.20110411-34.fc15 will be updated
---> Package gdb.x86_64 0:7.2.90.20110429-36.fc15 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package     Arch         Version                          Repository      Size
================================================================================
Updating:
 gdb         x86_64       7.2.90.20110429-36.fc15          fedora         1.9 M

Transaction Summary
================================================================================
Upgrade       1 Package(s)

Total download size: 1.9 M
Is this ok [y/N]:
この出力は関心がある項目をいくつか含んでいます:
  1. Loaded plugins:yum はインストールされて有効にされている Yum プラグインを必ず通知します。ここでは、yumlangpacks, presto, および refresh-packagekit プラグインを使用しています。Yum プラグインに関する一般的な情報は「Yum プラグイン」を参照してください、または特定のプラグインの説明は「プラグインの説明」を参照してください。
  2. gdb.x86_64 — 新しい gdb パッケージのダウンロードとインストールができます。
  3. yum は、更新の情報を表示して、更新を実行したいかどうかを確認します。yum はデフォルトで対話的に動作します。どのトランザクションが実行する yum 計画をすでに知っているならば、yum が尋ねてくる質問にすべて yes を答えるように -y オプションを使用できます(非対話的に実行する場合です)。しかしながら、発生したあらゆる問題を簡単にトラブルシューティングできるように、どのような変更がシステムに対して行われるか yum 計画を常に確認すべきです。
    トランザクションがうまくいかなければ、「処理とトランザクションの履歴」 に説明されているように yum history コマンドを使用することにより、 Yum のトランザクション履歴を表示することができます。

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 コマンドを拡張します。具体的な情報は「プラグインの説明」を参照してください。

4.1.3. 設定ファイル変更の保存

あなたは自分の Fedora システムを使用するので、パッケージによりインストールされた設定ファイルに必ず変更するでしょう。Yum がシステムに変更を実行するために使用する RPM は、それらの完全性を保証するためのメカニズムを提供します。パッケージの更新をまたがり設定ファイルへの変更を管理する方法の詳細は「インストールとアップグレード」を参照してください。