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