Linux 4.9 内核正式发布及4.9版本内核升级方法


在历经8个rc版本之后,Linux 4.9版本的内核于2016年12月11日如期与大家见面。根据Linux的创始人Linus Torvalds的声明,Linux Kernel 4.9分支会是一个重大的版本更新,其间会经过8个研发版本。Linus Torvalds 在2016年12月11日在内核邮件列表上宣布正式释出Linux Kernel 4.9,这一个全新的主线(mainline)版本,同时这也标志着与4.10版本合并窗口的开启

1. Linux介绍

如果问20世纪最伟大的软件是什么?笔者认为一定是Linux,如果没有Linux就没有今天的互联网、移动互联网、物联网,更没有占据超过87%市场份额的智能手机操作系统Android(数据来源:Strategy Analytics Q3季度数据)。

1.1 什么是Linux

LinuxUnix系统的一个克隆,由Linus Torvalds及一些组织松散的黑客从头编写。是一个基于POSIX标准的类UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

它具有你所期望的UNIX系统的全部特征和功能,包括真正的多任务、虚拟内存、共享库、按需加载、共享的写时复制可执行文件、适当的内存管理、包括IPv4和IPv6的模块化网络。

Linux 基于GNU通用公共许可证发行。


1.2 Linux的内核(Lernel

是一个一体化内核系统,从技术角度或者严格意义上来讲Linux这个词只表示Linux系统的内核。CentOS、Ubuntu、Red Hat、Debian、Fedora等发行版,都是基本这个Linux内核进一步开发和发行的。而Linux的创始人及其团队,也只负责内核的Linux内核的开发和维护。Linux内核源码托管于github,网址如下:

https://github.com/torvalds/linux

注:Git同样是由Linus Torvalds主导,为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件。


1.3 Linux发行版

我们常会听到Linux发行版的概念。Linux发行版是指,由组织松散的团队、商业机构或志愿者组织编。通常会包括系统软件和应用软件,以及一个用于简化系统初始安装的安装工具,和让软件安装升级的软件管理器(如:RPMDPKG)。

如,前文提到的CentOS、Ubuntu、Red Hat、Debian、Fedora等Linux系统,都是一个Linux发行版。它们都基于相同的Linux内核开发,但集成了不同的系统软件和应用软件,及系统初始化安装工具和软件管理器。

由于不同的发行版都使用了相同的Linux内核,所以使得Linux平台具有良好的兼容性和跨平台移植性,让相同的软件可以运行于不同的发行版中。也正因此,让Linux拥有了其它系统所无法比拟的,宠大的软件生态系统。


1.4 Linux内核(Lernel)的作用及构成

计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机包含处理器、内存、硬盘和其他外设的综合设备。但没有软件来操作和控制,其自身是不能工作的。 完成这个控制工作的软件就称为操作系统,在Linux中被称为Kernel(内核)。

Linux内核的组成

Linux内核由以下模块组成:

  • 进程管理(Process Management)
  • 定时器(Timer)
  • 中断管理(Interrupt Management)
  • 内存管理(Memory Management)
  • 模块管理(Module Management)
  • 虚拟文件系统接口(VFS Layer)
  • 文件系统(File System)
  • 设备驱动程序(Device Driver)
  • 进程间通信(Inter-process Communication)
  • 网络管理(Network Management)
  • 系统启动(Iystem Init)
  • 其它

Linux内核版本号

在Linux发展过程,先后使用过三种不同的版本命名方案:

  • 早期版本 - 第一个版本为0.01。其后是0.020.030.100.110.12(第一GPL版本)、0.950.960.970.980.991.0
  • 旧计划,数字由A.B.C三部分表示(1.0和2.6版之间)- A表示主版本号;B表示次主版本号;C较小的末版本号。

    其间,A只变化过两次,分别1994年的1.0和1996年的2.0

    B用于判断Linux是否稳定,偶数的B代表稳定版,奇数的B代表开发版

    C表示一些Bug修复、安全、新特性和驱动更新的次数

  • time-based表示方式 - 2.6.0以后,人们觉得应该使用更短的发布周期。表示格式更新为A.B.C表示方式。

    其中,AB保持不变;C表示内核的版本;D表示Bug修复、安全补丁、新特性等,通常以'rc'表示


2. Linux 4.9内核有哪些更新

Linux 4.9 内核正式发布及4.9版本内核升级方法

Linux Kernel 4.9的发布后,4.9将是最新的主干分支(mainline)。Linus 也表示4.9是一个重大的更新,该版本的发布,也标志着与4.10全并窗口的开启,合并周期约为两周,会在圣诞节前后关闭。

4.9牌本的内核带来的改变有:


3. 升级Linux 4.9内核

接下来,笔者将基于CentOS,体验一下升级Linux Kernel 4.9

3.1 查看当前系统版本

使用uname命令查看当前内核版本:

$ uname -r
2.6.32-042stab117.14

CentOS发行版的特点是:为了追求系统的稳定性,而使用较低版本的内核心。本文使用的CentOS 7.0版本的系统,其内核版本只有2.6.32


3.2 使用ELRepo源升级内核

Linux内核升级有多种方式,比较通用的方式是使用源码编译安装,源码下载网址:

https://www.kernel.org/

由于源码安装时,配置项特别多,配置和编译时间较长。为了简单方便,本文将使用ELRepo源安装。ELRepo是一个企业版Linux RPM存放库,支持Red Hat Linux(RHEL)及其衍生版本。

导入公钥

首先,导入公钥:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安装ELRepo

根据自己的发行版本,选择安装ELRepo库:

RHEL-7SL-7CentOS-7使用以下命令:

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

RHEL-6SL-6CentOS-6使用以下命令:

rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

RHEL-5SL-5CentOS-5使用以下命令:

rpm -Uvh http://www.elrepo.org/elrepo-release-5-5.el5.elrepo.noarch.rpm

安装内核

安装4.9版本的内核心使用以下命令:

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

在以上命令中,kernel-ml表示主线版本(mainline)。

如果需要安装long-term使用以下命令:

yum --enablerepo=elrepo-kernel install kernel-lt -y