有一对儿异地的恋人,他们每天在手机上聊天,显示的距离永远都是1648 km。快到年底了,女孩实在受不了这种距离而提出了分手,男孩沉默不语。除夕之夜,女孩在家中刷新手机,看到男孩距离她只有1.1 km,再刷新,只有0.9 km。她明白即将要发生什么,含着热泪走向门口……当晚,在隆隆的焰火声中,他们的距离变成了5 cm,于是第二天他们还是分手了…… 这似乎是个悲剧,不知道你能看出笑点吗? 大多数Linux初学者与Linux之间就好像是异地的恋人,他们之间永远都是Windows所隔开的距离。久而久之,实在受不了这种距离而最终要彼此离开。少数人鼓起了勇气,走进Linux并试图完成一次“亲密接触”,结果很多时候是不欢而散的。 学习和掌握Linux需要一种和谐。这种和谐可能取决于第一次亲密接触时的感觉是否足够让人激动不已,以及能否历久弥新。到底是什么样的感觉能让人激动不已是因人而异的,历久弥新更是不尽相同,所以不同的Linux入门资料也会采用不同的方法以期达到这种效果。 作为本书的最初章节,也希望做点类似的工作,只是方法有点特殊。我们期望通过本章的内容尽量拉近你和Linux的距离。换句话说,本书并不是为那些完全不了解Linux的人准备的,你至少应该听说过Linux的名号或者见过别人使用Linux。当然,不管什么方式都是因人而异的,即便对Linux一无所知的朋友也会通过本章受益,但是至少你得有成功安装过操作系统的经验。否则的话,你一定是电脑天才。 也许这章的内容只能让你在门外徘徊,如果是这样,你就应该暂时放弃这本书(不,不要放弃),寻找其他更适合自己的入门资料,然后再继续本书;亦或是这章的内容能够使你足够威猛到融汇贯通的程度,那是我们始料不及的,或许这是整本书都无法达到的高度;我们说:合适就好,那样才叫和谐啊…… 1.1 让Linux入驻我们的电脑 “如果给我一千万,我就能买一栋房子。我有一千万吗?没有。所以我依然没有房子。如果我有一双翅膀,我就能飞。我有翅膀吗?没有。所以我也没办法飞。如果给我一台运行着Linux的电脑,我就能玩转Linux。我能拥有一台运行着Linux的电脑吗?”我说:“这个完全可以有。所以,是的,你能玩转Linux。” 大多数人可能会在Windows上虚拟一个Linux出来,我的建议正好相反。要养成使用Linux的习惯,显然就要让Linux入驻你的电脑,让它成为你的主要操作系统,然后再虚拟一个Windows出来 1.1.1 我们用Linux的理由 很多人在决定让Linux入驻自己电脑的时候遇到了很大的障碍。我所了解到的大多数问题是担心没有可以替代的软件。 实际上对于大多数人而言这根本就不是问题,只是他们不知道罢了。但是如果你买电脑就是用来玩游戏的,那么这本书估计也不适合你。这并不代表本书排斥游戏玩家,恰恰相反,我本身就是一个超级玩家。我总是认为拿电脑打游戏是十分浪费资源的,专用的游戏主机更适合干这件事儿,也很便宜。比如一台PS3的价格绝对比一块超级显卡便宜很多,但是游戏效果绝对是目前最棒的。那么排除了打游戏这种需求之外,Linux几乎可以满足绝大部分的需求了。 对于现如今不可或缺的浏览器来讲,除了没有IE以外,其他的各种主流浏览器都有Linux版本,比如Firefox、Chrome、Opera等。有人可能会来抬杠,说Linux下肯定没有Apple的Safari浏览器,那么抬杠的人就要失望了,因为Safari实际上是修改自Konqueror这个来自KDE(Linux的一个图形环境,后面会介绍)的浏览器。其实在Firefox和Chrome还没诞生之前,我最常用的浏览器就是Konqueror了,只是由于后来它的开发者们被Apple耍了一道,之后便开始没落了。说句题外话,现在是HTML5大行其道的年代,即便在Windows上,IE也开始不讨好了,Linux在这方面并不会吃亏。 除了浏览器之外的另外一个重要的领域就是Office软件了。当然MS Office是不可能有的。这方面的首推替代品就是OpenOffice系列了。但是我自身认为OpenOffice是给老外用的。它的中文本土化做得不如MS Office,对中文排版的处理上也特别差劲,而且与MS Office兼容性还不好。这可能是Linux无法推广普及的一大壁垒。但是话又说回来,我们中国有一家十分靠谱的公司,那就是永中科技,它出品的永中Office可以完美地兼容MS Office,完美地处理任何中文排版问题(总觉得永中应该给我点儿好处费才行)。永中Office采用Java开发,所以可以很容易地兼容所有Linux版本,而且还是免费给个人用户使用。绝对的自主知识产权,可以很好地满足一下广大愤青们的虚荣心。此外,老品牌的WPS也不甘寂寞,也正在加紧研发Linux版本,不日就会与大家见面。 对于大多数普通用户来说,上网、打字之外就应该是聊天了。如果你很清高从不使用QQ的话,那就实在是太好办了,几乎所有开源IM工具都不支持QQ。当然,如果你跟我一样很三俗,非QQ不用的话,WebQQ是一个非常好的选择。飞信还可以有libFetion和OpenFetion。唯独阿里旺旺比较麻烦,但是也有一个不伦不类的官方版本出来,我倒是可以在这里帮大家忽悠一下:童鞋们努努力吧……但是如果我那些负责开发旺旺的同事们不看这本书就没啥作用了。 如果你还觉得不够,还想看看电影听听歌曲,那就更好办了。其实Windows上我们使用的大多数免费播放器其真身原本就是为Linux而开发的,比如VLC、MPlayer等。很多播放器,甚至收费的也都只是在它们外面包上一层皮罢了。但是需要注意的就是你的声卡不能太“高级”了,因为一些特别专业的声卡没有Linux的驱动。但是显卡很好办,因为AMD和NVIDIA都很重视Linux,只要是还不太老掉牙的显卡,Linux都能良好地驱动它。 对于一些专业人士,比如视觉设计师们,或许会觉得Linux缺乏专业的设计软件。这其实也是一种误解。GIMP完全可以胜任Photoshop的工作,Inkscape一点也不比Illustrator差劲,Cinelerra兼有Permiere和After Effects的功能。不要忘记,当年卡梅隆导演正是用Linux作为平台完成了《泰坦尼克号》的特效。 当然,Linux除了能做这些Windows能做得很好的事情之外,还能做很多Windows做不到的事情。对Windows最为致命的打击就是Linux几乎不会感染病毒,至于为什么会这样,本书后面的内容会做详细的介绍。但是就现在来看,你大可以放心大胆地让Linux去裸奔(其实你想让它穿件衣服也没啥合适的)。再一个就是你可以合理、合法、合乎道德地免费使用Linux,并免费升级到最新版本,更不需要在安装时输入那25位的(最后一位数码也许已经被狗啃掉了)产品密钥,至于可恶的激活就能滚多远滚多远好了。Linux对硬件的要求极低,即便是目前最新版本的Linux,依然能够非常流畅地运行在只能勉强运行Win95的旧电脑上(最多值200块);然后就是你再也不用担心你的磁盘碎片问题了,因为Linux的磁盘管理方式要比Windows优秀不知多少倍,所以也不会因此而导致系统越用越慢。这其中的奥妙本书也是会告诉大家的。其实Linux的好处还有很多,我就不在这里浪费你的宝贵时间了,当你看完整本书,自然就什么都知道了。反正现在只要你选择了Linux,那就开启了另一种生活方式。 到目前来看,对于我们来说Windows的唯一救命稻草就只有一个了,那就是网上银行。这的确是很重要的一块儿领地,也没有任何替代的方案。我的方法就是虚拟一个Windows出来。这个Windows只用作网银操作,还能有效防病毒,连杀毒软件都省下了“卡车司机”别来找我麻烦啊 好了,我想我们已经给出了足够多的理由使你可以义无反顾地让Linux入驻你的电脑。放心,只要你按照我们的方法来做,是不会给你带来任何损失的。 1.1.2 选择哪个发行版 接下来我们将面临一个更为麻烦的问题,就是到底应该选择哪个Linux发行版。因为Linux的发行版实在太多了,用多如牛毛来形容一点都不夸张。可以想象,在牛毛中要选择出毛色最正、长短最合适、粗细最均匀的一根是多么纠结的事情啊。我们现在就要做这件事情,还要做好它! 就目前的情形看,Linux发行版可以分为三个主要的分支:RedHat、Slackware和Debian。每一个分支都拥有一个最具代表性的商业服务器级的发行版,它们是:Red Hat Enterprise Linux,简称RHEL;SUSE Linux Enterprise,简称SUSE;Ubuntu Server,简称Ubuntu。 看似好难选择的样子,但实际上也没什么,不管是谁家的Linux发行版,都不会有本质的区别。因为Linux本身就不是一个完整的系统,它实际上只是一个内核。所谓的发行版只不过是给这个内核加上一堆应用程序而攒成的系统。而且这些应用程序很大一部分都是来源于GNU社区,代码都是一样的,能有什么差别呢? 虽然本质上没有什么不同,但是不同的发行版在细节上还是有一些差别的。这主要体现在管理工具的选用上。由于开源软件的绝对自由性,具有相同功能的系统管理类软件可以有很多种,不同的发行版可能会对某种特性有偏好。有些实力比较强大的发行商,比如Red Hat,自己也会为开源社区贡献很多这类软件,它的发行版自然也会首选自家的产品。当然,其他发行版也可以采用Red Hat开发的管理软件,实际上很多发行版也是这么做的。 前面还说到发行版的分支,但是具体分支的归属并不取决于是否使用相同的系统管理工具。所谓的分支在软件层面上并没有十分严格的界限,只是这三个分支是历史最为悠久的发行版,而后续诞生的这些发行版大多都是从修改它们其中一种而发展起来的。实际上很多到目前为止已经跟其原有分支没有任何关联了,比如SUSE Linux已经跟Slackware没有任何联系了,但是最初的SUSE Linux是从Slackware修改而来的,所以现在依然认为它属于Slackware分支。现在,不同的分支之间互相也有借鉴,取长补短,所以分支概念在当前的发行版中越来越模糊了。现在比较清晰的是软件安装方法的不同,有些使用rpm,有些使用deb,有些甚至直接采用源代码。当然,这样的差别只有在使用不同安装方法的发行版之间才能感觉到。在日常使用中,Linux就是Linux,跟发行版没什么关系。 花费了这么大的篇幅,依然没有讲清楚到底该选择哪个发行版,我感觉有点对不住各位。那么接下来就解决这个实际问题。大家可能有所察觉,我所列举的这些发行版有些人根本都没有听说过,现在流行的都是什么Fedora、Ubuntu。的确,如果你就是想自己装个Linux玩,它们都是很好的选择。但是我们都是实用主义者,同时还要排除一下个人偏好,所以从选择哪个发行版更适合找到好工作这个角度出发就比较靠谱了。比较理想的选择应该是——CentOS。 你绝对没看错,也不是我的脑袋让电梯夹了而语无伦次。虽然这之前完全没有提到过CentOS,但是当你知道它实际上是RHEL的一个克隆之后,就会稍微地理解我推荐它的原因了。 RHEL由Red Hat发行,可以说系出名门,也是目前被众多品牌厂商支持得最为完善的Linux发行版。当然,SUSE和Ubuntu也未见得差到哪里,但是RHEL还有另外一个优势,就是对KVM虚拟机的支持。很多大型互联网公司为了充分利用服务器的硬件资源,都会大量采用虚拟机技术。而KVM的很多开发和测试工作都是在RHEL上进行的。这也导致了很多大型互联网公司都选择了RHEL作为其主要的服务器系统。既然RHEL这么优秀且又是大型互联网公司的选择,那么我们直接选择RHEL好了,为什么要选择它的克隆——CentOS呢? 原因非常简单,RHEL要收费。当然,RHEL也允许免费使用,但是你将得不到任何系统升级服务,也得不到任何技术支持。RHEL在对外发行的时候采用两种方式:一种就是收费的二进制方式,一种就是完全免费的源代码方式。CentOS就是利用完全免费的RHEL的源代码重新编译而成的,免费提供给大家,所以本质上与RHEL没什么区别。唯一的区别就是更新的频率没有付费的RHEL快。当然,如果你有足够的时间,也可以使用RHEL的源代码构建自己的发行版,至于是否收费,你自己说了算,给自己的公司用当然也不成问题。 不管怎么样,要想吃Linux这碗饭,CentOS是非常好的选择。在免费的同时可以体验到大型互联网公司的服务器系统环境。如果有机会去这些公司面试,根据自己平时的学习经验就可以很好地回答面试官的问题了,而面试这种事儿,“共同语言”是很重要的。 时刻不要忘记,学习Linux的本质还是要学习它最核心的那些机制。而CentOS并不会改变这些机制。掌握好了这些机制,对于掌握任何其他Linux发行版,乃至自己去制作发行版,都将是水到渠成的事情。而在这之前还有希望找到一份较为体面的工作,何乐而不为呢? 1.1.3 安装系统 到哪里去获得CentOS或RHEL,乃至其他Linux发行版呢?问Google或者百度好了。我不会像其他书籍那样提供一大堆URL列表,总感觉这样做是在辱没大家的智商。可能比较麻烦的事情是如何规划磁盘,本书的第3章会深入地探讨这个问题。那么现在这个阶段只要按照系统默认的安装设置就行了。如果你还想让Linux与Windows共存,只需要使用分区工具留下几十个GB的未分区的磁盘空间就行了,CentOS的安装程序可以自动使用你特意留下的空间。当然,安装的时候一定要慎重,看清楚提示,不要做一些蠢事。此外,我不是很建议你的Linux与Windows共存,还是在虚拟机上运行Windows吧(具体怎么弄我后面会告诉你)。 一个比较好的建议是使用64位版本,毕竟现在已经是21世纪又过了10多年了,老掉牙的32位系统应该在坟墓里歇息了!到本书截稿为止,最新版本的CentOS是6.4。为了安装方便,最好下载它的DVD镜像,前提是你安装的不是“假宽带”。 为了方便现在身边没有电脑的人能够尽早体验到Linux系统的一些魅力,这里我们准备了一些截图来讲述一下CentOS 6.4的安装过程,以期能够图文并茂地让你对Linux有一个好印象。出于成本考虑,当然也是为了帮助你省钱,我不打算使用彩色图片。但是即便是黑白二色,依然无法掩盖Linux系统的美。不过不要高兴得太早,你若想在安装CentOS 6.4的时候与我所描述的内容相符,那么必须保证你的机器内存大于628M,因为低于这个要求不会启动图形安装模式。幸运的是,文本安装模式不支持自定义分区,也不支持自定义软件包,这使得安装过程十分简洁,也造成了我没得可讲的境地。而不幸的是你也无法得到拥有图形环境的Linux系统。不过我倒十分希望你有这“下场”,因为在我看来只有坚持使用命令行才能学好Linux。 CentOS 6.4系统镜像有两个,只需要下载第一个镜像就能完成安装。第二个镜像是一些附加的软件包,基本上就没什么用。因为我们安装新的软件基本上都是从“云端”下载的,所以第二个镜像你都没有理由下载它。 接下来的步骤就是刻盘、启动和引导了,如果没有问题,应该出现这样的界面: 图1.1 启动画面 这个界面展示了5个功能让你选,如果1分钟内你选择不出来,它就帮你选。选谁呢?选第一个,因为99.99%的人都会选这个。其他的功能我就不介绍了,因为当你成为那万分之一之后,基本上都懒得理我了,我还费什么事呢? 一分钟不用等啦,直接按回车,应该出现这样的界面: 图1.2 检测安装介质 这是要检测一下安装介质是不是有损坏。对于时间比较宽裕的同学可以测测,测测更健康嘛(第二个镜像就必须得下载了)。如果你认为浪费时间就等于浪费生命,那就选Skip吧。 不管你是选择检测还是选择跳过,最终你都要进入这个界面: 图1.3 欢迎界面 没啥实际意义,Next继续。 图1.4 安装时语言选择界面 这里是干什么的,大家应该懂的,我是选择母语的。Next继续。 图1.5 键盘布局选择界面 这里是让你选择你的键盘类型,在中国选择美国英语式就行了,别的样式的键盘估计你不熟悉。默认情况下也就是这样给你选的,所以直接下一步就行了。 图1.6 存储设备选择界面 这个就是让你选择使用的磁盘类型,基本没别的选择,99.9999%的人都不用选择,就是这个默认的基本存储设备。别的那些东西,估计这辈子你都无缘见到,所以下一步就行了。 图1.7 主机名设定界面 这里设置主机名,也就是给你的电脑起个名字。要是没啥好名字,用这个默认的也是不错的。另外,这个地方可以进行一下网络配置,感兴趣的同学可以点开看看。如果觉得自己还不太靠谱,那就下一步好了。 图1.8 时区选择界面 这里确定你的时区。还要告诉你一个秘密:在这个星球上别的国家是不知道有“北京时间”的,但是他们都知道有“上海时间”。有些人是不是要自豪一下呢? 图1.9 管理员密码设定界面 输入管理员密码,尽量弄复杂点。当然,你一定要用你老婆的生日我也没办法不是? 图1.10 磁盘分区方式选择界面 这里有这么多的选项,我们认为最有用的就是第一项“使用所有空间”了,但是你现在未必有胆量这样干。所以,如果之前给Linux预留空间了,就选择“使用剩余空间”,或者使用“创建自定义布局”也行。 “自定义布局”的界面是这样的: 图1.11 自定义分区界面 我们划定的磁盘分区就是上图这样,虽然不是很符合Linux的设计思路,但是操作起来比较简单。作为初学者就这样好了,反正第3章会告诉你做Linux磁盘分区的技巧。 图1.12 引导程序安装界面 没什么能让你设置的,下一步就行了。 图1.13 随机软件定制界面 来到这里就是定制你的Linux系统要安装哪些套件。默认的是“Minimal”,只是装个基本系统。我们推荐你选择“Desktop”,这样你就有图形界面的Linux用了。下一步就是安装过程了…… 图1.14 安装等待界面 你不再有点按“下一步”的机会了,等待的结果就是最后的成功。 图1.15 大功告成 到了这个阶段,Linux已经进驻你的电脑了,重新引导就可以开始享用了!第一次引导的时候是要进行系统初始化设置的,也是非常简单的,基本上一路“下一步”就能搞定。 1.1.4 登录系统 Linux与Windows有一个很大的不同就是很有可能你安装的Linux启动之后没有启动图形用户界面(刚刚安装完CentOS 6.4的人应该不会遇到这种情况)。这个时候你就必须得输入用户名和密码才能继续使用。即便你的Linux启动了图形界面,也很少有发行版让你能够自动登录系统。所以,你一定要搞清楚你的用户名和密码。虽然有人会觉得我这样提醒似乎有些弱智,但是的确有很多人忘记了给自己刚刚安装的Linux设置了什么密码。尽管本书会告诉你如何在这种情况下找回密码,但是在现在这个阶段,一旦有这种事情发生,那么你最好还是重新安装吧! Linux的用户被划分为根用户和普通用户两种。其中根用户是系统内置用户,用户名永远都是root,所以也叫root用户。Linux的root用户与Windows的administrator用户是一样的,都拥有系统的最高控制权。普通用户一般是用户自己定义的,所以没有什么特别的权限。大家在使用Windows的时候大多数都会选择直接使用administrator用户,这是非常不好的习惯,也是Windows下病毒泛滥的推手之一。在Linux下不要随意使用root用户,因为它的权限大到能够自杀的地步。所以很多发行版,比如我们推荐的CentOS在图形界面登录时,并不会提示有root用户存在。要使用root登录,必须明确输入这个用户名。 我们提供这部分内容其实是为另外一些人准备的。当然,你可能就是其中一员。他们在安装Linux系统的时候,并没有给自己的系统添加任何普通用户,如果他/她不知道还有root的时候,可能死活都登录不了系统。大家不要笑,这样的大有人在。我在第一次使用Linux的时候就这样,结果反复安装了3遍都没正常进入系统,最后经“高人”指点才解决问题:_( 当你正常登录Linux系统后,就可以尝试这个对你来说还十分新鲜的玩意儿了。如果你的电脑没有什么特殊的硬件的话,应该可以上网、聊天、看电影了……