yum 相当于 apt-get upgrade 与 apt-get dist-upgrade?

yum 相当于 apt-get upgrade 与 apt-get dist-upgrade?

我是一个 *.deb 用户,在管理 rpm 时我感觉很不舒服。

我习惯apt-get upgrade在基于 Debian 的服务器上运行“正常”升级,apt-get dist-upgrade以及允许内核升级或允许新的主要软件包版本升级。

在我管理的 CentOS 服务器中,我希望有类似的功能,但是 yum 似乎不提供这种行为。而且yum update和之间的差异yum upgrade似乎不是我想要的。

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

exclude=kernel*

一定有更好的方法。欢迎提出任何建议。

編輯:

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以检查哪些包已保留并根据其结果采取行动。

这样可以吗?

答案1

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

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

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

答案2

尝试

# yum upgrade yum kernel
# yum -y upgrade

相关内容