1. 关于 Linux 内核 1.1 官方内核 当然,内核也不能选最新的,防止有尚未发现的 BUG。而且为了减少以后停止维护带来的麻烦,最好安装长期支持版本。各个版本的支持时间在 这个页面 查看。每个版本可能有四种类型,概述如下: Prepatch:Prepatch 或 “RC” 内核是主要的内核预发行版本,主要针对内核开发人员和 Linux 爱好者。必须从源代码进行编译,并且通常包含必须在可以放入稳定版本之前进行测试的新功能。Prepatch 内核由 Linus Torvalds 维护和发布。 版本 维护人 发布日期 项目生命周期 使用 uname -r 区分你用的是官方内核还是 Linux 发行版内核,横线后面有任何东西都表示这不是官方内核: # uname -r 3.10.0-514.26.2.el7.x86_64 2. 查看当前的内核版本 2.2 常用的查看内核信息的命令 示例: # uname -r 3.10.0-514.26.2.el7.x86_64 # uname -a Linux VM_139_74_centos 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 2.2.2 /proc 虚拟文件系统 cpuinfo:标识了处理器的类型和速度 # cat /proc/version Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017 3. 备份数据 yum -y update -y 选项可以在每次需要确认时,自动使用 yes,节省时间。 4.1 启用 ELRepo 仓库 启用 ELRepo 仓库: # rpm --import https://www./RPM-GPG-KEY- # rpm -Uvh http://www./elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available Loaded plugins: fastestmirror, langpacks elrepo-kernel | 2.9 kB 00:00:00 elrepo-kernel/primary_db | 1.7 MB 00:00:02 Determining fastest mirrors * elrepo-kernel: Available Packages kernel-lt.x86_64 4.4.118-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 4.4.118-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 4.4.118-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 4.4.118-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 4.4.118-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 4.4.118-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 4.4.118-1.el7.elrepo elrepo-kernel kernel-ml.x86_64 4.15.6-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 4.15.6-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 4.15.6-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 4.15.6-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 4.15.6-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 4.15.6-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 4.15.6-1.el7.elrepo elrepo-kernel perf.x86_64 4.15.6-1.el7.elrepo elrepo-kernel python-perf.x86_64 4.3 安装最新内核: # yum --enablerepo=elrepo-kernel install kernel-ml --enablerepo 选项开启 CentOS 系统上的指定仓库。默认开启的是 elrepo,这里用 elrepo-kernel 替换。 5. 设置 grub2 5.1 查看系统上的所有可以内核: # sudo awk -F\' '$1=="menuentry " {print i " : " $2}' /etc/grub2.cfg 0 : CentOS Linux (4.15.6-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core) 2 : CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) 3 : CentOS Linux (0-rescue-f9d400c5e1e8c3a8209e990d887d4ac1) 7 (Core) 5.2 设置 grub2 1. 通过 grub2-set-default 0 命令设置: sudo grub2-set-default 0 2. 编辑 /etc/default/grub 文件 # vi /etc/default/grub > 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 console=ttyS0 console=tty0 panic=5" > GRUB_DISABLE_RECOVERY="true" > GRUB_TERMINAL="serial console" > GRUB_TERMINAL_OUTPUT="serial console" > GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1" 5.3 生成 grub 配置文件并重启 sudo grub2-mkconfig -o /boot/grub2/grub.cfg sudo reboot 5.4 验证 # uname -r 4.15.6-1.el7.elrepo.x86_64 6. 删除旧内核(可选) 6.1 通过 yum remove 命令 # rpm -qa | grep kernel kernel-tools-libs-3.10.0-514.26.2.el7.x86_64 kernel-ml-4.15.6-1.el7.elrepo.x86_64 kernel-3.10.0-327.el7.x86_64 kernel-tools-3.10.0-514.26.2.el7.x86_64 kernel-headers-3.10.0-514.26.2.el7.x86_64 kernel-3.10.0-514.26.2.el7.x86_64 删除旧内核的 RPM 包 yum remove kernel-tools-libs-3.10.0-514.26.2.el7.x86_64 kernel-3.10.0-327.el7.x86_64 kernel-tools-3.10.0-514.26.2.el7.x86_64 kernel-headers-3.10.0-514.26.2.el7.x86_64 kernel-3.10.0-514.26.2.el7.x86_64 6.2 通过 yum-utils 工具 6.2.1 安装 yum install yum-utils 6.2.2 删除 package-cleanup --oldkernels
|
|