Scroll to navigation

SYSTEMD-SYSUPDATE(8) systemd-sysupdate SYSTEMD-SYSUPDATE(8)

BEZEICHNUNG

systemd-sysupdate, systemd-sysupdate-update.service, systemd-sysupdate-update.timer, systemd-sysupdate-reboot.service, systemd-sysupdate-reboot.timer, systemd-sysupdate-auto-enable.service, systemd-sysupdate.service, systemd-sysupdate.timer - Das Betriebssystem oder andere Ressourcen automatisch aktualisieren

ÜBERSICHT

systemd-sysupdate [OPTIONEN…]

systemd-sysupdate-update.service

EXPERIMENTELL

Diese Komponente ist experimentell und kann sich jederzeit ohne Vorankündigung ändern. Sie wird in einer zukünftigen Veröffentlichung stabilisiert und mit einer rückwärtskompatiblen Garantie versehen, sie könnte aber auch entfernt werden.

BESCHREIBUNG

systemd-sysupdate aktualisiert atomar das Betriebssystem, Container-Abbilder, portable Diensteabbilder oder andere Quellen, basierend auf den in sysupdate.d(5) beschriebenen Übertragungskonfigurationsdateien.

Dieses Werkzeug implementiert datei-, verzeichnis- oder partitionsbasierte Aktualisierungsschemata, unterstützt mehrere parallel installierte Versionen bestimmter Ressourcen in einer A/B- (oder sogar A/B/C-, A/B/C/DE- …) Art. A/B-Aktualisierung bedeutet, dass bei der aktuellen Verwendung einer Ressource die nächste an einen komplett anderen Ort heruntergeladen, entpackt und vorbereitet werden kann, unabhängig von der ersten und – sobald abgeschlossen – diese aktiviert werden kann. Dabei werden die Rollen vertauscht, so dass die Neue die verwandte Ressource wird und die bisher eingesetzte diejenige wird, die bei der nächsten Aktualisierung ersetzt werden wird und so weiter. Die zu aktualisierenden Ressourcen werden in Übertragungsdateien definiert, eine für jede zu aktualisierende Ressource. Ressourcen, die mit diesem Werkzeug aktualisiert werden können, sind beispielsweise eine Wurzeldateisystempartition, eine zugehörige Verity-Partition sowie ein Kernelabbild. Die Kombination dieser drei kann als komplette Betriebssystemaktualisierung betrachtet werden.

Das Werkzeug aktualisiert Partitionen, Dateien oder Verzeichnisbäume immer als Ganzes und agiert mit mindestens zwei Versionen jeder Ressource: der aktuellen Version sowie der nächsten Version: diejenige, auf die aktualisiert wird und die anfänglich unvollständig ist, während die heruntergeladenen Daten geschrieben werden; sowie optional weiteren Versionen. Sobald das Herunterladen einer neueren Version abgeschlossen ist, wird diese die aktuelle Version und gibt die Version, die bisher als aktuelle Version betrachtet wurde, zum Löschen/Ersetzen/Aktualisieren frei.

Beim Installieren neuer Versionen wird dieses Werkzeug die neue Version herunterladen, entkomprimieren und entpacken und direkt in das Ziel schreiben. Dies erfolgt auf eine robuste Art, so dass ein unvollständiges Herunterladen beim nächsten Aufruf erkannt wird und die Reste beseitigt werden, bevor ein neuer Versuch eingeleitet wird.

Beachten Sie, dass beim Schreiben von Aktualisierungen in eine Partition diese bereits existieren muss, da systemd-sysupdate nicht automatisch Partitionen erstellen wird. Verwenden Sie Werkzeuge wie systemd-repart(8), um automatisch zusätzliche Partitionen beim Systemstart für die Verwendung mit systemd-sysupdate zu erstellen.

Dieses Werkzeug kann sowohl auf dem laufenden Betriebssystem verwandt werden, um das Betriebssystem »im Betriebszustand« aus sich selbst zu aktualisieren und bei »nicht aktiven« Plattenabbildern, um diese von außerhalb, basierend auf der Übertragung von Dateien, die in diese Abbilder eingebettet sind, zu aktualisieren. Für Letzteres siehe die nachfolgende Beschreibung von --image=. Letzteres ist insbesondere für die Aktualisierung von Container-Abbildern oder portierbaren Diensteabildern interessant.

Der Systemdienst systemd-sysupdate-update.service wird das Betriebssystem automatisch basierend auf den installierten Übertragungsdateien aktualisieren. Er wird regelmäßig über systemd-sysupdate-update.timer ausgelöst. systemd-sysupdate-reboot.service wird das System automatisch nach der Installation einer neuen Version neu starten. Der Systemneustart wird mittels systemd-sysupdate-reboot.timer ausgelöst. Die zwei Dienste sind voneinander getrennt, da es typischerweise ratsam ist, Aktualisierungen regelmäßig während des Betriebs herunterzuladen, aber Neustarts bis zu einem geeigneten Zeitpunkt zu verzögern (d.h. typischerweise nachts). Die zwei Dienste-/Timer-Unit-Gruppen können separat aktiviert werden.

Der Systemdienst systemd-sysupdate-auto-enable.service aktiviert automatisch alle vorgeschlagenen Komponenten und alle vorgeschlagenen Funktionalitäten aller Komponenten vor jeder Aktualisierung. Es wird vor systemd-sysupdate-update.service einsortiert und von diesem hereingezogen und wird standardmäßig nicht aktiviert. Aktivieren Sie dies, falls frisch vorgeschlagene Komponenten und Funktionalitäten automatisch aufgenommen werden sollen, wenn sie verfügbar werden, anstatt manuelle Aufrufe mit enable-component/enable-feature zu benötigen.

Für Details über Übertragungsdateien und Beispiele siehe sysupdate.d(5).

BEFEHL

Die folgenden Befehle werden verstanden:

list [VERSION]

Beim Aufruf ohne Argumente werden die herunterladbaren und installierbaren Versionen aufgezählt und eine zusammenfassende Tabelle mit den erkannten Versionen und ihren Eigenschaften dargestellt. Dazu gehört, ob es neuere Kandidatenversionen gibt, auf die aktualisiert werden kann. Falls ein Versionsargument angegeben ist, werden Details über die bestimmte Version angezeigt, einschließlich der einzelnen Dateien, die übertragen werden müssen, um die neue Version zu erlangen.

Falls kein Befehl explizit angegeben ist, wird dieser Befehl impliziert.

Hinzugefügt in Version 251.

features [FUNKTIONALITÄT]

Beim Aufruf ohne Argumente werden die optionale Funktionalitäten aufgezählt und eine zusammenfassende Tabelle angezeigt, die auch angibt, welche Funktionalitäten (de)aktiviert sind. Falls ein Funktionalitätsargument angegeben ist, werden Details über die bestimmte Funktionalität angezeigt, einschließlich der Übertragungen, die von dieser Funktionalität gesteuert werden.

Hinzugefügt in Version 257.

enable-feature FUNKTIONALITÄT…, disable-feature FUNKTIONALITÄT…

Aktiviert oder deaktiviert die angegebene optionale Funktionalität. Dies schreibt eine Einstellung Enabled= in eine Ergänzungsdatei neben die Funktionalitätsdefinition, lesen Sie sysupdate.features(5) zu Details. Die Funktionalitäten können entweder als Argumente angegeben oder mittels der Schalter --feature-all oder --feature-suggested ausgewählt werden. Beachten Sie, dass dies nur die Konfiguration ändert: um die frisch aktivierten Übertragungen tatsächlich herunterzuladen oder die deaktivierten zu entferenn, führen Sie anschließend update oder vacuum aus.

Hinzugefügt in Version 262.

check-new

Prüft, ob eine neue Version verfügbar ist. Dies zählt intern die herunterladbaren und installierten Versionen auf und liefert einen Exit-Status von 0, falls es eine neue Version gibt, auf die aktualisiert werden kann, und ansonsten einen von Null verschiedenen Wert. Falls es eine neue Version gibt, auf die aktualisiert werden kann, dann wird deren Versionskennzeichnung auf die Standardausgabe geschrieben.

Hinzugefügt in Version 251.

update [--offline] [VERSION]

Installiert (aktualisiert auf) die angegebene Version oder die neuste Version, falls keine Version angegeben ist. Falls die Version bereits installiert ist oder es keine neuere Version gibt, erfolgt keine Aktion.

Falls --offline angegeben ist, muss die Aktualisierung bereits mittels acquire erlangt worden sein und auf diese so bereits erlangte Version wird dann aktualisiert.

Hinzugefügt in Version 251.

acquire [VERSION]

Erlangt (lädt herunter) die angegebene Version, bereit zur Installation. Falls keine Version angegeben ist, wird die neuste verfügbare Version erlangt. Falls die Version bereits installiert ist oder es keine neuere Version gibt, erfolgt keine Aktion.

Falls eine neue zu installierende/darauf zu aktualisierende Version gefunden wird, werden alte Versionen gelöscht, bis mindestens eine neue Version installiert werden kann. Dies wird mittels InstanceMax= in sysupdate.d(5) oder über die verfügbaren Partitionsplätze vom richtigen Typ konfiguriert. Diese implizite Aktion kann auch explizit über den nachfolgend beschriebenen Befehl vacuum aufgerufen werden.

Hinzugefügt in Version 260.

vacuum

Löscht alte installierte Versionen, bis die mittels InstanceMax= in sysupdate.d(5) konfigurierten Beschränkungen wieder eingehalten werden. Normalerweise sollte es nicht notwendig sein, diesen Befehl explizit aufzurufen, da er implizit aufgerufen wird, wenn eine neue Aktualisierung eingeleitet wird.

Hinzugefügt in Version 251.

pending

Prüft, ob eine neuere Version des Betriebssystems als die aktuell laufende installiert ist. Liefert Null zurück, falls dem so ist und ansonsten einen anderen Wert. Dies vergleicht die Versionskennzeichnung der neusten installierten Version mit der Version des Betriebssystemabbildes, wie es vom Feld IMAGE_VERSION= in /etc/os-release berichtet wird. Falls erstere neuerer als letztere ist, wurde anscheinend eine Aktualisierung abgeschlossen, aber noch nicht aktiviert (d.h. kein Systemneustart hinein durchgeführt).

Hinzugefügt in Version 251.

reboot

Ähnlich wie der Befehl pending, startet aber das System sofort neu, falls eine neuere Version des Betriebssystems installiert wurde, als aktuell läuft. Diese Aktion kann implizit zusammen mit dem Befehl update erfolgen, nach einer abgeschlossenen Aktualisierung mittels des Schalters --reboot, siehe unten. Dieser Befehl wird keine Aktion durchführen (und Erfolg zurückliefern), falls keine Aktualisierung installiert wurde und daher das System nicht neugestartet wurde.

Hinzugefügt in Version 251.

components

Führt zu aktualisierende Komponenten auf. Dies zählt die Verzeichnisse /etc/sysupdate.*.d/, /run/sysupdate.*.d/ und /usr/lib/sysupdate.*.d/ auf, die Übertragungsdateien enthalten. Dieser Befehl ist zum Auflisten möglicher Parameter für --component= nützlich (siehe unten).

Hinzugefügt in Version 251.

enable-component KOMPONENTE…, disable-component KOMPONENTE…

Aktiviert oder deaktiviert die angegebenen Komponenten. Dies schreibt eine Einstellung Enabled= in eine Ergänzungsdatei neben die Komponentendefinition. Die Komponenten können entweder als Argumente angegeben oder mittels der Schalter --component-all oder --component-suggested ausgewählt werden.

Hinzugefügt in Version 262.

cleanup

Entfernt verwaiste Dateien, die früher von einer Übertragung installiert wurden, aber keiner aktuell definierten Übertragungsdatei mehr gehören. Immer wenn eine Ressource im Dateisystem installiert ist, zeichnet systemd-sysupdate das Zielverzeichnis und das passende Muster in einer Installationsdatebank unterhalb von /var/lib/systemd/sysupdate/ auf. Dieser Befehl läuft durch diese Datensätze, bestimmt, auf welche Dateien sie passen und löscht solche, die nicht mehr von irgendwelchen Mustern von vorhandenen Übertragungsdateien abgedeckt sind. Dies ist als Müllabfuhr für solche Dateien nützlich, die einmal einer Übertragungsdatei gehört haben, die seitdem verändert, deaktiviert oder insgesamt entfernt wurde (beispielsweise da eine Komponente nicht mehr aktualisiert wird).

Standardmäßig wird nur die ausgewählte Komponente verarbeitet (d.h. die über --component= ausgewählte oder die standardmäßige, falls keine ausgewählt wurde). Verwenden Sie --component-all, um alle in der Installationsdatenbank bekannten Komponenten in einem Aufruf zu verarbeiten.

Diese Aktion entfernt nur Dateien, die auf dem Dateisystem installiert wurden (d.h. Ressourcen vom Typ »regular-file«, »directory« und »subvolume«, Informationen hierzu finden Sie in sysupdate.d(5)); Partitions-basierte Ressourcen werde nicht angefasst.

Hinzugefügt in Version 262.

-h, --help

Zeigt einen kurzen Hilfetext an und beendet das Programm.

--version

Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

OPTIONEN

Die folgenden Optionen werden verstanden:

--component=, -C

Wählt die zu aktualisierenden Komponenten aus. Akzeptiert einen Komponentennamen als Argument. Damit wird die Suchlogik für Übertragungsdateien leicht verändert. Falls der Schalter nicht verwandt wird, werden die Übertragungsdateien aus /etc/sysupdate.d/*.conf, /run/sysupdate.d/*.conf und /usr/lib/sysupdate.d/*.conf geladen. Falls dieser Schalter verwandt wird, wird der angegebene Komponentenname verwandt, um die Verzeichnisse, in denen gesucht wird, auf /etc/sysupdate.Komponente.d/*.conf, /run/sysupdate.Komponente.d/*.conf und /usr/lib/sysupdate.Komponente.d/*.conf zu ändern. Dabei wird die Zeichenkette Komponente durch den angegebenen Komponentennamen ersetzt.

Verwenden Sie den Befehl components, um alle zu aktualisierenden Komponenten aufzulisten. Dies zählt die Verzeichnisse auf, die auf diese Bennenungsregel passen.

Komponenten können verwandt werden, um getrennte Gruppen von Übertragungsdateien für verschiedene Komponenten des Betriebssystems zu definieren, die getrennt aktualisiert werden sollen. Verwenden Sie dieses Konzept nicht für Ressourcen, die immer zusammen auf synchrone Art aktualisiert werden sollen. Für diese Fälle definieren Sie einfach mehrere Übertragungsdateien innerhalb des gleichen sysupdate.d/-Verzeichnisses.

Diese Option kann weder mit --definitions= noch mit den Befehlen pending und reboot oder dem Schalter --reboot verwandt werden, da diese nur bei gestarteten Betriebssystemversionen angewandt werden können.

Hinzugefügt in Version 251.

--component-all, -A

Statt auf einer einzelnen Komponente zu agieren, wird auf allen bekannten Komponten agiert (einschließlich der Vorgabe, der Komponenten-freien Installation). Dies wird für die Befehle update, acquire, cleanup, enable-feature, disable-feature, enable-component und disable-component unterstützt; alle anderen Befehle werden fehlschlagen, wenn dieser Schalter verwandt wird.

Diese Option kann nicht mit --component= kombiniert werden.

Hinzugefügt in Version 262.

--component-suggested, -S

Ist zu --component-all ähnlich, agiert aber nur auf Komponenten, die derzeit für dieses System empfohlen werden, wie es durch die Einstellungen Suggest= und SuggestOn…= in der Komponentendefinitionsdatei bestimmt wird. Beide Befehle agieren auf der gleichen Komponentenmenge; daher macht disable-component rückgängig, was enable-component tat.

Diese Option kann nicht mit --component= kombiniert werden.

Um das System entsprechend der Empfehlungen abzustimmen, d.h. um auch die Komponenten abzuschalten, die nicht (oder nicht mehr) empfohlen werden, deaktivieren Sie zuerst alle Komponenten mit --component-all und aktivieren dann die empfohlenen mit diesem Schalter. Beachten Sie, dass dies größere Konsequenzen als die äquivalente Abstimmung von optionalen Funktionalitäten hat, da Komponenten standardmäßig aktiviert sind und eine Komponenten als nicht empfohlen zählt, außer die Einstellung Suggest= oder eine der SuggestOn…= dies anderweitig bestimmt. Abstimmungen deaktivieren daher alle Komponenten, die nicht empfohlen werden, einschließlich Komponenten, die überhaupt keine Datei *.component ausliefern. Die Standardkomponenten sind nicht betroffen.

Hinzugefügt in Version 262.

--feature-all, -a

Agiert auf allen optionalne Funktionalitäten, die den ausgewählten Komponenten bekannt sind, anstatt auf Funktionalitäten zu agieren, die auf der Befehlszeile angegeben sind. Dies wird für die Befehle enable-feature und disable-feature unterstützt.

Hinzugefügt in Version 262.

--feature-suggested, -s

Ist ähnlich zu --feature-all, agiert aber nur auf den optionalen Funktionalitäten, die derzeit für das System empfohlen werden, wie es durch die Einstellungen Suggest= und SuggestOn…= in den Funktionalitätsdefinitionsdateien bestimmt wird. Dies wird für die Befehle enable-feature und disable-feature unterstützt. Beide Befehle agieren auf der gleichen Komponentenmenge; daher macht disable-feature rückgängig, was enable-feature tat.

Um das System entsprechend der Empfehlungen abzustimmen, d.h. um auch die Funktionalitäten abzuschalten, die nicht (oder nicht mehr) empfohlen werden, deaktivieren Sie zuerst alle Funktionalitäten mit --feature-all und aktivieren dann die empfohlenen mit diesem Schalter.

Hinzugefügt in Version 262.

--definitions=

Ein Pfad zu einem Verzeichnis. Falls angegeben, werden die Übertragungsdateien *.conf aus diesem Verzeichnis statt aus /usr/lib/sysupdate.d/*.conf, /etc/sysupdate.d/*.conf und /run/sysupdate.d/*.conf gelesen.

Diese Option kann nicht mit --component= kombiniert werden.

Hinzugefügt in Version 251.

--root=

Akzeptiert einen Pfad zu einem für das Suchen nach Dateien sysupdate.d/*.conf als Wurzeldateisystem zu verwendenden Verzeichnis.

Hinzugefügt in Version 251.

--image=

Akzeptiert einen Pfad zu einer Abbilddatei oder zu einem einzuhängenden Gerät, das ähnlich wie --root= verwandt werden soll, siehe oben. Falls dies verwandt wird und Partitionsressourcen aktualisiert werden, dann erfolgt dies innerhalb des angegebenen Plattenabbildes.

Hinzugefügt in Version 251.

--image-policy=Richtlinie

Akzeptiert gemäß systemd.image-policy(7) eine Abbildrichtlinienzeichenkette als Argument. Die Richtlinie wird bei Aktionen auf dem mittels --image= angegebenen Plattenabbild durchgesetzt, siehe oben. Falls nicht angegeben, ist die Vorgabe die Richtlinie »*«, d.h. alle erkannten Dateisysteme im Abbild werden verwandt.

--instances-max=, -m

Akzeptiert eine dezimale Ganzzahl größer oder gleich 2 während der Aktualisierung oder 1 während der Bereinigung. Steuert, wie viele Versionen jederzeit behalten werden sollen. Diese Option kann auch innerhalb von Übertragungsdateien über die Einstellung InstancesMax= konfiguriert werden, siehe sysupdate.d(5) für Details.

Hinzugefügt in Version 251.

--sync=

Akzeptiert ein logisches Argument, standardmäßig ja. Dies kann zur Festlegung verwandt werden, ob die frisch aktualisierten Ressourcenversionen bei Bedarf auf Platte synchronisiert werden sollen (d.h. nachdem das Herunterladen vollständig ist, bevor es abgeschlossen wurde und dann nach dem Abschluss). Das sollte nicht ausgeschaltet werden, außer um die Laufzeitleistung in Testumgebungen zu verbessern.

Hinzugefügt in Version 251.

--verify=

Akzeptiert ein logisches Argument, standardmäßig ja. Steuert, ob heruntergeladene Inhalte kryptographisch überprüft werden sollen. Das sollte nicht ausgeschaltet werden, außer in Testumgebungen.

Hinzugefügt in Version 251.

--reboot

Startet das System direkt im Anschluss neu, wenn es in Kombination mit den update-Befehlen verwandt wird und eine neue Version installiert wurde. Dieser Schalter kann nicht mit --component= kombiniert werden, da er nur für eine gestartete Betriebssystemversion gilt.

Hinzugefügt in Version 251.

--cleanup=

Akzeptiert ein logisches Argument. Bei der Verwendung mit dem Befehl update führt dies automatisch anschließend das Äquivalent des Befehls cleanup durch, entfernt alle verwaisten Dateien, die nicht mehr durch Muster der aktuell definierten Übertragungsdateien abgedeckt sind. Dies ist als Müllabfuhr für solche Dateien nützlich, die einmal einer Übertragungsdatei gehört haben, die seitdem verändert, deaktiviert oder insgesamt entfernt wurde. Standardmäßig ausgeschaltet.

Hinzugefügt in Version 262.

--offline

Verhindert das Holen von Metadaten vom Netzwerk (d.h. SHA256SUMS). Dies ist in Kombination mit dem Befehl list am nützlichsten, um lokal installierte Versionen abzufragen.

Wird dies in Verbindung mit dem Befehl update verwandt, erlaubt es das vorherige Herunterladen der Aktualisierung (mittels acquire) und späterer Installation.

Hinzugefügt in Version 257.

--transfer-source=

Akzeptiert einen Pfad als Argument. Wenn angegeben, werden alle mit PathRelativeTo=explicit konfigurierten Übertragungsquellen als relativ zu dem angegebenen Pfad interpretiert.

Hinzugefügt in Version 257.

--no-pager

Leitet die Ausgabe nicht an ein Seitenanzeigeprogramm weiter.

--no-legend

Gibt die Legende nicht aus, d.h. die Spaltenköpfe und die Fußzeile mit Hinweisen.

--json=MODUS

Zeigt die Ausgabe als JSON formatiert. Erwartet entweder »short« (für die kürzest mögliche Ausgabe ohne unnötigen Leerraum oder Zeilenumbrüche), »pretty« (für eine schönere Version der gleichen Ausgabe, mit Einzügen und Zeilenumbrüchen) oder »off« (um die JSON-Ausgabe auszuschalten, was die Vorgabe ist).

EXIT-STATUS

Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.

SIEHE AUCH

systemd(1), sysupdate.d(5), sysupdate.features(5), sysupdate.components(5), systemd-sysupdated.service(8), systemd-repart(8)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

systemd 262.1