linux(centos)内核更新
1、背景形容
有一个业务需要使用overlay文件系统,经查overlayfs需要linux内核3.14以上,我使用的两台测试机是2.x和3.10,均不支持overlayfs,在overlay挂载时均报错:
mount: unknown filesystem type 'overlay'
1
遂需要对linux内核做更新。
2、查看那系统内核版本
# uname -r
3.10.0-514.el7.x86_64
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
1
2
3
4
3、更新内核
Centos 6和Centos 7的更新方法相似,只不过就是选择的YUM源或者者rpm包不同罢了,下面主要是Centos 7的安装方法,中间也会有对于Centos 6 更新的方法提醒。
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.rpm
1
2
更新内核需要先导入elrepo的key,而后安装elrepo的yum源:
# 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
1
2
仓库启用后,你可以使用下面的命令列出可用的内核相关包,如下:
[root@iZ2ze1ddoyj3i3p3098r20Z test]# yum –disablerepo=”*” –enablerepo=”elrepo-kernel” list available
Loaded plugins: langpacks
Available Packages
kernel-lt.x86_64 4.4.163-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.163-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.163-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.163-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.163-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.163-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.163-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 4.19.2-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 4.19.2-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 4.19.2-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 4.19.2-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 4.19.2-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 4.19.2-1.el7.elrepo elrepo-kernel
perf.x86_64 4.19.2-1.el7.elrepo elrepo-kernel
python-perf.x86_64 4.19.2-1.el7.elrepo elrepo-kernel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
其中长期维护版本lt为4.4.163,最新主线稳固版ml为4.19
使用如下命令,安装需要的版本:
# yum -y –enablerepo=elrepo-kernel install kernel-ml.x86_64 kernel-ml-devel.x86_64
1
4、修改grub中默认的内核版本
内核更新完毕后,目前内核还是默认的版本,假如此时直接执行reboot命令,重启后使用的内核版本还是默认的3.10,不会使用新的4.12.4,首先,我们可以通过命令查看默认启动顺序:
# awk -F\' '$1==”menuentry ” {print $2}' /etc/grub2.cfg
CentOS Linux (4.12.4-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-a43cc2091b4557f1fd10a52ccffa5db2) 7 (Core)
1
2
3
4
由上面可以看出新内核(4.12.4)目前位置在0,原来的内核(3.10.0)目前位置在1,所以假如想生效最新的内核,还需要修改内核的启动顺序为0:
# vim /etc/default/grub
1
Centos 6 更改的文件相同,使用命令确定新内核位置后,而后将参数default更改为0就可。
接着运行grub2-mkconfig命令来重新创立内核配置,如下:
# grub2-mkconfig -o /boot/grub2/grub.cfg
1
5、重启系统并查看系统内核
# reboot
1
系统启动完毕后,可以通过命令查看系统的内核版本,如下:
# uname -r
4.12.4-1.el7.elrepo.x86_64
1
2
已成功升级至4.12.4

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » linux(centos)内核更新