Ist es möglich, reines GNU zu betreiben?

23

Auf der GNU-Projekt-Webseite gibt es einen Unterabschnitt namens " Alle GNU-Pakete ", in dem die verschiedenen Programme im GNU-Projekt aufgelistet sind.

Gibt es GNU-Distributionen, die nur diese Pakete verwenden - dh ein "reines" GNU-Betriebssystem, das nur auf GNU-Paketen läuft?

Ich bin nicht besonders interessiert , ob dies ein wäre praktisches Betriebssystem, nur wenn es theoretisch möglich ist , läuft GNU Hurd mit rein den GNU - Paketen . Wenn nicht, welche Software muss noch implementiert werden, um dieses Ziel zu erreichen (dh was fehlt)?

Wenn GNU Hurd der begrenzende Faktor ist, als wenn eine Ausnahme für den Kernel gemacht wird, wäre ein reines GNU-Betriebssystem unter Verwendung des Linux- Kernels möglich?

Vilhelm Gray
quelle
4
Da Sie ein Linux- (oder Hurd-) System starten können, das nur ausgeführt wird bash, ist dies in jedem Fall möglich.
Stéphane Chazelas
@StephaneChazelas Das sollte meine Frage beantworten, wenn es möglich ist. Ich frage mich, ob jemand eine solche Distribution als Proof of Concept eingerichtet hat.
Vilhelm Grey
3
Update: Es gibt ein GNU Guix- Betriebssystem, das von GNU Project entwickelt wurde!
Pandya
Natürlich hast du keine GUI, weil X kein GNU-Projekt ist
farhangfarhangfar
Ein wenig verwandt: Kann ich Ubuntu auf etwas anderem als dem Linux-Kernel ausführen?
G-Man sagt, dass Monica

Antworten:

20

Das explizite Ziel des GNU-Projekts ist die Bereitstellung eines vollständigen Open Source / libre / free-Betriebssystems.

Gibt es GNU-Distributionen, die nur diese Pakete verwenden - dh ein "reines" GNU-Betriebssystem, das nur auf GNU-Paketen läuft?

Es ist eine Referenz hier zu einer offiziellen klingenden GNU binäre Distribution basierte auf Hurd die „besteht aus GNU Macht, den Hurd, die C - Bibliothek und viele Anwendungen“. Möglicherweise wird es jedoch gerade gewartet oder nicht, da ich keine anderen Online-Verweise darauf gefunden habe. Aber es hört sich so an, als würde es Ihren Kriterien entsprechen.

Es interessiert mich nicht besonders, ob dies ein praktisches Betriebssystem ist, nur wenn es theoretisch möglich ist, GNU Hurd nur mit den GNU-Paketen auszuführen.

Die Antwort auf die vorherige Frage impliziert eine offensichtliche Antwort WRT Hurd. Natürlich könnte es hilfreich sein, genauer zu definieren, was als einigermaßen vollständiges "Betriebssystem" gelten würde. Ich werde zwei Definitionen bereitstellen:

  1. Eine Sammlung von Software, die ausreicht, um eine Shell-Eingabeaufforderung zu starten.

  2. Ein System, das POSIX-Kriterien erfüllt. Dies ist im Wesentlichen eine strengere Version von # 1, da die Shell die oberste obligatorische Entität in einem POSIX-System sein würde.

Dies ist etwas willkürlich, da ein Betriebssystem, das für einen bestimmten Zweck entwickelt wurde, möglicherweise überhaupt keine Shell benötigt. In diesem Fall würde sich jedoch die Frage nach der Art des "besonderen Zwecks" konkretisieren.

In jedem Fall lautet die Antwort " Ja" , obwohl die Implementierung einiger Dinge durch GNU möglicherweise nicht zu 100% POSIX-konform ist (und es eine Handvoll erforderlicher Dienstprogramme gibt, wie z. B. die crontab, die GNU nicht bereitstellt). Hier sind die möglichen Komponenten:

  • Kernel (Hurd)
  • C Bibliothek (glibc)
  • Grundlegende Dienstprogramme (GNU-Core-Utils usw.)
  • Shell (Bash, ein GNU-Projekt)

Einen Bootloader habe ich nicht mitgeliefert, da dieser nicht zum Betriebssystem gehört - aber auf jeden Fall grubauch ein GNU-Projekt.

Goldlöckchen
quelle
1
Debian Hurd erfüllt auch die Kriterien.
Jordan
5
@jordanm: Ich bezweifle es, da die Basisinstallation wahrscheinlich z. B. vixie cron enthält, eine Nicht-GNU-Software. Dies stanzt ein kleines Loch in meine These bezüglich. POSIX crontabist jedoch ein erforderliches Dienstprogramm.
Goldlöckchen
2
@goldilocks: In Debian hat crones keine Priorität requiredoder essential, so dass Sie ein Debian-System ohne dieses haben können.
Jordan
7

Guix SD , eine der von GNU unterstützten Distributionen , wurde vom GNU-Projekt selbst entwickelt! Es kommt mit GNU Guix-Paket-Manager. Es verwendet zwar den Linux-Libre-Kernel, unterstützt jedoch auch die Arbeit mit GNU Hurd. Es benutzt das GNU Shepherd Init System.

Die Guix System Distribution (GuixSD) ist eine erweiterte Distribution des GNU-Betriebssystems, das vom GNU-Projekt entwickelt wurde und die Freiheit der Computerbenutzer respektiert.

GuixSD ist eine Distribution des GNU-Betriebssystems, die sich auf den GNU Guix-Paketmanager konzentriert. Es wird der Linux-libre-Kernel verwendet und an der Unterstützung für den Hurd wird gearbeitet. Als GNU-Distribution verpflichtet es sich, die Freiheit seiner Benutzer zu respektieren und zu verbessern. Als solches befolgt es die GNU Free System Distribution Guidelines.

Hinweis: Es befindet sich noch in der Beta und ist noch keine reine GNU.

Pandya
quelle
3

Werfen Sie einen Blick auf die GNU-Website. Sie führen dort eine Liste der GNU / Linux-Distributionen:

Auf diesen wird immer noch der Linux-Kernel ausgeführt, sie können jedoch so angepasst werden, dass sie nur mit dem GNU Hurd-Kernel ausgeführt werden.

Außerdem gibt es diesen Link, der beschreibt, wie man beispielsweise Debian mit dem Hurd-Kernel ausführt:

Diese Seite enthält auch Links zu einigen anderen Distributionen wie Arch + Hurd.

slm
quelle
Es tut mir leid, meine Frage ist wahrscheinlich etwas irreführend. Ich bin gespannt, ob es theoretisch möglich ist, ein Betriebssystem ausschließlich auf GNU-Paketen (dh ohne X11 usw.) auszuführen.
Vilhelm Grey
2
Das sind alles Linux-basierte. Es sind Distributionen, die der GNU-Philosophie über freie Software entsprechen, nicht unbedingt Distributionen, die nur GNU-Software verwenden.
Goldlöckchen
Schauen Sie sich die andere Antwort an. Um Ihre Frage zu beantworten: Ja, Sie können ein ganzes Betriebssystem nur mit GNU ausführen.
SLM
@goldilocks - danke für die Klarstellung.
SLM