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.conf
で metadata-expire
設定を使用します。
キャッシュ専用モードでの yum の使用
ネットワーク接続なしで yum コマンドを実行するには、コマンドラインオプション
-C
または --cacheonly
を追加します。このオプションを使用すると、yum はネットワークリポジトリーを確認せずに続行し、キャッシュされたファイルのみを使用します。このモードでは、yum は以前の操作によってダウンロードおよびキャッシュされているパッケージのみをインストールできます。
たとえば、「gstreamer」 が含まれる名前で現在キャッシュされたデータを使用するパッケージを一覧表示するには、以下のコマンドを入力します。
yum-C
list
gstreamer*
yum キャッシュの消去
多くの場合、
/var/cache/yum/
ディレクトリーに累積したエントリーを削除すると便利です。キャッシュからパッケージを削除すると、システムにインストールされているソフトウェアのコピーには影響を及ぼしません。現在有効なリポジトリーのエントリーをキャッシュから削除するには、root
で以下を入力します。
yumclean
all
削除するキャッシュデータのタイプに応じて、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
オプションは、上記の一覧から最も推奨されます。多くの場合、クリーン
な
状態にするには不十分です。