1.1 Linux是什么

Linux其实是一个操作系统平台。我们平时常用的操作系统叫作Windows。当然,也有不少朋友使用苹果电脑,苹果电脑所用的系统叫作macOS。也许你还听说过一种系统叫作Unix, Unix是比Linux更加古老的一种系统,多用在服务器领域。Linux同样也是用在服务器领域,大家熟知的BAT公司(百度、阿里、腾讯)、Google、Facebook等一线互联网大公司的服务器99%的操作系统都是Linux。大家用的Android手机也是Linux操作系统。

1.1.1 Linux的由来

说到Linux的历史,故事就多了,只不过阿铭觉得讲太多你也记不住,甚至会产生放弃学习Linux的念头,所以这里只简要介绍一下Linux的由来。

在Linux诞生之前,一直是Unix的天下。只不过当时Unix并不能免费获得,要想使用必须先购买授权,这在当时是非常昂贵的,很少有人能承担得起。

在这样的背景下,很多计算机爱好者非常渴望有一个便宜或者免费的操作系统供大家学习研究。1983年,计算机界的牛人Richard Stallman发起了一个计划,目的就是构建一套完全自由的操作系统,这个计划就是著名的GNU计划。所谓完全自由,就是要求加入GNU计划的所有软件都必须自由使用、自由更改、自由发布。也就是说,软件发布必须要发布它的源代码,这个源代码可以供别人自由使用,也可以随便更改,但是必须要把更改后的代码发布。当然,光说不行,必须要有明文规定许可协议来制约大家如何自由使用,这套规定就是著名的GPL协议。

GNU计划发起后,有很多支持者,所以在这期间产生了许多非常棒的软件,比如vi、Emacs、GCC等。但遗憾的是,一直没有一个比较完美的操作系统出现。直到1991年,芬兰大学生林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)基于兴趣开发了一个类Unix操作系统,一经发布便得到了广大爱好者的追捧,这个系统就是Linux。1994年,Linux加入GNU计划并采用GPL协议发布。自此,GNU/Linux真正实现了构建一套完全自由的操作系统的设想。

1.1.2 Linux怎么读

对于Linux这个英文单词,中国人的发音各式各样,有的读作['lɪnɪks](“李尼克斯”),有的读作['linju:ks](“李纽克斯”),有的读作['lɪnəks](“李呢克斯”)。官方给出的标准发音为['li:nэks],写成中文就是“李呢克斯”。如果你之前并非标准发音,那么阿铭希望你日后纠正一下。

1.1.3 常见Linux发行版

在Linux加入GNU计划之前,就已经有不少组织把Linux包装发行了,其中比较出名的有Debian(1993)和Slackware(1993)。而Linux加入GNU之后也有一部分发布版本产生,比如Red Hat(1994)就是在这时候诞生的。而大家所熟知的Ubuntu(2004)出现得比较晚,它其实是在Debian的基础上发展起来的,也就是说,Ubuntu只是Debian的一个分支。当然,Slackware也有一个比较出名的分支,那就是SUSE(1994)。

可以这样说,目前大家熟悉的所有Linux发行版都是基于上面的几个发行版发布的。这几年比较流行的Android操作系统也是一种Linux发行版。说到Red Hat,我想大家会想到其他两个发行版,那就是Fedora和CentOS,下面阿铭就来说一说它们和Red Hat有什么关系。

Red Hat是Linux非常出名的一大分支,有很多发行版都是基于这个分支的。我想大家也听说过国内的一款Linux发行版Red Flag(1999),它就是基于Red Hat发行的,只不过这个版本并不是很流行,用的人不多。2002年,Red Hat推出面向企业的新的发行版Red Hat Enterprise(简称RHEL),而之前的Red Hat不再发行,但是它并没有消失,而是由另一个发行版延续,这就是著名的Fedora。其实这个发行版对于RHEL来说是个开发实验版本,因为RHEL上的很多新技术都要先在Fedora上测试,如果稳定,再移植到RHEL上。总的来说,Fedora这个发行版也是十分稳定和优秀的,所以有很多爱好者使用它。

接下来,阿铭要介绍一下CentOS这个发行版。它诞生于2003年,如果你使用过RHEL和CentOS这两个发行版,那肯定会说它们俩简直太像了。没错,CentOS和RHEL几乎长得一模一样,这是为什么呢?大家都知道,Red Hat是基于GNU的,那么它就得遵循GPL协议。RHEL发布后要发布所有源代码,所以CentOS就是拿RHEL的源代码编译而来的,只是有些地方稍微改动了一下。2014年2月,CentOS被Red Hat收入囊中,因为CentOS这个发行版已经广泛流行,这无疑引起了Red Hat官方的重视。

1.1.4 我们要学习哪个Linux发行版

刚才已经介绍过Linux发行版的几大知名分支,那我们要学习的肯定是这几大分支中的一种。因为知名,所以用得多;因为用得多,所以值得我们去学习。在学习Linux之前,阿铭要问你一个问题:“我们学习Linux的目的是什么?”阿铭觉得有八成的人会回答:“为了找一份与Linux相关的工作。”如此,问题又来了:“你知道大多数企业用哪个发行版的Linux搭建服务器吗?”虽然我们没有官方统计的数据作为依据,但是阿铭工作了这么多年,凭经验来分析,国内大多数企业都使用RHEL/CentOS作为服务器操作系统。

RHEL是Red Hat公司推出的一款针对企业的发行版Linux,可以免费下载使用。但是要想获得官方授权,就必须要购买授权协议(也就是所谓的服务),而这个服务费并不便宜。如果我们只是用它来学习,那就无所谓了。只不过会有一个小小的问题:RHEL在没有获得授权的情况下不能使用yum工具(这个工具阿铭会在后面详细介绍,它非常有用),而CentOS有免费的yum工具可以使用。

阿铭推荐大家以后使用CentOS发行版来学习Linux,具体理由如下。

❏ 国内多数企业使用RHEL搭建服务器。

❏ 目前使用CentOS的企业越来越多。

❏ CentOS和RHEL几乎一样,而且CentOS有免费的yum工具可以使用。

❏ CentOS目前已经加入Red Hat公司,且依然完全免费。

❏ 本书所有案例均使用CentOS发行版完成。

阿铭并非强制你日后一定要使用CentOS,其实所有版本的Linux都大同小异,只要学会了其中一个,学其他发行版自然是水到渠成的事。