- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
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 - Dateien sowie Verzeichnisse erstellen, löschen und aufräumen
ÜBERSICHT¶
systemd-tmpfiles [OPTIONEN …] [KONFIGURATIONSDATEI …]
System-Units:
Benutzer-Units:
BESCHREIBUNG¶
systemd-tmpfiles erstellt und löscht Dateien sowie Verzeichnisse und räumt diese auf, unter Verwendung des Konfigurationsdateiformats und des Ortes der in tmpfiles.d(5) beschriebenen Konfigurationsdatei. Historisch wurde es entwickelt, um temporäre und flüchtige Datein zu vewalten, wie der Name es andeutet, aber es stellt eine generische Dateiverwaltungsfunktionalität bereit und kann zur Verwaltung jeder Art von Dateien verwandt werden. Es muss mit einer oder mehrerer der Befehle --create, --remove und --clean aufgerufen werden, um die entsprechende Teilmenge der Aktionen auszuwählen.
Beim Aufruf ohne Argumente werden die Direktiven aus den Konfigurationsdateien ausgeführt, die in den durch tmpfiles.d(5) festgelegten Verzeichnissen gefunden werden. Beim Aufruf mit positionsabhängigen Argumenten und der Option --replace=PFAD werden auf der Befehlszeile angegebene Argumente anstelle der Konfigurationsdatei PFAD verwandt. Andernfalls wird nur die durch Befehlszeilenargumente festgelegte Konfigurationsdatei ausgeführt. Falls anstelle eines Dateinamens die Zeichenkette »-« angegegeben ist, wird die Konfiguration aus der Standardeingabe gelesen. Falls das Argument ein Dateiname (ohne Schrägstriche) ist, werden alle Konfigurationsverzeichnisse nach einer passenden Datei durchsucht und die gefundene Datei mit der höchsten Priorität wird ausgeführt. Falls das Argument ein Pfad ist, wird diese Datei direkt verwandt, ohne in den Konfigurationsdateien nach anderen passenden Dateien zu suchen.
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 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).
BEFEHLE UND OPTIONEN¶
Die folgenden Befehle werden verstanden:
--create
--clean
--remove
--purge
Der primäre Anwendungsfall für diese Option ist die automatische Entfernung von Dateien und Verzeichnissen, die ursprünglich im Auftrag eines installierten Pakets zum Zeitpunkt der Paketentfernung installiert wurden.
Es wird empfohlen, diesen Befehl erstmalig in Kombination mit --dry-run (siehe unten) aufzurufen, um zu überprüfen, welche Dateien und Verzeichnisse gelöscht werden.
Warnung! Dies ist normalerweise nicht der von Ihnen gewünschte Befehl! Für die meisten Fälle suchen Sie nach --remove.
Hinzugefügt in Version 256.
--user
Hinzugefügt in Version 236.
--boot
Hinzugefügt in Version 209.
--graceful
Hinzugefügt in Version 254.
--dry-run
Hinzugefügt in Version 256.
--prefix=Pfad
Hinzugefügt in Version 212.
--exclude-prefix=Pfad
Hinzugefügt in Version 207.
-E
Hinzugefügt in Version 247.
--root=Wurzel
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.
Hinzugefügt in Version 212.
--image=Abbild
Impliziert -E.
Hinzugefügt in Version 247.
--image-policy=Richtlinie
--replace=PFAD
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.
Hinzugefügt in Version 238.
--cat-config
--tldr
--no-pager
-h, --help
--version
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 ImportCredential=/LoadCredential=/SetCredential= implementierte Dienstezugangsberechtigungslogik (siehe systemd.exec(5) für Details). Die folgenden Zugangsberechtigungen werden verwandt, wenn sie hereingegeben werden:
tmpfiles.extra
Hinzugefügt in Version 252.
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_LEVEL
$SYSTEMD_LOG_COLOR
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
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.
$SYSTEMD_LOG_LOCATION
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
$SYSTEMD_PAGER
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, dann wird $SYSTEMD_PAGER (sowie $PAGER) ohne Rückmeldung ignoriert.
$SYSTEMD_LESS
Benutzer könnten insbesondere zwei Optionen ändern wollen:
K
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
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESS keine Auswirkungen auf die Ausführung von less(1) durch systemd(1)-Werkzeuge hat.
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
Beachten Sie, dass das Setzen der regulären Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf die Ausführungen von less(1) durch systemd(1)-Werkzeuge hat.
$SYSTEMD_PAGERSECURE
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 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 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 das Textanzeigeprogramm komplett mit --no-pager zu deaktivieren.
$SYSTEMD_COLORS
$SYSTEMD_URLIFY
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¶
ANMERKUNGEN¶
- 1.
- Spezifikation für auffindbare Partitionen
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
systemd 256.5 |