apt-get update
会获取并更新软件包索引。因为我已经习惯了这种处理方式,所以惊讶地发现yum update
可以完成所有工作并升级系统。这让我很好奇如何在不安装任何内容的情况下更新包索引。#1 楼
check-update
命令将刷新软件包索引并检查可用更新:yum check-update
#2 楼
虽然yum check-update
会检查已安装软件包的更新,但是否需要刷新,大多数其他命令也会更新。严格等同于
apt-get update
的命令是yum makecache
...但是通常不建议运行直接在yum中。评论
我不明白第一句话。你可以改写吗?
– tshepang
2011年2月8日在18:06
这意味着其他yum命令,例如必要时,yum upgrade将自动运行yum check-update。换句话说,yum升级与apt-get更新基本相同。 apt-get升级。
– Mikel
2011年2月8日在21:02
谢谢!百胜检查更新不能帮助我针对404错误。但是,yum makecache可以帮助您!非常感谢!
–套接字对
2014年6月6日11:41
最初是关于自动更新仓库数据以显示最新信息(apt-get没做,或者至少在2011年没做)。编辑后,它现在变得有点奇怪了:(。
–詹姆斯·安提尔(James Antill)
17年4月19日在16:23
为什么不建议运行yum makecache?它在手册页中列出,似乎可以像apt-get update一样工作...还请注意,yum check-update并不总是执行刷新,请参见其他答案,FWIW :)
–rogerdpack
19年6月7日在16:23
#3 楼
不幸的是,默认情况下,yum check-update
不会从远程存储库中提取更改,直到yum.conf
的metadata_expire参数过去(默认为90m)。显然,它的目的是“知道您的计算机是否有需要应用的更新而不以交互方式运行它”,因此基本上它是“检查是否有可更新的软件包”而不是“随您刷新我可以更新到的软件包列表”因此,如果您运行yum check-update
并获得此信息:$ sudo yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
packagename version repo
,这意味着check-update未执行更新,像
apt-get update
一样。通过运行以下命令,您可以查看执行所有命令在下面执行的“自动刷新”之前需要花费多长时间:
yum repolist enabled -v
解决方法:
首先使用
yum clean expire-cache
(或yum clean all
),然后任何将来的yum命令都会“在运行时”自动刷新缓存。 。因为将来的yum命令会刷新缓存,所以实际上与apt-get update
相同。,或者我想将yum.conf的metas_expire参数更改为小于默认值90min。
或运行
yum makecache
(从其他答案中),这似乎删除了缓存并立即拉出了新副本。但这似乎要比Q4312079q(?)FWIW花的时间更长。评论
不知道为什么这个答案在底部没有效果。这似乎是显而易见且简单的答案。
–cbmanica
18年8月27日在22:46
#4 楼
这是用于更新本地缓存的命令,因此,根据使用Yum缓存,yum makecache
似乎是您要查找的命令。
通常,您不需要直接运行此命令,因为yum已经根据yum.conf中的metadata_expire值检查并刷新了元数据,默认值为6个小时。
但是,Ansible剧本中可能至少有一个用例,因为Ansible剧本中没有办法只更新缓存而不安装任何软件包(请参阅Ansible问题33461和40068,似乎已在2.8、46183版本中修复)。 Ansible yum模块要求“ update_cache:yes”选项的软件包名称有效。因此,可以在剧本中使用“命令:yum makecache”作为替代。
dnf还具有makecache命令,尽管也可以使用--refresh开关强制进行元数据同步。
评论
这个已有的答案已经提到了yum makecache。也许您可以扩展答案以使其更有用,例如,通过解释为什么不推荐使用yum makecache或等效的dnf。
–斯蒂芬·基特(Stephen Kitt)
19年5月3日在13:39
评论
此命令使您可以确定是否有任何更新可用于已安装的软件包。 yum返回所有存储库中所有软件包更新的列表(如果有)。 apt-get更新刷新索引文件,但yum check-update没有。
– SuB
17-4-15在10:56
如果yum最近已经运行过,这将不起作用,请参阅其他一些答案来替代...
–rogerdpack
17年6月21日在21:59