魔督老克拉 發表於 2019-8-2 11:37:00

Linux CentOS内核升级

<h1>1. 说明</h1>
<p>正在使用的阿里云服务器报了几个内核漏铜,使用自带【一键修复】需要额外的支付费用,所以尝试采用升级系统内核的方式来修复漏洞。</p>
<h2>1.1 服务器参数</h2>
<p>操作系统:CentOS 7.4 64位</p>
<p>当前内核版本:Linux 3.10.0</p>
<p>&nbsp;</p>
<h2>1.2&nbsp;ELRepo</h2>
<p>ELRepo是一个为Linux提供驱动程序和内核映像的存储库。</p>
<p>这里的升级方案就是采用ELRepo提供的内核通道。</p>
<p>ELRepo官网:http://elrepo.org/tiki/tiki-index.php</p>
<p>&nbsp;</p>
<h1>2. 升级内核</h1>
<h2>2.1 当前内核版本</h2>
<p><strong>说明</strong>:可以看到当前服务器的内核版本为3.10.0,Linux提供的内核信息可以访问此网站:https://www.kernel.org/</p>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ uname -mrs
Linux 3.10.0-693.2.2.el7.x86_64 x86_64</pre>
</div>
<p>&nbsp;</p>
<h2>2.2 导入ELRepo公钥</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
</pre>
</div>
<p>&nbsp;</p>
<h2>2.3 安装ELRepo</h2>
<p><strong>说明</strong>:因当前服务器的操作系统为CentOS7.4,所以采用此安装包。其他操作系统版本安装方式可去ELRepo官网查看。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm</pre>
</div>
<p>&nbsp;</p>
<h2>2.4 查看ELRepo提供的内核版本</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list available</pre>
</div>
<p><strong>显示</strong>:</p>
<p><img src="https://img2018.cnblogs.com/blog/153475/201908/153475-20190801145159934-127812649.png" alt=""></p>
<p><strong>kernel-lt</strong>:表示longterm,即长期支持的内核;当前为4.4.*。</p>
<p><strong>kernel-ml</strong>:表示mainline,即当前主线的内核;当前为5.2.*</p>
<p>&nbsp;</p>
<h2>2.5 安装kernel-lt内核</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ yum --disablerepo='*' --enablerepo=elrepo-kernel install kernel-lt
</pre>
</div>
<p>&nbsp;</p>
<h2>2.6 查看启动器</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (4.4.186-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-957.27.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
</pre>
</div>
<p>&nbsp;</p>
<h2>2.7 设置默认启动为新内核</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ grub2-set-default 0
</pre>
</div>
<p>&nbsp;</p>
<h2>2.8 重启</h2>
<p><strong>说明</strong>:重启后发现内核版本已变更为&nbsp;4.4.186。</p>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ reboot
$ uname -mrs
Linux 4.4.186-1.el7.elrepo.x86_64 x86_64
</pre>
</div>
<p>&nbsp;</p>
<h1>3. 修复ecs漏洞</h1>
<p><strong>说明</strong>:除了升级内核外,还可以通过更新rpm软件包的形式来修复漏洞。</p>
<h2>3.1 检查可更新的rpm包</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ yum check-update
</pre>
</div>
<p>&nbsp;</p>
<h2>3.2&nbsp;更新所有的rpm包</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:javascript;gutter:true;">$ yum update</pre>
</div>
<p><strong>说明</strong>:更新所有rpm包是一种粗狂的解决方案,实际中可指定rmp包进行单独更新。</p>
<p>&nbsp;</p>
<div class="polk_cust_footer">
<div class="end-wrapper"><span class="tips">End</span></div>
<div class="blockquote"> Web开发之路系列文章 </div>
<div id="divwebmenurose" class="menu-wrapper" data-src="//www.cnblogs.com/polk6/archive/2013/05/10/3071327.html"><span>菜单加载中...</span></div>
</div><br><br>
来源:https://www.cnblogs.com/polk6/p/11282477.html
頁: [1]
查看完整版本: Linux CentOS内核升级