查看系统版本:
cat /etc/redhat-release
显示:
CentOS Linux release 7.9.2009 (Core)
查看内核版本:
uname -r
显示:
3.10.0-1160.92.1.el7.x86_64
有三种安装方式,yum、rpm、源码
内核种类:
kernel-ml中的ml是mailine stable 就是最新的版本
kernel-tl中的tl是long term support 缩写,是长期支持的版本
yum安装步骤:
导入签名key,这是elrepo仓库公共秘钥,(3.0以上内核引入签名机制)以及仓库源
导入key:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安装最新源:
yum install http://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
查看可安装版本(ml版):
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep kernel-ml.x86_64
查看可安装版本(lt版):
yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep kernel-lt.x86_64
安装最新版本(ml版):
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
安装最新版本(lt版):
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y
查看现有内核启动顺序:
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
修改默认启动项:
grub2-set-default 0
从0计数,grub2-set-default 0和/etc/default/grub文件里的GRUB_DEFAULT=0意思一样,看新版本为那个序号一般为0
重新生成grub配置文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
重启看一下有没有新的内核启动选项。
rpm安装步骤:
导入key和源,wget下载安装包到指定目录,一键安装所有rpm -ivh *.rpm ./,然后设置启动顺序,重启即可。
源码安装步骤:
安装依赖
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
创建目录
mkdir ~/kernelbuild
获取源码,在线下载:
wget https://mirror.tuna.tsinghua.edu.cn/kernel/vxxx.tar.xz
解压到目录:
tar -xvJf vxxx.tar.xz
为确保内核树绝对干净,进入目录后执行:
cd vxxx
make clean && make mrproper
复制当前环境的内核配置,亦可以用默认,可以根据实际情况修改:
cp /boot/config-3.10.0-862.el7.x86_64 .config
编译内核:
make -j x
如果是4核的机器,x可以是8
安装内核,从这里开始要root权限执行命令,否则会失败:
make modeuls_install install
设置启动顺序,重启即可。
查看现有内核启动顺序:
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
修改默认启动项:
grub2-set-default 0
卸载多余内核
查看系统中全部内核:
rpm -qa | grep kernel
删除指定内核:
yum remove -y kernel-3.xxxx
删除的依赖再安装
yum --enablerepo=elrepo-kernel -y install kernel-ml-headers
yum install gcc gcc-c++ gcc-gfortran glibc-devel glibc-headers libquadmath-devel libtool systemtap systemtap-devel
也可以使用yum-utils工具,如果内核少于三个,不会删除,多于三个会自动删除旧内核
yum install -y yum-utils
package-cleanup –oldkernels
卸载完之后不一定要重启。