目标
在完成本节内容后,你能够定义和解释Linux的目的,开源代码、Linux发行版和Red Hat Enterprise Linux。
为什么要学习linux?
Linux是IT专业人员需要了解的一项重要技术。
Linux的应用非常广泛,与Linux系统交互的最常见的方式就是通过浏览网页和网上购物。
Linux的用途远不止于此。Linux管理着销售系统和金融交易系统,智能电视和游戏机的系统也是linux。世界500强的超级计算机采用linux系统。Linux是推动云计算革命的基础技术,也是构建下一代基于容器的微服务应用、基于软件的存储技术和大数据解决方案的工具。
在现代数据中心中主要采用Linux和Windows操作系统,Linux在这一领域蓬勃发展。学习Linux主要由以下几点原因:
Windows用户需要与Linux交互操作。
在应用程序的开发中,Linux承载着应用程序或其运行时。
在云计算中,私有云或公有云环境中的云实例大多使用Linux作为操作系统。
对于移动应用或物联网(IoT),设备的操作系统使用Linux的概率很高。
Linux技能对于IT领域的的工作非常重要。
是什么让Linux伟大?
对于 "是什么让Linux伟大?"这个问题,有很多不同的答案,然而,其中有三个答案。
-
Linux是开源软件
开源不只是意味着你可以看到系统的工作原理。你还可以对其修改,并自由分享给别人使用。开放源码模式意味着更容易进行改进,更快创新。
Linux提供了一个功能强大、可脚本化的命令行界面(CLI)。
Linux是围绕着用户可以从CLI执行所有管理任务的基本设计理念而构建的。它使自动化、部署和配置更容易,并简化了本地和远程系统管理。与其他操作系统不同的是,这些功能从一开始就已经内置了,并且一直以来的假设就是要启用这些重要的功能。
-
Linux是一个模块化的操作系统,可以让你轻松更换或移除组件
系统的组件可以根据需要进行升级和更新。一个Linux系统可以是一个通用的开发工作站,也可以是一个极度简化的软件设备。
什么是开源软件?
开源软件是具有源代码的软件,任何人都可以使用、研究、修改和共享。
源代码是用于制作程序的一组人类可读指令。它可以被解释为脚本,也可以被编译成二进制的可执行程序,由计算机直接运行。一旦创建了源代码,它就获得了版权,版权人控制着软件的复制、改编和传播条件。用户可以在软件的许可证下使用软件。
有些软件有源代码,只有创造它的人、团队或组织才能看到、修改或分发。这种软件有时被称为 "专有 "或 "封闭源码 "软件。通常情况下,许可证只允许最终用户运行程序,而不提供任何访问权限,或严格限制访问源码。
开放源码软件则不同。当版权持有人在开放源码许可下提供软件时,他们授予用户运行程序的权利,同时也授予了用户免费查看、修改、编译和向他人重新发布源码的权利。
开放源码提倡协作、共享、透明和快速创新,因为它鼓励原始开发者以外的人对软件进行修改和改进,并与他人分享。
软件开放源码,并不意味着它在某种程度上不能被商业化使用或提供。开放源码是许多组织的商业运作的关键部分。一些开放源码许可证允许代码在封闭源码产品中重复使用。人们可以出售开放源码,但真正的开放源码许可证的条款通常允许客户重新发布源代码。最常见的情况是,Red Hat等厂商在部署、支持和扩展基于开放源码产品的解决方案时提供商业帮助。
开源对用户有很多好处:
- Control: 了解工作原理,方便改进软件。
- Training:从源代码中学习,开发更多有用的应用。
- Security:检查代码安全,协助修复漏洞。
- Stability:代码可以在原开发者或经销商跑路后留存下来。
开源许可证的类型
提供开放源码软件的方式不止一种。软件许可证的条款控制了源码如何与其他代码结合或重复使用,有数百种不同的开源许可证。然而,要成为开源软件,许可证必须允许用户自由使用、查看、更改、编译和分发代码。
有两大类开放源码许可特别重要:
- Copyleft许可证的目的是鼓励保持代码的开放源代码。
- Permissive 许可,旨在最大限度地提高代码的可重用性。
Copyleft,也就是 "类似于共享 "的许可证,要求任何人在发布源代码时,无论是否有修改,都必须让其他人也能自由地复制、修改和发布代码。这些许可证的基本优势在于,它们有助于保持现有代码的开放性,以及对代码的改进,并增加开放源代码的数量。常见的 Copyleft 许可证包括 GNU General Public License (GPL) 和 Lesser GNU Public License (LGPL)。
Permissive 许可是为了最大限度地提高源代码的可重用性。只要保留了版权和许可声明,用户可以将源代码用于任何目的,包括在更严格的甚至是专有许可下重用该代码。这使得这些代码很容易被重用,但也有可能会鼓励用户只做专有的改进。几个常用的开放源码许可包括MIT/X11许可、简化BSD许可和Apache软件许可2.0。
谁在开发开源软件?
如果认为开源开发完全是由 "志愿者大军 "甚至是个人加入红帽大军来开发,那是一种误解。如今的开源开发绝大多数都是专业的。很多开发者都是由他们的组织支付报酬,与开源项目共同构建和贡献他们和客户所需要的增强功能。
志愿者和学术界发挥着重要作用,可以做出重要贡献,特别是在新技术领域。正式和非正式的发展相结合,提供了一个高度活跃和富有成效的环境。
谁是RED HAT?
红帽公司是全球领先的开源软件解决方案提供商,采用社区驱动的方法,提供可靠和高性能的云、Linux、中间件、存储和虚拟化技术。Red Hat的使命是成为客户、贡献者和合作伙伴社区的催化剂,以开源的方式创造更好的技术。
红帽公司的作用是帮助客户与开源社区及其合作伙伴建立联系,有效地使用开源软件解决方案。红帽公司积极参与并支持开源社区,多年的经验让红帽公司坚信开源对IT行业未来的重要性。
红帽公司最著名的是他们在Linux社区和Red Hat Enterprise Linux发行版中的参与。不过,红帽在其他开源社区中也非常活跃,包括以JBoss开发者社区为中心的中间件项目、虚拟化解决方案、OpenStack和OpenShift等云技术,以及Ceph和Gluster等基于软件的存储项目等。
什么是linux发行版?
Linux发行版是由Linux内核和支持用户程序和库组成的可安装的操作系统。一个完整的Linux操作系统不是由单一的组织开发的,而是由独立的开放源码开发社区集合在一起,与各个软件组件一起工作。一个发行版为用户提供了一个安装和管理工作中的Linux系统的简便方法。
1991年,一位名叫Linus Torvalds的年轻计算机科学学生开发了一个类似于Unix的内核,他将其命名为Linux,并在GPL下以开放源码软件的形式授权给了Linux。内核是操作系统的核心组件,它管理硬件、内存和运行程序的调度。这个Linux内核可以用其他的开源软件来补充,比如GNU项目的实用程序和程序,麻省理工学院的X窗口系统的图形界面,以及许多其他的开源组件,比如Sendmail邮件服务器或Apache HTTP网络服务器,从而构建一个完整的类似于Unix的开源操作系统。
然而,Linux用户面临的挑战之一是如何将这些部件从许多不同来源组装起来。很早的时候,Linux的开发者就开始努力提供预编译和测试过的工具分发,用户可以下载并使用这些工具来快速建立自己的Linux系统。
有许多不同的Linux发行版,在选择和支持其发行版所提供的软件时,有不同的目标和标准。但是,一般来说,各发行版都有许多共同的特点:
- 发行版由Linux内核和支持用户空间程序组成
- 发行版可以是小型和单一用途的,也可以包括成千上万的开源程序。
- 发行版必须提供安装和更新发行版及其组件的方法。
- 发行的提供者必须支持该软件,最好是直接参与开发该软件的社区。
Red Hat Enterprise Linux是Red Hat的商业化Linux发行版。
RED HAT ENTERPRISE LINUX
Red Hat Enterprise Linux的开发过程
Red Hat通过多阶段的流程开发并将开放源码软件集成到RHEL中。
- Red Hat参与支持单个开源项目。它贡献了代码、开发者时间、资源和其他支持,经常与其他Linux发行版的开发者合作。它有助于提高每个人的软件的总体质量。
- Red Hat赞助并将开放源码项目整合到社区驱动的Linux发行版Fedora中。Fedora提供了一个免费的工作环境,可以作为开发实验室和试验场,为其商业化产品的功能集成提供了一个免费的工作环境。
- Red Hat对软件进行了加固,以确保其能够得到长期的支持和标准化,并将其整合到他们的企业级发行版RHEL中。
-
Fedora
Fedora是一个社区项目,制作并发布一个完整的、免费的、基于Linux的操作系统。Red Hat赞助社区,并与社区代表合作,将最新的上游软件整合到一个快速、安全的发行版中。Fedora项目为自由和开源世界贡献了一切,任何人都可以参与其中。
然而,Fedora专注于创新和卓越,而不是长期稳定。新的重大更新每半年就会发生一次,而且会带来重大变化。Fedora只支持一年左右发布一次(两次重大更新),这使得它不太适合企业级使用。
-
Red Hat Enterprise Linux
Red Hat Enterprise Linux(RHEL)是红帽公司的企业级、商业化支持的Linux发行版。它是领先的开源计算平台,而不仅仅是成熟的开源项目的集合。RHEL经过广泛的测试,拥有庞大的合作伙伴支持生态系统、硬件和软件认证、咨询服务、培训以及多年的支持和维护保证。
Red Hat将其主要的RHEL版本建立在Fedora上。在这之后,Red Hat可以挑选和选择要包含哪些软件包,做进一步的增强(贡献给上游项目和Fedora),并做出服务于客户需求的配置决策。Red Hat帮助厂商和客户参与到开源社区中来,并与上游开发一起开发解决方案和修复问题。
Red Hat Enterprise Linux采用的是基于订阅的发行模式。因为这是一个开放源码软件,所以不需要支付许可费。相反,它支付的是支持、维护、更新、安全补丁、访问Red Hat客户门户(http:// access.redhat.com/)上的知识库、认证等费用。客户支付的是长期支持和专业知识、承诺,以及在他们需要的时候提供帮助。
当重大更新出现时,客户可以在方便的时候转移到这些更新,而不需要支付更多的费用。它简化了系统更新的经济性和实用性两方面的管理。
-
CentOS
CentOS是一个由社区驱动的Linux发行版,它来自于Red Hat Enterprise Linux的大部分开源代码库和其他来源。它是免费的,很容易安装,并且由一个独立于Red Hat之外的活跃的志愿者社区提供人员和支持。
下表列出了 CentOS 和 Red Hat Enterprise Linux 之间的一些关键区别。
CENTOS | RED HAT ENTERPRISE LINUX |
---|---|
只能自力更生。 | 有几个支持级别,包括工作时间内的标准支持,关键问题的24x7高级支持,以及入门级支持订阅。不同的SLA级别可以在不同的环境中进行混合和匹配。 |
正式的RHEL 补丁发布后,再开始更新补丁 | 由内部开发人员快速响应问题,在正式发布RHEL补丁发布之前可能会有热修复。 |
在RHEL维护支持2阶段结束之前,提供最新的小版本的软件包更新。 | 在扩展更新支持 (EUS) 计划下,对旧的次要版本进行更新,并通过扩展生命周期支持 (ELS) 计划,对维护支持 2 结束后的年份进行更新。 |
一般不被SAS、SAP、Oracle等软件厂商认证为支持的平台。 | 来自数百家ISV的数千种认证应用。 |
通过论坛、邮件列表、聊天、CentOS项目网站和wiki以及其他社区资源提供的帮助和文档资源。 | 通过 Red Hat Customer Portal 提供文档、参考架构、案例研究和知识库文章。访问 Red Hat 客户门户实验室,这是一组工具,你可以用来提高性能、识别安全问题或协助解决任何问题。可选择使用 Red Hat Insights 进行主动系统分析,这是一个基于 SaaS 的工具,可提供与性能、可用性、稳定性和安全性相关的风险实时评估。 |
试用红帽企业级Linux
有许多不同的方法来尝试 Red Hat Enterprise Linux。一种方法是从网站 https://access.redhat.com/products/red-hat-enterpriselinux/evaluation 下载一个评估副本。该页面包括补充信息的链接。
红帽公司还通过红帽开发者计划(https://developer.redhat.com)免费订阅一些用于开发目的的产品。这些订阅计划允许开发人员快速开发、原型、测试和演示他们的软件,以便在相同的企业产品上部署。
另一种方法是部署一个通过云提供商提供的Red Hat Enterprise Linux实例。例如,Red Hat在Amazon AWS Marketplace中提供了Red Hat Enterprise Linux的官方AMI。
欲了解更多信息,请访问本节末尾提到的 Red Hat Enterprise Linux "入门 "页面。
开始使用Red Hat Enterprise Linux
https://access.redhat.com/products/red-hat-enterprise-linux#getstarted
开源之道
https://opensource.com/open-source-way
总结
在本章中,你学会了:
- 开放源码软件是具有源代码的软件,任何人都可以自由使用、学习、修改和共享。
- Linux发行版是由Linux内核和支持用户程序和库组成的可安装的操作系统。
- 红帽公司参与支持并贡献代码给开放源码项目,赞助并将项目软件整合到社区驱动的发行版中,并稳定软件,将其作为支持的企业级产品提供给企业。
- Red Hat Enterprise Linux 是 Red Hat 的开源的、企业级的、商业支持的 Linux 发行版。