当前位置: 首页 > news >正文

CentOS 7 安装指定内核版本与切换内核版本

一、查看当前内核版本

在开始操作之前,首先需要了解当前系统的内核版本:

uname -r

这个命令会显示当前正在使用的内核版本,例如:3.10.0-1160.el7.x86_64

二、安装指定内核版本

1. 添加ELRepo仓库源

ELRepo是一个为Enterprise Linux系统提供额外内核驱动的第三方仓库,需要先添加这个仓库:

# 导入ELRepo的GPG密钥
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org# 安装ELRepo仓库
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

2. 查看可用的内核版本

添加仓库后,可以查看所有可用的内核版本:

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-

这个命令会列出所有可用的内核包,包括:

  • kernel-lt:长期支持版本(Long Term Support)
  • kernel-ml:主线版本(Main Line)

3. 安装指定版本的内核

根据需求选择合适的内核版本进行安装。例如,安装5.4.181版本的长期支持内核:

yum --enablerepo="elrepo-kernel" install kernel-lt-5.4.181-1.el7.elrepo.x86_64 -y

如果要安装最新的长期支持版本,可以使用:

yum --enablerepo="elrepo-kernel" install kernel-lt -y

4. 验证内核安装

安装完成后,查看系统中的所有内核:

rpm -qa | grep kernel

或者查看GRUB配置中的内核列表:

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

输出示例:

0 : CentOS Linux (5.4.181-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.83.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.80.1.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-0e5781d77781441b97290d7bad5663e2) 7 (Core)

三、切换内核版本

CentOS 7使用GRUB2作为引导程序,切换内核版本主要有以下几种方法:

方法一:使用grub2-set-default命令

这是最简单直接的方法:

# 查看所有可用的内核
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg# 设置默认启动的内核(使用序号)
grub2-set-default 0# 或者使用完整的内核名称
grub2-set-default 'CentOS Linux (5.4.181-1.el7.elrepo.x86_64) 7 (Core)'# 验证设置是否成功
grub2-editenv list

方法二:修改/etc/default/grub文件

这种方法更加灵活,适合需要复杂配置的场景:

# 编辑GRUB配置文件
vi /etc/default/grub

修改文件中的GRUB_DEFAULT参数:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0  # 修改为对应的内核序号
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

保存文件后,重新生成GRUB配置:

grub2-mkconfig -o /boot/grub2/grub.cfg

方法三:使用grubby工具(推荐)

grubby是一个专门用于管理GRUB配置的工具,使用起来更加方便:

# 查看当前默认内核
grubby --default-kernel# 查看所有内核信息
grubby --info=ALL# 设置默认内核
grubby --set-default /boot/vmlinuz-5.4.181-1.el7.elrepo.x86_64

四、重启系统并验证

完成内核切换设置后,需要重启系统使更改生效:

reboot

重启完成后,验证当前使用的内核版本:

# 查看内核版本
uname -r# 查看详细的内核信息
uname -a

五、卸载不需要的内核版本

如果系统中有多个内核版本,为了节省磁盘空间,可以卸载不需要的内核:

# 查看已安装的内核包
rpm -qa | grep kernel# 卸载指定的内核版本
yum remove kernel-3.10.0-1160.80.1.el7.x86_64

注意:不要卸载当前正在使用的内核版本,否则可能导致系统无法启动。

六、常见问题与解决方案

1. 内核安装失败

如果遇到依赖问题,可以尝试:

yum clean all
yum update

2. GRUB配置错误

如果GRUB配置出现问题,可以尝试重新生成:

grub2-mkconfig -o /boot/grub2/grub.cfg

3. 系统无法启动

如果系统无法启动,可以在启动时进入GRUB菜单,手动选择可用的内核版本。

http://www.dtcms.com/a/511203.html

相关文章:

  • Spring MVC 拦截器interceptor
  • 如何在 CentOS、Ubuntu 和 Debian 云服务器上安装 Python 3
  • 《金融电子化》:构建金融韧性运行安全体系:从灾备管理到主动防御新范式​​
  • spark组件-spark core(批处理)
  • 进行网站建设视频教程装修网站cms
  • 解决Kali虚拟机中VMnet1(仅主机模式)网卡无法获取IP地址的问题
  • Linux驱动开发笔记(十一)——阻塞和非阻塞IO
  • Docker----快速入门
  • 深度学习8-卷积神经网络-CNN概述-卷积层-池化层-深度卷积神经网络-案例:服装分类
  • 厦门做外贸网站国内十大咨询公司排名
  • 架构设计过去十年与未来十年
  • Nginx 日志轮转
  • 《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.22容器版副本集群》
  • 《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.22容器版分片集群》
  • MongoDB基础与Mongoose ODM
  • 做定制网站价格教做flash的网站
  • 【流量控制】算不对 GBN 窗口?分不清 SR 重传?滑动窗口 + 3 大协议一篇吃透
  • 临时插入的紧急任务如何影响整体进度
  • 国内net开发的网站建设网站建设费如何会计处理
  • Melos 使用指南:Flutter / Dart 多包管理工具!
  • React组件完全指南
  • TypeScript:npm的types、typings、@type的区别
  • 我的第一份开源贡献:小米工程师程赛的社区之旅
  • Python 基础 | 第八课:函数详解与应用
  • 火狐浏览器替换js脚本
  • 车载诊断架构 --- 由一个售后问题引发对P4时间的思考
  • 第3章 SQL数据定义语句
  • phpcms 网站m8 wordpress主题
  • Docker到Kubernetes的平滑迁移(服务网格实战)
  • 数据挖掘知识体系分析