RHEL7サーバーをSatellite 6.5で管理しています。
コマンド
yum clean all --verbose
ntrackedリポジトリのいくつかのMbのyumキャッシュを示します。
yum clean all
はこのキャッシュを消去しません。そうすることは可能ですか、それともrm -rf /var/cache/yum/* && yum check-update
?
過去にyum clean all
の機能にいくつかの機能強化が行われましたが(特に https://bugzilla.redhat.com/show_bug.cgi?id=135708 )、あなたは完全に正しいですyum clean all
が適切に機能しないEdgeケースがあること。
厄介ではありますが、rm -rf /var/cache/yum
は毎回トリックを実行します。
マニュアルページには、追跡されていないリポジトリのクリーニングに関する短いメッセージがあります。
<...>また、追跡されていない(構成されていない)リポジトリは自動的にクリーンアップされないことにも注意してください。
そして
キャッシュ全体を一度に消去するには、ファイルを手動で削除するのが最も簡単な方法です。 cachedir設定に応じて、これは通常、変数をシェルのワイルドカードとして扱い、一致するディレクトリを再帰的に削除することを意味します。たとえば、cachedirが/ var/cache/yum/$ basearch/$ releaseverの場合、/ var/cache/yumディレクトリ全体を削除する必要があります。これを行うと、yumは次回の実行時に必要に応じてキャッシュを再構築します(これにはしばらく時間がかかる場合があります)。
再構築に時間がかかる最後のポイントについては、rm -rf /var/cache/yum
を&& yum makecache
でフォローして、ディレクトリを適切に再作成し、次のyum呼び出しで長時間待機しないようにすることができます。ただし、makecache
とmakecache fast
の違いに注意してください。ほとんどの場合、違いがわかりません。 yum makecache fast
は、リポジトリが最新であることのみを確認します。 yum makecache
は実際にメタデータをダウンロードします。
利用可能な別のオプションがあります:
# yum --enablerepo='*' --verbose clean all
ここで説明します:
# 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.
ただし、削除されたリポジトリのキャッシュ(「追跡されていない」ことを意味します)は保持されます。
Disk usage under /var/cache/yum/*/* after cleanup:
4.0 k enabled repos:
0 disabled repos
145 M untracked repos