是否可以运行纯 GNU?

Vil*_*ray 25 linux gnu hurd

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

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

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

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

gol*_*cks 22

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

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

有一个参考这里根据赫德的官方冠冕堂皇的GNU二进制发行版,其中“由GNU马赫,赫德,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 项目。

  • @jordanm :我对此表示怀疑,因为基本安装可能包括例如 vixie cron,它是非 GNU 软件。这在我的论文中打了一个洞。POSIX tho,因为`crontab` 是必需的实用程序。 (6认同)
  • @goldilocks:在 Debian 中,`cron` 不是优先的`required` 或`essential`,所以你可以拥有一个没有它的 Debian 系统。 (3认同)

Pan*_*dya 9

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

是的,Guix System是一个完整的操作系统发行版,由 GNU 项目自行开发!并且(显然) 被 GNU认可为完全免费的操作系统。

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