yum 相当于“apt-get update”吗?

yum 相当于“apt-get update”吗?

Debianapt-get update获取并更新包索引。因为我习惯了这种做事方式,所以我惊讶地发现这yum update一切都做到了升级系统。这让我很好奇如何在不安装任何东西的情况下更新包索引。

答案1

check-update命令将刷新包索引并检查可用更新:

yum check-update

答案2

虽然yum check-update将检查已安装软件包的更新,如果需要刷新,大多数其他命令也将如此。

严格相当于apt-get updateis yum makecache... 的命令,但通常不建议在 yum 中直接运行该命令。

答案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

这意味着检查更新是不是执行更新,就像apt-get update这样做一样。

您可以通过运行来查看执行所有命令在下面执行的“自动刷新”之前需要多长时间yum repolist enabled -v

解决方法:

使用 yum clean expire-cache(或yum clean all)首先,然后任何未来的 yum 命令将在“运行时”自动刷新缓存。 。因为将来的 yum 命令会刷新缓存,所以这实际上与apt-get update.

或者将 yum.conf 的 metadata_expire 参数更改为小于默认的 90 分钟,我猜。

或者运行yum makecache(从其他答案),这似乎会删除缓存并立即拉下新副本。但似乎比clean xxxFWIW 需要更长的时间(?)

答案4

我使用的是 Centos Stream 9,拉取和更新的简单命令是:

yum update

该命令会提取所有应用程序更新并自动安装,它还会检查可用的操作系统更新并尝试更新它,但它会在尝试安装操作系统和内核更新时停止,以在继续之前请求确认,因此,您只需输入 即可允许它进行操作系统安装Yes

Redhat CentOS 终端中的 Centos9 Stream 9 似乎使事情变得更容易。

相关内容