TMPFILES.D(5)

BEZEICHNUNG
tmpfiles.d - Konfiguration für die Erstellung, Löschung und Bereinigung von flüchtigen und temporären Dateien

ÜBERSICHT

/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf

~/.config/user-tmpfiles.d/*.conf
$XDG_RUNTIME_DIR/user-tmpfiles.d/*.conf
~/.local/share/user-tmpfiles.d/*.conf
…
/usr/share/user-tmpfiles.d/*.conf

BESCHREIBUNG

systemd-tmpfiles verwendet die Konfigurationsdateien aus den obigen Verzeichnissen, um die Erstellung, Bereinigung und Entfernung von vergänglichen und temporären Dateien und Verzeichnissen, die normalerweise innerhalb von Verzeichnissen wie /run oder /tmp liegen, zu beschreiben.

Vergängliche und temporäre Dateien und Verzeichnis sind solche, die sich in /run (und seinem Alias /var/run), /tmp, /var/tmp, den API-Dateisystemen wie /sys oder /proc, sowie einigen anderen Verzeichnissen unterhalb von /var befinden.

System-Daemons benötigten häufig private Laufzeitverzeichnisse unterhalb von /run, um Kommunikations-Sockets und ähnliches darin abzulegen. Ziehen Sie in Betracht, diese in deren Unit-Dateien mittels RuntimeDirectory= zu deklarieren (siehe systemd.exec(5) für Details), falls dies machbar ist.

KONFIGURATIONSVERZEICHNISSE UND RANGFOLGE

Jede Konfigurationsdatei muss in der Art Paket.conf oder Paket-Teil.conf benannt werden. Die zweite Variante sollte genutzt werden, wenn es wünschenswert ist, es leicht zu machen, nur diesen Teil der Konfiguration außer Kraft zu setzen.

Dateien in /etc/tmpfiles.d setzen Dateien mit dem gleichen Namen in /usr/lib/tmpfiles.d und /run/tmpfiles.d außer Kraft. Dateien in /run/tmpfiles.d setzen Dateien mit dem gleichen Namen in /usr/lib/tmpfiles.d außer Kraft. Pakete sollten ihre Konfigurationsdateien in /usr/lib/tmpfiles.d installieren. Dateien in /etc/tmpfiles.d sind für den lokalen Administrator reserviert, der diese Logik dazu verwenden kann, um vom Lieferanten installierte Pakete außer Kraft zu setzen. Alle Konfigurationsdateien werden in lexikographischer Reihenfolge nach ihrem Dateinamen sortiert, unabhängig davon, in welchem der Verzeichnisse sie sich befinden. Falls mehrere Dateien den gleichen Pfad festlegen, wird der Eintrag in der Datei mit dem lexikographisch kleinsten Namen angewandt. Alle anderen im Konflikt stehenden Einträge werden als Fehler protokolliert. Wenn zwei Zeilen Präfix und Suffix von dem jeweils anderen sind, wird der Präfix zuerst, der Suffix später verarbeitet. Zeilen, die Globs akzeptieren werden nach solchen, die keine Globs akzeptieren, verarbeitet. Falls mehrere Aktionen auf die gleiche Datei angewandt werden sollen (wie ACL, Xattr, Dateiatributsanpassungen), werden diese immer in der gleichen festen Reihenfolge vorgenommen. Andernfalls werden die Dateien/Verzeichnisse in der Reihenfolge verarbeitet, in der sie aufgeführt sind.

Falls der Administrator eine vom Lieferanten bereitgestellte Konfigurationsdatei außer Kraft setzen möchte, wird empfohlen, einen Symlink auf /dev/null in /etc/tmpfiles.d/, der den gleichen Dateinamen trägt, anzulegen.

KONFIGURATIONSDATEIFORMAT

Das Konfigurationsformat ist eine Zeile pro Pfad und enthält Typ-, Pfad-, Modus-, Eigentümerschaft-, Alter- und Argumentfelder:

    #Typ  Pfad        Modus UID  GID  Alter Argument
    d     /run/user   0755  root root 10d   -
    L     /tmp/foobar -     -    -    -     /dev/null

Felder dürfen in Anführungszeichen eingeschlossen werden und C-artige Maskierungen enthalten.

  Typ

Der Typ besteht aus einem einzelnen Buchstaben und optional einem Ausrufezeichen.

Die folgenden Zeilentypen werden verstanden:

f
    Erstellt eine Datei, falls sie noch nicht existiert. Falls der Argumentparameter angegeben ist und die Datei noch nicht existierte, wird sie in die Datei geschrieben. Folgt keinen Symlinks.

F
    Erstellt eine Datei oder schneidet sie ab. Falls der Argumentparameter angegeben ist, wird er in die Datei geschrieben. Folgt keinen Symlinks.

w
    Schreibt den Argumentparameter in eine Datei, falls die Datei existiert. Zeilen dieses Typs akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Der Argumentparameter wird ohne abschließenden Zeilenumbruch geschrieben. C-artige Rückwärtsschrägstrichmaskierungen werden interpretiert. Folgt Symlinks.

d
    Erstellt ein Verzeichnis. Der Modus und die Eigentümerschaft werden angepasst, falls angegeben und das Verzeichnis bereits existiert. Inhalte dieses Verzeichnisses unterliegen einer zeitbasierten Bereinigung, falls das Argument Alter festgelegt ist.

D
    Ähnlich zu d, aber zusätzlich werden die Inhalte des Verzeichnisses entfernt, wenn --remove verwandt wird.

e
    Ähnlich wie d, aber das Verzeichnis wird nicht erstellt, falls es noch nicht existiert. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Damit dieser Eintrag nützlich ist, muss mindestens eines der Argumente Modus, UID, GID oder Alter festgelegt sein, da andernfalls dieser Eintrag keinen Effekt hat. Falls das Alterargument »0« ist, werden die Inhalte des Verzeichnisses bei jedem Aufruf von systemd-tmpfiles --clean bedingungslos gelöscht. Dies kann in Zusammenhang mit ! nützlich sein, siehe Beispiele.

v
    Create a subvolume if the path does not exist yet, the file system supports subvolumes (btrfs), and the system itself is installed into a subvolume (specifically: the root directory / is itself a subvolume). Otherwise, create a normal directory, in the same way as d. A subvolume created with this line type is not assigned to any higher-level quota group. For that, use q or Q, which allow creating simple quota group hierarchies, see below.

q
    Similar to v. However, makes sure that the subvolume will be assigned to the same higher-level quota groups as the subvolume it has been created in. This ensures that higher-level limits and accounting applied to the parent subvolume also include the specified subvolume. On non-btrfs file systems, this line type is identical to d. If the subvolume already exists and is already assigned to one or more higher level quota groups, no change to the quota hierarchy is made. Also see Q below. See btrfs-qgroup(8) for details about the btrfs quota group concept.

Q
    Similar to q. However, instead of copying the higher-level quota group assignments from the parent as-is, the lowest quota group of the parent subvolume is determined that is not the leaf quota group. Then, an "intermediary" quota group is inserted that is one level below this level, and shares the same ID part as the specified subvolume. If no higher-level quota group exists for the parent subvolume, a new quota group at level 255 sharing the same ID as the specified subvolume is inserted instead. This new intermediary quota group is then assigned to the parent subvolume's higher-level quota groups, and the specified subvolume's leaf quota group is assigned to it.

    Effectively, this has a similar effect as q, however introduces a new higher-level quota group for the specified subvolume that may be used to enforce limits and accounting to the specified subvolume and children subvolume created within it. Thus, by creating subvolumes only via q and Q, a concept of "subtree quotas" is implemented. Each subvolume for which Q is set will get a "subtree" quota group created, and all child subvolumes created within it will be assigned to it. Each subvolume for which q is set will not get such a "subtree" quota group, but it is ensured that they are added to the same "subtree" quota group as their immediate parents.

    It is recommended to use Q for subvolumes that typically contain further subvolumes, and where it is desirable to have accounting and quota limits on all child subvolumes together. Examples for Q are typically /home or /var/lib/machines. In contrast, q should be used for subvolumes that either usually do not include further subvolumes or where no accounting and quota limits are needed that apply to all child subvolumes together. Examples for q are typically /var or /var/tmp. As with Q, q has no effect on the quota group hierarchy if the subvolume exists and already has at least one higher-level quota group assigned.

p, p+
    Erstellt eine benannte Pipe (FIFO), falls sie noch nicht existiert. Falls + angehängt ist und eine Datei bereits existiert, wo die Pipe erstellt werden soll, wird sie entfernt und durch die Pipe ersetzt.

L, L+
    Erstellt einen Symlink, falls er noch nicht existiert. Falls + angehängt ist und eine Datei bereits existiert, wo der Symlink erstellt werden soll, wird sie entfernt und durch den Symlink ersetzt. Falls das Argument nicht angegeben wird werden Symlinks auf Dateien mit dem gleichen Namen, die in /usr/share/factory/ liegen, erstellt. Beachten Sie, dass Berechtigungen und Eigentümerschaften bei Symlinks ignoriert werden.

c, c+
    Erstellt einen Zeichengeräteknoten, falls er noch nicht existiert. Falls + angehängt ist und eine Datei bereits existiert, wo der Geräteknoten erstellt werden soll, wird sie entfernt und durch den Geräteknoten ersetzt. Es wird empfohlen, an diesen Eintrag ein Ausrufezeichen anzuhängen, um statische Geräteknoten nur beim Systemstart zu erstellen, da Udev keine statischen Geräteknoten verwalten wird, die zur Laufzeit erstellt wurden.

b, b+
    Erstellt einen Blockgeräteknoten, falls er noch nicht existiert. Falls + angehängt ist und eine Datei bereits existiert, wo der Geräteknoten erstellt werden soll, wird sie entfernt und durch den Geräteknoten ersetzt. Es wird empfohlen, an diesen Eintrag ein Ausrufezeichen anzuhängen, um statische Geräteknoten nur beim Systemstart zu erstellen, da Udev keine statischen Geräteknoten verwalten wird, die zur Laufzeit erstellt wurden.

C
    Kopiert eine Datei oder ein Verzeichnis rekursiv, falls die Zieldateien oder -verzeichnisse noch nicht existieren. Beachten Sie, dass dieser Befehl nicht in Unterverzeichnisse absteigen wird, falls das Zielverzeichnis bereits existiert. Stattdessen wird die gesamte Kopieraktion übersprungen. Falls das Argument weggelassen wird, werden Dateien aus dem Quellverzeichnis /usr/share/factory/ mit dem gleichen Namen kopiert. Folgt keinen Symlinks.

x
    Ignoriert während der Bereinigung einen Pfad. Verwenden Sie diesen Typ, um Pfade von der Reinigung, wie sie mit dem Parameter Age gesteuert wird, auszuschließen. Beachten Sie, dass Zeilen von diesem Typ nicht den Effekt von r- und R-Zeilen beeinflussen. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen.

X
    Ignoriert während der Bereinigung einen Pfad. Verwenden Sie diesen Typ, um Pfade von der Reinigung, wie sie mit dem Parameter Age gesteuert wird, auszuschließen. Anders als x wird der Parameter keinen Inhalt ausschließen, falls Pfad ein Verzeichnis ist, sondern nur Verzeichnisse selbst. Beachten Sie, dass Zeilen von diesem Typ nicht den Effekt von r- und R-Zeilen beeinflussen. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen.

r
    Entfernt eine Datei oder ein Verzeichnis, falls sie/es bereits existiert. Dies kann nur zur Entfernung leerer Verzeichnisse verwandt werden, verwenden Sie andernfalls R. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Folgt keinen Symlinks.

R
    Entfernt einen Pfad und alle seine Unterverzeichnisse (falls es ein Verzeichnis ist) rekursiv. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Folgt keinen Symlinks.

z
    Passt den Zugriffsmodus, die Gruppe und den Benutzer an und stellt den SELinux-Sicherheitskontext einer Datei oder eines Verzeichnisses, falls sie/es existiert, wieder her. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Folgt keinen Symlinks.

Z
    Setzt rekursiv den Zugriffsmodus, die Gruppe und den Benutzer und stellt den SELinux-Sicherheitskontext einer Datei oder eines Verzeichnisses, falls sie/es existiert, sowie, falls zutreffend, seiner Unterverzeichnisse und der darin enthaltenen Dateien, wieder her. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Folgt keinen Symlinks.

t
    Setzt erweiterte Attribute. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Dies kann zum Setzen von SMACK-Markierungen nützlich sein. Folgt keinen Symlinks.

T
    Setzt rekursiv erweiterte Attribute. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Dies kann zum Setzen von SMACK-Markierungen nützlich sein. Folgt keinen Symlinks.

h
    Setzt Datei-/Verzeichnisattribute. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen.

    Das Format des Argumentenfelds lautet [+-=][aAcCdDeijsStTu] . Das Präfix + (die Vorgabe) führt dazu, dass die Attribute hinzugfügt werden, - führt dazu, dass die Attribute entfernt werden, = führt dazu, dass die Attribute genau auf die nachfolgenden Buchstaben gesetzt werden. Die Buchstaben »aAcCdDeijsStTu« wählen die neuen Attribute für die Dateien aus, siehe chattr(1) für weitere Informationen.

    Wird nur = übergeben, werden alle oben aufgeführten Dateiattribute zurückgesetzt. Es muss daraufhingewiesen werden, dass sich der Präfix = auf die Attribute beschränkt, die den hier aufgeführten Buchstaben entsprechen. Alle weiteren Attribute bleiben unverändert. Folgt keinen Symlinks.

H
    Setzt Datei-/Verzeichnisattribute rekursiv. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen.

a, a+
    Setzt POSIX ACLs (Zugriffsteuerungslisten). Falls + vorangestellt wird, werden die angegebenen Einträge zu der bestehenden Menge hinzugefügt. systemd-tmpfiles wird automatisch die benötigten Basiseinträge für Benutzer und Gruppen basierend auf dem Zugriffsmodus der Datei hinzufügen, außer die Basiseinträge existieren bereits oder werden explizit festgelegt. Die Maske wird hinzugefügt, falls sie nicht explizit festgelegt oder bereits vorhanden ist. Zeilen von diesem Typ akzeptieren Shell-artige Globs anstelle von normalen Pfadnamen. Dies kann zum Erlauben von zusätzlichen Zugriffen auf bestimmte Dateien nützlich sein. Folgt keinen Symlinks.

A, A+
    Idnetisch zu a und a+, aber rekursiv. Folgt keinen Symlinks.

Falls das Ausrufezeichen verwandt wird, ist diese Zeile nur bei der Ausführung während des Systemstarts sicher und kann ein laufendes System beschädigen. Bei Zeilen ohne Ausrufezeichen wird angenommen, dass ihr Aufruf jederzeit sicher ist, z.B. bei Paket-Upgrades. systemd-tmpfiles wird Zeilen mit einem Ausrufezeichen nur ausführen, falls die Option --boot angegeben ist.

Beispiel:

    # Sicherstellen, dass diese standardmäßig erstellt werden, so dass es
    # kein anderer machen kann
    d /tmp/.X11-unix 1777 root root 10d
    # Lösen des X11-Sperrdatei-Links
    r! /tmp/.X[0-9]*-lock

Im Gegensatz zur ersten Zeile würde die zweite Zeile ein laufendes System beschädigen und wird daher nur mit --boot ausgeführt.

Beachten Sie, dass für alle Zeilentypen, die zur Erstellung irgendeiner Art von Dateimodus führen (d.h. f/F, d/D/v/q/Q, p, L, c/b und C) führende Verzeichnisse implizit falls notwendig erstellt werden, die root gehören und den Zugriffsmodus 0755 haben. Um sicherzustellen, dass Sie sie mit anderen Modi oder Eigentümerschaften erstellen, verwenden Sie geeignete d-Zeilen.

  Pfad

Die Dateisystempfadfestlegung unterstützt einfache Kennzeichnererweiterungen, siehe unten. Der Pfad muss (nach Erweiterung) absolut sein.

  Modus

Der bei der Erstellung der Datei oder des Verzeeichnisses zu verwendende Dateizugriffsmodus. Falls weggelassen oder auf »-« gesetzt wird die Vorgabe benutzt: 0755 für Verzeichnisse, 0644 für alle anderen Dateiobjekte. Für z-, Z-Zeilen, weggelassen oder auf »-« gesetzt wird der Dateizugriffsmodus nicht verändert. Dieser Parameter wird für x-, r-, R-, L-, t- und a-Zeilen ignoriert.

Falls optional »~« vorangestellt wird, wird der Zugriffsmodus basierend auf Zugriffsbits von bereits bestehenden Dateien oder Verzeichnissen maskiert: falls die bestehende Datei alle Ausführ-Bits nicht gesetzt hat, werden auch alle Ausführ-Bits von dem neuen Zugriffsmodus entfernt. Ähnlicherweise werden alle Lese-Bits auch von dem neuen Zugriffsmodus entfernt, falls alle Lese-Bits von dem alten Zugriffsmodus entfernt sind und falls alle Schreib-Bits entfernt wurden werden sie auch von dem neuen Zugriffsmodus entfernt. Zusätzlich wird auch das Bit sticky/SUID/SGID entfernt, außer es wird auf ein Verzeichnis angewandt. Diese Funktionalität ist insbesondere im Zusammenspiel mit Z nützlich.

  UID, GID

Die für diese Datei oder dieses Verzeichnis zu verwendenen Benutzer und Gruppe. Dies kann entweder eine numerische Benutzer-/Gruppenkennung oder ein Benutzer- oder Gruppenname sein. Falls weggelassen oder auf »-« gesetzt wird die Vorgabe 0 (root) verwandt. Für z- und Z-Zeilen, falls weggelassen oder auf »-« gesetzt wird die Dateieigentümerschaft nicht geändert. Diese Parameter werden für x-, r-, R-, L-, t- und a-Zeilen ignoriert.

  Alter

Das Datumsfeld, falls gesetzt, wird zur Entscheidung, welche Dateien beim Bereinigen gelöscht werden sollen, verwandt. Falls eine Datei oder ein Verzeichnis älter als die aktuelle Zeit minus dem Feld Alter ist, wird sie gelöscht. Das Feldformat ist eine Serie von Ganzzahlen, an die eine der nachfolgenden entsprechenden Zeiteinheiten angehängt ist: s (Sekunden), m oder min (Minuten), h (Stunden), d (Tage), w (Wochen), ms (Millisekunden) und us (Mikrosekunden). Es können auch die ausgeschriebenen englischen Namen verwandt werden.

Falls mehrere Ganzzahlen und Einheiten festgelegt werden, werden die Zeitwerte aufsummiert. Falls eine Ganzzahl ohne Einheit angegeben wird, wird s angenommen.

Wird das Alter auf Null gesetzt, werden die Dateien bedingungslos bereinigt.

Das Feld Alter wird nur auf Zeilen, die mit d, D, e, v, q, Q, C, x und X beginnen, angewandt. Falls weggelassen oder auf »-« gesetzt erfolgt keine automatische Bereinigung.

Falls das Feld Alter mit einem Tildezeichen »~« beginnt, erfolgt die Bereinigung nur auf Dateien und Verzeichnisse eine Stufe innerhalb des festgelegten Verzeichnisses, aber nicht auf Dateien und Verzeichnisse direkt innerhalb davon.

Das Alter des Dateisystemeintrags wird von seinem letzten Änderungszeitstempel (mtime), seinem letzten Zugriffszeitstempel (atime) und (außer für Verzeichnisse) seinem letzten Statusänderungszeitstempel (ctime) bestimmt. Jeder der drei (oder zwei) Werte wird die Bereinigung verhindern, falls er neuer als die aktuelle Zeit minus des Feldes Alter ist.

  Argument

Für L-Zeilen bestimmt es den Zielpfad des Symlinks. Für c und b-Zeilen bestimmt es den Major/Minor des Geräteknotens, wobei Major und Minor als Ganzzahlen getrennt durch »:« formatiert sind, z.B. »1:3«. Für f, F und w kann das Argument zur Festlegung einer kurzen Zeichenketten, die in eine Datei (abgeschlossen durch einen Zeilenumbruch) geschrieben wird, verwandt werden. Für C legt es die Quelldatei oder das Quellverzeichnis fest. Für t und T bestimmt es die zu setzenden erweiterten Attribute. Für a und A bestimmt es die zu setzenden ACL-Attribute. Für h und H bestimmt es die zu setzenden Dateiattribute. Für alle anderen Zeilen ignoriert.

Dieses Feld kann Kennzeichner enthalten, siehe unten.

KENNZEICHNER

Kennzeichner können in den Feldern »Pfad« und »Argument« verwandt werden. Ein unbekannter oder unauflösbarer Kennzeichner wird als ungültige Konfiguration behandelt. Die folgenden Erweiterungen werden verstanden:

Tabelle 1. Verfügbare Kennzeichner
Kenzeichner | Bedeutung | Details
"%b" | Boot-Kennung | Die Boot-Kennung des laufenden Systems, formatiert als Zeichenkette. Siehe random(4) für weitere Informationen.
"%C" | System- oder Benutzerzwischenspeicherverzeichnis | Im Modus --user ist dies identisch zu $XDG_CACHE_HOME, andernfalls /var/cache.
"%h" | Benutzer-Home-Verzeichnis. | Dies ist das Home-Verzeichnis des Benutzers, der den Befehl ausführt. Im Falle der Systeminstanz löst sich dies auf »/root« auf.
"%H" | Rechnername | Der Rechnername des laufenden Systems.
"%L" | System- oder Benutzerprotokollierverzeichnis | Im Modus --user ist dies identisch zu $XDG_CONFIG_HOME mit angehängtem /log, andernfalls /var/log.
"%m" | Maschinenkennung | Die Maschinenkennung des laufenden Systems, formatiert als Zeichenkette. Siehe machine-id(5) für weitere Informationen.
"%S" | System- oder Benutzerzustandsverzeichnis | Im Modus --user ist dies identisch zu $XDG_CONFIG_HOME, andernfalls /var/lib.
"%t" | System- oder Benutzerlaufzeitverzeichnis | Im Modus --user ist dies identisch zu $XDG_RUNTIME_DIR, andernfalls /run.
"%T" | Verzeichnis für temporäre Dateien | Dies ist entweder /tmp, oder der Pfad, auf den »$TMPDIR«, »$TEMP« oder »$TMP« gesetzt ist.
"%u" | Benutzername | Dies ist der Name des Benutzers, der den Befehl ausführt. Im Falle der Systeminstanz löst sich dies auf »root« auf.
"%U" | Benutzer-UID | Dies ist die numerische UID des Benutzers, der den Befehl ausführt. Im Falle der Systeminstanz löst sich dies auf 0 auf.
"%v" | Kernelveröffentlichung | Identisch zur Ausgabe von uname -r.
"%V" | Verzeichnis für größere und dauerhafte temporäre Dateien | Dies ist entweder /var/tmp, oder der Pfad, auf den »$TMPDIR«, »$TEMP« oder »$TMP« gesetzt ist.
"%%" | Maskiertes »%« | Einzelnes Prozentzeichen.

BEISPIELE

Beispiel 1. Erstellt Verzeichnisse mit festgelegtem Modus und Eigentümerschaft

screen(1) benötigt beim Systemstart zwei Verzeichnisse mit bestimmten Modi und Eigentümerschaften:

    # /usr/lib/tmpfiles.d/screen.conf
    d /run/screens  1777 root screen 10d
    d /run/uscreens 0755 root screen 10d12h

Inhalte von /run/screens und /run/uscreens werden nach 10 bzw. 10½ Tagen bereinigt.

Beispiel 2. Erstellt ein Verzeichnis mit einem SMACK-Attribut

    D /run/cups - - - -
    t /run/cups - - - - security.SMACK64=printing user.attr-with-spaces="foo bar"

Das Verzeichnis wird root gehören und den Standardmodus haben. Seine Inhalte unterliegen nicht der zeitbasierten Bereinigung, werden aber ausgelöscht, wenn systemd-tmpfiles --remove ausgeführt wird.

Beispiel 3. Erstellt ein Verzeichnis und verhindert die Bereinigung seiner Inhalte

abrt(1) benötigt ein beim Systemstart erstelltes Verzeichnis mit bestimmten Modi und Eigentümerschaften und seine Inhalte sollten vor der automatischen, auf /var/tmp angewandten Bereinigung geschützt werden:

    # /usr/lib/tmpfiles.d/tmp.conf
    d /var/tmp 1777 root root 30d

    # /usr/lib/tmpfiles.d/abrt.conf
    d /var/tmp/abrt 0755 abrt abrt -

Beispiel 4. Wendet Bereinigung beim Systemstart und zeitbasiert an

    # /usr/lib/tmpfiles.d/dnf.conf
    r! /var/cache/dnf/*/*/download_lock.pid
    r! /var/cache/dnf/*/*/metadata_lock.pid
    r! /var/lib/dnf/rpmdb_lock.pid
    e  /var/cache/dnf/ - - - 30d

Die Sperrdateien werden während des Systemstarts entfernt. Alle Dateien und Verzeichnisse in /var/cache/dnf/ werden entfernt, nachdem in 30 Tagen nicht auf sie zugegriffen wurde.

Beispiel 5. Den Inhalt eines Zwischenspeicherverzeichnisses beim Systemstart leeren

    # /usr/lib/tmpfiles.d/krb5rcache.conf
    e! /var/cache/krb5rcache - - - 0

Alle Dateien und Unterverzeichnisse in /var/cache/krb5rcache/ werden beim Systemstart entfernt. Das Verzeichnis wird nicht erstellt.

SIEHE AUCH

systemd(1), systemd-tmpfiles(8), systemd-delta(1), systemd.exec(5), attr(5), getfattr(1), setfattr(1), setfacl(1), getfacl(1), chattr(1), btrfs-subvolume(8), btrfs-qgroup(8)

Ü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 <debian-l10n-german@lists.debian.org>.