Centos/Redhat_7.9系统内核升级

前言:
  在企业生产过程中,为提高系统稳定性、安全性,提升系统性能和响应速度需要根据需求升级内核,当然更是为了更好的兼容其他工具版本,操作系统是个载体,运行的应用是我们的生产工具。

1. 第三方yum源升级

查看系统安装后信息

cat /etc/redhat-release
uname -r
uname -a

rpm -qa | grep kernel			## 已安装内核包信息
kernel-tools-3.10.0-1160.el7.x86_64
kernel-tools-libs-3.10.0-1160.el7.x86_64
kernel-headers-3.10.0-1160.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-devel-3.10.0-1160.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64

查看yum源信息

yum repolist

升级命令

wget -nc http://mirrors.aliyun.com/repo/Centos-7.repo
yum upgrade -y			## 更新已安装的所有软件包

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org			## 载入ELRepo仓库的公共密钥

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-6.el7.elrepo.noarch.rpm			## 安装ELRepo仓库的yum源

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available			## 查看可用的系统内核包
yum info --enablerepo=elrepo-kernel kernel-lt kernel-ml			## 查看kernel-lt和kernel-ml内核版本信息

yum --enablerepo=elrepo-kernel install kernel-lt kernel-lt-devel -y			## 根据需求选择版本

rpm -qa | grep kernel
kernel-headers-3.10.0-1160.114.2.el7.x86_64
kernel-lt-devel-5.4.274-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-1160.114.2.el7.x86_64
kernel-devel-3.10.0-1160.114.2.el7.x86_64
kernel-3.10.0-1160.114.2.el7.x86_64
kernel-tools-3.10.0-1160.114.2.el7.x86_64
kernel-lt-5.4.274-1.el7.elrepo.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-devel-3.10.0-1160.el7.x86_64
abrt-addon-kerneloops-2.1.11-60.el7.centos.x86_64

yum remove kernel-tools kernel-tools-libs kernel-headers -y			## 删除旧版本的kernel-tools、kernel-tools-libs和kernel-headers,卸载过程中同事卸载了一些依赖我们要安装回来

yum install compat-glibc compat-glibc-headers gcc gcc-c++ gcc-gfortran glibc-devel glibc-headers libquadmath-devel libtool perl-Archive-Extract perl-CPAN perl-CPANPLUS perl-CPANPLUS-Dist-Build perl-ExtUtils-CBuilder perl-ExtUtils-Embed perl-ExtUtils-Install perl-ExtUtils-MakeMaker perl-ExtUtils-ParseXS perl-File-Fetch perl-IPC-Cmd perl-Module-Build perl-core perl-devel systemtap systemtap-devel -y

yum --enablerepo=elrepo-kernel install kernel-lt* -y			## 安装新kernel-tools、kernel-tools-libs和kernel-headers

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.4.274-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.114.2.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-71fdb9cb6af84a52bdb24a6918bccb72) 7 (Core)

grub2-set-default 0
grub2-mkconfig -o /etc/grub2.cfg
grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"

reboot

内核相关包说明

kernel-lt
The Linux kernel. (The core of any Linux-based operating system.)
最核心的包,所有Linux系统的基础

kernel-lt-devel
Development package for building kernel modules to match the kernel.
内核开发包,更多是提供给内核开发人员开发内核的一些功能模块

kernel-lt-doc
Various bits of documentation found in the kernel sources.
内核包的指引文档

kernel-lt-headers
Header files of the kernel, for use by glibc.
内核的头文件,一般其他应用需要调用内核能力就要引入这些头文件

kernel-lt-tools
Assortment of tools for the kernel.
内核级别的一些工具

kernel-lt-tools-libs
Libraries for the kernel tools.
内核级别工具所依赖的包

kernel-lt-tools-libs-devel
Development package for the kernel tools libraries.
内核级别工具开发所需的依赖包

2. 源码编译升级


源码包下载

http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/
https://cdn.kernel.org/pub/linux/kernel/
https://www.kernel.org/
https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.274.tar.xz			## 为跟yum升级内核版本匹配

安装编译所需要的依赖并更新

yum install gcc make ncurses-devel openssl-devel flex bison  elfutils-libelf-devel  -y			## gcc版本 > 4.9
yum upgrade -y

复制默认内核配置文件

cp /boot/config-$(uname -r) .config
make config			## 传统文本配置
make menuconfig			## 以文本选项配置内核选项
make xconfig		## 以图形界面配置内核选项
make oldconfig			## 更新当前配置文件以匹配新版本内核的配置选项,同时保留现有配置中的设置和选择

编译安装

make -j 16			## 漫长的等待
make modules_install			## 将编译生成的内核模块安装到系统中
make install

小结:
  两种方式各有优缺点,根据需求选择。yum升级简单高效,但是版本较少;源码编译升级可选择内核版本相对灵活,但升级过程比较复杂;内核升级过程中尽量先测试后升级,以免勇士变烈士。

引用:
  Linux内核版本介绍与查询
  CentOS7内核升级、降级、指定内核版本,查看内核信息教程

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值