什么是Linux的发行版
就Linux的本质来说,它只是操作系统的核心,负责控制硬件、管理文件系统、程序进程等,并不给用户提供各种工具和应用软件。所谓工欲善其事,被必先利其器,一套在优秀的操作系统核心,若没有强大的应用软件可以使用,如C/C++编译器、C/C++库、系统管理工具、网络工具、办公软件、多媒体软件、绘图软件等,也无法发挥它强大的功能,用户也无法仅仅使用这个系统核心进行工作,因此人们以Linux内核为中心,再集成搭配各种各样的系统管理软件或应用工具软件组成一套完整的操作系统,如此的组合便称为Linux发行版。
知名的发型版
因为GNU/Linux本身是开源的,所以任何人,任何厂商只要在遵循社区游戏规则的前提下构建自己的发行版本,目前已知大约有300个Linux的发行版(看着头就疼,还是BSD系列好,OpenBSD和FreeBSD主打,DragonFlyBSD和NetBSD玩票)。所以这里只介绍一些比较知名的发行版本。可以看下Linux发行版流行的一张图。
Slackware
Slackware可以说是历史悠久,与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则。配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。Slackware 很多特性体现出了KISS原则,最为有名的一些例子就是不依赖图形界面的文本化系统配置、传统的服务管理方式和不解决依赖的包管理方式。它的最大特点就是安装灵活,目录结构严谨,版本力求稳定而非追新。Slackware的软件包都是通常的tgz(tar/gzip) 或者txz(xz) 格式文件再加上安装脚本。Tgz/Txz 对于有经验的用户来说,比RPM更为灵活,并避免了APT 之类管理器可能带来的的依赖地狱。
Fedora
Fedora是一套从Red Hat Linux发展出来的免费Linux系统。Fedora的前身就是Red Hat Linux。Fedora由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护*、开放源码的软件和开放的标准。Fedora项目由 Fedora 基金会管理和控制,得到了Red Hat, Inc. 的支持。Red Hat会将一些先行技术放入Fedora进行试验(我会告诉你,你是Red Hat的小白鼠嘛),它尤其可以为在Red Hat和CentOS环境下工作的那些人带来便利。它使用RPM包来安装软件,并且提供repo这种包管理器来简化软件包的安装流程和进行软件包升级。
Debian
Debian的目标是提供一个稳定容错的Linux版本。支持Debian的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期Linux的经验。Debian以其稳定性著称(我会告诉你,这个版本的软件万年不更新嘛),是很多服务器和程序员所喜爱的版本之一。Debian的创始人自杀了,实在是让人惋惜。Debian作为一个服务器专用发行版是非常稳定的,基本上都不需要折腾。
Red Hat
可能这是最著名的Linux版本了,Red Hat Linux已经创造了自己的品牌,越来越多的人听说过它。Red Hat在1994年创业,当时聘用了全世界500多名员工,他们都致力于开放的源代码体系。它拥有自己的公司,能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的Linux也使用最新的内核,还拥有大多数人都需要使用的主体软件包。 Red Hat Linux的安装过程也十分简单明了。它的图形安装过程提供简易设置服务器的全部信息。磁盘分区过程可以自动完成,还可以选择GUI工具完成,即使对于Linux新手来说这些都非常简单。选择软件包的过程也与其他版本类似;用户可以选择软件包种类或特殊的软件包。系统运行起来后,用户可以从Web站点和 Red Hat那里得到充分的技术支持。Red Hat是一个符合大众需求的最优版本(我会告诉你,你只要拿钱就行了嘛)。在服务器和桌面系统中它都工作得很好。Red Hat的唯一缺陷是带有一些不标准的内核补丁,这使得它难于按用户的需求进行定制。 Red Hat通过论坛和邮件列表提供广泛的技术支持,它还有自己公司的电话技术支持,后者对要求更高技术支持水平的集团客户更有吸引力。
SuSE
SuSE的总部设立在德国,已经奋斗了多年。SuSE一直致力于创建一个连接数据库的最佳Linux版本。为了实现这一目的,SuSE与Oracle 和IBM合作,以使他们的产品能稳定地工作。SuSE还开发了SuSE Linux eMail Server III,一个非常稳定的电子邮件群组应用。在SuSE发行版,可以非常方便地访问Windows磁盘,这使得两种平台之间的切换,以及使用双系统启动变得更容易。SuSE的硬件检测非常优秀,该版本在服务器和工作站上都用得很好。SuSE拥有界面友好的安装过程,还有图形管理工具,可方便地访问Windows磁盘,对于终端用户和管理员来说使用它同样方便,这使它成为了一个强大的服务器平台。
CentOS
CentOS(Community ENTerprise Operating System)是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用(我会告诉你,以为企业想省钱,运维要靠这个东西来赚钱嘛,国内运维主流是CentOS剩下版本很少)。两者的不同,在于CentOS并不包含封闭源代码软件,CentOS 是一个基于Red Hat Linux 提供的可*使用源代码的企业级Linux发行版本。每个版本的CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。
Ubuntu
Ubuntu是一个基于Debian的发型版本,但是软件更新频度相对较高。它提供两个主要版本,一个是桌面版本,一个是服务器版本,但是Ubuntu比较注重桌面版本。Ubuntu在发布版本的时候,会发布一个LTS版本,这个版本会提供长达三年的升级支持。
Gentoo
Gentoo它能为几乎任何应用程序或需求自动地作出优化和定制。追求极限的配置、性能,以及顶尖的用户和开发者社区,都是Gentoo体验的标志特点。 Gentoo的哲学是*和选择,得益于一种称为Portage的技术,Gentoo能成为理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西。Gentoo Linux是滚动升级的发行版,所以在上游软件发布很短时间后,其上就会有软件包可用。Gentoo的基础系统和软件包都是根据用户指定的USE标识直接从源代码构建(我会告诉你,这玩意难用死了嘛,至少不要用Python写好不好)。
Arch
Arch Linux是一个 “以用户为中心”的发行版。此发行版是为了满足贡献者的需求,而不是为了吸引尽可能多的用户。Arch 适用于乐于自己动手的用户,他们愿意花时间阅读文档,解决自己的问题。 报告问题、完善 Wiki 社区文档、为其它用户提供技术支持。Arch 用户仓库 收集用户贡献的软件包,Arch的最大优势就是滚动升级。
##Linux发行版选择
新手
作为Linux的新手,简单易用的Ubuntu桌面的LTS或者Debian是非常不错的选择,因为这两个版本的包管理系统非常成熟,桌面也非常简洁。
动手能力强的
可选发型版本就比较多了,例如说Gentoo,Arch和Slackware,包括这里没有列举的LFS(我会告诉你,用了之后你会怀疑,这也算发行版嘛)。
研发或运维
根据公司实际使用情况选吧,但是绝大部分国内公司都会选CentOS(我会告诉你,运维圈内不会CentOS会被鄙视嘛)。所以好好的用Fedora,CentOS和Red Hat才是正道。