Linux运维之CentOS 7 升级内核版本

x33g5p2x  于2022-02-07 转载在 Linux  
字(8.0k)|赞(0)|评价(0)|浏览(610)

系统环境:

  • 系统版本:CentOS 7.9
  • 前内核版本:3.10.0-1160
  • 升级后的内核版本:5.4.171-1
  1. $ uname -rs
  2. Linux 3.10.0-1160.45.1.el7.x86_64

安装 ELRepo 最新版本

载入公钥并安装 ELRepo 最新版本:

  1. ## 载入公钥
  2. $ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
  3. ## 安装 ELRepo 最新版本
  4. $ yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
  5. Loaded plugins: fastestmirror, langpacks
  6. elrepo-release-7.el7.elrepo.noarch.rpm | 8.6 kB 00:00:00
  7. Examining /var/tmp/yum-root-5iUPAM/elrepo-release-7.el7.elrepo.noarch.rpm: elrepo-release-7.0-5.el7.elrepo.noarch
  8. Marking /var/tmp/yum-root-5iUPAM/elrepo-release-7.el7.elrepo.noarch.rpm to be installed
  9. Resolving Dependencies
  10. There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
  11. --> Running transaction check
  12. ---> Package elrepo-release.noarch 0:7.0-5.el7.elrepo will be installed
  13. --> Finished Dependency Resolution
  14. base/7/x86_64 | 3.6 kB 00:00:00
  15. docker-ce-stable/x86_64 | 3.5 kB 00:00:00
  16. docker-ce-stable/x86_64/primary_db | 70 kB 00:00:00
  17. epel/x86_64 | 4.7 kB 00:00:00
  18. epel/x86_64/updateinfo | 1.0 MB 00:00:00
  19. epel/x86_64/primary_db | 7.0 MB 00:00:01
  20. extras/7/x86_64 | 2.9 kB 00:00:00
  21. packages-microsoft-com-prod | 3.0 kB 00:00:00
  22. packages-microsoft-com-prod/primary_db | 505 kB 00:00:00
  23. updates/7/x86_64 | 2.9 kB 00:00:00
  24. updates/7/x86_64/primary_db | 13 MB 00:00:02
  25. Dependencies Resolved
  26. ==============================================================================================================================================================================================================================================================================
  27. Package Arch Version Repository Size
  28. ==============================================================================================================================================================================================================================================================================
  29. Installing:
  30. elrepo-release noarch 7.0-5.el7.elrepo /elrepo-release-7.el7.elrepo.noarch 5.0 k
  31. Transaction Summary
  32. ==============================================================================================================================================================================================================================================================================
  33. Install 1 Package
  34. Total size: 5.0 k
  35. Installed size: 5.0 k
  36. Downloading packages:
  37. Running transaction check
  38. Running transaction test
  39. Transaction test succeeded
  40. Running transaction
  41. Installing : elrepo-release-7.0-5.el7.elrepo.noarch 1/1
  42. Verifying : elrepo-release-7.0-5.el7.elrepo.noarch 1/1
  43. Installed:
  44. elrepo-release.noarch 0:7.0-5.el7.elrepo
  45. Complete!

安装新的内核版本

查询出可以使用的 kernel 包版本:

  1. $ yum list available --disablerepo=* --enablerepo=elrepo-kernel
  2. Loaded plugins: fastestmirror, langpacks
  3. Determining fastest mirrors
  4. * elrepo-kernel: hkg.mirror.rackspace.com
  5. elrepo-kernel | 3.0 kB 00:00:00
  6. elrepo-kernel/primary_db | 2.0 MB 00:00:01
  7. Available Packages
  8. kernel-lt.x86_64 5.4.171-1.el7.elrepo elrepo-kernel
  9. kernel-lt-devel.x86_64 5.4.171-1.el7.elrepo elrepo-kernel
  10. kernel-lt-doc.noarch 5.4.171-1.el7.elrepo elrepo-kernel
  11. kernel-lt-headers.x86_64 5.4.171-1.el7.elrepo elrepo-kernel
  12. kernel-lt-tools.x86_64 5.4.171-1.el7.elrepo elrepo-kernel
  13. kernel-lt-tools-libs.x86_64 5.4.171-1.el7.elrepo elrepo-kernel
  14. kernel-lt-tools-libs-devel.x86_64 5.4.171-1.el7.elrepo elrepo-kernel
  15. kernel-ml.x86_64 5.16.0-1.el7.elrepo elrepo-kernel
  16. kernel-ml-devel.x86_64 5.16.0-1.el7.elrepo elrepo-kernel
  17. kernel-ml-doc.noarch 5.16.0-1.el7.elrepo elrepo-kernel
  18. kernel-ml-headers.x86_64 5.16.0-1.el7.elrepo elrepo-kernel
  19. kernel-ml-tools.x86_64 5.16.0-1.el7.elrepo elrepo-kernel
  20. kernel-ml-tools-libs.x86_64 5.16.0-1.el7.elrepo elrepo-kernel
  21. kernel-ml-tools-libs-devel.x86_64 5.16.0-1.el7.elrepo elrepo-kernel
  22. perf.x86_64 5.16.0-1.el7.elrepo elrepo-kernel
  23. python-perf.x86_64

lt表示长期维护版,ml表示最新稳定版。

安装指定的 kernel 版本:

  1. $ yum install -y kernel-lt-5.4.171-1.el7.elrepo --enablerepo=elrepo-kernel
  2. Loaded plugins: fastestmirror, langpacks
  3. Loading mirror speeds from cached hostfile
  4. * base: mirrors.aliyun.com
  5. * elrepo: hkg.mirror.rackspace.com
  6. * elrepo-kernel: hkg.mirror.rackspace.com
  7. * extras: mirrors.aliyun.com
  8. * updates: mirrors.aliyun.com
  9. elrepo | 3.0 kB 00:00:00
  10. elrepo/primary_db | 545 kB 00:00:00
  11. Resolving Dependencies
  12. There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
  13. --> Running transaction check
  14. ---> Package kernel-lt.x86_64 0:5.4.171-1.el7.elrepo will be installed
  15. --> Finished Dependency Resolution
  16. Dependencies Resolved
  17. ==============================================================================================================================================================================================================================================================================
  18. Package Arch Version Repository Size
  19. ==============================================================================================================================================================================================================================================================================
  20. Installing:
  21. kernel-lt x86_64 5.4.171-1.el7.elrepo elrepo-kernel 50 M
  22. Transaction Summary
  23. ==============================================================================================================================================================================================================================================================================
  24. Install 1 Package
  25. Total download size: 50 M
  26. Installed size: 228 M
  27. Downloading packages:
  28. kernel-lt-5.4.171-1.el7.elrepo.x86_64.rpm | 50 MB 00:00:08
  29. Running transaction check
  30. Running transaction test
  31. Transaction test succeeded
  32. Running transaction
  33. Installing : kernel-lt-5.4.171-1.el7.elrepo.x86_64 1/1
  34. Verifying : kernel-lt-5.4.171-1.el7.elrepo.x86_64 1/1
  35. Installed:
  36. kernel-lt.x86_64 0:5.4.171-1.el7.elrepo
  37. Complete!

这里我选择安装5.4的版本。

设置开启系统启动时使用的内核版本:

  1. ## 查看系统可用内核
  2. $ cat /boot/grub2/grub.cfg | grep menuentry
  3. if [ x"${feature_menuentry_id}" = xy ]; then
  4. menuentry_id_option="--id"
  5. menuentry_id_option=""
  6. export menuentry_id_option
  7. menuentry 'CentOS Linux (5.4.171-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-0bb4bfa4-b315-43ca-a789-2b43e726c10c' {
  8. menuentry 'CentOS Linux 7 Rescue d7566b7634d99969d46b74186b897f86 (3.10.0-1160.45.1.el7.x86_64)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-0bb4bfa4-b315-43ca-a789-2b43e726c10c' {
  9. menuentry 'CentOS Linux (3.10.0-1160.45.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-0bb4bfa4-b315-43ca-a789-2b43e726c10c' {
  10. menuentry 'CentOS Linux 7 Rescue d4387c178451a59914edf1c69e6972e6 (3.10.0-1127.el7.x86_64)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-0bb4bfa4-b315-43ca-a789-2b43e726c10c' {
  11. menuentry 'CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-0bb4bfa4-b315-43ca-a789-2b43e726c10c' {
  12. menuentry 'CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-0bb4bfa4-b315-43ca-a789-2b43e726c10c' {
  13. menuentry 'CentOS Linux (0-rescue-4314bdb98c294da598ef91c169d55769) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-4314bdb98c294da598ef91c169d55769-advanced-0bb4bfa4-b315-43ca-a789-2b43e726c10c' {
  14. ## 设置开机从新内核启动
  15. $ grub2-set-default "CentOS Linux (5.4.171-1.el7.elrepo.x86_64) 7 (Core)"
  16. ## 查看内核启动项
  17. $ grub2-editenv list
  18. saved_entry=CentOS Linux (5.4.171-1.el7.elrepo.x86_64) 7 (Core)

重启系统并观察内核版本

  1. ## 重启系统
  2. $ reboot
  3. ## 启动完成查看内核版本是否更新:
  4. $ uname -rs
  5. Linux 5.4.171-1.el7.elrepo.x86_64

相关文章

最新文章

更多