如何强制“yum search”使用本地元数据/缓存?

tsh*_*ang 10 yum fedora package-management

很多时候,当我运行 时yum search,它往往首先从存储库下载元数据。如何强制它只搜索本地缓存?在这种情况下,我更喜欢快速的结果而不是准确的数据,并且处于缓慢的状态。

tmo*_*mow 13

您可以搜索缓存的包元数据:

yum -C search mysearch
Run Code Online (Sandbox Code Playgroud)

这样 yum 就不会更新本地元数据,因此您的搜索会快一点。

我更喜欢用这种方式创建一个包含所有包的本地文件:

yum list all > yum-package-list.log
Run Code Online (Sandbox Code Playgroud)

然后我可以搜索我正在搜索的内容:

grep -i mysearch yum-package-list.log
Run Code Online (Sandbox Code Playgroud)

就这样...

有时我会再次执行yum list all来更新列表。

重要的提示

来自Fedora 手册

  1. 项目清单

默认情况下,当前版本的 yum 会删除它们下载的数据文件和包,这些文件和包已成功用于操作。这最大限度地减少了 yum 使用的存储空间量。您可以启用缓存,以便 yum 保留它在缓存目录中下载的文件。缓存提供三个优点:

* The performance of yum increases
* You may carry out yum operations without a network connection, by using only the caches
* You may copy packages from the caches and reuse them elsewhere 
Run Code Online (Sandbox Code Playgroud)

默认情况下,yum 将临时文件存储在目录 /var/cache/yum/ 下,每个配置的存储库都有一个子目录。每个存储库目录中的 packages/ 目录保存缓存的包。例如,目录 /var/cache/yum/development/packages/ 包含从开发库下载的包。

如果从缓存中删除软件包,则不会影响系统上安装的软件副本。

1.1. 启用缓存

要将 yum 配置为保留下载的文件而不是丢弃它们,请将 /etc/yum.conf 中的 keepcache 选项设置为 1:

 keepcache=1 
Run Code Online (Sandbox Code Playgroud)

有关编辑 yum 配置文件的更多信息,请参阅第 9.1 节 “编辑 yum 配置”。启用缓存后,每个 yum 操作都可能从配置的存储库下载包数据。为确保缓存中有一组包数据,请在启用缓存后进行操作。使用列表或搜索查询来下载包数据,而无需修改您的系统。