Provided by: manpages-de_4.13-4_all bug

BEZEICHNUNG

       systemd-sysext, systemd-sysext.service - Aktivierung von Systemerweiterungsabbildern

ÜBERSICHT


       systemd-sysext [OPTIONEN…]

       systemd-sysext.service

BESCHREIBUNG

       systemd-sysext (de)aktiviert Systemerweiterungsabbilder. Diese können die /usr/- und /opt/-Hierarchien
       dynamisch zur Laufzeit mit zusätzlichen Dateien erweitern. Dies ist besonders für unveränderbare
       Systemabbilder nützlich, bei der eine /usr/- und/oder /opt/-Hierarchie auf einem schreibgeschützten
       Dateisystem vorübergehend zur Laufzeit erweitert werden soll, ohne daran dauerhafte Veränderungen
       vorzunehmen.

       Systemerweiterungsabbilder sollten Dateien und Verzeichnisse auf eine ähnliche Art wie bei einem normalen
       Betriebssystembaum enthalten. Werden eine oder mehrere Systemerweiterungsabbilder aktiviert, werden ihre
       /usr/- und /opt/-Hierarchien mittels »overlayfs« mit den gleichen Hierarchien auf dem
       Systembetriebssystem kombiniert und die /usr/ und /opt/ des Abbildes werden darüber eingehängt
       (»zusammengeführt«). Werden die Erweiterungen deaktiviert, wird der Einhängepunkt auseinandergenommen —
       dadurch wird die unveränderte Version der Hierarchie des Systems wieder sichtbar (»auseinandernehmen«).
       Durch das Zusammenführen werden die Ressourcen der Erweiterung plötzlich unterhalb der /usr/- und
       /opt/-Hierarchien auftauchen, als ob sie Teil des grundlegenden Betriebssystemabbildes selbst wären. Beim
       Auseinandernehmen werden die Ressourcen wieder verschwinden und an der Stelle verbleiben nur die Dateien,
       die mit dem zugrundeliegenden Betriebssystemabbild selbst ausgeliefert wurden.

       Dateien und Verzeichnisse, die sich im Erweiterungsabbild außerhalb der /usr/- und /opt/-Hierarchien
       befinden, werden nicht zusammengeführt und haben daher keine Auswirkung, wenn sie in ein
       Systemerweiterungsabbild aufgenommen werden. Insbesondere werden Dateien, die in /etc/ und /var in einem
       Systemerweiterungsabbild enthalten sind, nicht in den entsprechenden Hierarchien nach der Aktivierung
       auftauchen.

       Systemerweiterungsabbilder sind streng schreibgeschützt und die Hierarchien /usr/ und /opt/ des Rechners
       werden ebenfalls schreibgeschützt, solange sie aktiviert sind.

       Systemerweiterungen sollen rein ergänzend sein, d.h. sie sollen nur Dateien enthalten, die im
       zugrundeliegenden Betriebssystemabbild nicht enthalten sind. Allerdings erlaubt der zugrundeliegende
       Mechanismus (Overlayfs) auch das Entfernen von Dateien, allerdings wird empfohlen, dies nicht zu
       verwenden.

       Systemerweiterungsabbilder können in den folgenden Formaten bereitgestellt werden:

        1. Einfache Verzeichnisse oder Btrfs-Teildatenträger, die den Betriebssystembaum enthalten

        2. Plattenabbilder mit einer GPT-Festplattenbezeichnung gemäß der Spezifikation für auffindbare
           Partitionen[1]

        3. Plattenabbilder, denen eine Partitionstabelle fehlt, mit einem nackten Linux-Dateisystem (z.B.
           Squashfs oder Ext4)

       Diese Abbildformate sind die gleichen, die systemd-nspawn(1) mittels der Schalter --directory=/--image=
       und die der Diensteverwalter mittels RootDirectory=/RootImage= unterstützt. Ähnlich wie dort können sie
       optional Verity-Authentifizierungsinformationen tragen.

       Es wird automatisch in den Verzeichnissen /etc/extensions/, /run/extensions/, /var/lib/extensions/,
       /usr/lib/extensions/ und /usr/local/lib/extensions/ nach Systemerweiterungen gesucht. Die ersten zwei
       aufgeführten Verzeichnisse sind nicht zum Überbringen von großen Binär-Abbildern geeignet, allerdings
       weiterhin zum Überbringen von Symlinks darauf. Der Hauptort zur Installation von Systemerweiterungen ist
       /var/lib/extensions/. Alle in diesen Suchverzeichnissen gefundenen Verzeichnisse werden als
       Verzeichnis-basierte Erweiterungsabbilder und alle Dateien mit der Endung .raw werden als plattenbasierte
       Erweiterungsabbilder betrachtet.

       Während des Systemstarts werden Systemerweiterungsabbilder automatisch aktiviert, falls der
       systemd-sysext.service aktiviert ist. Beachten Sie, dass dieser Dienst erst ausgeführt wird, wenn die
       zugrundeliegenden Dateisysteme, auf denen Systemerweiterungen gefunden werden können, eingehängt wurden.
       Das bedeutet, dass sie nicht dazu geeignet sind, Ressourcen auszuliefern, die von Subsystemen verarbeitet
       werden, die in der frühsten Systemstartphase ausgeführt werden. Insbesondere sind Betriebssystemabbilder
       nicht dazu geeignet, System-Dienste oder systemd-sysusers(8)-Definitionen auszuliefern. Siehe Portierbare
       Dienste[2] für einen einfachen Mechanismus (ähnlich zu Betriebssystemabbildern) zum Ausliefern von
       Systemdiensten in Plattenabbildern. Beachten Sie die unterschiedlichen Isolationsmechanismen bei diesen
       zwei Varianten: Während Systemerweiterungen direkt das zugrundeliegende Betriebssystemabbild mit
       zusätzlichen Dateien erweitern, die auf eine ähnliche Art auftauchen, als wenn sie vom
       Betriebssystemabbild selbst ausgeliefert worden wären und daher keinerlei Sicherheitsisolationen
       implizieren, implizieren portierbare Dienste ein Sandboxing auf die eine oder andere Art auf Ebene des
       Dienstes. Es wird garantiert, dass der systemd-sysext.service sein Hochfahren beendet, bevor basic.target
       erreicht wird; d.h. zum Zeitpunkt, zu dem reguläre Dienste initialisieren (solche, die
       DefaultDependencies=no nicht verwenden), sind die Dateien und Verzeichnisse, die die Systemerweiterungen
       bereitstellen, in /usr/ und /opt/ für den Zugriff bereit.

       Beachten Sie, dass es kein Konzept zum Aktivieren/Deaktivieren installierter Systemerweiterungsabbilder
       gibt: alle installierten Erweiterungsabbilder werden beim Systemstart automatisch aktiviert.

       Es wird ein einfacher Mechanismus zur Versionskompatibilität durchgesetzt: Ein Systemerweiterungsabbild
       muss eine Datei /usr/lib/extension-release.d/extension-release.$name transportieren, die auf seinen
       Abbildnamen passen muss, die mit der Datei »os-release« verglichen wird: die enthaltenen Felder ID=
       müssen übereinstimmen, sowie das Feld SYSEXT_LEVEL= (falls definiert). Falls Letzteres nicht definiert
       ist, müssen stattdessen die Felder VERSION_ID= übereinstimmen. Systemerweiterungsabbilder sollten keine
       Datei /usr/lib/os-release ausliefern (da diese in den /usr/-Baum des Rechners integriert würde und damit
       die Versionsdaten des Rechnerbetriebssystems außer Kraft setzen würde, was nicht wünschenswert ist). Die
       Datei extension-release folgt dem gleichen Format und der gleichen Semantik und transportiert den
       gleichen Inhalt wie die Datei os-release des Betriebssystems aber sie beschreibt die Ressourcen, die im
       Erweiterungsabbild transportiert werden.

VERWENDUNGEN

       Der primäre Einsatzfall für Systemabbilder sind unveränderbare Umgebungen, bei denen optional Fehlersuch-
       und Entwicklungswerkzeuge verfügbar gemacht werden sollen, die aber nicht im unveränderbaren,
       grundlegenden Betriebssystemabbild enthalten sind (z.B. strace(1) und gdb(1) sollen eine optionale
       Ergänzung sein, um die Fehlersuche/Entwicklung zu vereinfachen). Systemerweiterungsabbilder sollten nicht
       als ein generisches Software-Paketierungs-Rahmenwerk missverstanden werden, da kein Abhängigkeitsschema
       verfügbar ist: Systemerweiterungen sollten alle Dateien transportieren, die sie selbst benötigen, außer
       denen, die bereits in dem zugrundeliegenden Betriebssystemabbild ausgeliefert sind. Typischerweise werden
       Systemerweiterungsabbilder zum gleichen Zeitpunkt gebaut, zu dem auch das zugrundeliegende
       Betriebssystemabbild gebaut wurde — innerhalb des gleichen Bausystems.

       Ein anderer Anwendungsfall für das Konzept der Systemerweiterung ist das temporäre Außerkraftsetzen von
       Ressourcen, die vom Betriebssystem bereitgestellt werden, durch neuere, beispielsweise um eine lokal
       kompilierte Entwicklungsversion einer systemnahen Komponenten über das unveränderbare
       Betriebssystemabbild zu installieren, ohne das Betriebssystem komplett neu zu bauen oder das dem Namen
       nach unveränderbare Abbild zu verändern (z.B. ein lokal gebautes Paket mit
       DESTDIR=/var/lib/extensions/mytest make install && systemd-sysext refresh zu »installieren« und es unter
       /usr/ bereitzustellen, als ob es im Betriebssystemabbild selbst installiert wäre). Dieser Fall
       funktioniert unabhängig davon, ob das /usr/ des Rechners als unveränderbares Plattenabbild verwaltet wird
       oder ein traditionell durch einen Paketverwalter gesteuerter (d.h. schreibbarer) Baum ist.

BEFEHLE

       Die folgenden Befehle werden verstanden:

       status
           Beim Aufruf ohne ein Befehlsverb oder wenn status angegeben ist, wird der derzeitige
           Zusammenführungsstatus angezeigt, separat für sowohl /usr/ als auch /opt/.

       merge
           Führt alle derzeit installierten Systemerweiterungsabbilder in /usr/ und /opt/ zusammen, indem diese
           Hierarchien mit dem Dateisystem »overlayfs« übereinandergehängt werden und dadurch die
           zugrundeliegenden Hierarchien mit denen aus den Erweiterungsabbildern kombiniert werden. Dieser
           Befehl wird fehlschlagen, wenn die Hierarchien bereits zusammengeführt sind.

       unmerge
           Trennt alle derzeit installierten Systemerweiterungsabbilder von /usr/ und /opt/ auf, indem die
           vorher durch merge erstellten »overlayfs«-Dateisysteme ausgehängt werden.

       refresh
           Eine Kombination von unmerge und merge: Falls bereits eingehängt, wird die bestehende
           »overlayfs«-Instanz temporär ausgehängt und dann durch eine neue Version ersetzt. Dieser Befehl ist
           nach der Installation/Entfernung von Systemerweiterungsabbildern nützlich, um das
           »overlayfs«-Dateisystem entsprechend zu aktualisieren. Falls zum Zeitpunkt der Ausführung dieses
           Befehls keine Systemerweiterungen installiert sind, dann wird das Äquivalent von unmerge ausgeführt,
           ohne eine neue »overlayfs«-Instanz zu etablieren. Beachten Sie, dass es derzeit einen kurzen Moment
           gibt, zu dem weder das alte noch das neue »overlayfs«-Dateisystem eingehängt sind. Daraus folgt, dass
           alle durch eine Systemerweiterung bereitgestellten Ressourcen kurzzeitig verschwinden — selbst wenn
           sie dauerhaft während einer refresh-Aktion bestehen bleiben.

       list
           Zeigt eine kurze Liste der installierten Erweiterungsabilder an.

       -h, --help
           Zeigt einen kurzen Hilfetext an und beendet das Programm.

       --version
           Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

OPTIONEN

       --root=
           Agiert relativ zu dem festgelegten Wurzelverzeichnis, d.h. richtet die »overlayfs«-Einhängung nicht
           auf den Hierarchien /usr/ und /opt/ auf der obersten Stufe des Rechners ein, sondern unterhalb eines
           festgelegten Wurzelverzeichnisses.

       --force
           Bei der Zusammenführung von Systemerweiterungen in /usr/ und /opt/ werden Versionsinkompatibilitäten
           ignoriert, d.h. das Zusammenführen wird erzwungen, unabhängig davon, ob die im Erweiterungsabbild
           enthaltenen Versionsinformationen zu denen des Rechners passen oder nicht.

       --no-pager
           Leitet die Ausgabe nicht an ein Textanzeigeprogramm 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 Vorgabe (JSON-Ausgabe) auszuschalten).

EXIT-STATUS

       Bei Erfolg wird 0 zurückgeliefert.

SIEHE AUCH

       systemd(1), systemd-nspawn(1)

ANMERKUNGEN

        1. Spezifikation für auffindbare Partitionen
           https://systemd.io/DISCOVERABLE_PARTITIONS

        2. Portable Dienste
           https://systemd.io/PORTABLE_SERVICES

Ü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 250                                                                                    SYSTEMD-SYSEXT(8)