wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.14.tar.xz下载源代码。
 
yum install -y gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel安装必要的依赖包。
 
 完成之后,显示如下:
 
tar xf linux-5.1.14.tar.xz -C /usr/src/kernels/解压源代码,这个过程可能有些久,没有任何报错,返回到命令提示符就是正常解压完成,如下图所示。
 
 或者tar xvf linux-5.1.14.tar.xz -C /usr/src/kernels/解压源代码,这样的话就可以看到解压过程。
 
 解压过程最后部分如下:
 
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

yum install -y bison flex elfutils-libelf-devel bc安装依赖包。
 
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 [ ]

 我先按两下Esc退出选择页面,到了下边的页面。
 
 然后按左箭头按钮,选择之后,再按回车键,就推到了命令提示符处。
 
参考PuTTY 连接 linux 服务器执行 make menuconfig 乱码问题解决,可以先解决上边乱码问题。
 cat <<EOF>>~/.bashrc,然后把下边的内容输入进去:
export NCURSES_NO_UTF8_ACS=1
EOF
然后按一下Enter,就可以回到命令提示符这里了。
 
source ~/.bashrc使配置生效。

在putty处设置一下,Terminal-type string处填入“linux”。
 
 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再次进入,如下图:
 
我按EscEsc退出选择页面,到了下边的页面。
 
 直接按Enter可以保存配置,并退出到命令行。
 
lscpu看一下CPU的个数。
 
make -j2 all

 编译时间有点长。完成之后:
 
make modules_install安装内核模块。
 
完成之后,如下图:
 
make install开始安装

等了至少五分钟,才完成。
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg可以看到已经把新装的内核信息0 : CentOS Linux (5.1.14) 7 (Core)配置到/etc/grub2.cfg里边了。
 
cat /etc/default/grub看一下默认的grub文件里边的信息。
 
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文件。
 
reboot重新启动。

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

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













![五、浅析[ElasticSearch]底层原理与分组聚合查询](https://img-blog.csdnimg.cn/531f2cd371284c1299a7d3c1e726dc78.png)





