REPART.D(5) repart.d REPART.D(5) BEZEICHNUNG repart.d - Partitionsdefinitionsdateien fur automatische Neupartitionierung beim Systemstart UBERSICHT /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 Blockgeraten auf dem lokalen System. Dies kann zur Erklarung von Typen, Namen und Grossen von Partitionen, die existieren sollen, verwandt werden. Der Dienst systemd-repart(8) liest diese Dateien und versucht, derzeit fehlende Partitionen hinzuzufugen und Partitionen gemass diesen Anforderungen zu vergrossern. Die Aktionen sind im Allgemeinen inkrementell, d.h. dass bei der Anwendung Bestehendes intakt gelassen wird und Partitionen niemals verkleinert, verschoben oder geloscht werden. Diese Definitionsdateien sind nutzlich, um Betriebssystemabbilder zu realisieren, die mit minimaler Grosse vorbereitet und ausgeliefert werden (denen zum Beispiel Partitionen fur Zustand und zum Auslagern fehlen) und die beim ersten Systemstart von samtlichem noch freien Platz gemass einiger grundlegender Regeln Besitz ergreifen. Derzeit ist die Unterstutzung fur Partitionsdefinitionsdateien nur fur GPT-Partitionstabellen implementiert. Partitionsdateien werden im Allgemeinen mit samtlichen auf der Platte bereits existierenden Partitionen mittels eines einfachen Algorithmus verglichen: die Partitionsdateien werden gemass ihres Dateinamens sortiert (wobei voranstehende Verzeichnisse ignoriert werden) und dann der Reihe nach mit bestehenden Partitionen verglichen, bei denen die Partitionstyp-UUID ubereinstimmt. 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. Fur 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 angehangt, in der Reihenfolge, die durch ihre Namen definiert ist, wobei die erste Partitionsposition eingesetzt wird, die grosser als die hochste derzeit verwandte Positionsnummer ist. Alle bestehenden Partitionen, fur die keine passende Partitionsdatei vorhanden ist, verbleiben unverandert. Beachten Sie, dass diese Definitionen nur zum Erstellen und Initialisieren neuer Partitionen oder zum Vergrossern bestehender Partitionen verwandt werden konnen. In letzerem Fall wird es nicht die enthaltenen Dateisysteme vergrossern, separate Mechanismen, wie systemd-growfs(8), konnen dazu verwandt werden, die Dateisysteme innerhalb dieser Partitionen zu vergrossern. Partitionen konnen auch durch die Einstellung GrowFileSystem= zum automatischen Vergrossern markiert werden. In diesem Fall wird das System beim erstmaligen Einhangen durch Werkzeuge vergrossert, 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 unterstutzen Kennzeichner sind: Tabelle 1. GPT-Partitionstypkennzeichner +--------------------------+------------------------------------------------+ |Kennzeichner | Erklarung | +--------------------------+------------------------------------------------+ |esp | EFI-Systempartition | +--------------------------+------------------------------------------------+ |xbootldr | Erweiterte Systemstartprogrammpartition | +--------------------------+------------------------------------------------+ |swap | Auslagerungspartition | +--------------------------+------------------------------------------------+ |home | Home- (/home/)-Partition | +--------------------------+------------------------------------------------+ |srv | Serverdaten- (/srv/)-Partition | +--------------------------+------------------------------------------------+ |var | Variable-Daten- (/var/)-Partition | +--------------------------+------------------------------------------------+ |tmp | Temporare-Daten- (/var/tmp/)-Partition | +--------------------------+------------------------------------------------+ |linux-generic | Generische Linux-Dateisystem-Partition | +--------------------------+------------------------------------------------+ |root | Wurzeldateisystem-Partitionstyp, der fur die | | | lokale Architektur geeignet ist (ein Alias fur | | | einen der unten aufgefuhrten | | | Architektur-Wurzeldateisystem-Partitionstypen, | | | z.B. root-x86-64) | +--------------------------+------------------------------------------------+ |root-verity | Verity-Daten fur die | | | Wurzeldateisystem-Partition fur die lokale | | | Architektur | +--------------------------+------------------------------------------------+ |root-verity-sig | Verity-Signaturdaten fur die | | | Wurzeldateisystem-Partition fur die lokale | | | Architektur | +--------------------------+------------------------------------------------+ |root-secondary | Wurzeldateisystem-Partition fur die sekundare | | | Architektur der lokalen Architektur | | | (normalerweise die 32-Bit-Architektur, die auf | | | die lokale 64-Bit-Architektur passt) | +--------------------------+------------------------------------------------+ |root-secondary-verity | Verity-Daten fur die | | | Wurzeldateisystem-Partition der sekundaren | | | Architektur | +--------------------------+------------------------------------------------+ |root-secondary-verity-sig | Verity-Signaturdaten fur die | | | Wurzeldateisystem-Partition der sekundaren | | | Architektur | +--------------------------+------------------------------------------------+ |root-{arch} | Wurzeldateisystempartition der angegebenen | | | Architektur (wie root-x86-64 oder | | | root-riscv64) | +--------------------------+------------------------------------------------+ |root-{arch}-verity | Verity-Daten fur die | | | Wurzeldateisystem-Partition der angegebenen | | | Architektur | +--------------------------+------------------------------------------------+ |root-{arch}-verity-sig | Verity-Signaturdaten fur die | | | Wurzeldateisystem-Partition der angegebenen | | | Architektur | +--------------------------+------------------------------------------------+ |usr | /usr/-Dateisystem-Partitionstyp, der fur die | | | lokale Architektur geeignet ist (ein Alias fur | | | einen der unten aufgefuhrten | | | Architektur-/usr/-Dateisystem-Partitionstypen, | | | z.B. usr-x86-64) | +--------------------------+------------------------------------------------+ |usr-verity | Verity-Daten fur die | | | /usr/-Dateisystem-Partition fur die lokale | | | Architektur | +--------------------------+------------------------------------------------+ |usr-verity-sig | Verity-Signaturdaten fur die | | | /usr/-Dateisystem-Partition fur die lokale | | | Architektur | +--------------------------+------------------------------------------------+ |usr-secondary | /usr/-Dateisystem-Partition fur die sekundare | | | Architektur der lokalen Architektur | | | (normalerweise die 32-Bit-Architektur, die auf | | | die lokale 64-Bit-Architektur passt) | +--------------------------+------------------------------------------------+ |usr-secondary-verity | Verity-Daten fur die | | | /usr/-Dateisystem-Partition der sekundaren | | | Architektur | +--------------------------+------------------------------------------------+ |usr-secondary-verity-sig | Verity-Signaturdaten fur die | | | /usr/-Dateisystem-Partition der sekundaren | | | Architektur | +--------------------------+------------------------------------------------+ |usr-{arch} | /usr/-Dateisystempartition fur die angegebene | | | Architektur | +--------------------------+------------------------------------------------+ |usr-{arch}-verity | Verity-Daten fur die | | | /usr/-Dateisystem-Partition der angegebenen | | | Architektur | +--------------------------+------------------------------------------------+ |usr-{arch}-verity-sig | Verity-Signaturdaten fur die | | | /usr/-Dateisystem-Partition der angegebenen | | | Architektur | +--------------------------+------------------------------------------------+ Architekturspezifische Partitionstypen konnen 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 aufgefuhrten Partitionstyp-UUIDs sind in der UAPI.2-Spezifikation fur auffindbare Partitionen[1] definiert. Hinzugefugt 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 fur Vergleiche verwandt wird. Sie wird auch nicht verwandt, falls fur 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 unterstutzt, siehe unten. Hinzugefugt in Version 245. VolumeLabel= Die Bezeichnung in Textform, die dem LUKS-Superblock zugewiesen werden soll, falls zutreffend. Falls nicht angegeben, ist die Vorgabe die gleiche Zeichenkette wie die Partitionsbezeichung (siehe Label= weiter oben), der allerdings >>luks-<< vorangestellt ist. Diese Einstellung hat nur eine Auswirkung, falls fur die Partition Verschlusselung eingestellt ist. Hinzugefugt in Version 259. UUID= Die UUID, die der Partition zugewiesen werden soll, falls noch keine zugewiesen ist. Beachten Sie, dass diese Einstellung nicht fur Vergleiche verwandt wird. Sie wird auch nicht verwandt, falls fur 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. Hinzugefugt in Version 246. Priority= Eine der Partition zuzuordnende numerische Prioritat im Bereich -21474836482147483647. Kleinere Zahlen zeigen hierbei hohere Prioritat an und grossere Zahlen niedrigere Prioritat. Diese Prioritat wird verwandt, falls die konfigurierten Grossenbeschrankungen nicht erlauben, dass alle Partitionen auf den verfugbaren Plattenplatz passen. Falls die Partitionen nicht passen, wird die hochste numerische Partitionsprioritat aller definierten Partitionen bestimmt und alle definierten Partitionen mit dieser Prioritat werden aus der Liste der neu zu erstellenden Partitionen entfernt (dies konnen mehrere sein, falls die gleiche Prioritat fur mehrere Partitionen verwandt wird). Der Einpassungsalgorithmus wird dann erneut versucht. Falls die Partitionen immer noch nicht passen, wird nun die jetzt hochste numerische Partitionsprioritat bestimmt und die passenden Partitionen werden auch entfernt, und so weiter. Partitionen mit einer Prioritat von 0 oder niedriger werden niemals entfernt. Falls alle Partitionen mit einer Prioritat uber 0 entfernt sind und die Partitionen immer noch nicht auf das Gerat passen, schlagt die Aktion fehl. Beachten Sie, dass die Prioritat keinen Einfluss auf die Anordnung von Partitionen hat, verwenden Sie dafur die alphabetische Reihenfolge der Dateinamen der Partitionsdefinitionsdateien. Standardmassig 0. Hinzugefugt in Version 245. Weight= Eine numerische Gewichtung im Bereich 01000000, das der Partition zugewiesen werden soll. Der verfugbare Plattenplatz wird den definierten Partitionen gemass ihrer relativen Gewichtung zugewiesen (abhangig von den mit SizeMinBytes=, SizeMaxBytes= konfigurierten Grossenbeschrankungen), 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. Standardmassig 1000. Die Einstellung Weight= wird zur Verteilung des verfugbaren Plattenplatzes auf >>elastische<< Art verwandt, basierend auf der Plattengrosse und bestehender Partitionen. Soll eine Partition eine feste Grosse haben, mussen Sie sowohl SizeMinBytes= als auch SizeMaxBytes= mit dem gleichen Wert verwenden, um die Grosse auf einen Wert festzulegen; die Gewichtung hat in diesem Fall keine Auswirkung. Hinzugefugt in Version 245. PaddingWeight= Ahnlich zu Weight=, setzt aber ein Gewichtung fur den freien Platz nach der Partitionierung (dem >>Padding<<). Bei der Verteilung des verfugbaren Platzes wird die Gewichtung aller Partitionen und aller definierten Paddings aufsummiert und dann erhalt jede Partition und jedes Padding den durch ihre Gewichtung bestimmten Anteil. Standardmassig 0, d.h. standardmassig wird kein Padding angewandt. Padding ist nutzlich, falls leerer Platz fur spatere Erganzungen oder als Sicherheitsabstand am Ende des Gerates oder zwischen Partitionen belassen werden soll. Hinzugefugt in Version 245. SizeMinBytes=, SizeMaxBytes= Legt die minimalen und maximalen Grossenbeschrankungen in Byte fest. Akzeptiert die gewohnlichen Endungen K, M, G, T (zur Basis 1024). Falls SizeMinBytes= angegeben ist, wird die Partition mit mindestens dieser Grosse angelegt oder mindestens auf diese Grosse vergrossert. Falls SizeMaxBytes= angegeben ist, wird die Partition maximal mit der Grosse angelegt oder auf diese Grosse vergrossert. Die genaue Grosse 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 Grosse gesetzt. Beachten Sie, dass niemals Partitionen kleiner als 4096 Byte angelegt werden und da Partitionen niemals verkleinert werden, auch die vorhergehende Grosse (falls die Partition bereits existiert) als Untergrenze fur die neue Grosse 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 Gerat nicht genug Platz bereitstellt, um diese Beschrankungen zu erfullen, wird das Anlegen fehlschlagen. Wenn Partitionen angelegt werden sollen, dann konnten diese, abhangig von der oben beschrieben Einstellung Priority=, entfallen und der Anlegealgorithmus neu gestartet werden. Standardmassig ist eine minimale Grossenbeschrankung von 10 M und keine maximale Grossenbeschrankungen gesetzt. Falls Format= gesetzt ist, wird die minimale Grosse automatisch auf die minimale Dateisystemgrosse fur den ausgewahlten Dateisystemtyp erhoht, falls dieser bekannt ist. Desweiteren wird fur ESP/XBOOTLDR-Partitionen das Minimum automatisch auf 100M (fur 512b-Sektorabbilder) oder 260M (fur 4K-Sektorabbilder) erhoht, falls es kleiner festgelegt wurde. Hinzugefugt in Version 245. PaddingMinBytes=, PaddingMaxBytes= Legt die minimalen und maximalen Grossenbeschrankungen in Byte fur den freien Platz nach der Partition (des >>Padding<<) fest. Die Semantik ist ahnlich zu SizeMinBytes= und SizeMaxBytes=, ausser das freier Platz, anders als bei Partitionen, verkleinert und kleiner als Null werden kann. Standardmassig sind keine Grossenbeschrankungen fur Padding gesetzt, so dass ausschliesslich PaddingWeight= die Grosse des angewandten Paddings bestimmt. Hinzugefugt in Version 245. CopyBlocks= Akzeptiert einen Pfad zu einer regularen Datei, einem Blockgerateknoten, einem zeichenorientierten Gerateknoten 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 Blockgerat des Dateisystems, auf dem sich das Verzeichnis befindet, bestimmt, und die Daten werden direkt daraus gelesen. Diese Option ist nutzlich, um effizient bestehende Dateisysteme auf Block-Niveau auf neue Partitionen zu vervielfaltigen, beispielsweise um ein einfaches Betriebssysteminstallationsprogramm oder Betriebssystem-Abbild-Erstellprogramm zu bauen. Geben Sie als Wert /dev/urandom an, um die Partition mit zufalligen 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 eingehangte Verzeichnis, das fur 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 verschlusselten und Verity-aktivierten Datentragern zugrundeliegenden Partitionen zu ermitteln. >>CopyBlocks=auto<< ist nutzlich, um >>selbst-replizierende Systeme<< zu implementieren, d.h. Systeme, die ihr eigenes Installationsprogramm sind. Die hier angegebene Datei muss eine Grosse haben, die ein Vielfaches der grundlegenden Blockgrosse von 512 und nicht leer ist. Falls diese Option verwandt wird, wird der Grossenzuweisungsalgorithmus leicht geandert: die Partition wird mindestens so gross erstellt, damit die Daten hineinpassen, d.h. die Datengrosse ist ein zusatzlicher Minimalwert, der vom Zuweisungsalgorithmus in Betracht genommen wird, ahnlich wie und erganzend zu dem Wert SizeMinBytes=, der weiter oben konfiguriert ist. Diese Option hat keinen Effekt, falls die Partition, fur die sie erklart ist, bereits existiert, d.h. bestehende Daten werden niemals uberschrieben. Beachten Sie, dass die Daten hineinkopiert werden, bevor die Partitionstabelle aktualisiert wird, d.h. bevor die Partition tatsachlich dauerhaft erstellt wird. Dies macht das Verfahren robust: es wird garantiert, dass die Partition entweder gar nicht existiert oder komplett befullt ist; es ist nicht moglich, dass die Partition existiert, aber nicht oder nur teilweise befullt ist. Diese Option kann nicht mit Format= oder CopyFiles= kombiniert werden. Hinzugefugt 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 Auslagerungsgerat). Die Dateisystem-UUID und -Kennzeichnung werden automatisch aus der Partitions-UUID und dem -Kennzeichen abgeleitet. Falls diese Option verwandt wird, dann wird der Grossenzuweisungsalgorithmus leicht geandert: die Partition wird mindestens so gross erstellt, wie fur das minimale Dateisystem des angegebenen Typs notwendig ist (oder 4 kiB, falls die minimale Grosse nicht bekannt ist). Dies akzeptiert auch den besonderen Metawert >>empty<<. Falls festgelegt, ist er zu >>Label=_empty<< und >>NoAuto=1<< aquivalent. Diese Option hat keine Auswirkung, falls die Partition bereits existiert. Ahnlich dem Verhalten von CopyBlocks= wird das Dateisystem formatiert, bevor die Partition erstellt wird, wodurch sichergestellt wird, dass die Partition immer uber ein vollstandig initialisiertes Dateisystem verfugt. Diese Option kann nicht mit CopyBlocks= kombiniert werden. Hinzugefugt in Version 247. CopyFiles= Akzeptiert ein durch Doppelpunkt getrenntes Triplet der Form >>Quelle[:Ziel[:Optionen]]<<. Quelle ist ein absoluter Pfad, der sich auf eine Quelldatei oder -Verzeichnis auf dem Hauptsystem bezieht. Ziel ist ein absoluter Pfad in dem Dateisystem auf der frisch erstellten Partition und dem formatierten Dateisystem. Optionen ist eine Kommata-getrennte Liste von Optinen, wobei jede Option in der Form >>Schlussel[=Wert]<< vorliegt. 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<< fur >>ESP<<- und >>XBOOTLDR<<-Partitionen und >>ext4<< andernfalls, dies kann in Zukunft aber geandert werden). Diese Option kann mehrfach verwandt werden, um mehrere Dateien oder Verzeichnisse vom Rechner in das frisch formatierte Dateisystem zu kopieren. Der Pfad Ziel kann entfallen. In diesem Fall wird der Pfad Quelle auch als Zielpfad verwandt (relativ zur Wurzel des frisch erstellten Dateisystems). Falls sich der Quellpfad auf ein Verzeichnis bezieht, wird er rekursiv kopiert. Die Optionen konnen die folgenden Werte enthalten: fsverity= Kann auf den Wert >>off<< (der Vorgabe, falls die Option nicht vorhanden ist) oder >>copy<< gesetzt werden. Falls auf >>off<< gesetzt, wird bei keinen von dieser Quelle in das Dateisystem kopierten Dateien fs-verity aktiviert. Falls auf >>copy<< gesetzt, dann wird die fs-verity-Information fur jede Datei von der entsprechenden Quelldatei kopiert. Hinzugefugt in Version 258. Diese Option hat keine Auswirkung, falls die Partition bereits existiert: sie kann nicht dazu verwandt werden, zusatzliche Dateien auf eine bestehende Partition zu kopieren, sie kann nur zur Befullung eines frisch erstellten Dateisystems verwandt werden. Die Kopieraktion wird ausgefuhrt, bevor das Dateisystem in der Partitionstabelle registriert wird. Damit wird sichergestellt, dass ein so befulltes Dateisystem immer vollstandig initialisiert existiert. Beachten Sie, dass CopyFiles= das Kopieren von Dateien uberspringen wird, die vom Zieldateisystem nicht unterstutzt werden (z.B. Symlinks, FIFOs, Sockets und Gerate auf Vfat). Wenn ein nicht unterstutzter Dateityp angetroffen wird, wird systemd-repart das Kopieren der Datei uberspringen und eine Protokollmeldung dazu schreiben. Beachten Sie, dass systemd-repart die UIDs/GIDs von kopierten Dateien und Verzeichnissen nicht andern wird. Wird systemd-repart als nicht privilegierter Benutzer ausgefuhrt, um ein Abbild von Dateien und Verzeichnissen zu bauen, das dem gleichen Benutzer gehort, dann konnen Sie systemd-repart in einem Benutzernamensraum ausfuhren, bei dem der aktuelle Benutzer auf den Benutzer root abgebildet ist, um sicherzustellen, dass Dateien und Verzeichnisse in dem Abbild dem Benutzer root gehoren. 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. Beachten Sie, dass bei der Verwendung von CopyFiles= mit Format=xfs xfsprogs 6.17 oder neuer benotigt wird.. Hinzugefugt 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 auszuschliessen. 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=, ausser dass anstelle des Ausschlusses des Pfades auf dem Rechner vom Kopieren in die Partition samtliche 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. Hinzugefugt 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 ahnlich zu CopyFiles=, aber statt eine Gruppe von Dateien zu kopieren, erstellt dies einfach die festgelegten Verzeichnisse mit dem Vorgabemodus 0755 und Eigentumer und Gruppe >>root<<, sowie alle ihre ubergeordneten Verzeichnisse (mit der gleichen Eigentumerschaft und Zugriffsmodus). Um Verzeichnisse mit anderen Eigentumerschaften oder Zugriffsmodi zu konfigurieren, verwenden Sie CopyFiles= und geben Sie einen zu kopierenden Quellbaum an, der die Verzeichnisse mit geeigneter/konfigurierter Eigentumerschaft enthalt. 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 aufgefuhrtes Verzeichnis bereits existiert, wird keine Aktion durchgefuhrt (insbesondere verbleiben die Eigentumerschaft und der Zugriffsmodus unverandert). Der hauptsachliche Einsatzfall fur diese Option ist die Erstellung einer minimalen Gruppe von Verzeichnissen, uber die Partitionen, die in dem gleichen Plattanabbild enthalten sind, eingehangt werden konnen. Fur ein Plattenabbild, bei dem das Wurzeldateisystem fur den ersten Systemstart formatiert ist, konnte es gewunscht sein, automatisch ein /usr/ auf diese Art vorzuerstellen, so dass die Partition >>usr<< daruber eingehangt werden kann. Ziehen Sie systemd-tmpfiles(8) mit der Option --image= in Betracht, um andere, komplexere Verzeichnishierarchien (sowie andere Inodes) mit granularerer Steuerung der Eigentumerschaft, der Zugriffsmodi und anderer Datei-Attribute zu erstellen. Hinzugefugt 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 fur diese Option ist die Erstellung von Symlinks, die existieren mussen, bevor systemd-tmpfiles(8) ausgefuhrt wird. Beim Einsatz von systemd-confext(8) wird diese Einstellung beispielsweise zur Erstellung von Symlinks in /var/lib/extensions.mutable verwandt, um Schreibaktionen in veranderliche 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 Eigentumerschaft, der Zugriffsmodi und anderer Datei-Attribute zu erstellen. Hinzugefugt in Version 257. Subvolumes= Akzeptiert einen oder mehrere, durch Leerraum getrennte absolute Pfade. Jeder erklart ein Verzeichnis, das ein Teildatentrager innerhalb eines neuen Dateisystems sein soll. Jedem Pfad kann optional ein Doppelpunkt und eine durch Kommata getrennte Liste von Schaltern fur Teildatentrager folgen. Die folgenden Schalter werden verstanden: Tabelle 2. Schalter fur Teildatentrager +------------+---------------------------+ |Schalter | Zweck | +------------+---------------------------+ |"ro" | Macht den Teildatentrager | | | schreibgeschutzt. | +------------+---------------------------+ |"nodatacow" | Deaktiviert CoW fur | | | diesen Teildatentrager. | +------------+---------------------------+ 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 Teildatentrager unterstutzt, wie btrfs(8). Beachten Sie, dass diese Option nur in Kombination mit --offline=yes seit btrfs-progs 6.12 oder neuer unterstutzt wird. Hinzugefugt in Version 255. DefaultSubvolume= Akzeptiert einen absoluten Pfad, der den Standard-Unterdatentrager innerhalb des neuen Dateisystems festlegt. Beachten Sie, dass diese Einstellung den Unterdatentrager selbst nicht erstellt, das kann mit Subvolumes= konfiguriert werden. Beachten Sie, dass diese Option nur wirksam wird, wenn das Zieldateisystem Teildatentrager unterstutzt, wie btrfs(8). Beachten Sie, dass diese Option nur in Kombination mit --offline=yes seit btrfs-progs 6.12 oder neuer unterstutzt wird. Hinzugefugt 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.) Standardmassig >>off<<. Falls nicht >>off<<, dann wird die Partition mit einem LUKS2-Superblock formatiert, bevor die mit CopyBlocks= konfigurierten Blocke 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 Schlussel aus dem LUKS2-Superblock hinzufugt, der mit der Option --key-file= von systemd-repart konfiguriert werden kann. Falls >>tpm2<< oder >>key-file+tpm2<< verwandt wird, wird ein Schlussel aus dem LUKS2-Superblock hinzugefugt, 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 Grossenzuweisungslogik leicht geandert, da die implizite minimalen Grossenbegrenzungen von Format= und CopyBlocks= um den fur den LUKS2-Superblock benotigten Platz erhoht werden (siehe oben). Diese Option hat keine Auswirkung, falls die Partition bereits existiert. Hinzugefugt in Version 247. Verity= Akzeptiert entweder >>off<<, >>data<<, >>hash<< oder >>signature<<. Standardmassig >>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 enthalt, das auf die passende Verity-Hash-Partition passt. Eine passende Verity-Partition ist eine Partition, mit dem gleichen Verity-Ubereinstimmungsschlussel (wie mittels VerityMatchKey= konfiguriert). Falls nicht explizit konfiguriert, wird die UUID der Datenpartition auf die ersten 128 bit des Verity-Wurzel-Hashes gesetzt. Ahnlich wird bei fehlender Konfiguration die UUID der Hash-Partition auf die abschliessenden 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 unterstutzt. Fur jeden eindeutigen Wert VerityMatchKey=, muss eine einzelne Verity-Datenpartition (>>Verity=data<<) und eine einzelne Verity-Hash-Partition (>>Verity=hash<<) definiert sein. Hinzugefugt in Version 252. VerityMatchKey= Akzeptiert eine kurze, benutzerdefinierte Kennzeichnerzeichenkette. Diese Einstellung wird dazu verwandt, Geschwister-Verity-Partitionen fur die aktuelle Verity-Partition zu finden. Siehe die Beschreibung fur Verity=. Hinzugefugt in Version 252. VerityDataBlockSizeBytes= Konfiguriert die Datenblockgrosse der erstellten Verity-Hash-Partition. Muss zwischen 512 und 4096 byte und eine Potenz von 2 sein. Standardmassig die Sektorgrosse, falls diese explizit konfiguriert wurde oder die Sektorgrosse des zugrundeliegenden Blockgerates oder 4 kB, falls systemd-repart(8) nicht auf einem Blockgerat agiert. Hinzugefugt in Version 255. VerityHashBlockSizeBytes= Konfiguriert die Hash-Blockgrosse der erstellten Verity-Hash-Partition. Muss zwischen 512 und 4096 byte und eine Potenz von 2 sein. Standardmassig die Sektorgrosse, falls explizit konfiguriert, oder die zugrundeliegende Blockgeratesektorgrosse oder 4 kB, falls systemd-repart(8) nicht auf einem Blockgerat agiert. Hinzugefugt in Version 255. FactoryReset= Akzeptiert ein logisches Argument. Falls angegeben, wird die Partition zum Entfernen wahrend einer >>Zuruck auf Werkseinstellung<<-Aktion vorgemerkt. Diese Funktionalitat ist fur Schemata nutzlich, bei denen Abbilder auf ihren ursprunglichen Zustand durch die Entfernung von Partitionen und deren Neuerstellung zuruckgesetzt werden konnen. Standardmassig aus. Hinzugefugt 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, ausser fur die drei Bits, die auch mittels NoAuto=, ReadOnly= und GrowFileSystem= konfiguriert werden konnen; siehe weiter unten fur Details uber die Vorgaben fur diese drei Schalter. Geben Sie den Schalterwert hexadezimal (durch Voranstellen von >>0x<<), binar (>>0b<< voranstellen) oder dezimal (nichts voranzustellen) an. Hinzugefugt 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 UAPI.2-Spezifikation fur auffindbare Partitionen[1] definiert ist. Nur fur von der Spezifikation unterstutzte Partitionstypen verfugbar. 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 konnen, 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= ausser Kraft. Beachten Sie, dass die drei Schalter nur die automatische Einhangung 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 Einhangungen, wie sie uber mount(8) oder fstab(5) erfolgen, keine Auswirkungen. Falls fur eine Partition sowohl Bit 60 als auch Bit 59 gesetzt sind (d.h. die Partition ist sowohl schreibgeschutzt markiert als auch zum Vergrossern), hat letzteres typischerweise keine Auswirkung: der Schreibschutz-Schalter hat bei den meisten Werkzeugen, die diese Schalter lesen, Vorrang, und da das Vergrossern das Schreiben der Partition einschliesst, wird es konsequent ignoriert. NoAuto= ist standardmassig ausgeschaltet. ReadOnly= ist fur Verity-Partitionstypen standardmassig eingeschaltet und fur alle anderen ausgeschaltet. GrowFileSystem= ist fur alle Partitionstypen eingeschaltet, die dies unterstutzen, ausser falls die Partition schreibgeschutzt markiert ist (und ist damit fur Verity-Partitionen effektiv standardmassig ausgeschaltet).). Hinzugefugt in Version 249. SplitName= Konfiguriert die Endung, die an aufgeteilte Artefakte angehangt werden soll, wenn die Option --split von systemd-repart(8) verwandt wird. Es wird eine einfache Kennzeichner-Expansion unterstutzt, siehe unten. Standardmassig >>%t<<. Um die Erstellung aufgeteilter Artefakte fur eine Partition zu deaktivieren, setzen Sie SplitName= auf >>-<<. Hinzugefugt 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. Standardmassig >>off<<. Falls auf >>best<< gesetzt, wird die Partition die minimal benotigte Grosse haben, um die mit CopyFiles= konfigurierten Quellen zu speichern. >>best<< wird derzeit nur fur schreibgeschutzte Dateisysteme und btrfs(5) unterstutzt. Falls auf >>guess<< gesetzt, wird die Partition mindestens so gross erstellt, dass die mit CopyFiles= konfigurierten Quellen gespeichert werden konnen. Beachten Sie, dass systemd-repart das Dateisystem zweimal befullen muss, um die minimal benotigte Grosse zu ermitteln (ausser das Dateisystem ist schreibgeschutzt oder btrfs(5)), daher konnte die Aktivierung dieser Option Repart bei der Befullung grosser Partitionen verlangsamen. Hinzugefugt in Version 253. MountPoint= Legt fest, wo und wie die Partition eingehangt werden soll. Akzeptiert mindestens ein und hochstens zwei durch einen Doppelpunkt (>>:<<) getrennte Felder. Das erste Feld legt fest, wo die Partition eingehangt werden soll. Das zweite Feld legt zusatzliche Einhangeoptionen fest, die an die Standard-Einhangeoptionen angehangt werden sollen. Diese Felder entsprechen den zweiten und vierten Spalten des Formats fstab(5). Zum Trennen von Feldern wird ein Doppelpunkt verwandt, jedes Feld muss in englische Anfuhrungszeichen eingeschlossen werden, wenn es Doppelpunkte enhalt. Beispiel: MountPoint="/Pfad/mit:Doppelpunkt":"zstd:1,noatime,lazytime" Diese Einstellung kann mehrfach angegeben werden, um die Partition mehrfach einzuhangen. Dies kann zum Hinzufugen von Einhangungen fur verschiedene btrfs(8)-Teildatentrager, die sich auf der gleiche Btrfs-Partition befinden, verwandt werden. Beachten Sie, dass diese Einstellung nur berucksichtigt wird, wenn --generate-fstab= auf der systemd-repart-Befehlszeile festgelegt wurde. Hinzugefugt in Version 256. EncryptedVolume= Legt fest, wie die verschlusselte Partition eingerichtet werden soll. Akzeptiert mindestens ein und hochstens vier durch einen Doppelpunkt (>>:<<) getrennte Felder. Das erste Feld legt den verschlusselten Datentragernamen unter /dev/mapper/ fest. Falls nicht angegeben, wird >>luks-UUID<< verwandt, wobei >>UUID<< die LUKS-UUID ist. Das zweite Feld legt die zu verwendende Schlusseldatei fest, genauso festgelegt wie in crypttab(5). Das dritte Feld legt eine Kommata-getrennte Liste von Crypttab-Optionen fest. Diese drei Felder entsprechen den zweiten, dritten und vierten Spalten des Formats crypttab(5). Das vierte Feld enthalt zusatzliche Optionen, die nicht direkt die Crypttab-Optionen widerspiegeln. Derzeit ist die einzige unterstutzte zusatzliche Option fixate-volume-key. Wenn angegeben, wird der Hash des Datentragerschlussels bei der LUKS-Datentragerformatierung ermittelt und das Ergebnis wird zu der Liste der Crypttab-Optionen hinzugefugt, d.h. fixate-volume-key=expected-hash wird zu der vierten Spalte der erstellten Crypttab hinzugefugt. Beachten Sie, dass diese Einstellung nur berucksichtigt wird, wenn --generate-crypttab= auf der systemd-repart-Befehlszeile festgelegt wurde. Da die Crypttab mit den erwarteten Hashes nur nach der Formatierung der LUKS-Datentrager erstellt werden kann, kann die Crypttab selbst nicht auf den erstellten Datentrager abgelegt werden. Hinzugefugt in Version 256. TPM2PCRs= Konfiguriert die Liste der PCRs, die fur LUKS2-Datentrager verwandt werden soll, die mit der Einstellung Encrypt=tpm2 in Partitionsdateien konfiguriert sind. Diese Option akzeptiert die gleichen Parameter wie die ahnlich benannten Optionen fur systemd-cryptenroll(1) und haben die gleiche Auswirkung auf Partitionen, bei denen TPM2-Registrierung angefragt wird. Diese Option wird durch die globale Option --tpm2-pcrs= ausser Kraft gesetzt. Hinzugefugt in Version 259. KeyFile= Akzeptiert einen Dateisystempfad. Dieser Pfad muss absolut sein, andernfalls wird die Option ignoriert. Konfiguriert den Verschlusselungsschlussel, der bei der Einrichtung von mit der Einstellung Encrypt=key-file in Partitionsdateien konfigurierten LUKS2-Datentragern verwandt wird. Weitere Details finden Sie in der Dokumentation von --key-file=. Diese Option wird durch die globale Option --key-file= ausser Kraft gesetzt. Hinzugefugt in Version 259. Integrity= Aktiviert Integritatsprufung fur die Partition. Derzeit ist die einzige unterstutzte Option Integrity=inline. Sie aktiviert authentifizierte Plattenverschlusselung fur LUKS2-Gerate. Diese Option benotigt die Einstellung Encrypt= und kann nur bei einem Online-Abbildbau verwandt werden. Standardmassig >>off<<, d.h. der Integritatsschutz ist deaktiviert. Beachten Sie: Authentifizierte Plattenverschlusselung wird von cryptsetup(8) als EXPERIMENTELL betrachtet. Hinzugefugt in Version 260. IntegrityAlgorithm= Legt den fur die Integritatsuberprufung zu verwendenden Algorithmus fest. Die fur Integrity=inline unterstutzten Werte sind >>mac-sha1<<, >>hmac-sha256<< (Vorgabe) und >>hmac-sha512<<. Hinzugefugt in Version 260. Compression= Legt den Komprimierungsalgorithmus fur das mit Format= konfigurierte Dateisystem fest. Akzeptiert ein einzelnes Argument, das den Komprimierungsalgorithmus festlegt. Beachten Sie, dass diese Einstellung nur berucksichtigt wird, wenn das mit Format= konfigurierte Dateisystem Komprimierung unterstutzt (btrfs(8), Squashfs, erofs(5)). Es folgt eine unvollstandige Liste der Komprimierungsalgorithmen, die von den systemd-repart bekannten Dateisystemen unterstutzt werden: Tabelle 3. Dateisystem-Komprimierungsalgorithmen +-------------+-------------------------+---------------+ |Dateisysteme | Kompressionsalgorithmen | Dokumentation | +-------------+-------------------------+---------------+ |squashfs | gzip, lzo, lz4, xz, | mksquashfs(1) | | | zstd, lzma | | +-------------+-------------------------+---------------+ |erofs | lz4, lz4hc, lzma, | mkfs.erofs(1) | | | deflate, libdeflate, | | | | zstd | | +-------------+-------------------------+---------------+ |btrfs | zlib, lzo, zstd | mkfs.btrfs(8) | +-------------+-------------------------+---------------+ Hinzugefugt in Version 257. CompressionLevel= Legt die Komprimierungsstufe fur das mit Format= konfigurierte Dateisystem fest. Akzeptiert ein einzelnes Argument, das die Komprimierungsstufe fur den konfigurierten Komprimierungsalgorithmus festlegt. Die moglichen Komprimierungsstufen und ihre Bedeutung hangen vom Dateisystem ab (lesen Sie die Dokumentation des Dateisystems fur die genaue Bedeutung einer bestimmten Komprimierungsstufe). Beachten Sie, dass diese Einstellung nur berucksichtigt wird, wenn das mit Format= konfigurierte Dateisystem Komprimierung unterstutzt und die Einstellung Compression= explizit konfiguriert ist. Hinzugefugt 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 zusammenzufuhren. Allerdings mag systemd-repart abhangig von der bestehenden Anordnung der Partitionen auf der Platte dazu gezwungen sein, darauf zuruckzufallen, die Definitionen zu trennen und sie wie ursprunglich geschrieben zu verwenden, moglicherweise dabei die Partition zu erstellen. Insbesondere fallt systemd-repart darauf zuruck, 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 fur die zusammengefuhrten Partion aus anderen Grunden reservieren kann. Die folgenden Felder werden in die Zieldefinition auf die angegebene Weise zusammengefuhrt: Weight= und PaddingWeight= werden einfach uberschrieben; SizeMinBytes= und PaddingMinBytes= verwenden den grosseren der zwei Werte; SizeMaxBytes= und PaddingMaxBytes= verwenden den kleineren Wert und CopyFiles=, ExcludeFiles=, ExcludeFilesTarget=, MakeDirectories= und Subvolumes= werden aneinandergehangt. Die Verwendung dieser Option in Kombination mit CopyBlocks=, Encrypt= oder Verity= wird nicht unterstutzt. Die Zieldefinition kann diese Einstellungen auch nicht setzen. Eine Definition kann nicht gleichzeitig eine Erganzung sein und als ein Ziel fur eine andere Erganzungsdefinition agieren. Ein Ziel kann nicht mehr als eine ihr zugeordnete Erganzungspartition haben. Beispielsweise konnen Distributionen dies zur Implementierung von $BOOT, wie das in der UAPI.1-Systemstartladerspezifikation[2] definiert ist, verwenden. Distributionen konnten, wenn moglich, die Verwendung des ESP als $BOOT bevorzugen; um aber der XBOOTLDR-Spezifikation zu genugen, muss machmal stattdessen XBOOTLDR verwandt werden. Daher sollten sie zwei Definitionen erstellen: die erste, die ein ESP gross genug zur Aufnahme genau des Systemstartprogramms definiert und eine zweite fur XBOOTLDR, die hinreichend gross ist, um Kernel und Konfiguration als Erganzung fur den ESP aufzunehmen. Wann immer moglich wird systemd-repart(8) versuchen, die zwei Definitionen zusammenzufuhren, um eine grosse ESP zu erstellen, falls dies aber aufgrund bestehender Bedingungen auf der Platte nicht moglich ist, wird stattdessen eine kleine ESP und eine grosse XBOOTLDR erstellt. Als weiteres Beispiel konnen dies Distributionen auch dazu verwenden, nahtlos eine einzelne /home-Partition in einem Multi-Systemstart-Szenario gemeinsam zu benutzen, und standardmassig /home auf der Wurzelpartition zu bevorzugen. Befindet sich die /home-Partition getrennt von der Wurzelpartition, fuhrt dies zu zusatzlicher Komplexitat: 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 fur eine Wurzelpartition, die ein relativ kleinen prozentualen Anteil der Platte verbraucht und die zweite als Erganzung fur 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 zusammengefuhrt und es wird eine einzige grosse Wurzelpartition erstellt. Hinzugefugt in Version 257. AddValidateFS= Akzeptiert ein logisches Argument. Falls aktiviert, wird es die erweiterten Attribute user.validatefs.gpt_label, user.validatefs.gpt_type_uuid und user.validatefs.mount_point auf der Wurzel-Inode des formatierten Dateisystems auf den Partitionskennzeichner, die Partitionstyp-UUID und den vorgesehenen Einhangepunkt fur das Dateisystem setzen. Standardmassig eingeschaltet, falls Format= verwandt wird und das festgelegte Argument weder >>swap<< noch >>vfat<< lautet. Diese erweiterten Attribute werden von systemd-validatefs@.service(8) gelesen und konnen Bedingungen fur eingehangte Dateisysteme kodieren, die erfullt sein mussen, damit das System erfolgreich startet. Dies ist insbesondere in Szenarien mit systemd-gpt-auto-generator(8) wichtig, da hierbei die Einhangehierachie aus unvertrauenswurdigen Daten aus der GPT-Partitionstabelle zusammengestellt wird. Da diese erweiterten Attribute innherhalb des Dateisystems gespeichert werden, werden sie typischerweise als Teil des Dateisystems authentifiziert (unter der Annahme, dass sie sich in einem geschutzten Datentrager befinden; d.h. LUKS oder dm-verity). Daher konnen sie zur sicheren Uberprufung der passenden Partitionstabellenfelder verwandt werden. Hinzugefugt in Version 258. FileSystemSectorSize= Steuert die Sektorgrosse fur jedes auf dieser Partition formatierte Dateisystem, LUKS- oder Verity-Partition. Erwartet eine Potenz von 2 als Wert und muss gleich oder grosser als 512 sein. Es wird normalerweise empfohlen, die Dateisystemsektorgrosse auf 4096 zu setzen, selbst auf 512-Sektoren-Platten (und insbesondere fur Abbilder, die immer nur fur die Verwendung als Datei auf Platte gedacht sind), um die Leistung zu optimieren. Allerdings kann es aus Kompatibilitatsgrunden mit fremden Betriebssystemen oder Firmware ratsam sein, die native Sektorengrosse der zugrundeliegenden Platte zu verwenden. Falls nicht angegeben und die Ausfuhrung auf einem Blockgerat erfolgt, ist die Vorgabe die native Sektorengrosse des Gerats. Falls nicht angegeben und die Ausfuhrung auf einer Plattenabbilddatei erfolgt, ist die Vorgabe 4096. Unahangig davon, was hier konfiguriert ist oder welche Vorgabe gewahlt wird, wird die Dateisystemsktorengrosse immer erhoht, um gleich oder grosser als die Plattensektorengrosse zu sein. Hinzugefugt in Version 258. KENNZEICHNER In den Label=-, CopyBlocks=-, CopyFiles=-, MakeDirectories=-, SplitName=-Einstellungen konnen Kennzeichner verwandt werden. Die folgenden Expansionen werden verstanden: Tabelle 4. Verfugbare 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 fur | | | | ConditionArchitecture= in systemd.unit(5) | | | | definierten Architekturen fur die | | | | vollstandige 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 aufgelost. Siehe | | | | os-release(5) fur weitere Informationen. | +-------------+--------------------------------+-------------------------------------------+ |"%b" | Boot-Kennung | Die Boot-Kennung des laufenden Systems, | | | | formatiert als Zeichenkette. Siehe | | | | random(4) fur 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 aufgelost. Siehe | | | | os-release(5) fur 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) fur 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) fur | | | | weitere Informationen. | +-------------+--------------------------------+-------------------------------------------+ |"%o" | Betriebssystemkennung | Die Betriebssystemkennung des laufenden | | | | Systems, wie aus dem Feld ID= in | | | | /etc/os-release ausgelesen. Siehe | | | | os-release(5) fur weitere Informationen. | +-------------+--------------------------------+-------------------------------------------+ |"%q" | Schoner Rechnername | Die schone Rechnername des laufenden | | | | Systems, wie aus dem Feld | | | | PRETTY_HOSTNAME= in /etc/machine-info | | | | ausgelesen. Falls nicht gesetzt, wird es | | | | auf den kurzen Rechnernamen aufgelost. | | | | Siehe machine-info(5) fur weitere | | | | Informationen. | +-------------+--------------------------------+-------------------------------------------+ |"%v" | Kernelveroffentlichung | 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) fur 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) fur weitere Informationen. | +-------------+--------------------------------+-------------------------------------------+ |"%T" | Verzeichnis fur temporare | Dies ist entweder /tmp oder der Pfad, auf | | | Dateien | den >>$TMPDIR<<, >>$TEMP<< oder >>$TMP<< | | | | gesetzt ist. (Beachten Sie, dass das | | | | Verzeichnis ohne abschliessenden | | | | Schragstrich angegeben werden kann.) | +-------------+--------------------------------+-------------------------------------------+ |"%V" | Verzeichnis fur grossere und | Dies ist entweder /var/tmp oder der Pfad, | | | dauerhafte temporare Dateien | auf den >>$TMPDIR<<, >>$TEMP<< oder | | | | >>$TMP<< gesetzt ist. (Beachten Sie, dass | | | | das Verzeichnis ohne abschliessenden | | | | Schragstrich angegeben werden kann.) | +-------------+--------------------------------+-------------------------------------------+ |"%%" | Einzelnes Prozentzeichen | Verwenden Sie >>%%<< anstelle von >>%<<, | | | | um ein einzelnes Prozentzeichen | | | | anzugeben. | +-------------+--------------------------------+-------------------------------------------+ Zusatzlich werden fur die Einstellung SplitName= die folgenden Kennzeichner verstanden: Tabelle 5. Verfugbare 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 konnen zusatzliche 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 gultige mkfs.filesystem-Befehlszeilenoptionen. Der Inhalt dieser Variablen wird unverandert an den Befehl ubergeben, ohne irgendwelche Uberprufung. BEISPIELE Beispiel 1. Vergrossern der Wurzelpartition wahrend des ersten Systemstarts auf die gesamte Plattengrosse Mit der folgenden Datei wird die Wurzelpartition automatisch, falls moglich, auf die gesamte Platte wahrend des Systemstarts vergrossert. # /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 samtlichen verfugbaren Plattenplatz, wahrend die Auslagerungspartition mindestens 64 MB und maximal 1 GB bekommt. Die Prioritat fur die Auslagerungspartition wird auf > 0 gesetzt, um sicherzustellen, dass die Auslagerungspartition nicht verwandt wird, falls nicht genug Platz verfugbar ist. Fur 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 wahrend Upgrades alternierend verwandt werden sollen. Um die Abbildgrosse zu minimieren, wird das ursprungliche Abbild nur mit einer Wurzel und einer Verity-Partition (der Gruppe >>A<<) ausgeliefert und die zweite Wurzel- und Verity-Partition (die Gruppe >>B<<) wird wahrend 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 Grosse 512 MB) und der Verity-Partition fur die Wurzelpartition (der festen Grosse 64 MB) ab. Mit Symlinks wird die Gruppe >>B<< der Partitionen erstellt, da sie schliesslich die gleichen Eigenschaften und Grossen 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 konnen dann Folgendes durchfuhren: # 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 Datenblockgrossen 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. UAPI.2-Spezifikation fur auffindbare Partitionen https://uapi-group.org/specifications/specs/discoverable_partitions_specification 2. UAPI.1-Systemstartladerspezifikation https://uapi-group.org/specifications/specs/boot_loader_specification/ UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 260.2 REPART.D(5)