说明:在实际的业务生产场景中或者比较特殊的一些业务场景下,对业务主机甚至业务虚拟机的内核有一定的版本要求,需要高版本的内核来支持当前的业务或者其他服务。那如何是好呢?其实升级内核也非常简单。
下面以centos7 为例。
第一步:检查当前OS内核版本
当前这边使用的是一台centos的虚拟机来做内核版本的升级,如果当前的内核版本是3.10 如果我们需要把他升级到4.* 版本的内核该如何是好呢?
[root@localhost ~]
第二步:升级内核
那一般的升级内核的方法中分为有2个方法可以升级内核分为是直接用软件包升级或者通过编译升级,下面我们分别来看一下这2种方式的差别以及操作步骤
通过yum来升级
通过yum升级内核是最保险的升级方式,因为安装的是操作系统发行厂商验证过兼容性的rpm包,升级风险一般很小。
[root@localhost ~]
重启后即可在grub界面选择使用新内核(新内核一般是默认使用内核,所以也可不用选直接等机器重启完用的就是新内核了)。
通过手编译升级
手动编译升级风险是比较大的,轻则可能会导致应用的兼容性问题,重则系统可能就启不来了(当然旧内核没删还是可以选旧内核来启,前提是你的屏幕能直连机器而不是ssh) 但如果你就是想要升级到不是官方使用的内核版本,那么也只能使用手动编译的方式升级
下载内核
我们这里选择当前最新的4.14版本下载 https://www.kernel.org/pub/linux/kernel/
编译安装
tar -zxf linux-4.14.tar.gz
cd linux-4.14
make mrproper
make clean #这两条用于清除之前编译生成的.ko和.config
make oldconfig #使用当前的内核配置
make #编译,半小时以上是正常的
make modules_install #把编译出的内核模块复制到/lib/modules/${KERNEL_VERSION}
make install
make oldconfig行表示使用当前内核一样的配置,坏消息是一般新的功能还是要我们自己选择而且项数还不少,好消息是这些选择都有默认选项如果我们不在意这些新功能看也不看一直按住回车即可。 make config是每项都要自己选择,这个除了自己明白要什么配置不然不建议使用。 make default是直接使用linus提供的默认配置,这个基本什么不用选编译也很快但是也不建议用,编译快是因为很多东西都没启用使用这个内核你的发行版基本重启启不来了。
注意事项: make报错:/bin/sh: bc: 未找到命令 处理:yum install bc -y #这个建议提前安装 make报错:openssl/opensslv.h: No such file or directory 处理:yum install openssl-devel -y #这个建议提前安装 安装完成后使用reboot重启操作系统,再使用uname -r查看,内核成成功替换为4.14版本:
检查是否升级成功
|