为什么在更新了yum源之后需要yum -y update?没看出作用

一般来说,各种博客的更新yum源步骤都是(这里以centos6.9 / ali yum源为例)

1: yum -y install wget

2: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

3: cd /etc/yum.repos.d/

4: wget http://mirrors.aliyun.com/repo/Centos-6.repo

5: yum makecache

问题来了,许多博客都有这一步

6: yum -y update

这一步更新了内核,软件以及rpm包。不明白意义何在?在makecache这一步执行之后,就已经有了缓存了,rpm包也是最新的,至于更新内核,软件的意义?如下是更新截图

clipboard.png

相关问题:
https://segmentfault.com/q/10...

https://segmentfault.com/q/10...

阅读 34.3k
2 个回答

其实我更推荐用yum upgrade取代yum updateyum update只更新系统中已有的软件包,不会更新内核软件包(kernel-这个包),yum upgrade是更彻底的update,会分析包的废弃关系,可以跨小版本升级(比如从centos 7.1升级到centos 7.4),除了做了yum update完全相同的事之外,还会更新kernel-的包,也会卸载掉已经废弃的包。

新部署系统需要yum update/upgrade是因为yum不会给你解决依赖冲突(但是apt会)。

举个例子,你的系统中已经安装了kernel-2.6.32.500,但是你要安装的某个软件包依赖于kernel-2.6.32.600,此时yum会报错退出,告诉你依赖不满足,并不会升级kernel包(只是举个例子而已,实际上几乎没有软件包直接依赖于kernel包),所以你只能yum update/upgrade一次,把系统中所有的软件包全部更新,这样满足新部署的软件包的依赖。

在debian/ubuntu的系统中,apt会对这种情况自动处理,会自动升级依赖的软件包。

换句话来说,对于新部署的服务器,也是推荐upgrade全部的软件包,已获得最新的安全补丁。即使对于已经上线的服务器,也是推荐定期打安全漏洞补丁,减少漏洞带来的侵害。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏