BEZEICHNUNG
systemd-tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Temporäre und flüchtige Dateien sowie Verzeichnisse erstellen, löschen und aufräumenÜBERSICHT
systemd-tmpfiles
[OPTIONEN …] [ KONFIGURATIONSDATEI …]
System-Units:
systemd-tmpfiles-setup.service systemd-tmpfiles-setup-dev.service systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timerBenutzer-Units:
systemd-tmpfiles-setup.service systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timer
BESCHREIBUNG
systemd-tmpfiles erstellt und löscht temporäre und flüchtige Dateien sowie Verzeichnisse und räumt 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 auszuwählen. Standardmäßig 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 übergeben, werden nur die in diesen Dateien enthaltenen Anweisungen ausgeführt. 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 höchste Priorität hat, wird ausgeführt. Systemdienste (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) rufen systemd-tmpfiles auf, um Systemdateien zu erstellen und systemweites Aufräumen 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, einschließlich 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 können dies dazu verwenden, Dateien durch sie gesteuert zu erstellen und aufzuräumen, aber die Systeminstanz führt das globale Aufräumen durch und wird nicht von der Benutzerkonfiguration beeinflusst. Beachten Sie, dass daher ein in der Systeminstanz konfiguriertes zeitbasiertes Aufräumen, wie diese typischerweise für /tmp/ konfiguriert ist, auch von der Benutzerinstanz erstellte Dateien betreffen wird, falls sie in /tmp/ abgelegt sind, selbst falls das zeitbasierte Aufräumen in der Benutzerinstanz ausgeschaltet ist. Um Einstellungen erneut anzuwenden, nachdem die Konfiguration verändert wurde, starten Sie einfach systemd-tmpfiles-clean.service neu, wodurch alle Einstellungen, die problemlos während der Laufzeit ausgeführt werden können, angewandt werden. Um Fehler in systemd-tmpfiles zu finden, kann es nützlich sein, es direkt von der Befehlszeile aus mit erhöhter Protokollierstufe aufzurufen (siehe nachfolgenden $SYSTEMD_LOG_LEVEL).OPTIONEN
Die folgenden Optionen werden verstanden: --createEntfernt 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
Räumt alle Dateien und Verzeichnisse
auf, für 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.
--user
Wendet die
»Benutzer«-Konfiguration an, d.h. tmpfiles.d-Dateien in
Benutzerkonfigurationsverzeichnissen.
--boot
Wendet auch jene Regeln an, denen ein
Ausrufezeichen vorangestellt ist.
--prefix=Pfad
Wendet nur jene Regeln an, die auf Pfade mit
dem angegebenen Präfix verweisen. Diese Option kann mehrmals angegeben
werden.
--exclude-prefix=Pfad
Ignoriert die Regeln zum Anwenden der Pfade
mit dem angegebenen Präfix. Diese Option kann mehrmals angegeben
werden.
-E
Eine Abkürzung für
»--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= nützlich, falls der angegebene
Verzeichnisbaum einen Betriebssystembaum enthält, der diese
virtuellen/Speicherdateisysteme unter diesen Unterverzeichnissen nicht
eingehängt hat, falls angenommen wird, dass diese zur Laufzeit
darüber eingehängt werden.
--root=Wurzel
Akzeptiert einen Verzeichnispfad als Argument.
Allen Pfaden wird der angegebene alternative Wurzel-Pfad vorangestellt,
einschließlich der Suchpfade für die Konfiguration.
Wenn diese Option verwandt wird, wird der »Name Service Switch
(NSS)« der Libc für die Auflösung 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 aufgeführt sind, nicht
aufgelöst werden, d.h. LDAP-NIS und andere komplexe Datenbanken werden
nicht berücksichtigt.
Ziehen Sie in Betracht, dies mit -E zu kombinieren, um sicherzustellen,
dass der Aufruf keine Dateien oder Verzeichnisse unterhalb von
Einhängepunkten im Betriebssystemabbild, auf dem gearbeitet wird,
anlegt, die typischerweise zur Laufzeit durch Einhängungen
überdeckt werden.
--image=Abbild
Akzeptiert einen Pfad zu einer
Plattenabbilddatei oder einem Blockgerätenamen. Falls angegeben, werden
alle Aktionen auf das Dateisystem in dem angegebenen Plattenabbild angewandt.
Dies ist ähnlich zu --root=, agiert aber auf Dateisystemen, die
in Plattenabbildern oder Blockgeräten gespeichert sind. Das
Plattenabbild sollte entweder nur ein Dateisystem oder eine Reihe von
Dateisystemen innerhalb einer GPT-Partitionstabelle enthalten, die der
Spezifikation für auffindbare Partitionen[1] folgt. Für
weitere Informationen über unterstützte Plattenabbilder, siehe
den Schalter von systemd-nspawn(1) mit dem gleichen Namen.
Impliziert -E.
--replace=PFAD
Wird diese Option angegeben, müssen
eine oder mehrere positionsbezogene Argumente festgelegt werden. Alle in den
in tmpfiles.d(5) aufgeführten Verzeichnissen gefundenen
Konfigurationsdateien werden gelesen und die auf der Befehlszeile
übergebene Konfiguration wird statt der Konfigurationsdatei PFAD
mit der gleichen Priorität wie diese verwandt.
Wenn die Installationsskripte laufen und zum Paket gehörende Dateien noch
nicht verfügbar sind, muss der Inhalt der Skripte auf der Befehlszeile
übergeben werden. Diese Option sorgt dafür, dass die
Konfigurationsskripte des Administrators eine höhere Priorität
erhalten, sofern diese bereits existieren.
--cat-config
Kopiert den Inhalt der Konfigurationsdateien
in die Standardausgabe. 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 möglich, --create, --clean und --remove in
einem Aufruf zu kombinieren (in diesem Fall wird die Entfernung und
Bereinigung vor der Erstellung neuer Dateien durchgeführt). Zum
Beispiel wird während des Systemstarts die folgende Befehlszeile
ausgeführt, um sicherzustellen, dass alle flüchtigen und
temporären Verzeichnisse entsprechend der Konfigurationsdatei entfernt
beziehungsweise angelegt werden:
systemd-tmpfiles --remove --create
ZUGANGSBERECHTIGUNGEN
systemd-tmpfiles unterstützt die durch LoadCredential=/SetCredential= implementierte Dienstezugangsberechtigungslogik (siehe systemd.exec(1) für Details). Die folgenden Zugangsberechtigungen werden verwandt, wenn sie hereingegeben werden: "tmpfiles.extra"Der Inhalt dieser Zugangsberechtigung kann
zusätzliche Zeilen, auf die agiert werden soll, enthalten. Der
Zugangsberechtigungsinhalt sollte dem gleichen Format wie jede andere
Ergänzungskonfigurationsdatei für tmpfiles.d/ folgen. Falls
diese Zugangsberechtigung hereingegeben wird, wird sie nach allen anderen, aus
dem Dateisystem gelesenen Ergänzungsdateien verarbeitet. Die Zeilen in
der Zugangsberechtigung können daher bestehende Zeilen des
Betriebssystems ergänzen, sie aber nicht außer Kraft
setzen.
Beachten Sie, dass standardmäßig 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_LEVELDie maximale Protokollierstufe ausgesandter
Nachrichten (Nachrichten mit einer höheren Protokollierstufe, d.h.
weniger wichtige, werden unterdrückt). Sie muss (in absteigender
Reihenfolge) entweder alert, crit, err, warning,
notice, info, debug oder eine Ganzzahl im Bereich
0…7 sein. Siehe syslog(3) für weitere
Informationen.
$SYSTEMD_LOG_COLOR
Ein logischer Wert. Falls wahr, werden auf das
TTY geschriebene Nachrichten gemäß ihrer Priorität
eingefärbt.
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das
Terminal geschrieben werden, da journalctl(1) und andere Werkzeuge, die
Protokolle anzeigen, selbständig Nachrichten gemäß ihrer
Protokollierungsstufe einfärben.
$SYSTEMD_LOG_TIME
Ein logischer Wert. Falls wahr, wird den
Protokollnachrichten der Konsole ein Zeitstempel vorangestellt.
Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das
Terminal oder in eine Datei geschrieben werden, da journalctl(1) und
andere Werkzeuge, die Protokolle anzeigen, selbständig Zeitstempel
basierend auf ihren Metadaten den Nachrichten anhängen 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-Einträgen angehängt ist. Die Aufnahme in den
Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch
sein.
$SYSTEMD_LOG_TARGET
Das Ziel für Protokolliernachrichten.
Entweder console (auf das angehängte TTY protokollieren),
console-prefixed (auf das angehängte TTY protokollieren, aber
die Protokollierstufe und »Einrichtung« voranstellen, siehe
syslog(3)), kmsg (in den zirkulären
Kernel-Protokollpuffer protokollieren), journal (in das Journal
protokollieren ( journal-or-kmsg (in das Journal protokollieren, falls
verfügbar, 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 außer Kraft.
Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine
Reihe wohlbekannter Textanzeigeprogrammimplementierungen der Reihe nach
ausprobiert, einschließlich less(1) und more(1), bis
eines gefunden wird. Falls keine Textanzeigeprogrammimplementierung gefunden
wird, wird keines aufgerufen. Setzen der Umgebungsvariablen auf die leere
Zeichenkette oder den Wert »cat« ist äquivalent zur
Übergabe von --no-pager.
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, dann wird
$SYSTEMD_PAGER (sowie $PAGER) ohne Rückmeldung
ignoriert.
$SYSTEMD_LESS
Setzt die an less übergebenen
Optionen (standardmäßig »FRSXMK«) außer
Kraft.
Benutzer könnten insbesondere zwei Optionen ändern wollen:
K
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
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 zurück.
Falls der Wert von $SYSTEMD_LESS kein »K« enthält
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 standardmäßig gesetzt, damit die
Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms
sichtbar bleibt. Allerdings stehen dadurch einige Funktionen des
Textanzeigeprogramms nicht zur Verfügung; insbesondere ist das Scrollen
in der Ausgabe mit der Maus nicht möglich.
Setzt den an less zu
übergebenden Zeichensatz (standardmäßig
»utf-8«, falls das aufrufende Terminal als UTF-8-kompatibel
erkannt wurde) außer Kraft.
$SYSTEMD_PAGERSECURE
Akzeptiert einen logischen Wert. Wenn wahr,
wird der »sichere« Modus des Seitenanzeigeprogramms verwandt,
falls falsch, wird dieser deaktiviert. Falls $SYSTEMD_PAGERSECURE
überhaupt nicht gesetzt ist, dann wird der sichere Modus aktiviert,
falls die effektive Kennung nicht identisch zu dem Eigentümer der
Anmeldesitzung ist, siehe geteuid(2) und
sd_pid_get_owner_uid(3). Im sicheren Modus wird LESSSECURE=1
beim Aufruf des Seitenanzeigeprogramms gesetzt und das Seitenanzeigeprogramm
muss Befehle deaktivieren, die neue Dateien öffnen oder erstellen oder
die einen neuen Unterprozess starten. Falls $SYSTEMD_PAGERSECURE
überhaupt nicht gesetzt ist, werden Seitenanzeigeprogramme, bei denen
unbekannt ist, ob sie einen sicheren Modus implementieren, nicht verwandt.
(Derzeit implementiert nur less(1) einen sicheren Modus.)
Hinweis: Wenn Befehle mit erhöhten Rechten ausgeführt werden,
beispielsweise mittels sudo(8) oder pkexec(1), muss Vorsicht
walten gelassen werden, um sicherzustellen, dass keine ungeplanten
interaktiven Funktionalitäten aktiviert werden. Der
»sichere« Modus für das Seitenanzeigeprogramm 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 ermöglicht, beliebige
Befehle auszuführen. Beachten Sie, dass auch
$SYSTEMD_PAGERSECURE gesetzt werden muss, falls die Variablen
$SYSTEMD_PAGER oder $PAGER berücksichtigt werden sollen.
Es kann sinnvoll sein, stattdessen den Seitenanzeiger 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. Zusätzlich 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 beschränken. Dies kann festgelegt werden, um die auf
$TERM und der vorliegenden Verbindung der Konsole basierende
automatische Entscheidung außer Kraft zu setzen.
$SYSTEMD_URLIFY
Dies muss ein logischer Wert sein. Er steuert,
ob anklickbare Links für Terminal-Emulatoren, die dies
unterstützen, erstellt werden sollen. Dies kann angegeben werden, um
die Entscheidung, die systemd basierend auf $TERM und anderen
Bedingungen trifft, außer Kraft zu setzen.
UNPRIVILEGIERTE --CLEANUP-OPERATION
systemd-tmpfiles versucht die Änderungs- und Zugriffs-Zeitstempel der Verzeichnisse zu erhalten, auf die es zugreift. Dafür sind CAP_FOWNER-Privilegien erforderlich. Wenn es nicht als Root ausgeführt wird, wird die Zugriffszeit der Verzeichnisse aktualisiert, die nach zu löschenden Dateien durchsucht werden. Dadurch kann der tatsächliche Löschvorgang verhindert werden.EXIT-STATUS
Im Erfolgsfall wird 0 zurückgeliefert. Falls die Konfigurationsdatei syntaktisch ungültig war (Syntaxfehler, fehlende Argumente, …) und einige Zeilen ignoriert werden mussten, aber keine weiteren Fehler aufgetreten sind, wird 65 zurückgeliefert (EX_DATAERR aus /usr/include/sysexits.h). Falls die Konfiguration syntaktisch korrekt war, aber nicht ausgeführt werden konnte (unzureichende Rechte, Erstellung von Dateien in fehlenden Verzeichnissen, ungültige Inhalte beim Schreiben von /sys/-Werten, …), wird 73 zurückgeliefert (EX_CANTCREAT aus /usr/include/sysexits.h). Andernfalls wird 1 zurückgeliefert ( 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 für auffindbare Partitionen
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <[email protected]> und Helge Kreutzmann <[email protected]> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzersystemd 252 |