Provided by: manpages-de_4.27.0-1_all 

BEZEICHNUNG
repart.d - Partitionsdefinitionsdateien für automatische Neupartitionierung beim Systemstart
ÜBERSICHT
/etc/repart.d/*.conf
/run/repart.d/*.conf
/usr/local/lib/repart.d/*.conf
/usr/lib/repart.d/*.conf
BESCHREIBUNG
repart.d/*.conf-Dateien beschreiben grundlegende Eigenschaften von Partitionen von Blockgeräten auf dem
lokalen System. Dies kann zur Erklärung von Typen, Namen und Größen von Partitionen, die existieren
sollen, verwandt werden. Der Dienst systemd-repart(8) liest diese Dateien und versucht, derzeit fehlende
Partitionen hinzuzufügen und Partitionen gemäß diesen Anforderungen zu vergrößern. Die Aktionen sind im
Allgemeinen inkrementell, d.h. dass bei der Anwendung Bestehendes intakt gelassen wird und Partitionen
niemals verkleinert, verschoben oder gelöscht werden.
Diese Definitionsdateien sind nützlich, um Betriebssystemabbilder zu realisieren, die mit minimaler Größe
vorbereitet und ausgeliefert werden (denen zum Beispiel Partitionen für Zustand und zum Auslagern fehlen)
und die beim ersten Systemstart von sämtlichem noch freien Platz gemäß einiger grundlegender Regeln
Besitz ergreifen.
Derzeit ist die Unterstützung für Partitionsdefinitionsdateien nur für GPT-Partitionstabellen
implementiert.
Partitionsdateien werden im Allgemeinen mit sämtlichen auf der Platte bereits existierenden Partitionen
mittels eines einfachen Algorithmus verglichen: die Partitionsdateien werden gemäß ihres Dateinamens
sortiert (wobei voranstehende Verzeichnisse ignoriert werden) und dann der Reihe nach mit bestehenden
Partitionen verglichen, bei denen die Partitionstyp-UUID übereinstimmt. Insbesondere wird der ersten
bestehenden Partition mit einer bestimmten Partitionstyp-UUID die erste Definitionsdatei mit der gleichen
Partitionstyp-UUID zugewiesen und der zweiten bestehenden Partition mit einer bestimmten
Partitionstyp-UUID die zweite Partitionsdatei mit der gleichen Typ-UUID und so weiter. Für alle
verbliebenen Partitionsdateien, die keine passende Partition haben, wird angenommen, dass sie neue
Partitionen definieren, die erstellt werden sollen. Solche Partitionen werden am Ende der
Partitionstabelle angehängt, in der Reihenfolge, die durch ihre Namen definiert ist, wobei die erste
Partitionsposition eingesetzt wird, die größer als die höchste derzeit verwandte Positionsnummer ist.
Alle bestehenden Partitionen, für die keine passende Partitionsdatei vorhanden ist, verbleiben
unverändert.
Beachten Sie, dass diese Definitionen nur zum Erstellen und Initialisieren neuer Partitionen oder zum
Vergrößern bestehender Partitionen verwandt werden können. In letzerem Fall wird es nicht die enthaltenen
Dateisysteme vergrößern, separate Mechanismen, wie systemd-growfs(8), können dazu verwandt werden, die
Dateisysteme innerhalb dieser Partitionen zu vergrößern. Partitionen können auch durch die Einstellung
GrowFileSystem= zum automatischen Vergrößern markiert werden. In diesem Fall wird das System beim
erstmaligen Einhängen durch Werkzeuge vergrößert, die diesen Schalter respektieren. Details werden
nachfolgend beschrieben.
[PARTITION]-ABSCHNITT-OPTIONEN
Type=
Die GPT-Partitionstyp-UUID, die verglichen werden soll. Dies kann eine GPT-Partitionstyp-UUID wie
4f68bce3-e8cd-4db1-96e7-fbcaf984b709 oder ein Kennzeichner sein.
Die unterstützen Kennzeichner sind:
Tabelle 1. GPT-Partitionstypkennzeichner
┌───────────────────────────┬────────────────────────────────────────────────┐
│ Kennzeichner │ Erklärung │
├───────────────────────────┼────────────────────────────────────────────────┤
│ esp │ EFI-Systempartition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ xbootldr │ Erweiterte │
│ │ Systemstartprogrammpartition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ swap │ Auslagerungspartition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ home │ Home- (/home/)-Partition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ srv │ Serverdaten- (/srv/)-Partition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ var │ Variable-Daten- (/var/)-Partition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ tmp │ Temporäre-Daten- │
│ │ (/var/tmp/)-Partition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ linux-generic │ Generische │
│ │ Linux-Dateisystem-Partition │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root │ Wurzeldateisystem-Partitionstyp, der │
│ │ für die lokale Architektur geeignet │
│ │ ist (ein Alias für einen der unten │
│ │ aufgeführten │
│ │ Architektur-Wurzeldateisystem-Partitionstypen, │
│ │ z.B. root-x86-64) │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-verity │ Verity-Daten für die │
│ │ Wurzeldateisystem-Partition für die lokale │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-verity-sig │ Verity-Signaturdaten für die │
│ │ Wurzeldateisystem-Partition für die lokale │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-secondary │ Wurzeldateisystem-Partition für die sekundäre │
│ │ Architektur der lokalen Architektur │
│ │ (normalerweise die 32-Bit-Architektur, die auf │
│ │ die lokale 64-Bit-Architektur passt) │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-secondary-verity │ Verity-Daten für die │
│ │ Wurzeldateisystem-Partition der sekundären │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-secondary-verity-sig │ Verity-Signaturdaten für die │
│ │ Wurzeldateisystem-Partition der sekundären │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-{arch} │ Wurzeldateisystempartition der angegebenen │
│ │ Architektur (wie root-x86-64 oder │
│ │ root-riscv64) │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-{arch}-verity │ Verity-Daten für die │
│ │ Wurzeldateisystem-Partition der angegebenen │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ root-{arch}-verity-sig │ Verity-Signaturdaten für die │
│ │ Wurzeldateisystem-Partition der angegebenen │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr │ /usr/-Dateisystem-Partitionstyp, der für die │
│ │ lokale Architektur geeignet ist (ein Alias für │
│ │ einen der unten aufgeführten │
│ │ Architektur-/usr/-Dateisystem-Partitionstypen, │
│ │ z.B. usr-x86-64) │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-verity │ Verity-Daten für die │
│ │ /usr/-Dateisystem-Partition für die lokale │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-verity-sig │ Verity-Signaturdaten für die │
│ │ /usr/-Dateisystem-Partition für die lokale │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-secondary │ /usr/-Dateisystem-Partition für die sekundäre │
│ │ Architektur der lokalen Architektur │
│ │ (normalerweise die 32-Bit-Architektur, die auf │
│ │ die lokale 64-Bit-Architektur passt) │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-secondary-verity │ Verity-Daten für die │
│ │ /usr/-Dateisystem-Partition der sekundären │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-secondary-verity-sig │ Verity-Signaturdaten für die │
│ │ /usr/-Dateisystem-Partition der sekundären │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-{arch} │ /usr/-Dateisystempartition für die angegebene │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-{arch}-verity │ Verity-Daten für die │
│ │ /usr/-Dateisystem-Partition der angegebenen │
│ │ Architektur │
├───────────────────────────┼────────────────────────────────────────────────┤
│ usr-{arch}-verity-sig │ Verity-Signaturdaten für die │
│ │ /usr/-Dateisystem-Partition der angegebenen │
│ │ Architektur │
└───────────────────────────┴────────────────────────────────────────────────┘
Architekturspezifische Partitionstypen können einen dieser Architekturkennzeichner verwenden: alpha,
arc, arm (32 bit), arm64 (64 bit, auch als aarch64 bekannt), ia64, loongarch64, mips-le, mips64-le,
parisc, ppc, ppc64, ppc64-le, riscv32, riscv64, s390, s390x, tilegx, x86 (32 bit, auch als i386
bekannt) und x86-64 (64 bit, auch als amd64 bekannt).
Die meisten der oben aufgeführten Partitionstyp-UUIDs sind in der Spezifikation für auffindbare
Partitionen[1] definiert.
Hinzugefügt in Version 245.
Label=
Die Plattenbezeichnung in Textform, die der Partition zugewiesen werden soll, falls noch keine
zugewiesen ist. Beachten Sie, dass diese Einstellung nicht für Vergleiche verwandt wird. Sie wird
auch nicht verwandt, falls für bestehende Partitionen bereits eine Bezeichnung gesetzt ist. Sie wird
daher nur verwandt, wenn eine Partition neu erstellt wird oder wenn eine bestehende Partition noch
keine Bezeichnung gesetzt hat (das bedeutet: eine leere Bezeichnung). Falls nicht angegeben, wird
automatisch eine Bezeichnung verwandt, die vom Partitionstyp abgeleitet wird. Einfache
Kennzeichner-Expansion wird unterstützt, siehe unten.
Hinzugefügt in Version 245.
UUID=
Die UUID, die der Partition zugewiesen werden soll, falls noch keine zugewiesen ist. Beachten Sie,
dass diese Einstellung nicht für Vergleiche verwandt wird. Sie wird auch nicht verwandt, falls für
bestehende Partitionen bereits eine UUID gesetzt ist. Sie wird daher nur verwandt, wenn eine
Partition neu erstellt wird oder wenn eine bestehende Partition eine komplett aus Nullen bestehende
UUID gesetzt hat. Falls auf »null« gesetzt, wird die UUID komplett auf Nullen gesetzt. Falls nicht
angegeben, wird automatisch eine UUID verwandt, die vom Partitionstyp abgeleitet wird.
Hinzugefügt in Version 246.
Priority=
Eine der Partition zuzuordnende numerische Priorität im Bereich -2147483648…2147483647. Kleinere
Zahlen zeigen hierbei höhere Priorität an und größere Zahlen niedrigere Priorität. Diese Priorität
wird verwandt, falls die konfigurierten Größenbeschränkungen nicht erlauben, dass alle Partitionen
auf den verfügbaren Plattenplatz passen. Falls die Partitionen nicht passen, wird die höchste
numerische Partitionspriorität aller definierten Partitionen bestimmt und alle definierten
Partitionen mit dieser Priorität werden aus der Liste der neu zu erstellenden Partitionen entfernt
(dies können mehrere sein, falls die gleiche Priorität für mehrere Partitionen verwandt wird). Der
Einpassungsalgorithmus wird dann erneut versucht. Falls die Partitionen immer noch nicht passen, wird
nun die jetzt höchste numerische Partitionspriorität bestimmt und die passenden Partitionen werden
auch entfernt, und so weiter. Partitionen mit einer Priorität von 0 oder niedriger werden niemals
entfernt. Falls alle Partitionen mit einer Priorität über 0 entfernt sind und die Partitionen immer
noch nicht auf das Gerät passen, schlägt die Aktion fehl. Beachten Sie, dass die Priorität keinen
Einfluss auf die Anordnung von Partitionen hat, verwenden Sie dafür die alphabetische Reihenfolge der
Dateinamen der Partitionsdefinitionsdateien. Standardmäßig 0.
Hinzugefügt in Version 245.
Weight=
Eine numerische Gewichtung im Bereich 0…1000000, das der Partition zugewiesen werden soll. Der
verfügbare Plattenplatz wird den definierten Partitionen gemäß ihrer relativen Gewichtung zugewiesen
(abhängig von den mit SizeMinBytes=, SizeMaxBytes= konfigurierten Größenbeschränkungen), so dass eine
Partition mit Gewichtung 2000 den doppelten Platz von einer mit Gewichtung 1000 bekommt und eine
Partition mit Gewichtung 333 ein Drittel davon. Standardmäßig 1000.
Die Einstellung Weight= wird zur Verteilung des verfügbaren Plattenplatzes auf »elastische« Art
verwandt, basierend auf der Plattengröße und bestehender Partitionen. Soll eine Partition eine feste
Größe haben, müssen Sie sowohl SizeMinBytes= als auch SizeMaxBytes= mit dem gleichen Wert verwenden,
um die Größe auf einen Wert festzulegen; die Gewichtung hat in diesem Fall keine Auswirkung.
Hinzugefügt in Version 245.
PaddingWeight=
Ähnlich zu Weight=, setzt aber ein Gewichtung für den freien Platz nach der Partitionierung (dem
»Padding«). Bei der Verteilung des verfügbaren Platzes wird die Gewichtung aller Partitionen und
aller definierten Paddings aufsummiert und dann erhält jede Partition und jedes Padding den durch
ihre Gewichtung bestimmten Anteil. Standardmäßig 0, d.h. standardmäßig wird kein Padding angewandt.
Padding ist nützlich, falls leerer Platz für spätere Ergänzungen oder als Sicherheitsabstand am Ende
des Gerätes oder zwischen Partitionen belassen werden soll.
Hinzugefügt in Version 245.
SizeMinBytes=, SizeMaxBytes=
Legt die minimalen und maximalen Größenbeschränkungen in Byte fest. Akzeptiert die gewöhnlichen
Endungen K, M, G, T … (zur Basis 1024). Falls SizeMinBytes= angegeben ist, wird die Partition mit
mindestens dieser Größe angelegt oder mindestens auf diese Größe vergrößert. Falls SizeMaxBytes=
angegeben ist, wird die Partition maximal mit der Größe angelegt oder auf diese Größe vergrößert. Die
genaue Größe wird mittels des durch Weight= angegebenen Gewichtungswertes festgelegt, siehe oben.
Wird SizeMinBytes= auf den gleichen Wert wie SizeMaxBytes= festgelegt, dann hat die konfigurierte
Gewichtung keine Auswirkung und die Partition wird auf genau diese feste Größe gesetzt. Beachten Sie,
dass niemals Partitionen kleiner als 4096 Byte angelegt werden und da Partitionen niemals verkleinert
werden, auch die vorhergehende Größe (falls die Partition bereits existiert) als Untergrenze für die
neue Größe erzwungen wird. Der Wert sollte als Vielfaches von 4096 Byte angegeben werden und wird
aufgerundet (falls SizeMinBytes=) oder andernfalls abgerundet (falls SizeMaxBytes=). Falls das
zugrundeliegende Gerät nicht genug Platz bereitstellt, um diese Beschränkungen zu erfüllen, wird das
Anlegen fehlschlagen. Wenn Partitionen angelegt werden sollen, dann könnten diese, abhängig von der
oben beschrieben Einstellung Priority=, entfallen und der Anlegealgorithmus neu gestartet werden.
Standardmäßig ist eine minimale Größenbeschränkung von 10 M und keine maximale Größenbeschränkungen
gesetzt.
Hinzugefügt in Version 245.
PaddingMinBytes=, PaddingMaxBytes=
Legt die minimalen und maximalen Größenbeschränkungen in Byte für den freien Platz nach der Partition
(des »Padding«) fest. Die Semantik ist ähnlich zu SizeMinBytes= und SizeMaxBytes=, außer das freier
Platz, anders als bei Partitionen, verkleinert und kleiner als Null werden kann. Standardmäßig sind
keine Größenbeschränkungen für Padding gesetzt, so dass ausschließlich PaddingWeight= die Größe des
angewandten Paddings bestimmt.
Hinzugefügt in Version 245.
CopyBlocks=
Akzeptiert einen Pfad zu einer regulären Datei, einem Blockgeräteknoten, einem zeichenorientierten
Geräteknoten oder Verzeichnis oder den besonderen Wert »auto«. Falls angegeben und die Partition neu
erstellt wird, werden die Daten von dem angegebenen Pfad auf die neu erstellte Partition auf
Block-Niveau geschrieben. Falls ein Verzeichnis angegeben ist, wird das zugrundeliegende Blockgerät
des Dateisystems, auf dem sich das Verzeichnis befindet, bestimmt, und die Daten werden direkt daraus
gelesen. Diese Option ist nützlich, um effizient bestehende Dateisysteme auf Block-Niveau auf neue
Partitionen zu vervielfältigen, beispielsweise um ein einfaches Betriebssysteminstallationsprogramm
oder Betriebssystem-Abbild-Erstellprogramm zu bauen. Geben Sie als Wert /dev/urandom an, um die
Partition mit zufälligen Daten zu initialisieren.
Falls der besondere Wert »auto« festgelegt ist, wird die Quelle, aus der kopiert wird, automatisch
vom laufenden System (oder dem mit --image= festgelegten Abbild — falls verwandt) aufgenommen. Eine
Partition, die sowohl auf den konfigurierten Partitionstyp (wie mit dem oben beschriebenen Type=
deklariert) passt als auch auf das aktuelle eingehängte Verzeichnis, das für diesen Paritionstyp
geeignet ist, wird bestimmt. Falls beispielsweise der Partitionstyp auf »root« gesetzt ist, wird die
dem Wurzelverzeichnis (/) zugrundeliegende Partition als Kopierquelle verwandt — falls deren
Partitionstyp auch auf »root« gesetzt ist. Falls der deklarierte Typ »usr« ist, wird die /usr/
zugrundeliegende Partition als Kopierquelle verwandt — falls deren Partitionstyp auch auf »usr«
gesetzt ist. Die Logik ist in der Lage, automatisch die verschlüsselten und Verity-aktivierten
Datenträgern zugrundeliegenden Partitionen zu ermitteln. »CopyBlocks=auto« ist nützlich, um
»selbst-replizierende Systeme« zu implementieren, d.h. Systeme, die ihr eigenes Installationsprogramm
sind.
Die hier angegebene Datei muss eine Größe haben, die ein Vielfaches der grundlegenden Blockgröße von
512 und nicht leer ist. Falls diese Option verwandt wird, wird der Größenzuweisungsalgorithmus leicht
geändert: die Partition wird mindestens so groß erstellt, damit die Daten hineinpassen, d.h. die
Datengröße ist ein zusätzlicher Minimalwert, der vom Zuweisungsalgorithmus in Betracht genommen wird,
ähnlich wie und ergänzend zu dem Wert SizeMin=, der weiter oben konfiguriert ist.
Diese Option hat keinen Effekt, falls die Partition, für die sie erklärt ist, bereits existiert, d.h.
bestehende Daten werden niemals überschrieben. Beachten Sie, dass die Daten hineinkopiert werden,
bevor die Partitionstabelle aktualisiert wird, d.h. bevor die Partition tatsächlich dauerhaft
erstellt wird. Dies macht das Verfahren robust: es wird garantiert, dass die Partition entweder gar
nicht existiert oder komplett befüllt ist; es ist nicht möglich, dass die Partition existiert, aber
nicht oder nur teilweise befüllt ist.
Diese Option kann nicht mit Format= oder CopyFiles= kombiniert werden.
Hinzugefügt in Version 246.
Format=
Akzeptiert einen Dateisystemnamen, wie »ext4«, »btrfs«, »xfs«, »vfat«, »erofs«, »squashfs« oder den
besonderen Wert »swap«. Falls dieser angegeben ist und die Partition frisch erstellt wurde, dann wird
diese mit dem angegebenen Dateisystem formatiert (oder als Auslagerungsgerät). Die Dateisystem-UUID
und -Kennzeichnung werden automatisch aus der Partitions-UUID und dem -Kennzeichen abgeleitet. Falls
diese Option verwandt wird, dann wird der Größenzuweisungsalgorithmus leicht geändert: die Partition
wird mindestens so groß erstellt, wie für das minimale Dateisystem des angegebenen Typs notwendig ist
(oder 4 kiB, falls die minimale Größe nicht bekannt ist).
Diese Option hat keine Auswirkung, falls die Partition bereits existiert.
Ähnlich dem Verhalten von CopyBlocks= wird das Dateisystem formatiert, bevor die Partition erstellt
wird, wodurch sichergestellt wird, dass die Partition immer über ein vollständig initialisiertes
Dateisystem verfügt.
Diese Option kann nicht mit CopyBlocks= kombiniert werden.
Hinzugefügt in Version 247.
CopyFiles=
Akzeptiert ein Paar, durch Doppelpunkt getrennte absolute Dateisystempfade. Der erste Pfad bezieht
sich auf eine Quelldatei oder ein Quellverzeichnis auf dem Rechner, der zweite Pfad bezieht sich auf
ein Ziel im Dateisystem der frisch erstellten Partition und deren formatiertes Dateisystem. Diese
Einstellung kann zum Kopieren von Dateien oder Verzeichnissen von dem Rechner auf das Dateisystem,
das aufgrund der Option Format= erstellt wird, verwandt werden. Falls CopyFiles= ohne explizit
angegebenen Format= verwandt wird, dann wird »Format=« mit einem geeigneten Vorgabewert angenommen
(derzeit »vfat« für »ESP«- und »XBOOTLDR«-Partitionen und »ext4« andernfalls, dies kann in Zukunft
aber geändert werden). Diese Option kann mehrfach verwandt werden, um mehrere Dateien oder
Verzeichnisse vom Rechner in das frisch formatierte Dateisystem zu kopieren. Falls der Doppelpunkt
und der zweite Pfad ausgelassen wird, dann wird der Quellpfad auch als der Zielpfad (relativ zu der
Wurzel des frisch erstellten Dateisystems) verwandt. Falls sich der Quellpfad auf ein Verzeichnis
bezieht, dann wird dieses rekursiv kopiert.
Diese Option hat keine Auswirkung, falls die Partition bereits existiert: sie kann nicht dazu
verwandt werden, zusätzliche Dateien auf eine bestehende Partition zu kopieren, sie kann nur zur
Befüllung eines frisch erstellten Dateisystems verwandt werden.
Die Kopieraktion wird ausgeführt, bevor das Dateisystem in der Partitionstabelle registriert wird.
Damit wird sichergestellt, dass ein so befülltes Dateisystem immer vollständig initialisiert
existiert.
Beachten Sie, dass CopyFiles= das Kopieren von Dateien überspringen wird, die vom Zieldateisystem
nicht unterstützt werden (z.B. Symlinks, FIFOs, Sockets und Geräte auf Vfat). Wenn ein nicht
unterstützter Dateityp angetroffen wird, wird systemd-repart das Kopieren der Datei überspringen und
eine Protokollmeldung dazu schreiben.
Beachten Sie, dass systemd-repart die UIDs/GIDs von kopierten Dateien und Verzeichnissen nicht ändern
wird. Wird systemd-repart als nicht privilegierter Benutzer ausgeführt, um ein Abbild von Dateien und
Verzeichnissen zu bauen, das dem gleichen Benutzer gehört, dann können Sie systemd-repart in einem
Benutzernamensraum ausführen, bei dem der aktuelle Benutzer auf den Benutzer root abgebildet ist, um
sicherzustellen, dass Dateien und Verzeichnisse in dem Abbild dem Benutzer root gehören.
Beachten Sie, dass bei der Befüllung von XFS-Dateisystemen mit systemd-repart und wenn Loop-Geräte
nicht verfügbar sind, das Befüllen von XFS-Dateisystemen mit Dateien, die Leerzeichen, Tabulatoren
oder Zeilenumbrüche enthalten, aufgrund von Beschränkungen des Protofile-Formats in alten Versionen
von mkfs.xfs(8) fehlschlagen könnte.
Beachten Sie, dass bei der Befüllung von XFS-Dateisystemen mit systemd-repart und wenn Loop-Geräte
nicht verfügbar sind, erweiterte Attribute aufgrund von Beschränkungen des Protofile-Formats von
mkfs.xfs(8) nicht in das erstellte XFS-Dateisystem kopiert werden.
Diese Option kann nicht mit CopyBlocks= kombiniert werden.
Wenn systemd-repart(8) mit dem Befehlszeilenschalter --copy-source= aufgerufen wird, wird der
Dateipfad als relativ zu dem festgelegten Verzeichnis angesetzt. Falls --copy-source= nicht verwandt
wird, aber die Schalter --image= oder --root= verwandt werden, werden die festgelegten Quellpfade als
relativ zu dem festgelegten Wurzelverzeichnis oder der Wurzel des Plattenabbilds angesetzt.
Hinzugefügt in Version 247.
ExcludeFiles=, ExcludeFilesTarget=
Akzeptiert einen oder mehrere absolute Dateisystempfade (getrennt durch Leerraumzeichen), bei der
sich jeder auf eine Quelldatei oder ein Quellverzeichnis auf dem Rechner bezieht. Diese Einstellung
kann zum Ausschluss von Dateien oder Verzeichnissen auf dem Rechner beim Kopieren in das Dateisystem
verwandt werden, wenn CopyFiles= eingesetzt wird. Diese Option kann mehrfach verwandt werden, um
mehrere Dateien oder Verzeichnisse vom Rechner vom Kopieren in das frisch formatierte Dateisystem
auszuschließen.
Falls der Pfad ein Verzeichnis ist und auf »/« endet, werden nur die Inhalte des Verzeichnisses
ausgeschlossen, aber nicht das Verzeichnis selbst. Falls der Pfad ein Verzeichnis ist und nicht auf
»/« endet, werden sowohl das Verzeichnis als auch seine Inhalte ausgeschlossen.
ExcludeFilesTarget= ist wie ExcludeFiles=, außer dass anstelle des Ausschlusses des Pfades auf dem
Rechner vom Kopieren in die Partition sämtliche Dateien und Verzeichnisse vom Kopieren in den
angegebenen Pfad in der Partition ausgeschlossen werden.
Wenn systemd-repart(8) mit dem Befehlszeilenschalter --image= oder --root= aufgerufen wird, werden
die festgelegten Pfade als relativ zu dem festgelegten Wurzelverzeichnis oder der Wurzel des
Plattenabbilds angesetzt.
Hinzugefügt in Version 254.
MakeDirectories=
Akzeptiert einen oder mehrere absolute Pfade, getrennt durch Leerraum, wobei jedes ein in dem neuen
Dateisystem zu erstellendes Verzeichnis deklariert. Das Verhalten ist ähnlich zu CopyFiles=, aber
statt eine Gruppe von Dateien zu kopieren, erstellt dies einfach die festgelegten Verzeichnisse mit
dem Vorgabemodus 0755 und Eigentümer und Gruppe »root«, sowie alle ihre übergeordneten Verzeichnisse
(mit der gleichen Eigentümerschaft und Zugriffsmodus). Um Verzeichnisse mit anderen
Eigentümerschaften oder Zugriffsmodi zu konfigurieren, verwenden Sie CopyFiles= und geben Sie einen
zu kopierenden Quellbaum an, der die Verzeichnisse mit geeigneter/konfigurierter Eigentümerschaft
enthält. Diese Option kann mehr als einmal verwandt werden, um mehrere Verzeichnisse zu
konfigurieren. Werden CopyFiles= und MakeDirectories= zusammen verwandt, wird erster zuerst
angewandt. Falls ein aufgeführtes Verzeichnis bereits existiert, wird keine Aktion durchgeführt
(insbesondere verbleiben die Eigentümerschaft und der Zugriffsmodus unverändert).
Der hauptsächliche Einsatzfall für diese Option ist die Erstellung einer minimalen Gruppe von
Verzeichnissen, über die Partitionen, die in dem gleichen Plattanabbild enthalten sind, eingehängt
werden können. Für ein Plattenabbild, bei dem das Wurzeldateisystem für den ersten Systemstart
formatiert ist, könnte es gewünscht sein, automatisch ein /usr/ auf diese Art vorzuerstellen, so dass
die Partition »usr« darüber eingehängt werden kann.
Ziehen Sie systemd-tmpfiles(8) mit der Option --image= in Betracht, um andere, komplexere
Verzeichnishierarchien (sowie andere Inodes) mit granularerer Steuerung der Eigentümerschaft, der
Zugriffsmodi und anderer Datei-Attribute zu erstellen.
Hinzugefügt in Version 249.
MakeSymlinks=
Akzeptiert eines oder mehrere, durch Leerraum getrennte Argumente, wobei jedes einen Symlink angibt,
der innerhalb des neuen Dateisystems angeleget werden soll. Jedes Argument ist ein Paar von
Symlinkquell- und -zielpfaden, getrennt durch einen Doppelpunkt. Diese Option kann mehr als einmal
verwandt werden, um mehrere Symlinks zu erstellen. Werden CopyFiles= und MakeSymlinks= zusammen
verwandt, wird ersterer zuerst angewandt.
Der Haupteinsatzfall für diese Option ist die Erstellung von Symlinks, die existieren müssen, bevor
systemd-tmpfiles(8) ausgeführt wird. Beim Einsatz von systemd-confext(8) wird diese Einstellung
beispielsweise zur Erstellung von Symlinks in /var/lib/extensions.mutable verwandt, um
Schreibaktionen in veränderliche Confext auf einen angepassten Ort umzuleiten.
Ziehen Sie systemd-tmpfiles(8) mit der Option --image= in Betracht, um andere Symlinks (sowie andere
Inodes) mit granularerer Steuerung der Eigentümerschaft, der Zugriffsmodi und anderer Datei-Attribute
zu erstellen.
Hinzugefügt in Version 257.
Subvolumes=
Akzeptiert einen oder mehrere, durch Leerraum getrennte absolute Pfade. Jeder erklärt ein
Verzeichnis, das ein Teildatenträger innerhalb eines neuen Dateisystems sein soll. Jedem Pfad kann
optional ein Doppelpunkt und eine durch Kommata getrennte Liste von Schaltern für Teildatenträger
folgen. Die folgenden Schalter werden verstanden:
Tabelle 2. Schalter für Teildatenträger
┌──────────┬───────────────────────────┐
│ Schalter │ Zweck │
├──────────┼───────────────────────────┤
│ "ro" │ Macht den Teildatenträger │
│ │ schreibgeschützt. │
└──────────┴───────────────────────────┘
Beachten Sie, dass diese Option nicht die Verzeichnisse selbst erzeugt, dies kann mit
MakeDirectories= und CopyFiles= konfiguriert werden.
Beachten Sie, dass diese Option nur wirksam wird, wenn das Zieldateisystem Teildatenträger
unterstützt, wie »btrfs«.
Beachten Sie, dass diese Option nur in Kombination mit --offline=yes seit btrfs-progs 6.11 oder neuer
unterstützt wird.
Hinzugefügt in Version 255.
DefaultSubvolume=
Akzeptiert einen absoluten Pfad, der den Standard-Unterdatenträger innerhalb des neuen Dateisystems
festlegt. Beachten Sie, dass diese Einstellung den Unterdatenträger selbst nicht erstellt, das kann
mit Subvolumes= konfiguriert werden.
Beachten Sie, dass diese Option nur wirksam wird, wenn das Zieldateisystem Teildatenträger
unterstützt, wie btrfs(8).
Beachten Sie, dass diese Option nur in Kombination mit --offline=yes seit btrfs-progs 6.11 oder neuer
unterstützt wird.
Hinzugefügt in Version 256.
Encrypt=
Akzeptiert entweder »off«, »key-file«, »tpm2« oder »key-file+tpm2«. (Alternativ wird auch ein
logischer Wert akzeptiert, der wenn false auf »off« und wenn true auf »key-file« abgebildet wird.)
Standardmäßig »off«. Falls nicht »off«, dann wird die Partition mit einem LUKS2-Superblock
formatiert, bevor die mit CopyBlocks= konfigurierten Blöcke kopiert werden oder das mit Format=
konfigurierte Dateisystem erstellt wird.
Die LUKS2-UUID wird automatisch aus der Partitions-UUID auf eine stabile Art abgeleitet. Falls
»key-file« oder »key-file+tpm2« verwandt wird, wird ein Schlüssel aus dem LUKS2-Superblock hinzufügt,
der mit der Option --key-file= von systemd-repart konfiguriert werden kann. Falls »tpm2« oder
»key-file+tpm2« verwandt wird, wird ein Schlüssel aus dem LUKS2-Superblock hinzugefügt, der bei dem
lokalen TPM2-Chip registriert wird, wie dies mit den Optionen --tpm2-device= und --tpm2-pcrs= von
systemd-repart konfiguriert werden kann.
Falls verwandt, dann wird die Größenzuweisungslogik leicht geändert, da die implizite minimalen
Größenbegrenzungen von Format= und CopyBlocks= um den für den LUKS2-Superblock benötigten Platz
erhöht werden (siehe oben).
Diese Option hat keine Auswirkung, falls die Partition bereits existiert.
Hinzugefügt in Version 247.
Verity=
Akzeptiert entweder »off«, »data«, »hash« oder »signature«. Standardmäßig »off«. Falls auf »off« oder
»data« gesetzt, wird die Partition mit Inhalt belegt, wie in CopyBlocks= oder CopyFiles= festgelegt.
Falls auf »hash« gesetzt, wird die Partition mit Verity-Hash-Daten aus der passenden
Verity-Datenpartition belegt. Falls auf »signature« gesetzt, wird die Partition mit einem JSON-Objekt
belegt, das eine Signatur des Verity-Wurzel-Hashes enthält, das auf die passende
Verity-Hash-Partition passt.
Eine passende Verity-Partition ist eine Partition, mit dem gleichen Verity-Übereinstimmungsschlüssel
(wie mittels VerityMatchKey= konfiguriert).
Falls nicht explizit konfiguriert, wird die UUID der Datenpartition auf die ersten 128 bit des
Verity-Wurzel-Hashes gesetzt. Ähnlich wird bei fehlender Konfiguration die UUID der Hash-Partition
auf die abschließenden 128 bit des Verity-Wurzel-Hashes gesetzt. Der Verity-Wurzel-Hash selbst wird
in die Ausgabe von systemd-repart(8) mit aufgenommen.
Diese Option hat keine Auswirkung, falls die Partition bereits existiert.
Die Verwendung dieser Option zusammen mit Encrypt= wird nicht unterstützt.
Für jeden eindeutigen Wert VerityMatchKey=, muss eine einzelne Verity-Datenpartition (»Verity=data«)
und eine einzelne Verity-Hash-Partition (»Verity=hash«) definiert sein.
Hinzugefügt in Version 252.
VerityMatchKey=
Akzeptiert eine kurze, benutzerdefinierte Kennzeichnerzeichenkette. Diese Einstellung wird dazu
verwandt, Geschwister-Verity-Partitionen für die aktuelle Verity-Partition zu finden. Siehe die
Beschreibung für Verity=.
Hinzugefügt in Version 252.
VerityDataBlockSizeBytes=
Konfiguriert die Datenblockgröße der erstellten Verity-Hash-Partition. Muss zwischen 512 und 4096
byte und eine Potenz von 2 sein. Standardmäßig die Sektorgröße, falls diese explizit konfiguriert
wurde oder die Sektorgröße des zugrundeliegenden Blockgerätes oder 4 kB, falls systemd-repart(8)
nicht auf einem Blockgerät agiert.
Hinzugefügt in Version 255.
VerityHashBlockSizeBytes=
Konfiguriert die Hash-Blockgröße der erstellten Verity-Hash-Partition. Muss zwischen 512 und 4096
byte und eine Potenz von 2 sein. Standardmäßig die Sektorgröße, falls explizit konfiguriert, oder die
zugrundeliegende Blockgerätesektorgröße oder 4 kB, falls systemd-repart(8) nicht auf einem Blockgerät
agiert.
Hinzugefügt in Version 255.
FactoryReset=
Akzeptiert ein logisches Argument. Falls angegeben, wird die Partition zum Entfernen während einer
»Zurück auf Werkseinstellung«-Aktion vorgemerkt. Diese Funktionalität ist für Schemata nützlich, bei
denen Abbilder auf ihren ursprünglichen Zustand durch die Entfernung von Partitionen und deren
Neuerstellung zurückgesetzt werden können. Standardmäßig aus.
Hinzugefügt in Version 245.
Flags=
Konfiguriert das 64-bit-GPT-Partitions-Schalter-Feld, um die Partition beim Erstellen einzustellen.
Diese Option hat keine Auswirkung, falls die Partition bereits existiert. Falls nicht festgelegt,
wird der Schalterwert komplett auf Nullen gesetzt, außer für die drei Bits, die auch mittels NoAuto=,
ReadOnly= und GrowFileSystem= konfiguriert werden können; siehe weiter unten für Details über die
Vorgaben für diese drei Schalter. Geben Sie den Schalterwert hexadezimal (durch Voranstellen von
»0x«), binär (»0b« voranstellen) oder dezimal (nichts voranzustellen) an.
Hinzugefügt in Version 249.
NoAuto=, ReadOnly=, GrowFileSystem=
Konfiguriert die Partitionsschalter »No-Auto«, »Read-Only« und »Grow-File-System« (Bit 3, 60 und 59)
des Partitionstabelleneintrags, wie er in der Spezifikation für auffindbare Partitionen[1] definiert
ist. Nur für von der Spezifikation unterstützte Partitionstypen verfügbar. Die Option ist eine nette
Art, die Bits 63, 60 und 59 des Partitionsschalterwerts zu setzen, ohne die anderen Bits, die mittels
Flags= gesetzt werden können, auch zu setzen, siehe oben.
Falls Flags= zusammen mit einem oder mehreren aus NoAuto=/ReadOnly=/GrowFileSystem= verwandt wird,
steuern die letzteren den Wert der relevanten Schalter, d.h. die abstrakten Einstellungen
NoAuto=/ReadOnly=/GrowFileSystem= setzten die relevanten Bits der systemnahen Einstellungen Flags=
außer Kraft.
Beachten Sie, dass die drei Schalter nur die automatische Einhängung von Partitionen betreffen, wie
sie von systemd-gpt-auto-generator(8) oder der Option --image= von verschiedenen Befehlen (wie
systemd-nspawn(1)) implementiert ist. Sie hat bei expliziten Einhängungen, wie sie über mount(8) oder
fstab(5) erfolgen, keine Auswirkungen.
Falls für eine Partition sowohl Bit 60 als auch Bit 59 gesetzt sind (d.h. die Partition ist sowohl
schreibgeschützt markiert als auch zum Vergrößern), hat letzteres typischerweise keine Auswirkung:
der Schreibschutz-Schalter hat bei den meisten Werkzeugen, die diese Schalter lesen, Vorrang, und da
das Vergrößern das Schreiben der Partition einschließt, wird es konsequent ignoriert.
NoAuto= ist standardmäßig ausgeschaltet. ReadOnly= ist für Verity-Partitionstypen standardmäßig
eingeschaltet und für alle anderen ausgeschaltet. GrowFileSystem= ist für alle Partitionstypen
eingeschaltet, die dies unterstützen, außer falls die Partition schreibgeschützt markiert ist (und
ist damit für Verity-Partitionen effektiv standardmäßig ausgeschaltet).).
Hinzugefügt in Version 249.
SplitName=
Konfiguriert die Endung, die an aufgeteilte Artefakte angehängt werden soll, wenn die Option --split
von systemd-repart(8) verwandt wird. Es wird eine einfache Kennzeichner-Expansion unterstützt, siehe
unten. Standardmäßig »%t«. Um die Erstellung aufgeteilter Artefakte für eine Partition zu
deaktivieren, setzen Sie SplitName= auf »-«.
Hinzugefügt in Version 252.
Minimize=
Akzeptiert entweder »off«, »best« oder »guess« (akzeptiert alternativ auch einen logischen Wert, der
auf »off« abgebildet wird, wenn er false ist, und auf »best«, wenn true. Standardmäßig »off«. Falls
auf »best« gesetzt, wird die Partition die minimal benötigte Größe haben, um die mit CopyFiles=
konfigurierten Quellen zu speichern. »best« wird derzeit nur für schreibgeschützte Dateisysteme
unterstützt. Falls auf »guess« gesetzt, wird die Partition mindestens so groß erstellt, dass die mit
CopyFiles= konfigurierten Quellen gespeichert werden können. Beachten Sie, dass systemd-repart das
Dateisystem zweimal befüllen muss, um die minimal benötigte Größe zu ermitteln (außer das Dateisystem
ist schreibgeschützt), daher könnte die Aktivierung dieser Option Repart bei der Befüllung großer
Partitionen verlangsamen.
Hinzugefügt in Version 253.
MountPoint=
Legt fest, wo und wie die Partition eingehängt werden soll. Akzeptiert mindestens ein und höchstens
zwei durch einen Doppelpunkt (»:«) getrennte Felder. Das erste Feld legt fest, wo die Partition
eingehängt werden soll. Das zweite Feld legt zusätzliche Einhängeoptionen fest, die an die
Standard-Einhängeoptionen angehängt werden sollen. Diese Felder entsprechen den zweiten und vierten
Spalten des Formats fstab(5). Diese Einstellung kann mehrfach angegeben werden, um die Partition
mehrfach einzuhängen. Dies kann zum Hinzufügen von Einhängungen für verschiedene
btrfs(8)-Unterdatenträger, die sich auf der gleichen btrfs(5)-Partition befinden, verwandt werden.
Beachten Sie, dass diese Einstellung nur berücksichtigt wird, wenn --generate-fstab= auf der
systemd-repart-Befehlszeile festgelegt wurde.
Hinzugefügt in Version 256.
EncryptedVolume=
Legt fest, wie die verschlüsselte Partition eingerichtet werden soll. Akzeptiert mindestens ein und
höchstens drei durch einen Doppelpunkt (»:«) getrennte Felder. Das erste Feld legt den
verschlüsselten Datenträgernamen unter /dev/mapper/ fest. Falls nicht angegeben, wird »luks-UUID«
verwandt, wobei »UUID« die LUKS-UUID ist. Das zweite Feld legt die zu verwendende Schlüsseldatei
fest, genauso festgelegt wie in crypttab(5). Das dritte Feld legt eine Kommata-getrennte Liste von
Crypttab-Optionen fest. Diese Felder entsprechen den zweiten, dritten und vierten Spalten des Formats
crypttab(5).
Beachten Sie, dass diese Einstellung nur berücksichtigt wird, wenn --generate-crypttab= auf der
systemd-repart-Befehlszeile festgelegt wurde.
Hinzugefügt in Version 256.
Compression=
Legt den Komprimierungsalgorithmus für das mit Format= konfigurierte Dateisystem fest. Akzeptiert ein
einzelnes Argument, das den Komprimierungsalgorithmus festlegt.
Beachten Sie, dass diese Einstellung nur berücksichtigt wird, wenn das mit Format= konfigurierte
Dateisystem Komprimierung unterstützt (btrfs(8), Squashfs, erofs(5)). Es folgt eine unvollständige
Liste der Komprimierungsalgorithmen, die von den systemd-repart bekannten Dateisystemen unterstützt
werden:
Tabelle 3. Dateisystem-Komprimierungsalgorithmen
┌──────────────┬────────────────────────────┬───────────────┐
│ Dateisysteme │ Kompressionsalgorithmen │ Dokumentation │
├──────────────┼────────────────────────────┼───────────────┤
│ squashfs │ gzip, lzo, lz4, xz, zstd, │ mksquashfs(1) │
│ │ lzma │ │
├──────────────┼────────────────────────────┼───────────────┤
│ erofs │ lz4, lz4hc, lzma, deflate, │ mkfs.erofs(1) │
│ │ libdeflate, zstd │ │
└──────────────┴────────────────────────────┴───────────────┘
Hinzugefügt in Version 257.
CompressionLevel=
Legt die Komprimierungsstufe für das mit Format= konfigurierte Dateisystem fest. Akzeptiert ein
einzelnes Argument, das die Komprimierungsstufe für den konfigurierten Komprimierungsalgorithmus
festlegt. Die möglichen Komprimierungsstufen und ihre Bedeutung hängen vom Dateisystem ab (lesen Sie
die Dokumentation des Dateisystems für die genaue Bedeutung einer bestimmten Komprimierungsstufe).
Beachten Sie, dass diese Einstellung nur berücksichtigt wird, wenn das mit Format= konfigurierte
Dateisystem Komprimierung unterstützt und die Einstellung Compression= explizit konfiguriert ist.
Hinzugefügt in Version 257.
SupplementFor=
Akzeptiert einen Partitionsnamen wie »10-esp«. Falls angegeben, wird systemd-repart die Erstellung
dieser Partition vermeiden und stattdessen bevorzugen, die zwei Definitionen teilweise
zusammenzuführen. Allerdings mag systemd-repart abhängig von der bestehenden Anordnung der
Partitionen auf der Platte dazu gezwungen sein, darauf zurückzufallen, die Definitionen zu trennen
und sie wie ursprünglich geschrieben zu verwenden, möglicherweise dabei die Partition zu erstellen.
Insbesondere fällt systemd-repart darauf zurück, falls die Partitionen bereits auf der Platte
gefunden wird oder falls die Zielpartition auf der Platte bereits existiert, aber zu klein ist oder
falls es nicht genug Platz für die zusammengeführten Partion aus anderen Gründen reservieren kann.
Die folgenden Felder werden in die Zieldefinition auf die angegebene Weise zusammengeführt: Weight=
und PaddingWeight= werden einfach überschrieben; SizeMinBytes= und PaddingMinBytes= verwenden den
größeren der zwei Werte; SizeMaxBytes= und PaddingMaxBytes= verwenden den kleineren Wert und
CopyFiles=, ExcludeFiles=, ExcludeFilesTarget=, MakeDirectories= und Subvolumes= werden
aneinandergehängt.
Die Verwendung dieser Option in Kombination mit CopyBlocks=, Encrypt= oder Verity= wird nicht
unterstützt. Die Zieldefinition kann diese Einstellungen auch nicht setzen. Eine Definition kann
nicht gleichzeitig eine Ergänzung sein und als ein Ziel für eine andere Ergänzungsdefinition agieren.
Ein Ziel kann nicht mehr als eine ihr zugeordnete Ergänzungspartition haben.
Beispielsweise können Distributionen dies zur Implementierung von $BOOT, wie das in der
Systemladerspezifikation[2] definiert ist, verwenden. Distributionen könnten, wenn möglich, die
Verwendung des ESP als $BOOT bevorzugen; um aber der XBOOTLDR-Spezifikation zu genügen, muss machmal
stattdessen XBOOTLDR verwandt werden. Daher sollten sie zwei Definitionen erstellen: die erste, die
ein ESP groß genug zur Aufnahme genau des Systemstartprogramms definiert und eine zweite für
XBOOTLDR, die hinreichend groß ist, um Kernel und Konfiguration als Ergänzung für den ESP
aufzunehmen. Wann immer möglich wird systemd-repart(8) versuchen, die zwei Definitionen
zusammenzuführen, um eine große ESP zu erstellen, falls dies aber aufgrund bestehender Bedingungen
auf der Platte nicht möglich ist, wird stattdessen eine kleine ESP und eine große XBOOTLDR erstellt.
Als weiteres Beispiel können dies Distributionen auch dazu verwenden, nahtlos eine einzelne
/home-Partition in einem Multi-Systemstart-Szenario gemeinsam zu benutzen, und standardmäßig /home
auf der Wurzelpartition zu bevorzugen. Befindet sich die /home-Partition getrennt von der
Wurzelpartition, führt dies zu zusätzlicher Komplexität: jemand muss entscheiden, wie der Platz
zwischen den beiden Partitionen aufgeteilt wird. Andererseits erlaubt dies einem Benutzer, seinen
Home-Bereich unter verschiedenen Betriebssystemen gemeinsam zu benutzen (d.h. mittels
systemd-homed.service (8)). Distributionen sollten zwei Definitionen erstellen: die erste für eine
Wurzelpartition, die ein relativ kleinen prozentualen Anteil der Platte verbraucht und die zweite als
Ergänzung für die erste, um eine /home-Partition zu erstellen, die den gesamten verbliebenen freien
Platz einnimmt. Beim ersten Systemstart wird systemd-repart(8), falls es eine bestehende
/home-Partition auf der Platte findet, die Definition trennen und nur eine kleine Wurzelpartition
erstellen. Andernfalls werden die Definitionen zusammengeführt und es wird eine einzige große
Wurzelpartition erstellt.
Hinzugefügt in Version 257.
KENNZEICHNER
In den Label=-, CopyBlocks=-, CopyFiles=-, MakeDirectories=-, SplitName=-Einstellungen können
Kennzeichner verwandt werden. Die folgenden Expansionen werden verstanden:
Tabelle 4. 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. │
├──────────────┼────────────────────────────────┼───────────────────────────────────────────┤
│ "%q" │ Schöner Rechnername │ Die schöne Rechnername des laufenden │
│ │ │ Systems, wie aus dem Feld │
│ │ │ PRETTY_HOSTNAME= in /etc/machine-info │
│ │ │ ausgelesen. Falls nicht gesetzt, wird es │
│ │ │ auf den kurzen Rechnernamen aufgelöst. │
│ │ │ Siehe machine-info(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 │ Dies ist entweder /tmp oder der Pfad, auf │
│ │ Dateien │ 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 │ Dies ist entweder /var/tmp oder der Pfad, │
│ │ dauerhafte temporäre Dateien │ 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. │
└──────────────┴────────────────────────────────┴───────────────────────────────────────────┘
Zusätzlich werden für die Einstellung SplitName= die folgenden Kennzeichner verstanden:
Tabelle 5. Verfügbare Kennzeichner
┌──────────────┬───────────────────────────┬──────────────────────────────┐
│ Kennzeichner │ Bedeutung │ Details │
├──────────────┼───────────────────────────┼──────────────────────────────┤
│ "%T" │ Partitionstyp-UUID │ Die Partitionstyp-UUID, wie │
│ │ │ mit Type= konfiguriert │
├──────────────┼───────────────────────────┼──────────────────────────────┤
│ "%t" │ Partitionstypkennzeichner │ Der │
│ │ │ Partitionstypkennzeichner, │
│ │ │ der der Partitionstyp-UUID │
│ │ │ entspricht │
├──────────────┼───────────────────────────┼──────────────────────────────┤
│ "%U" │ Partitions-UUID │ Die Partitions-UUID, wie mit │
│ │ │ UUID= konfiguriert │
├──────────────┼───────────────────────────┼──────────────────────────────┤
│ "%n" │ Partitionsnummer │ Die der Partition │
│ │ │ zugewiesene Partitionsnummer │
└──────────────┴───────────────────────────┴──────────────────────────────┘
UMGEBUNGSVARIABLEN
Mittels dateisystemspezifischer Variablen können zusätzliche Dateisystem-Formatieroptionen bereitgestellt
werden: $SYSTEMD_REPART_MKFS_OPTIONS_BTRFS, $SYSTEMD_REPART_MKFS_OPTIONS_XFS,
$SYSTEMD_REPART_MKFS_OPTIONS_VFAT, $SYSTEMD_REPART_MKFS_OPTIONS_EROFS und
$SYSTEMD_REPART_MKFS_OPTIONS_SQUASHFS. Jede Variable akzeptiert gültige
mkfs.filesystem-Befehlszeilenoptionen. Der Inhalt dieser Variablen wird unverändert an den Befehl
übergeben, ohne irgendwelche Überprüfung.
BEISPIELE
Beispiel 1. Vergrößern der Wurzelpartition während des ersten Systemstarts auf die gesamte Plattengröße
Mit der folgenden Datei wird die Wurzelpartition automatisch, falls möglich, auf die gesamte Platte
während des Systemstarts vergrößert.
# /usr/lib/repart.d/50-root.conf
[Partition]
Type=root
Beispiel 2. Automatisches Anlegen einer Auslagerungs- und Home-Partition beim Systemstart, falls diese
fehlen
Die Home-Partition bekommt sämtlichen verfügbaren Plattenplatz, während die Auslagerungspartition
mindestens 64 MB und maximal 1 GB bekommt. Die Priorität für die Auslagerungspartition wird auf > 0
gesetzt, um sicherzustellen, dass die Auslagerungspartition nicht verwandt wird, falls nicht genug Platz
verfügbar ist. Für jeweils drei der Home-Partition zugewiesenen Byte wird der Auslagerungspartition ein
Byte zugewiesen.
# /usr/lib/repart.d/60-home.conf
[Partition]
Type=home
# /usr/lib/repart.d/70-swap.conf
[Partition]
Type=swap
SizeMinBytes=64M
SizeMaxBytes=1G
Priority=1
Weight=333
Beispiel 3. B-Partitionen in einer A/B-Verity-Installation erzeugen, falls sie fehlen
Nehmen wir an, der Lieferant hat vor, Betriebssystemabbilder in einer A/B-Installation, d.h. mit zwei
Wurzelpartitionen (und zwei passenden Verity-Partitionen), zu aktualisieren, die dann während Upgrades
alternierend verwandt werden sollen. Um die Abbildgröße zu minimieren, wird das ursprüngliche Abbild nur
mit einer Wurzel und einer Verity-Partition (der Gruppe »A«) ausgeliefert und die zweite Wurzel- und
Verity-Partition (die Gruppe »B«) wird während des ersten Systemstarts im freien Bereich des Mediums
eingerichtet.
# /usr/lib/repart.d/50-root.conf
[Partition]
Type=root
SizeMinBytes=512M
SizeMaxBytes=512M
# /usr/lib/repart.d/60-root-verity.conf
[Partition]
Type=root-verity
SizeMinBytes=64M
SizeMaxBytes=64M
Die Definitionen decken die Gruppe »A« der Wurzelpartion (der festen Größe 512 MB) und der
Verity-Partition für die Wurzelpartition (der festen Größe 64 MB) ab. Mit Symlinks wird die Gruppe »B«
der Partitionen erstellt, da sie schließlich die gleichen Eigenschaften und Größen wie die Gruppe »A«
haben sollen.
# ln -s 50-root.conf /usr/lib/repart.d/70-root-b.conf
# ln -s 60-root-verity.conf /usr/lib/repart.d/80-root-verity-b.conf
Beispiel 4. Erstellen einer Daten- und entsprechender Verity-Partitionen aus einem Betriebssystembaum
Nehmen wir an, dass ein Betriebssystembaum unter /var/tmp/os-tree vorliegt, der in einer Wurzelpartition
zusammen mit passenden Verity-Partitionen paketiert werden soll. Wir können dann Folgendes durchführen:
# 50-root.conf
[Partition]
Type=root
CopyFiles=/var/tmp/os-tree
Verity=data
VerityMatchKey=root
Minimize=guess
# 60-root-verity.conf
[Partition]
Type=root-verity
Verity=hash
VerityMatchKey=root
# Hash- und Datenblockgrößen explizit auf 4K setzen
VerityDataBlockSizeBytes=4096
VerityHashBlockSizeBytes=4096
Minimize=best
# 70-root-verity-sig.conf
[Partition]
Type=root-verity-sig
Verity=signature
VerityMatchKey=root
SIEHE AUCH
systemd(1), systemd-repart(8), sfdisk(8), systemd-cryptenroll(1)
ANMERKUNGEN
1. Spezifikation für auffindbare Partitionen
https://uapi-group.org/specifications/specs/discoverable_partitions_specification
2. Systemladerspezifikation
https://uapi-group.org/specifications/specs/boot_loader_specification/
Ü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: debian-l10n-german@lists.debian.org.
systemd 257.6 REPART.D(5)