
前言:为什么要升级内核
内核是操作系统的核心,它的主要任务是管理硬件资源和提供系统服务。内核的更新通常有以下几个原因:
- 性能提升:新的内核可能会提供更好的性能,包括更快的启动时间、更快的文件系统访问和更快的网络传输速度等。
- 安全性提升:新的内核通常修复了已知的漏洞和安全问题,提高了系统的安全性和稳定性。
- 新的硬件支持:新的内核可能支持更多的硬件设备和技术。
- 新的功能支持:新的内核通常会提供新的功能和改进,例如更好的文件系统支持、更好的虚拟化支持等。
准备工作
安装SCL扩展源
yum -y install centos-release-scl
更换阿里源
echo > /etc/yum.repos.d/CentOS-SCLo-scl.repo
cat > /etc/yum.repos.d/CentOS-SCLo-scl.repo <<-EOF
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF
yum clean all && yum makecache && yum update -y
安装编译依赖
yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc
yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils
启用SCL环境
scl enable devtoolset-11 bash
echo "source /opt/rh/devtoolset-11/enable" >>/etc/profile
编译过程
获取Kernel源码
可以访问https://mirrors.aliyun.com/linux-kernel/获取最新版本的Kernel
yum install -y wget && wget https://mirror.tuna.tsinghua.edu.cn/kernel/v6.x/linux-6.9.9.tar.xz && tar -xvJf linux-6.9.9.tar.xz && rm -rf linux-6.9.9.tar.xz && cd linux-6.9.9
查看当前Linux内核版本
uname -rs
确保内核树足够干净
make clean && make mrproper
复制配置文件
如果你/boot目录下有两个config-xxxx的文件,选择版本比较大的,即可!
假设我的配置文件是/boot/config-3.10.0-1160.119.1.el7.x86_64
cp /boot/config-3.10.0-1160.119.1.el7.x86_64
高级配置
y 是启用, n 是禁用, m 是需要时启用.make menuconfig
: 老的 ncurses 界面,被 nconfig 取代make nconfig
: 新的命令行 ncurses 界面
即使你不配置任何东西,你也需要进入保存一下!
进入后按ESC,选择save
编译并安装内核
编译安装大概需要30-40分钟,请耐心等待!
make -j$(nproc) && make modules_install install
如果卡在 INSTALL /boot
耐心等待即可
设置启动项
如果新内核有问题,可以通过更改启动顺序改回原来内核
# 查看grub启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
# 设置启动顺序
grub2-set-default 0
# 重启生效
reboot
卸载内核
查看内核版本
uname -rs
查看所有内核
rpm -qa | grep kernel
删除内核
请在确定系统无其他问题情况下执行
yum remove -y kernel-*
reboot
清理环境:
rm -rf ~/linux*
Ok!下课!(本文编写耗时3小时)
参考:
CentOS 7升级内核的三种方式(yum/rpm/源码) - Noleaf - 博客园
Centos7下升级gcc/g++版本(简单 + 避坑)_devtoolset-11-gcc-CSDN博客
广告:
© 版权声明
THE END
- 最新
- 最热
只看作者