在这一章的 Linux 黑话解释中,我们来讨论一些基本的东西。

让我们来讨论一下什么是 Linux 发行版,为什么它被称为发行版distribution(或简称 distro),以及,它与 Linux 内核有什么不同。你还会了解到为什么有些人坚称 Linux 为 GNU/Linux。

什么是 Linux 发行版?
​ Linux 发行版是一个由 Linux 内核、GNU 工具、附加软件和软件包管理器组成的操作系统,它也可能包括显示服务器和桌面环境,以用作常规的桌面操作系统。 ​

这个术语之所以是 “Linux 发行版”,是因为像 Debian、Ubuntu 这样的机构“发行”了 Linux 内核以及所有必要的软件及实用程序(如网络管理器、软件包管理器、桌面环境等),使其可以作为一个操作系统使用。

你的发行版还负责提供更新来维护其内核和其他实用程序。

所以,“Linux” 是内核,而 “Linux 发行版”是​ ​操作系统​​。这就是为什么它们有时也被称为基于 Linux 的操作系统的原因。

如果不是很理解以上所有的内容,不要担心。下面我将详细解释一下。

“Linux 只是一个内核,不是一个操作系统。”这是什么意思?
你可能看到到过这句话,这说的没错。​ ​内核是一个操作系统的核心​​,它接近于具体硬件。你使用应用程序和 shell 与它交互。

为了理解这一点,我就用我在《什么是 Linux 的详细指南》中曾用过的那个比喻。把操作系统看成车辆,把内核看成引擎。你不能直接驱动引擎。同样,你也不能直接使用内核。

一个 Linux 发行版可以看作是一个汽车制造商(比如丰田或福特)为你提供的现成的汽车,就像 Ubuntu 或 Fedora 发行版的发行商为你提供的一个基于 Linux 的现成操作系统一样。

什么是 GNU/Linux?
让我们再来看看这张图片。1991 年的时候,​ ​Linus Torvalds​​ 创造的只是其中的最内圈,即 Linux 内核。

要使用 Linux,即使是以最原始的形式,甚至没有 GUI,你也需要一个 shell。最常见的是 Bash shell。

然后,你需要在 shell 中运行一些命令来完成一些工作。你能记起一些基本的 Linux 命令吗?比如 ​​cat​​、​​cp​​、​​mv​​、​​grep​​、​​find​​、​​diff​​、​​gzip​​ 等等。

严格来说,这些所谓的“Linux 命令”并不是只属于 Linux。它们中的很多都来源于 UNIX 操作系统。

在 Linux 诞生之前,Richard Stallman 就已经在 1983 年创建了自由软件项目free software project中的第一个项目:GNU(GNU 是“GNU is Not Unix” 的递归缩写)。​ ​GNU 项目​​实现了许多流行的 Unix 实用程序,如 ​​cat​​、​​grep​​、​​awk​​、shell(​​bash​​),同时还开发了自己的编译器(GCC)和编辑器(Emacs)。

在 80 年代,​ ​UNIX 是专有软件​​,而且超级昂贵。这就是为什么 Linus Torvalds 开发了一个类似 UNIX 的新内核的原因。为了与 Linux 内核进行交互,Linus Torvalds 使用了 GNU 工具,这些工具在其 GPL 开源许可证下是免费的。

有了这些 GNU 工具,它的行为也像 UNIX 一样。这就是为什么 Linux 也被称为类 UNIX 操作系统的原因。

你无法想象没有 shell 和所有这些命令的 Linux。由于 Linux 与 GNU 工具集成得很深,几乎是完全依赖于 GNU 工具,所以纯粹主义者要求 GNU 应该得到应有的认可,这就是为什么他们坚称它为 GNU Linux(写成 GNU/Linux)。

总结
那么,该用哪个术语?Linux、GNU/Linux、Linux 发行版,基于 Linux 的操作系统还是类 UNIX 操作系统?这取决于你的上下文。我已经为你提供了足够的细节,让你对这些相关的术语有更好的理解。

我希望你喜欢这个 Linux 黑话解释系列,并能学习到新的东西。欢迎你的反馈和建议。

什么是 Linux 发行版?为什么它被称为“发行版”相关推荐

  1. MSDN版,MSDN/OEM/RTM/VLK版的区别

    们常常听说操作系统的MSDN版.OEM版.RTM版.VOL版等等,它们到底是什么意思,有什么不同呢? (一)MSDN (Microsoft Developer Network)版 MSDN软件是微软公 ...

  2. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

    1.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. linux发行版介绍 2.安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图. 安装Cent ...

  3. linux 4.4内核特性,Linux Kernel 4.4.19 LTS长期支持版发布

    原标题:Linux Kernel 4.4.19 LTS长期支持版发布 摘要:近日,内核开发者Greg Kroah-Hartman公布了长期支持的Linux 4.4 Kernel系列第19个维护版本的细 ...

  4. linux下虚拟安装cad,LeoCAD下载 LeoCAD(虚拟乐高模型创建工具) 32位/64位 Linux版 v18.01 官方英文安装版 下载-脚本之家...

    LeoCAD(虚拟乐高模型创建工具)是一款来自国外,用于创建虚拟乐高积木模型的CAD程序,用户使用它能够搭建任何想象中的事物,类似空中楼阁.会飞的汽车.酷炫的太空飞梭,只有想不到没有做不到,非常炫酷, ...

  5. 适用于 Linux 的 VMware Horizon Client 5.5 发行说明

    适用于 Linux 的 VMware Horizon Client 5.5 发行说明 Twitter FaceBook LinkedIn Weibo 添加到库 添加到库 RSS 纯文本 发送反馈 反馈 ...

  6. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  7. 理解Linux系统中的load average(图文版)转载

    理解Linux系统中的load average(图文版) 博客分类: Linux linux load nagios  一.什么是load average? linux系统中的Load对当前CPU工作 ...

  8. c linux下并行编程指南,Linux环境下C编程指南(第2版)

    摘要: <Linux环境下C编程指南(第2版)>系统地介绍在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者能够很快掌握在Linux平台下进行C程序开发的方法和技 ...

  9. 《Kali Linux高级渗透测试原书第2版》网络渗透测试技术书 无线网络渗透测试详解 黑客攻击与防范实战从入门到精通书

    内容简介: KaliLinux面向专业的渗透测试和审计,集成了大量挑选的检测工具.本书在KaliLinux平台上从一个攻击者的角度来审视网络框架,详细介绍了攻击者"杀链"采取的具体 ...

最新文章

  1. 二丶Linux安装xdd-plus教程及必备依赖的安装+青龙对接xdd
  2. 中国基础软件历史性突破!Gartner最新报告:阿里云进入全球数据库领导者象限
  3. 从基于Maven的Web应用程序获取版本字符串
  4. win7禁用Adnimistrator账号登录
  5. 50.本地VMware环境虚拟机的异地(Azure)容灾(上)
  6. 在SQL Server中配置索引创建内存设置的最佳实践
  7. C#6.0 十大常用特性
  8. 软件类配置(六)【ubuntu16.04安装opencv3.4.1】
  9. java软件测试方法有哪些方法有哪些方法_软件测试方法和软件测试规则
  10. Android API 级别
  11. mac启动rabbitmq_从0到1学习Flink—— Flink 读取 Kafka 数据写入到 RabbitMQ
  12. 中国塔吊行业投资规划分析及前景预测报告2022-2028年版
  13. 结构体定义 typedef struct LNode 用法说明
  14. 蓉叶云库——简单介绍seo技术
  15. 网页鼠标点击特效代码
  16. 洛谷P3537 [POI2012]SZA-Cloakroom(背包)
  17. 如何查看电脑上是否安装了MySQL
  18. 红色的反色是青色引申出PS怎么反色之教程
  19. 【Android -- 开源库】数据库 Realm 的基本使用
  20. PHP防止vip视频被下载

热门文章

  1. python爬虫api接口,网易云音乐python爬虫api接口
  2. bzoj 2959: 长跑(LCT+并查集)
  3. 发送到谷歌邮箱的邮件在哪找_如何让Google表格为您发送个性化电子邮件
  4. Android入门视频教程,抖音音视频开发
  5. 【大话云原生】煮饺子与docker、kubernetes之间的关系
  6. 思科设备三层交换配置路由实现互通
  7. mysql表分区数量限制_详解MySQL分区表的局限和限制的代码实例
  8. CDN内容分发网络(上)
  9. SSM开发相关安装教程(idea、tomcat、maven、DB)
  10. 动什么别动感情 第66节:你不是一个虚荣的女性