CentOS 内核的更换
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231403454-1861717169.png" alt="" loading="lazy"></p><p> <em>(部分信息摘自网络)</em></p>
<h3 id="什么是内核kernel">什么是内核(Kernel)</h3>
<p> 一个计算机中硬件和软件互相依赖、不可分割。外围设备、处理器、内存、硬盘等设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件被称为 <strong>内核(Kernel)</strong> 。Linux内核的按照功能划分为以下几个子系统:</p>
<ul>
<li><strong>Process Scheduler</strong>:进程管理</li>
<li><strong>Memory Manager</strong>:内存管理</li>
<li><strong>Virtual File System</strong>:虚拟文件系统,在 Linux 中“<strong>一切皆是文件</strong>”</li>
<li><strong>Network</strong>:管理系统的网络设备,并实现多种多样的网络标准</li>
<li><strong>Inter-Process Communication</strong>:进程间通信</li>
</ul>
<p> 与之相区分的名词应该是 <strong>操作系统</strong> ,内核 与 操作系统 的存在包含关系,即:操作系统是由内核、shell、公共运行库等程序组成的。</p>
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231443983-1601988208.jpg" alt="" loading="lazy"></p>
<h3 id="red-hat-enterprise-linuxrhel"><strong>Red Hat Enterprise Linux</strong>(<strong>RHEL</strong>)</h3>
<p> Red Hat Enterprise Linux(RHEL、EL)是一个由Red Hat开发的商业市场导向的Linux发行版。其前身为 Red Hat Linux 。RHEL 是面向企业客户的,所以 RHEL 并不免费。</p>
<p> CentOS 相当于社区版本的 RHEL,是 RHEL 源代码再编译的产物,在RHEL的基础上修正了不少已知的 Bug 。可免费下载使用且开源。</p>
<h3 id="kernel-的版本号">Kernel 的版本号</h3>
<p> 使用以下命令查看内核版本:</p>
<pre><code class="language-shell">uname -sr
</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231513684-815758392.png" alt="" loading="lazy"></p>
<p> 其中:</p>
<ul>
<li><strong>3.10.0</strong> 分别别对应 主版本号、次版本号(奇数为开发版本,偶数为稳定版本)、修订版本号</li>
<li><strong>1062</strong> 此版本的第 1062 次修改</li>
<li><strong>el7</strong>RHEL 7</li>
<li><strong>x86_64</strong> 编译框架</li>
</ul>
<h3 id="elrepoenterprise-linux-repository">ELRepo(Enterprise Linux Repository)</h3>
<p> ELRepo 是企业 Linux 发行版(例如Red Hat Enterprise Linux(RHEL),CentOS,Scientific Linux)的社区存储库。ELRepo 当前专注于与硬件相关的软件包,例如:内核、文件系统、图形、硬件监视、网络、声音和网络摄像头的驱动程序。其 yum 源中包含以下四个通道:</p>
<ul>
<li><strong>elrepo</strong></li>
<li><strong>elrepo-extras</strong></li>
<li><strong>elrepo-testing</strong></li>
<li><strong>elrepo-kernel</strong></li>
</ul>
<p> 其中 <strong>elrepo-kernel</strong> 通道包含两个内核版本,分别为:</p>
<ul>
<li><strong>kernel-lt</strong> 长期支持内核</li>
<li><strong>kernel-ml</strong> 最新的稳定内核</li>
</ul>
<p> ELRepo官网:ELRepo.org</p>
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231526263-1226825575.png" alt="" loading="lazy"></p>
<hr>
<h3 id="更换-centos-内核为最新版">更换 CentOS 内核为最新版</h3>
<p> 以下操作以 CentOS 7 为例</p>
<h4 id="一配置-elrepo-源">一、配置 ELRepo 源</h4>
<p> 默认的 CentOS 中不包含 ELRepo仓库,ELRepo 项目使用 GPG 密钥对其发布的所有 RPM 软件包进行签名。</p>
<p> 使用以下命令导入公钥:</p>
<pre><code class="language-shell">rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
</code></pre>
<p> 使用以下命令安装仓库:</p>
<p> 若系统为 CentOS 7</p>
<pre><code class="language-shell">yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
</code></pre>
<p> 若系统为 CentOS 8</p>
<pre><code class="language-shell">yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
</code></pre>
<h4 id="二使用-yum-下载并安装内核">二、使用 Yum 下载并安装内核</h4>
<p> 使用 <code>--enablerepo</code> 参数启用 elrepo-kernel 通道,并安装内核:</p>
<pre><code class="language-shell">yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel
</code></pre>
<p> 其中,<strong>kernel-devel</strong> 是用来做内核一般开发的,比如编写内核模块。有的程序需要用到 kernel-devel 工具。</p>
<h4 id="三设置引导">三、设置引导</h4>
<p> 使用以下命令格式化输出现在开机可用的引导项:</p>
<pre><code class="language-shell">awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231542912-1800308263.png" alt="" loading="lazy"></p>
<p> 找到最新安装的的高版本内核对应的引导项,并将其设置为默认的引导:</p>
<pre><code class="language-shell">grub2-set-default 0
</code></pre>
<h4 id="四重启">四、重启</h4>
<pre><code class="language-shell">reboot
</code></pre>
<p> 重启后再次查看内核,已更新为最新版:</p>
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231556080-1363017193.png" alt="" loading="lazy"></p>
<h4 id="五删除旧内核">五、删除旧内核</h4>
<p> 查找旧内核</p>
<pre><code class="language-shell">rpm -qa | grep kernel
</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231603782-156974085.png" alt="" loading="lazy"></p>
<p> 使用yum命令删除对应的内核</p>
<pre><code class="language-shell">yum remove kernel kernel-tools kernel-tools-libs
</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/1917925/202101/1917925-20210101231615281-1170707067.png" alt="" loading="lazy"></p><br><br>
来源:https://www.cnblogs.com/LegendLiuYC/p/14221234.html
頁:
[1]