1.2 内核与发行版
操作系统最重要的就是内核,我们平时所说的Linux操作系统更多指的是使用Linux内核的发行版。而基于Linux内核的Linux发行版有很多,那么如何从众多的发行版中找到适合用户自己的,是一件非常重要的事情,选择使用简单、普及率高、应用范围广的Linux发行版对于以后的Linux学习大有裨益。
1.2.1 内核的概念和功能
不管是开源的Linux,还是闭源的Windows,抑或是昂贵的UNIX,这些系统最关键的核心部分都是内核(Kernel)。内核是一个操作系统的关键部分,可以实现一个操作系统的核心功能。
内核是硬件与软件的一个中间层,其作用是将应用程序的请求交给硬件,并充当底层的驱动程序,对系统中的各种设备和组件进行寻址。一个内核至少要实现5个功能,包括进程调度、内存管理、设备管理、文件系统与协议(含网络协议)。
1.2.2 内核版本
Linux内核的版本格式经历过几次变化,目前的版本编号方式为“A.B.C”格式,表示“主版本号.次版本号.修订次数”。其中,主版本号表示有重大改动;次版本号随着新版本发布而增加;修订次数表示有Bug修复、新特性增加或驱动的更新。
最新的内核版本可通过访问https://www.kernel.org/来查看,只要内核为“Stable Kernel”,就表示此版本为稳定版本,Linux内核的最新稳定版本是5.5.11。
通常Linux的内核文件是存放在/boot目录下的,并以vmlinuz为内核名称。以本书所用到的版本为例,/boot目录下的文件如图1-1所示。
图1-1 /boot目录下的文件
vmlinuz-3.10.0-957.el7.x86_64表示CentOS 7.6的Linux内核主版本号为3;次版本号为10;0表示这个版本很新,还没有被修订过;el7表示基于Red Hat Enterprise Linux 7平台,下文会介绍这两者的关系。
1.2.3 常见的发行版本
Linux内核只负责控制硬件设备、文件系统、进程调度等,并不包含应用程序,如文件编辑软件、网络工具、系统管理工具或多媒体软件等。然而,一个完整的操作系统,除了具有强大的内核功能,还应该提供丰富的应用程序,以方便用户使用。
由于Linux内核是完全开放源代码的,因此很多公司和组织会将Linux内核与应用软件和文档包装起来,提供安装界面、系统设置及管理工具等,这就构成了发行套件。每种Linux发行套件都有自己的特点,其版本号也会因发行者的不同而不同,与Linux内核的版本号是相互独立的。目前,全世界有上百种Linux发行套件,其中比较知名的有以下套件。
1.Debian Linux
Debian Linux是古老的Linux发行版之一,很多其他Linux发行版都是基于Debian发展而来的,如Ubuntu、Google Chrome OS等。Debian主要分为3种版本:稳定版本(stable)、测试版本(testing)、不稳定版本(unstable)。
Debian Linux之父lan Murdock是Debian GNU/Linux发行版的创始人,Ian Murdock曾是Linux基金会(Linux Foundation)的首席技术官(CTO),以及Linux平台交互标准LSB(Linux Standard Base)的主席。
Debian于1993年8月16日由当时还是美国普渡大学学生的Ian Murdock首次发表。Ian Murdock最初把他的系统称为Debian Linux Release。Debian的名称是由他女友(现在为其妻子)Debra和Ian Murdock自己的名字合并而成的。
2.Slackware Linux
Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple and Stupid)原则,即没有任何配置系统的图形界面工具。一开始,在配置系统时会有一些困难,但是有经验的用户会喜欢这种方式的透明性和灵活性。Slackware Linux的另一个突出特性也符合KISS原则:Slackware Linux没有类似于RPM的成熟的软件包管理器。它的最大特点就是安装简单,目录结构清晰,版本更新快,适合安装在服务器端。Slackware Linux软件包通常都是tgz(tar/gzip)格式的文件再加上安装脚本。tgz对于有经验的用户来说,比RPM更为强大,并且避免了类似于RPM的软件包管理器的依赖性问题。
3.SuSE Linux
SuSE Linux是以Slackware Linux为基础,并提供完整德文使用界面的产品。SuSE公司于1992年年末创办,专门为德国人推出特制的SLS/Slackware软件及UNIX/Linux说明文件。1994年,SuSE公司首次推出了SLS/Slackware的安装光碟,并将其命名为S.u.S.E.Linux 1.0。然后,该公司在这个版本的基础上综合了一些其他发行版的特质,于1996年推出了一个完全自己打造的发行版——S.u.S.E.Linux 4.2。后来,SuSE Linux采用了很多Red Hat Linux的特质,如RPM等,并将“S.u.S.E.”简称为“SuSE”,意思为“Software-und System-Entwicklung”,这是一句德文,英文为“Software and System Development”。
2004年1月,Novell公司收购SuSE公司,并将公司内全线电脑的系统换成SuSE Linux。2005年8月,Novell公司宣布SuSE Linux Professional系列的开发将变得更加开放,并且允许社群参与其中的工作。新的开发计划名称为openSuSE,目的是吸引更多的使用者及开发人员。2011年4月,Attachmate集团收购Novell公司,并把SuSE作为一个独立的业务部门。
4.国产操作系统
20世纪80年代末,个人计算机开始进入中国。当时包括中国政府部门在内的所有个人计算机几乎全部安装的是微软的Dos操作系统。2014年4月8日起,美国微软公司停止对Windows XP SP3提供服务支持,这引起了社会和广大用户的广泛关注和对信息安全的担忧。如果我国有自己独立的计算机操作系统及相应的软件,则在信息战中将不容易受到攻击。
国产操作系统大多为以Linux为基础进行二次开发的操作系统,代表系统有红旗Linux、深度(Deepin)、中兴新支点操作系统、银河麒麟(Kylin)等。
红旗Linux是由北京中科红旗软件技术有限公司开发的一系列Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品。之后,该公司还与Linux厂商Miracle(日本)和Haansoft(韩国),共同推出了Asianux Server 3.0,拥有完善的教育系统和认证系统。
中兴新支点操作系统基于Linux稳定内核,分为嵌入式操作系统(NewStart CGEL)、服务器操作系统(NewStart CGSL)、桌面操作系统(NewStart NSDL)。
Deepin原名Linux Deepin、深度系统、深度操作系统。Deepin团队基于Qt/C++(用于前端)和Go(用于后端)开发了全新深度桌面环境(DDE),以及音乐播放器、视频播放器、软件中心等一系列特色软件,专注于提高使用者对日常办公、学习、生活和娱乐的操作体验,适合笔记本、桌面计算机和一体机。
银河麒麟是由中国国防科技大学、中软公司、联想公司、浪潮集团和民族恒星公司合作研发的闭源服务器操作系统。此操作系统是“863计划”的重大攻关科研项目,目标是打破国外操作系统的垄断,研发一套具有中国自主知识产权的服务器操作系统。银河麒麟完全版共包括实时版、安全版、服务器版3个版本,简化版是基于服务器版简化而成的。2010年12月16日,银河麒麟与中标麒麟在上海宣布合并,并称为“中标麒麟”。
1.2.4 Red Hat、Fedora Core与CentOS
1.RHEL简介
红帽公司(Red Hat)是全球最大的开源解决方案供应商,红帽公司总部位于美国北卡罗来纳州,在全球拥有80多个分公司。红帽公司针对诸多重要IT技术,如操作系统、存储、中间件、虚拟化和云计算提供关键任务的软件与服务。其商业产品Red Hat Enterprise Linux(RHEL)是全世界应用最广泛、最著名的Linux发行版,甚至有人将Red Hat Linux等同于Linux,有些企业甚至只使用这个版本的Linux,该版本提出的RPM和YUM软件包管理方式,已经成为业界的标准。在常见的发行版中,Fedora Core和CentOS都与Red Hat Linux有着很大的关系。
2.Fedora Core
Fedora Core的前身就是Red Hat Linux。2003年9月,红帽公司突然宣布不再推出个人使用的桌面版而专心发展商业版,但是红帽公司同时宣布将原有的Red Hat Linux开发计划和Fedora计划整合成一个新的Fedora Project。Fedora Project由红帽公司赞助,以Red Hat Linux 9为范本加以改进,原本的开发团队会继续参与Fedora的开发计划,同时鼓励开放源代码社群参与开发工作。
Fedora Core被红帽公司定位为新技术的实验场,与Red Hat Enterprise Linux被定位为稳定性优先不同,许多新的技术都会在Fedora Core中进行检验,如果新技术稳定,则红帽公司会考虑将其加入Red Hat Enterprise Linux中。Fedora Core可以为用户提供最新、最前沿的Linux技术与解决方案,具有丰富的应用软件与桌面环境,适合个人或桌面用户使用。
3.CentOS
CentOS(Community Enterprise Operating System)是Linux发行版之一,是基于Red Hat Enterprise Linux的开放源代码编译而成的。由于出自同样的源代码,因此有些要求高度稳定的服务器可以使用CentOS替代商业版的Red Hat Enterprise Linux。
CentOS可以被理解为Red Hat AS系列,这是因为它完全就是对Red Hat AS进行改进后发布的,各种操作、使用和Red Hat Linux没有区别,并且完全免费,不存在像RHEL一样需要序列号的问题,其最新版本为CentOS 8.0。
注:在笔者开始编写本书时,CentOS的最新版还是CentOS 7.6,2019年9月25日,CentOS 8正式发布,可见Linux更新速度之快。