CentOS 7/6系统升级内核版本到5.2.2

因为公司服务器新业务须要,须要将CentOS 7系统的内核(3.10.0-229)进行升级。linux

关于内核版本的定义:
版本性质:主分支ml(mainline),稳定版(stable),长期维护版lt(longterm)
版本命名格式为 “A.B.C”:
数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候才会改变,历史上有两次变化:
第一次是1994年的 1.0 版,第二次是1996年的 2.0 版,第三次是2011年的 3.0 版发布,但此次在内核的概念上并无发生大的变化
数字 B 是内核主版本号:主版本号根据传统的奇-偶系统版本编号来分配:奇数为开发版,偶数为稳定版
数字 C 是内核次版本号:次版本号是不管在内核增长安全补丁、修复bug、实现新的特性或者驱动时都会改变vim

1 查看系统内核版本centos

[root@vvuv0394 ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@vvuv0394 ~]# uname -r
3.10.0-327.el7.x86_64

2 在升级内核以前,先升级软件包(非必要)安全

yum update -y

3 升级内核服务器

CentOS 6 和CentOS 7的升级方法相似,只不过选择的yum源或者rpm包不一样而已,下面仅记录CentOS7升级的详细过程ui

方法一:添加第三方yum源进行下载安装。
Centos 6 YUM源:http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Centos 7 YUM源:http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpmspa

先导入elrepo的key,而后安装elrepo的yum源:code

rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

仓库启用后,你可使用下面的命令列出可用的内核相关包,以下图:blog

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

上图能够看到,长期维护版本lt为4.4,最新主线稳定版ml为5.2.2,接下来使用命令安装最新稳定内核开发

yum -y --enablerepo=elrepo-kernel install kernel-ml

方法二:经过下载kernel image的rpm包进行安装。
下载地址:

官方 Centos 6: http://elrepo.org/linux/kernel/el6/x86_64/RPMS/

官方 Centos 7: http://elrepo.org/linux/kernel/el7/x86_64/RPMS/

获取下载连接进行下载安装便可

wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.185-1.el7.elrepo.x86_64.rpm

rpm -ivh kernel-lt-4.4.185-1.el7.elrepo.x86_64.rpm

 

方法三:经过源码包编译安装.

这种方式可定制性强,但也比较复杂,有须要的可自行查找资料安装,下面只给出各系统版本内核源码包的下载地址:

https://www.kernel.org/pub/linux/kernel/

4 修改grub中默认的内核版本

方法一
内核升级完毕后,目前内核仍是默认的版本,若是此时直接执行reboot命令,重启后使用的内核版本仍是默认的3.10,不会使用新的5.2.2,首先,咱们能够经过命令查看默认启动顺序

[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.2.2-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.10.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-e34fb4f1527b4f2d9fc75b77c016b6e7) 7 (Core)

由上面能够看出新内核(4.12.4)目前位置在0,原来的内核(3.10.0)目前位置在1,因此若是想生效最新的内核,还须要咱们修改内核的启动顺序为0:

vim /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

注:Centos 6 更改的文件相同,使用命令肯定新内核位置后,而后将参数default更改成0便可。

接着运行grub2-mkconfig命令来从新建立内核配置,以下:

grub2-mkconfig -o /boot/grub2/grub.cfg

5 重启系统并查看系统内核

reboot
[root@localhost ~]# uname -r
5.2.2-1.el7.elrepo.x86_64

到此,内核升级完毕。

相关文章
相关标签/搜索