Unix、Linux、Ubuntu、Debian 和 Android 之间是什么关系?

Ire*_*311 65 linux unix debian operating-systems ubuntu

Unix、Linux、Ubuntu 和 Debian 之间是什么关系?

我怀疑它们都是基于彼此的操作系统 - 类似于 Windows 基于 DOS 的方式。我的怀疑是否正确?这些操作系统之间的关系是否与 Windows 与 DOS 的关系相同?它们与 DOS 或 Windows 有任何关系吗?

Rem*_*ich 75

您还需要了解一件事:GNU。

GNU 代表“GNU's Not Unix”,它试图创建一个自由、独立的 Unix 版本,由自由软件基金会开发。

他们走得很远,他们制作了一个 C 编译器、一个 C 库、一个链接器、编辑器、shell,你在典型的 Unix shell 中期望的所有命令,很多东西。但是内核(称为“Hurd”)还没有完成。内核之外的所有东西(作为用户拥有的进程运行)统称为“用户空间”。

当 Linus Torvalds 创建他的 Linux 内核时,他并没有创建用户空间。他只有一个内核,也不是一个完整的系统。结果证明可以编译他的内核并在 GNU 用户空间中使用它(这可能不是微不足道的,但我不在那里也不知道)。

人们通常称为“Linux”的操作系统实际上是作为具有 GNU 用户空间的 Linux 内核开始的,此后还添加了许多其他内容。因此,自由软件基金会一直坚持认为它应该被称为 GNU/Linux。

Debian 是 Linux 的“发行版”;他们做了所有艰苦的工作,编译了制作整个 Linux 系统所需的各种工具,编译它们并以软盘的形式提供下载。或CD,稍后。其他人也这样做了,例如 Slackware、Red Hat 等。

后来创建了许多其他发行版,通常不是从头开始,而是以现有发行版为起点,向其中添加额外的软件,或者以不同的方式组织它,或者其他任何。Ubuntu 以这种方式基于 Debian。

  • 他们确实有道理。曾几何时,我安装了一台“从头开始安装 Linux”的机器,获得运行系统所需的 90 个软件包中有 75 个来自 GNU。当然,我也从不说 GNU/Linux,但我认为有必要了解 GNU,以便将 Unix/Linux/Debian 等区分开来。 (20认同)
  • 在 FSF 之外,每当 Stallman 坚持使用 GNU/Linux 并继续只使用后者时,大多数人只是翻白眼。在某些方面,这并不公平;但这就是现实世界。 (19认同)
  • 将其称为 GNU/Linux 可能很有用,作为与 Android Linux(几乎没有 GNU 用户空间)区分开来的一种方式。 (13认同)
  • 与此同时,如今任何重要的发行版都将包含许多既不属于 GNU 也不属于 Linux 内核本身的东西。有没有人真的想把所有这些连成一个比在位君主的全称更不实用的名字? (4认同)
  • @Clearer 术语“开源”与术语“源”本身的含义一样多-在使用它的上下文中,它_确实_意味着您可以将源用于更多的检查。以这种方式争论语义本身毫无意义,因为我们可以无限地扩展它,并且所有语言都会崩溃。我们对您只能查看的源代码有一个单独的术语,它是“共享源”。这是一个较新的术语,因为直到最近才有意义。如果我们要争论语义,那么所有软件都必须是开源的,因为您可以阅读机器代码。 (2认同)
  • 人们,这个问题和我的回答都没有提到“开源”。我们不在这里讨论它。 (2认同)

Mat*_*ams 53

Unix 是 1969 年开始开发的操作系统。它最初被设计为一个开发者站而不是应用程序平台,但随着开发的进展和不同供应商的参与,Unix 被添加到其中。

Unix 最初是用汇编语言编写的,但后来发展成 C。

与其他内核相比,Linux 内核类似于 Unix。

Linux 是一个类 Unix 内核。它最初是由 Linus Torvalds 在 1990 年代开发的。自由软件运动在最初的软件版本中使用该内核来编译新的操作系统。内核负责管理系统资源并将它们分配给应用程序。

请注意,尽管它的许多版本都被称为“Linux”,但这是一个特定的方面,它与文本编辑器、编译器、调试器等组成操作系统,而不是操作系统本身。

Debian 是 1990 年代初发布的这种操作系统的一种形式,也是当今可用的众多 Linux 版本中最受欢迎的一种。

Ubuntu 是另一个操作系统,于 2004 年发布,基于 Debian 操作系统。它非常受欢迎,因为无需使用终端即可轻松学习。

  • Linux:内核(仍在积极开发中)
  • Debian:Ubuntu 的早期操作系统(仍在积极开发中)
  • Ubuntu:基于 Debian 的较新操作系统(仍在积极开发中)
  • Unix:Linux 内核松散地基于的旧操作系统

阅读:Linux 内核
阅读Debian
阅读Ubuntu
阅读:Unix

如果你真的有兴趣了解这一切背后的历史,我推荐一部名为 Revolution OS 的电影,它讲述了这场自由软件运动发展背后的许多历史。

  • Linux 也不是基于 Unix。Linux 中没有使用来自 Unix 的代码。Debian 不是“早期操作系统”,它与 Ubuntu 一样现代,并且仍在积极开发中。文本编辑器、编译器和调试器不是操作系统的一部分!它们是在其上运行的应用程序。哦,没有 Debian _Unix_ 这样的东西! (28认同)
  • @kostix 所以,呃,根据这个定义,[WoW](http://en.wikipedia.org/wiki/World_of_Warcraft) 在安装后成为 Windows 操作系统的一部分?我很确定这条线更接近 terdon 所描述的。 (9认同)
  • OS X 是通过 BSD 的直接 Unix 后代,它是真正的蓝色 Unix 操作系统(与不符合单一 UNIX 规范的 Linux 不同),它是从 NeXTStep 演变而来的,后者是从 BSD 演变而来的。Unix 的根实现只有两个:BSD 和 System V,它们都直接从 AT&T Unix 的原始代码下降。事实上,OS X 是一个注册的 Unix 变体(Apple 已经通过单一 Unix 规范对其进行了认证),因此他们在营销 OS X 时被允许使用商标“UNIX”。 (9认同)
  • Linux 并不是以一种有意义的方式“基于 Minix”,除了 Linus 在开始尝试自己是否可以制作类似的东西之前已经看过 Minix 源代码。Linux 中没有来自 Minix 的代码谱系。 (7认同)
  • @terdon | 我没有说在 Linux 中使用了任何来自 Unix 的代码。关键是它像 Unix。虽然我没有很好地传达这一点。我会相应地编辑。我的意思是 Debian 相对于 Ubuntu 来说很早。因为它有更早的发布日期。我非常清楚两者都仍处于非常活跃的发展阶段。我不知道您对 Debian Unix 的看法是什么。什么是 Debian Unix? (3认同)
  • 尽管从技术上/准确地说 Linux 仅表示内核,但即使此答案包含“Linux 内核”而不仅仅是“Linux”(链接在末尾)。指出 Linux 确实(并且,我会说,非常合理)是一个模棱两可的、对上下文非常敏感的术语会很有用,并且将一直如此。它可能意味着内核、GNU/Linux 操作系统系列(例如,不包括 Android)、任何使用 Linux 内核的操作系统,以及其他可能的东西。 (3认同)
  • 另一个小细节:Linux 开发始于 1991 年,而不是“到 80 年代”。另外我会提到术语“发行版”来描述 Debian 和 Ubuntu。 (2认同)
  • @terdon 我仍然同意 terdon 的观点;像基于 linux 的操作系统中的 vim/emacs 之类的东西与操作系统的联系并不像记事本与 Windows 那样紧密 (2认同)
  • 虽然没有 Debian Unix,但有使用 FreeBSD 内核的 D​​ebian GNU/kFreeBSD。FreeBSD 内核具有来自原始 BSD 的代码,这些代码也进入了 UNIX®。这与 Debian Unix 最接近! (2认同)

zwo*_*wol 17

Unix ”最初是 PDP-11 操作系统的名称,于 1970 年代在贝尔实验室开发。它的设计影响巨大,被复制和重新实现了数十次。

如今,“Unix”是整个操作系统家族的总称,其中一些但不是全部直接继承自原始操作系统;任何主要系统编程接口与POSIX.1 API 规范兼容的东西都可以合法地称为 Unix 的实现——而且有几十个。列出今天仍在广泛使用但不是 Unix 实现的操作系统更容易:

  • 视窗
  • IBM的z / OS和他们的亲属,因为这已经在不断发展1970年
  • 一些深度嵌入的东西,更像是运行时库而不是完整的操作系统

(还有一堆实验研究原型试图超越Unix 设计,但它们不符合“广泛使用”的条件,唉。)

Linux ”是Unix的一种实现的通用名称。它自 1990 年代以来一直存在,是当今最常用的五种实现之一——可能是 #1 或 #2,这取决于你如何计算这些东西。

Linux 的不寻常之处在于内核、C 库、编译器、基本的“shell”实用程序集等等都是由不同的人开发的;此外,大多数作品都有不止一种选择。有人必须挑选一组零件并将它们放在一起,并确保它们组合起来正常工作。某个人(现在通常是一群人)传统上被称为Linux的分发者,他们的输出是一个分发版DebianUbuntu是 Linux 的发行版;他们曾经非常密切相关,但后来分歧很大。

(技术上,Linux的名字专指内核,它会是一个有点怪异调用操作系统的Linux,如果你不使用的内核,但都是人们保持一切,换出的内核,比如Debian的kFreeBSD。)

(学究们的脚注:这篇文章中所有细微差别的掩饰都是 100% 有意的。)


Law*_*ceC 7

UNIX 和 Linux 与 DOS 或 Windows 无关。

DOS 是 70 年代末/ 80 年代初流行的 8 位 CP/M 操作系统的产物。

Windows NT(XP、Vista、7 和 8 所基于的)是微软从 1993 年开始开发的新系统,借鉴了 VAX VMS 的很多概念和想法。Windows NT 被开发为“真正的”现代、抢占式、多用户、多任务安全操作系统。

Windows 3.1、95、98 和 ME 几乎是 Microsoft 的多任务(不是多用户或安全)DOS 的想法/执行。

关于 UNIX、Linux 等:

  • UNIX 是一个内核/API/操作系统,自 70 年代以来就已经存在。

    • 内核为程序提供了一个运行平台,在 Unix 的情况下,它允许多个程序在一台计算机上运行,​​多个用户可以访问它。内核本身不运行任何程序,这些程序必须单独开发和提供。

    • API 是程序与内核对话的标准方式。它是内核的一部分。

    • 操作系统是内核加上常用的实用程序来管理和管理系统。对于UNIX应用程序的通用程序包括管理服务和登录(基本程序init),一个壳,让你输入命令(shbash),以及基本的文件管理命令,如cplsmv,等。

  • Linux 是一个在 GPL 下发布的类 UNIX 内核,它最初可以在 PC 硬件上运行,但现在几乎可以运行在任何带有 CPU 的东西上(如果您被允许运行它)。

    • GPL 是一个许可证,它规定任何修改/增强 Linux 并发布其修改的人都必须将这些修改提供给公众并允许其他人这样做。

    • Linux 实现了 UNIX API,因此如果重新编译 UNIX 程序,它们通常可以不加修改地运行(这比从头重写它们要容易得多)——因为它们使用 UNIX API,所以它们并不关心它们是真的在与 Linux 还是 UNIX 对话或者别的什么,只要 API 做同样的事情。

  • Debian 是一个 Linux 发行版。它始于 1993 年,是最古老的发行版之一。Linux 发行版通常提供:

    • 一个 Linux 内核,
    • 基本实用程序,
    • 一个安装程序,这样你就可以在你的系统上安装 Linux,
    • 包管理器(加上包的格式 - Debian 使用.deb
    • 软件包存储库

      因此,您可以安装分发版,启动并运行基本的 Linux 环境,然后在需要软件时使用软件包管理器从分发版存储库中调用软件包。它与 Windows 不同,Windows 传统上软件是通过 CD 分发的,而且版本和更新之间会流逝很多年。存储库中的软件通常会经常更新,包管理器负责下载和应用任何更新。

    • Debian 也严格只发布开源软件,这意味着需要专有软件才能运行的东西,如现代视频卡或 Wi-Fi 芯片组,在 Debian 上“开箱即用”将无法最佳(或根本无法)工作。

    • Debian 通常缓慢地创建新版本,并且对稳定性比对新功能更感兴趣。这使得 Debian 成为硬件相对静态且软件稳定性很重要的服务器的最爱。

  • Ubuntu 是 Debian 的“分支”

    • Debian 允许其他人使用其包管理工具基于它创建发行版。这样做被称为“分叉”。

    • 除了 Ubuntu 的特定品牌和外观之外,Ubuntu 还添加了额外的 Ubuntu 特定存储库,其中包含更多和更新的软件。Ubuntu 比 Debian 更“前沿”——从非技术或非 UNIX 专家的角度来看,它的创建是为了更加友好和有用。这完全是关于开箱即用的新功能和硬件。

    • 大多数在 Debian 上运行的软件都可以在 Ubuntu 上运行。反过来可能会有点问题,因为 Debian 的软件通常较旧。您可能会遇到一些需要更新才能运行 Ubuntu 内容的基本组件,但无法更新,因为 Debian 存储库中没有更新的版本。您可以手动更新这些,但这可能需要更新其他组件等。

    • 应该注意的是,如今 Debian 比以前更加友好并且了解现代硬件。


小智 6

Unix = 商业操作系统规范

Linux = 一个免费的 Unix 克隆(只有内核)

Debian = Linux 发行版(Linux + 其他东西)

Ubuntu = Debian 重新分发版(Debian 使最终用户更加友好)