如何在CentOS/RHEL上安装或升级新的内核版本
Linux内核是一个整体的类Unix计算机操作系统内核。通常我们使用的Linux发行版,如Red Hat、Debian、SUSE等,这些都称为Linux的分发版。一个典型的分发版,是由Linux内核,以及支持的许多由GNU项目提供的应用程序、GNU组件,C标准库,CLI shell,X windows等组成的一个完整操作系统。我们应该要知道的是,Linux的定义仅仅是Linux内核,所有的”Linux”发行版实际上是以Linux为内核的GNU系统的版本。不同的Linux内核版本都有其生命周期,Linux内核组织或Linux发行版厂商只在该日期提供错误或漏洞修复,我们可以从从内核的版本号区分辨别,比如版本3.16.43,该数字3.16表示一个长期版本,43则表示错误修订之后再发行的具体版本号,当然我这里描述的只是提供一个参考价值,更细致的版本还有可能是3.16.43-1这种。值得我们关注的是,任何内核版本错误修复后的再发布版本都应该是我们考虑升级使用的内核版本。
Linux内核版本
Linux内核版本分为主线、稳定和长期版本。(所有内核版本都可以在内核开发官方网站https://www.kernel.org上获取)目前我们看到最新的稳定内核版本为4.10.12。
主线版本代表整个Linux内核的一个树干,新的主线版本每2-3个月发布一次,所有的新功能及特性都将会包含主线版本中。稳定内核则是在主线版本中,被认为是”稳定的”得出。稳定内核的任何错误修复都将从主线树中返回,也就是主线内核出现的任何错误(包括之前的任何旧版本内核的错误和BUG)在得到修复之后才会被指定为稳定内核,所以在通常情况下,稳定内核既有内核新功能,同时BUG也是最少的内核版本。稳定内核的更新发布依赖于主线内核(直到下一个主线内核可用),稳定的内核更新是根据需要发布的,通常是每3个月。而对于长期内核版本,通常提供几个”长期维护”内核版本,用于较早的内核树错误修复返回的目的。这些内核只应用重要的错误修复,通常不会有非常频繁的更新。
主线、稳定和长期都是活动内核版本,由Linus Torvalds及Linux内核组织维护和释放。 而我们平时所使用的Linux发行版的内核都为分发内核,许多Linux发行版都提供自己的”长期维护”内核版本,这些内核可能是也可能不是基于内核开发人员维护的内核。因此分发版本的内核版本由发行版的厂商决定并有自己的维护周期,通常由分发版更新时一起发布。
安装/升级新内核的目的
许多出于对安全的考虑,如避免以前版本中发现的漏洞
更充分地认识内核,了解内核的各个内核模块和功能
更好的利用/体验新内核的的新功能和特性
安装/升级的方法和建议
1、对于CentOS/RHEL系统,尽量使用yum方式或RPM包安装/升级内核,需要注意的是红帽的Red Hat Linux服务需要订阅。
2、使用安装新内核而不是直接升级内核,安装新内核不会覆盖旧内核,而升级会导致新内核直接替换旧内核,可能会导致系统无法启动,安装也可以让我们在升级后有回滚的选择。
3、一般地,对于大多数Linux分发版,使用yum/dnf和分发版布官方的存储库来升级内核,这种方式只能升级到该分发版的存储库提供的最新版本,而不是Linux内核组织发布的最新内核。
4、如果想迅速并且安全地使用最新内核,对于CentOS/RHEL系统并不支持yum的方式直接安装或升级。那么此时我们可以使用ELRepo(第三方存储库)进行内核安装升级。(相关信息请访问网站http://www.elrepo.org)
5、下载新内核的源码包进行编译安装,这种方式有助于我们更细致地学习内核底层知识,但在生产环境中不推荐编译安装。
6、尽量使用最新的Linux发行版,新的Liunx发行版包含该发行版维护的新内核,如果有必要,那么请使用如yum upgrade或者yum update来更新你的系统。对于Ubuntu、Debian等发行版,使用apt-get update方式来更新。
内核软件包介绍
kernel Linux内核软件包,包含单、多核和多处理器系统的内核,是任何Linux操作系统的核心,单处理器的系统仅需安装内核包。内核处理操作系统的基本功能: 内存分配、进程分配、设备输入和输出等
kernel-devel 包含提供足够的针对内核软件包构建模块的内核头文件和makefile文件
kernel-headers 包含指定Linux内核、用户空间库文件和程序之间指定接口的C头文件。头文件定义了构建大多数标准程序所需的结构和常量,也是重建glibc软件包所必需的
kernel-doc 包含来自内核源代码的文档文件。各种关于Linux内核和设备以及驱动程序的信息都记录在这些文件当中
kernel-firmware 包含对于某些设备及其操作的固件信息文件
kernel-debug 包含许多对于内核debug诊断和调试的启用选项,只有当我们需要尝试收集额外的内核错误信息时才应该安装它。它是以牺牲性能为代价
kernel-debug-devel 包含内核debug诊断和调试的启用选项,以牺牲性能为代价
在CentOS上安装/升级内核
我将介绍在CentOS下通过yum软件管理程序或RPM包安装/升级内核和通过ELRepo存储库安装/升级最新的内核版本(两种方法)
一、CentOS下通过yum软件管理程序或RPM包安装/升级内核
安装步骤:
1、查看当前内核版本
[root@HMing-Server34 ~]# uname -sr Linux 2.6.32-431.el6.x86_64
查看系统已安装的内核软件
# yum list installed “kernel*”
在上面输出中,白色高亮部分就是系统已经安装的内核软件包
2、获取CentOS 6发行版的最新内核
对于上面介绍的内核软件包,我们不用全部安装,只安装以下几个包即可
kernel-2.6.32-696.el6.x86_64.rpm kernel-devel-2.6.32-696.el6.x86_64.rpm kernel-headers-2.6.32-696.el6.x86_64.rpm kernel-firmware-2.6.32-696.el6.noarch.rpm kernel-doc-2.6.32-696.el6.noarch.rpm
我们可以从目前最新版CentOS6.9的iso文件中获取以上内核软件包,或者从官方支持的镜像网站中下载,如国内的sohu镜像地址http://mirrors.sohu.com中下载,详细地址为http://mirrors.sohu.com/centos/6.9/os/x86_64/Packages/
在CentOS7中(目前最新版7.3),我们需要以下几个包
kernel-3.10.0-514.el7.x86_64.rpm kernel-headers-3.10.0-514.el7.x86_64.rpm kernel-tools-3.10.0-514.el7.x86_64.rpm kernel-tools-libs-3.10.0-514.el7.x86_64.rpm kernel-doc-3.10.0-514.el7.noarch.rpm |
3、执行安装/升级内核软件包
使用RPM安装方式安装/升级内核
# rpm -Uvh kernel-firmware-2.6.32-696.el6.noarch.rpm # rpm -Uvh kernel-headers-2.6.32-696.el6.x86_64.rpm # rpm -ivh kernel-devel-2.6.32-696.el6.x86_64.rpm # rpm -ivh kernel-doc-2.6.32-696.el6.noarch.rpm # rpm -ivh kernel-2.6.32-696.el6.x86_64.rpm # rpm -ivh kernel-2.6.32-696.el6.x86_64.rpm --nodeps
安装kernel包,如果有其他依赖软件需要安装,我们可以根据提示安装,或者在rpm后面加上--nodeps选项,意思是解除依赖
注意:在安装/升级以上内核软件包时,安装内核软件包kernel-2.6.32-696.el6.x86_64.rpm 时,rpm安装方式选项参数使用的-i而不是-U,两者是有区别的,-i表示安装,-U表示升级,而我们需要保留旧的内核版本,所有这里使用安装的方式。而对于内核软件包kernel-firmware、kernel-headers、kernel-devel、kernel-doc等,对于已安装过的,直接安装可能会报相关错误提示,所以我们可以使用-U选项升级,也可以直接用yum安装,自动安装相关依赖的软件包。
使用yum方式安装/升级内核
cd进入新下载的内核软件包所在的目录,执行yum localinstall kernel*进行安装,值得提的是,使用这种方式安装同样不会直接替换升级旧内核,安装之后新旧内核并存。所以我们推荐这种使用安装方式。
[root@HMing-Server34 src]# ls kernel-* kernel-2.6.32-696.el6.x86_64.rpm kernel-devel-2.6.32-696.el6.x86_64.rpm kernel-doc-2.6.32-696.el6.noarch.rpm kernel-firmware-2.6.32-696.el6.noarch.rpm kernel-headers-2.6.32-696.el6.x86_64.rpm
执行yum localinstall kernel*进行安装
[root@HMing-Server34 src]# yum localinstall kernel*
4、安装/升级内核之后,修改系统默认使用的内核
在CentOS中安装完新内核之后,新的内核成为系统的默认启动选择,我们不需要做任何修改。新的内核在重启系统后生效。如果有必要,比如使用旧内核,我们可以手动修改/boot/grub/grub.conf文件中系统默认使用的内核,修改default=1,表示GRUB使用第二个内核启动系统
在重新启动系统的GRUB的引导界面,快速按下任意键,确认新内核默认被使用
查看新内核,确认是否正确安装
[root@HMing-Server34 src]# uname -sr Linux 2.6.32-696.el6.x86_64
二、通过ELRepo存储库安装/升级最新的稳定内核版本
安装步骤
1、在CentOS上启用ELRepo存储库
导入公钥
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
在CentOS6上安装ELRepo 6存储库:
# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
或CentOS7上安装ELRepo 7存储库:
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
安装了ELRepo存储库,我们可以通过查找特定的存储库中查找可用的软件包,这里我们查看"elrepo-kernel" 内核软件包的版本信息
# yum --disablerepo "*" --enablerepo "elrepo-kernel" list available
2、指定ELRepo存储库安装最新的稳定内核
# yum --enablerepo=elrepo-kernel install kernel-ml
安装完成之后,我们即可以在/boot/grub/grub.conf 文件看到存在新安装的内核条目,并修改default=0,指定系统默认启动的内核选项,为4.10.12内核版本,重新启动系统即可生效
查看重新引导的GRUB内核启动项界面,确认是否正确使用了指定的新内核
同样的,对于在RHEL上安装/升级内核使用上面的两种方法也适用
结语
在本文中,介绍了内核的几种版本,以及安装/升级新内核版本的两种方法,也是在生产环境中推荐的安装/升级方法。当这两种方法都不满足要求时,我们也可以从https://www.kernel.org/下载内核源码包进行编译安装。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用思科模拟器Packet Tracer与GNS3配置IPv6隧道
0.说明(重要,务必先看) (1)关于模拟器选择 思科模拟器主要有Packet Tracer(简称PT)和GNS3(IOU暂且不说),可以根据个人的情况做适当的选择,实际上,GNS3的效果要比Packet Tracer好很多,但是如果想深入学习思科网络技术,首选GNS3.(对于华为设备,使用eNSP,而对于华三设备,使用HCL) 下面的隧道技术,有些只能在GNS3上实现,在Packet Tracer上是无法完成的,所以在配置时会着重说明。 (2)关于IPv6隧道技术 IPv6隧道技术本质上就是使用IPv4数据包封装IPv6数据包,来达到IPv6数据包可在IPv4网络传送的目的,所以也称为过渡技术。不管使用的设备是思科的,还是华为、华三的,配置IPv6隧道技术的命令可能不同,但是原理肯定都是一样的。 这里介绍的IPv6隧道技术的配置主要有:Manual隧道、GRE隧道、6to4隧道、ISATAP隧道,其中Manual隧道最简单,强烈推荐完成该Manual隧道的实验。 另外,为了方便同学们理解和配置,所有的网络和配置都是最简单化的,比如,能使用尽量少的网络就使用尽量少的网络,能用静态路由就...
- 下一篇
OpenNMS与智和网管平台开发性能评估
随着网络系统结构的日益庞大复杂,运维人员有必要使用一套网络管理系统来方便快捷的管理好网络。为了更好的管理各种设备,便于对网络中的故障进行排查,公司需要一款满足需求的网管软件。目前市面上的网管软件众多,这些软件经过适当的配置即可对通用设备进行管理。但这些通用的功能无法满足我们100%的需求,必须进行二次开发。出于公司所使用技术(Java)、市场占用率和功能全面性,选择了两款提供两次开发的平台,OpenNMS与智和网管平台,通过对两款产品进行全方位的对比,选择出一款适合的网管软件,在此基础上进行整合和二次开发,构建部门设备网管平台。 一、选型标准 1.功能性 网管通用的功能可以直接拿来使用,或者简单的改造,可以节约成本; 2.完备的扩展开发接口 被选择的开源软件是否已经提供完备的二次开发接口,满足二次开发的要求; 3.易于扩展的架构设计 网管平台的架构应该是易于进行二次开发的,或者在设计平台时,就考虑到了在平台基础上进行二次开发; 4.开发技术 选择网管平台的另外一个层面考虑是尽量考虑使用部门成员最熟悉的开发技术,尽量避免涉及相对部门来说的新技术、开发语言,这样可以进一步研发降低成本; 5...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 2048小游戏-低调大师作品
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Linux系统CentOS6、CentOS7手动修改IP地址