Scroll to navigation

SYSUPDATE.COMPONENTS(5) sysupdate.components SYSUPDATE.COMPONENTS(5)

BEZEICHNUNG

sysupdate.components - Definitionsdateien für Aktualisierungskomponenten

ÜBERSICHT

/etc/sysupdate.Komponente.component
/run/sysupdate.Komponente.component
/usr/local/lib/sysupdate.Komponente.component
/usr/lib/sysupdate.Komponente.component

BESCHREIBUNG

Eine »Komponente« ist eine Reihe von sysupdate.d(5)-Übertragungsdefinitionen, die systemd-sysupdate(8) unabhängig vom Rest des Betriebssystems aktualisiert. Jede Komponente ist eine in sich geschlossene Installation mit ihrer eigenen Version und ihrer eigenen Gruppe an Übertragungsdateien, gespeichert in einem Verzeichnis, das nach der Komponente benannt ist: sysupdate.Komponente.d/*.transfer (im Gegensatz zu der Vorgabe bei Komponenten-freien sysupdate.d/*.transfer). Komponenten werden mittels der Schalter --component=, --component-all oder --component-suggested von systemd-sysupdate(8) ausgewählt und über den Befehl components aufgezählt.

Da Komponenten separat aktualisiert werden, sind sie das richtige Werkzeug für Betriebssystemressourcen, die unabhängig vom grundlegenden Betriebssystem versioniert und aktualisiert werden sollen – beispielsweise ein Container-Abbild oder ein portierbares Deiensteabbild, das seinem eigenen Veröffentlichungszyklus folgt. Dies ist der Hauptunterschied zwischen einer Komponente und einer Optionalen Funktionalität gemäß sysupdate.features(5): Die Übertragungen, die zu einer Funktionalität gehören, werden synchron mit dem Ziel, von dem sie ein Teil sind, aktualisiert, während Komponenten eine komplett getrennte Installation sind. Verwenden Sie Komponenten nicht für Ressourcen, die immer synchron mit etwas anderem aktualisiert werden sollen, verwenden Sie Funktionalitäten für diese Fälle (oder fügen Sie einfach Übertragungsdateien in das gleiche Verzeichnis hinzu).

Eine Komponente benöigt eine Datei *.component: sobald ein passendes Verzeichnis sysupdate.Komponente.d/ mit Übertragungsdefinitionen existiert, steht die Komponente zur Aktualisierung bereit. Die hier beschriebene Datei *.component ist optional und trägt Metadaten über die Komponente (wie eine menschenlesbare Beschreibung und eine Dokumentations-URL) sowie ihr Aktivierungszustand.

Wird eine Komponente deaktiviert (wie nachfolgend beschrieben mit Enabled=false) werden Aktionen, die neue Versionen herunterladen oder installieren würden – am wichtigesten update – die Mitarbeit verweigern. Andere Aktionen, wie vacuum und cleanup betrachten weiterhin die Übertragungen der Komponenten, so dass bereits installierte Instanzen weiterhin verwaltet bleiben und bereinigt werden können. Komponenten werden mit den Befehlen enable-component und disable-component von systemd-sysupdate(8), die eine Einstellung Enabled= in eine Ergänzungsdatei neben der Komponentendefinition schreiben, aktiviert oder deaktiviert.

Komponentendefinitionen unterstützen Ergänzungsdateien, die der typische Weg zum Außerkraftsetzen der Einstellung Enabled= sind. Ergänzungsdateien werden aus sysupdate.Komponente.component.d/*.conf im gleichen Verzeichnis wie die Hauptdatei gelesen. Sie können auch maskiert werden, um die Komponentendefinition komplett zu verstecken.

Jede Datei *.component enthält einen Abschnitt: »[Component]«.

»[COMPONENT]«-ABSCHNITT-OPTIONEN

Dieser Abschnitt definiert allgemeine Eigenschaften dieser Komponente.

Description=

Eine kurze, menschenlesbare Beschreibung dieser Komponente. Diese kann als Bezeichnung für diese Komponente verwandt werden, daher sollte die Zeichenkette die Komponente bedeutungsvoll unter anderen, auf dem System verfügbaren Komponenten identifizieren.

Hinzugefügt in Version 262.

Documentation=

Eine oder mehrere, für Benutzer darstellbare ULRs zur Dokumentation über diese Komponente. Diese Einstellung kann mehrfach angegeben werden. Falls dieser Option die leere Zeichenkette zugewiesen wird, wird diese Liste zurückgesetzt und alle vorherigen Zuweisungen bleiben wirkungslos. Sie unterstützt Kennzeichnererweiterungen; Details zu den unterstützten Kennzeichnern finden Sie weiter unten.

Hinzugefügt in Version 262.

Enabled=

Gibt an, ob diese Komponente aktiviert ist. Falls nicht angegeben, wird die Komponente standardmäßig aktiviert. Wenn deaktiviert, lehnt systemd-sysupdate(8) das Herunterladen oder Installieren neuer Versionen dieser Komponente ab, betrachtet aber weiterhin ihre Übertragungen beim Bereinigen und in anderen Situationen, bei denen es die Eigentümerschaft über vorher heruntergeladene Systemressourcen bestimmen muss.

Hinzugefügt in Version 262.

Suggest=

Akzeptiert ein logisches Argument. Falls »true«, wird diese Komponente für die Aktivierung vorgeschlagen, bei »false« nicht. Dies alleine aktiviert die Komponente nicht, sondern es ist ein durch das Aktualisierungswerkzeug aufgetauchter Hinweis (beispielsweise mit dem Schalter --component-suggested von systemd-sysupdate(8)), so dass der Systemadministrator oder abstraktere Werkzeuge entsprechend agieren können.

Falls diese Einstellung nicht festgelegt ist, werden stattdessen die nachfolgend beschriebenen Bedingungen SuggestOn…= ausgewertet, um zu bestimmen, ob die Komponente vorgeschlagen wird. Falls weder diese Einstellung noch eine Bedingung SuggestOn…= festgelegt sind, wird die Komponente nicht vorgeschlagen.

Hinzugefügt in Version 262.

SuggestOnArchitecture=, SuggestOnFirmware=, SuggestOnVirtualization=, SuggestOnHost=, SuggestOnFraction=, SuggestOnKernelCommandLine=, SuggestOnVersion=, SuggestOnCredential=, SuggestOnSecurity=, SuggestOnOSRelease=, SuggestOnMachineTag=

Schlägt diese Komponente zur Aktivierung vor, abhängig von den Systemeigenschaften. Diese Einstellungen akzeptieren die gleichen Argumente und implementieren die gleiche Semantik – einschließlich des einleitenden »!« für die Verneinung – wie die identisch benannten Einstellungen ConditionArchitecture=, ConditionFirmware=, ConditionVirtualization=, ConditionHost=, ConditionFraction=, ConditionKernelCommandLine=, ConditionVersion=, ConditionCredential=, ConditionSecurity=, ConditionOSRelease= und ConditionMachineTag= für Unit-Dateien, die in systemd.unit(5) dokumentiert sind. Die Komponente wird vorgeschlagen, falls alle festgelegten Bedingungen zutreffen. Wie bei den Einstellungen Condition…= führt die Zuweisung einer leeren Zeichenkette zum Zurücksetzen der Liste.

Diese Bedingungen werden nur ausgewertet, falls Suggest= nicht festgelegt ist.

Hinzugefügt in Version 262.

KENNZEICHNER

Kennzeichner können in den Einstellungen Documentation= verwandt werden. Die folgenden Erweiterungen werden verstanden:

Tabelle 1. Verfügbare Kennzeichner

Kennzeichner Bedeutung Details
"%a" Architektur Eine kurze Zeichenkette, die die Architektur des lokalen Systems identifiziert. Eine Zeichenkette wie x86, x86-64 oder arm64. Siehe die für ConditionArchitecture= in systemd.unit(5) definierten Architekturen für die vollständige Liste.
"%A" Betriebssystemabbildversion Die Betriebssystemabbildversionskennzeichnung des laufenden Systems, wie aus dem Feld IMAGE_VERSION= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es zur leeren Zeichenkette aufgelöst. Siehe os-release(5) für weitere Informationen.
"%b" Boot-Kennung Die Boot-Kennung des laufenden Systems, formatiert als Zeichenkette. Siehe random(4) für weitere Informationen.
"%B" Betriebssystembaukennung Die Betriebssystembaukennung des laufenden Systems, wie aus dem Feld BUILD_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es zur leeren Zeichenkette aufgelöst. Siehe os-release(5) für weitere Informationen.
"%H" Rechnername Der Rechnername des laufenden Systems.
"%l" Kurzer Rechnername Die Rechnername des laufenden Systems, abgeschnitten am ersten Punkt, um alle Domain-Komponenten zu entfernen.
"%m" Maschinenkennung Die Maschinenkennung des laufenden Systems, formatiert als Zeichenkette. Siehe machine-id(5) für weitere Informationen.
"%M" Betriebssystemabbildkennung Die Betriebssystemabbildkennung des laufenden Systems, wie aus dem Feld IMAGE_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%o" Betriebssystemkennung Die Betriebssystemkennung des laufenden Systems, wie aus dem Feld ID= in /etc/os-release ausgelesen. Siehe os-release(5) für weitere Informationen.
"%v" Kernelveröffentlichung Identisch zur Ausgabe von uname -r.
"%w" Betriebssystemversionskennung Die Betriebssystemversionskennzeichnung des laufenden Systems, wie aus dem Feld VERSION_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%W" Betriebssystemvariantenkennung Die Betriebssystemvariantenkennung des laufenden Systems, wie aus dem Feld VARIANT_ID= in /etc/os-release ausgelesen. Falls nicht gesetzt, wird es die leere Zeichenkette. Siehe os-release(5) für weitere Informationen.
"%T" Verzeichnis für temporäre Dateien Dies ist entweder /tmp oder der Pfad, auf den »$TMPDIR«, »$TEMP« oder »$TMP« gesetzt ist. (Beachten Sie, dass das Verzeichnis ohne abschließenden Schrägstrich angegeben werden kann.)
"%V" Verzeichnis für größere und dauerhafte temporäre Dateien Dies ist entweder /var/tmp oder der Pfad, auf den »$TMPDIR«, »$TEMP« oder »$TMP« gesetzt ist. (Beachten Sie, dass das Verzeichnis ohne abschließenden Schrägstrich angegeben werden kann.)
"%%" Einzelnes Prozentzeichen Verwenden Sie »%%« anstelle von »%«, um ein einzelnes Prozentzeichen anzugeben.

BEISPIELE

Beispiel 1. A Getrennt aktualisiertes Container-Abbild

Als Beispiel für das zugrundeliegende Betriebssystem wird wie in sysupdate.d(5) beschrieben das hypothetische »foobarOS« verwandt foobarOS liefert ein Container-Abbild aus, das in vielen, aber nicht alle Einsatzfällen ausgeführt werden soll. Das Abbild hat seinen eigenen Veröffentlichung-Rhythmus mit Versionsnummern, komplett unabhängig vom zugrundeliegenden Basisbetriebssystem. Daher passt es sehr schlecht als Optionale Funktionalität (die versionsmäßig an das Betriebssystem gekoppelt wäre). Stattdessen wird es als Komponente mit Namen »webapp« modelliert.

Zuerst die Komponentendefinition, mit Eintrag der Metadaten und der Markierung, das sie standardmäßig deaktiviert ist:

# /usr/lib/sysupdate.webapp.component
[Component]
Description=WebApp Container-Abbild
Documentation=https://docs.example.com/foobarOS/webapp
Enabled=false

Als nächstes die Übertragungsdefinitionen für die Komponente, abgelegt im eigenen Verzeichnis sysupdate.webapp.d/ der Komponente:

# /usr/lib/sysupdate.webapp.d/50-webapp.transfer
[Source]
Type=url-file
Path=https://download.example.com/
MatchPattern=webapp_@v.raw.xz
[Target]
Type=regular-file
Path=/var/lib/machines
MatchPattern=webapp_@v.raw
Mode=0444
InstancesMax=2

Mit diesen zwei Dateien können Aktualisierungen für die Komponente »webapp« unabhängig vom zugrundeliegenden Betriebssystem überprüft und heruntergeladen werden, beispielsweise mit systemd-sysupdate --component=webapp update. Da Enabled=false gesetzt war, muss der Administrator zuerst mit systemd-sysupdate enable-component webapp einwilligen, wodurch die folgende Ergänzung geschrieben wird:

# /etc/sysupdate.webapp.component.d/50-systemd-sysupdate-enabled.conf
# Erstellt mittels »systemd-sysupdate enable-component«
[Component]
Enabled=true

Example 2. A Component Suggested Only on Bare Metal

Suppose foobarOS ships a component with firmware and microcode updates that is only relevant when running on physical hardware, not inside a virtual machine. We can use SuggestOn...= to hint that the component should be enabled in that case, without enabling it automatically:

# /usr/lib/sysupdate.firmware.component
[Component]
Description=Firmware- und Microcode-Aktualisierungen
Documentation=https://docs.example.com/foobarOS/firmware
Enabled=false
SuggestOnVirtualization=!vm

Higher-level tooling can now query the suggested components (via systemd-sysupdate --component-suggested ...) and enable them as appropriate. On bare metal the "firmware" component is suggested; inside a VM it is not.

SIEHE AUCH

systemd(1), systemd-sysupdate(8), sysupdate.d(5), sysupdate.features(5)

Ü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