经过几十年的发展历程,Linux也发展出面向不同开发者群体、用于解决不同实际需求的多种版本。当前市面上的Linux发行版多种多样,虽然其享有同一套底层核心,但又各自拥有鲜明的修改与适用范围。
在本文中,我们将以Debian、Fedora、CentOS、RHEL与Ubuntu五大发行版为例,聊聊具体获取及安装与方式,并评估其各自适用场景。
发行版之间的共性
所有Linux发行版都使用同一套Linux内核,并受益于内核社区对于操作系统核心软件及进程做出的更新。此外,各发行版也支持标准Linux命令,包括cd、ls、rm与cp等以导航目录结构。发行版中还包含众多大家熟知的命令,如find、grep、tail、more、cat以及ps等。所有Linux版本都通过类似的命令实现用户的添加与删除、文件移动以及使用设备驱动程序与外部设备交互。Linux社区也已经将LibreOffice标准化为生产力套件,以默认形式安装在各发行版之内。
大部分Linux系统使用systemd作为初始化系统、进程管理与系统管理器。管理员使用systemctl命令控制具体配置方式,并对操作系统上运行的各项服务执行启动、重启、启用、禁用、重新加载或状态检查。
在网络方面,大部分Linux系统使用NetworkManager、DHCP for IPv4与DHCPv6,带有RDNSS/DNSSL的SLAAC,而且原生支持IPv6。
主要发行版间的差异
当然,各Linux发行版之间也存在着一系列核心差异。
虽然x86-64与ARM架构大受欢迎,但也有一些Linux发行版会支持其他相对小众的计算机硬件架构。大家需要根据实际硬件选择对应的发行版本。
Linux系统往往还会使用不同的默认文件系统类型。目前的主流Linux发行版多以ext4与xfs为首选文件系统方案。
软件包管理器也是各Linux发行版之间的核心差异之一。大家可以使用RPM、APT、yum、DNF、dpkg以及Flatpak等多种工具,将软件加载至Linux系统当中。不同的Linux发行版还附带有各种软件,也可以根据需求任意添加各种开源应用程序。
Linux爱好者们对于窗口管理器及桌面环境也各有要求,甚至结成了坚定且稳固的支持者集团。大部分Linux发行版带有GNOME、KDE、Xfce以及LXDE等默认容器管理器,但用户也可以根据自身喜好选择并自定义具体方案。不过总体来看,GNOME仍是大多数Linux发行版的最佳选项而且默认启用。
虽然Linux属于开源成果,但其许可模式也允许商业组织为系统提供营利性质的支持服务。不同的Linux发行版具有不同的支持与许可模式,某些用户需要获取实时支持才能确保运行有关键业务应用程序的服务器始终保持正常运行;而其他一些用户则可以选择个人使用、自主编写代码并将成果贡献给开源社区。
选择正确的发行版
很多朋友在选择Linux发行版时往往感到头痛不已。如果不清楚如何取舍,不妨看看其他人的决断。W3Techs估计,在全部网站中约有72%的比例在使用某种类型的Unix操作系统(其中39%使用Linux)。而W3Techs在互联网上观察到的全部Linux操作系统中,使用频率最高的是Ubuntu,其次是CentOS与Debian;当然,也有不少Linux版本无法由W3Techs收集到的信息准确识别。
这里建议大家选择具有较高人气的发行版,以确保能够及时从社区或供应商处获取更新。另外,大版本的支持可能更好,因为较大的用户群体规模会保证他人遇到过甚至已经解决了面对的实际问题。
另外,建议选择拥有一定发展历史的操作系统。如果选择的是某不知名社区推出的系统版本且社区最终被迫解散,那么技术支持将无从谈起。
也有一些朋友可能更倾向于在桌面工作站或数据中心服务器上使用Linux发行版,请注意哪些选项支持这类用例。
五大Linux发行版评述
在本文中,我们根据流行程度、发展历程、技术支持水平、开源贡献以及行业势头等指标选出五大重量级Linux发行版。接下来,我们将具体评述CentOS Stream 8、Debian 10.7、Fedora 33、Red Hat Enterprise Linux(RHEL)8以及Ubuntu 20.04的具体特性。
我们从权威网站处下载到各系统的ISO镜像,而后通过英特尔NUC (NUC10i7FNH)迷你计算机上的VMware Workstation 16 Pro创建虚拟机,再将这些虚拟机桥接至具有双协议互联网访问的物理双协议(IPv4与IPv6)实验室网络。
1. Fedora
Fedora属于RHEL的上游开发分支,主要负责测试并证明哪些软件功能有资格最终入驻RHEL。目前的Fedora版本为33,发布于2020年10月27日。因此,Fedora 33版本中的很多功能将在RHEL 8.4+发行版中陆续与大家见面。
许可与支持——尽管拥有Red Hat的官方支持,但Fedora本身仍然属于开源项目,采用自由与开源软件(FOSS)许可。各个Fedora版本会拥有一到两年的支持周期,具体取决于实际版本和首次安装时间。例如,Fedora 33的支持周期将至少延续至2021年11月,而后即告生命周期结束。Fedora项目没有官方支持服务,但可以通过Fedora邮件列表、Fedora论坛与Ask Fedora反应自己遇到的问题。此外,Fedora还提供Bugzilla bug跟踪系统。
说明文档与培训素材——Fedora的官方网站上提供不少高质量说明文档,Fedora维基站点中也有相关资源。Fedora项目本身不提供培训素材,但网上有不少第三方课程内容。
用例——如果希望实现RHEL兼容性并随时获取最新的Linux内核与创新功能,Fedora是理想之选。作为一款免费操作系统,它的技术社区能够为提供良好的技术支持、说明文档与论坛渠道。如果需要的是一套可靠且易于上手的Linux方案,请选择Fedora。
2. RHEL
Red Hat Enterprise Linux (RHEL)是由Red Hat(现为IBM集团旗下企业)于上世纪九十年代初所打造,能够在最严苛的服务器运行环境中保持高度稳定。
也正是为了保证这种稳定性,RHEL的更新频率较低,而且可能会在新版本发布之前对各项功能进行彻底测试与改进。RHEL的当前版本为8.3,代号Oopta,发布于2020年10月29日且支持周期将延续至2029年。(Oopta一名是为了纪念已故Red Hat工程师Larry Troan常用的chat handle。)
许可与支持——RHEL可通过订阅获取,在为用户提供支持之余也带来更多不同选项。通过自助服务,用户可以获取下载并运行RHEL的访问权限,并可随时接入Red Hat知识库。标准支持服务提供更多由Red Hat工程师负责的日间技术支持次数,高级支持则24小时全天为遇到的各类严重问题提供技术指导。
说明文档与培训素材——RHEL提供优秀的在线说明文档,但与Red Hat客户门类似、往往需要Red Hat用户名及密码才能访问大部分内容。另外与Fedora一样,在遇到问题时也可以使用Bugzilla bug跟踪器。
Red Hat提供专门的培训与认证项目,最初专为Red Hat认证系统管理员(RHCSA)、Red Hat认证工程师(RHCE)与Red Hat认证架构师(RHCA)提供课程与认证考试。此外,也有关于Java、OpenShift、Ansible、OpenStack以及容器等主题的RHEL培训课程。
用例——这里建议大家在需要良好技术支持并保持关键任务系统运行的企业级生产应用场景下选择RHEL。总之,RHEL是面向高稳定性、高可用性生产级应用需求的最佳Linux操作系统选项。
3. CentOS Stream
CentOS(社区企业Linux操作系统)是一款基于RHEL并由社区支持的开源操作系统。虽然Red Hat同样是CentOS的主要赞助商,但仍然可以免费使用这套系统并遵循相应的VNU GPLv2许可模型。
从历史上看,CentOS与RHEL共享相同的版本命名约定,例如CentOS 6.5就一定是以RHEL 6.5的源代码为基础。但随着去年CentOS Stream的推出,情况发生了重要变化。与新名称相伴的,是CentOS的定位转变为RHEL下一版本的滚动预览。CentOS Stream 9计划于今年春末夏初与广大朋友正式见面。
原有命名方案留下的最后一个版本为CentOS 8,发布于2020年9月,并将于2021年12月31日迎来生命周期的终结。
虽然CentOS没有正式的软件支持服务,但第三方供应商OpenLogic一直在坚持提供商业支持方案。如果大家还需要更多支持,那么最佳选项当然是转向RHEL以获取完善的商业支持;此外,由于CentOS与RHEL非常相似,因此大部分RHEL 8培训素材也直接适用于CentOS系统的配置与维护工作。
CentOS发行版也有不少可用的说明文档,包括各主要文档网站及维基站点。此外,也可以通过社区监控与维护邮件列表、论坛与bug跟踪等渠道随时提交自己遇到的问题。
CentOS项目并不提供原创培训素材,但当前网上有不少第三方在线课程。CentOS能够轻松下载并在测试环境中运行,因此请保证为实际硬件挑选正确的安装镜像。目前CentOS已经将硬件架构支持范围缩小至x86-64(主要架构)、aarch64与ppc64le。
用例——如果您既想获得RHEL与EPEL那样良好的兼容性、又不想在Linux发行版上投入资金,那么CentOS值得推荐。CentOS特别适合作为开发/测试操作系统,或者最终可能会转向RHEL的实验室环境。如果打算将CentOS用于生产级应用,这里建议直接选择RHEL并购买支持订阅服务。
4. Debian
Debian可以算是Linux领域的开山祖师之一,衍生出了Ubuntu与Raspberry Pi OS等不少“徒子徒孙”。Debian项目源自对自由开放软件理想的追求,并由社区志愿者开发而成。
Debian的当前版本发布于2020年9月26日,为Debian 10.7,又名Buster(即〈玩具总动员〉中的那只腊肠犬)。之前,Debian还曾以Lenny、Squeeze、Wheezy、Jessie等为代号,同样来自皮克斯动画电影中的角色。甚至有传闻称,Debian卷曲的徽标就来自巴斯光年下巴上的同款图形。
Debian不提供商业支持,但包含一个帮助链接支持页面,可以由此对接开源社区监控的邮件列表、IRC聊天频道、用户论坛以及bug跟踪系统。当然,也可以结合需求聘请第三方Debian顾问。
说明文档与培训素材——Debian提供大量可免费下载的说明文档,具体涵盖应用手册、指南及发行版说明。Debian项目不提供培训素材,但当前网上有不少第三方培训课程。
用例——如果需要一套精简、以基本应用为核心的操作系统,那么Debian值得一试。如果已经熟悉Linux并且喜爱这种一切皆可调控的无障碍感觉,Debian同样值得推荐。但请注意,我们不建议在Debian上运行关键任务应用程序。
5. Ubuntu
Ubuntu是一款免费且基于Debian的Linux操作系统,最初定位为桌面与服务器系统,但如今也拥有了面向物联网应用的Ubuntu Core版本。
Ubuntu采用免费软件许可模型,可以免费在任何场景下使用这款系统。我们参阅了Ubuntu 20.04.1 LTS(又名Focal Fossa),此版本发布于2020年4月23日且支持周期延续至2025年4月。事实上,2020年10月22日还推出过更新后的Ubuntu 20.10(Groovy Gorilla)版本,但其支持周期只到2021年7月。Ubuntu各版本会定期发布,其中LTS为长期支持版本。如果希望长期运行系统并需要稳定的软件更新节奏,那么LTS版本更值得推荐。下一代Ubuntu 21.04(Hirsute Hippo)的计划发布时间为2021年4月左右。
许可与支持——Canonical公司为Ubuntu提供商业服务与发布支持,包括Ubuntu Advantage 24/7全天候技术支持,可用于满足各类应用及基础设施需求。网上的Ubuntu说明文档所在多有,CommunityHelpWiki则提供丰富的提示与使用技巧。此外还有Ubuntu邮件列表、Ubuntu论坛、Ask Ubuntu以及bug跟踪器以供选择。Canonical也提供基础及高阶两种Ubuntu Server培训课程。
用例——Ubuntu拥有可靠的社区支持。目前,Ubuntu已经成为网络工程师群体内最受欢迎的系统选项,同时拥有广泛的应用程序包可供选择。如果有意接触Linux、预算有限、又想要一整套完善的现代GNOME桌面体验,那么Ubuntu就是正确答案。