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

Modified on: Tue, 08 Oct 2019 20:00:02 +0800

我是一名* .deb家伙,在管理rpms时我感到非常不舒服。

我习惯在基于debian的服务器中运行apt-get upgrade进行“正常”升级,apt-get dist-upgrade运行允许< / em>内核升级或允许新的主要软件包版本升级。

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

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

exclude=kernel*

必须有更好的方法。我们欢迎任何建议。

编辑:强>

yum的man页面描述以及--obsoletes标志对我来说有点神秘。所以让我重新理解我从中理解的内容:我是否必须明白yum update不会安装新内核,因为它意味着标记为当前的内核过时了?我可以假设yum upgradeapt-get dist-upgrade相同或几乎相同吗?

编辑2

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

因此,在考虑了一下我的最佳方法此时将:禁用yum.conf中的废弃设置(如Steven Pritchard所述他的回答)并首先运行yum update。安装完所有更新后,运行第二个yum update --obsoletes以检查哪些包已被保留并根据其结果执行操作。

那会有用吗?

最佳答案

yum update最初刚刚将软件包升级到新版本。例如,如果foo-awesome已废弃foo,则yum update将无法从foo升级到foo-awesome。将--obsoletes标志添加到yum update使得它执行额外检查以提供该升级路径。 yum upgrade被添加为(基本上)yum --obsoletes update的别名。由于这是几乎每个人都想要的行为,所以配置选项obsoletes=1被添加到默认的/etc/yum.conf中,使yum updateyum upgrade等同于任何最近的股票,Fedora / RHEL / CentOS等。

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

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


相关问答

添加新评论