問題
「yum clean all」が、Oracle パブリック yum リポジトリまたはローカル yum リポジトリを使用する orcle Linux サーバーの /var/cache/yum の下にある yum キャッシュ情報をクリアしない。
# yum repolist Loaded plugins: refresh-packagekit, security, ulninfo public_ol6_UEK_latest | 1.2 kB 00:00 public_ol6_UEK_latest/primary | 26 MB 00:04 public_ol6_UEK_latest 554/554 public_ol6_latest | 1.4 kB 00:00 public_ol6_latest/primary | 58 MB 00:04 public_ol6_latest 36051/36051 repo id repo name status public_ol6_UEK_latest Latest Unbreakable Enterprise Kernel for Oracle Linux 6Ser 554 public_ol6_latest Oracle Linux 6Server Latest (x86_64) 36,051 repolist: 36,605
# du -sh /var/cache/yum/x86_64/6Server/* 864K /var/cache/yum/x86_64/6Server/ol6_addons 973M /var/cache/yum/x86_64/6Server/ol6_latest 367M /var/cache/yum/x86_64/6Server/ol6_UEK_latest 12K /var/cache/yum/x86_64/6Server/public_ol6_latest 8.0K /var/cache/yum/x86_64/6Server/public_ol6_UEK_latest 45MB /var/cache/yum/x86_64/6Server/public_ol6_UEKR3_latest
# yum clean all Loaded plugins: refresh-packagekit, security, ulninfo Cleaning repos: public_ol6_UEK_latest public_ol6_latest Cleaning up Everything
# du -sh /var/cache/yum/x86_64/6Server/* 864K /var/cache/yum/x86_64/6Server/ol6_addons 973M /var/cache/yum/x86_64/6Server/ol6_latest 367M /var/cache/yum/x86_64/6Server/ol6_UEK_latest 12K /var/cache/yum/x86_64/6Server/public_ol6_latest 8.0K /var/cache/yum/x86_64/6Server/public_ol6_UEK_latest 45MB /var/cache/yum/x86_64/6Server/public_ol6_UEKR3_latest
解決策
「yum clean」は、/etc/yum.repos.d/*.repo で有効になっているリポジトリのキャッシュを削除します。 yum の man ページから:
# man yum .... CLEAN OPTIONS The following are the ways which you can invoke yum in clean mode. Note that "all files" in the commands below means "all files in currently enabled repositories". If you want to also clean any (temporarily) disabled repositories you need to use --enablerepo=’*’ option.
以下の手順に従ってトラブルシューティングを行ってください:
1. リポジトリを一時的に有効にして、yum キャッシュをクリアします。
# yum clean all --enablerepo="repository_label"
または
# vi /etc/yum.repos.d/[filename].repo ... enabled = 1 ### Add this for the respective repository.
/etc/yum.repos.d/*.repo ファイルにリポジトリに関する情報がない場合はどうなりますか?そのシナリオでは、リポジトリ ラベル名を持つリポジトリ ファイルの一時的なエントリは、キャッシュをクリアするのに役立ちます。
デバッグ
次の例では、「public_ol6_UEK_latest、public_ol6_latest」の 2 つのリポジトリのみが有効になっていますが、yum キャッシュ情報はいくつかの追加リポジトリで利用できます。
「public_ol6_UEKR3_latest」リポジトリが無効で、「ol6_UEK_latest、ol6_latest」が /etc/yum.repos.d/*.repo ファイルにエントリを持っていないとします。
# yum repolist Loaded plugins: refresh-packagekit, security, ulninfo public_ol6_UEK_latest | 1.2 kB 00:00 public_ol6_UEK_latest/primary | 26 MB 00:04 public_ol6_UEK_latest 554/554 public_ol6_latest | 1.4 kB 00:00 public_ol6_latest/primary | 58 MB 00:04 public_ol6_latest 36051/36051 repo id repo name status public_ol6_UEK_latest Latest Unbreakable Enterprise Kernel for Oracle Linux 6Ser 554 public_ol6_latest Oracle Linux 6Server Latest (x86_64) 36,051 repolist: 36,
# du -sh /var/cache/yum/x86_64/6Server/* 864K /var/cache/yum/x86_64/6Server/ol6_addons 973M /var/cache/yum/x86_64/6Server/ol6_latest 367M /var/cache/yum/x86_64/6Server/ol6_UEK_latest 12K /var/cache/yum/x86_64/6Server/public_ol6_latest 8.0K /var/cache/yum/x86_64/6Server/public_ol6_UEK_latest 45MB /var/cache/yum/x86_64/6Server/public_ol6_UEKR3_latest
/etc/yum.repos.d/*.repo ファイルにエントリがある無効化されたリポジトリのキャッシュ情報をクリアします。つまり、public_ol6_UEKR3_latest:
# yum clean all --enablerepo="public_ol6_UEKR3_latest"
# du -sh /var/cache/yum/x86_64/6Server/* 864K /var/cache/yum/x86_64/6Server/ol6_addons 973M /var/cache/yum/x86_64/6Server/ol6_latest 367M /var/cache/yum/x86_64/6Server/ol6_UEK_latest 12K /var/cache/yum/x86_64/6Server/public_ol6_latest 8.0K /var/cache/yum/x86_64/6Server/public_ol6_UEK_latest 12K /var/cache/yum/x86_64/6Server/public_ol6_UEKR3_latest
「/etc/yum.repos.d/*.repo」にエントリがない他の 2 つのリポジトリのキャッシュをクリアするには、手動で削除するか、構成ファイルに一時エントリを追加します。
# rm -rf /var/cache/yum/x86_64/6Server/ol6_latest /var/cache/yum/x86_64/6Server/ol6_latest
または
# vi /etc/yum.repos.d/public.repo [ol6_latest] enabled = 1 [ol6_UEK_latest] enabled = 1
# yum clean all
# du -sh /var/cache/yum/x86_64/6Server/* 864K /var/cache/yum/x86_64/6Server/ol6_addons 12.0K /var/cache/yum/x86_64/6Server/ol6_latest 8.0K /var/cache/yum/x86_64/6Server/ol6_UEK_latest 12K /var/cache/yum/x86_64/6Server/public_ol6_latest 8.0K /var/cache/yum/x86_64/6Server/public_ol6_UEK_latest 12K /var/cache/yum/x86_64/6Server/public_ol6_UEKR3_latest