如何使用 yum 安装软件包而不更新存储库信息?

如何使用 yum 安装软件包而不更新存储库信息?

我想从存储库安装一些软件包,但是当我尝试yum install packagenameyum 更新数据库时总是:

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Determining fastest mirrors
updates/metalink                                                                                                                      |  23 kB     00:00     
 * fedora: nl.mirror.eurid.eu
 * rpmfusion-free: ftp.astral.ro
 * rpmfusion-free-updates: ftp.astral.ro
 * rpmfusion-nonfree: ftp.astral.ro
 * rpmfusion-nonfree-updates: ftp.astral.ro
 * updates: nl.mirror.eurid.eu
fedora-awesome                                                                                                                    | 3.3 kB     00:00     
google-chrome                                                                                                                     |  951 B     00:00     
rpmfusion-free-updates                                                                                                        | 3.3 kB     00:00     
rpmfusion-free-updates/primary_db                                                                                             | 272 kB     00:08     
rpmfusion-nonfree-updates                                                                                                     | 3.3 kB     00:00     
rpmfusion-nonfree-updates/primary_db                                                                                          |  93 kB     00:05     
updates                                                                                                                       | 4.7 kB     00:00     
updates/primary_db                                                                                                            | 4.6 MB     02:35     
updates/group                                                                                                                     | 1.9 MB     00:33     

因此使用yum install packagename -C也不起作用(发生“未找到缓存”错误并且yum makecache也没有给出结果)。但我只想安装包而不更新数据库。

答案1

如果您想yum要这样做apt-get(不要在每次运行时更新元数据),请编辑/etc/yum.conf并放入:

metadata_expire=never

或者

metadata_expire=7d

以防您想在一周后更新元数据。如果您运行,您的元数据将像在 Debian 中yum makecache一样更新。apt-get update

但请记住,如果您在配置文件中使用“never”,则必须手动关注这一点。如果您使用“7d”,您将节省数据带宽,但一周后,元数据将自动更新。

以下是metadata_expire文档:

您还可以通过分别添加 ad、h 或 m,将默认的秒数更改为天数、小时数或分钟数。默认值为 6 小时,以配合每小时运行一次的 yum-updatesd。也可以使用单词“never”,表示元数据永不过期。

答案2

如果您想安装软件包而不更新数据库,您可以直接下载 rpm(通过 yumdownloader、ftp 或 Web 浏览器),然后直接使用 rpm 安装:

rpm -ivh packagename

我不建议您这样做,因为追踪依赖关系需要做很多工作(这就是创建 yum 的原因),并且可能会破坏将来通过 yum 进行的安装。

答案3

你的请求在某些方面违背了 yum 的精神。Yum 是一个综合性的软件包,依赖性管理器。为了完成其工作并且不通过混合搭配不兼容的软件包来搞乱您的系统,它需要拥有您不想更新的数据。

您可以手动分析包有哪些依赖项,deplist <packagename>然后手动安装它们。

无论在什么情况下,没有 yum 进行更新似乎都是一个奇怪的要求……

相关内容