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