目录Linux版本介绍

linux版本主要分为两类:第1类为内核版本,它免费的,它只是操作系统的核心linux查看版本5还是6,负责控制硬件、管理文件系统、程序进程等,并不给用户提供各类工具和应用软件;第2类为发行版本:不一定免费,出了操作系统核心外linux手机软件,还包含一套强悍的软件,比如:C/C++编译器和库等

Linux内核版本内核版本命名

​Linux内核版本号由3组数字组成:XX.XX.XX。第一组数字表示目前发布的内核主版本,第二组数字中奇数表示稳定版本;偶数表示开发版本。第三组数字表示错误修复的次数。

​在Linux系统中可以输入如下命令,查看内核版本号。

arun@arun: uname -r 
5.4.57-generic

​第一组数字5,即主版本号;第二个组数字4,即次版本号LINUX社区,表示稳定版本;第三组数字57,即修订版本号,表示更改的次数。

​不仅上述版本号以外还有如下常见的版本号

2.6.32-754.2.1.el6.x86_64	
	# 754.2.1表示发行版本的补丁版本,这里是 CentOS 6.10 。
	# el6表示内核是 RedHat / CentOS 系列发行版专用内核。
	# x86_64表示为64位cpu。
2.6.32-358.6.1.el6.i686
	# 358.6.1表示发行版本的补丁版本
2.6.18-128.ELsmp
	# ELsmp表示当前内核是为EL特别调校的.
	# EL : Enterprise Linux
	# smp : 表示该内核版本支持多处理器
other:
	# i386:几乎任何的X86平台,不论是旧的pentum或是新的pentum-IV和K7系统CPU,都能够正常工作,i指得是Intel兼容的CPU,至于386就是CPU的等级
	# i586:就是586等级的电脑,包括pentum第一代MMX CPU,AMD的K5,K6系统CPU(socket7插脚)等CPU都是这个等级
	# i686:pentum 2 以后的Intel系统CPU及K7以后等级的CPU都属于这个686等级;
	# x86_64:采用的是64位的CPU;
	# generic:当前内核版本为通用版本,另有表示不同含义的server(针对服务器);

内核版本历史

image-20240216095322643

linux查看版本5还是6_linux内核版本介绍_Linux内核版本命名

​如上图所示,Linux内核大致分为以下几个阶段:

​​1​.2.6.0之前:远古版本。

​2.2.6.x版本:2.6时代跨径十分大,从2.6.0(2003年12月发布)到2.6.39(2011年5月发布),跨越了40个大版本。

​3.3.x.x版本:3.0(原计划的2.6.40,2011年7月发布)到3.19(2015年2月发布)。

​4.4.x.x版本:4.0(2015年4月发布)到4.2(2015年8月末发布)

​5.5.x.x版本:目前早已到6.x.x了

​不过至今,好多线上系统一直使用2.6.x的内核。Linux2.6版本内核发布,与2.4内核版本相比,它在好多方面进行了改进,如支持多处理器配置和64位估算,它还支持实现高效率线和处理的本机POSIX线程库(NPTL)。实际上,性能、安全性和驱动程序的改进是整个2.6.x内核的关键。

内核版本分类

​按照官网的Releases发布页,内核可以分为如下四种。

​==1.Prepatch预发布版。==预发布版内核是添加了新特点/功能的内核,并且这种功能依然在测试阶段,还存在已知或潜在的BUG等待解决。这一版会不断进行打磨改善,产生了这些结尾有-rc的后缀版本。当Linus确定新的内核没有问题了,这个版本将会步入Stable发布阶段。

Linux内核版本命名_linux内核版本介绍_linux查看版本5还是6

​==2.Mainline主线版。==主线版是添加了所有兴奋人心的新型功能,新修补的补丁的版本,虽然这种新的东西不一定稳定甚至测试都不一定过得去。这是LinusTorvalds自己的Linux树,我们称这个git树的版本叫主线版,一般2~3个月发布一次。

​==3.Stable稳定版。==当一个主线版发布以后,它就被视为是一个稳定版了。任何对于稳定板的漏洞修复都是从主线版里面反向移植(backport)来的。一般到下一次主线版发布前,只有一些漏洞修复的内核会进行发布,除非这个版本的内核被设计成一个常年支持版内核。稳定版内核是按需进行发布的,一般每周一次。

​==4.Longterm常年维护版。==常年支持版本一般有数个,这是为了对旧版内核的漏洞进行反向移植修复,只有一些重要的漏洞修复才能加入这种内核,它们不会时常更新,尤其是更旧版的内核。

内核版本内容

​Linux内核软件包主要有四个,即两个header头文件,一个image镜像,一个modules模块

image-20240216100827956

​在内核版本4.17之前(不含4.17)中是无modules文件的,所以你只须要3个软件包即两个header,一个image即可完成更新。且网上目前搜索到的内核更新教程一般都是适宜4.17内核之前的,而我们更新到4.17以后版本,比如我们更新到5.2.4,在dpkg步骤时侯会提示缺乏依赖项,没有modules文件!

image-20240216100721062

​generic与lowlatency是两个不同的版本。

Linux发行版本

​以Linux核心为中心,再集成搭配各类各样的系统管理软件或应用工具软件组成一套完整的操作系统,这般的组合便称为Linux发行版。

linux内核版本介绍_linux查看版本5还是6_Linux内核版本命名

Linux的发行版本可以大体分为两类:

​一类是商业公司维护的发行版本:以Redhat(REHL)为代表;

​一类是社区组织维护的发行版本:以Debian为代表;

Redhat

​Redhat系列,包括RHEL(RedhatEnterpriseLinux,也就是所谓的RedhatAdvanceServer,收费版本)、FedoraCore(由原先的Redhat桌面版本发展而至,免费版本)、CentOS(RHEL的社区克隆版本,免费)。

​Redhat是在国外使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老手更是只用这一个版本的Linux。所以这个版本的特征就是使用人群数目大,资料十分多,言下之意就是假如你有哪些不明白的地方,很容易找到人来问,但是网上的通常Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方法采用的是基于RPM包的YUM包管理方法,包分发方法是编译好的二补码文件。稳定性方面RHEL和CentOS的稳定性十分好,适宜于服务器使用,而且FedoraCore的稳定性较差,最好只用于桌面应用。

Debian

​Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的标杆,是迄今为止最遵守GNU规范的Linux系统。

​Debian最早由IanMurdock于1993年创建,分为三个版本分支(branch):stable,testing和unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,而且也有相对较多的bug,适宜桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(例如SMP等)。而stable通常只用于服务器,里面的软件包大部份都比较过时,而且稳定和安全性都十分的高。

​Debian最具特色的是apt-get/dpkg包管理方法,虽然Redhat的YUM也是在模仿Debian的apt形式,但在二补码文件发行形式中,apt应当是最好的。

Ubuntu

​Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本强化而至,可以如此说,Ubuntu就是一个拥有Debian所有的优点,以及自己所强化的优点的近乎完美的Linux桌面系统。依据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特征是界面十分友好,容易上手,对硬件的支持十分全面linux查看版本5还是6,是最适宜做桌面系统的Linux发行版本。

GNU与Linux的关系

​因为Unix系统被发明以后不久开始收费和商业闭源,理查德·斯托曼在1983年发起GNU计划,其目标是构建完全自由的操作系统GNU,代替Unix。在1985年创建自由软件基金会(FSF),在1989年发布GPL许可合同保护和传播由FSF发布的自由软件。自由软件是权力问题,不是价钱问题。要理解这个概念,你应当考虑“free”是“言论自由(freespeech)”中的“自由”;而不是“免费饮料(freebeer)”中的“免费”。

​GNU(“GNU’sNotUnix”的递归首字母简写词)是一个类Unix操作系统,它是由多个应用程序、系统库、开发工具乃至游戏构成的程序集合。

​GNU的开发源于1984年1月,称为GNU工程,GNU的许多程序在GNU工程下发布,我们称之为GNU软件包。主要由:

​1.GCC:GNU编译器集,它包括GNUC编译器。

​2.G++:C++编译器,是GCC的一部份。

​3.GDB:源代码级的调试器。

​4.GNUmake:UNIXmake命令的免费版本。

​5.Bison:与UNIXyacc兼容的句型剖析程序生成器。

​6.bash:命令类库(shell)。

linux查看版本5还是6_linux内核版本介绍_Linux内核版本命名

​7.GNUEmacs:文本编辑器及环境。

​许多其他的软件包也是在违背自由软件的原则和GPL条款的情况下开发和发行的,包括电子表格、源代码控制工具、编译器和协程、因特网工具、图形图象处理工具(如Gimp),以及两个完整的基于对象的环境(GNOME和KDE)。

​有了那么多可用的自由软件,再加上Linux内核,我们可以说:创建一个GNU的、自由的类UNIX系统的目标早已实现了。(GNU起床也有自己的内核,前面选用了Linux)

​众所周知,一个完整的通用操作系统起码须要内核、编译套件、shell以及主要应用软件。GUN最初的内核组件Hurd开发于1990年(早于linux),但设计过分复杂进展平缓。

​碰巧,1991年10月林纳斯·托瓦兹(LinusTorvalds)发布了他的玩具内核源代码,这是他在学习Minix操作系统源码的过程中历时六个月,用C写下来的POSIX不完整兼容的内核,并将GNU的基础软件Gcc和Bash成功的移植到了前面,这以后大量用户参与开发,并在1994年使用GPL合同发布了Linux1.0内核。

​自此,GNU计划和Linux天衣无缝的、互相填补的就结合在了一起,成为了完全自由但是完整的操作系统——GNU/Linux。RedHat等以GNU/Linux作为产业的大厂随后出现,大力发展了GNU/Linux,使其显得越来越实用,逐步替代了Unix操作系统的位置。

参考资料

linux内核版本介绍

Ubuntu18.04Linux内核升级(由于在系统中安装会出现各类驱动不兼容的问题,所以去官网下)

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复