是否可以运行纯 GNU?

是否可以运行纯 GNU?

GNU 项目网页,有一个小节叫做“所有 GNU 软件包”其中列出了 GNU 项目中的各种软件。

是否有任何 GNU 发行版使用仅有的这些软件包——即仅在 GNU 软件包上运行的“纯”GNU 操作系统?

我对这是否会是一个特别感兴趣实际的操作系统,只要理论上可以运行GNU赫德纯粹GNU 软件包。如果没有,还必须实施什么样的软件才能实现这一目标(即缺少什么)?

如果GNU赫德是限制因素,如果对内核进行例外处理,则纯GNU操作系统可以使用Linux核心?

答案1

GNU 项目的明确目标是提供一个完整的开源/自由/免费操作系统。

是否有任何仅使用这些软件包的 GNU 发行版——即仅在 GNU 软件包上运行的“纯”GNU 操作系统?

有一个参考这里一个基于 Hurd 的官方 GNU 二进制发行版,它“由 GNU Mach、Hurd、C 库和许多应用程序组成”。然而,它当前可能会也可能不会被维护,因为我找不到任何其他在线参考。但听起来确实符合你的标准。

我对这是否是一个实用的操作系统并不特别感兴趣,只要理论上可以用纯粹的 GNU 软件包运行 GNU Hurd 即可。

前一个问题的答案暗示着 WRT Hurd 的明显答案。当然,这可能有助于更准确地定义什么才算是一个相当完整的“操作系统”。我将提供两个定义:

  1. 足以启动到 shell 提示符的软件集合。

  2. 满足 POSIX 标准的系统。这本质上是 #1 的更严格版本,因为最高级别强制的POSIX 系统中的实体就是 shell。

这有点随意,因为设计用于实现某些特殊目的的操作系统可能根本不需要 shell。然而,在这种情况下,这将成为一个关于“特殊目的”性质的更具体的问题。

无论如何,答案是是的,尽管 GNU 对某些东西的实现可能不是 100% 完全符合 POSIX(并且有一些必需的实用程序,例如crontabGNU 不提供的)。以下是潜在的组件:

  • 内核(赫德)
  • C 库(glibc)
  • 基本实用程序(GNU core-utils 等)
  • Shell(bash,这是一个 GNU 项目)

我没有包含引导加载程序,因为它不是操作系统的一部分——但无论如何grub也是一个 GNU 项目。

答案2

如果 GNU Hurd 是限制因素,那么如果内核例外,那么使用 Linux 内核是否可以实现纯 GNU 操作系统?

是的,GUIX系统是一个完整的操作系统发行版,由 GNU 项目开发它自己!并且是(显然) 赞同的由 GNU 完全作为自由的操作系统。

除了GNU用户区GNU 的所有 GNU/Linux 发行版都有的 GNOME 桌面环境,以下是 Guix 系统的一些关键 GNUish 功能:

答案3

看看 GNU 网站。他们在那里维护一个 GNU/Linux 发行版列表:

它们仍然运行 Linux 内核,但可以调整为仅运行 GNU Hurd 内核。

还有这个链接,其中介绍了如何使用 Hurd 内核运行 Debian:

同一页面还包含一些其他发行版的链接,例如 Arch + Hurd。

相关内容