【转】CentOS 7. × 系统及内核升级指南

简介: 因手动部署fabric项目需要,故预先转载本篇方案,转载来源:https://www.aliyun.com/jiaocheng/128260.html 最近在学习 Docker,想在服务器上实践一下.Docker 需要安装在 CentOS 7 64 位的平台,并且内核版本不低于 3.10。

因手动部署fabric项目需要,故预先转载本篇方案,转载来源:https://www.aliyun.com/jiaocheng/128260.html

 

最近在学习 Docker,想在服务器上实践一下.Docker 需要安装在 CentOS 7 64 位的平台,并且内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于 CentOS 7 内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定.需要升级到最新的 CentOS 版本,并且内核也更新到最新的稳定版本.这是我对升级 CentOS 系统版本及内核的记录,方便以后查阅,也分享给大家.

 

注意:这篇文章只在 CentOS 7.× 系列版本上验证过,其他 CentOS 版本请谨慎使用.

 

我的服务器是腾讯云云主机,系统为 CentOS 7.1,系统内核版本为 3.10,我在写这篇博客的时候最新的 CentOS 版本为 CentOS 7.3,而 The Linux Kernel Archives 上提供的最新稳定的系统内核为 4.12 版本.所以就把我的服务器系统升级为最新的 CentOS 7.3 版本,系统内核升级为 4.12 版本.


备份重要数据 

备份重要数据(例如:/etc ,/var ,/opt文件夹)如果 CentOS 是安装在虚拟机上,那么可以使用快照进行备份.像 VMware 虚拟机可以快照备份.也可以针对重要程序数据进行备份,例如 MySQL、Appache、Nginx、DNS 等等.云主机的话,阿里云和腾讯云都可以创建快照备份数据.


检查当前 CentOS 系统版本 
# cat /etc/redhat-release 
> CentOS Linux release 7.1.1503 (Core) 
检查当前 CentOS 系统内核版本 
# uname -sr 
> Linux 3.10.0-327.10.1.e17.x86_64 

可以看出当前系统为 CentOS 7.1,系统内核版本为 3.10.


运行 yum 命令升级 

CentOS 中 update 命令可以一次性更新所有软件到最新版本。

 

 

注意:不推荐使用 update 的 -y选项,-y 选项会让你在安装每项更新前都进行确认,这样会非常费时间.对于 CentOS 5.× 和 6.× 的系统我们在更新后需要重新安装应用程序恢复数据,庆幸的是 CentOS 7.× 不需要这么麻烦,可以直接升级.

 

# yum clean all 
# yum update 

期间会有确认提示,直接回车确认即可.


重启系统 
# reboot 
检查当前 CentOS 系统版本 
# cat /etc/redhat-release 
> CentOS Linux release 7.3.1611 (Core) 
检查当前 CentOS 系统内核版本 
# uname -sr 
> Linux 3.10.0-327.10.1.e17.x86_64 

可以看到当前系统为 CentOS 7.3 已经升级成功了,但系统内核版本依旧为 3.10 并没有升级,这是因为 CentOS 为了安全和稳定并不会把系统内核升级到最新的版本,所以 yum update 命令只会升级系统版本和更新软件.接下来我们就来升级系统内核.


升级 CentOS 7.× 内核,启用 ELRepo 

大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。

 

但是,这只会升级内核到仓库中可用的最新版本,而不是在 The Linux Kernel Archives 中可用的最新主线稳定内核.不幸的是, Red Hat 只允许使用 yum 升级内核.与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新主线稳定内核.

 

要在 CentOS 7.× 上启用 ELRepo 仓库,请运行:


# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 

仓库启用后,你可以使用下面的命令列出可用的系统内核相关包:


# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available 

接下来,安装最新的主线稳定内核:


# yum --enablerepo=elrepo-kernel install kernel-ml 

由于网络原因,以上操作可能需要不少时间.


重启机器,检查当前 CentOS 系统内核版本 
# uname -sr 
> Linux 4.12.0-1.el7.elrepo.x86_64 

可以看到系统内核已经升级到最新的主线稳定内核.


设置 GRUB 默认的内核版本 

为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置,打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0.意思是 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" 

接下来运行下面的命令来重新创建内核配置.


# grub2-mkconfig -o /boot/grub2/grub.cfg 
重启机器,查看系统当前内核版本,验证最新的内核已作为默认内核 
# uname -a 
> Linux VM_112_0_centos 4.12.0-1.el7.elrepo.x86_64 #1 SMP Sun Jul 2 20:38:48 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux 
删除 CentOS 更新后的旧内核 

查看系统中全部的内核 RPM 包:


# rpm -qa | grep kernel 
> kernel-tools-3.10.0-514.26.2.el7.x86_64 
> kernel-devel-3.10.0-514.10.2.el7.x86_64 
> kernel-3.10.0-514.26.2.el7.x86_64 
> kernel-3.10.0-327.el7.x86_64 
> kernel-ml-4.12.0-1.el7.elrepo.x86_64 
> kernel-headers-3.10.0-514.26.2.el7.x86_64 
> kernel-devel-3.10.0-514.26.2.el7.x86_64 
> kernel-tools-libs-3.10.0-514.26.2.el7.x86_64 
删除旧内核的 RPM 包 
yum remove kernel-tools-3.10.0-514.26.2.el7.x86_64 kernel-devel-3.10.0-514.10.2.el7.x86_64 kernel-3.10.0-514.26.2.el7.x86_64 kernel-3.10.0-327.el7.x86_64 kernel-headers-3.10.0-514.26.2.el7.x86_64 kernel-devel-3.10.0-514.26.2.el7.x86_64 kernel-tools-libs-3.10.0-514.26.2.el7.x86_64 
重启系统 
# reboot 

这样就可以升级完成了.Ubuntu 系统的话可以看看这篇博文 <<如何在 Ubuntu 中升级内核>>

目录
相关文章
|
11月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1680 69
|
11月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
984 78
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
1291 79
|
9月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
393 5
|
11月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
834 8
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
815 18
|
Linux 应用服务中间件 nginx
CentOS系统下的软件安装与卸载
CentOS系统中安装及卸载软件,常用yum命令安装及卸载软件包。yum是基于RPM的软件包管理器,可用于在CentOS中安装、更新、查询和移除软件包。yum命令可以从指定服务器下载rpm包并安装,能自动解决依赖问题。
832 78
|
Unix Linux 程序员
在Centos系统上如何有效删除文件和目录的指令汇总
记住,有了这个指南,你就不再为删除文件和目录感到困扰。快去尝试一下,让你的CentOS更上一层楼吧!
935 24
|
11月前
|
存储 Linux 数据安全/隐私保护
确定CentOS系统分区表类型(MBR或GPT)
以上方法均能够帮助用户准确地识别出CentOS下连接硬件所应用得具体磁盘标准,并根据实际需求做进一步处理与管理工作。
1095 0
|
11月前
|
Ubuntu Linux 云计算
CentOS与Ubuntu:Linux系统的双璧
选择Ubuntu还是CentOS,取决于用户的具体需求,如是否需要图形化界面、对稳定性的要求、软件包管理的偏好以及对商业支持的需求等。两者都是优秀的Linux发行版,只是在设计理念和目标用户群体上有所不同。#深度好文计划#