Tipp: systemd-tmpfiles

Aus Linupedia
Wechseln zu: Navigation, Suche
Diese Beschreibung wurde mit folgenden Distributionen getestet:


Linux speichert auf der Festplatte unter anderem in den Verzeichnissen "/tmp" und "/var/tmp" Informationen die temporär benötigt werden. Manche davon sind nur sehr flüchtig und werden nie wieder gebraucht. Andere werden durchaus länger benötigt. Manchmal können sich hier riesige Datenmengen an Müll ansammeln. Hier zeige ich euch, wie man Dateien für einen maximal festgelegten Zeitraum in diesen Verzeichnissen behält. Alles andere wird automatisch bereinigt. Generell können Programme die Daten in "/tmp" anlegen davon ausgehen, dass diese gleich beim nächsten Neustart nicht mehr vorhanden sind. Wiederum "/var/tmp" ist als längerfristiger Speicherort gedacht.

Bei openSUSE werden diese Verzeichnisse nicht mehr wie früher unter Sys-V Init automatisch bereinigt.

Wer also wieder, wie früher ein automatisiertes Reinigen dieser Systembereiche wünscht, müsste hier händisch einige Einstellungen korrigieren. Im folgenden Beispiel werden benannte Einstellungen gemacht:

Automatische Bereinigung
"/tmp" sehr Kurzfristige Dateien 2 Tage
"/var/tmp" längerfristig erwünschte Dateien 7 Tage

Eine Änderung am Dienst systemd-tmpfiles ist dazu nötig. Folgende Datei wird mitgeliefert:

/usr/lib/tmpfiles.d/tmp.conf

Da diese Datei bei einem Update von systemd überschrieben werden würde, kann eine eigene Arbeitskopie erzeugt werden, die dann erhalten bleibt. Diese wird dann Automatisch verwendet:

Bei openSUSE 13.2 war diese Kopie bereits vorhanden Bei Tumbleweed und Leap 42.1 musste ich die Kopie erzeugen:
cp /usr/lib/tmpfiles.d/tmp.conf /etc/tmpfiles.d/tmp.conf

Jetzt kann die Arbeitskopie bearbeitet werden:

pico /etc/tmpfiles.d/tmp.conf

Weiter müssten dazu nachfolgende Zeilen bei diesem Absatz:

# Clear tmp directories separately, to make them easier to override
# SUSE policy: we don't clean those directories
d /tmp 1777 root root -
d /var/tmp 1777 root root -

So abgeändert werden: Also statt "-", die Zeit in Tagen "d":

Bei openSUSE 13.2 und Leap 42.1:
d /tmp 1777 root root 2d
d /var/tmp 1777 root root 7d
Bei openSUSE Tumbleweed:
# Clear tmp directories separately, to make them easier to override
# SUSE policy: we don't clean those directories
v /tmp 1777 root root 2d
v /var/tmp 1777 root root 7d

Navi: Zurück zum Guide Zurück zu 'systemd'