centos 升级内核

一、关于内核版本的定义:

版本性质:主分支ml(mainline),稳定版(stable),长期维护版lt(longterm)

版本命名格式为 “A.B.C”:

数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候才会改变,历史上有两次变化: 第一次是1994年的 1.0 版,第二次是1996年的 2.0 版,第三次是2011年的 3.0 版发布,但这次在内核的概念上并没有发生大的变化 数字 B 是内核主版本号:主版本号根据传统的奇-偶系统版本编号来分配:奇数为开发版,偶数为稳定版 数字 C 是内核次版本号:次版本号是无论在内核增加安全补丁、修复bug、实现新的特性或者驱动时都会改变

二、查看那系统内核版本

# uname -r
3.10.0-514.el7.x86_64
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

三、升级内核

Centos 6和Centos 7的升级方法类似,只不过就是选择的YUM源或者rpm包不同罢了,下面主要是Centos 7的安装方法,中间也会有对于Centos 6 升级的方法提示。

1、方法一(可以升级到最新稳定版本,yum安装):

(1)确认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.rpm

(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

(3)仓库启用后,可以使用下面的命令列出可用的内核相关包,如下图:

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

上图可以看出,长期维护版本lt为4.4,最新主线稳定版ml为4.12,我们需要安装最新的主线稳定内核,

(4)使用如下命令:(以后这台机器升级内核直接运行这句就可升级为最新稳定版)

# yum -y --enablerepo=elrepo-kernel install kernel-ml.x86_64 kernel-ml-devel.x86_64

2、方法二(本地安装):

(1)对于一些无法上网的服务器,或者需要安装指定版本内核的需求,我们可以把kernel image的rpm包下载下来安装,下载地址如下:

下载指定版本-kernel:

kernel: http://rpm.pbone.net/index.php3?stat=3&limit=1&srodzaj=3&dl=40&search=kernel

下载指定版本-kernel-devel:

kernel-devel:http://rpm.pbone.net/index.php3?stat=3&limit=1&srodzaj=3&dl=40&search=kernel-devel

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

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

(2)将rpm包下载上传到服务器上,使用下面的命令安装即可:

# yum -y install kernel-ml-devel-4.12.4-1.el7.elrepo.x86_64.rpm
# yum -y install kernel-ml-4.12.4-1.el7.elrepo.x86_64.rpm

3、方法三:

还可以通过源码包编译安装,这种方式可定制性强,但也比较复杂,有需要的可自行查找资料安装,下面只给出各系统版本内核源码包的下载地址:https://www.kernel.org/pub/linux/kernel/

四、修改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) 由上面可以看出新内核(4.12.4)目前位置在0,原来的内核(3.10.0)目前位置在1,所以如果想生效最新的内核,还需要我们修改内核的启动顺序为0:

vim /etc/default/grub

注:Centos 6 更改的文件相同,使用命令确定新内核位置后,然后将参数default更改为0即可。

通过内核名称设置默认启动内核

centos 升级内核
grub2-set-default "CentOS Linux (4.4.206-1.el7.elrepo.x86_64) 7 (Core)"
grub2-editenv list

接着运行grub2-mkconfig命令来重新创建内核配置,如下:

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

五、重启系统并查看系统内核

reboot

系统启动完毕后,可以通过命令查看系统的内核版本,如下:

uname -r

4.12.4-1.el7.elrepo.x86_64 到此,Centos 7内核升级完毕。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7666

(0)
郭靖的头像郭靖
上一篇 2023年3月16日 下午4:41
下一篇 2023年3月17日 下午2:48

相关推荐

  • 使用 B VPS 中转 A VPS 流量

    引言 由于某些不可抗力原因, 所处网络环境无法访问 A VPS, 因此 增加 能访问到的 B VPS 来中转流量到 A VPS me –x-> A VPS me <—-> B VPS <—-> A VPS 非内网穿透需求, A VPS 有公网ip, 可被公网直接发现 和使用某些客户端 配合 Cloudflare…

    2024年6月28日
    2.5K00
  • Route命令详解

    route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。 在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址…

    2023年4月7日
    1.2K00
  • Docker安装部署Redis数据库

    通过Docker部署Redis,比起我们自己编译安装的方式,会更加方便容易管理。今天就来简单分享一下使用Docker部署Redis数据库。 1,拉取镜像 通过下列命令: 2,创建数据卷 通常,类似于MySQL,Redis作为数据库,我们最好还是需要将其配置和数据等等挂载到数据卷以持久化到宿主机。 仍然是使用具名挂载的方式方便管理。 这样就创建了两个数据卷分别…

    2023年1月11日
    1.1K00
  • OpenSuSe系统登录密码忘了如何进行重置

    如果你的OpenSusE系统密码忘记了,又不想重装系统,那么,你可以通过如下几个步骤来强制重置root密码 1、重新启动机器,在出现grub引导界面后,按“e”,出现启动Linux的选项,移动光标至第一个选项上再次按“e”出现一个编辑字符的界面在字符后面加入“init=/bin/bash”字段,然后回车。按Ctrl+X,通过给内核传递init=/bin/ba…

    2022年11月24日
    1.5K00
  • Git:合并多个commit 的高级技巧

    前言 在我们的日常项目开发中,git commit -m 无疑是使用最频繁的指令,这也造成了大量的commit 在我们的分支上。这样常常会带来分支过长、版本过多的问题。 正文 想要解决这个问题,我们通常会对commit 进行合并。 当我们发现两个commit 或多个commit 存在很强的关联性、并且几个commit 加起来也可以成为一个完整的描述的时候,就…

    2023年3月15日
    1.8K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信