Nächste: Auf eine neue Plattform portieren, Vorige: Sicherheitsaktualisierungen, Nach oben: GNU Guix [Inhalt][Index]
Wenn wir von Bootstrapping sprechen, meinen wir damit, wie die Distribution „aus dem Nichts“ erstellt werden kann. Erinnern Sie sich, wie die Erstellungsumgebung für eine Ableitung nichts außer ihren deklarierten Eingaben enthält (siehe Einführung)? Daraus ergibt sich ein Henne-Ei-Problem: Wie kann so das allererste Paket entstehen? Womit wird der Compiler kompiliert?
Man könnte auf die Idee kommen, diese Frage sei nur für eingefleischte Hacker interessant. Doch auch wenn die Antwort darauf technischer Natur ist, hat sie weitreichende Implikationen. Vom Bootstrapping der Distribution hängt ab, wie sehr wir, als Individuen und als Kollektiv aus Nutzern und Hackern, der Software vertrauen können, die wir verwenden. Es ist ein zentrales Anliegen vom Standpunkt der Informationssicherheit, aber auch im Hinblick auf die Freiheit der Benutzer.
Das GNU-System besteht in erster Linie aus C-Code, dessen Kern die libc
ist. Das GNU-Erstellungssystem selbst setzt voraus, dass eine Bourne-Shell
und die Kommandozeilenwerkzeuge der GNU-Coreutils, Awk, Findutils, „sed“ und
„grep“ verfügbar sind. Des Weiteren sind Programme für die Erstellung –
also Programme, die ./configure
, make
, etc. ausführen –
in Guile Scheme geschrieben (siehe Ableitungen). Folglich ist es
erforderlich, dass, damit überhaupt irgendetwas erstellt werden kann, Guix
vorerstellte Binärdateien von Guile, GCC, Binutils, libc und den anderen
oben genannten Paketen verwendet. Diese bezeichnen wir als die
Bootstrap-Binärdateien.
Diese Bootstrap-Binärdateien werden als „gegeben“ angenommen, obwohl wir sie auch neu erzeugen können, falls nötig (siehe Vorbereitung zur Verwendung der Bootstrap-Binärdateien).
Nächste: Auf eine neue Plattform portieren, Vorige: Sicherheitsaktualisierungen, Nach oben: GNU Guix [Inhalt][Index]