Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

8.4.7. yum キャッシュの使用

デフォルトでは、操作が正常に実行されると、yum はダウンロードしたデータファイルを削除します。これにより、yum が使用するストレージ容量が最小限に抑えられます。ただし、yum がダウンロードしたパッケージファイルがキャッシュディレクトリーに残るように、キャッシュを有効にできます。キャッシュされたデータを使用して、ネットワーク接続なしで特定の操作を実行できます。また、キャッシュに保存されているパッケージをコピーして別の場所で再利用することもできます。
yum は、/var/cache/yum/$basearch/$releasever/ ディレクトリーに一時ファイルを保存します。$basearch および $releasever は、システムのベースアーキテクチャーと Red Hat Enterprise Linux のリリースバージョンを参照する Yum 変数です。設定した各リポジトリーには 1 つのサブディレクトリーがあります。たとえば、/var/cache/yum/$basearch/$releasever/development/packages/ ディレクトリーには、開発リポジトリーからダウンロードしたパッケージを保持します。yum version コマンドの出力で、$basearch 変数および $releasever 変数の値を確認できます。
デフォルトのキャッシュの場所を変更するには、/etc/yum.conf 設定ファイルの [main] セクションの cachedir オプションを変更します。yum の設定に関する詳細は、「Yum と Yum リポジトリーの設定」 を参照してください。

キャッシュの有効化

インストールに成功するとパッケージのキャッシュを保持するには、/etc/yum.conf[main] セクションに以下のテキストを追加します。
keepcache = 1
キャッシュを有効にすると、yum 操作はすべて、設定したリポジトリーからパッケージデータをダウンロードできます。
現在有効な yum リポジトリーのメタデータをダウンロードして利用できるようにするには、以下を入力します。
yum makecache
これは、キャッシュがすべてのメタデータで完全に最新の状態である場合に便利です。メタデータの有効期限を設定するには、/etc/yum.confmetadata-expire 設定を使用します。

キャッシュ専用モードでの yum の使用

ネットワーク接続なしで yum コマンドを実行するには、コマンドラインオプション -C または --cacheonly を追加します。このオプションを使用すると、yum はネットワークリポジトリーを確認せずに続行し、キャッシュされたファイルのみを使用します。このモードでは、yum は以前の操作によってダウンロードおよびキャッシュされているパッケージのみをインストールできます。
たとえば、gstreamer が含まれる名前で現在キャッシュされたデータを使用するパッケージを一覧表示するには、以下のコマンドを入力します。
yum -C list gstreamer*

yum キャッシュの消去

多くの場合、/var/cache/yum/ ディレクトリーに累積したエントリーを削除すると便利です。キャッシュからパッケージを削除すると、システムにインストールされているソフトウェアのコピーには影響を及ぼしません。現在有効なリポジトリーのエントリーをキャッシュから削除するには、root で以下を入力します。
yum clean all
削除するキャッシュデータのタイプに応じて、yumclean モードで起動する方法は複数あります。利用可能な設定オプションの一覧は、表8.3「利用可能な yum clean オプション」 を参照してください。

表8.3 利用可能な yum clean オプション

オプション説明
expire-cache各リポジトリーのメタデータおよびミラーリストのダウンロードの時間レコードを取り除きます。これにより、yum は次回の使用時に各リポジトリーのキャッシュを再無効にします。
packagesキャッシュされたパッケージをシステムから削除
ヘッダー以前のバージョンの yum が依存関係解決に使用したヘッダーファイルをすべて削除します。
metadataパッケージのリモートの可用性を決定するために yum が使用するファイルをすべて削除します。これらのメタデータは、次回 yum の実行時にダウンロードされます。
dbcacheメタデータへの迅速なアクセスに使用する sqlite キャッシュを削除します。このオプションを使用すると、yum が、次回実行時に sqlite メタデータをダウンロードするように強制します。これは、.xml データのみが含まれるリポジトリーには適用されません。この場合、sqlite データは削除されますが、後続のダウンロードはありません。
rpmdbローカルの rpmdb からキャッシュされたデータを削除します。
pluginsキャッシュされたデータを取り除くために有効なプラグインは強制的に実行されます。
all上記をすべて削除します。
expire-cache オプションは、上記の一覧から最も推奨されます。多くの場合、クリーン 状態にするには不十分です。