Product SiteDocumentation Site

4.4.3. プラグインの説明

以下の一覧は有用な Yum プラグインのいくつかを説明しています:
fs-snapshot (yum-plugin-fs-snapshot)
fs-snapshot プラグインは、システムの更新やパッケージの削除のようなトランザクションを進める前にファイルシステムのスナップショットを作成するよう Yum を拡張します。トランザクションにより行われた変更が期待しないものとユーザーが思えば、このメカニズムによりユーザーがスナップショットに保存されている変更をロールバックできるようになります。
プラグインが機能するためには、ルートファイルシステム(つまり、/)が LVM (Logical Volume Manager) または Btrfs ボリューム上になければいけません。LVM ボリュームにおいて fs-snapshot プラグインを使用するには、以下の手順に従います:
  1. ルートファイルシステムを持つボリュームグループが十分な空きエクステントを持つことを確実にします。必要な容量は、スナップショットのライフサイクルにおいて予想される、元の論理ボリュームへの変更量によります。適切なデフォルトは元の論理ボリューム容量の 50–80 % です。
    特定のボリュームグループに関する詳細な情報を表示するには、root として以下の形式で vgdisplay コマンドを実行します:
    vgdisplay volume_group
    フリーなエクステント数は Free PE / Size 行に一覧表示されます。
  2. ルートファイルシステムを持つボリュームグループが十分な空きエクステントを持たなければ、新しい物理ボリュームを追加します:
    1. 論理ボリュームマネージャーを用いた物理ボリュームを初期化するには、root として、以下の形式で pvcreate コマンドを実行します。
      pvcreate device
    2. 物理ボリュームをボリュームグループに追加するには、root として以下の形式で vgextend コマンドを使用します:
      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
    利用可能な設定オプションの完全な一覧は表4.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. システムが期待するとおりに動作していることを確認します:
    • 変更を保持することを決めたならば、root として lvremove コマンドを実行することにより、スナップショットを削除します:
      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
Fedora 16 における注意事項として、Btrfs はこのファイルシステムを経験できるようにするテクノロジープレビューとして含まれ、64-bit x86 アーキテクチャーにおいてのみ利用可能です。価値のあるデータを含む、または重要なシステムの実行に不可欠であるかもしれないパーティションに対して Btrfs を使用しないでください。
論理ボリューム管理、Btrfs、およびファイルシステムスナップショットの詳細は Fedora 16 Storage Administration Guide を参照してください。プラグインとその設定に関する詳細は、yum-fs-snapshot(1) および yum-fs-snapshot.conf(5) のマニュアルページを参照してください。
表4.3 サポートされる fs-snapshot.conf ディレクティブ
セクション 説明
[main] enabled=value プラグインの有効化または無効化をできます。value1 (有効) または 0 (無効) でなければいけません。インストールされるとき、プラグインはデフォルトで有効になっています。
exclude=list 特定のファイルシステムを除外できます。値はスナップショットをしたくないマウントポイント(たとえば、/srv /mnt/backup)のスペース区切りの list でなければいけません。このオプションはデフォルトにより設定ファイルに含まれません。
[lvm] enabled=value LVM ボリュームにおいてプラグインの使用を有効化または無効化できます。value1 (有効) または 0 (無効) のどちらかでなければいけません。このオプションはデフォルトで無効にされています。
lvcreate_size_args=value 論理ボリュームのスナップショットの容量を指定できます。\nvalue は有効な引数が続けられる lvcreate ユーティリティに対する -l または -L コマンドラインオプション(たとえば、-l 80%ORIGIN)でなければいけません。

presto (yum-presto)
presto プラグインは、presto メタ情報を有効にしたリポジトリから更新している間に、delta RPM パッケージのダウンロードすることに関するサポートを Yum に追加します。delta RPM は、RPM パッケージを要求しているクライアントにインストールされているパッケージのバージョンとリポジトリにある更新されたバージョンの間の差異のみを含みます。
delta RPM をダウンロードすることにより、更新されたパッケージ全体をダウンロードするよりもかなり早くなり、更新を相対的に速度向上できます。一度 delta RPM がダウンロードされると、現在インストールされているパッケージに変更点を適用するためにリビルドしなければいけません、このように完全かつ更新されたパッケージを作成します。このプロセスはインストールしているマシンにおいて CPU 時間を使用します。そのため、delta RPM を使用することは、ネットワーク接続に依存するダウンロード時間、および CPU の限界によるリビルド時間のトレードオフになります。presto プラグインを使用することは、比較的低速なネットワーク接続を持つ高速なマシンとシステムのために推奨されます。一方、非常に高速な接続を持つ比較的低速なマシンは、通常の RPM パッケージをダウンロードすること、つまり presto を無効にすることの恩恵を受けられるかもしれません。
refresh-packagekit (PackageKit-yum-plugin)
refresh-packagekit プラグインは yum を実行するときに必ず PackageKit の管理情報を更新します。refresh-packagekit プラグインはデフォルトでインストールされます。
rhnplugin (yum-rhn-plugin)
rhnpluginRHN Classic への接続サポートを提供します。これにより、RHN Classic を用いて登録されたシステムはこのシステムからパッケージを更新およびインストールできるようになります。
プラグインに関する詳細はrhnplugin(8) マニュアルページを参照してください。
security (yum-plugin-security)
セキュリティ更新に関する情報を探して、簡単に適用することは、すべてのシステム管理者に対してしばしば重要になります。このため、Yum は security プラグインを提供します。これは非常に有用なセキュリティ関連のコマンド、サブコマンドおよびオプションを用いて yum を拡張します。
以下のようにセキュリティ関連の更新をチェックできます:
~]# yum check-update --security
Loaded plugins: langpacks, presto, refresh-packagekit, security
Limiting package lists to security relevant ones
updates-testing/updateinfo                               | 329 kB     00:00
9 package(s) needed for security, out of 270 available

ConsoleKit.x86_64                    0.4.5-1.fc15                  updates
ConsoleKit-libs.x86_64               0.4.5-1.fc15                  updates
ConsoleKit-x11.x86_64                0.4.5-1.fc15                  updates
NetworkManager.x86_64                1:0.8.999-2.git20110509.fc15  updates
NetworkManager-glib.x86_64           1:0.8.999-2.git20110509.fc15  updates
[出力の省略]
セキュリティ・アドバイザリにより影響されるパッケージを更新するには yum update --security または yum update-minimal --security を使用できます。これらのコマンドはどちらも、システムにあるセキュリティ・アドバイザリが発行されたパッケージをすべて更新します。yum update-minimal --security はセキュリティ・アドバイザリの一部として公開された最新のパッケージに更新します。ここで yum update --security はセキュリティ・アドバイザリにより影響されるすべてのパッケージをその利用可能なパッケージの最新バージョンに更新します。
言い換えると、たとえば:
  • kernel-2.6.38.4-20 パッケージはシステムにインストールされました;
  • the kernel-2.6.38.6-22 パッケージがセキュリティアップデートとしてリリースされました;
  • then kernel-2.6.38.6-26 はバグ修正アップデートとしてリリースされました、
...そして yum update-minimal --securitykernel-2.6.38.6-22 に更新します。また、yum update --securitykernel-2.6.38.6-26 に更新します。保守的な管理者はできる限りパッケージを更新することにより生じるリスクを減らすために update-minimal を使用したいと思うかもしれません。
security プラグインが yum に追加する機能改善に関する使用法の詳細とさらなる説明は、yum-security(8) マニュアルページを参照してください。