如何防止 yum 缓存被填满

如何防止 yum 缓存被填满

我有一个 RHEL 系统,它的磁盘不断填满。问题是/var/cache/yum。我读过我们可以手动清理 yum 缓存文件吗?而且我知道有时你必须像它所说的那样,/var/cache/yum手动清除。

我的问题是,在我手动清除缓存几个小时后,缓存又会再次填满。(这是一个特殊的问题,因为它是一个磁盘较小的虚拟机,而完整的 yum 缓存会将其固定在 100%。)

显然,一些后台进程正在帮助我重新填充缓存,但我无法弄清楚它是什么。

谷歌搜索发现https://access.redhat.com/solutions/5302591看起来这可能是我的问题,但这是一个仅限订阅者的页面,我无法阅读。(Red Hat 在那里出色地使用了客户勒索策略。)

谷歌搜索发现https://www.thegeekdiary.com/var-cache-yum-constantly-filling-files-system-in-centos-rhel/,但没有任何帮助。它提到了一些需要调查的服务,但这些服务似乎都没有在我的计算机上运行。


更新:我抓住了神秘的缓存填充过程。 ps揭示了这个过程

/usr/bin/python /usr/share/PackageKit/hlpers/yum/yumBackend.

正在运行,由 调用/usr/libexec/packagekitd。看起来有一个 systemd 服务“packagekit”正在运行。有人知道是什么吗是吗?我想我会尝试禁用它。

答案1

我发现经常填满我的磁盘的进程是名为“packagekit”的进程。我发现我可以使用以下命令之一或两个命令来停止/禁用此进程

systemctl stop packagekit
systemctl disable packagekit

不幸的是,这不是一个永久的解决方案。由于某些未知原因,packagekit 会在几天后自动重新启用,所以我的磁盘又满了。如果我找到一种方法,比如,实际上禁用它永久,我会在这里发布。(否则我想我可能不得不完全删除这个 packagekit 东西。)

答案2

默认情况下,yum 会保留其下载的软件包和软件包数据文件,因此可以在将来的操作中重新使用它们而无需再次下载。

/etc/yum.conf 可以通过修改文件并将选项更改keepcache为来关闭此功能0。当设置为 0 时,Keepcache 会在安装后删除软件包。

将 keepcache 设置为 1 指示 yum 在成功安装后保留标头和包的缓存。

要清理缓存,请使用以下命令:

# yum clean all
# yum clean metadata

来源 : /var/cache/yum 在 CentOS/RHEL 中不断填充文件系统

相关内容