Red Hat Training

A Red Hat training course is available for Red Hat Linux

6.4.3. プラグインの詳細

以下の一覧は、便利な Yum プラグインの詳細です。
fs-snapshot (yum-plugin-fs-snapshot)
fs-snapshot プラグインは、システムの更新やパッケージ削除などのトランザクションを続行する前に、Yum を拡張してファイルシステムのスナップショットを作成します。これにより、トランザクションにより加えられた変更が望ましくない場合は、ユーザーはスナップショットに格納された変更まで遡ることができます。
プラグインが機能するには、root のファイルシステム (/) は LVM (論理ボリュームマネージャー) か Btrfs ボリュームにある必要があります。LVM ボリュームで fs-snapshot プラグインを使用するには、以下の手順を実行します。
  1. root のファイルシステムがあるボリュームグループに十分な空きエクステントがあることを確認します。必要なサイズは、スナップショットの使用中に予想される元の論理ボリュームへ加わる変更の大きさの関数です。適当なデフォルトは、元の論理ボリュームサイズの 50–80 % です。
    特定のボリュームグループに関する詳しい情報を表示するには、以下の形式で root として vgdisplay コマンドを実行して下さい:
    vgdisplay volume_group
    空きエクステントの数は Free PE / Size の行に記載されています。
  2. root のファイルシステムがあるボリュームグループに十分な空きエクステントがない場合は、新しい物理ボリュームを追加します。
    1. 以下の形式で rootpvcreate コマンドを実行して、論理ボリュームマネージャーで使用するために物理ボリュームを初期化します:
      pvcreate device
    2. 以下の形式で rootvgextend コマンドを使用して、ボリュームグループに物理ボリュームを追加します:
      vgextend volume_group physical_volume
  3. /etc/yum/pluginconf.d/fs-snapshot.conf にある設定ファイルを編集して、[lvm] セクションに次の変更を加えます。
    1. enabled オプションの値を 1 に変更します:
      enabled = 1
    2. lvcreate_size_args の行の始めにあるハッシュ記号 (#) を削除して、スナップショットに割り振る論理エクステントの数を調整します。例えば、元の論理ボリュームサイズの 80 % を割り振るには、以下のようにします。
      lvcreate_size_args = -l 80%ORIGIN
    利用可能な設定オプションの全一覧については、表6.3「サポートされている fs-snapshot.conf 指示文」 を参照して下さい。
  4. 変更を確認してトランザクションを続行する前に、希望する yum コマンドを実行して、fs-snapshot がロード済みプラグイン (Loaded plugins の行) の一覧に含まれていることを確認して下さい。fs-snapshot プラグインは、それぞれ影響を受ける論理ボリュームに対して以下の形式で行を表示します:
    fs-snapshot: snapshotting file_system (/dev/volume_group/logical_volume): logical_volume_yum_timestamp
  5. システムが適切に機能していることを確認します。
    • 変更を維持したい場合は、rootlvremove コマンドを実行してスナップショットを削除します:
      lvremove /dev/volume_group/logical_volume_yum_timestamp
    • 変更を元に戻してファイルシステムをスナップショットに保存した状態に復旧させたい場合は、以下の手順を実行します。
      1. 以下の形式で root としてコマンドを実行して、スナップショットを元の論理ボリュームにマージします:
        lvconvert --merge /dev/volume_group/logical_volume_yum_timestamp
        lvconvert コマンドは、変更を反映させるために再起動が必要であると通知します。
      2. 指示どおりにシステムを再起動します。root としてシェルプロンプトで以下を入力します:
        reboot
Btrfs ファイルシステムで fs-snapshot プラグインを使用するには、以下の手順を実行します。
  1. 変更を確認してトランザクションを続行する前に、希望する yum コマンドを実行して、fs-snapshot がロード済みプラグイン (Loaded plugins の行) の一覧に含まれていることを確認して下さい。fs-snapshot プラグインは、それぞれ影響を受けるファイルシステムに対して以下の形式で行を表示します:
    fs-snapshot: snapshotting file_system: file_system/yum_timestamp
  2. システムが適切に機能していることを確認します。
    • 変更を保存する場合は、オプションとして必要ないスナップショットを削除することができます。Btrfs スナップショットを削除するには、root で以下の形式でコマンドを実行します:
      btrfs subvolume delete file_system/yum_timestamp
    • 変更を元に戻してファイルシステムをスナップショットに保存した状態に復旧させたい場合は、以下の手順を実行します:
      1. root として以下のコマンドを使用して、特定のスナップショットの識別子を見つけ出します:
        btrfs subvolume list file_system
      2. デフォルト設定でこのスナップショットをマウントするよう root としてシステムを設定します:
        btrfs subvolume set-default id file_system
      3. システムを再起動します。root としてシェルプロンプトで以下を入力します:
        reboot
Red Hat Enterprise Linux 6 では、Btrfs がテクノロジープレビューとして含まれているため、このファイルシステムで試すことができます。Btrfs は 64-bit x86 アーキテクチャーでのみ利用可能です。重要なデータが含まれるパーティションや重要なシステム動作に不可欠なパーティションには Btrfs を使用しないで下さい。
論理ボリュームの管理、Btrfs、ファイルシステムのスナップショットの詳細については、Red Hat Enterprise Linux 6 Storage Administration Guide (ストレージ管理ガイド) を参照して下さい。プラグインとその設定の追加情報については、yum-fs-snapshot(1) 及び yum-fs-snapshot.conf(5) の man ページを参照して下さい。

表6.3 サポートされている fs-snapshot.conf 指示文

セクション 指示文 詳細
[main] enabled=value プラグインを有効/無効にできます。value1 (有効)/0 (無効) にする必要があります。インストール時には、プラグインはデフォルトで有効です。
exclude=list 特定のファイルシステムを除外できます。値は、スナップショットの実行を 望まない 空白で区切られたマウントポイントの list でなければなりません (例えば /srv /mnt/backup)。このオプションはデフォルトでは設定ファイルに含まれていません。
[lvm] enabled=value LVM ボリュームでのプラグインの使用を有効/無効にできます。value1 (有効)/0 (無効) にする必要があります。このオプションはデフォルトでは無効です。
lvcreate_size_args=value 論理ボリュームスナップショットのサイズを指定できます。value は、lvcreate ユーティリティとそれに続く有効な引数に対する -l または -L コマンドラインのオプションである必要があります (例えば -l 80%ORIGIN)。
kabi (kabi-yum-plugins)
kabi プラグインは、ドライバー更新パッケージが公式の Red Hat kernel Application Binary Interface (kABI) と適合するかどうかを確認します。このプラグインが有効な状態で、ユーザーがホワイトリストにないカーネルシンボルを使用するパッケージのインストールを試行する場合、警告メッセージがシステムログに書き込まれます。さらには、プラグインを enforcing モードで実行するよう設定すると、そうしたパッケージが決してインストールされないようにできます。
kabi プラグインを設定するには、/etc/yum/pluginconf.d/kabi.conf にある設定ファイルを編集して下さい。[main] セクションで使用できる指示文の一覧については、表6.4「サポートされている kabi.conf 指示文」 を参照して下さい。

表6.4 サポートされている kabi.conf 指示文

指示文 詳細
enabled=value プラグインを有効/無効にできます。value1 (有効)/0 (無効) にする必要があります。インストール時には、プラグインはデフォルトで有効です。
whitelists=directory サポートされているカーネルシンボルを持つファイルがある directory を指定できます。デフォルトでは、kabi プラグインは kabi-whitelists パッケージ (/lib/modules/kabi/ ディレクトリ) により提供されるファイルを使用します。
enforce=value enforcing モードを有効/無効にできます。value1 (有効)/0 (無効) にする必要があります。デフォルトでは、このオプションはコメントアウトされ kabi プラグインは警告メッセージのみを表示します。
presto (yum-presto)
presto プラグインは Yum を強化して、presto メタデータが有効なリポジトリから更新中に 差分 RPM パッケージをダウンロードします。差分 RPM に含まれるのは、RPM パッケージを要求するクライアントでインストールされたパッケージのバージョンとリポジトリにある更新済みバージョンの差分のみです。
差分 RPM のダウンロードは、更新済みのパッケージ全体をダウンロードするよりもはるかに迅速で、更新を大幅にスピードアップできます。差分 RPM がダウンロードされたら、現在インストール済みのパッケージに差分を適用して、完全に更新されたパッケージを作成するために RPM をリビルドする必要があります。このプロセスはインストールされたマシンでの CPU の時間を消費します。よって、差分 RPM を使用することは、ネットワーク接続次第であるダウンロードの時間と、CPU バウンドなリビルドの時間とのトレードオフになります。遅いネットワーク接続を使用する高速なマシンとシステムには、presto プラグインを使用することが推奨されます。一方で、非常に高速な接続を使用する遅いマシンには、通常の RPM パッケージをダウンロードする、つまり presto を無効にすることでより利点があります。
product-id (subscription-manager)
product-id プラグインは、Content Delivery Network (コンテンツ配信ネットワーク) からインストールされた製品の製品識別証明書を管理します。product-id プラグインはデフォルトでインストールされています。
protect-packages (yum-plugin-protect-packages)
protect-packages プラグインは、yum パッケージとそれが依存するすべてのパッケージが故意にまたは誤って削除されないようにします。これで、システムを実行するために必要な多くの最重要パッケージが削除されないようにします。加えて、1 行につき 1 つずつパッケージを /etc/sysconfig/protected-packages ファイルに一覧表示できます[2] (そのファイルがなければ作成して下さい)。また、protect-packages はそうしたパッケージも削除されないようにします。
パッケージの保護を一時的に無効にするには、該当する yum コマンドに --override-protection オプションを付けて使用します。
refresh-packagekit (PackageKit-yum-plugin)
refresh-packagekit プラグインは、yum を実行する時はいつでも PackageKit のメタデータを更新します。refresh-packagekit プラグインはデフォルトでインストールされています。
rhnplugin (yum-rhn-plugin)
rhnplugin を使用すると RHN Classic へ接続できます。これにより、RHN Classic に登録しているシステムはこのシステムからパッケージの更新/インストールを行うことができます。Red Hat Enterprise Linux 6 への移行のため、RHN Classic が備わっているのは 旧 Red Hat Enterprise Linux システム (Red Hat Enterprise Linux 4.x、Red Hat Enterprise Linux 5.x 及び Satellite 5.x) のみである点に注意して下さい。rhnplugin はデフォルトでインストールされています。
プラグインの詳細については、rhnplugin(8) の man ページを参照してください。
security (yum-plugin-security)
セキュリティ更新に関する情報を見つけ出して、簡単かつ頻繁に適用することは、どのシステム管理者にとっても重要です。このため、Yum は security プラグインを提供します。このプラグインは、非常に有用なセキュリティ関連のコマンド、サブコマンド及びオプションのセットにより yum を拡張します。
以下のように、セキュリティ関連の更新を確認できます:
~]# yum check-update --security
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Limiting package lists to security relevant ones
Needed 3 of 7 packages, for security
elinks.x86_64                   0.12-0.13.el6               rhel
kernel.x86_64                   2.6.30.8-64.el6             rhel
kernel-headers.x86_64           2.6.30.8-64.el6             rhel
yum update --security または yum update-minimal --security を使用すると、セキュリティアドバイザリーの影響を受けるパッケージを更新することができます。どちらのコマンドとも、セキュリティアドバイザリーが発行されたシステム上の全パッケージを更新します。yum update-minimal --security は、それらをセキュリティアドバイザリーの一部としてリリースされた最新パッケージに更新します。一方で、yum update --security はセキュリティアドバイザリーの影響を受ける全パッケージを 利用可能なパッケージの最新版に 更新します。
言い換えると以下のようになります。
  • kernel-2.6.30.8-16 パッケージがシステムにインストールされており、
  • kernel-2.6.30.8-32 パッケージがセキュリティ更新としてリリースされ、
  • その後、kernel-2.6.30.8-64 がバグ修正の更新としてリリースされた場合は、
yum update-minimal --security によって kernel-2.6.30.8-32 に更新され、yum update --security により kernel-2.6.30.8-64 に更新されます。慎重なシステム管理者であれば、update-minimal を使用して、パッケージを更新することで生じるリスクをできるだけ減らすとよいでしょう。
security プラグインが yum に追加する拡張機能の詳しい使用方法と説明については、yum-security(8) の man ページを参照して下さい。
subscription-manager (subscription-manager)
subscription-manager プラグインを使用すると、Red Hat Network へ接続できます。これで Red Hat Network に登録されたシステムは、証明書ベースのコンテンツ配信ネットワークからパッケージの更新/インストールを行うことができます。subscription-manager プラグインは、デフォルトでインストールされています。
製品のサブスクリプションとエンタイトルメントの管理方法については、5章システム登録およびサブスクリプションの管理 を参照して下さい。
yum-downloadonly (yum-plugin-downloadonly)
yum-downloadonly プラグインは、Red Hat Network または設定した Yum リポジトリからパッケージをインストールせずにダウンロードするのために使用する --downloadonly コマンドラインオプションを提供します。
パッケージをインストールするには、「追加の Yum プラグインのインストール」 の手順に従います。インストール後は、プラグインが有効になっていることを /etc/yum/pluginconf.d/downloadonly.conf ファイルの内容で確認してください。
~]$ cat /etc/yum/pluginconf.d/downloadonly.conf
[main]
enabled=1
以下の例では、yum install --downloadonly コマンドを実行して httpd パッケージの最新バージョンをインストールせずにダウンロードします。
~]# yum install httpd --downloadonly
Loaded plugins: downloadonly, product-id, refresh-packagekit, rhnplugin,
              : subscription-manager
Updating Red Hat repositories.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-9.el6_1.2 will be updated
---> Package httpd.x86_64 0:2.2.15-15.el6_2.1 will be an update
--> Processing Dependency: httpd-tools = 2.2.15-15.el6_2.1 for package: httpd-2.2.15-15.el6_2.1.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.2.15-9.el6_1.2 will be updated
---> Package httpd-tools.x86_64 0:2.2.15-15.el6_2.1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch      Version                 Repository               Size
================================================================================
Updating:
 httpd          x86_64    2.2.15-15.el6_2.1       rhel-x86_64-server-6    812 k
Updating for dependencies:
 httpd-tools    x86_64    2.2.15-15.el6_2.1       rhel-x86_64-server-6     70 k

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

Total download size: 882 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): httpd-2.2.15-15.el6_2.1.x86_64.rpm                | 812 kB     00:00     
(2/2): httpd-tools-2.2.15-15.el6_2.1.x86_64.rpm          |  70 kB     00:00     
--------------------------------------------------------------------------------
Total                                           301 kB/s | 882 kB     00:02     


exiting because --downloadonly specified
デフォルトでは、--downloadonly オプションを使用してダウンロードされたパッケージは、Red Hat Enterprise Linux のバリアントやアーキテクチャーに応じて /var/cache/yum ディレクトリのサブディレクトリに保存されます。
パッケージを保存する別のディレクトリを指定したい場合は、--downloadonly とともに --downloaddir オプションを渡します。
~]# yum install --donwloadonly --downloaddir=/path/to/direcotry httpd

注記

yum-downloadonly プラグインに代わるものとして、パッケージをインストールせずにダウンロードするために yum-utils パッケージにより提供される yumdownloader ユーティリティを使用することができます。


[2] /etc/sysconfig/protected-packages.d/ ディレクトリに .list の拡張子が付いたファイルを置くことも可能です (そのディレクトリがなければ作成して下さい)。また、これらのファイルに 1 行に 1 つずつパッケージを一覧表示することもできます。protect-packages はこれらも保護します。