百胜相当于apt-get upgrade vs apt-get dist-upgrade吗?


31

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

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

在我管理的CentOS服务器中,我希望具有类似的功能,但是man 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(如由史蒂芬普里查德描述他的答案),并在第一次运行yum update。一旦安装了所有更新,请运行第二秒yum update --obsoletes以检查保留了哪些软件包并根据其结果执行操作。

那行得通吗?

Answers:


57

yum update最初只是将软件包升级到新版本。例如,如果foo-awesome已过时foo,则yum update不会提供从升级foofoo-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开发人员的理念不同,因此这些工具不会鼓励相同的行为。


+1史蒂文;我猜不会有一个正确的答案,这就是为什么我想要尽可能多的反馈。您的回答很好。让我等待其他人的方法:-)
hmontoliu 2011年

到目前为止,请参阅我的EDITED 2,我认为这是模仿apt-get行为的一种好方法。
hmontoliu 2011年

您还可以将排除项添加到yum.conf文件中。
现在不是

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.