GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist es möglich, reines GNU auszuführen?

Das ausdrückliche Ziel des GNU-Projekts ist es, ein vollständiges Open Source/Libre/Free-Betriebssystem bereitzustellen.

Gibt es GNU-Distributionen, die nur diese Pakete verwenden – d. h. ein „reines“ GNU-Betriebssystem, das nur auf GNU-Paketen läuft?

Hier wird auf eine offiziell klingende GNU-Binärdistribution verwiesen, die auf Hurd basiert und "aus GNU Mach, Hurd, der C-Bibliothek und vielen Anwendungen besteht". Es kann jedoch derzeit gewartet werden oder nicht, da ich keine anderen Online-Referenzen darauf finden konnte. Aber es klingt, als würde es Ihren Kriterien entsprechen.

Mich interessiert nicht besonders, ob dies ein praktisches Betriebssystem wäre, nur wenn es theoretisch möglich wäre, 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 gebe zwei Definitionen:

  1. Eine Sammlung von Software, die ausreicht, um bis zu einem Shell-Prompt zu booten.

  2. Ein System, das die POSIX-Kriterien erfüllt. Dies ist im Wesentlichen eine strengere Version von Nr. 1, da die höchste Stufe obligatorisch ist Entität in einem POSIX-System wäre die Shell.

Dies ist ein wenig 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 es sich jedoch um eine spezifischere Frage nach der Art des „besonderen Zwecks“ handeln.

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

  • Kernel (Hurd)
  • C-Bibliothek (glibc)
  • Grundlegende Dienstprogramme (GNU-Kern-Dienstprogramme usw.)
  • Shell (bash, ein GNU-Projekt)

Ich habe keinen Bootloader eingebaut, da dieser nicht Teil des Betriebssystems ist -- aber auf jeden Fall grub ist auch ein GNU-Projekt.


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

Ja, Guix-System ist eine komplette Betriebssystem-Distribution, entwickelt vom GNU-Projekt es selbst! und ist (offensichtlich) von GNU als völlig freies Betriebssystem unterstützt.

Abgesehen von GNU Userland und GNU's GNOME Desktop Environment, das alle GNU/Linux-Distributionen haben, sind im Folgenden einige wichtige GNU-Features des Guix-Systems aufgeführt:

  • Kernel:Linux-Libre, Unterstützung für Hurd wird gearbeitet
  • Paketmanager:GNU Guix
  • Init-System:GNU Shepherd
  • API und Programmiersprache:GNU Guile

Werfen Sie einen Blick auf die GNU-Website. Sie pflegen dort eine Liste von GNU/Linux-Distributionen:

  • Kostenlose GNU/Linux-Distributionen

Diese führen immer noch den Linux-Kernel aus, könnten aber so angepasst werden, dass sie stattdessen 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:

  • GNU Hurd/ hurd/ running/ distrib

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


Linux
  1. Installieren Sie Grsync auf einem Debian 10 Linux-System

  2. Wie führe ich einen Befehl als Systemadministrator (root) aus?

  3. Ist es möglich, „unshare -n [Programm]“ als nicht privilegierter Benutzer auszuführen?

  4. Befehle nach Systeminaktivität planen?

  5. Ist es möglich, Ubuntu auf einem Nexus 7 auszuführen?

So machen Sie ein Linux-System schneller auf Intel-CPUs

So führen Sie .run- und .bin-Pakete im Linux-System aus

Alle Methoden zum Ausführen einer virtuellen Maschine auf einem Linux-System

Ist es möglich, LINQPad mit Mono (Mac) auszuführen?

Führen Sie einen Befehl aus, wenn das System im Leerlauf ist und wenn es wieder aktiv ist

Führen Sie die 64-Bit-App auf einem 32-Bit-Ubuntu-System aus