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)