



接下来我们介绍一下Linux操作系统的优缺点、应用领域和发行版本。
Linux不可比拟的优势如下。
Linux最大的优势就是开源,也就是开放源代码。Windows和UNIX都不是开源系统,连带着它们的应用软件也都不是开源软件。大家回想一下,谁见过QQ的源代码程序?估计除了QQ的开发工程师,谁也没有见过。闭源软件有显而易见的好处,比如可以盈利,可以避免竞争对手抄袭。
但是Linux在这里反其道而行,不光Linux系统是开源的,而且Linux要求其所有的软件也必须是开源的。强制开源,对开发者是有一定缺点,比如很难盈利。但是对于使用者,绝对是福利!开源系统更加安全,因为如果被植入了攻击程序,全球的开发者都可以看到,基本是不可能的。开源系统也更加稳定,如果代码有Bug,所有开发者都能看到源代码的前提下,找到Bug的概率大幅增加。
大家注意,开源并不等同于免费,虽然绝大多数的开源软件都是免费的。也就是说,开源软件也可以销售,这并不冲突。
Linux系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的Apache、Nginx、PHP、MySQL等,构建成本低,是Linux被众多企业青睐的原因之一。当然,这和Linux出色的性能是分不开的,否则,节约成本就没有任何意义了。
但不可否认的是,Linux在办公应用和游戏娱乐方面的软件相比Windows系统还很匮乏,Linux更适合用在它擅长的服务器领域。
Linux系统有良好的可移植性,它几乎支持所有的CPU平台,这使得它便于裁剪和定制。我们可以把Linux放在U盘、光盘等存储介质中,也可以在嵌入式领域广泛应用。
如果读者希望不进行安装就体验Linux系统,则可以在网上下载一个Live DVD版的Linux镜像,刻成光盘放入光驱或者用虚拟机软件直接载入镜像文件,设置CMOS/BIOS为光盘启动,系统就会自动载入光盘文件,启动进入Linux系统。
著名的黑客埃里克·雷蒙德(Eric S.Raymond)有一句名言:“足够多的眼睛,就可以让所有问题都浮现。”举个例子,假如笔者在演讲,台下人山人海,我中午吃饭不小心,有几个饭粒黏在衣领上了,分分钟就会被大家发现,因为看的人太多了;如果台下就稀稀落落两三个人且距离很远,那就算我衣领上有一大块油渍也不会被发现。Linux开放源代码,将所有代码放在网上,全世界的程序员都看得到,有什么缺陷和漏洞,很快就会被发现,从而成就了它的稳定性和安全性。
经常有初学的朋友问笔者,Linux是不是对TCP/IP协议支持不好、是不是与Java的开发环境不兼容之类的问题。前面在UNIX发展史中已经介绍了,UNIX系统是与C语言、TCP/IP协议一同发展起来的,而Linux是UNIX的一种,C语言又衍生出了现今主流的语言PHP、Java、C++等,而哪一个网络协议与TCP/IP无关呢?所以,Linux对网络协议和开发语言的支持都很好。
Linux的优点在此不一一列举,只说明这几点供读者参考。诚然,Linux不可能没有缺点,如桌面应用还有待完善、Linux的标准统一还需要推广、开源软件的盈利模式与发展还有待考验等,不过,瑕不掩瑜。
Linux似乎在我们平时的生活中很少看到,那么它应用在哪些领域呢?其实,在生活中随时随地都有Linux为我们服务着。
Linux最主要的应用就是服务器领域,国外接近80%的服务器采用的是Linux系统,而国内占比更高。我们学习Linux技术的目的,主要是培养专业的运维工程师,那么出于找工作的考虑,也应该学习使用占比更高的技术,这样在工作的时候拥有的机会才会更多。
为什么大多数服务器会采用Linux而不使用UNIX或Windows呢?这是由于Linux的特性造成的,Linux的特点主要是开源、免费、安全、可靠。其中免费是巨大的优势,而UNIX和Windows都是收费的,而且价格不菲。服务器一般都会部署很多台,每台服务器的操作系统都需要付费,加在一起,价格是很昂贵的。
Linux第二个最主要的优势是开源,开源会带来更加安全、稳定的系统,这都是服务器所追求的。
这些原因导致了在服务器操作系统领域(个人办公电脑操作系统Windows是绝对霸主),Linux是占比最高的操作系统,我们的目的是工作,当然要学习Linux系统了。
1998年,上映了一部电影《泰坦尼克号》,那些看起来真实、恐怖的豪华巨轮与冰山相撞最终沉没的场面要归功于Linux,归功于电影特技效果公司里终日处理数据的100多台Linux服务器。
在过去,SGI图形工作站支配了整个电影产业,20世纪90年代的影片《侏罗纪公园》中生动的恐龙,正是从SGI上孕育出来的,SGI的操作系统Irix就是UNIX的一种。当时所有动画制作公司都得看SGI的脸色。然而,从1997年开始,Linux开始全面占领好莱坞,娱乐业巨擘迪士尼宣布全面采用Linux,宣告了SGI时代的没落,Linux时代走向辉煌。
好莱坞精明的电影人热情地拥抱Linux,其中的原因不言而喻。首先,Linux作为开源软件,可以节省大量成本;其次,Linux具有商业软件不具备的功能定制化特点,各家电影厂商都可依据自己的制片需要铺设相关平台。到现在为止,使用Linux制作的好莱坞大片已经有几百部了。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可定制,适用于各种应用场合,对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统及用户的应用程序四个部分组成,用于实现对其他设备的控制、监视或管理等。嵌入式系统几乎涵盖了生活中的所有电器设备,如手机、平板电脑、电视机顶盒、游戏机、智能电视、汽车、数码相机、自动售货机、工业自动化仪表与医疗仪器等。
不得不提的是安卓系统(Android)。安卓系统是基于Linux的开源系统,主要适用于便携设备,如智能手机和平板电脑等,是Google公司为移动终端打造的真正开放和完整的移动软件。在如今的人工智能领域,安卓系统的占有率已然是傲视群雄。
从安卓手机到智能机器人,从大型网站到美国太空站,Linux都已涉足其中。Linux的发展震动了整个科技界,动摇了微软一贯以来的霸权,并且为科技界贡献了一种软件制造的新方式。
Top500是评定全球500台最快的超算系统性能榜单,最新的统计中,世界上500台超级计算机几乎全部在运行着Linux系统。
新手往往会被Linux众多的发行版本搞得一头雾水,我们首先来解释一下这个问题。
从技术上来说,李纳斯·托瓦兹开发的Linux只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,但一个内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将Linux内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了Linux的发行版本。
在Linux内核的发展过程中,各种Linux发行版本起到巨大的作用,正是它们推动了Linux的应用,从而让更多的人开始关注Linux。因此,把Red Hat、Ubuntu、SUSE等直接说成Linux其实是不确切的,它们是Linux的发行版本,更确切地说,应该叫作“以Linux为核心的操作系统软件包”。Linux的各个发行版本使用的是同一个Linux内核,因此在内核层不存在什么兼容性问题,每个版本有不一样的感觉,只是在发行版本的最外层(由发行商整合开发的应用)才有所体现。
Linux的发行版本可以大体分为两类:一类是商业公司维护的发行版本;另一类是社区组织维护的发行版本。前者以著名的RedHat为代表,后者以Debian为代表。很难说大量Linux版本中哪一款更好,每个版本都有自己的特点。下面为大家介绍四款我国国内应用较多的Linux发行版本。
Rocky Linux是本书的教学版本,我们在本章一开始就解释了为什么要学习Rocky Linux的原因。从Red Hat宣布CentOS停止开发之后,Rocky Linux以救世主的方式稳定了Linux从业者的军心,使Rocky Linux一定会取代CentOS,成为最主流的Linux发行版之一。
Red Hat(红帽公司)创建于1993年,是目前世界上资深的Linux厂商,也是最获认可的Linux品牌。
Red Hat公司的Linux产品主要包括RHEL(Red Hat Enterprise Linux的递归缩写)和CentOS(RHEL的社区克隆版本,免费版本)、Fedora Core(由Red Hat桌面版发展而来,免费版本)。RHEL系统是在我国国内使用人群最多的Linux版本,资料丰富,如果你有什么不明白的地方,则容易找到人来请教,而且大多数Linux教程是以RHEL系统为例来讲解的。
Ubuntu基于知名的Debian Linux发展而来,界面友好,容易上手,对硬件的支持非常全面,是目前最适合做桌面系统的Linux发行版本,而且Ubuntu的所有发行版本都免费提供。
Ubuntu的创始人Mark Shuttleworth是一个非常具有传奇色彩的人物。他在大学毕业后创建了一家安全咨询公司,1999年以5.75亿美元被收购,他由此一跃成为南非最年轻有为的本土富翁。作为一名狂热的天文爱好者,Mark Shuttleworth于2002年自费乘坐俄罗斯联盟号飞船,在国际空间站中度过了8天的时光。之后,Mark Shuttleworth创立了Ubuntu社区,2005年7月1日建立了Ubuntu基金会,并为该基金会投资1000万美元。他说,太空的所见正是他创立Ubuntu的精神之所在。如今,他最热衷的事情就是到处为自由开源的Ubuntu进行宣传和演讲。
SuSE Linux以Slackware Linux为基础,原来是德国的SuSE Linux AG公司发布的Linux版本,1994年发行了第一版,早期只有商业版本,2004年被Novell公司收购后,成立了OpenSUSE社区,推出了自己的社区版本OpenSUSE。
SuSE Linux在欧洲较为流行,在我国国内也有较多应用。值得一提的是,它吸取了Red Hat Linux的很多特质。
SuSE Linux可以非常方便地实现与Windows的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。Gentoo是所有Linux发行版本里安装最复杂的,到目前为止仍采用源码包编译安装操作系统。不过,它是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。
自从Gentoo 1.0面世后,它就像一场风暴,给Linux世界带来了巨大的惊喜,同时也吸引了大量的用户和开发者投入Gentoo Linux的怀抱。
有人这样评价Gentoo:快速、设计干净而有弹性,其出名是因为高度的自定制性——它是一个基于源代码的发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用Gentoo的用户都选择自己手动编译。这也是为什么Gentoo适合比较有Linux使用经验的老手使用。但要注意的是,由于编译软件需要消耗大量的时间,如果所有的软件都由自己编译,并安装KDE桌面系统等比较大的软件包,则可能需要花费很长时间。
Linux的发行版本众多,在此不逐一介绍,下面给选择Linux发行版本犯愁的朋友一点建议:
·如果是服务器使用操作系统建议使用Rocky Linux,此版本几乎和同版本的RedHat Linux一致,而且完全免费。
·如果你资金充足,也是服务器使用,当然也可以使用RedHat Linux。不过RedHat Linux的收费现在真是昂贵至极,价格从349美元到8000美元之间(这是单台服务器操作系统的价格,如果有多台服务器,每一台服务器都要花费同样的价格购买)。
·如果你使用Linux是从事软件开发,或者仅是需要一个图形桌面的系统,那么建议使用Ubuntu。Ubuntu的软件源仓库更新更快,部署软件开发系统极其方便。当然太新的软件及系统,存在安全性与稳定性隐患,并不适合服务器。
以上纯属个人建议,非官方指导意见。其实不论Linux的发行版是什么,只要内核一致,它们的功能和命令就基本一致。学习其中的一种,碰到其他的发行版,至少命令都是可以通用的,也能触类旁通。