Red Hat Enterprise Linux 8系统学习(一)
“工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其量只能获得一时的快感,绝不能尝到从心底涌出的惊喜和快乐。但来自工作的喜悦并不像糖果那样—放进嘴里就甜味十足,而是需要从苦劳与艰辛中渗出。因此当我们聚精会神,孜孜不倦,克服艰辛后的成就感,世上没有哪种喜悦可以类比”。
“更何况人类生活中工作占据了较大的比重,如果不能从劳动中、工作中获得充实感,那么即使从别的地方找到快乐,最终我们仍然会感到空虚和缺憾”。
————稻盛和夫先生在《活法》
1、开源共享精神
一般情况下,软件的源代码只有编写者拥有,而开源即开放源代码(Open Source Code),是指一种更*的软件发布模式。简单来说,开源软件的特点就是把软件程序和源代码文件一起打包提供给用户,让用户在不受限制的使用某个软件功能的基础上还可以对代码按需修改,让软件更贴合于硬件环境、让功能更符合工作需求,或者编制成衍生产品再发布出去。用户一般则享有“使用*”、“复制*”、“修改*”、“创建衍生品*”以及“收费*”。
是的,您没有看错,用户具备创建衍生品和收费的*。也就是可以对一个开源软件进行深度定制化加工,如果修改过的程序更加好用,或者颇具新的特色,只要符合原作者的许可要求,我们完全可以合法的将软件注册成新的商标再发布出去,有新用户向你的软件付费,那就是你的收入。这也正好符合了黑客和极客对*的追求,在合作与竞争中,国内外的开源社区慢慢生长出了强健的根基,人气非常高。
但是,如果开源软件只单纯追求“*”而牺牲了程序员的利益,这肯定会影响开发人员的创造热情。为了平衡两者的关系,截止到目前,世界上已经有超过100多种被开放源代码促进会(OSI,Open Source Initiative)所确认的开源许可证,保护程序开发者的权益。对于那些只知道一味抄袭、篡改、破解或者盗版他人作品的不法之徒,终归会在某一天收到法院的传票。
**GNU通用公共许可证(GNU GPL,GNU General Public License)**是目前被广泛使用的开源软件许可协议之一,用户享有运行、学习、共享和修改软件的*,一般简写为GPL即可。GPL最初是*软件基金会创始人Richard Stallman编写的,目前已经发展到了第三版许可协议。目的是保证开源社区程序员的工作是对整个世界有益的,并且软件也是*的,极力避免开源程序被私有化以及被无良软件公司所剥削。
现在,只要软件中包含了遵循GPL许可证的代码,该软件就必须也开源和免费,因此这个许可证并不太适合商业收费软件。遵循该证的开源软件数量极其庞大,包括Linux内核在内的大多数的开源软件都是基于GPL许可证的,它赋予了用户著名的五大*:
**使用*:**允许用户根据需要*使用这个软件;
**复制*:**允许把软件复制到任何人的电脑中,并且不限制复制的数量;
**修改*:**允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可协议;
**衍生*:**允许用户深度定制化软件后,注册成自己的新商标,再发行衍生品的*;
**收费*:**允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以被免费获得的;
LGPL宽松通用公共许可证(Lesser GPL)是GPL的一个主要为保护类库权益而设计的开源协议,与标准GPL许可证相比,LGPL允许商业软件通过类库引用的方式使用开源代码,而不用将其产品整体开源化,因此普遍被商业软件引用类库代码时使用。简单来说,就是如果使用了基于LGPL许可证的开源代码,那么所涉及到的这部分代码,以及修改过的,或者衍生出的代码都必须继续采用LGPL协议,而除此以外的其他代码则不强制要求。
如果您现在感觉LGPL许可证更多的是关注对类库文件的保护,而不是软件整体,其实就对了,因为许可证最早的名字就是Library GPL,即GPL类库开源许可证。保护对象例如Glibc, GTK widget toolkit等类库文件。
BSD伯克利软件发布许可证(Berkeley Software Distribution license)同样也是被广泛使用的开源软件许可协议,相比于GPL许可证来说,BSD更加的宽松,适合于商业。用户可以使用、修改和重新发布遵循该协议的新软件,并且可以将软件作为商业产品进行销售,只需要满足3个条件即可:
1:如果再发布的软件中包含开源代码,则必须继续遵循BSD许可证;
2:如果再发布的软件中只有二进制程序,则需要在相关文档或版权文件中声明原始代码遵循了BSD许可证;
3:不允许用原始软件的名字、作者名字或机构名称进行市场推广。
Apache许可证(Apache License),顾名思义是由Apache软件基金会负责发布和维护的开源许可协议。作为当今世界上最大的开源基金会,不仅因此协议而出名,Apache还因是市场占有率第一的Web服务器软件而享誉行业。目前使用最广泛的是2004年发行的2.0版本,它在帮助开发人员提供版权及专利许可的同时,还允许用户拥有修改代码再发布的*,并且非常适合于商业软件——现在热门的Hadoop、Apache HTTP Server、MongoDB等项目都是基于该许可证研发的。程序开发人员在开发软件时,要严格遵守下面的4个条件:
1:该软件及其衍生品必须继续使用Apache许可证;
2:如果修改了程序源代码,需要在文档中进行声明;
3:若软件是基于他人的源代码编写而成的,则需要保留原始代码的许可证、商标、专利声明及其他原作者声明的内容信息;
4:如果再发布的软件中有声明文件,则需在此文件中注明基于了Apache许可证及其他许可证。
MIT许可证(Massachusetts Institute of Technology)源于麻省理工学院,又称为X11协议。是目前限制最少的开源许可证之一,用户不仅可以使用、复制、修改、再发布,而且只要程序的开发者在修改后的源代码中保留原作者的许可信息即可,因此普遍被商业软件所使用——例如jQuery与Node.js。也就是说,MIT许可证宽松到一个新境界,用户只要在代码中声明了MIT协议和版权信息,就可以去做任何事情,而你也无需承担任何责任。
Mozilla公共许可证(MPL,Mozilla Public License)是1998年初由Mozilla小组编写的,原因是他们认为GPL和BSD许可证不能很好的解决开发人员对源代码的需求和收益之间的平衡关系,因此便融合了这两个协议。2012年初,Mozilla基金会发布了MPL 2.0版本,后续被用在火狐浏览器(FireFox)、雷鸟邮局(Thunderbird)等诸多产品上。最新的MPL公共许可证有以下特点:
1:使用基于MPL许可证的源代码内容后,只需要继续开源这部分特定代码即可,而新研发的软件不用完全被协议控制;
2:开发人员可以将基于MPL、GPL、BSD等多种许可证的代码一起混合使用;
3:开发人员在发布新软件时,必须附带一个专门对该程序说明的文件,内容要有对原始代码的修改时间和修改方式;
由乌克兰程序员Paul Bagwell创作的一幅流程图正好把这六款开源许可证做了个汇总归纳,基于CC-BY-NC-SA 3.0知识分享协议翻译并整理如下图:
2、Linux和Windows具体的差别
3、开源软件四大关键性优势
每位投身于Linux行业的技术人或者程序员只要听到开源项目就会由衷的感到自豪,这是一种从骨子里带有的独特情怀。开源企业不单纯是为了利益,而是互相扶持,努力服务好更多的客户。开源社区更是与全球用户唇齿相依,任何人都可以贡献自己的代码与灵感,任何人也都可以从开源社区中受益。如此良性循环下来,开源软件便具备了四大关键性优势:
**低风险:**使用闭源软件无疑在把命运交付给他人,一旦封闭的源代码没有人来维护,你将进退维谷,而相较于商业软件公司,开源社区则很少存在倒闭的问题。并且源代码一旦公布于世,任何人或组织都可以接替上任进行未来新的维护工作。
**高品质:**相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编写、维护、测试的用户量众多,一般的bug还没有等爆发就已经被修补。另外在灵感不断碰撞、代码不断迭代的交流氛围中,不会有程序员将“半成品”上传到开源社区中的。
**低成本:**开源工作者大多都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。
**更透明:**没有哪个笨蛋会把木马或后门代码放到开源项目中的,这样无疑是把自己的罪行暴露在阳光之下,一眼就能被发现。
4、常见的Linux系统
在介绍常见的Linux系统版本之前,首先需要区分下Linux系统内核与Linux发行套件系统的不同。Linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层、磁盘、文件系统控制及多任务功能的系统核心程序,第2章节会有详细介绍。而Linux发行套件系统才是我们常说的Linux操作系统,也即是由Linux内核与各种常用软件的集合产品。全球大约有数百款的Linux系统版本,每个系统版本都有自己的特性和目标人群——有的主打稳定性和安全性、有的主打免费使用、还有的主要突出定制化强等特点,下面可以从用户的角度选出最热门的几款进行介绍。
在Linux系统历史小节中咱们有提到过红帽公司,作为当今全球最大的开源技术厂商,值得咱们放到第一个来讲讲。红帽公司成立于1994年,随后1998年便在纳斯达克上市,1999年起陆续收购了包括JBoss中间件供应商、CentOS社区企业操作系统和Ceph企业级存储业务等等数十家高科技公司,这么做的目的,当然是为了强增主营业务——红帽企业版系统。
红帽企业版系统最初面世是在2002年3月份,当年Dell、HP、Oracle以及IBM公司便纷纷表示支持该系统平台的硬件开发,市场份额在近20年时间内不断的猛增。根据《财富》杂志的500 强企业名单中所报道的那样,红帽企业版系统是全世界使用最广泛的Linux系统之一,在世界500强企业中所有的航空公司、电信服务供应商、商业银行、医疗保健公司均无一例外有基于红帽产品所提供的服务。
红帽企业版系统一般被简称为RHEL系统,目前最新是8版本,该系统具有极强的稳定性,在全球范围内都可以获得完善的技术支持,也是本书和红帽认证中所默认使用的操作系统。
CentOS社区企业操作系统,顾名思义之前是由开源社区研发和维护的一款企业级Linux操作系统,后来在2014年1月份被红帽公司正式收购。CentOS系统最广泛被人熟悉的标签就是免费,是的~当你问一个运维老鸟选择这个系统的理由时,他绝对不会跟你说更安全或更稳定,而就两个字——免费!由于红帽企业版系统是开源软件,如0.3小节所提到的,任何人都可以有修改和创建衍生品的权利。因此CentOS操作系统便是将红帽企业版系统中收费功能通通去掉,然后将新系统重新编译后发布给用户免费使用的Linux系统,具有广泛的使用人群。
由于CentOS系统本质就是对红帽企业版系统的修改和发布,因此它自己是不开发新功能的,版本号也是随红帽企业版系统而变更,例如CentOS 8.0对应的就是RHEL 8.0,CentOS 8.1对应的就是RHEL 8.1以此类推。其次CentOS系统和RHEL系统的软件包可以通用,也就是说,如果工作中用的是RHEL系统,但是只找到了CentOS系统软件源,也可以正常安装大部分的软件。
Fedora这个词在英文中是软呢帽子的意思,翻译之后感觉跟Linux系统很不搭界,所以更多人干脆音译为“费多拉系统”。Fedora Linux是正正经经红帽公司自己的产品,最初是为了给红帽企业版系统制作和测试第三方软件而构建的社群,固定每六个月发布一个新版本,在全球已经有了几百万的用户。
Fedora是桌面版本系统,可以理解成是微软公司的Windows XP或者Windows 10,定位是应付日常的工作需要,而不会追求稳定性的人群(服务器经常几年不关机,而家里天天关机)。用户可以在这个系统中体验到最新的软件,当这些技术和工具成熟后才会被移植到红帽企业版系统中,因此我们可以将Fedora称为RHEL系统的“试验田”。
Debian是最初发布于1993年9月份的一款基于GNU开源许可证的Linux操作系统,历史久远。名字取自创始人Ian Murdock和他女朋友Debra的姓氏组合,在*中Debian中文被翻译为蝶变系统,多么浪漫而富有诗意的名字。但可惜中国用户不买账,看着一圈一圈的LOGO标志,虽然没有任何的恶意,但愣是被音译叫成了“大便系统”,而且经过几年时间的耕耘,现在反而很少有人听说过蝶变系统这个名字了,中国网友真牛。
Debian系统具有很强的稳定性和安全性,并且提供了免费的基础支持,可以良好的适应各种硬件架构,以及提供近十万种不同的开源软件,在国外有很高的认可度和使用率。虽然都是基于了Linux内核程序,但是在实际操作中还是跟红帽公司产品有一些差别,例如RHEL 7和RHEL 8分别使用Yum和dnf安装软件,而Debian则是使用apt,稍稍要适应一下才能上手。
Ubuntu是一款桌面版本系统,基于Debian系统为蓝本进行修改和衍生而来,发布周期为六个月。中文音译为乌班图系统,最初这个词来自于非洲南部部落使用的祖鲁语,意思是“我的存在是因为大家的存在”,体现了一种谦卑、感恩的价值观,寓意非常好。
Ubuntu系统第一个版本发布于2004年10月份,2005年7月份成立了专属基金会,后续便不断增加开发分支,有了桌面版本系统、服务器版本系统和手机版本系统,据调查最高峰时用户达到了十亿人。Ubuntu基于Debian系统衍生而来,但会对系统进行深度化定制,因此两者之间的软件并不一定完全兼容。该系统现在由Canonical公司提供商业技术支持,只要购买服务就能获得帮助,桌面版本系统最长时间3年,服务器版本最长时间5年。
openSUSE是一款源自德国的Linux操作系统,在全球范围内有着不错的声誉及市场占有率。桌面版系统简洁轻快易于使用,而服务器版本则功能丰富极具稳定性,即便是菜鸟也能轻松上手。虽然在技术上颇具优势,而且大大的绿色蜥蜴LOGO谁会不爱。只可惜命途多舛,系统最初是由SuSE Linux AG公司赞助和研发的,但公司效益不佳,在2003年被Novell公司收购,而Novell公司又经营不佳,在2011年又被Attachmate公司收购,而2014年Attachmate和Micro Focus公司合并后,仍然只把openSUSE当做公司内一个部门来运营。
即便如此依然不妨碍openSUSE系统坚强的发展,用户可以完全自主的选择使用的软件,例如图形化GUI环境就提供了诸如GNOME、KDE、Cinnamon、MATE、LXQt、Xfce等等可选项,还有数千个免费开源软件包给用户。
跟上面呆萌大蜥蜴相比,Kali Linux这只标志性的小龙似乎有点凶巴巴,的确,因为这款系统一般是被黑客或安全人员使用,能够以此为平台对网站进行渗透测试,说的通俗些就是能“攻击”网站。Kali Linux系统的前身叫做BackTrack,设计的用途就是用于数字鉴识和渗透测试,内置有600多款网站及系统的渗透测试软件——包括大名鼎鼎的Nmap、Wireshark、sqlmap等等。Kali Linux能够被安装到个人电脑、公司服务器、甚至手掌大小的树莓派(一款微型电脑),让您有种随身携带了一个武器库的感觉。
Gentoo在英文中的意思是巴布亚企鹅,YEAH!终于找到一个跟Linux吉祥物企鹅相关的名字了,巴布亚是企鹅家族中体型最大的物种之一,而游泳速度最快能到36公里每小时,多么灵活的胖子!
Gentoo Linux系统最大的特色就是允许用户完全的*定制化,开发人员Daniel曾经提及:“Gentoo系统的设计出发点就是让用户随意使用,没有限制的使用”,只要理解了这句话也就不需要后面再解释什么了。在Gentoo系统中,任何一部分功能都允许用户重新编译,包括最基本的系统库和编译器都可以。用户可以选择自己喜欢的补丁或者插件进行定制。但也因为极高的自定制性,导致操作复杂,因此仅适合有经验的运维人员使用。
另外如果您今后真的安装了Gentoo系统的话,千万别忘记试试Portage工具,这款软件管理工具以模块化、可移植、易维护和灵活性而著称,几乎可以无限制的适应用户机器。
在这十几年里,基于开源系统二次定制开发的“国产系统”陆陆续续出现过一些,但大多发展不好——例如红旗、麒麟、UOS等等,但深度操作系统是少数的,能够成功将技术研发与商业运作结合起来的成功案例。据官网介绍,该系统是由武汉深之度科技有限公司于2011年基于Debian系统衍生而来的,目前累计下载已近1亿次,提供32种语言版本,用户遍布一百余个国家。
最吸引人的还是深度系统的本土化工作,默认就集成了诸如WPS Office、搜狗输入法、有道词典等等国内常用的软件,这样对小白用户真的太友好了。
总结来说,虽然在界面上可能差别很大,或是操作方法上不尽相同,但只要是基于了Linux内核研发的开源操作系统,我们都称之为Linux系统。
5、红帽认证
红帽认证是由红帽公司推出的Linux认证,被认为是Linux行业乃至整个IT领域价值最高的认证之一。红帽认证考试全部采用上机形式,在考察学生基础理论能力的同时还考察了实践动手操作和排错能力。红帽公司针对红帽认证制定了完善的专业评估与认证标准,其认证主要包括红帽认证系统管理员(RHCSA)、红帽认证工程师(RHCE)与红帽认证架构师(RHCA)。
①、RHCSA
红帽认证系统管理员(RHCSA,Red Hat Certified System Administrator)属于Linux系统的初级认证,主要考核对系统平台的管理能力,比较适合Linux爱好者。该认证要求考生对Linux系统有一定的了解,并且能够熟练使用Linux命令来完成以下任务:
访问命令行
使用命令行管理文件
创建、查看和编辑文本文件
管理本地用户和群组
监控和管理 Linux 进程
控制服务和守护进程
利用文件系统权限控制文件访问
分析和存储日志文件
配置和确保 OpenSSH 服务的安全
安装和更新软件包
访问 Linux 文件系统
管理 Linux 联网
使用 Kickstart 安装红帽企业 Linux
管理文件系统和逻辑卷
管理计划作业
访问网络文件系统
管理 SELinux
控制防火墙
执行故障排除任务
②、RHCE
红帽认证工程师(RHCE,Red Hat Certified Engineer)属于Linux系统的中级水平认证,主要考核对常见服务的部署和维护能力,难度相对RHCSA认证来讲难度更大,而且要求考生必须已获得RHCSA认证。RHCE 8版本的认证与RHCE 7版本的认证相比还有个重要区别就是增加了Ansible的知识,而且每道题都要求用Ansible自动化完成,主要是为了适应当前对自动化部署工作的需求。这部分的内容原本应是*RHCA认证中DO407科目的知识,随着考试难度的增高,认证的含金量也越高。总之,RHCE认证适合有基础的Linux运维管理员,主要考察对下列服务的管理与配置能力:
在控制节点上安装和配置 Ansible 或红帽 Ansible 引擎。
创建和管理托管主机列表,并使它们为 Ansible 自动化做好准备。
通过命令行运行单个 ad hoc 自动化任务。
编写 Ansible Playbook 以便一致地自动执行多个任务,并将其应用于托管主机。
使用变量和 fact 对 playbook 进行参数化,并使用 Ansible Vault 保护敏感数据。
编写和重用现有 Ansible 角色,以简化 playbook 创建并重用代码。
使用 Ansible 自动执行常见的红帽企业 Linux 系统管理任务。
③、RHCA
红帽认证架构师(Red Hat Certified Architect,RHCA)属于Linux系统的*别认证,是公认的Linux操作系统*认证,目前中国仅有不到三千人(2020年更新数据)持有该认证。考生需要在获得RHCSA与RHCE认证后再完成5门课程的考试才能获得RHCA认证,因此难度最大,备考时间最长,费用也最高(考试费约在1.8万元~2.1万元人民币)。该认证考察的是考生对红帽卫星服务、红帽系统集群、红帽虚拟化、系统性能调优以及红帽云系统的安装搭建与维护能力。
下表为2020年最新版的考试课程。欲取得红帽RHCA认证,您必须通过以下任意5门认证考试。
考试代码 | 认证名称 |
---|---|
EX210 | 红帽 OpenStack 认证系统管理员考试 |
EX220 | 红帽混合云管理专业技能证书考试 |
EX236 | 红帽混合云存储专业技能证书考试 |
EX248 | 红帽认证 JBoss 管理员考试 |
EX280 | 红帽平台即服务专业技能证书考试 |
EX318 | 红帽认证虚拟化管理员考试 |
EX401 | 红帽部署和系统管理专业技能证书考试 |
EX413 | 红帽服务器固化专业技能证书考试 |
EX436 | 红帽集群和存储管理专业技能证书考试 |
EX442 | 红帽性能调优专业技能证书考试 |
2020/1/2 23:07