购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 Linux操作系统的发行版

根据上下文语境不同,Linux存在两种含义:Linux内核(Linux Kernel)和Linux发行版(Linux Distribution)。

1.2.1 Linux内核与发行版

Linux内核与发行版

Linux内核一般特指前文所提及的、由林纳斯发明的Linux。Linux是全球最有影响力的开源项目之一。读者可以访问Linux官方网站,免费获取Linux内核源码和其他资讯,并可以在GPL许可证的框架内自由使用。截至2022年10月6日,官方公开的Linux内核最新版本为6.0,最新的稳定版本(Latest Stable Kernel)为5.19.14。目前官方获取到最新的Linux内核代码文件是一个超过100MB的压缩包。

Linux发行版由Linux内核以及大量基于Linux的应用软件和工具软件整合而成。根据维基百科提供的数据,目前已有超过500个Linux发行版,其中近500个正在开发中。典型的Linux发行版包括Linux内核、GNU工具和库、附加软件、文档、窗口系统、窗口管理器和桌面环境、软件包管理系统等。不同的发行版由不同的团体维护。各个发行版由于定位不同,通常具有各自的特点,可以满足不同类型用户的需求。

大多数Linux发行版包含的软件都是免费的开源软件。各个发行版中集成的软件种类和版本通常并不完全相同。大多数软件包可以在所谓的存储库中在线获得,这些存储库通常分布在世界各地。除了一些核心组件,只有极少数软件是由Linux发行版的维护人员从头编写的。Linux发行版通常也可能包括一些源码不公开的专有软件,例如某些设备驱动程序所需的二进制代码。

1.2.2 图形用户界面概述

图形用户界面概述

Linux发行版通常为用户提供了图形用户界面(Graphical User Interface,GUI)。需要注意的是,Linux操作系统本身并没有GUI。Linux发行版的GUI解决方案通常基于X Window System实现。GUI的引入,拓宽了Linux的应用场景,降低了初学者使用Linux操作系统的难度。而诸如排版、制图、多媒体等典型的桌面应用,更是离不开GUI的支持。

1.X Window System

X Window System由麻省理工学院于1984年提出。它是UNIX及类UNIX系统最流行的窗口系统之一,是一款跨网络与跨操作系统的窗口系统,可用于几乎所有的现代操作系统。需要注意的是,它与微软公司的Windows操作系统是不同的。微软公司的Windows是一种GUI的操作系统,图形环境与内核紧密结合,可直接访问Windows内核。然而,X Window System只是Linux操作系统上的一个可选组件。

X Window System采用“服务器/客户端”架构,能够通过网络进行GUI的存取。X Window System结构如图1—1所示,它由X服务器(X Server)、X客户端(X Client)和通信协议(X Protocol)3个部分组成。X Client和X Server并不一定位于同一台计算机,两者基于X Protocol进行通信。

图1—1 X Window System结构

有一定计算机网络基础的读者,可能会对图1—1中X Server和X Client所处的位置产生疑惑:X Client竟然出现在远程主机中。在读者接触到的大多数C/S架构中,两者的位置应该是反过来的。注意,这里的X Server和X Client是根据图像渲染的职责来区分的。X Server管理本地主机的大部分硬件(例如键盘、鼠标、显示器),接收用户输入并进行最终显示结果的渲染工作。X Server收到用户输入后,将请求数据发送给相应X Client。X Client通过调用具体的应用来处理数据,产生结果后再将结果返回给X Server。X Server维护一个独立的显示控制器。X Server通过响应X Client的请求,在其所管理的显示设备上,完成建立窗口、绘制图形和文字等操作。

X Window System基于X Protocol完成服务器和客户端之间的通信。1987年发布了该协议的第11版。该版协议较为完善,且被广泛应用,因此,后来X Window System也被称为X11。早期Linux所使用的X Window System的核心都是由XFree86计划所提供的,因此许多资料习惯将X Windows System与XFree86两个概念混用。XFree86计划始于1992年,主要维护X11R6,包括对新硬件的支持以及新增功能等。X11R6的维护工作后来由Xorg基金会接手。

2.KDE和GNOME

X Window System提供了一个建立窗口的标准,具体的窗口形式由窗口管理器(Window Manager)决定。窗口管理器是X Window System的组成部分,它用来控制窗口的外观,并提供用户与窗口交互的方法。我们可以将窗口管理器看作一类特殊的X客户端程序,其功能通过向X Server发送命令来实现。

对于具有GUI的操作系统的用户来说,仅有窗口管理器提供的功能是不够的。为此,开发人员在其基础上,增加了各种功能和应用程序(如会话程序、面板、登录管理器、桌面程序等),提供更完善的图形用户环境,也就是桌面环境(Desktop Environment)。

KDE和GNOME是最常见的Linux桌面环境。KDE(K Desktop Environment),即K桌面环境,由一位德国人于1996年10月创建。KDE中使用的Qt链接库早期并未采用开源协议,这样限制了其应用,也推动了GNOME(GNU Network Object Model Environment,GNU网络对象模型环境)的诞生。需要说明的是,目前KDE已经支持GNU GPL、GNU LGPL和Commercial等不同类型的授权协议。

GNOME是GNU计划的正式桌面环境,也是开放源码运动的一个重要组成部分。GNOME计划于1997年8月由米格尔·德·伊卡萨(Miguel de Icaza)和费德里科·梅纳(Federico Mena)发起,目的是取代KDE。GNOME、KDE都有自己的窗口管理器,GNOME曾经使用Metacity作为其窗口管理器,2011年,GNOME 3发表后,默认的窗口管理器被替换成Mutter。KDE使用的是KWin,也有一些单独的窗口管理器,如FVWM、IceWM等。CentOS默认提供GNOME与KDE。Red Hat默认采用GNOME。用户可以根据自己的喜好安装并配置不同类型的桌面环境。

1.2.3 典型Linux发行版

典型Linux发行版

Linux发行版类别众多,其中比较有影响力的发行版可以分为两大主流阵营:一是以Red Hat为首的阵营,典型的产品包括RHEL、Fedora、CentOS、CentOS Stream及它们的衍生品;二是以Ubuntu为首的阵营,典型的产品包括Debian、Ubuntu以及它们的衍生品。本小节先介绍后者。对于Red Hat阵营的产品,我们将在1.3节专门介绍。

1.Debian

Debian(国际音标为/ˈdɛ.bi.ən/)凭借着惊人的软件数量、高度集成的软件包、良好的安全性等特性成为Linux领域的佼佼者。著名的Ubuntu操作系统就是从Debian发展而来的。目前大多数国产的Linux发行版都是基于Debian或者Ubuntu发展而来的。

Debian的发行版及其软件源有5个分支:旧的稳定(OldStable)分支、稳定(Stable)分支、测试(Testing)分支、不稳定(Unstable)分支等。所有开发代号均出自皮克斯动画工作室(Pixar)的电影《玩具总动员》。Debian操作系统目前采用Linux内核或者FreeBSD内核。同时,让Debian支持其他内核的工作也正在进行,最主要的工作就是设计Hurd。Hurd是由GNU项目所设计的自由软件。

2.Ubuntu

Ubuntu是由南非人马克·沙特尔沃斯发起的。Ubuntu这一名称来自非洲南部祖鲁语或豪萨语的“Ubuntu”一词,意思是“人性”“我的存在是因为大家的存在”,这是一种非洲的传统价值观。Ubuntu的第一个正式版本于2004年10月正式推出。

Ubuntu是基于Debian发行版发展而来的。早期的Ubuntu采用GNOME桌面环境。而从11.04版本起,Ubuntu发行版放弃了GNOME桌面环境,改用Unity。Ubuntu早已超越桌面操作系统的范畴,成为世界领先的开源操作系统,广泛应用于个人计算机、智能物联网、容器、服务器和云端上。Ubuntu拥有庞大的社区力量,用户可以方便地从社区获得帮助。

Ubuntu更新速度快。Ubuntu社区承诺每6个月发布一个新版本,以提供最新、最强大的软件。新版本的发布时间通常在每年的4月和10月(Ubuntu 6.06 LTS除外)。Ubuntu版本编号以“年份的最后一(两)位。发布月份”的格式命名。Ubuntu的第一个版本就称为4.10(2004.10)。除了代号之外,每个Ubuntu版本在开发之初还设有一个开发代号。Ubuntu开发代号比较有意思,格式为“形容词+动物名称”,且形容词和动物名称的第一个字母要一致。例如,Ubuntu 19.04发布于2019年4月,其开发代号是Disco Dingo。Ubuntu官方一般每两年会发布一个LTS(Long Term Support,长期支持)版本。LTS版本提供的软件包可以得到更长时间的支持,稳定性和可持续性更好。例如,2022年4月发布的Ubuntu 22.04就是LTS版本。目前,诞生了大量基于Ubuntu的Linux发行版,典型的包括Elementary OS、Linux Mint、Ubuntu Ultimate Edition等。 mXejxmRc9ykVm+6v5jMH0CXszoRzIUUmpqp3dFTSlbJ6nu0AoPNSaPIRh5y5Wxsa

点击中间区域
呼出菜单
上一章
目录
下一章
×