【IT168 技术】与其它大部分桌面及服务器操作系统不同,Linux拥有多种多样的版本及种类供广大用户任意选择,而且它们全部基于同一套通用型Linux内核以及一系列GNU用户空间工具。如果大家正在运行Linux服务器或者Linux桌面系统,那么最重要的一点就是确保自己真正理解不同Linux发行版之间的差异所在,并根据这类区别为实际使用状况选择最合适的针对性方案。如果各位对此还感到有些信心不足,别怕——今天的文章就将帮助大家解破迷津。
由于Linux属于开源软件,因此Linux发行版的具体数量也实在相当庞大、甚至难以准确统计。不过从另一方面看,真正能够在市场上获得可观份额比例的发行版并不太多,目前商用Linux部署领域的几大竞争者分别为:红帽企业Linux(简称RHEL)、CentOS、Fedora、Ubuntu、Debian以及OpenSuse。
风格与实质
其实不同发行版之间的大部分差异都只能算是细枝末节。它们所高度关注的定制对象其实主要来自小处,而非核心功能。文件系统布局、配置设定、更新机制以及绑定配置工具可能千差万别,但它们的相似之处要远远多于区别所在。
即便如此,不同发行版之间仍然存在着明确的划分,而其中最主要的部分在于系统设计层面。当面对生产环境下的Linux管理工作时,大家会发现各类发行版在稳定性以及对不同主流开源软件包的支持能力等领域存在显著差异。如果不能准确把握这些源于细微的分别,我们在部署并运行自己的应用程序时可能会将原本一帆风顺的流程搞得波澜翻腾、暗流涌动。
首先以Web服务器为例进行分析。所有Linux发行版都绑定有Apache Web服务器,但不同版本在实施Apache所使用的文件系统布局及配置机制方面存在着些许不同。
举例来说,Ubuntu将Apache版本2称为“apache2”,而CentOS与RHEL则将其称为“httpd”。这将直接影响到Apache配置文件在不同发行版当中的实际保存位置。在CentOS与红帽Linux中,我们可以在…/etc/httpd目录下找到这些配置文件; 而在Ubuntu当中,其位置则在…/etc/apache2当中。除此之外,Ubuntu及其它一些发行版可能会将Apache文档放置在…/var/www当中,而CentOS与RHEL则将其保存于…/var/www/html之内。
再有,Ubuntu提供一套自主开发的Apache配置管理方案,允许管理人员将Apache配置片段分别放置在/etc/apache2/sites-available与/etc/apache2/sites-enabled当中,从而利用a2ensite以及a2dissite等定制化命令将这些片段在Apache中迁移与载入、借此实现管理目的。也就是说,大家能够通过命令行随意启用或者禁用虚拟网站。CentOS与RHEL并不提供这样的功能,因此我们需要以手动方式对配置文件进行管理。
Ubuntu提供的方案并不一定更好或者更差——其实际效果如何还是要视用户的具体需求而定。一方面,它确实能够更为轻松地完成网站设置等操作; 但在另一方面,大家也需要将自己的配置方案进行针对性调整、从而使其能够与自定义配置命令切实对接。经验老到的Apache管理员可能觉得直接手动调整更方便,但新手用户们则往往更认同Ubuntu提供的解决方案。总而言之,到底孰优孰劣还是要由广大用户自行判断。
其它一些差异同样不容忽视。在默认情况下,Ubuntu会锁定root用户,同时要求管理员在安装流程中创建一个本地用户; 此用户拥有使用sudo命令的权限、旨在执行与root用户相等同的各项任务。CentOS与RHEL则不提供此类限制,而且允许root用户对所有内容加以访问。
某些发行版还提供多种定制化配置工具。Suse Linux(以及OpenSuse)采用YaST(全称为Yet another Setup Tool),这款系统安装与配置管理工具在其它Linux发行版中并不存在。
守护程序中的玄机
另外值得注意的是,当前发行版当中可能采用相当广泛但却无法与陈旧版本共享的设计机制。举例来说,systemd在各大主流Linux发行版的最新版本中被用于取代sysvinit,并从根本上改变了服务器在运行这些发行版的启动、载入以及管理服务的具体方式(但这种解决思路也引发了一定争议)。这些发行版的原有版本并不提供systemd,因此无法享受到由此带来的执行效率及性能表现提升。如果大家正在选择理想的Linux系统版本,这一点确实值得认真考虑。
不同Linux发行版之间的另一大关键性区别元素在于软件包更新机制以及软件包的更新频率。在Ubuntu与Debian当中,大家可以使用Apt(即高级软件包工具)来处理与发行版相关的更新工作。这款工具允许用户对个别软件包或者系统整体进行更新。而在RHEL、CentOS、Fedora以及其它一些发行版中,Yum(全称为yellodog Updater, Modified)则扮演着软件包管理工具的角色。Apt与Yum采取较为相似的运作方式,允许管理员配置自定义软件库,并轻松实现软件包升级以及系统维护工作。
总体而言,大家可以通过以下概述了解各类主流Linux发行版的具体特色。