一、Centos7 内核升级

安装elrepo
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
载入elrepo-kernel元数据
# yum --disablerepo="*" --enablerepo="elrepo-kernel" repolist
安装稳定版本内核
kernel-lt 和 kernel-ml 二者的区别:

kernel-ml软件包是根据Linux Kernel Archives的主线稳定分支提供的源构建的。 内核配置基于默认的RHEL-7配置,并根据需要启用了添加的功能。 这些软件包有意命名为kernel-ml,以免与RHEL-7内核发生冲突,因此,它们可以与常规内核一起安装和更新。

kernel-lt包是从Linux Kernel Archives提供的源代码构建的,就像kernel-ml软件包一样。 不同之处在于kernel-lt基于长期支持分支,而kernel-ml基于主线稳定分支。

在 ELRepo中有两个内核选项,一个是kernel-lt(长期支持版),一个是 kernel-ml(主线最新版本),采用长期支持版本(kernel-lt),更加稳定一些。
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirror-hk.koddos.net
Available Packages
kernel-lt.x86_64                                                   5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-devel.x86_64                                             5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-doc.noarch                                               5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-headers.x86_64                                           5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-tools.x86_64                                             5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-tools-libs.x86_64                                        5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                  5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-ml.x86_64                                                   5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-devel.x86_64                                             5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-doc.noarch                                               5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-headers.x86_64                                           5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-tools.x86_64                                             5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-tools-libs.x86_64                                        5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                  5.12.8-1.el7.elrepo                                   elrepo-kernel
perf.x86_64                                                        5.12.8-1.el7.elrepo                                   elrepo-kernel
python-perf.x86_64                                                 5.12.8-1.el7.elrepo                                   elrepo-kernel
安装长期支持版
# yum --enablerepo="elrepo-kernel" install kernel-lt
检查系统上可用的内核
# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.123-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-577567423019484e9466d9570b6fbb17) 7 (Core)
设置开机从新内核启动
方法1:
# grub2-set-default 0

方法2:
编辑配置文件 vim /etc/default/grub
将GRUB_DEFAULT=saved改为GRUB_0=saved,保存退出vim。
创建内核配置
#运行grub2-mkconfig命令来重新创建内核配置

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.123-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.4.123-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-577567423019484e9466d9570b6fbb17
Found initrd image: /boot/initramfs-0-rescue-577567423019484e9466d9570b6fbb17.img
done
# uname -sr
Linux 3.10.0-1160.el7.x86_64

内核升级操作步骤如下:

安装elrepo#

载入公钥,安装eprepo源(网址:http://elrepo.org/)

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

载入elrepo-kernel元数据#

# yum --disablerepo="*" --enablerepo="elrepo-kernel" repolist

安装稳定版本内核#

  • 查看可用的内核版本

kernel-ltkernel-ml 二者的区别:

  • kernel-ml软件包是根据Linux Kernel Archives的主线稳定分支提供的源构建的。 内核配置基于默认的RHEL-7配置,并根据需要启用了添加的功能。 这些软件包有意命名为kernel-ml,以免与RHEL-7内核发生冲突,因此,它们可以与常规内核一起安装和更新。
  • kernel-lt包是从Linux Kernel Archives提供的源代码构建的,就像kernel-ml软件包一样。 不同之处在于kernel-lt基于长期支持分支,而kernel-ml基于主线稳定分支。

ELRepo中有两个内核选项,一个是kernel-lt(长期支持版),一个是 kernel-ml(主线最新版本),采用长期支持版本(kernel-lt),更加稳定一些。

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * elrepo-kernel: mirror-hk.koddos.net
Available Packages
kernel-lt.x86_64                                                   5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-devel.x86_64                                             5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-doc.noarch                                               5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-headers.x86_64                                           5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-tools.x86_64                                             5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-tools-libs.x86_64                                        5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                                  5.4.123-1.el7.elrepo                                  elrepo-kernel
kernel-ml.x86_64                                                   5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-devel.x86_64                                             5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-doc.noarch                                               5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-headers.x86_64                                           5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-tools.x86_64                                             5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-tools-libs.x86_64                                        5.12.8-1.el7.elrepo                                   elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                                  5.12.8-1.el7.elrepo                                   elrepo-kernel
perf.x86_64                                                        5.12.8-1.el7.elrepo                                   elrepo-kernel
python-perf.x86_64                                                 5.12.8-1.el7.elrepo                                   elrepo-kernel
  • 安装长期支持版
# yum --enablerepo="elrepo-kernel" install kernel-lt

检查系统上可用的内核#

# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.123-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-577567423019484e9466d9570b6fbb17) 7 (Core)

设置开机从新内核启动#

  • 方法1:
# grub2-set-default 0
  • 方法2:
编辑配置文件 vim /etc/default/grub
将GRUB_DEFAULT=saved改为GRUB_0=saved,保存退出vim。

创建内核配置#

运行grub2-mkconfig命令来重新创建内核配置

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.4.123-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-5.4.123-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-577567423019484e9466d9570b6fbb17
Found initrd image: /boot/initramfs-0-rescue-577567423019484e9466d9570b6fbb17.img
done
重启并验证
# reboot
# uname -sr
Linux 5.4.123-1.el7.elrepo.x86_64