BESCHREIBUNG¶
Basierend auf den in repart.d(5) beschriebenen
Konfigurationsdateien kann systemd-repart Partitionstabellen erzeugen
und Partitionen hinzufügen oder vergrößern.
systemd-repart wird beim Bau von
Betriebssystemabbildern verwandt und auch beim Einsatz von Abbildern,
um sie während des Systemstarts automatisch auf das System, auf dem
sie betrieben werden, anzupassen. Damit können Abbilder eine minimale
Größe haben und beim Systemstart automatisch ergänzt
werden und von Plattenplatz Besitz ergreifen, der verfügbar ist.
Wird systemd-repart ohne Argumente aufgerufen, dann agiert
er auf dem Blockgerät, das dem Wurzeldateisystem des laufenden
Betriebssystems zugrundeliegt, womit Partitionen des gestarteten
Betriebssystemabbildes selbst hinzugefügt oder
vergrößert werden. 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.
Falls --image= verwandt wird, wird er auf dem festgelegten
Gerät oder der Abbild-Datei agieren. Der Dienst
systemd-repart.service wird im Allgemeinen beim Systemstart in der Initrd
ausgeführt, um die Partitionstabelle des Betriebssystems zu
ergänzen, bevor deren Partitionen eingehängt werden.
systemd-repart-Aktionen sind größtenteils
inkrementell: er vergrößert bestehende Partitionen oder
fügt neue Partitionen hinzu; aber 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.
Es werden unter anderem folgende 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). Für jede Konfigurationsdatei werden
Ergänzungsdateien in Verzeichnissen mit dem gleichen Namen wie die
Konfigurationsdatei mit ergänzter Endung ».d«
geladen.
2.Die Partitionstabelle auf dem Blockgerät wird
geladen und ausgewertet, falls vorhanden.
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 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 verglichen wurde,
wird als Aufforderung behandelt, solch eine Partition zu erstellen.
4.Zu erstellende Partitionen werden jetzt auf der Platte
reserviert, wobei die Größenbeschränkungen und die in den
Konfigurationsdateien erklärten Gewichtungen berücksichtigt
werden. Freier Platz wird unter Berücksichtigung der
Größe und Padding-Anforderungen belegt. Zusätzlich 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.
Partitionen werden niemals neu sortiert, daher bleiben Partitionsnummern
stabil. Wenn Partionen erstellt werden, werden sie im kleinsten Bereich des
freien Platzes angelegt, der groß genug ist, die Größen-
und Padding-Beschränkungen zu erfüllen. Das bedeutet, dass
Partitionen eine andere Reihenfolge auf Platte als in der Partitionstabelle
haben können. Beachten Sie, dass diese Reservierung
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. Dies erfolgt auch nur im
Arbeitsspeicher.
8.Der den neuen Partitionen zugewiesene Plattenplatz
(d.h. was bisher freier Platz war) 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 inkrementellen Arbeitsweise kann
systemd-repart 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
standardmäßig nur Partitionstabellen ändert, es
erstellt oder vergrößert keine Dateisysteme innerhalb dieser
Partitionen, außer die Konfigurationsoption Format= ist
angegeben. Beachten Sie auch, dass für diesen Zweck separate
Mechanismen verfügbar sind, 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 oder eine
normale Datei angeben, auf dem/der agiert werden soll. 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.
Hinzugefügt in Version 245.
--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.
Hinzugefügt in Version 245.
--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.
Hinzugefügt in Version 245.
--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.
Hinzugefügt in Version 246.
--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.
Hinzugefügt in Version 245.
--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.
Hinzugefügt in Version 245.
--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 Initrd 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.
Siehe --copy-source= für eine beschränktere
Option, die nur CopyFiles= betrifft.
Hinzugefügt in Version 245.
--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.
Hinzugefügt in Version 249.
--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.
--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.
Hinzugefügt in Version 245.
--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.
Hinzugefügt in Version 245.
--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.
Dieser Parameter kann mehrmals angegeben werden.
Hinzugefügt in Version 245.
--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.
Hinzugefügt in Version 247.
--private-key=
Akzeptiert einen Dateisystempfad. Konfiguriert den bei
der Erstellung von Verity-Signaturpartitionen mit der Einstellung
Verity=signature in Partitionsdateien zu verwendenen
Signaturschlüssel.
Hinzugefügt in Version 252.
--private-key-source=
Akzeptiert entweder »file«,
»engine« oder »provider«. Außer bei
»file« folgt der Name eines Providers (Anbieters) oder eine
Engine, getrennt durch einen Doppelpunkt, der an die »Engine«-
oder »Anbieter«-Logik von OpenSSL übergeben wird.
Konfiguriert den bei der Erstellung von Verity-Signaturpartitionen mit der
Einstellung
Verity=signature in Partitionsdateien zu verwendenen
Signaturmechanismus.
Hinzugefügt in Version 256.
--certificate=
Akzeptiert einen Dateisystempfad. Konfiguriert das bei
der Erstellung von Verity-Signaturpartitionen mit der Einstellung
Verity=signature in Partitionsdateien zu verwendene PEM-kodierte
X.509-Zertifikat.
Hinzugefügt in Version 252.
--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.
Hinzugefügt in Version 248.
--tpm2-device-key=PFAD,
--tpm2-seal-key-handle=REFERENZ
Konfiguriert einen TPM2-SRK-Schlüssel, an den die
Verschlüsselung gebunden wird. Siehe
systemd-cryptenroll(1)
für Details zu dieser Option.
Hinzugefügt in Version 255.
--tpm2-public-key=PFAD,
--tpm2-public-key-pcrs=PCR[+PCR…]
Konfiguriert eine TPM2-signierte PCR-Richtlinie, an die
die Verschlüsselung gebunden wird. Siehe
systemd-cryptenroll(1)
für Details zu diesen zwei Optionen.
Hinzugefügt in Version 252.
--tpm2-pcrlock=PFAD
Konfiguriert eine TPM2-Pcrlock-Richtlinie, an die die
Verschlüsselung gebunden wird. Siehe
systemd-cryptenroll(1)
für Details zu dieser Option.
Hinzugefügt in Version 255.
--split=LOGISCH
Aktiviert die Erstellung von geteilten Artefakten von
Partitionen, die mit
SplitName= konfiguriert wurden. Falls aktiviert,
wird für jede Partition mit gesetztem
SplitName= eine getrennte
Ausgabedatei erstellt, die nur den Inhalt dieser Partition enthält. Der
Ausgabedateiname besteht aus dem Loopback-Dateinamen, dem der mit
SplitName= konfigurierte Name angehängt wird. Falls der
Loopback-Dateiname auf ».raw« endet, wird die neue Endung
stattdessen vor der Erweiterung ».raw« eingefügt.
Beachten Sie, dass --split unabhängig von
--dry-run ist. Selbst wenn --dry-run aktiviert ist, werden die
Trennungsartefakte weiterhin aus einem bestehenden Abbild erstellt, falls
--split aktiviert ist.
Hinzugefügt in Version 252.
--include-partitions=PARTITIONEN,
--exclude-partitions=PARTITIONEN
Diese Optionen legen fest, auf welchen Partitionstypen
systemd-repart agieren sollte. Falls
--include-partitions=
verwandt wird, werden alle Partitionen, die nicht festgelegt wurden,
ausgeschlossen. Falls
--exclude-partitions= verwandt wird, werden alle
Partitionen, die festgelegt wurden, ausgeschlossen. Beide Optionen akzeptieren
eine Kommata-getrennte Liste von GPT-Partitionstyp-UUIDs oder -Kennzeichner
(siehe
Type= in
repart.d(5)).
Hinzugefügt in Version 253.
--defer-partitions=PARTITIONEN
Diese Option legt fest, welche Partitionstypen
systemd-repart zurückstellen soll. Alle mit dieser Option
zurückgestellten Partitionen werden weiterhin bei der Berechnung der
Größen und Versätze anderer Partitionen
berücksichtigt, aber nicht tatsächlich auf die Plattenabbilder
geschrieben. Die Gesamtauswirkung dieser Option besteht darin, dass bei der
erneuten Ausführung von
systemd-repart ohne diese Option die
fehlenden Partitionen hinzugefügt werden, als ob sie nicht bei der
ersten Ausführung von
systemd-repart zurückgestellt
worden wären.
Hinzugefügt in Version 253.
--sector-size=BYTE
Diese Option ermöglicht die Konfiguration der
Sektorgrößen von durch
systemd-repart erstellten
Abbildern. Sie akzeptiert einen Wert, der eine Potenz von »2«
zwischen »512« und »4096« ist. Diese Option ist
bei der Erstellung von Abbildern für Platten nützlich, die eine
andere Sektorengröße als die Platte verwenden, auf der das
Abbild erstellt wird.
Hinzugefügt in Version 253.
--architecture=ARCH
Diese Option erlaubt das Außerkraftsetzen der
für die Architektur-spezifischen Partitionstypen verwandten
Architektur. Wird sie beispielsweise auf »arm64« gesetzt, wird
ein in repart.d/-Ergänzungen referenzierter Partitionstyp
»root-x86-64« stattdessen dynamisch als Referenz auf
»root-arm64« eingefügt. Akzeptiert entweder
»alpha«, »arc«, »arm«,
»arm64«, »ia64«, »loongarch64«,
»mips-le«, »mips64-le«, »parisc«,
»ppc«, »ppc64«, »ppc64-le«,
»riscv32«, »riscv64«, »s390«,
»s390x«, »tilegx«, »x86« oder
»x86-64«.
Hinzugefügt in Version 254.
--offline=LOGISCH
Weist
systemd-repart an, das Abbild offline zu
bauen. Akzeptiert einen logischen Wert oder »auto«.
Standardmäßig »auto«. Falls aktiviert, wird das
Abbild ohne die Verwendung von Loop-Geräten gebaut. Dies ist
nützlich, um Abbilder ohne Privilegien zu bauen oder wenn
Loop-Geräte nicht verfügbar sind. Falls deaktiviert, wird das
Abbild immer unter Verwendung von Loop-Geräten gebaut. Falls
»auto«, wird
systemd-repart die Abbilder falls
möglich online bauen und auf den offline-Bau zurückfallen, falls
Loop-Geräte nicht verfügbar oder aufgrund fehlender
Berechtigungen nicht im Zugriff sind.
Hinzugefügt in Version 254.
--copy-from=ABBILD
Weist
systemd-repart an, Partitionsdefinitionen
aus der Partitionstabelle des angegebenen Abbilds zu generieren. Diese Option
kann mehrfach angegeben werden, um Definitionen aus jeder der angegebenen
Abbilder zu generieren. Die generierten Definitionen werden die Partitionen in
die Zielpartitionstabelle kopieren. Die kopierten Partitionen werden die
gleiche Größen, Metadaten und Inhalte haben, könnten aber
eine andere Partitionsnummer haben und sich an verschiedenen Versätzen
in der Zielpartitionstabelle befinden. Diese Definitionen können mit
Partitionsdefinitionen kombiniert werden, die von normalen
Partitionsdefinitionsdateien ausgelesen werden. Die generierten Definitionen
haben gegenüber aus Partitionsdefinitionsdateien gelesenen Definitionen
Vorrang.
Hinzugefügt in Version 255.
--copy-source=PFAD, -s PFAD
Gibt ein Quellverzeichnis an, zu dem alle Quellpfade
CopyFiles= als relativ betrachtet werden sollen. Dies ist
ähnlich zu
--root=, gilt aber ausschließlich für
die Einstellung
CopyFiles=. Falls
--root= und
--copy-source= zusammen verwandt werden, gilt erstere wie
gewöhnlich, außer für
CopyFiles=, wo letztere
Vorrang hat.
Hinzugefügt in Version 255.
--make-ddi=TYP
Akzeptiert entweder »sysext«,
»confext« oder »portable«. Erstellt ein
»Discoverable Disk Image« (DDI, Erkennbares Plattenabbild)
für eine Systemerweiterung (Sysext, siehe
systemd-sysext(8) zu
Details), eine Konfigurationserweiterung (Confext) oder
portierbare
Dienste[1]. Das generierte Abbild wird aus einem signierten
Verity-»erofs«-Dateisystem als Wurzelpartition bestehen. In
diesem Betriebsmodus werden die in /usr/lib/repart.d/*.conf und verwandten
Verzeichnissen befindlichen Partitionsdefinitionen nicht gelesen und
--definitions= wird nicht unterstützt, da die geeigneten
Definitionen für ausgewählte DDI-Klassen automatisch
ausgewählt werden.
Muss im Zusammenhang mit --copy-source= verwandt werden, um
die Dateihierarchie festzulegen, mit der das DDI befüllt wird. Das
angegebene Verzeichnis sollte ein Unterverzeichnis »etc/«
enthalten, falls »confext« ausgewählt ist. Falls
»sysext« ausgewählt ist, sollte es ein Verzeichnis
»usr/« oder »opt/« oder beide enthalten. Falls
»portable« verwandt wird, kann eine vollständige
Betriebssystemhierarchie bereitgestellt wird.
Diese Option impliziert --empty=create, --size=auto
und --seed=random (letztere kann außer Kraft gesetzt
werden).
Der zur Signatur des DDI vewandte private Schlüssel und das
Zertifikat muss mit den Schaltern --private-key= und
--certificate= angegeben werden.
Hinzugefügt in Version 255.
-S, -C, -P
Abkürzungen für
--make-ddi=sysext,
--make-ddi=confext bzw.
--make-ddi=portable.
Hinzugefügt in Version 255.
--generate-fstab=PFAD
Gibt einen Pfad an, an den
fstab(5)-Einträge für die mittels
MountPoint=
konfigurierten Einhängepunktes geschrieben werden. Der
Einhängepunkt wird mittels
--copy-source= oder
--root=
angegeben. Falls keiner davon angegegeben ist, wird das Wurzelverzeichnis der
Hauptmaschine verwandt. Standardmäßig deaktiviert.
Hinzugefügt in Version 256.
--generate-crypttab=PFAD
Gibt einen Pfad an, an den Crypttab-Einträge
für die mittels
EncryptedVolume= in dem mit
--copy-source= angegebenen Wurzelverzeichnis geschrieben werden. Der
Crypttab-Eintrag wird mittels
--copy-source= oder
--root=
angegeben. Falls keiner davon angegegeben ist, wird das Wurzelverzeichnis der
Hauptmaschine verwandt. Standardmäßig deaktiviert.
Hinzugefügt in Version 256.
-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 JSON-Ausgabe auszuschalten, was die Vorgabe
ist).