- bookworm 4.18.1-1
- bookworm-backports 4.27.0-1~bpo12+1
- testing 4.27.0-1
- unstable 4.27.0-1
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 Dateien 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, $PAGER
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, können $SYSTEMD_PAGER und $PAGER nur zum Deaktivieren des Seitenanzeigeprogramms (mit »cat« oder »«) verwandt werden und werden ansonsten 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
Diese Option akzeptiert ein logisches Argument. Ist es auf »true« gesetzt, wird der »Sichere Modus« des Seitenanzeigeprogramms aktiviert. Im »Sicheren Modus« wird LESSSECURE=1 beim Aufruf des Seitenanzeigeprogramms gesetzt. Dies weist das Seiteanzeigeprogramm an, Befehle zum Öffnen oder Erstellen von neuen Dateien sowie das Starten von Subprozessen zu deaktivieren. Derzeit ist nur von less(1) bekannt, dass es diese Variable versteht und den »Sicheren Modus« implementiert.
Ist diese Variable auf »false« gesetzt, unterliegt das Seitenanzeigeprogramm keinen Beschränkungen. Setzen auf SYSTEMD_PAGERSECURE=0 oder das Beibehalten der Variable von der geerbten Umgebung könnte den Benutzern die Ausführung beliebiger Befehle erlauben.
Ist $SYSTEMD_PAGERSECURE nicht gesetzt, versuchen die Systemd-Werkzeuge automatisch herauszufinden, ob der »Sicheren Modus« aktiviert werden soll und ob das Seitenanzeigeprogramm dies unterstützt. Der »Sichere Modus« wird aktiviert, falls die effektive UID nicht mit der UID des Eigentümers der Anmeldesitzung übereinstimmt, siehe geteuid(2) und sd_pid_get_owner_uid(3), oder wenn die Ausführung unter Werkzeugen wie sudo(8) oder ähnlichem erfolgt ($SUDO_UID ist gesetzt [2]). In diesen Fällen wird SYSTEMD_PAGERSECURE=1 gesetzt und Seitenanzeigeprogramme, von denen nicht bekannt ist, dass sie den »Sicheren Modus« unterstützen, werden überhaupt nicht verwandt. Beachten Sie, dass diese automatische Erkennung nur die typischsten Mechanismen zur Erlangung von Privilegien abdeckt und dem Komfort dient. Es wird empfohlen, explizit $SYSTEMD_PAGERSECURE zu setzen oder das Seitenanzeigeprogramm zu deaktivieren.
Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt sein muss, damit die Variablen $SYSTEMD_PAGER oder $PAGER (außer zum Deaktivieren des Seitenanzeigeprogramms) berücksichtigt werden.
$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
- 2.
- Es wird für andere Werkzeuge empfohlen, $SUDO_UID geeignet zu setzen und zu überprüfen und es als allgemeine Schnittstelle zu behandeln.
Ü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: debian-l10n-german@lists.debian.org.
systemd 257.6 |