Nächste: Reproduzierbare Profile, Vorige: Vorgabeprofil, Nach oben: Guix-Profile in der Praxis [Inhalt][Index]
Manifeste sind eine bequeme Art, Ihre Paketlisten zur Hand zu haben und diese z.B. über mehrere Maschinen hinweg in einem Versionskontrollsystem zu synchronisieren.
Eine oft gehörte Beschwerde über Manifeste ist, dass es lange dauert, sie zu installieren, wenn sie viele Pakete enthalten. Das ist besonders hinderlich, wenn Sie nur ein einziges Paket in ein großes Manifest installieren möchten.
Das ist ein weiteres Argument dafür, mehrere Profile zu benutzen, denn es stellt sich heraus, dass dieses Vorgehen perfekt für das Aufbrechen von Manifesten in mehrere Mengen semantisch verbundener Pakete geeignet ist. Mit mehreren, kleinen Profilen haben Sie mehr Flexibilität und Benutzerfreundlichkeit.
Manifeste haben mehrere Vorteile. Insbesondere erleichtern sie die Wartung.
guix package --upgrade
wird immer versucht, die Pakete zu
aktualisieren, die propagierte Eingaben haben, selbst wenn es nichts zu tun
gibt. Mit Guix-Manifesten fällt dieses Problem weg.
guix install
, guix upgrade
, etc. das nicht
tun, weil sie jedes Mal ein anderes Profil ergeben, obwohl sie dieselben
Pakete enthalten. Siehe die dieses Thema betreffende Diskussion.
guix weather -m manifest.scm
ausführen, um zu sehen, wie viele Substitute verfügbar sind, was Ihnen bei
der Entscheidung helfen kann, ob Sie heute schon eine Aktualisierung
durchführen oder lieber noch eine Weile warten möchten. Ein anderes
Beispiel: Sie können mit guix pack -m manifest.scm
ein Bündel
erzeugen, das alle Pakete im Manifest enthält (mitsamt derer transitiven
Referenzen).
Es ist wichtig, dass Sie verstehen, dass Manifeste zwar benutzt werden können, um Profile zu deklarieren, sie aber nicht ganz dasselbe wie Profile sind: Profile haben Nebenwirkungen. Sie setzen Pakete im Store fest, so dass sie nicht vom Müllsammler geholt werden (siehe Aufruf von guix gc in Referenzhandbuch zu GNU Guix) und stellen sicher, dass sie auch in Zukunft jederzeit verfügbar sein werden.
Schauen wir uns ein Beispiel an:
guix environment -m manifest.scm
aus. So weit so
gut.
guix pull
laufen lassen. Vielleicht wurde eine Abhängigkeit aus
unserem Manifest aktualisiert oder wir könnten guix gc
ausgeführt
haben, so dass manche Pakete, die von unserem Manifest gebraucht würden, vom
Müllsammler geholt worden sind.
guix shell -m manifest.scm
aus. Aber jetzt müssen wir warten, bis
Guix lauter Dinge erstellt und installiert hat!
Ideal wäre es, wenn wir uns die Zeit für die Neuerstellung sparen
könnten. Und das können wir auch: Alles, was wir brauchen, ist, das Manifest
in ein Profil zu installieren und GUIX_PROFILE=/das/profil;
. "$GUIX_PROFILE"/etc/profile
aufzurufen, wie oben erklärt. Dadurch haben
wir die Garantie, dass unsere Hacking-Umgebung jederzeit zur Verfügung
steht.
Sicherheitswarnung: Obwohl es angenehm sein kann, alte Profile zu behalten, sollten Sie daran denken, dass veraltete Pakete nicht über die neuesten Sicherheitsbehebungen verfügen.
Nächste: Reproduzierbare Profile, Vorige: Vorgabeprofil, Nach oben: Guix-Profile in der Praxis [Inhalt][Index]