追跡されていないストレージのyumキャッシュを消去する方法は?

追跡されていないストレージのyumキャッシュを消去する方法は?

Satellite 6.5 で管理される RHEL7 サーバーがあります。

注文する

yum clean all --verbose 

数MbのYumキャッシュを表示します。追跡されていないリポジトリ。

yum clean allこのキャッシュをクリアしないでください。これを行うことは可能ですか、それとも実行する唯一の方法ですかrm -rf /var/cache/yum/* && yum check-update

答え1

このyum clean allコマンドは実際に提案あなたは以下を実行しますrm -rf /var/cache/yum

» yum clean all
Cleaning repos: amzn2-core amzn2extra-docker amzn2extra-epel copr:copr.fedorainfracloud.org:jdoss:wireguard epel
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos

yum clean all仕組みにはいくつかの改善があります(最も注目すべき点はhttps://bugzilla.redhat.com/show_bug.cgi?id=1357083yum clean all)しかし、あなたは正しいです。動作しない極端な場合があります。

rm -rf /var/cache/yum、迷惑ですが、毎回動作します。

マニュアルページには、トレースされていないストレージクリーンアップに関する簡単なメッセージがあります。

<...>また、追跡されない(もはや構成されていない)リポジトリは自動的にクリーンアップされません。

そして

キャッシュ全体を一度に消去する最も簡単な方法は、ファイルを手動で削除することです。キャッシュディレクトリの設定によっては、通常はすべての変数をシェルワイルドカードとして扱い、一致するディレクトリを繰り返し削除することを意味します。たとえば、キャッシュディレクトリが/var/cache/yum/$basearch/$releaseverの場合は、/var/cache/yumディレクトリ全体を削除する必要があります。これにより、yumは次回の実行時に必要に応じてキャッシュを再構築します(時間がかかる場合があります)。

長い時間がかかる再構築の最後の点については、指示に従ってディレクトリを正しく再生成し、次のyum呼び出しで長い待ち時間を避けることをお勧めしますrm -rf /var/cache/yum。との違いに&& yum makecache注意してください。しかし、ほとんどの人は実際に違いを知りません。リポジトリが最新であることを確認してください。実際にメタデータをダウンロードしてください。makecachemakecache fastyum makecache fastyum makecache

答え2

別のオプションがあります:

# 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

関連情報