Temporäre Dateien unter Linux

19 07 2009

Temporäre Dateien regelmäßig automatisch löschen in openSUSE

Wie jetzt? Muss man da was dafür tun? Hab ich nicht letztens erst im Brustton der Überzeugung geschrieben, dass Linux-Systeme nicht vermüllen können?

Stimmt, das habe ich. Um so mehr war ich zunächst selbst verwundert, dass auf meiner 16 GiB großen System-Partition nur noch 482 MiB frei waren. Ein Blick mit Konqueror bestätigte mir, dass sich in /tmp (dem Verzeichnis für temporäre Dateien) satte 9,1 GiB angesammelt hatten. Das System lief aber die ganze Zeit problemlos und gewohnt flott. Was nun?

Frage: Vermüllt Linux doch? Muss ich – wie unter Windows – doch manuell aufräumen?

Antwort: Nein, tut es nicht! Und man muss bzw. sollte da auch nicht manuell eingreifen. Die Ursache ist, dass openSUSE standardmäßig offenbar mit etwas … “unüberlegten” Voreinstellungen daher kommt.

Lösung: Abgelaufene temporäre Dateien beim Systemstart automatisch aufräumen lassen!

Zunächst ein bisschen Theorie:

Das Verzeichnis /tmp enthält die temporären Dateien aller Systembenutzer. Da es keine Prozesse gibt, die nach einem Neustart noch einmal auf diese hier abgelegten Dateien zugreifen würden, könnte der Inhalt beim Neustart eigentlich fachgerecht entsorgt werden.

Manuelles Löschen ist hingegen deswegen nicht empfehlenswert, weil dies ja zur Laufzeit des System geschieht – also auch Dateien darin vorkommen, die noch eine Existenzberechtigung haben. Zwar können noch benötigte (= geöffnete) Dateien nicht ohne weiteres gelöscht werden, aber möchte man ja auch nicht hunderte Fehlermeldungen einzeln wegklicken müssen. Und wer will sowas überhaupt manuell machen, wir sind hier schließlich nicht bei Windows!

Es besteht aber die Möglichkeit, das Verezichnis “/tmp” automatisch beim Systemstart von denjenigen temporären Dateien zu befreien, die ein einstellbares Alter überschritten haben. Aus einem (für mich nicht nachvollziehbaren) Grund wird openSUSE aber mit Voreinstellungen installiert, die dieses Feature deaktivieren.

Die nachfolgende Anleitung zeigt Dir, wie Du das ein für allemal ändern kannst.

HowTo: Temporäre Dateien automatisch löschen in openSUSE

Diese Anleitung zeigt Dir, wie Du Dich nie wieder um solchem Datenmüll kümmern mußt:

  • Starte YAST:
    • Klicke dazu: K-Menü => System => YAST
    • Systemverwalter-Passwort (root) wird angefordert
  • Wähle die Kategorie “System
  • Starte hier: “Editor für /etc/sysconfig-Dateien
    • Öffne den Knoten “System” in der linken Baumansicht
    • Öffne darin den Knoten “Cron
  • Hier findest Du folgende Einträge
    • CLEAR_TMP_DIRS_AT_BOOTUP = “no”
      • Einstellung ändern in: “yes”
      • Bedeutung: schaltet die Aufräum-Funktion global an oder aus
      • Standardeinstellung: “no” (= aus !)
    • TMP_DIRS_TO_CLEAR = “/tmp”
      • Einstellung unverändert lassen
      • Bedeutung: (erste) Liste von Verzeichnissen, die gelöscht werden können
      • Standardeinstellung: /tmp
    • MAX_DAYS_IN_LONG_TMP = 0
      • Einstellung ändern in: “1″ (= löschen aller Dateien, die älter als 24 h sind)
      • Bedeutung: Maximale Datei-Lebensdauer in Tagen, gültig für alle Dateien in der ersten Liste von Verzeichnissen (definiert in TMP_DIRS_TO_CLEAR)
      • Standardeinstellung: 0 (= deaktiviert)
  • Abschluss der Arbeiten
    • Beende den “Editor für /etc/sysconfig-Dateien
      • Es wird eine Zusammenfassung Deiner Änderungen angezeigt.
      • Prüfe die Änderungen noch einmal. (Wert neu / Wert alt)
      • Anschließend Bestätigen
    • Schließe “YAST”

Beim nächsten Systemstart sollte sich Dein /tmp deutlich verschlanken! Diese Systempflege verordnet sich openSUSE von nun an bei jedem Neustart, woduch das Problem nie wieder auftreten sollte.

Übrigens:

  • Zusätzlich gibt es die Möglichkeit der Definition einer zweiten, abweichenden Liste
    • LONG_TMP_DIRS_TO_CLEAR = “”
      • Bedeutung: zweiten Liste von Verzeichnissen, die gelöscht werden können
      • Standardeinstellung: “”
      • sinnvoll mögliche Einstellung: “/var/tmp”
    • MAX_DAYS_IN_LONG_TMP = 0
      • Bedeutung: Maximale Datei-Lebensdauer in Tagen, gültig für alle Dateien in der zweiten Liste von Verzeichnissen (definiert in LONG_TMP_DIRS_TO_CLEAR)
      • Standardeinstellung: 0 (= deaktiviert)
      • sinnvoll mögliche Einstellung: “28″

Alternativ und auch ditributionsunabhängig stellt man das Löschen auch so ein:

  • Die Datei “/etc/sysconfig/cron” mit Systemverwalterrechten in einem Editor öffnen.
  • Die Werte manuell ändern.

Weiterführende Infomationen:

Falls dir dieser Artikel gefallen hat, möchtest du vielleicht meinen RSS-Feed abonnieren?

About these ads

Aktionen

Information

Eine Antwort

10 09 2009

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ photo

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s




Follow

Erhalte jeden neuen Beitrag in deinen Posteingang.

%d Bloggern gefällt das: