什么是Linux?您需要了解的有关开源操作系统的所有内容
Linux长期以来一直是商业网络设备的基础,但现在它已成为企业基础设施的支柱。
Linux是1991年针对计算机发布的一种经过验证的开源操作系统,但它的使用已经扩展到支持汽车,电话,网络服务器以及最近的网络设备系统。
它的使用寿命,成熟度和安全性使其成为当今最值得信赖的操作系统之一,这意味着它非常适合商业网络设备以及希望使用它及其外围设备来定制自己的网络和数据中心基础设施的企业。
这反过来又让IT技术人员高度追捧Linux技能。例如,许多与DevOps相关的新技术(如容器,基础架构和SDN控制器)都是基于Linux构建的。
什么是Linux?
Linux是一个类似的操作系统, 但是正如我们所看到的,不是直接来自Unix。像大多数类Unix操作系统一样,Linux由几个组件组成。
内核
是系统的核心,并向CPU,外设和内存发送指令。
引导程序
管理系统启动的进程。在计算机上,用户可以通过启动的启动屏幕识别出这一点。在网络设备上,有一个指示启动过程的状态。
守护进程
在启动时或系统完全启动后启动的后台服务。例如,网络守护程序在引导时激活所有网络接口。其他守护进程是时间和DNS之类的东西。
贝壳
这是Linux命令行。对于习惯在图形环境中工作的人来说,这可能是令人生畏的,但大多数网络专业人员习惯于在shell中运行。
Linux命令
shell的命令行界面(CLI)为熟悉基于文本的界面的专家用户提供了许多强大的功能 - 包括对网络和系统管理至关重要的功能。
Linux桌面环境
除了shell之外,Linux还有许多桌面环境,其工作方式类似于Windows和macOS中熟悉的基于窗口的GUI。与那些操作系统不同,Linux可以配备许多桌面环境之一,以满足用户的需求和品味。
Linux包管理器和应用程序
虽然许多程序,特别是那些来自命令行的程序都包含在Linux操作系统的大多数安装中,但您显然希望安装更多程序以获得所需的功能,其中许多程序将是基于GUI的图形化应用程序比CLI驱动的更熟悉。通常,您将使用程序包管理器,这是一个从免费软件库中下载软件包的程序,用于此目的。Linux的一些网络应用程序(例如那些专注于流量分析,安全性和网络管理的应用程序)具有图形界面,但它们的数量远远少于服务器和台式机的数量。
Linus Torvalds和Linux的历史
如上所述,Linux是许多属于“类Unix”标题的操作系统之一。Unix本身的历史非常混乱,但Linux虽然提供了很多Unix的感觉,但实际上并没有重用任何Unix源代码。
Linux实际上可以被认为是Unix的孙子。它的前身是MINIX,这是一个类似Unix的小型操作系统,创建于80年代后期,用于向学生说明操作系统设计的原理。
MINIX代码可用于教育目的,但不能重复用于商业应用程序。1991年,一位名叫Linus Torvalds的21岁计算机科学专业学生宣布,他将创建一个新的操作系统,受MINIX的启发,但是从头开始编写,以便代码可以在GNU GPL下作为开源发布。他将名称MINIX与他自己的名字结合起来,并称之为新的操作系统Linux。
Linux内核
Linux内核是操作系统的核心。它也代表了Linux和MINIX之间的关键区别(这有点讽刺,因为Torvalds被指控从MINIX窃取代码来创建他的操作系统)。MINIX基于包含运行操作系统所需的最少代码量的微内核,而Linux具有单片内核,这意味着文件系统,虚拟内存和各种系统调用等功能都发生在特权内核中空间。
其中一个优点,这也是Linux作为一个整体的关键优势之一,虽然操作系统的内部工作可以随着时间的推移而发展,但内核和用户空间之间的接口系统的一部分个人用户的应用程序执行的地方,保持非常稳定,这意味着升级Linux不会强迫您升级程序。
Linux社区
如上所述,Linux的代码是开源的,具体来说,它的代码是在宽松的GNU公共许可证下发布的。这意味着:
可以免费下载和安装Linux操作系统。
管理员可以研究操作系统并对其进行自定义。
操作系统的原始版本或修改版本具有无限的重新分发权限。
Linux是一个基于社区的项目最清楚的信号之一是,内核在公司实验室中不是保密,而是通过公共电子邮件列表,其中所有提议的更新和争论是否应该被采用到操作中系统可供任何人查看。任何人都可以通过参与此邮件列表并参与其中来加入Linux社区。
不过,Linux社区远远超出了内核。Linux的开放性意味着有大量的专业人士和爱好者积极参与寻找新的使用方式。例如,容器在很大程度上是通过社区参与进化而来的。
Linux作为一个社区项目并不意味着基于Linux的平台是一个“较小”的设备。Linux拥有一个优秀的生态系统,具有成熟的API以及针对现代化数据中心优化的敏捷网络堆栈。例如,Linux设计有独立的控制和数据转发平面,因此可以轻松放入软件定义的网络架构,因为分离这些平面是SDN的基础。
Linux发行版
因为Linux是开源的,所以没有一家供应商在销售它; 从理论上讲,您可以下载内核,桌面环境以及各种其他实用程序和应用程序,并自行安装。在实践中,这些操作系统组件被打包到一个所谓的分发中 - 基本上,Linux操作系统以一种特定的方式进行调整,可以立即使用。
理论上,理论上任何人都可以将Linux发行版放在一起,但大多数都是由公司和非营利组织提供的。商业分销商可能会对其分销收费,或提供可选的付费支持服务。
Linux与Windows
千禧年的转折是微软与Linux战争的黄金时代,踌躇满志的Linux用户确信他们所选择的操作系统在意识形态和技术方面的优势,以及微软同样热情地回击。许多最有声音的Linux支持者声称Linux将成为占主导地位的桌面操作系统的那一天即将到来。这显然从未发生过。作为一个商业终端用户操作系统,Linux从未扩展到一个小小的利基市场,这些战斗的日子已经基本过去了(尽管你仍然会发现人们愿意接受这场战斗)。
但是当谈到Linux服务器时,这是一个不同的故事。Linux被广泛视为服务器市场的主要参与者,与微软和其他供应商相提并论。在本世纪出现的最赚钱的科技市场中,从某种意义上说,Linux绝对压碎了雷德蒙德。Android移动操作系统在内心深处是Linux的衍生产品,Android是移动市场中的顶级厂商,尽管经过多次尝试,但微软未能抓住机会。
什么是Linux应用?
由于其灵活性,Linux已经进入了许多领域,从嵌入式产品到超级计算服务器。在过去十年中,基于Linux的产品数量激增,这些产品对IT领域产生了重大影响,包括:
Kubernetes:谷歌的集装箱集群经理
OpenStack:基础架构即服务云平台的软件平台
Open Daylight: Linux Foundation基于Java的项目,旨在加速SDN和网络功能虚拟化(NFV)的采用
Docker:软件容器程序
Open vSwitch(OVS):分布式虚拟多层交换机,用于在虚拟化环境中提供交换堆栈。OVS特别有趣,因为它提供了比Linux内核中的基本功能更丰富的网络功能。如果OVS甚至取得了一定的成功,那么它可能是网络形成的良好前提。
网络使用Linux的速度很慢,但是依赖网络的企业越多,网络和服务器领域就越紧密。对于网络工程师而言,能够访问本机Linux shell使他们能够使用曾经仅用于服务器的工具和软件。这使得通过更改服务器和应用程序来更轻松地编排网络服务。
为什么Linux在企业中如此成功?
首先,Linux具有适应性,不同的发行版将其移植到您可以命名的任何计算平台。
其次,Linux很便宜。Linux可以运行在商品硬件,大多数公司已经拥有的廉价x86 PC盒,在其他Unix厂商如Sun使用其操作系统捆绑其高端硬件的时代。