Provided by: manpages-de_4.15.0-9_all bug

BEZEICHNUNG

       systemd-repart, systemd-repart.service - Partitionen automatisch vergrößern und hinzufügen

ÜBERSICHT

       systemd-repart [OPTIONEN…] [[BLOCKGERÄT]…]

       systemd-repart.service

BESCHREIBUNG

       Basierend auf den in repart.d(5) beschriebenen Konfigurationsdateien kann systemd-repart
       Partitionstabellen vergrößern und hinzufügen.

       Wird er ohne Argumente aufgerufen, dann agiert er auf dem Blockgerät, das dem
       Wurzeldateisystem des laufenden Betriebssystems zugrundeliegt, womit Partitionen des
       gestarteten Betriebssystemabbildes selbst vergrößert oder hinzugefügt werden. Falls
       --image= verwandt wird, wird er auf der festgelegten Abbild-Datei agieren. Beim Aufruf in
       der »initrd« agiert es stattdessen auf das /sysroot/ zugrundeliegende Blockgerät, d.h. auf
       dem Blockgerät, auf das in Kürze übergeleitet wird. Der Dienst systemd-repart.service wird
       im Allgemeinen beim Systemstart in der anfänglichen RAM-Platte ausgeführt, um die
       Partitionstabelle des Betriebssystems zu ergänzen, bevor deren Partitionen eingehängt
       werden. systemd-repart agiert (größtenteils) in einem reinen inkrementellen Modus: er
       vergrößert nur bestehende Partitionen oder fügt neue Partitionen hinzu; es verkleinert
       oder verschiebt keine Partitionen oder löscht diese. Der Dienst ist zur Ausführung bei
       jedem Systemstart gedacht; wenn er allerdings erkennt, dass die Partitionstabelle bereits
       den installierten Konfigurationsdateien repart.d/*.conf entspricht, führt es keine Aktion
       aus.

       systemd-repart ist für den Einsatz beim Ausbringen von Betriebssystemabbildern gedacht, um
       diese beim ersten Systemstart automatisch auf das System, auf dem sie betrieben werden,
       anzupassen. Damit können auszubringende Abbilder eine minimale Größe haben und bei Bedarf
       beim Systemstart automatisch ergänzt werden und von Plattenplatz Besitz ergreifen, der
       verfügbar ist, aber noch nicht verwandt wird. Insbesondere werden die folgenden
       Anwendungsfälle abgedeckt:

       •   Die Wurzelpartition kann vergrößert werden, um den gesamten verfügbaren Plattenplatz
           zu belegen.

       •   Eine Partition für /home/, zur Auslagerung oder /srv kann hinzugefügt werden.

       •   Eine zweite (oder dritte, …) Wurzelpartition kann hinzugefügt werden, um A/B-artige
           Installationen zu berücksichtigen, bei der eine zweite Version des Wurzeldateisystems
           alternativ verwandt wird, um Aktualisierungsschemata zu implementieren. Das verteilte
           Abbild würde nur eine einzelne Partition (»A«) transportieren, bei einem ersten
           Systemstart würde eine zweite Partition (»B«) für diesen Zweck automatisch erzeugt.

       Der von systemd-repart ausgeführte Algorithmus ist grob wie folgt:

        1. Die repart.d/*.conf-Konfigurationsdateien werden geladen und ausgewertet und nach
           Dateinamen sortiert (ohne das Verzeichnispräfix).

        2. Die auf dem Blockgerät bereits bestehende Partitionstabelle wird geladen und
           ausgewertet.

        3. Die bestehenden Partitionen in der Partitionstabelle werden mit den
           repart.d/*.conf-Dateien nach GPT-Partitionstyp-UUID verglichen. Der ersten bestehenden
           Partition eines bestimmten Typs wird die erste Konfigurationsdatei, die den gleichen
           Typ angibt, zugewiesen. Dann wird die zweite bestehende Partition eines bestimmten
           Typs der zweiten Konfigurationsdatei zugewiesen, die den gleichen Typ angibt und so
           weiter. Nachdem diese iterative Zuweisung abgeschlossen ist, werden alle verbliebenen
           bestehenden Partitionen, für die es keine passenden Konfigurationsdateien gibt, als
           »fremd« betrachtet und unverändert belassen. Jede Konfigurationsdatei, für die derzeit
           keine Partition existiert, wird als Aufforderung verstanden, solch eine Partition zu
           erstellen.

        4. Unter Berücksichtigung der Größenbeschränkungen und der in den Konfigurationsdateien
           erklärten Gewichtungen werden alle Partitionen, die jetzt erstellt werden sollen, auf
           der Platte zugeordnet, wobei sämtlicher freier Platz unter Berücksichtigung der Größe
           und Padding-Anforderungen belegt wird. Auf ähnliche Weise werden bestehende
           Partitionen, die vergrößert werden sollen, vergrößert. Neue Partitionen werden immer
           am Ende der bestehenden Partitionstabelle unter Verwendung der ersten
           Partitionstabellenpostion, deren Index größer als der größte aller existierenden
           Partitionen ist, erstellt. Partitionstabellenpositionen werden niemals neu sortiert,
           daher bleiben Partitionsnummern stabil. Beachten Sie, dass diese Zuordnung
           ausschließlich im Arbeitsspeicher passiert, die Partitionstabelle auf der Platte wird
           noch nicht aktualisiert.

        5. Allen bestehenden Partitionen, für die Konfigurationsdateien existieren und für die
           derzeit noch keine GPT-Partitionsbezeichnung gesetzt ist, wird eine Bezeichnung
           zugewiesen, entweder explizit aus der Konfiguration heraus oder (falls das fehlt)
           automatisch aus dem Partitionstyp abgeleitet. Das Gleiche erfolgt für alle neu
           erstellten Partitionen. Diese Zuweisungen erfolgen auch ausschließlich im
           Arbeitsspeicher, die Platte wird noch nicht aktualisiert.

        6. Ähnlich wird allen bestehenden Partitionen, für die Konfigurationsdateien existieren
           und deren kennzeichnende UUID derzeit komplett Null ist, eine neue UUID zugewiesen.
           Diese UUID wird mittels eines kryptographischen Hashes aus einem gemeinsamen Startwert
           zusammen mit der Partitionstyp-UUID (und einem Zähler, falls mehrere Partitionen des
           gleichen Typs definiert sind) ermittelt, siehe unten. Das Gleiche erfolgt für alle neu
           erstellten Partitionen. Diese Zuweisungen erfolgen auch nur im Arbeitsspeicher, die
           Platte wird noch nicht aktualisiert.

        7. Falls die Laufwerks-UUID komplett Null ist, wird diese auch ähnlich initialisiert,
           ebenfalls mittels kryptographischen Hashes aus dem gleichen gemeinsamen Startwert.
           Auch nur im Arbeitsspeicher.

        8. Der den neuen Partitionen zugewiesene Plattenplatz (d.h. der bisher als frei
           betrachtete Platz, der dies nicht mehr ist), wird gelöscht. Insbesondere werden alle
           Dateisystemsignaturen entfernt und, falls das Gerät dies untersützt, wird der
           E/A-Steuerbefehl BLKDISCARD erteilt, um die Hardware zu informieren, dass der Platz
           nun leer ist. Zusätzlich wird entsprechend sämtliches »Padding« zwischen den
           Partitionen und dem Ende des Geräts gelöscht.

        9. Die neue Partitionstabelle wird schließlich auf Platte geschrieben. Der Kernel wird
           gebeten, die Partitionstabelle neu einzulesen.

       Als Ausnahme zu der normalerweise streng inkrementellen Arbeitsweise kann systemd-repart
       auch zum Löschen existierender Partitionen beim Aufruf in einem besonderen Modus »Zurück
       auf Werkseinstellung« verwandt werden, um die Installation zurück auf die Vorgaben des
       Lieferanten zu setzen. Dieser Arbeitsmodus wird verwandt, wenn entweder der Schalter
       --factory-reset=yes auf der Befehlszeile des Werkzeugs übergeben wird oder die Aktion
       systemd.factory_reset=yes auf der Kernelbefehlszeile übergeben wird oder die EFI-Variable
       FactoryReset (Lieferanten-UUID 8cf2644b-4b0b-428f-9387-6d876050dc67) auf »yes« gesetzt
       ist. Es ändert den obigen Algorithmus leicht: zwischen den obigen Schritten Drei und Vier
       wird jede Partition, die explizit mit dem logischen Wert FactoryReset= markiert ist,
       gelöscht, und der Algorithmus neu gestartet, wodurch diese Partitionen erneut leer
       erstellt werden.

       Beachten Sie, dass systemd-repart nur Partitionstabellen ändert, es erstellt oder
       vergrößert keine Dateisysteme innerhalb dieser Partitionen. Dafür sollte ein separater
       Mechanismus verwandt werden, beispielsweise systemd-growfs(8) und systemd-makefs.

       Der Hash-Wert der UUIDs, die die neu erstellten Partitionen kennzeichnen (oder bestehenden
       Partitionen, die noch keine UUID hatten, zugewiesen wurden), sowie der Platte als Ganzes,
       wird kryptographisch aus einem gemeinsamen Startwert berechnet. Dieser Startwert ist
       normalerweise die machine-id(5) des Systems, so dass die Maschinenkennung wiederholbar die
       allen Platten zugewiesenen UUIDs bestimmt. Falls die Maschinenkennung nicht gelesen werden
       kann (oder der Benutzer das nachfolgend beschriebene --seed=random übergibt), wird der
       Startwert stattdessen zufällig erzeugt, womit die Partitions-UUIDs letztendlich zufällig
       sind. Der Startwert kann auch explizit gesetzt werden; dafür muss er als UUID über die
       Option --seed= angegeben werden. Durch den Hash der UUIDs mit einem gemeinsamen Startwert
       werden Abbilder, die mit diesem Werkzeug erstellt werden, reproduzierbar und das Ergebnis
       des obigen Algorithmus wird deterministisch.

       Das Positionsargument sollte das Blockgerät angeben, auf dem agiert werden soll. Es kann
       auch statt des Blockgeräteknotenpfades eine reguläre Datei angegeben werden. Dann wird der
       Befehl darauf so agieren, wie er es täte, wenn ein Loopback-Blockgeräteknoten mit der
       angehängten Datei angegben worden wäre. Falls --empty=create angegeben ist, dann wird der
       angegebene Pfad als reguläre Datei erstellt, was für die Erstellung von Plattenabbildern
       von Null auf nützlich ist.

OPTIONEN

       Die folgenden Optionen werden verstanden:

       --dry-run=
           Akzeptiert einen logischen Wert. Falls der Schalter nicht angegeben ist, ist
           --dry-run=yes die implizierte Vorgabe. Steuert, ob Systemd-repart die erbetene
           Neupartitionierungsaktion ausführt oder ob es nur anzeigen soll, was es machen würde.
           Die Partitionstabelle des Gerätes wird nur angefasst, falls --dry-run=no festgelegt
           ist.

       --empty=
           Akzeptiert entweder »refuse«, »allow«, »require«, »force« oder »create«. Steuert, wie
           auf komplett leeren Blockgeräten agiert werden soll, d.h. solchen, die noch keine
           Partitionstabelle/Plattenbezeichnung tragen. Falls dieser Schalter nicht angegeben
           ist, ist »refuse« die implizite Vorgabe.

           Falls »refuse«, verlangt systemd-repart, dass das Blockgerät, auf dem es agieren soll,
           eine Partitionstabelle trägt und lehnt die Aktion ab, falls keine gefunden wird. Falls
           »allow«, wird der Befehl eine bestehende Partitionstabelle erweitern oder eine neue
           erstellen, falls noch keine existiert. Falls »require«, wird der Befehl eine neue
           Partitionstabelle erstellen, falls noch keine existiert, und die Aktion ablehnen,
           falls bereits eine existiert. Falls »force«, wird es bedingungslos eine frische
           Partitionstabelle erstellen, wodurch die komplette Platte gelöscht wird. Falls
           »force«, werden keine bestehenden Partitionen berücksichtigt bzw. überleben diese
           Aktion. Somit: Verwenden Sie dies vorsichtig, dies ist eine großartige Möglichkeit,
           Ihre sämtlichen Daten zu verlieren. Falls »create«, wird eine neue Loopback-Datei
           unterhalb des mit dem Parameter Geräteknoten übergebenen Pfades erstellt, mit der mit
           --size= angezeigten Größe, siehe unten.

       --discard=
           Akzeptiert einen logischen Wert. Falls dieser Schalter nicht angegeben wird, ist
           --discard=yes die implizite Vorgabe. Steuert, ob der E/A-Steuerbefehl BLKDISCARD für
           den Bereich, der von hinzugefügten Partitionen belegt wird, oder dem Bereich
           dazwischen, erteilt werden soll. Normalerweise ist es eine gute Idee, diese Anfrage zu
           erteilen, da sie die zugrundeliegende Hardware informiert, dass die betrachteten
           Blöcke als leer angenommen werden sollen, wodurch die Leistung erhöht wird. Falls auf
           einer regulären Datei statt auf einem Blockgeräteknoten agiert wird, dann wird eine
           Sparse-Datei erstellt.

       --size=
           Akzeptiert eine Größe in Bytes mittels der üblichen Endungen K, M, G, T oder den
           besonderen Wert »auto«. Falls verwandt, muss der angegebene Geräteknotenpfad sich auf
           eine reguläre Datei beziehen, die dann auf die angegeben Größe vergrößert wird, falls
           sie kleiner ist, bevor irgendwelche Änderungen an der Partitionstabelle erfolgen.
           Falls als »auto« angegeben, wird die minimale Größe für das Platten-Abbild automatisch
           bestimmt (d.h. die minimale Größe aller Partitionen wird unter Berücksichtigung des
           Platzbedarfs für zusätzliche Metadaten aufsummiert). Dieser Schalter wird nicht
           unterstützt, falls der angegebene Knoten ein Blockgerät ist. Dieser Schalter hat
           keinen Effekt, falls die Datei bereits so groß wie oder größer als die angegebene
           Größe ist. Die angegebene Größe wird implizit auf Vielfache von 4096 aufgerundet. Wird
           dies zusammen mit --empty=create verwandt, dann gibt dies die anfängliche Größe der zu
           erstellenden Loopback-Datei an.

           Die Option --size=auto berücksichtigt die Größe von bereits existierenden Partitionen.
           Allerdings trägt sie Partitionstabellen, die nicht eng gepackt sind, keine Rechnung:
           die konfigurierten Partitionen könnten weiterhin nicht in das zugrundeliegende Gerät
           passen, falls zwischen den bereits existierenden Partitionen (oder vor der ersten
           Partition) leerer Platz existiert, der nicht vollständig von zu erstellenden oder
           anzuwachsenden Partitionen ausgefüllt werden kann.

           Beachten Sie auch, dass die automatische Größenbestimmung keine Dateien oder
           Verzeichnisse berücksichtigt, die mit CopyFiles= angegeben sind: die Aktion könnte
           fehlschlagen, falls die angegebenen Dateien oder Verzeichnisse mehr Plattenplatz
           benötigen, als für die partitionsbezogenen minimalen Größenbegrenzung konfiguriert
           ist.

       --factory-reset=
           Akzeptiert einen logischen Wert. Falls dieser Schalter nicht angegeben wird, ist
           --factory=reset=no die implizite Vorgabe. Steuert, ob im oben beschriebenen Modus
           »Zurück auf Werkseinstellung« agiert werden soll. Falls auf wahr gesetzt, wird dies
           alle bestehenden, mit FactoryReset= auf »yes« gesetzten Partitionen früh entfernen,
           während der Neupartitionierungsalgorithmus ausgeführt wird. Verwenden Sie dies
           vorsichtig, dies ist eine großartige Möglichkeit, Ihre sämtlichen Daten zu verlieren.
           Beachten Sie, dass Partitionsdateien FactoryReset= explizit einschalten müssen, da die
           Option standardmäßig ausgeschaltet ist. Falls keine Partitionen für die Rückkehr in
           die Werkseinstellungen markiert sind, hat dieser Schalter keine Auswirkungen. Beachten
           Sie, dass es zwei andere Möglichkeiten gibt, die Aktion »Zurück auf Werkseinstellung«
           zu erbitten: mittels der Kernelbefehlszeile oder über eine EFI-Variable, siehe oben.

       --can-factory-reset
           Falls dieser Schalter angegeben ist, wird die Platte nicht neupartitioniert.
           Stattdessen wird ermittelt, ob bestehende Partitionen mit FactoryReset= markiert sind.
           Falls dies der Fall ist, wird sich das Werkzeug mit einem Exit-Status 0 beenden,
           andernfalls mit einem von 0 verschiedenen Wert. Dieser Schalter wird dazu verwandt,
           schnell zu bestimmen, ob das laufende System das in systemd-repart eingebaute
           Zurücksetzen auf die Werkseinstellungen unterstützt.

       --root=
           Akzeptiert einen Pfad zu einem Verzeichnis, das als Wurzeldateisystem bei der Suche
           nach repart.d/*.conf-Dateien, der Maschinenkennungsdatei, die als Startwert verwandt
           werden soll, und für die Quelldateien und -Verzeichnisse CopyFiles= und CopyBlocks=
           eingesetzt werden soll. Wird dies auf dem regulären Dateisystem aufgerufen, ist die
           Vorgabe das Wurzeldateisystem »/« des Rechners. Beim Aufruf in der anfänglichen
           RAM-Platte ist die Vorgabe /sysroot/, so dass das Werkzeug auf der Konfiguration und
           der im Wurzeldateisystem, auf das später übergeleitet wird, gespeicherten
           Maschinenkennung agieren wird.

       --image=
           Akzeptiert einen Pfad zu einer Abbilddatei oder einem Abbildgerät, das in ähnlicher
           Art wie --root= eingehängt und verwandt werden soll, siehe oben.

       --seed=
           Akzeptiert eine UUID oder den besonderen Wert random als Argument. Falls eine UUID
           festgelegt ist, werden die Partitionen und der Partitionstabelle selbst zuzuweisenden
           UUIDs durch kryptographisches Hashen daraus abgeleitet. Falls nicht angegeben, wird
           versucht, die Maschinenkennung des Rechners abzuleiten (oder genauer, aus dem mit
           --root= konfigurierten Wurzelverzeichnis) und dies stattdessen als Startwert zu
           verwenden, ansonsten wird auf einen zufälligen Startwert zurückgefallen. Verwenden Sie
           --seed=random, um einen zufälligen Startwert zu erzwingen. Durch explizites Setzen des
           Startwertes können streng reproduzierbare Partitionstabellen erstellt werden.

       --pretty=
           Akzeptiert ein logisches Argument. Falls dieser Schalter nicht angegeben ist, ist die
           Vorgabe an, falls es von einem interaktiven Terminal aufgerufen wird, ansonsten aus.
           Steuert, ob eine benutzerfreundliche Tabelle angezeigt und graphisch die angewandten
           Änderungen dargestellt werden sollen.

       --definitions=
           Akzeptiert einen Dateisystempfad. Falls angegeben, werden die *.conf-Dateien aus dem
           angegebenen Verzeichnis gelesen, statt nach ihnen in /usr/lib/repart.d/*.conf,
           /etc/repart.d/*.conf, /run/repart.d/*.conf zu suchen.

       --key-file=
           Akzeptiert einen Dateisystempfad. Konfiguriert den zu verwendenden
           Verschlüsselungsschlüssel, wenn LUKS2-Datenträger mit der Einstellung Encrypt=key-file
           in Partitionsdateien eingerichtet werden. Sollte sich auf eine normale Datei, die den
           Schlüssel enthält, beziehen, oder ein AF_UNIX-Datenstrom-Socket im Dateisystem. In
           letzterem Fall wird zu dieser eine Verbindung aufgenommen und der Schlüssel daraus
           gelesen. Falls dieser Schalter nicht angegeben ist, wird der leere Schlüssel (d.h. ein
           Schlüssel der Länge Null) verwandt. Dieses Verhalten ist für die Einrichtung von
           verschlüsselten Partitionen während der frühen erstmaligen Systemstartphase nützlich,
           bei denen des vom Anwender bereitgestellte Passwort erst in einem späteren
           Einrichtungsschritt empfangen wird.

       --tpm2-device=, --tpm2-pcrs=
           Konfiguriert das TPM2-Gerät und die Liste der PCRs, die für mit der Option
           Encrypt=tpm2 konfigurierten LUKS2-Datenträger verwandt werden. Diese Option akzeptiert
           die gleichen Parameter wie die identisch benannte Option in systemd-cryptenroll(1) und
           hat die gleiche Auswirkung auf Partitionen, bei denen TPM2-Registrierung erbeten wird.

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

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

       --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 standardmäßig aktivierte JSON-Ausgabe auszuschalten).

EXIT-STATUS

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

SIEHE AUCH

       systemd(1), repart.d(5), machine-id(5), systemd-cryptenroll(1)

Ü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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.