Linux学习之CentOS 7.6.1810内核升级

cat /etc/redhat-release看到操作系统的版本是CentOS Linux release 7.6.1810 (Core)uname -r可以看到内核版本是3.10.0-957.21.3.el7.x86_64
在这里插入图片描述

wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.14.tar.xz下载源代码。
Linux学习之CentOS 7.6.1810内核升级_第1张图片

yum install -y gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel安装必要的依赖包。
Linux学习之CentOS 7.6.1810内核升级_第2张图片
完成之后,显示如下:
Linux学习之CentOS 7.6.1810内核升级_第3张图片

tar xf linux-5.1.14.tar.xz -C /usr/src/kernels/解压源代码,这个过程可能有些久,没有任何报错,返回到命令提示符就是正常解压完成,如下图所示。
在这里插入图片描述
或者tar xvf linux-5.1.14.tar.xz -C /usr/src/kernels/解压源代码,这样的话就可以看到解压过程。
在这里插入图片描述
解压过程最后部分如下:
Linux学习之CentOS 7.6.1810内核升级_第4张图片

cd /usr/src/kernels/linux-5.1.14/进入到目录里边。
在这里插入图片描述
make menuconfig执行之后报错如下:

/bin/sh: flex: command not found
make[2]: *** [scripts/kconfig/lexer.lex.c] Error 127
make[1]: *** [menuconfig] Error 2
make: *** [sub-make] Error 2

Linux学习之CentOS 7.6.1810内核升级_第5张图片

yum install -y bison flex elfutils-libelf-devel bc安装依赖包。
Linux学习之CentOS 7.6.1810内核升级_第6张图片

make menuconfig可以选择配置项,最上边有各个按键的解释,如下:

Arrow keys navigate the menu.
selects submenus —> (or empty submenus ----). Highlighted letters are hotkeys.
Pressing includes, excludes, modularizes features.
Press to exit, for Help, for Search. Legend: [*] built-in [ ]

Linux学习之CentOS 7.6.1810内核升级_第7张图片
我先按两下Esc退出选择页面,到了下边的页面。
Linux学习之CentOS 7.6.1810内核升级_第8张图片
然后按左箭头←按钮,选择之后,再按回车键,就推到了命令提示符处。
Linux学习之CentOS 7.6.1810内核升级_第9张图片

参考PuTTY 连接 linux 服务器执行 make menuconfig 乱码问题解决,可以先解决上边乱码问题。

cat <>~/.bashrc,然后把下边的内容输入进去:

export NCURSES_NO_UTF8_ACS=1
EOF

然后按一下Enter,就可以回到命令提示符这里了。
在这里插入图片描述

source ~/.bashrc使配置生效。

在这里插入图片描述

putty处设置一下,Terminal-type string处填入“linux”。
Linux学习之CentOS 7.6.1810内核升级_第10张图片
putty重新登录之后,cd /usr/src/kernels/linux-5.1.14/进入到目录里边。
在这里插入图片描述

make clean && make mrproper
在这里插入图片描述

我这里使用当前内核的配置文件当成升级内核的配置文件,cp /boot/config-3.10.0-957.21.3.el7.x86_64 /usr/src/kernels/linux-5.1.14/.config
在这里插入图片描述

make menuconfig再次进入,如下图:
Linux学习之CentOS 7.6.1810内核升级_第11张图片

我按EscEsc退出选择页面,到了下边的页面。
Linux学习之CentOS 7.6.1810内核升级_第12张图片
直接按Enter可以保存配置,并退出到命令行。
Linux学习之CentOS 7.6.1810内核升级_第13张图片

lscpu看一下CPU的个数。
Linux学习之CentOS 7.6.1810内核升级_第14张图片

make -j2 all

Linux学习之CentOS 7.6.1810内核升级_第15张图片
编译时间有点长。完成之后:
Linux学习之CentOS 7.6.1810内核升级_第16张图片

make modules_install安装内核模块。
Linux学习之CentOS 7.6.1810内核升级_第17张图片

完成之后,如下图:
Linux学习之CentOS 7.6.1810内核升级_第18张图片

make install开始安装

在这里插入图片描述

等了至少五分钟,才完成。

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg可以看到已经把新装的内核信息0 : CentOS Linux (5.1.14) 7 (Core)配置到/etc/grub2.cfg里边了。
Linux学习之CentOS 7.6.1810内核升级_第19张图片

cat /etc/default/grub看一下默认的grub文件里边的信息。
Linux学习之CentOS 7.6.1810内核升级_第20张图片

grub2-set-default 0设置一下系统开启时选择内核,把/etc/default/grub中的GRUB_DEFAULT=saved修改为GRUB_DEFAULT=0也就等于grub2-set-default 0这个命令,即命令sed -i "s/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g" /etc/default/grub就等于命令grub2-set-default 0
在这里插入图片描述

grub2-mkconfig -o /boot/grub2/grub.cfg重新生成grub.cfg文件。
Linux学习之CentOS 7.6.1810内核升级_第21张图片

reboot重新启动。

Linux学习之CentOS 7.6.1810内核升级_第22张图片

重新使用putty连接云服务器,uname -r可以看到内核版本已经换成了5.1.14

在这里插入图片描述

此文章为6月Day 25学习笔记,内容来源于极客时间《Linux 实战技能 100 讲》。

你可能感兴趣的:(Linux基础学习,linux,运维)