关于 Linux 内核
Linux 内核分两种:官方内核(通常是内核开发人员用)和各大 Linux 发行版内核(一般用户常用)。
官方内核版本说明
在使用 Docker 时,发现其对 Linux 内核版本的最低要求是 3.10(这也刚好是 CentOS 7.2 的内核版本),但是在这个版本上有部分功能无法实现。为了使用最新版本的内核,只好在安装 CentOS 7 后对内核进行升级。
当然,内核也不能选最新的,防止有尚未发现的 BUG。而且为了减少以后停止维护带来的麻烦,最好安装长期支持版本。各个版本的支持时间在 这个页面 查看。每个版本可能有四种类型,概述如下:
- Prepatch:Prepatch 或 “RC” 内核是主要的内核预发行版本,主要针对内核开发人员和 Linux 爱好者。必须从源代码进行编译,并且通常包含必须在可以放入稳定版本之前进行测试的新功能。Prepatch 内核由 Linus Torvalds 维护和发布。
- Mainline:Mainline 主线树由 Linus Torvalds 维护。这个版本的内核会引入所有新功能。新的 Mainline 内核每 2-3 个月发布一次。
- Stable:每个主线内核被发布后,即被认为是“stable”。任何对 stable 内核的 BUG 修复都会从 Mainline 主线树中回溯并由指定的 stable 内核维护人员使用。 在下一个主线内核可用之前,通常只有几个 BUG 修复内核版本 - 除非它被指定为“longterm maintenance kernel(长期维护内核)”。stable 内核更新按需发布,通常每月 2-3 次。
- Longterm:通常会提供几个“longterm maintenance”内核版本,用于修复旧版内核的 BUG。这些内核只会修复重大 BUG,并且不会频繁发布版本。
查看内核版本
| 1 | [root@k3s-prod-master1 ~]# uname -r | 
内核相关的包说明
kernel-lt
- The Linux kernel. (The core of any Linux-based operating system.)
- 最核心的包,所有Linux系统的基础
kernel-lt-devel
- Development package for building kernel modules to match the kernel.
- 内核开发包,更多是提供给内核开发人员开发内核的一些功能模块
kernel-lt-doc
- Various bits of documentation found in the kernel sources.
- 内核包的指引文档
kernel-lt-headers
- Header files of the kernel, for use by glibc.
- 内核的头文件,一般其他应用需要调用内核能力就要引入这些头文件
kernel-lt-tools
- Assortment of tools for the kernel.
- 内核级别的一些工具
kernel-lt-tools-libs
- Libraries for the kernel tools.
- 内核级别工具所依赖的包
kernel-lt-tools-libs-devel
- Development package for the kernel tools libraries.
- 内核级别工具开发所需的依赖包
升级内核
小版本升级
| 1 | # 查看当前和可升级版本 | 
大版本升级
开始升级
| 1 | # 系统信息 | 
验证
| 1 | 验证结果 | 
删除旧内核(可选)
内核有两种删除方式:通过 yum remove 命令或通过 yum-utils 工具。
通过 yum remove 命令
查看系统中全部的内核:
| 1 | [root@localhost-01 ~]# rpm -qa | grep kernel | 
通过 yum-utils 工具
如果安装的内核不多于 3 个,yum-utils 工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核。
安装
| 1 | yum install yum-utils | 
删除
| 1 | package-cleanup --oldkernels | 
禁止内核更新
| 1 | [root@spgpu ~]# vim /etc/yum.conf | 
这样,在yum update的时候就不会更新内核了。
 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!
