如何检查 yum 元数据何时到期?

Wil*_*ard 6 yum cache

我可以使用yum clean all或者更快地使用清除缓存yum clean expire-cache

但是,在没有实际清除缓存的情况下,我只想知道缓存何时会自行过期。

我怎样才能知道 yum 的元数据什么时候过期?


我将 CFEngine 用于自我修复基础架构,因此应该安装在我正在处理的服务器上的软件包yum clean expire-cache运行后不久安装。我已经测试过了。如果我可以检查其中一台我没有运行过的服务器上的元数据过期时间yum clean expire-cache,我就会知道这些服务器何时会自我修复。

小智 7

yum repolist enabled -v 包含此信息(配置的 metadata_expire 和上次元数据更新时间)和漂亮的输出。

[root@localhost ~]# yum repolist enabled -v | grep 'Repo-name\|expire'
Repo-name    : CentOS-7 - Base
Repo-expire  : 21,600 second(s) (last: Wed Mar  8 19:01:59 2017)
Repo-name    : CentOS-7 - Extras
Repo-expire  : 21,600 second(s) (last: Wed Mar  8 19:02:00 2017)
Repo-name    : CentOS-7 - Updates
Repo-expire  : 21,600 second(s) (last: Wed Mar  8 19:02:01 2017)
Run Code Online (Sandbox Code Playgroud)

检查 cachecookie 上的修改时间是另一种获取上次元数据更新时间的方法。这执行得非常快,但是 yum 缓存路径可能在发行版/主要版本之间不一致。

[root@localhost ~]# stat -c %y /var/cache/yum/x86_64/7/base/cachecookie
2017-03-08 19:01:59.650838052 +0000
Run Code Online (Sandbox Code Playgroud)


Tho*_*key 5

它记录在手册页中yum.conf

metadata_expire
元数据过期的时间(以秒为单位)。因此,如果当前下载的元数据小于这么多秒,那么 yum 将不会针对存储库更新元数据。如果您发现 yum 下载更新信息的频率不高,请降低此选项的值。您还可以使用秒使用天,小时或分钟的默认通过附加的改变dhm分别。默认为6小时,以赞美 yum-updatesd每小时一次运行。也可以使用“从不”这个词,意味着元数据永远不会过期。请注意,当使用 metalink 文件时,由于验证,metalink 必须始终比存储库的元数据更新,因此此超时也适用于 metalink 文件。

(拼写错误在手册页中:无需在此处更正)。