CentOS升级内核的常用方法(以CentOS 7为例,CentOS 8及以上类似)
uname -r # 输出示例:3.10.0-1160.el7.x86_64
适用于需要修复安全漏洞或获取小版本更新的场景,升级后的内核版本由官方仓库提供。
sudo yum update -y
sudo yum install kernel -y
sudo dnf install kernel -y
sudo vi /etc/default/grub
# 确认GRUB_DEFAULT=0(0表示第一个菜单项,即最新内核)
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
uname -r # 应显示新内核版本
适用于需要最新内核特性(如更好的硬件支持、性能优化)的场景,ELRepo是第三方仓库,提供比官方更及时的内核版本。
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
kernel-ml为主线内核,kernel-lt为长期支持内核)。sudo yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
sudo yum --enablerepo=elrepo-kernel install kernel-lt -y
sudo grub2-set-default 0 # 将新内核设为默认启动项(0表示GRUB菜单第一个条目)
sudo grub2-mkconfig -o /boot/grub2/grub.cfg # 更新GRUB配置
sudo reboot
uname -r # 应显示ELRepo提供的内核版本(如5.15.0-1.el7.elrepo.x86_64)
适用于需要特定内核功能或版本的场景,但过程复杂,不建议新手使用。
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.0.tar.xz
tar -xvf linux-5.15.0.tar.xz -C /usr/src/
cd /usr/src/linux-5.15.0
cp /boot/config-$(uname -r) .config
make oldconfig # 更新配置
sudo yum install ncurses-devel -y
make menuconfig
make -j$(nproc)
sudo make modules_install
sudo make install
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
uname -r # 应显示手动编译的内核版本(如5.15.0)