yum 相当于 apt-get upgrade 还是 apt-get dist-upgrade?

hmo*_*liu 33 linux yum apt

我是一个 *.deb 人,在管理 rpm 时我感到很不舒服。

我已经习惯了跑apt-get upgrade在我的基于Debian的服务器为“正常”的升级,并apt-get dist-upgrade使内核升级或允许新的大包版本进行升级。

在我管理的 CentOS 服务器中,我希望有一个类似的功能,但是 man yum 似乎没有提供这种行为。之间的差异yum update,并yum upgrade似乎不是我要找的。

到目前为止,我最好的方法是在 中添加和删除以下设置/etc/yum.conf

exclude=kernel*
Run Code Online (Sandbox Code Playgroud)

必须有更好的方法。欢迎提出任何建议。

编辑:

yum 的手册页对它们的描述和--obsoletes标志对我来说有点神秘。因此,让我改写我从中了解到的内容:我是否必须理解yum update不会安装新内核,因为这意味着将当前内核标记为过时?我可以假设yum upgrade与 相同或几乎相同apt-get dist-upgrade吗?

编辑 2

我最喜欢的apt-get upgrade是它告诉我保留哪些包,以便我可以采取相应的行动;使用apt-get dist-upgrade或使用显式apt-get install package.

因此,经过深思熟虑,此时我最好的方法是:禁用yum.conf 中的过时设置(如 Steven Pritchard 在他的回答中所述)并首先运行yum update。安装完所有更新后,再运行一次yum update --obsoletes以检查保留了哪些软件包并根据其结果采取行动。

那行得通吗?

Ste*_*ard 61

yum update最初只是将软件包升级到新版本。例如,如果foo-awesomeobsoleted foo,则yum update不会提供从 升级foofoo-awesome。添加--obsoletes标志以yum update使其进行额外检查以提供该升级路径。 yum upgrade被添加为(基本上)的别名yum --obsoletes update。由于这是几乎每个人一直想要的行为,因此配置选项obsoletes=1被添加到任何最近的、股票、Fedora/RHEL/CentOS/等的默认/etc/yum.conf、制作yum updateyum upgrade等效项中。

如果你想在运行时避免内核更新yum update,你可以只做yum --exclude=kernel* update. 如果您想要自动更新,但又想避免自动内核升级,那么将 exclude 添加到 yum.conf 可能是正确的答案。

您的问题可能没有正确答案。在更新方面,RHEL 和基于 RHEL 的发行版与 Debian 开发人员的理念不同,因此这些工具不鼓励相同类型的行为。


af-*_*ork 5

尝试

# yum upgrade yum kernel
# yum -y upgrade
Run Code Online (Sandbox Code Playgroud)