RHEL与CentOS系统区别:
CentOS系统是通过把RHEL系统释放出的程序源代码经过二次编译之后生成的一种Linux系统,其命令操作和服务配置方法与RHEL完全相同,但是去掉了很多收费的服务套件功能,而且还不提供任何形式的技术支持,出现问题后只能由运维人员自己解决。经过这般分析基本上可以判断出,选择CentOS的理由只剩下—免费!当人们大举免费、开源、正义的旗帜来宣扬CentOS系统的时候,殊不知CentOS系统其实早在2014年年初就已经被红帽公司“收编”,当前只是战略性的免费而已。再者说,根据GNU GPL许可协议,我们同样也可以免费使用RHEL系统,甚至是修改其代码创建衍生产品。开源系统在自由程度上没有任何差异,更无关道德问题。
开源共享精神:
开源软件的特点就是把软件程序与源代码文件一起打包提供给用户,让用户在不受限制地使用某个软件功能的基础上还可以按需进行修改,或编制成衍生产品再发布出去。用户具有使用自由、修改自由、重新发布自由以及创建衍生品的自由。这也正好符合了黑客和极客对自由的追求,因此国内外开源社区的根基都很庞大,人气也相当高。
开源软件最重要的特性:
低风险:使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你将进退维谷;而且相较于商业软件公司,开源社区很少存在倒闭的问题。
高品质:相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编写、维护、测试的用户量众多,一般的bug还没有等爆发就已经被修补。
低成本:开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。
更透明:没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的罪行暴露在阳光之下。
GNU GPL(GNU General Public License,GNU通用公共许可证):只要软件中包含了遵循GPL协议的产品或代码,该软件就必须也遵循GPL许可协议且开源、免费,因此这个协议并不适合商用软件。遵循该协议的开源软件数量极其庞大,包括Linux系统在内的大多数的开源软件都是基于这个协议的。GPL开源许可协议最大的4个特点。
复制自由: 允许把软件复制到任何人的电脑中,并且不限制复制的数量。
传播自由: 允许软件以各种形式进行传播。
收费自由: 允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来盈利的。
修改自由: 允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可协议授权。
BSD(Berkeley Software Distribution,伯克利软件发布版)许可协议:用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售,前提是需要满足下面3个条件。
1:如果再发布的软件中包含源代码,则源代码必须继续遵循BSD许可协议。
2:如果再发布的软件中只有二进制程序,则需要在相关文档或版权文件中声明原始代码遵循了BSD协议。
3:不允许用原始软件的名字、作者名字或机构名称进行市场推广。
Apache许可证版本(Apache License Version)许可协议:在为开发人员提供版权及专利许可的同时,允许用户拥有修改代码及再发布的自由。该许可协议适用于商业软件,现在热门的Hadoop、Apache HTTP Server、MongoDB等项目都是基于该许可协议研发的,程序开发人员在开发遵循该协议的软件时,要严格遵守下面的4个条件。
1:该软件及其衍生品必须继续使用Apache许可协议。
2:如果修改了程序源代码,需要在文档中进行声明。
3:若软件是基于他人的源代码编写而成的,则需要保留原始代码的协议、商标、专利声明及其他原作者声明的内容信息。
4:如果再发布的软件中有声明文件,则需在此文件中标注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系统是一款优秀的软件产品,具有类似UNIX的程序界面,而且继承了UNIX的稳定性,能够较好地满足工作需求。
常见linux版本。
红帽企业系统(RedHatEnterpriseLinux,RHEL.)
红帽公司是全球最大的开源技术厂商,RHEL是全世界内使用最广泛的Linux系统。
RHEL系统具有极强的性能与稳定性,并且在全球范围内拥有完善的技术支持。
RHEL系统也是本书、红帽认证以及众多生产环境中使用的系统。
社区企业操作系统(Community Enterprise Operating System,CentOS)
通过把RHEL系统重新编译并发布给用户免费使用的Linux系统,具有广泛的使用人群。CentOS当前已被红帽公司“收编”。
由红帽公司发布的桌面版系统套件(目前已经不限于桌面版)。
用户可免费体验到最新的技术或工具,这些技术或工具在成熟后会被加入到RHEL系统中,因此Fedora也称为RHEL系统的“试验田”。
运维人员如果想时刻保持自己的技术领先,就应该多关注此类Linux系统的发展变化及新特性,不断改变自己的学习方向。
源自德国的一款著名的Linux系统,在全球范围内有着不错的声誉及市场占有率。
具有极高的自定制性,操作复杂,因此适合有经验的人员使用。读者可以在学习完本书后尝试一下该系统。
稳定性、安全性强,提供了免费的基础支持,可以良好地支持各种硬件架构,以及提供近十万种不同的开源软件,在国外拥有很高的认可度和使用率。
Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。Ubuntu基于Debian发行版和Gnome桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity。从前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助
认证了解:
红帽公司成立于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来保障系统安全。
红帽认证工程师(Red Hat Certified Engineer,RHCE) 属于Linux系统的中级水平认证,难度相对RHCSA认证来讲更大,而且要求考生必须已获得RHCSA认证。该认证适合有基础的Linux运维管理员,主要考察对下列服务的管理与配置能力:
熟练配置防火墙规则链与SElinux安全上下文;
配置iSCSI(互联网小型计算机系统接口)服务;
编写Shell脚本来批量创建用户、自动完成系统的维护任务;
配置HTTP/HTTPS网络服务;
配置FTP服务;
配置NFS服务;
配置SMB服务;
配置SMTP服务;
配置SSH服务;
配置NTP服务。