Linux发行版百花齐放

【内容摘要】

  如今,众多的Linux发行版百花齐放,linux的阵营日益壮大,每一款发行版都拥有一大批用户,开发者自愿为相关项目投入精力。Linux发行版可谓是形形色色,它们旨在满足每一种能想得到的需求。那么,对于Linux开发者,就有必要理清各个发行版脉络,并从中选择适合自己的平台。


  首先,回顾一下整个Unix大家族,自1991年发布以来,Linux系统得到了来自世界各地的Hacker的支持,从而得到长足的发展。如今Linux已成为最具活力的Unix分支,也形成了各种各样的Linux发行版。不同的Linux发行版有不同的特色和目标,其中广为人知有:Redhat、Debian、Ubuntu、SuSE等。



图1. 类Unix系统图谱

  下面是一份来自 http://i.linuxtoy.org/docs/guide/ch48s09.html 的Linux发行版分支图,列举了从1991年到2007年间各种Linux发行版的发展和它们之间的关系。



图2. Linux发行版分支图

  Linux的发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本。前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。

  Redhat系列——包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)等。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性稍差,最好只用于桌面应用。



图3. Redhat系列Linux发行版

  Debian系列——包括Debian和Ubuntu,以及近年来开始流行的Linux Mint和Elementary OS等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Lan Murdock于1993年创建,分为三个版本分支(branch): stable、testing和unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户;testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等);而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。同时Debian的资料也很丰富,有很多支持的社区。



图4. Debian系列Linux发行版

  此外,以下分支同样值得关注:

  SUSE Linux——简称SuSE(德文为Software- und System-Entwicklung,英文为Software and system development)。现在这家公司的名字再度更改成SUSE Linux。它原是德国的SuSE Linux AG公司发行维护的Linux发行版,是属于此公司的注册商标。2004年这家公司被Novell公司收购,2011年被Attachmate集团收购。在2015,open SUSE团队决定靠拢SUSE Linux企业版(SLE)以便用户可以共享企业服务版本的DNA,就像CentOS和Ubuntu一样。之后,open SUSE变成了open SUSELeap,直接基于SLESP1。这两个发行版将共享代码库以互惠互利,SUSE将吸取open SUSE的优秀内容,反之亦然。通过这一举措,open SUSE也抛弃了常规的发行周期,一个新的版本将和SLE保持一致。这意味着每个版本将有更长的生命周期。



图5. SUSE与open SUSE发行版

  Gentoo——伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo 被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。

  但Gentoo Linux操作系统近年来已经失去了其原有的荣光。有些Gentoo用户已经认识到耗时的编译一个软件程序包带来的只是边际效益的速度和优化。自从 Gentoo的创始人和仁慈的独裁者从2004年从项目辞职后,新成立的Gentoo基金会一直在试图避免明确的开发方向和频繁的开发相冲突,这导致几个 高知名度的著名人士离开Gentoo。这还有待观察是Gentoo是否能够恢复过去的创新素质,还是会慢慢分解成一个缺乏个人明确目标定义的松散的项目集合。



图6. Gentoo Linux发行版

  Arch Linux ——ArchLinux是一个为那些想了解Linux一切的人准备的发行版,因为你必须手动安装一切,它会让你学会基于Linux的操作系统的每个部分。Arch Linux ARM被称为最好的ARM设备发行版。随着Android的成功,我们已经被ARM设备所包围,从树莓派到Chromebook再到Nvidia Shield。为Intel/AMD处理器编写的传统发行版将不能在这些设备上运行。虽然一些发行版专为ARM设计,但是大多数都只针对具体的硬件,比如为树莓派设计的Raspbian。这也是为什么ArchLinuxARM(ALARM)让人眼前一亮。因为它是一个纯粹由社区主导的基于ArchLinux的发行版,你可以在树莓派、Chromebook、android设备、Nvidia Shield等上面运行它。这个发行版更有趣的是,因为Arch User Repository(AUR)的原因,所以你可以安装许多你可能在其他发行版上无法获得的应用程序。Arch也因优异的文档闻名。ArchWiki可以让我得到任何Linux相关的资料。



图7. Arch Linux发行版

  而国产Linux发行版方面,比较著名的有:

  RedFlag——红旗Linux是由北京中科红旗软件技术有限公司开发的一系列Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品。目前在中国各软件专卖店可以购买到光盘版,同时官方网站也提供光盘镜像免费下载。红旗Linux是中国较大、较成熟的Linux发行版之一。

  Kylin——中标麒麟(原名中标普华Linux),2010年12月底,中标普华与国防科技大学强强联手进行操作系统方面的技术合作,合作之后的中标普华Linux操作系统更名为“中标麒麟”,而且也进一步更换了新操作系统的Logo。此次合作,是民用“中标普华”操作系统的易操作性与军用的“银河麒麟”的高度安全性在技术上的深层次合作,双方分别将各自的特色性能融合到新操作系统中。中标麒麟操作系统采用强化的Linux内核,分成桌面版、通用版、高级版和安全版等,满足不同客户的要求,已经广泛的使用在能源、金融、交通、政府、央企等行业领域。中标麒麟增强安全操作系统采用银河麒麟KACF强制访问控制框架和RBA角色权限管理机制,支持以模块化方式实现安全策略,提供多种访问控制策略的统一平台,是一款真正超越“多权分立”的B2级结构化保护操作系统产品。



图8. 国产Linux发行版


  最后,介绍一些具有特殊用途的 Linux 发行版,说不定它们当中就有你想找的呢。

1. Parted Magic

  Parted Magic 是基于Linux的小型发行版本(40MB左右),专门实现磁盘分区和管理功能。Parted Magic可通过ISO光盘、U盘或PXE网络启动,启动后进入图形界面可运行GParted等工具软件进行硬盘的分区设置;Parted Magic与Lubi是独立成的开源项目,但Lubi使用了Parted Magic的分区功能。

2. SystemRescueCD

  SystemRescueCd是一份可启动光盘Linux系统,它用于在崩溃后修复系统及数据。它的另一个目标是为在你的计算机上完成管理任务提供方便, 例如创建和修改硬盘分区。它包含了大量的系统实用工具(parted、partimage、fstools等)及基本软件(编辑器、midnight commander,网络工具)。它面向易用性,只要从光盘引导你就可以做任何事情了。其内核支持大多数最重要的文件系统(ext2/ext3、 reiserfs、xfs、jfs、vfat、ntfs、iso9660),以及网络系统(samba和nfs)。SystemRescueCd基于 Gentoo LiveCd。

3. BackTrack

  BackTrack 是基于Ubuntu的自启动运行光盘,它包含了一套安全及计算机取证工具。它其实是依靠融合Auditor Security Linux和WHAX(先前的Whoppix)而创建成的。

4. Ubuntu Studio

  Ubuntu Studio 是一个 Ubuntu 的变种版本,主要是提供一个捆绑了专业音频、视频和图形处理软件的工作站版本。

5. Mythbuntu

  Mythbuntu是一份基于Ubuntu的发行,它是一张自启动运行光盘,着眼于构建一份单独的MythTV系统,这与KnoppMyth或 Mythdora类似。它可以被用于安装一份独立的前端或后端或组合机器。Mythbuntu采用Xfce作为缺省桌面,它提供一份图形化的控制中心来配 置系统。

6. Scientific Linux

  Scientific Linux是一份重新编译的Red Hat Enterprise Linux,它包含了遍布世界的多种多样的实验室和大学的贡献。

7. Tails

  The Amnesic Incognito Live System (Tails)是基于Debian的自启动光盘或USB发行,其目标是为用户提供完整的因特网匿名功能。该发行装备了一些因特网应用程序,包括网页浏览 器、IRC客户端、邮件mail客户端、即时消息信使,这都以安全为理念进行了预配置,并对网络流量进行了匿名性处理。为达到此目标,Incognito 使用了Tor网络,以使得网络流量很难被追踪。

8. LinuxCNC

  LinuxCNC 是一个计算机控制机器的软件系统,例如铣床、车床、等离子切割机、切断机、机器人、hexapods等等。

9. Edubuntu

  Edubuntu 是一个专门面向学校和其他教育环境的Linux发行版. 基于深受大家欢迎的 Ubuntu 发行版建立, 它是一个完整的操作系统, 包含一个办公套件, 网页浏览器, 许多教育应用程序等等. Edubuntu 是为教师量身定做的, 或者网络管理员也能够用它轻松而快速地建立一个电子教室。

10. VortexBox

  VortexBox 是基于Fedora的 Linux发行,它将一台没在使用的计算机转变为一台易于使用的音乐服务器或电唱机。一旦VortexBox加载好,它能自动从CD唱片转换出FLAC和MP3文件、对文件进行ID3标记、下载封面图样。VortexBox之后便能使这些文件服务于网络媒体播放软 件。音乐文件也能以流媒体形式运送到Windows或Mac OS X操作系统。

11. DouDouLinux

  DouDouLinux 是一个儿童专用Linux系统,适合儿童使用的 Linux 操作系统,操作很简单,界面很卡通。

12. Ubuntu Mobile

  Ubuntu Mobile 是移动版Ubuntu,为互联网设备而生,可作为手机操作系统。基于当下非常流行的Ubuntu Linux发行版,开源,具有完整的网络支持以及丰富自定义项目。

13. Veket Linux

  Veket Linux 是一个随身的可装在U盘的Linux操作系统,可谓百用随身系统。

  太多了介绍不完,自己去看吧:http://www.oschina.net/project/tag/3/operating-system


  如果你对选择怎么样的Linux发行版仍有疑问,请参考下图:



图9. 如何选择Linux发行版

常用的Linux发行版的更多相关文章

  1. linux发行版基础目录

    linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...

  2. 十大广泛使用的Linux发行版

    回到上世纪90年代,Mandrake Linux还是唯一的Linux发行版:而今天,Linux发行版的数量变得数不胜数.本文为大家整理出了十大广泛使用的Linux发行版,希望能帮助大家在选择合适的Li ...

  3. 最佳 Linux 发行版汇总

    Linux入门UbuntuUbuntu是一款基于Debian发行版,以Unity作为默认桌面环境的Linux操作系统.他是世界上最流行的发行版之一,每次发行,它都有提升.最新发行版为桌面.移动及其桌面 ...

  4. 十大流行Linux发行版

    [2013年5月13日 51CTO外电头条]Linux是功能强大的常用操作系统之一,目前它在计算机操作系统领域的发展速度越来越快.它提供了出色的性能和速度.Linux用起来非常稳定而可靠.它还提供了几 ...

  5. [Linux发行版] 常见Linux系统下载

    本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...

  6. 安装基于 Linux 发行版的重要事项(流程指引)

    安装基于 Linux 发行版的重要事项(Install important issues based on the Linux distribution. (Process guidance)) 1. ...

  7. Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo

    Linux,最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及 ...

  8. 一款国内好用的Linux发行版?Deepin(深度)Linux

    一款国内好用的Linux发行版?Deepin(深度)Linux 目前来说,要将Linux作为桌面解决方案,对于大多数PC用户来说,当然是不现实的,毕竟Linux的主力用户群体依然是少数极客用户.说白了 ...

  9. 【转帖】Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo

     Linux发行版:CentOS.Ubuntu.RedHat.Android.Tizen.MeeGo作者:阳光岛主 原文在这儿 Linux,最早由Linus Benedict Torvalds在199 ...

随机推荐

  1. Kinect 常用识别手势

    以下手势能被流畅的识别: ◎RaiseRightHand / RaiseLeftHand – 左手或右手举起过肩并保持至少一秒 ◎Psi –双手举起过肩并保持至少一秒 ◎Stop – 双手下垂. ◎W ...

  2. nodejs 构建本地web测试服务器 以及 解决访问静态资源的问题!

    直接打开html文件,是以file:///方式打开的,这种方式很多时候会遇到跨域的问题,因此我们一般会搭建一个简易的本地服务器,来运行测试页面. 一.构建静态服务器 1.使用express模块 建立个 ...

  3. 使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)

    上文<使用 VS2017 和 js 进行桌面程序开发 - electron 之 Hello Word>介绍了如何使用 VS2017 开发 electron 桌面程序,今天来点有看头的,但是 ...

  4. zabbix实现邮件报警

    说明: Zabbix监控服务端.客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行正常. 实现目的: 在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报 ...

  5. Android之IPC(aidl)

    IPC(Inter-Process Conmunication) 进程间通讯 在同一进程中,各个组件进行通信是十分方便的,普通的函数调用就可以解决:但是,对于处于不同进程中的组件来说,要进行通信,就需 ...

  6. java第一课,java基础

    Java:                是1991年SUN公司的James Gosling等人开发名称为Oak的语言,希望用于控制嵌入在有线电视交换盒,PDA等的微处理器.java.是面向互联网的语 ...

  7. java定时任务的实现方式

    在本文里,我会给大家介绍2种不同的实现方法:1.普通thread实现2.ScheduledExecutorService实现 一:实现普通的thread: 首先是创建thread然后就是一直让whil ...

  8. Android 上层应用读写设备节点

    Android 上层应用读写设备节点 Android L [TOC] 1. Android 设备节点 Android基于Linux内核.设备节点文件是设备驱动的逻辑文件,可以通过设备节点来访问设备驱动 ...

  9. Codeforces_499C:Crazy Town(计算几何)

    题目链接 给出点A(x1,y1),B(x2,y2),和n条直线(ai,bi,ci,aix + biy + ci = 0),求A到B穿过多少条直线 枚举每条直线判断A.B是否在该直线两侧即可 #incl ...

  10. http调用端HttpClient、DefaultHttpClient、CloseableHttpClient

    1:说下httpClient接口和4.2.6版本后过时实例DefaultHttpClient,以及新的实例应用.  说到HTTP,脑子就冒出它的特性,基于TCP协议,简短点:说明是交互性的. 2:下面 ...