阿里云安全中心提示centos有漏洞 一般怎么升级比较保险安全?
centos有漏洞,漏洞升级修复命令如下:
yum update
注意:
Centos升级系统有2个命令,但是,是有区别的。
yum -y update
升级所有包同时也升级软件和系统内核
yum -y upgrade
只升级所有包,不升级软件和系统内核
只要服务器一提示有漏洞什么的,我直接就运行
yum -y update
,其实这很危险的。很容易就造成整体升级后,应用可能打不开了,因为有的软件对运行环境里各个软件的版本有要求的。无论用哪个,执行命名前,务必要给服务器做快照备份。
用yum 更新 一般不用重启系统就行,如果要重启 可以执行:reboot
查看内核版本
uname -r
其他说明:
其实我更推荐用
yum upgrade
取代yum update
,yum 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全部的软件包,已获得最新的安全补丁。即使对于已经上线的服务器,也是推荐定期打安全漏洞补丁,减少漏洞带来的侵害。
- 叶雪松:
也就是说yum update 是为了解决跟换yum源之后,rpm包之间的依赖关系,以免后面yum 安装某些服务报错。
而upgrade还会在小版本中升级系统,(是小版本中升到最新吗?比如6就直接到6.9final,7的话就到目前最新的),并废弃某些不要的包。
是这么理解吧?回复 2017-09-19
- 叶雪松:
还有,我之前就注意到你了,你的头像,嗯,很diao。
回复 2017-09-19
- Feng_Yu:
和更换yum源没关系,通常你拿到的服务器都是软件包版本比较低的操作系统,安装上层应用的时候可能会告诉你依赖不能满足,此时你需要用yum update/upgrade更新下系统的软件包,以满足安装依赖
回复 2017-09-19
- 叶雪松:
好的,这下我就明白了。谢谢!
回复 2017-09-19
- Feng_Yu:
嗯,其实就是为了解决yum install的时候对于依赖的软件包不会升级,而且会报错依赖冲突。所以干脆整个yum update/upgrade一把,以后再yum install的时候就不会遇到这种问题
回复 2017-09-19
- cc976655:
兄弟,你是不是说反了,yum -y update(升级所有包同时也升级软件和系统内核),yum -y upgrade(只升级所有包,不升级软件和系统内核)
回复 2018-04-02
- Feng_Yu:
不会有错,你看看man yum的帮助就知道了。CentOS和Ubuntu维护经验都有5年以上了,这个不会搞错。
upgradeIs the same as the update command with the --obsoletes flag set. See update for more details.
回复 2018-04-02
- Feng_Yu:
简单来说update不会执行废弃包的替换,但是upgrade会。所以update不会升级内核包
回复 2018-04-02
- cc976655:
你说的是对的,之前看的一篇博客是错的,谢谢~
回复 2018-04-02
- rainrcn:
我觉得默认情况下 upgrade升级后是会保留旧版本的包,而update不会保留。但是update默认是否保留还取决于main中的obsolete配置是否为真,这个配置默认是真。最终也就是说这两个命令是同样的效果,都会升级所有包并且保留旧版本的包。区别在这里。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/courses/262957.html