Linux就该这么学(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-18 18:35:02

点击下载

作者:刘遄

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Linux就该这么学

Linux就该这么学试读:

前言

本书作者刘遄(Liu Chuán)从事于Linux运维技术行业,高中时期便因兴趣的驱使而较早地接触到了Linux系统并开始学习运维技术,并且在2012年获得红帽工程师RHCE 6版本证书,在2015年初又分别获得红帽工程师RHCE 7版本证书与红帽架构师认证RHCA顶级证书。

尽管如此,但依然深知水平有限且技术一般,若不是得益于良师益友的无私帮助,肯定不能如此顺利地取得上述成绩。并且,作为一名普通的技术人,我亲身经历过半夜还在培训班的心酸,体验过拥堵6小时车程的无奈,也翻看过市面上十几本如同嚼蜡般的Linux技术书籍,这让我更加坚定了写作本书的信念。此刻,我正是怀揣着一颗忐忑的心,尽自己最大的努力把有用的知识分享给读者,希望你们能够少走一些弯路,更快地入门Linux系统。

窃以为,一名技术高超的导师不应该仅仅是技术的搬运工,而应该是优质知识的提炼者,所以在写作本书的过程中,我不希望也不会将自己了解掌握的所有技术知识都写到书里,借此来炫技,而是从真正贴近于新人学习特点的角度出发,主动摒弃了不实用的部分,并把重点、难点反复实践,以加深读者对理论基础的理解,并彻底掌握生产环境中用到的技术内容。

本书基于最新的Linux系统RHEL 7编写而成,而且配套软件及资料完全免费,课程面向Linux新手。本书会从零基础带领读者入门Linux系统,然后渐进式地提高内容难度,使其匹配生产环境对运维人员的要求。而且,本书每章都配套有大量的图、表、命令示例以及课后习题,以达到增强读者学习兴趣与加深记忆的效果。最后,本书以及配套资源相较于当前的RHCE培训,至少要多出40%的内容,只要您能每天坚持学习,相信这绝对是您体验最佳、进步最快的一次学习经历。

最后想说的是,我的写作初心其实并不高雅,只是在还债,还十几年来中国有如此多的培训机构赚了那么多钱,但却没有培训机构真正给学员提供一本好教材的债,而这应该是我们的学员早就应该享受的服务,不能再选择性失明了。而到了2017年,我的写作初衷也融入了一点小私心,除了运营好《Linux就该这么学》图书的在线学习网站http://www.linuxprobe. com/,服务更多的学员和读者之外,还要把我们的免费开源图书做到远超其他培训机构收费教材的水平,并坚持做中国开源站点的道德典范,不欺骗,不作恶,保持最纯净的技术交流环境,而我们想要得到的也很简单——如果您认可了刘遄老师的付出并满意我们的服务,还请把本书告诉身边的朋友,让更多的人知道我们在做的这件很酷的事。学习是件苦差事

我不想回避这个问题——学习是件痛苦的事情。如果说学习Linux真的很简单,那必是骗子的谎言,起码这不能给您带来高薪。在每次起床后的几分钟时间里,大脑都会陷入斗争状态——是该聊会天呢,还是要追个美剧呢,还是打一局英雄联盟呢,还是看一下那该死的刘遄写的那本可怕的Linux教材呢?这个时候,请不要忘记自己最初的梦想。十年后的你,一定会感激现在拼命努力学习的自己。身为作者,我的使命就是让本书对得起你为此花费的时间、精力和金钱,让你每学完一个章节都是一次进步。

稻盛和夫先生在《活法》中有段一直激励着我的话,现在转送给正在阅读本书的你:“工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其

量只能获得一时的快感,绝不能尝到从心底涌出的惊喜和快

乐,但来自工作的喜悦并不像糖果那样——放进嘴里就甜

味十足,而是需要从苦劳与艰辛中渗出,因此当我们聚精会

神,孜孜不倦,克服艰辛后的成就感,世上没有哪种喜悦可

以类比”。“更何况人类生活中工作占据了较大的比重,如果不能

从劳动中、工作中获得充实感,那么即使从别的地方找到快

乐,最终我们仍然会感到空虚和缺憾”。开源共享精神

简单来说,开源软件的特点就是把软件程序与源代码文件一起打包提供给用户,让用户在不受限制地使用某个软件功能的基础上还可以按需进行修改,或编制成衍生产品再发布出去。用户具有使用自由、修改自由、重新发布自由以及创建衍生品的自由。这也正好符合了黑客和极客对自由的追求,因此国内外开源社区的根基都很庞大,人气也相当高。

坦白来讲,每位投身于Linux行业的技术人或者程序员只要听到开源项目就会由衷地感到自豪,这是一种从骨子里带有的独特情怀。开源的企业不单纯是为了利益,而是互相扶持,努力服务好更多的用户。开源软件最重要的特性有下面这些。● 低风险:使用闭源软件无疑把命运交付给他人,一旦封闭的源代

码没有人来维护,你将进退维谷;而且相较于商业软件公司,开

源社区很少存在倒闭的问题。● 高品质:相较于闭源软件产品,开源项目通常是由开源社区来研

发及维护的,参与编写、维护、测试的用户量众多,一般的bug

还没有等爆发就已经被修补。● 低成本:开源工作者都是在幕后默默且无偿地付出劳动成果,为

美好的世界贡献一份力量,因此使用开源社区推动的软件项目可

以节省大量的人力、物力和财力。● 更透明:没有哪个笨蛋会把木马、后门等放到开放的源代码中,

这样无疑是把自己的罪行暴露在阳光之下。

但是,如果开源软件为了单纯追求“自由”而牺牲程序员的利益,这将会影响程序员的创造激情,因此世界上现在有60多种被开源促进组织(Open Source Initiative)认可的开源许可协议来保证开源工作者的权益。对于那些只知道一味抄袭、篡改、破解或者盗版他人作品的不法之徒,终归会在某一天收到法院的传票。对于准备编写一款开源软件的开发人员,也非常建议先了解一下当前最热门的开源许可协议,选择一个合适的开源许可协议来最大限度保护自己的软件权益。● GNU GPL(GNU General Public License,GNU通用公共许可

证):只要软件中包含了遵循GPL协议的产品或代码,该软件就

必须也遵循GPL许可协议且开源、免费,因此这个协议并不适合

商用软件。遵循该协议的开源软件数量极其庞大,包括Linux系

统在内的大多数的开源软件都是基于这个协议的。GPL开源许可

协议最大的4个特点如下所示。● 复制自由:允许把软件复制到任何人的电脑中,并且不限制复制

的数量。● 传播自由:允许软件以各种形式进行传播。● 收费传播:允许在各种媒介上出售该软件,但必须提前让买家知

道这个软件是可以免费获得的;因此,一般来讲,开源软件都是

通过为用户提供有偿服务的形式来盈利的。● 修改自由:允许开发人员增加或删除软件的功能,但软件修改后

必须依然基于GPL许可协议授权。● BSD(Berkeley Software Distribution,伯克利软件发布版)许可

协议:用户可以使用、修改和重新发布遵循该许可的软件,并且

可以将软件作为商业软件发布和销售,前提是需要满足下面3个

条件。● 如果再发布的软件中包含源代码,则源代码必须继续遵循BSD许

可协议。● 如果再发布的软件中只有二进制程序,则需要在相关文档或版权

文件中声明原始代码遵循了BSD协议。● 不允许用原始软件的名字、作者名字或机构名称进行市场推广。● Apache许可证版本(Apache License Version)许可协议:在为

开发人员提供版权及专利许可的同时,允许用户拥有修改代码及

再发布的自由。该许可协议适用于商业软件,现在热门的

Hadoop、Apache HTTP Server、MongoDB等项目都是基于该许

可协议研发的,程序开发人员在开发遵循该协议的软件时,要严

格遵守下面的4个条件。● 该软件及其衍生品必须继续使用Apache许可协议。● 如果修改了程序源代码,需要在文档中进行声明。● 若软件是基于他人的源代码编写而成的,则需要保留原始代码的

协议、商标、专利声明及其他原作者声明的内容信息。● 如果再发布的软件中有声明文件,则需在此文件中标注Apache

许可协议及其他许可协议。● MPL(Mozilla Public License,Mozilla公共许可)许可协议:相

较于GPL许可协议,MPL更加注重对开发者的源代码需求和收益

之间的平衡。● MIT(Massachusetts Institute of Technology)许可协议:目前限

制最少的开源许可协议之一,只要程序的开发者在修改后的源代

码中保留原作者的许可信息即可,因此普遍被商业软件所使用。为什么学习Linux系统

早在20世纪70年代,UNIX系统是开源而且免费的。但是在1979年时,AT&T公司宣布了对UNIX系统的商业化计划,随之开源软件业转变成了版权式软件产业,源代码被当作商业机密,成为专利产品,人们再也不能自由地享受科技成果。

于是在1984年,Richard Stallman面对于如此封闭的软件创作环境,发起了GNU源代码开放计划并制定了著名的GPL许可协议。1987年时,GNU计划获得了一项重大突破——gcc编译器发布,这使得程序员可以基于该编译器编写出属于自己的开源软件。随之,在1991年10月,芬兰赫尔辛基大学的在校生Linus Torvalds编写了一款名为Linux的操作系统。该系统因其较高的代码质量且基于GNU GPL许可协议的开放源代码特性,迅速得到了GNU计划和一大批黑客程序员的支持。随后Linux系统便进入了如火如荼的发展阶段。

1994年1月,Bob Young在Linux系统内核的基础之上,集成了众多的源代码和程序软件,发布了红帽系统并开始出售技术服务,这进一步推动了Linux系统的普及。1998年以后,随着GNU源代码开放计划和Linux系统的继续火热,以IBM和Intel为首的多家IT企业巨头开始大力推动开放源代码软件的发展。到了2017年年底,Linux内核已经发展到了4.13版本,并且Linux系统版本也有数百个之多,但它们依然都使用Linus Torvalds开发、维护的Linux系统内核。RedHat公司也成为了开源行业及Linux系统的带头公司。

在讲课时,我经常会问同学们一个问题:“为什么学习Linux系统?”很多学生为了让我高兴,直接就说“因为Linux系统是开源的,所以要去学习”。其实这个想法是完全错误的!开源的操作系统少说有100个,开源的软件至少也有十万个,为什么不去逐个学习?所以上面谈到的开源特性只是一部分优势,并不足以成为您付出精力去努力学习的理由。

对于用户来讲,开源精神仅具备锦上添花的效果,因此正确的学习动力应该源自于:Linux系统是一款优秀的软件产品,具有类似UNIX的程序界面,而且继承了UNIX的稳定性,能够较好地满足工作需求。

大多数读者应该都是从微软的Windows系统开始了解计算机和网络的,因此肯定会有这样的想法“Windows系统很好用啊,而且也可足以满足日常工作需求呀”。客观来讲,Windows系统确实很优秀,但是在安全性、高可用性与高性能方面却难以让人满意。您应该见过下面这张图片。

想必读者现在已经能猜到,为什么要在需要长期稳定运行的网站服务器上、在处理大数据的集群系统中以及需要协同工作的环境中采用Linux系统了。通过下图也可以看出Linux系统相较于Windows系统的具体优势。常见的Linux系统版本

在介绍常见的Linux系统版本之前,首先需要区分Linux系统内核与Linux发行套件系统的不同。● Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件

抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。● Linux发行套件系统是我们常说的Linux操作系统,也即是由Linux

内核与各种常用软件的集合产品。

全球大约有数百款的Linux系统版本,每个系统版本都有自己的特性和目标人群,下面将可以从用户的角度选出最热门的几款进行介绍。注:本书全篇将以“Linux系统”来替代“Linux发行套件系

统”这个词。● 红帽企业版Linux(RedHat Enterprise Linux,RHEL):红帽公

司是全球最大的开源技术厂商,RHEL是全世界内使用最广泛的

Linux系统。RHEL系统具有极强的性能与稳定性,并且在全球范

围内拥有完善的技术支持。RHEL系统也是本书、红帽认证以及

众多生产环境中使用的系统。● 社区企业操作系统(Community Enterprise Operating System,

CentOS):通过把RHEL系统重新编译并发布给用户免费使用的

Linux系统,具有广泛的使用人群。CentOS当前已被红帽公司“收编”。● Fedora:由红帽公司发布的桌面版系统套件(目前已经不限于桌

面版)。用户可免费体验到最新的技术或工具,这些技术或工具

在成熟后会被加入到RHEL系统中,因此Fedora也称为RHEL系

统的“试验田”。运维人员如果想时刻保持自己的技术领先,就

应该多关注此类Linux系统的发展变化及新特性,不断改变自己

的学习方向。● openSUSE:源自德国的一款著名的Linux系统,在全球范围内有

着不错的声誉及市场占有率。● Gentoo:具有极高的自定制性,操作复杂,因此适合有经验的

人员使用。读者可以在学习完本书后尝试一下该系统。● Debian:稳定性、安全性强,提供了免费的基础支持,可以良好

地支持各种硬件架构,以及提供近十万种不同的开源软件,在国

外拥有很高的认可度和使用率。● Ubuntu:是一款派生自Debian的操作系统,对新款硬件具有极

强的兼容能力。Ubuntu与Fedora都是极其出色的Linux桌面系统,

而且Ubuntu也可用于服务器领域。

现在国内大多数Linux相关的图书都是围绕CentOS系统编写的,作者大多也会给出围绕CentOS进行写作的一系列理由,但是很多理由都站不住脚,根本没有剖析到CentOS系统与RHEL系统的本质关系。CentOS系统是通过把RHEL系统释放出的程序源代码经过二次编译之后生成的一种Linux系统,其命令操作和服务配置方法与RHEL完全相同,但是去掉了很多收费的服务套件功能,而且还不提供任何形式的技术支持,出现问题后只能由运维人员自己解决。经过这般分析基本上可以判断出,选择CentOS的理由只剩下——免费!当人们大举免费、开源、正义的旗帜来宣扬CentOS系统的时候,殊不知CentOS系统其实早在2014年年初就已经被红帽公司“收编”,当前只是战略性的免费而已。再者说,根据GNU GPL许可协议,我们同样也可以免费使用RHEL系统,甚至是修改其代码创建衍生产品。开源系统在自由程度上没有任何差异,更无关道德问题。

本书是基于最新的RHEL 7系统编写的,书中内容及实验完全通用于CentOS、Fedora等系统。也就是说,当您学完本书后,即便公司内的生产环境部署的是CentOS系统,也照样可以搞得定。更重要的是,本书配套资料中的ISO镜像与红帽RHCSA及RHCE考试基本保持一致,因此更适合备考红帽认证的考生使用。● 随书配备的ISO镜像文件下载地址:http://www.linuxprobe.com/

tools● 深度评解红帽RHCSA、RHCE、RHCA认证:http://

www.linuxprobe.com/redhat-certificate优秀的RHEL 7系统注:本小节的内容是我在2015年写给学员的一篇文章,现

在RHEL 7系统已经经过近三年的迭代更新,此时再回看这

篇文章,发现我的预测还是很准确吧。当前,国内大多数机

房都已经部署了RHEL 7系统,国内外多家银行机构、保险

公司系统也纷纷上线CentOS 7或RHEL 7系统,但我依然想

引用这篇文章来帮助读者了解RHEL 7系统,而且我也深信

这篇文章同样也会适用于未来的RHEL 8系统。

2014年年末,RedHat公司推出了当前最新的企业版Linux系统——RHEL 7,彼时国内外各大媒体都给了不少特写镜头,行业也给予了硕大的期待。但是,时至今日RHEL 7系统的市场占有率却一直不温不火,于是有人开始对RHEL 7系统的未来表示担心,甚至有人还拿出各种论调来唱衰Linux系统,觉得开源厂商已经过了事业最高点,要在服务器领域让步于Windows系统了。这些话其实并没必要去反驳,任何一个产品都会有其拥趸和黑粉,时间会向所有人证明一切。我们现在只是来单纯地聊一聊这个RHEL 7系统。

在正式开聊之前,希望读者对Linux系统特性和运维领域有基本的了解,知道Linux系统在服务器领域中占据着不可小觑的市场份额,认识到RedHat厂商对Linux系统及整个开源行业的重要影响,更知道CentOS系统其实是RHEL系统的衍生品。如果以前使用过一段时间的RHEL 7系统,我们就更能顺畅地讨论“红帽Linux系统是否是一个失败的产品”这个问题。

我们先来看一个烫手的热议问题:“为什么半年过去了,RHEL 7系统的市场份额依然不温不火?要不要返回去学习老版本的Linux系统?”甚至有阴谋论说美国在使用新版本的Linux系统来搜集全球信息,告诫我们千万不要去碰。这个问题必须要回应,否则更多的阴谋论会层出不穷,甚至会让国内某些认知能力欠缺的媒体对开源行业产生误解甚至曲解。

基于前面提到的与读者共有的经验共识和篇幅限制,下面的论证速度会比较快,也会很有意思。首先,RHEL是企业版的服务器系统而不是用来玩耍折腾的桌面机系统,更何况作为桌面操作系统的Windows 7在2009年7月14日发布之后,整整用了3年才开始真正普及,难道在2009年到2013年间,Windows 7就是失败的产品吗?再者,RHEL 7系统创新式地集成了Docker虚拟化技术,支持XFS文件系统,兼容微软的身份管理,并采用systemd作为系统初始化进程,其性能和兼容性相较于之前版本都有了很大的改善,很明显是一款非常优秀的操作系统。最后,其实单从纳入OpenStack和Docker的决策上来讲,就应该相信红帽的开发团队不是在闭门造车。因此应该重新考虑到底是哪里出了问题。

运维人员在心里经常会想:“现在的环境跑得好好的,为什么要换呢?”重新部署生产环境不是说装上操作系统万事大吉,也不是把软件随便安装上就能拍屁股走人的,还要考虑升级带来的风险。● 日后的生产环境出了问题,谁来负责?● 旧的软件依然能否与新系统兼容?● 新的系统或软件是否有bug?● 安全性如何,审计怎么做?● 之前购买的第三方技术支持是否可以具备相应的能力?● 升级后是否会影响到某些软件的版权,是否需要重新付费?● 不习惯新系统带来的变化怎么办?● 费力升级后对自己有什么好处?

……

客观来讲,这次RHEL 7系统的改变实在太大,最重要的是它采用了systemd作为初始化进程。这样一来,几乎之前所有的运维自动化脚本都需要修改。那么,到底还要不要升级到RHEL 7?当然,也不是说服务器机房中的生产环境从不更新换代,当工作需求超过了当前版本的能力范围时,就必须要进行升级。比如,rsyslogd日志记录服务在RHEL 6系统中的版本是5.8,而现在最新的版本已经是8.1。这两个版本之间差了3个大的主版本号,其功能就有了很大的差距,您觉得会一直用旧的版本吗?

早在2014年年初,Fedora系统首次采用了systemd系统初始化进程,当时我就断言RHEL 7系统也会使用systemd,所以当即更新了自己的培训课程。这也让身在其他培训机构还在学习init参数的用户新生艳羡。所以,不论是学习Linux还是编程语言,都应该选择当前稳定且最新的版本作为学习环境。● 稳定:无论是进行开发还是运维,稳定压到一切。● 最新:老版本可能会有更大的概率存在安全漏洞或者功能缺陷,

而新版本不仅出现漏洞的概率小,而且即便出现漏洞,也会快速

得到众多开源社区和企业的响应并更快地修复。

我每次在公开场合讲座时都会表达这样一个观点:“我们并不是因为开源而喜欢Linux,而是因为Linux系统真的非常优秀,开源精神仅仅是锦上添花而已。”我们在前文中已经狠狠地肯定了Linux系统对运维行业甚至是对世界的影响。大家要做的就是去相信我对运维行业未来发展的判断,然后放手来学习吧。了解红帽认证

红帽公司成立于1993年,是全球首家收入超10亿美元的开源公司,总部位于美国,分支机构遍布全球。红帽公司作为全球领先的开源和Linux系统提供商,其产品已被业界广泛认可并使用,尤其是RHEL系统在业内拥有超高的Linux系统市场占有率。红帽公司除了提供操作系统之外,还提供了虚拟化、中间件、应用程序、管理和面向服务架构的解决方案。

红帽认证是由红帽公司推出的Linux认证,该认证被认为是Linux行业乃至整个IT领域价值最高的认证之一。红帽认证考试全部采用上机形式,在考察学生基础理论能力的同时还考察了实践动手操作以及排错能力。红帽公司针对红帽认证制定了完善的专业评估与认证标准,其认证主要包括红帽认证系统管理员(RHCSA)、红帽认证工程师(RHCE)与红帽认证架构师(RHCA)。

2014年6月10日,红帽公司在发布新版红帽企业版系统(RHEL 7)的当天即在红帽英文官网更新了其对RHCSA与RHCE培训政策的调整,考生只有先通过红帽RHCSA认证后才能考取红帽RHCE认证。

红帽认证进阶等级图

红帽认证系统管理员(Red Hat Certified System Administrator,RHCSA)属于Linux系统的初级认证,比较适合Linux爱好者。该认证要求考生对Linux系统有一定的了解,并且能够熟练使用Linux命令来完成以下任务:● 管理文件、目录、文档以及命令行环境;● 使用分区、LVM逻辑卷管理本地存储;● 安装、更新、维护、配置系统与核心服务;● 熟练创建、修改、删除用户与用户组,并使用LDAP进行集中目

录身份认证;● 熟练配置防火墙以及SELinux来保障系统安全。

红帽认证管理员(RHCSA)证书示例

红帽认证工程师(Red Hat Certified Engineer,RHCE)属于Linux系统的中级水平认证,难度相对RHCSA认证来讲更大,而且要求考生必须已获得RHCSA认证。该认证适合有基础的Linux运维管理员,主要考察对下列服务的管理与配置能力:● 熟练配置防火墙规则链与SElinux安全上下文;● 配置iSCSI(互联网小型计算机系统接口)服务;● 编写Shell脚本来批量创建用户、自动完成系统的维护任务;● 配置HTTP/HTTPS网络服务;● 配置FTP服务;● 配置NFS服务;● 配置SMB服务;● 配置SMTP服务;● 配置SSH服务;● 配置NTP服务。

红帽认证工程师(RHCE)证书示例

红帽认证架构师(Red Hat Certified Architect,RHCA)属于Linux系统的最高级别认证,是公认的Linux操作系统顶级认证,目前中国仅有不到1000人(2017年更新数据)持有该认证。考生需要在获得RHCSA与RHCE认证后再完成5门课程的考试才能获得RHCA认证,因此难度最大,备考时间最长,费用也最高(考试费约在1.8万元~2.1万元人民币)。该认证考察的是考生对红帽卫星服务、红帽系统集群、红帽虚拟化、系统性能调优以及红帽云系统的安装搭建与维护能力。

红帽认证架构师(RHCA)证书示例RHCA高分技巧

红帽RHEL 7版本的RHCA认证需要完成至少5门考试。这5门考试的时间不同,但均为210分合格(70%)。而且红帽公司非常注重RHCA架构师认证的实用性,所以课程总是在随行业趋势而不断调整。

下表为2017年最新版的考试课程。欲取得红帽RHCA认证,您必须通过以下任意5门认证考试。考试代码认证名称EX210红帽 OpenStack 认证系统管理员考试EX220红帽混合云管理专业技能证书考试EX236红帽混合云存储专业技能证书考试EX248红帽认证 JBoss 管理员考试EX280红帽平台即服务专业技能证书考试EX318红帽认证虚拟化管理员考试EX401红帽部署和系统管理专业技能证书考试EX413红帽服务器固化专业技能证书考试EX436红帽集群和存储管理专业技能证书考试EX442红帽性能调优专业技能证书考试本书组织结构● 第1章,部署虚拟环境安装Linux系统:从零基础详细讲解了虚拟

机软件与红帽Linux系统,完整演示了VM虚拟机的安装与配置过

程,以及红帽RHEL 7系统的安装、配置过程和初始化方法。此

外,本章还涵盖了在Linux系统中找回root管理员密码、RPM与

Yum软件仓库的知识,以及RHEL 7系统中systemd初始化进程的

特色与使用方法。● 第2章,新手必须掌握的Linux命令:本章首先介绍系统内核

和Shell终端的关系与作用,然后介绍bash解释器的4大优势并学

习Linux命令 的执行方法。本章还精挑细选了数十个Linux命令,

它们与系统工作、系统状态、工作目录、文件、目录、打包压缩

与搜索等主题相关。学习这些最基础的Linux命令,可以为今后

学习更复杂的命令和服务做好必备知识铺垫。● 第3章,管道符、重定向与环境变量:本章讲解了与文件读

写操作有关的重定向技术的5种模式,让读者通过实验切实理解

每个重定向模式的作用,解决输出信息的保存问题;然后深入讲

解了管道命令符,帮助读者掌握命令之间的搭配使用方法,进一

步提高命令输出值的处理效率;随后通过讲解Linux系统命令行

中的通配符和常见转义符,让您输入的Linux命令 具有更准确的

意义,为下一章学习编写Shell脚本打好功底。● 第4章,Vim编辑器与Shell命令脚本:本章讲解了如何使用

Vim编辑器来编写、修改文档,然后通过逐个配置主机名称、系

统网卡以及Yum软件仓库参数文件等实验,帮助读者加深Vim编

辑器中诸多命令、快捷键、模式切换方法的理解;然后把前面章

节中讲解的Linux命令 、命令语法与Shell脚本中的各种流程控制

语句通过Vim编辑器写到Shell脚本中结合到一起,实现最终能够

自动化工作的脚本文件;本章最后演示了怎样通过at命令与

crond计划任务服务来分别实现一次性的系统任务设置和长期性

的系统任务设置,从而让日常的工作更加高效,更自动化。● 第5章,用户身份与文件权限:本章详细讲解了文件的所有

者、所属组以及其他人可对文件进行的读(r)写(w)执行(x)

等操作,以及如何在Linux系统中添加、删除、修改用户账户信

息。我们还可以使用SUID、SGID与SBIT特殊权限更加灵活地设

置系统权限功能,来弥补对文件设置一般操作权限时所带来的不

足。隐藏权限能够给系统增加一层隐形的防护层,让黑客最多只

能查看关键日志信息,而不能进行修改或删除。而文件的访问控

制列表(Access Control List,ACL)可以进一步让单一用户、用

户组对单一文件或目录进行特殊的权限设置,让文件具有能满足

工作需求的最小权限吧。本章最后还将讲解如何使用su命令与

sudo服务让普通用户具备超级管理员的权限,不仅可以满足日

常的工作需求,还可以确保系统的安全性。● 第6章,存储结构与磁盘划分:本章详细地分析了Linux系统

中最常见的Ext3、Ext4与XFS文件系统的不同之处,并带领各位

读者着重练习硬盘设备分区、格式化以及挂载等常用的硬盘管理

操作,以便熟练掌握文件系统的使用方法。在打下坚实的理论基

础与完成一些相关的实践练习后,我们还将进一步完整地部署

SWAP(交换)分区、配置quota磁盘配额服务,以及掌握ln命令

带来的软硬链接。● 第7章,使用RAID与LVM磁盘阵列技术:本章深入讲解了各

个常用RAID技术方案的特性,并通过实际部署RAID 10、RAID

5+备份盘等方案来更直观地查看RAID的强大效果,以便进一步

满足生产环境对硬盘设备的I/O读写速度和数据冗余备份机制的

需求。同时,考虑到用户可能会动态调整存储资源,本章还将介

绍LVM(Logical Volume Manager,逻辑卷管理器)的部署、扩

容、缩小、快照以及卸载删除的相关知识。● 第8章,iptables与firewalld防火墙:本章讲解了RHEL 7中新

增的firewalld防火墙与先前版本中iptables防火墙之间的区别,并

分别使用iptables、firewall-cmd、firewall-config和TCP Wrappers

等防火墙策略配置服务来完成数十个根据真实工作需求而设计的

防火墙策略配置实验。在学习完这些实验之后,各位读者不仅可

以熟练地过滤请求的流量,还可以基于服务程序的名称对流量进

行允许和拒绝操作,确保Linux系统的安全性万无一失。● 第9章,使用ssh服务管理远程主机:本章讲解了如何使用

nmtui命令配置网络参数,以及通过nmcli命令查看网络信息并管

理网络会话服务,从而让您能够在不同工作场景中快速地切换网

络运行参数;还讲解了如何手工绑定mode6模式双网卡,实现网

络的负载均衡。本章还深入介绍了SSH协议与sshd服务程序的理

论知识、Linux系统的远程管理方法以及在系统中配置服务程序

的方法,并采用实验的形式演示了使用基于密钥验证的sshd服务

程序进行远程登录,以及使用screen服务程序远程管理Linux系

统的不间断会话等技术。● 第10章,使用Apache服务部署静态网站:本章通过对比当

前主流的Web服务程序来使读者更好地理解各自的优势及特点,

并真正掌握在Linux系统中配置服务的技巧。本章还详细讲解了

SELinux服务的作用、三种工作模式以及策略管理方法,确保读

者掌握SELinux域和SELinux安全上下文的配置方法。● 第11章,使用vsftpd服务传输文件:本章讲解了什么是文件

传输协议(File Transfer Protocol,FTP),以及如何部署vsftpd服

务程序,然后深度剖析了vsftpd主配置文件中最常用的参数及其

作用,并完整演示了vsftpd服务程序三种认证模式的配置方法;

本章还涵盖了可插拔认证模块的原理、作用以及实用配置方法。● 第12章,使用Samba或NFS实现文件共享:本章讲解了

Samba服务的理论知识,以及SMB协议与Samba服务程序的起

源和发展过程,并通过实验的方式部署文件共享服务来深入了解

Samba服务程序中相关参数的作用;还讲解了如何配置网络文件

系统(Network File System,NFS)服务来简化Linux系统之间的

文件共享工作,以及通过部署NFS服务在多台Linux系统之间挂

载并使用资源。● 第13章,使用BIND提供域名解析服务:本章讲解了DNS域

名解析服务的原理以及作用,介绍了域名查询功能中正向解析与

反向解析的作用,实践部署了DNS主服务器、DNS从服务器、

DNS缓存服务器,并通过实验的方式演示了如何在DNS主服务器

上部署正、反解析工作模式,以便让大家深刻体会到DNS域名查

询的便利和强大。● 第14章,使用DHCP动态管理主机地址:本章讲解了动态主

机配置协议的作用,以及在Linux系统中配置部署dhcpd服务程序

的方法,剖析了dhcpd服务程序配置文件内每个参数的作用,并

通过自动分配IP地址、绑定IP地址与MAC地址等实验,让各位读

者更直观地体会DHCP协议的强大之处。● 第15章,使用Postifx与Dovecot部署邮件系统:本章介绍了

SMTP、POP3、IMAP4等常见的电子邮件协议,以及MUA、

MTA、MDA这三种服务角色的作用;还完整地演示了在Linux系

统中使用Postfix和Dovecot服务程序配置电子邮件系统服务的方

法,重点讲解了常用的配置参数,此外将结合BIND服务程序提

供的DNS域名解析服务来验证客户端主机与服务器之间的邮件收

发功能;最后还介绍了如何在电子邮件系统中设置用户别名,以

帮助大家在生产环境中更好地控制、管理电子邮件账户以及信箱

地址。● 第16章,使用Squid部署代理缓存服务:本章介绍了代理服

务的原理以及作用、Squid服务程序正向解析和反向解析的理论

以及配置方法。在掌握了Squid服务程序的标准正向代理模式、

透明正向代理模式、访问控制列表功能以及反向代理等实用功能

之后,读者不但可以进一步理解代理服务,提升服务控制能力,

而且在步入运维岗位后能够游刃有余地处理相关问题。● 第17章,使用iSCSI服务部署网络存储:本章开篇介绍了计

算机硬件存储设备的不同接口技术的优缺点,并由此切入iSCSI

技术主题的讲解。本章还将带领大家在Linux系统上部署iSCSI服

务端程序,并分别基于Linux系统和Windows系统来访问远程的

存储资源。● 第18章,使用MariaDB数据库管理系统:本章介绍了数据库

以及数据库管理系统的理论知识,然后介绍了MariaDB数据库管

理系统的内容,接下来将通过动手实验的方式,帮助各位读者掌

握MariaDB数据库管理系统的一些常规操作;最后还介绍了数据

库的备份与恢复方法。● 第19章,使用PXE+Kickstart无人值守安装服务:本章介绍

了可以实现无人值守安装服务的PXE+Kickstart服务程序,并带

领大家动手安装部署PXE + TFTP + FTP + DHCP + Kickstart等服

务程序,从而搭建出一套可批量安装Linux系统的无人值守安装

系统。在学完本章内容之后,运维新手就可以避免枯燥乏味的重

复性工作,大大提高系统安装的效率。● 第20章,使用LNMP架构部署动态网站环境:LNMP动态网

站部署架构是一套由Linux + Nginx + MySQL + PHP组成的动态

网站系统解决方案,具有免费、高效、扩展性强且资源消耗低等

优良特性。本章首先对比了使用源码包安装服务程序与使用

RPM软件包安装服务程序的区别,然后讲解了如何手工编译源

码包并安装各个服务程序,以及如何使用Discuz! X3.2版本论坛

系统验证架构环境。感谢你们相信并选择我

首先,感谢广大读者从众多Linux图书中最终选择了本书,感谢你们的厚爱与信任。相信本书不会让你们失望的。

其次,感谢跟随刘遄老师一起努力打拼的各位成员,他们是(以加入团队时间排序):逄增宝、岳永、张宏宇、冯琪、黄烨婧、冯振华、张振宇、唐资富、刘峰、王辉、苏西云、李帅、陶武杰、王浩、郭建鹏、周晓雪、郝大发、倪家兴、郑帅、姜显赫、高军、王毅、任维国、张雄、周阳、程伟、任倩倩、吴向平、华世发。感谢你们相信我,为了我们共同的事业而奋勇向前,如果没有你们的帮助和支持,就不会有现在的成绩。在过去两年中,我们从一个每天只有十几人次访问的小博客,发展到了每天将近一万人次访问的公众站点;在两年内更是接连开通了近30个QQ技术交流群,群内读者已超过5万人;微信公众号也从0做到了10万粉丝,这些都是此前中国任何一本技术类电子图书没有达到的高度和成就。尤其在最近一年,我们的发展速度远远领先于同行业所有的资讯网站和教育机构,优质图书内容与读者口碑让我们走的每一步都如此扎实。现在我们可以很自豪地讲:“我们用努力留住了用户,用户看到了我们的付出。”

再次,感谢人民邮电出版社的傅道坤编辑。我们在2015年末初次接触后傅老师便主动提起出版本书的想法,随后一起用了近2年的时间共同打磨本书。感谢傅老师一直以来给予的信任和中肯实用的建议。感谢北京联合大学应用科技学院王廷梅院长在我研究生进修教育学期间的照顾和悉心培育,是您引导我步入了教育学和计算机科学与技术专业。不忘母校,不忘联大。

最后也是最重要的,感谢我的父母和妻子。当我在2015年说想要写一本Linux技术图书的时候,感谢你们相信了我。感谢我的妻子能够理解我的压力,一起来协助管理在线培训班及招生工作,让我有了更多的时间来写作。如果没有你们的信任和陪伴,我不敢想象自己现在会是什么样子。读者服务

本书是一本注重实用性的Linux技术自学图书,自电子版公布后日均阅读量近万次。本书以及后续的进阶篇图书将继续一如既往地免费、完整地提供给各位读者。当前,我们正在世界各地部署图书配套站点的镜像服务器,旨在用最快的网站响应速度满足您心中那个求知的小宇宙。此外,我们的团队成员在完善、更新本书内容以及配套软件的同时,还将为您收集、整理值得每天一看的“新闻资讯”和“技术干货”。当然,也欢迎您到我们的QQ技术群(http://www.linuxprobe.com/club)中寻找技术大牛!

而这一切的便利与服务,只差您现在的一个选择,赶紧拿起手机扫描下面的微信二维码吧。编辑手记

与刘遄老师初次相识是在2016年。当时因为自身的工作性质使然,每天都在网络上四处瞎逛,寻求一些可以拿来进行纸质出版的资源,并时刻幻想着哪一天也能捡到个宝,让我有机会打造一本有爆款潜力的高质量精品图书。

直到有一天,偶然闯入刘遄老师运营的www.linuxprobe.com网站,看到他精心编写的本书同名线上教程以及真实用户的全五星好评,不由地心中暗喜“天不负我”!于是,马不停蹄地给刘遄老师发邮件、加QQ,商讨合作事宜。终于,在不亚于“求职面试”难度的多轮沟通之后,我们在与兄弟出版社的竞争中脱颖而出,赢得了刘老师的“芳心”。然后才有了大家现在看到的这本打着“异步社区”LOGO的《Linux就该这么学》。

在本书写作出版期间,我经常会与刘遄老师进行交流,讨论稿件本身的问题、封面设计事宜,以及后期的营销计划,刘老师所具备的专业、严谨、细心和执行力让我深感折服。

沟通多了之后,话题也慢慢地从图书本身向外扩展,工作、生活、家庭、课业都是我们谈论的话题。慢慢地,我也得知,刘遄老师早在高中时期便因为兴趣驱使而接触到Linux系统并开始学习运维技术,还先后获得了红帽认证管理员、红帽认证工程师以及最顶级的红帽认证架构师等证书。刘遄老师对Linux技术发自肺腑的热爱和痴迷,是他多年以来一直从事Linux系统运维培训以及红帽认证课程培训的源动力。在这个行业的长期浸淫,也让他成长为国内开源行业颇具影响力的技术大V。

刘遄老师针对Linux系统培训的教学思想相当具有前瞻性和独特性。他始终认为,一名优秀的IT技术培训讲师应该将技术知识进行提炼总结之后再传授给学生,而不能仅仅是一名技术知识的搬运工。这也是《Linux就该这么学》的写作原则。在本书写作过程中,刘遄老师真正做到了断舍离,他从真正贴近于新人学习特点的角度出发,抛弃了不重要、不实用的内容,着重将笔墨用在了“重点、难点知识的讲解,以及与理论基础的结合、实践”方面,由此写就了一本最适合Linux新手入门的教程。

刘遄老师花费了近3年时间写作的这本《Linux就该这么学》,前后修订1500余次,在出版之前又拿出半年时间再次修正、校对,这也从源头保障了图书的品质。当前,本书电子版的日均访问量近10000次,累计在线阅读人数已达到百万级别,是国内当之无愧的高质量Linux系统自学图书。

本书基于最新的红帽系统RHEL 7编写,但是其内容也通用于CentOS、Fedora等常见的Linux衍生版本。难能可贵的是,刘遄老师还在书中讲解了红帽认证考试体系以及考试要求,如果您有志于考取红帽认证,也可以与刘老师进一步交流。

为了降低各位读者的学习门槛,保持学习热情,提高学习效率,刘老师对本书的内容编排也是煞费苦心。书中的章节内容会保持适度的关联性,读者在按照章节顺序学习之时,可以通过“学新”而起到“温故”的效果。

无论读者学习Linux系统的目的是出于兴趣,还是为了谋求一份高薪工作,这本高品质、高颜值的《Linux就该这么学》都是您入门Linux系统的首选教程。

Choose it! Buy it! Read it!傅道坤本书责任编辑第1章部署虚拟环境安装Linux系统本章讲解了如下内容:● 准备您的工具;● 安装配置VM虚拟机;● 安装您的Linux系统;● 重置root管理员密码;● RPM(红帽软件包管理器);● Yum软件仓库;● systemd初始化进程。

本章从零基础详细讲解了虚拟机软件与红帽Linux系统,完整演示了VM虚拟机的安装与配置过程,以及红帽RHEL 7系统的安装、配置过程和初始化方法。此外,本章还涵盖了在Linux系统中找回root管理员密码、RPM与Yum软件仓库的知识,以及RHEL 7系统中systemd初始化进程的特色与使用方法。1.1 准备您的工具

所谓“工欲善其事,必先利其器”,在本章学习过程中,读者需要搭建出为今后练习而使用的红帽RHEL 7系统环境。您不需要为了练习实验而特意再购买一台新电脑,下文会讲解如何通过虚拟机软件来模拟出仿真系统。虚拟机是能够让用户在一台真机上模拟出多个操作系统的软件。一般来讲当前主流的硬件配置足以胜任安装虚拟机的任务,并且依据刘遄老师近10年的运维技术学习及多年的在线培训经验来看,建议您无论经济条件是否允许,都不应该在学习期间把Linux系统安装到真机上面,因为在学习过程中都免不了要“折腾”您的Linux操作系统。通过虚拟机软件安装的系统不仅可以模拟出硬件资源,把实验环境与真机文件分离保证数据安全,更酷的是当操作失误或配置有误导致系统异常的时候,可以快速把操作系统还原至出错前的环境状态,进而减少重装系统的等待时间(在真机上安装Linux操作系统每次至少需要30分钟)。

最近几年在讲课时,总会发现同学们使用的实验环境五花八门,有CentOS,有RHEL 6,还有Debian系统等,结果每次给他们排错时都费心劳力,苦不堪言,而且特别无语。就像您报名去学习日料,老师用柳刃,您非要用长刀,结果寿司肯定会被切的稀巴烂。聪明的学生在学习时一定会采用跟老师一样的工具和环境,这样出现问题后可以首先排除环境问题并迅速定位错误,等技术学的足够扎实了,到了生产环境中自然也就具备了随心选择工具和环境的能力。所以尤其建议没有报名参加刘遄老师开设的付费培训班的同学,一定要充分发挥自己的自学能力,否则长期的实验出错一定会影响您的学习兴趣。

另外,说来也很郁闷,其实我在初中时就有学习Linux系统的打算,但那时候上网还不便捷,想要安装Linux系统就必须去买光盘才行,而那个时候安装Linux系统至少需要6张光盘(CD-ROM容量大约为700MB),狠下心买回家后尝试安装了几次却一直报错,因为搞不懂报错原因而只能放弃了。2015年春节前打扫屋子时又翻出了这些光盘,这次终于找到了当年出错误的原因,原来是第五张光盘被“刮花”了,系统相关的依赖关系包被损坏,最终导致Linux系统安装失败。原本可以早几年就可以接触到Linux系统,结果因为这个原因而耽搁,真的是既郁闷又尴尬,所以这里必须狠狠地提醒各位同学:“工具准备齐全后一定要校验完整性,不要重蹈我的覆辙”。1.2 安装配置VM虚拟机

VMware WorkStation虚拟机软件是一款桌面计算机虚拟软件,让用户能够在单一主机上同时运行多个不同的操作系统。每个虚拟操作系统的硬盘分区、数据配置都是独立的,而且多台虚拟机可以构建为一个局域网。Linux系统对硬件设备的要求很低,我们没有必要再买一台电脑,课程实验用虚拟机完全可以搞定,而且VM还支持实时快照、虚拟网络、拖曳文件以及PXE(Preboot Execute Environment,预启动执行环境)网络安装等方便实用的功能。

可能会有读者有疑问“为什么要用收费的虚拟机产品来搭建实验环境,而不是用一些免费的开源虚拟机软件呢?”本书前言中讲到,我们学习Linux系统的原因不是因为它免费,也不是因为它开源,而是因为Linux系统真的很好用,这个结论同样也适用于VMware Workstation这款产品。

运行下载完成的Vmware Workstation虚拟机软件包,将会看到如图1-1所示的虚拟机程序安装向导初始界面。图1-1 虚拟机软件的安装向导初始界面

在虚拟机软件的安装向导界面单击“下一步”按钮,如图1-2所示。图1-2 虚拟机的安装向导

在最终用户许可协议界面选中“我接受许可协议中的条款”复选框,然后单击“下一步”按钮,如图1-3所示。图1-3 接受许可条款

选择虚拟机软件的安装位置(可选择默认位置),选中“增强型键盘驱动程序”复选框后单击“下一步”按钮,如图1-4所示。

根据自身情况适当选择“启动时检查产品更新”与“帮助完善VMware Workstation Pro”复选框,然后单击“下一步”按钮,如图1-5所示。

选中“桌面”和“开始菜单程序文件夹”复选框,然后单击“下一步”按钮,如图1-6所示。图1-4 选择虚拟机软件的安装路径图1-5 虚拟机的用户体验设置图1-6 虚拟机图标的快捷方式生成位置

一切准备就绪后,单击“安装”按钮,如图1-7所示。图1-7 准备开始安装虚拟机

进入安装过程,此时要做的就是耐心等待虚拟机软件的安装过程结束,如图1-8所示。图1-8 等待虚拟机软件安装完成

大约5~10分钟后,虚拟机软件便会安装完成,然后再次单击“完成”按钮,如图1-9所示。

双击桌面上生成的虚拟机快捷图标,在弹出的如图1-10所示的界面中,输入许可证密钥,或者选择试用之后,单击“继续”按钮(这里选择的是“我希望试用VMware Worksatation 12 30天”复选框)。

在出现“欢迎使用VMware Workstation 12”界面后,单击“完成”按钮,如图1-11所示。

在桌面上再次双击快捷方式,此时便看到了虚拟机软件的管理界面,如图1-12所示。图1-9 虚拟机软件安装向导完成界面图1-10 虚拟机软件许可验证界面图1-11 虚拟机软件的感谢界面图1-12 虚拟机软件的管理界面

注意,在安装完虚拟机之后,不能立即安装Linux系统,因为还要在虚拟机内设置操作系统的硬件标准。只有把虚拟机内系统的硬件资源模拟出来后才可以正式步入Linux系统安装之旅。VM虚拟机的强大之处在于不仅可以调取真实的物理设备资源,还可以模拟出多网卡或硬盘等资源,因此完全可以满足大家对学习环境的需求,再次强调,真的不用特意购买新电脑。

在图1-12中,单击“创建新的虚拟机”选项,并在弹出的“新建虚拟机向导”界面中选择“典型”单选按钮,然后单击“下一步”按钮,如图1-13所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载