CentOS(CommunityENTerpriseOperatingSystem)是Linux发行版之一,它是来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。
CentOS系统简洁稳定,但是系统内核版本低,有的软件要求的系统内核版本高,此时升级系统内核即可满足要求!
查看操作系统版本
[root@etcd2~]#cat/etc/redhat-releaseCentOSLinuxrelease7.4.1708(Core)查看系统内核
[root@etcd2~]#uname-r3.10.0-693.el7.x86_642.离线升级系统内核更新yum源仓库
导入ELRepo仓库的公共密钥
[root@etcd2~]#ll-hkernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm*-rw-r--r--1rootroot51M6月519:47kernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm安装内核包
[root@etcd2~]#rpm-ivhkernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm警告:kernel-lt-5.4.197-1.el7.elrepo.x86_64.rpm:头V4DSA/SHA256Signature,密钥IDbaadae52:NOKEY准备中...#################################[100%]正在升级/安装...1:kernel-lt-5.4.197-1.el7.elrepo#################################[100%]内核升级完毕后,需要我们修改内核的启动顺序,默认启动的顺序应该为1,升级以后内核是往前面插入为0,设置GRUB_DEFAULT=0。一般新安装的内核在第一个位置,所以设置default=0,意思是GRUB初始化页面的第一个内核将作为默认内核。
默认的grub文件,GRUB_DEFAULT=saved
[root@etcd2~]#cat/etc/default/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="gfxterm"GRUB_CMDLINE_LINUX="rhgbquietnomodeset"GRUB_DISABLE_RECOVERY="true"使GRUB_DEFAULT=0
[root@etcd2~]#vim/etc/default/grub[root@etcd2~]#cat/etc/default/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=0GRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="gfxterm"GRUB_CMDLINE_LINUX="rhgbquietnomodeset"GRUB_DISABLE_RECOVERY="true"设置默认启动内核,grub2-set-default0和/etc/default/grub文件里的GRUB_DEFAULT=0意思一样
[root@etcd2~]#grub2-set-default0查看所有的内核
[root@etcd2~]#awk-F\''$1=="menuentry"{printi++":"$2}'/boot/grub2/grub.cfg0:CentOSLinux7Rescue12667e2174a8483e915fd89a3bc359fc(5.4.197-1.el7.elrepo.x86_64)1:CentOSLinux(5.4.197-1.el7.elrepo.x86_64)7(Core)2:CentOSLinux(3.10.0-693.el7.x86_64)7(Core)3:CentOSLinux(0-rescue-80c608ceab5342779ba1adc2ac29c213)7(Core)重新生成grub配置文件
[root@etcd2~]#vim/boot/grub2/grub.cfg[root@etcd2~]#grub2-mkconfig-o/boot/grub2/grub.cfgGeneratinggrubconfigurationfile...Foundlinuximage:/boot/vmlinuz-5.4.197-1.el7.elrepo.x86_64Foundinitrdimage:/boot/initramfs-5.4.197-1.el7.elrepo.x86_64.imgFoundlinuximage:/boot/vmlinuz-3.10.0-693.el7.x86_64Foundinitrdimage:/boot/initramfs-3.10.0-693.el7.x86_64.imgFoundlinuximage:/boot/vmlinuz-0-rescue-12667e2174a8483e915fd89a3bc359fcFoundinitrdimage:/boot/initramfs-0-rescue-12667e2174a8483e915fd89a3bc359fc.imgFoundlinuximage:/boot/vmlinuz-0-rescue-80c608ceab5342779ba1adc2ac29c213Foundinitrdimage:/boot/initramfs-0-rescue-80c608ceab5342779ba1adc2ac29c213.imgdone重启并查看内核版本
[root@etcd2~]#reboot可以看到内核升级成功
[root@etcd2~]#yum--disablerepo="*"--enablerepo="elrepo-kernel"listavailable已加载插件:fastestmirror。。。。。。Loadingmirrorspeedsfromcachedhostfile*elrepo-kernel:mirrors.tuna.tsinghua.edu.cn可安装的软件包elrepo-release.noarch7.0-5.el7.elrepoelrepo-kernelkernel-lt-devel.x86_645.4.197-1.el7.elrepoelrepo-kernelkernel-lt-doc.noarch5.4.197-1.el7.elrepoelrepo-kernelkernel-lt-headers.x86_645.4.197-1.el7.elrepoelrepo-kernel。。。。。。kernel-ml-tools-libs.x86_645.18.2-1.el7.elrepoelrepo-kernelkernel-ml-tools-libs-devel.x86_645.18.2-1.el7.elrepoelrepo-kernelperf.x86_645.18.2-1.el7.elrepoelrepo-kernelpython-perf.x86_645.18.2-1.el7.elrepoelrepo-kernel刚才安装的lt版本,现在安装ml版本
安装最新版本内核,--enablerepo选项开启CentOS系统上的指定仓库。默认开启的是elrepo,这里用elrepo-kernel替换。或者yuminstall-ykernel-lt-4.4.218-1.el7.elrepo--enablerepo=elrepo-kernel
[root@etcd2~]#yum--enablerepo=elrepo-kernelinstallkernel-ml-y已加载插件:fastestmirrorelrepo|3.0kB00:00:00elrepo/primary_db|580kB00:00:06Loadingmirrorspeedsfromcachedhostfile*elrepo:hkg.mirror.rackspace.com*elrepo-kernel:hkg.mirror.rackspace.com正在解决依赖关系-->正在检查事务--->软件包kernel-ml.x86_64.0.5.18.2-1.el7.elrepo将被安装-->解决依赖关系完成。。。。。。Downloadingpackages:kernel-ml-5.18.2-1.el7.elrepo.x86_64.rpm|56MB00:00:42RunningtransactioncheckRunningtransactiontestTransactiontestsucceededRunningtransaction警告:RPM数据库已被非yum程序修改。正在安装:kernel-ml-5.18.2-1.el7.elrepo.x86_641/1验证中:kernel-ml-5.18.2-1.el7.elrepo.x86_641/1已安装:kernel-ml.x86_640:5.18.2-1.el7.elrepo完毕!查看所有的内核版本
[root@etcd2~]#awk-F\''$1=="menuentry"{printi++":"$2}'/boot/grub2/grub.cfg0:CentOSLinux(5.18.2-1.el7.elrepo.x86_64)7(Core)1:CentOSLinux(5.4.197-1.el7.elrepo.x86_64)7(Core)2:CentOSLinux(3.10.0-693.el7.x86_64)7(Core)3:CentOSLinux(0-rescue-12667e2174a8483e915fd89a3bc359fc)7(Core)4:CentOSLinux(0-rescue-80c608ceab5342779ba1adc2ac29c213)7(Core)内核升级完毕后,需要我们修改内核的启动顺序,默认启动的顺序应该为1,升级以后内核是往前面插入为0,设置GRUB_DEFAULT=0。一般新安装的内核在第一个位置,所以设置default=0,意思是GRUB初始化页面的第一个内核将作为默认内核。
[root@etcd2~]#cat/etc/default/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=0GRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="gfxterm"GRUB_CMDLINE_LINUX="rhgbquietnomodeset"GRUB_DISABLE_RECOVERY="true"[root@etcd2~]#grub2-set-default0重新生成grub配置文件
[root@etcd2~]#grub2-mkconfig-o/boot/grub2/grub.cfgGeneratinggrubconfigurationfile...Foundlinuximage:/boot/vmlinuz-5.18.2-1.el7.elrepo.x86_64Foundinitrdimage:/boot/initramfs-5.18.2-1.el7.elrepo.x86_64.imgFoundlinuximage:/boot/vmlinuz-5.4.197-1.el7.elrepo.x86_64Foundinitrdimage:/boot/initramfs-5.4.197-1.el7.elrepo.x86_64.imgFoundlinuximage:/boot/vmlinuz-3.10.0-693.el7.x86_64Foundinitrdimage:/boot/initramfs-3.10.0-693.el7.x86_64.imgFoundlinuximage:/boot/vmlinuz-0-rescue-12667e2174a8483e915fd89a3bc359fcFoundinitrdimage:/boot/initramfs-0-rescue-12667e2174a8483e915fd89a3bc359fc.imgFoundlinuximage:/boot/vmlinuz-0-rescue-80c608ceab5342779ba1adc2ac29c213Foundinitrdimage:/boot/initramfs-0-rescue-80c608ceab5342779ba1adc2ac29c213.imgdone