Linux 大爆炸:一个内核,无数发行版
即使你是一个 Linux 新人,你可能也已经知道它不是一个单一的、整体的操作系统,而是一群项目。这个星座中不同的 星 组成了 发行版 。每个都提供了自己的 Linux 模式。
感谢这一系列发行版所提供的多种选择,这有助于了解 Linux 如何开始并随后激增的。因此,这里会简要介绍一下 Linux 的历史。
Linus Torvalds,内核构建者大多数熟悉 Linux 的人都已经听说过它的创建者 Linus Torvalds (题图中的人),但是并不知道他最初为何创建它。在 1991 年,Torvalds 还是一名在芬兰学习计算机的大学生。作为一个独立的个人项目,他希望为他的独特硬件创建一个类 Unix 内核。
内核 是操作系统的一部分,它介乎于操作系统和硬件之间,通过其固件进行协调。本质上,它是系统的核心。开发内核不是一个小工程,但是 Torvalds 渴望挑战,并且发现他自己有这个罕见的技能。
由于他刚接触内核,他希望得到其他人的帮助来确保他走在正确的轨道上,因此他通过在早期的互联网论坛 Usenet 发布他的内核代码,并征求了老牌的老手的经验。然后贡献者就涌来了。
在建立了一个对论坛提交的补丁进行审查以及选择性地集成它们的流程后,Torvalds 意识到他聚集起了一个非正式的团队。在项目发展之后,它很快成为了一个比较正式的开发团队。
Richard Stallman 的角色虽然 Torvalds 以及他的团建创造了 Linux 内核,但是没有 Richard Stallman 的工作也不会有随后 Linux 众多发行版的传播,Richard 在十年之前发起了一个自由软件运动。
受到许多核心 Unix 程序和系统功能缺乏透明度的阻挠,Stallman 决定自己编写一个,与任何想要它的人自由共享源代码,并且开放提交。他创造了许多核心程序的主体,并在 1983 年发布,统称为 GNU 项目 。
没有它们,内核不会有那么多的用量。基于 Linux 的操作系统的早期设计人员很乐意将 GNU 工具集成到他们的项目中。
不同的团队开始出现 每个团队都有自己的计算功能和架构的理念。他们将 Linux 内核、GNU 实用程序和他们自己的原始软件结合在一起,然而 发行 了 Linux 操作系统的变体。
服务器发行版每个发行版有它自己的设计逻辑和目的,但是要了解它们的细微差别,需要了解上游和下游开发人员之间的区别。 上游开发人员 负责实际创建项目并发布,以供个人下载或将其包含在其他项目中。相比之下, 下游开发人员 或 软件包维护人员 是指每个发布上游程序的人员,他们对每个上游程序的版本进行调整以适应下游项目的使用情况。
虽然大多数 Linux 发行版包含一些(自己的)原生项目,但大部分发行版开发主要是对 Linux 内核、GNU 工具和庞大的用户程序生态系统的 下游 工作。
许多发行通过优化特定使用场景来彰显它们的特征。例如,某些项目被设计作为服务器运行。为部署服务器而量身定制的发行版通常会避开上游项目中快速推出的最新功能,而倾向于发布一个经过彻底测试的、基础的基本软件,系统管理员可以依靠它来顺利运行。
针对服务器的发行版的的开发团队经常很大,并且有富有经验的程序员可以为每个版本提供多年的支持。
桌面发行版也有很多的发行版针对桌面用户。事实上,一些知名的发行版通过提供简单的安装以及直观的界面来与商业的操作系统竞争。这些发行版通常包含了大量的软件仓库,它包含了用户可以想到的每个软件,这样用户可以定制它们自己的系统。
由于可用性是关键,他们可能会投入部门大量的员工来创建一个特征鲜明的、发行版特定的桌面,或调整已有的桌面以适应其设计理念。以用户为中心的发行版往往会加快其下游开发时间表,有助于及时为用户提供新功能。
滚动发布 项目,这是一种桌面发行版的子集,其被设计成紧跟潮流。滚动发布项目的包维护人员在为每个上游程序完成调整后分别发布其新版本,而不是等待所需的上游程序的开发达到某一特定的节点,然后将其集成到单个版本中。
这种方法的一个优点是安全性,因为其关键补丁的发布将比非滚动发行版更快。另一个好处是新功能立即可用,不然用户需要等待才行。滚动发布的缺点是需要更多的人工干预和仔细维护,因为某些升级可能会与其他升级相冲突从而破坏系统。
嵌入式系统另外一个 Linux 发行版类别是 嵌入式系统 ,它被极致裁剪(相对与服务器和桌面发行版)来适应特定的使用情况。
我们经常会忘记那些连接到因特网的任何东西,或者比一个简单的计算器复杂的东西,都是计算机。而计算机需要操作系统。因为 Linux 是自由的并且高度模块化,所以它通常是硬件厂商的选择。
在大多数情况下,如果你看见一台智能电视、一台连接互联网的照相机、甚至是一辆车,你看到的都是 Linux 设备。特别是每部非 iPhone 的智能手机都运行着不同的嵌入式 Linux。
Linux 现场版最后,有一些 Linux 发行版并不需要永久性地安装在计算机中,而是驻留在 USB 记忆棒上,并允许在其它的计算机上启动它们,而无需计算机硬盘。
这些 现场版(live) 的系统可以被优化来执行一些任务。从修复损坏的系统到进行安全评估到高度安全地浏览因特网。
由于这些 现场版 Linux 发行版通常针对解决特定的问题,因此它们一般都包含特定的工具,像磁盘分析和恢复程序、网络监控程序和加密工具。它们还占用很小的空间,因此它们可以快速启动。
你如何选择?这绝不是 Linux 发行版类型的全面列表,但它应该可以让你大致了解 Linux 生态系统的范围和多样化了。
在每个类别下都有许多选择,因此你会如何选择一个最能符合你需求的版本呢?
一种方式是试验。在 Linux 社区中,来回尝试不同的发行版,或者为用户根据他们的需求在不同的机器上运行不同的发行版,这都很常见。
在将来的文章中,我会展示每种类型发行版的几个例子,以便你可以自己尝试,并开始探索最喜欢的发行版的旅程。
作者简介:
自 2017 年以来 Jonathan Terrasi 一直是 ECT 新闻网的专栏作家。他的主要兴趣是计算机安全(特别是 Linux 桌面),加密和分析政治和时事。他是全职自由作家和音乐家。他的背景包括在芝加哥委员会发表的保卫人权法案文章中提供技术评论和分析。
via: http://www.linuxinsider.com/story/84489.html
作者:Jonathan Terrasi 译者:geekpi 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/55492.html
linux程序员相关文章
- Linux 内核内存分布:解读操作系统之源(linux内核内存分布)
- 新手快速在Linux上创建文件(创建一个文件linux)
- 系统Linux:一个演进的史诗(linux历史操作)
- Linux内核网络栈优化实践指南(linux内核网络栈)
- 以kaos linux开启新一轮Linux时代(kaoslinux)
- 实现Linux集群的配置指南(linux集群配置)
- 掌握Linux权限:实现快速权限查询(linux权限查询)
- 解决Linux系统网卡激活问题(linux激活网卡)
- 深入Linux:如何查看操作系统版本(linux查看操作系统版本)
- Linux查看用户数:一个命令搞定。(linux查看有多少用户)
- Linux内核版本差异深度探索(linux内核版本区别)
- Linux创建新目录:一步步指引(linux创建一个目录)
- Linux 创建磁盘分区:简单易学(linux创建磁盘分区)
- Linux内核编译:解析Linux内核的精髓(linux内核与内核编译)
- Linux系统:一个安全的屏幕锁定(linux系统锁屏)
- Linux系统面临的勒索病毒危机(linux勒索病毒)
- Linux文件编码转换:一个简单的操作(linux文件编码更改)
- 用精简Linux内核:裁剪过程中的艰辛(裁剪linux内核)
- 快速掌握Linux编程基础(linux编程基础)
- Linux下查看串口状态:快速掌握要点(linux下查看串口)
- 系统Linux的枝叶——分支系统的多样性(linux的分支)
- 内核安卓系统:基于Linux内核的强大功能(安卓系统是linux)
- 内核Linux内核的非实时调度功能(linux非实时)
- Linux的多元化发展之路(linux的分支)
- 深入理解Linux键值表:掌握内核架构设计的关键技能。(linux键值表)
- Linux环境下安装实现微信沟通(linux系统安装微信)
- Linux系统:迎接64位时代的到来(linux系统64位)
- 韦东山解析Linux驱动原理(linux驱动韦东山)
- Linux内核:经典不可超越(linux内核经典)
- 轻松搜寻:Linux文件夹查找攻略(linux查找一个文件夹)
- Linux:探索开源系统的新潮状态(linux 状态)
- Linux内核视频教程:深入理解开源世界的核心(linux 内核视频教程)
- 探究Linux交换机SFP模块的应用与优势(linux交换机sfp)
- Linux环境配置:解决快速部署问题(linux 配置环境)
- Linux服务器安全之重置密码(linux服务器重置密码)
- Linux下的数据安全——Tor技术(tor linux)
- 意思探索Linux内核:一次令人深刻的体验(linux内核是什么)