SYSTEMD-TMPFILES(8) systemd-tmpfiles SYSTEMD-TMPFILES(8) BEZEICHNUNG systemd-tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Temporare und fluchtige Dateien sowie Verzeichnisse erstellen, loschen und aufraumen UBERSICHT systemd-tmpfiles [OPTIONEN ] [KONFIGURATIONSDATEI ] System-Units: systemd-tmpfiles-setup.service systemd-tmpfiles-setup-dev-early.service systemd-tmpfiles-setup-dev.service systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timer Benutzer-Units: systemd-tmpfiles-setup.service systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timer BESCHREIBUNG systemd-tmpfiles erstellt und loscht temporare und fluchtige Dateien sowie Verzeichnisse und raumt diese auf, unter Verwendung des Konfigurationsdateiformats und des Ortes der in tmpfiles.d(5) beschriebenen Konfigurationsdatei. Es muss mit einer oder mehrerer der Optionen --create, --remove und --clean aufgerufen werden, um die entsprechende Teilmenge der Aktionen auszuwahlen. Standardmassig werden alle Direktiven aus allen Konfigurationsdateien angewandt. Beim Aufruf mit --replace=PFAD werden die auf der Befehlzeile festgelegten Argumente anstatt der Konfigurationsdatei PFAD verwandt. Werden andernfalls ein oder mehrere absolute Dateinamen in der Befehlszeile ubergeben, werden nur die in diesen Dateien enthaltenen Anweisungen ausgefuhrt. Wenn >>-<< statt eines Dateinamens angegeben wird, werden die Anweisungen von der Standardeingabe gelesen. In dem Fall, dass nur der Basisname einer Konfigurationsdatei angegeben wird, werden alle in tmpfiles.d(5) angegebenen Verzeichnisse nach einer passenden Datei durchsucht und die gefundene Datei, die die hochste Prioritat hat, wird ausgefuhrt. Systemdienste (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) rufen systemd-tmpfiles auf, um Systemdateien zu erstellen und systemweites Aufraumen vorzunehmen. Diese Dienste lesen vom Administrator kontrollierte Konfigurationsdateien in den tmpfiles.d/-Verzeichnissen ein. Benutzerdienste (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) rufen auch systemd-tmpfiles auf, dies liest aber eine separate Gruppe von Dateien, einschliesslich der durch Benutzer kontrollierten Dateien unter ~/.config/user-tmpfiles.d/ und ~/.local/share/user-tmpfiles.d/ und der durch den Administrator kontrollierten Dateien unter /usr/share/user-tmpfiles.d/. Benutzer konnen dies dazu verwenden, Dateien durch sie gesteuert zu erstellen und aufzuraumen, aber die Systeminstanz fuhrt das globale Aufraumen durch und wird nicht von der Benutzerkonfiguration beeinflusst. Beachten Sie, dass daher ein in der Systeminstanz konfiguriertes zeitbasiertes Aufraumen, wie diese typischerweise fur /tmp/ konfiguriert ist, auch von der Benutzerinstanz erstellte Dateien betreffen wird, falls sie in /tmp/ abgelegt sind, selbst falls das zeitbasierte Aufraumen in der Benutzerinstanz ausgeschaltet ist. Um Einstellungen erneut anzuwenden, nachdem die Konfiguration verandert wurde, starten Sie einfach systemd-tmpfiles-clean.service neu, wodurch alle Einstellungen, die problemlos wahrend der Laufzeit ausgefuhrt werden konnen, angewandt werden. Um Fehler in systemd-tmpfiles zu finden, kann es nutzlich sein, es direkt von der Befehlszeile aus mit erhohter Protokollierstufe aufzurufen (siehe nachfolgenden $SYSTEMD_LOG_LEVEL). OPTIONEN Die folgenden Optionen werden verstanden: --create Entfernt alle in der Konfigurationsdatei mit f, F, w, d, D, v, p, L, c, b, m markierten Dateien und Verzeichnisse oder legt diese an. Mit z, Z, , t, T, a und A markierte Dateien und Verzeichnisse haben ihre eigenen Besitzer, Zugriffsmodi und Sicherheits-Label. --clean Raumt alle Dateien und Verzeichnisse auf, fur die ein Parameter konfiguriert ist, der sich auf das Alter bezieht. --remove Entfernt den Inhalt aller mit D oder R markierten Dateien und Verzeichnisse, sowie die mit r oder R markierten Verzeichnisse selbst, ausser auf sie wird eine exklusive oder gemeinsame Sperre gehalten (siehe flock(2)). --user Wendet die >>Benutzer<<-Konfiguration an, d.h. tmpfiles.d-Dateien in Benutzerkonfigurationsverzeichnissen. Hinzugefugt in Version 236. --boot Fuhrt auch Zeilen aus, die mit einem Anfuhrungszeichen beginnen. Zeilen, deren Ausfuhrung auf einem laufenden System nicht sicher sind, konnen auf diese Art markiert werden. systemd-tmpfiles wird im Systemstart fruh mit angegebenem --boot ausgefuhrt und wird diese Zeilen ausfuhren. Bei spaterem Aufruf sollte es ohne --boot aufgerufen werden. Hinzugefugt in Version 209. --graceful Ignoriert Konfigurationszeilen, die unbekannte Benutzer oder Gruppen betreffen. Diese Option ist fur die fruhe Systemstartphase gedacht, bevor alle Benutzer und Gruppen erstellt wurden. Hinzugefugt in Version 254. --prefix=Pfad Wendet nur jene Regeln an, die auf Pfade mit dem angegebenen Prafix verweisen. Diese Option kann mehrmals angegeben werden. Hinzugefugt in Version 212. --exclude-prefix=Pfad Ignoriert die Regeln zum Anwenden der Pfade mit dem angegebenen Prafix. Diese Option kann mehrmals angegeben werden. Hinzugefugt in Version 207. -E Eine Abkurzung fur >>--exclude-prefix=/dev --exclude-prefix=/proc --exclude-prefix=/run --exclude-prefix=/sys<<, d.h. den Ausschluss von Hierarchien, die typischerweise durch virtuelle oder Speicherdateisysteme hinterlegt sind. Dies ist in Kombination mit --root= nutzlich, falls der angegebene Verzeichnisbaum einen Betriebssystembaum enthalt, der diese virtuellen/Speicherdateisysteme unter diesen Unterverzeichnissen nicht eingehangt hat, falls angenommen wird, dass diese zur Laufzeit daruber eingehangt werden. Hinzugefugt in Version 247. --root=Wurzel Akzeptiert einen Verzeichnispfad als Argument. Allen Pfaden wird der angegebene alternative Wurzel-Pfad vorangestellt, einschliesslich der Suchpfade fur die Konfiguration. Wenn diese Option verwandt wird, wird der >>Name Service Switch (NSS)<< der Libc fur die Auflosung von Benutzern und Gruppen umgangen. Stattdessen werden die Dateien /etc/passwd und /etc/group innerhalb der alternativen Wurzel direkt gelesen. Dies bedeutet, dass Benutzer/Gruppen, die in diesen Dateien nicht aufgefuhrt sind, nicht aufgelost werden, d.h. LDAP-NIS und andere komplexe Datenbanken werden nicht berucksichtigt. Ziehen Sie in Betracht, dies mit -E zu kombinieren, um sicherzustellen, dass der Aufruf keine Dateien oder Verzeichnisse unterhalb von Einhangepunkten im Betriebssystemabbild, auf dem gearbeitet wird, anlegt, die typischerweise zur Laufzeit durch Einhangungen uberdeckt werden. Hinzugefugt in Version 212. --image=Abbild Akzeptiert einen Pfad zu einer Plattenabbilddatei oder einem Blockgeratenamen. Falls angegeben, werden alle Aktionen auf das Dateisystem in dem angegebenen Plattenabbild angewandt. Dies ist ahnlich zu --root=, agiert aber auf Dateisystemen, die in Plattenabbildern oder Blockgeraten gespeichert sind. Das Plattenabbild sollte entweder nur ein Dateisystem oder eine Reihe von Dateisystemen innerhalb einer GPT-Partitionstabelle enthalten, die der Spezifikation fur auffindbare Partitionen[1] folgt. Fur weitere Informationen uber unterstutzte Plattenabbilder, siehe den Schalter von systemd-nspawn(1) mit dem gleichen Namen. Impliziert -E. Hinzugefugt in Version 247. --image-policy=Richtlinie Akzeptiert gemass systemd.image-policy(7) eine Abbildrichtlinienzeichenkette als Argument. Die Richtlinie wird bei Aktionen auf dem mittels --image= angegebenen Plattenabbild durchgesetzt, siehe oben. Falls nicht angegeben ist die Vorgabe die Richtlinie >>*<<, d.h. alle erkannten Dateisysteme im Abbild werden verwandt. --replace=PFAD Wird diese Option angegeben, mussen eine oder mehrere positionsbezogene Argumente festgelegt werden. Alle in den in tmpfiles.d(5) aufgefuhrten Verzeichnissen gefundenen Konfigurationsdateien werden gelesen und die auf der Befehlszeile ubergebene Konfiguration wird statt der Konfigurationsdatei PFAD mit der gleichen Prioritat wie diese verwandt. Wenn die Installationsskripte laufen und zum Paket gehorende Dateien noch nicht verfugbar sind, muss der Inhalt der Skripte auf der Befehlszeile ubergeben werden. Diese Option sorgt dafur, dass die Konfigurationsskripte des Administrators eine hohere Prioritat erhalten, sofern diese bereits existieren. Hinzugefugt in Version 238. --cat-config Kopiert den Inhalt der Konfigurationsdateien in die Standardausgabe. Vor jeder Datei wird der Dateiname als Kommentar ausgegeben. --tldr Kopiert den Inhalt der Konfigurationsdateien in die Standardausgabe. Nur der >>interessante<< Teil der Konfigurationsdateien wird ausgegeben, Kommentare und leere Zeilen werden ubersprungen. Vor jeder Datei wird der Dateiname als Kommentar ausgegeben. --no-pager Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter. -h, --help Zeigt einen kurzen Hilfetext an und beendet das Programm. --version Zeigt eine kurze Versionszeichenkette an und beendet das Programm. Es ist moglich, --create, --clean und --remove in einem Aufruf zu kombinieren (in diesem Fall wird die Entfernung und Bereinigung vor der Erstellung neuer Dateien durchgefuhrt). Zum Beispiel wird wahrend des Systemstarts die folgende Befehlszeile ausgefuhrt, um sicherzustellen, dass alle fluchtigen und temporaren Verzeichnisse entsprechend der Konfigurationsdatei entfernt beziehungsweise angelegt werden: systemd-tmpfiles --remove --create ZUGANGSBERECHTIGUNGEN systemd-tmpfiles unterstutzt die durch ImportCredential=/LoadCredential=/SetCredential= implementierte Dienstezugangsberechtigungslogik (siehe systemd.exec(5) fur Details). Die folgenden Zugangsberechtigungen werden verwandt, wenn sie hereingegeben werden: tmpfiles.extra Der Inhalt dieser Zugangsberechtigung kann zusatzliche Zeilen, auf die agiert werden soll, enthalten. Der Zugangsberechtigungsinhalt sollte dem gleichen Format wie jede andere Erganzungskonfigurationsdatei fur tmpfiles.d/ folgen. Falls diese Zugangsberechtigung hereingegeben wird, wird sie nach allen anderen, aus dem Dateisystem gelesenen Erganzungsdateien verarbeitet. Die Zeilen in der Zugangsberechtigung konnen daher bestehende Zeilen des Betriebssystems erganzen, sie aber nicht ausser Kraft setzen. Hinzugefugt in Version 252. Beachten Sie, dass standardmassig die Unit-Datei systemd-tmpfiles-setup.service (und dazu in Bezug stehende Unit-Dateien) so eingerichtet sind, dass sie die Zugangsberechtigung >>tmpfiles.extra<< vom Diensteverwalter erben. UMGEBUNGSVARIABLEN $SYSTEMD_LOG_LEVEL Die maximale Protokollierstufe ausgesandter Nachrichten (Nachrichten mit einer hoheren Protokollierstufe, d.h. weniger wichtige, werden unterdruckt). Sie muss (in absteigender Reihenfolge) entweder alert, crit, err, warning, notice, info, debug oder eine Ganzzahl im Bereich 07 sein. Siehe syslog(3) fur weitere Informationen. $SYSTEMD_LOG_COLOR Ein logischer Wert. Falls wahr, werden auf das TTY geschriebene Nachrichten gemass ihrer Prioritat eingefarbt. Diese Einstellung ist nur nutzlich, falls die Nachrichten direkt auf das Terminal geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbstandig Nachrichten gemass ihrer Protokollierungsstufe einfarben. $SYSTEMD_LOG_TIME Ein logischer Wert. Falls wahr, wird den Protokollnachrichten der Konsole ein Zeitstempel vorangestellt. Diese Einstellung ist nur nutzlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbstandig Zeitstempel basierend auf ihren Metadaten den Nachrichten anhangen werden. $SYSTEMD_LOG_LOCATION Ein logischer Wert. Falls wahr, wird den Protokollnachrichten ein Dateinamen und eine Zeilenummer in dem Quellcode, aus dem die Nachrichten stammen, vorangestellt. Beachten Sie, dass der Protokollierort sowieso oft als Metadaten zu den Journal-Eintragen angehangt ist. Die Aufnahme in den Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch sein. $SYSTEMD_LOG_TARGET Das Ziel fur Protokolliernachrichten. Entweder console (auf das angehangte TTY protokollieren), console-prefixed (auf das angehangte TTY protokollieren, aber die Protokollierstufe und >>Einrichtung<< voranstellen, siehe syslog(3)), kmsg (in den zirkularen Kernel-Protokollpuffer protokollieren), journal (in das Journal protokollieren (journal-or-kmsg (in das Journal protokollieren, falls verfugbar, und andernfalls nach Kmsg), auto (das geeignete Protokollierziel automatisch ermitteln, die Vorgabe) oder null (die Protokollierung deaktivieren). $SYSTEMD_PAGER Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist; setzt $PAGER ausser Kraft. Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter Implementierungen von Textanzeigeprogrammen der Reihe nach ausprobiert, einschliesslich less(1) und more(1), bis eines gefunden wird. Falls keine Implementierung eines Textanzeigeprogramms gefunden wird, wird keines aufgerufen. Setzen der Umgebungsvariablen auf die leere Zeichenkette oder den Wert >>cat<< ist aquivalent zur Ubergabe von --no-pager. Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, dann wird $SYSTEMD_PAGER (sowie $PAGER) ohne Ruckmeldung ignoriert. $SYSTEMD_LESS Setzt die an less ubergebenen Optionen (standardmassig >>FRSXMK<<) ausser Kraft. Benutzer konnten insbesondere zwei Optionen andern wollen: K Diese Option weist das Textanzeigeprogramm an, sich sofort beim Druck von Strg-C zu beenden. Um less die Handhabung von Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben, setzen Sie diese Option zuruck. Falls der Wert von $SYSTEMD_LESS kein >>K<< enthalt und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden. X Diese Option weist das Textanzeigeprogramm an, keine Termcap-Initialisierungs- und -Deinitalisierungszeichenketten an das Terminal zu senden. Dies ist standardmassig gesetzt, damit die Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt. Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfugung; insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht moglich. Siehe less(1) fur weitere Ausfuhrungen. $SYSTEMD_LESSCHARSET Setzt den an less zu ubergebenden Zeichensatz (standardmassig >>utf-8<<, falls das aufrufende Terminal als UTF-8-kompatibel erkannt wurde) ausser Kraft. $SYSTEMD_PAGERSECURE Akzeptiert einen logischen Wert. Wenn wahr, wird der >>sichere<< Modus des Textanzeigeprogramms verwandt, falls falsch, wird dieser deaktiviert. Falls $SYSTEMD_PAGERSECURE uberhaupt nicht gesetzt ist, dann wird der sichere Modus aktiviert, falls die effektive Kennung nicht identisch zu dem Eigentumer der Anmeldesitzung ist, siehe geteuid(2) und sd_pid_get_owner_uid(3). Im sicheren Modus wird LESSSECURE=1 beim Aufruf des Textanzeigeprogramms gesetzt und das Textanzeigeprogramm muss Befehle deaktivieren, die neue Dateien offnen oder erstellen oder die einen neuen Unterprozess starten. Falls $SYSTEMD_PAGERSECURE uberhaupt nicht gesetzt ist, werden Textanzeigeprogramme, bei denen unbekannt ist, ob sie einen sicheren Modus implementieren, nicht verwandt. (Derzeit implementiert nur less(1) einen sicheren Modus.) Hinweis: Wenn Befehle mit erhohten Rechten ausgefuhrt werden, beispielsweise mittels sudo(8) oder pkexec(1), muss Vorsicht walten gelassen werden, um sicherzustellen, dass keine ungeplanten interaktiven Funktionalitaten aktiviert werden. Der >>sichere<< Modus fur das Textanzeigeprogramm kann wie oben beschrieben automatisch aktiviert werden. Durch Setzen von SYSTEMD_PAGERSECURE=0 oder durch Nichtenfernen dieser Einstellung aus der ererbten Umgebung wird es dem Benutzer ermoglicht, beliebige Befehle auszufuhren. Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt werden muss, falls die Variablen $SYSTEMD_PAGER oder $PAGER berucksichtigt werden sollen. Es kann sinnvoll sein, stattdessen das Textanzeigeprogramm komplett mit --no-pager zu deaktivieren. $SYSTEMD_COLORS Akzeptiert ein logisches Argument. Wenn wahr, werden systemd und verwandte Hilfswerkzeuge Farben in ihrer Ausgabe verwenden, andernfalls wird die Ausgabe einfarbig sein. Zusatzlich kann die Variable eine der folgenden besonderen Werte annehmen: >>16<<, >>256<<, um die Verwendung von Farbe auf die grundlegenden 16 bzw. 256 ANSI-Farben zu beschranken. Dies kann festgelegt werden, um die auf $TERM und der vorliegenden Verbindung der Konsole basierende automatische Entscheidung ausser Kraft zu setzen. $SYSTEMD_URLIFY Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links fur Terminal-Emulatoren, die dies unterstutzen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und anderen Bedingungen trifft, ausser Kraft zu setzen. UNPRIVILEGIERTE --CLEANUP-OPERATION systemd-tmpfiles versucht die Anderungs- und Zugriffs-Zeitstempel der Verzeichnisse zu erhalten, auf die es zugreift. Dafur sind CAP_FOWNER-Privilegien erforderlich. Wenn es nicht als Root ausgefuhrt wird, wird die Zugriffszeit der Verzeichnisse aktualisiert, die nach zu loschenden Dateien durchsucht werden. Dadurch kann der tatsachliche Loschvorgang verhindert werden. EXIT-STATUS Im Erfolgsfall wird 0 zuruckgeliefert. Falls die Konfigurationsdatei syntaktisch ungultig war (Syntaxfehler, fehlende Argumente, ) und einige Zeilen ignoriert werden mussten, aber keine weiteren Fehler aufgetreten sind, wird 65 zuruckgeliefert (EX_DATAERR aus /usr/include/sysexits.h). Falls die Konfiguration syntaktisch korrekt war, aber nicht ausgefuhrt werden konnte (unzureichende Rechte, Erstellung von Dateien in fehlenden Verzeichnissen, ungultige Inhalte beim Schreiben von /sys/-Werten, ), wird 73 zuruckgeliefert (EX_CANTCREAT aus /usr/include/sysexits.h). Andernfalls wird 1 zuruckgeliefert (EXIT_FAILURE aus /usr/include/stdlib.h). Beachten Sie: Wenn Sie Elemente erstellen und das Ziel bereits existiert, aber vom falschen Typ ist oder anderweitig nicht auf den erbetenen Zustand passt und keine Zwangsaktion mit >>+<< erbeten wurde, dann wird eine Nachricht ausgegeben, aber der Fehlschlag wird ansonsten ignoriert. SIEHE AUCH systemd(1), tmpfiles.d(5) ANMERKUNGEN 1. Spezifikation fur auffindbare Partitionen https://uapi-group.org/specifications/specs/discoverable_partitions_specification UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann und 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 255 SYSTEMD-TMPFILES(8)