Nächste: guix time-machine
aufrufen, Vorige: guix gc
aufrufen, Nach oben: Paketverwaltung [Inhalt][Index]
guix pull
aufrufenNach der Installation oder Aktualisierung wird stets die neueste Version von
Paketen verwendet, die in der aktuell installierten Distribution verfügbar
ist. Um die Distribution und die Guix-Werkzeuge zu aktualisieren, führen Sie
guix pull
aus. Der Befehl lädt den neuesten Guix-Quellcode
einschließlich Paketbeschreibungen herunter und installiert ihn. Quellcode
wird aus einem Git-Repository geladen,
standardmäßig dem offiziellen Repository von GNU Guix, was Sie aber
auch ändern können. guix pull
stellt sicher, dass der
heruntergeladene Code authentisch ist, indem es überprüft, dass die
Commits durch Guix-Entwickler signiert worden sind.
Genauer gesagt lädt guix pull
Code von den Kanälen herunter
(siehe Kanäle), die an einer der folgenden Stellen, in dieser
Reihenfolge, angegeben wurden:
channels
von
guix-configuration
),
%default-channels
festgelegt sind.
Danach wird guix package
Pakete und ihre Versionen entsprechend
der gerade heruntergeladenen Kopie von Guix benutzen. Nicht nur das, auch
alle Guix-Befehle und Scheme-Module werden aus der neuesten Version von Guix
kommen. Neue guix
-Unterbefehle, die durch die Aktualisierung
hinzugekommen sind, werden also auch verfügbar.
Jeder Nutzer kann seine Kopie von Guix mittels guix pull
aktualisieren, wodurch sich nur für den Nutzer etwas verändert, der
guix pull
ausgeführt hat. Wenn also zum Beispiel der
Administratornutzer root
den Befehl guix pull
ausführt, hat
das keine Auswirkungen auf die für den Benutzer alice
sichtbare
Guix-Version, und umgekehrt.
Das Ergebnis von guix pull
ist ein als
~/.config/guix/current verfügbares Profil mit dem neuesten
Guix.
Die Befehlszeilenoption --list-generations oder kurz -l
listet ältere von guix pull
erzeugte Generationen auf, zusammen
mit Informationen zu deren Provenienz.
$ guix pull -l Generation 1 10. Juni 2018 00:18:18 guix 65956ad Repository-URL: https://git.savannah.gnu.org/git/guix.git Branch: origin/master Commit: 65956ad3526ba09e1f7a40722c96c6ef7c0936fe Generation 2 11. Juni 2018 11:02:49 guix e0cc7f6 Repository-URL: https://git.savannah.gnu.org/git/guix.git Branch: origin/master Commit: e0cc7f669bec22c37481dd03a7941c7d11a64f1d Generation 3 13. Juni 2018 23:31:07 (aktuell) guix 844cc1c Repository-URL: https://git.savannah.gnu.org/git/guix.git Branch: origin/master Commit: 844cc1c8f394f03b404c5bb3aee086922373490c
Im Abschnitt guix describe
werden
andere Möglichkeiten erklärt, sich den momentanen Zustand von Guix
beschreiben zu lassen.
Das Profil ~/.config/guix/current
verhält sich genau wie die durch
guix package
erzeugten Profile (siehe guix package
aufrufen). Das bedeutet, Sie können seine Generationen auflisten und es auf
die vorherige Generation – also das vorherige Guix – zurücksetzen
und so weiter:
$ guix pull --roll-back Von Generation „3“ zu „2“ gewechselt $ guix pull --delete-generations=1 /var/guix/profiles/per-user/charlie/current-guix-1-link wird gelöscht
Sie können auch guix package
benutzen (siehe guix package
aufrufen), um das Profil zu verwalten, indem Sie es explizit angeben.:
$ guix package -p ~/.config/guix/current --roll-back switched from generation 3 to 2 $ guix package -p ~/.config/guix/current --delete-generations=1 deleting /var/guix/profiles/per-user/charlie/current-guix-1-link
Der Befehl guix pull
wird in der Regel ohne Befehlszeilenargumente
aufgerufen, aber er versteht auch folgende Befehlszeilenoptionen:
--url=URL
--commit=Commit
--branch=Branch
Code wird für den guix
-Kanal von der angegebenen URL für den
angegebenen Commit (eine gültige Commit-ID, dargestellt als
hexadezimale Zeichenkette oder Namen eines Git-Tags) oder Branch
heruntergeladen.
Diese Befehlszeilenoptionen sind manchmal bequemer, aber Sie können Ihre Konfiguration auch in der Datei ~/.config/guix/channels.scm oder über die Option --channels angeben (siehe unten).
--channels=Datei
-C Datei
Die Liste der Kanäle aus der angegebenen Datei statt aus ~/.config/guix/channels.scm oder aus /etc/guix/channels.scm auslesen. Die Datei muss Scheme-Code enthalten, der zu einer Liste von Kanalobjekten ausgewertet wird. Siehe Kanäle für nähere Informationen.
--no-channel-files
-q
Unterdrückt das Laden der Kanaldatei des Benutzers ~/.config/guix/channels.scm und der systemweiten Kanaldatei /etc/guix/channels.scm.
--news
-N
Neuigkeiten anzeigen, die Kanalautoren für ihre Nutzer geschrieben haben, um sie über Veränderungen seit der vorigen Generation in Kenntnis zu setzen (siehe Kanalneuigkeiten verfassen). Wenn Sie --details übergeben, werden auch neue und aktualisierte Pakete gezeigt.
Sie können sich mit guix pull -l
diese Informationen für vorherige
Generationen ansehen.
--list-generations[=Muster]
-l [Muster]
Alle Generationen von ~/.config/guix/current bzw., wenn ein
Muster angegeben wird, die dazu passenden Generationen auflisten. Die
Syntax für das Muster ist dieselbe wie bei guix package
--list-generations
(siehe guix package
aufrufen).
Nach Voreinstellung werden Informationen über die benutzten Kanäle in der jeweiligen Version sowie die zugehörigen Neuigkeiten ausgegeben. Wenn Sie --details übergeben, wird außerdem die Liste der neu hinzugefügten oder aktualisierten Pakete in jeder Generation verglichen mit der vorigen angezeigt.
--details
Bei --list-generations oder --news wird Guix angewiesen, mehr Informationen über die Unterschiede zwischen aufeinanderfolgenden Generationen anzuzeigen – siehe oben.
--roll-back
¶Zur vorherigen Generation von ~/.config/guix/current zurückwechseln – d.h. die letzte Transaktion rückgängig machen.
--switch-generation=Muster
¶-S Muster
Wechselt zu der bestimmten Generation, die durch das Muster bezeichnet wird.
Als Muster kann entweder die Nummer einer Generation oder eine Nummer mit vorangestelltem „+“ oder „-“ dienen. Letzteres springt die angegebene Anzahl an Generationen vor oder zurück. Zum Beispiel kehrt --switch-generation=+1 nach einem Zurücksetzen wieder zur neueren Generation zurück.
--delete-generations[=Muster]
-d [Muster]
Wird kein Muster angegeben, werden alle Generationen außer der aktuellen entfernt.
Dieser Befehl akzeptiert dieselben Muster wie --list-generations. Wenn ein Muster angegeben wird, werden die passenden Generationen gelöscht. Wenn das Muster für eine Zeitdauer steht, werden diejenigen Generationen gelöscht, die älter als die angegebene Dauer sind. Zum Beispiel löscht --delete-generations=1m die Generationen, die mehr als einen Monat alt sind.
Falls die aktuelle Generation zum Muster passt, wird sie nicht gelöscht.
Beachten Sie, dass Sie auf gelöschte Generationen nicht zurückwechseln können. Dieser Befehl sollte also nur mit Vorsicht benutzt werden.
Im Abschnitt guix describe
wird eine
Möglichkeit erklärt, sich Informationen nur über die aktuelle Generation
anzeigen zu lassen.
--profile=Profil
-p Profil
Auf Profil anstelle von ~/.config/guix/current arbeiten.
--dry-run
-n
Anzeigen, welche(r) Commit(s) für die Kanäle benutzt würde(n) und was jeweils erstellt oder substituiert würde, ohne es tatsächlich durchzuführen.
--allow-downgrades
Beziehen einer älteren oder mit der bisheriger Version eines Kanals nicht zusammenhängenden Version zulassen.
Nach Voreinstellung schützt guix pull
den Nutzer vor
Herabstufungsangriffen („Downgrade Attacks“). Damit werden Versuche
bezeichnet, jemanden eine frühere oder unzusammenhängende Version des
Git-Repositorys eines Kanals benutzen zu lassen, wodurch diese Person dazu
gebracht werden kann, ältere Versionen von Softwarepaketen mit bekannten
Schwachstellen zu installieren.
Anmerkung: Sie sollten verstehen, was es für die Sicherheit Ihres Rechners bedeutet, ehe Sie --allow-downgrades benutzen.
--disable-authentication
Beziehen von Kanalcode ohne Authentifizierung zulassen.
Nach Voreinstellung wird durch guix pull
von Kanälen
heruntergeladener Code darauf überprüft, dass deren Commits durch
autorisierte Entwickler signiert worden sind; andernfalls wird ein Fehler
gemeldet. Mit dieser Befehlszeilenoption können Sie anweisen, keine solche
Verifikation durchzuführen.
Anmerkung: Sie sollten verstehen, was es für die Sicherheit Ihres Rechners bedeutet, ehe Sie --disable-authentication benutzen.
--system=System
-s System
Versuchen, für die angegebene Art von System geeignete Binärdateien zu
erstellen – z.B. i686-linux
– statt für die Art von
System, das die Erstellung durchführt.
--bootstrap
Das neueste Guix mit dem Bootstrap-Guile erstellen. Diese Befehlszeilenoption ist nur für Guix-Entwickler von Nutzen.
Mit Hilfe von Kanälen können Sie guix pull
anweisen, von
welchem Repository und welchem Branch Guix aktualisiert werden soll, sowie
von welchen weiteren Repositorys Paketmodule bezogen werden
sollen. Im Abschnitt Kanäle finden Sie nähere Informationen.
Außerdem unterstützt guix pull
alle gemeinsamen
Erstellungsoptionen (siehe Gemeinsame Erstellungsoptionen).
Nächste: guix time-machine
aufrufen, Vorige: guix gc
aufrufen, Nach oben: Paketverwaltung [Inhalt][Index]