| SYSUPDATE.COMPONENTS(5) | sysupdate.components | SYSUPDATE.COMPONENTS(5) |
BEZEICHNUNG¶
sysupdate.components - Definitionsdateien für Aktualisierungskomponenten
ÜBERSICHT¶
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=
Hinzugefügt in Version 262.
Documentation=
Hinzugefügt in Version 262.
Enabled=
Hinzugefügt in Version 262.
Suggest=
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=
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 |