Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Löschen von /tmp/ unter openSUSE

50 views
Skip to first unread message

Lewin Bormann

unread,
Sep 8, 2010, 3:27:30 PM9/8/10
to
Hallo,
da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal wissen,
wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht wird, da
teilweise noch Dateien der letzten Wochen darin vorzufinden sind - also
nicht bei jedem Boot. Oder?

LB
--
"Never underestimate the bandwidth of a station wagon full of tapes" --
Andrew Tanenbaum

Matthias Gerds

unread,
Sep 8, 2010, 3:35:55 PM9/8/10
to
Lewin Bormann wrote:

> Hallo,
> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal wissen,
> wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht wird, da
> teilweise noch Dateien der letzten Wochen darin vorzufinden sind - also
> nicht bei jedem Boot. Oder?

Einstellungssache, zumindest hier unter openSUSE.

MG


----------
openSUSE 11.2/64

Bernd Mayer

unread,
Sep 8, 2010, 3:37:35 PM9/8/10
to
Am 08.09.2010 21:27, schrieb Lewin Bormann:
> Hallo,
> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal wissen,
> wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht wird, da
> teilweise noch Dateien der letzten Wochen darin vorzufinden sind - also
> nicht bei jedem Boot. Oder?


Hallo,

hier bleiben in der Standardeinstellung meine Ablagen drin bis der
Rechner kaputtgeht - getestet bis OpenSUSE-11.1

Die Einstellungen dafür kann kann man mit yast -> system ->
/etc/sysconfig Editor abändern.


Bernd Mayer

Bernd Mayer

unread,
Sep 8, 2010, 3:41:18 PM9/8/10
to
Am 08.09.2010 21:27, schrieb Lewin Bormann:
> Hallo,
> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal wissen,
> wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht wird, da
> teilweise noch Dateien der letzten Wochen darin vorzufinden sind - also
> nicht bei jedem Boot. Oder?


Hallo,

hier bleiben in der Standardeinstellung meine Ablagen drin bis der
Rechner kaputtgeht - getestet bis OpenSUSE-11.1

Die Einstellungen dafür kann kann man mit yast -> system ->

/etc/sysconfig Editor abändern (Suchen nach tmp).


Bernd Mayer

Lewin Bormann

unread,
Sep 8, 2010, 4:00:55 PM9/8/10
to
Okay, habs gefunden. Für alle, die das Problem noch haben: In
Yast-System-/etc/sysconfig enthält die Variable
"System-Cron-MAX_DAYS_IN_TMP" die Anzahl Tage, nach denen eine Datei
ohne Zugriffe in dieser Zeit aus /tmp gelöscht wird.

Danke an alle,

Markus Wichmann

unread,
Sep 9, 2010, 3:50:02 AM9/9/10
to
Lewin Bormann <ne...@lewin-bormann.de> schrieb:

> Hallo,
> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal wissen,
> wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht wird, da
> teilweise noch Dateien der letzten Wochen darin vorzufinden sind - also
> nicht bei jedem Boot. Oder?
>

Ich hab aus Performance-Gründen[1] /tmp als tmpfs gemountet. Das löscht
sich bei jedem Herunterfahren.

[1] Der gcc und andere Programme schreiben ihre Zwischendateien nach
/tmp. Und wenn man solche Programme häufig benutzt, ist es schön, wenn
die ihre Aktionen schnell erledigen können.

> LB

Tschö,
Markus

Thomas Schmidt

unread,
Sep 9, 2010, 6:15:22 AM9/9/10
to

Ich würde solche Einstellungen immer direkt in der Konfigurationsdatei
machen - hier /etc/sysconfig/cron. Das geht schneller und man findet in
der Konfigurationsdatei meist ziemlich ausführliche Kommentar zu jeder
Einstellung.

Sieghard Schicktanz

unread,
Sep 9, 2010, 4:16:12 PM9/9/10
to
Hallo Markus,

Du schriebst am Thu, 9 Sep 2010 09:50:02 +0200:

> [1] Der gcc und andere Programme schreiben ihre Zwischendateien nach
> /tmp. Und wenn man solche Programme häufig benutzt, ist es schön, wenn
> die ihre Aktionen schnell erledigen können.

... und besonders sinnvoll, wenn / weil /tmp als Buffer zur Entlastung des
Arbeitsspeichers benutzt wird.

--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------

Jan Braun

unread,
Sep 9, 2010, 6:55:13 PM9/9/10
to
Sieghard Schicktanz schrob:

> Hallo Markus,
> Du schriebst am Thu, 9 Sep 2010 09:50:02 +0200:
>
>> [1] Der gcc und andere Programme schreiben ihre Zwischendateien nach
>> /tmp. Und wenn man solche Programme häufig benutzt, ist es schön, wenn
>> die ihre Aktionen schnell erledigen können.
>
> ... und besonders sinnvoll, wenn / weil /tmp als Buffer zur Entlastung des
> Arbeitsspeichers benutzt wird.

/tmp ist für den Austausch von Daten zwischen Programmen, nicht zum
Do-It-Yourself-Swappen.

Normale Programme haben den Arbeitsspeicher nicht zu entlasten, indem
sie interessante Daten auslagern, sondern überlassen das dem OS. Und das
regelt das dann per swap. Genau da landet der Inhalt eines tmpfs bei
Nichtbenutzung und RAM-Mangel übrigens auch. Wenn Du deine /tmp
Partition in eine Swapppartition umwandelst und /tmp als tmpfs mountest,
kannst Du also nur gewinnen.

Wenn ein Programm wirklich viiiel temporären Platz braucht, dann kann man
1. vermutlich das Programm explizit daraufhin konfigurieren oder
2. TMPDIR (für das Programm) entsprechend setzen.

Gruß
Jan
--
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments

Andreas Kohlbach

unread,
Sep 9, 2010, 8:51:12 PM9/9/10
to
Matthias Gerds wrote on 08. September 2010:

>
> Lewin Bormann wrote:
>
>> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal wissen,
>> wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht wird, da
>> teilweise noch Dateien der letzten Wochen darin vorzufinden sind - also
>> nicht bei jedem Boot. Oder?
>
> Einstellungssache, zumindest hier unter openSUSE.

Es wird vermutlich bei jedem Boot getestet, wie alt die Dateien dort
sind. Und gelöscht, was ein bestimmtes Alter überschritten hat.

Debian scheint das zumindest so zu machen.

IIRC auch Ubuntu, was auf Debian basiert. Dass meines es nicht mehr
machte nach einiger Zeit, hatte ich neulich hier auch angebracht. Und
woran das liegen könnte, warum nun nicht mehr. Finden konnte ich
nichts. Gabe aber in der /etc/rc.local nun eine Zeile

find /tmp/* -mtime +8 -exec rm -r {} \;

von der ich annehme, dass sie Gewünschtes (alles was 8 Tage oder älter
ist) macht beim Booten.
--
Andreas
Linux: The choice of a GNU generation.

Helmut Hullen

unread,
Sep 10, 2010, 1:36:00 AM9/10/10
to
Hallo, Andreas,

Du meintest am 09.09.10:

>>> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal
>>> wissen, wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht
>>> wird, da teilweise noch Dateien der letzten Wochen darin
>>> vorzufinden sind - also nicht bei jedem Boot. Oder?

>> Einstellungssache, zumindest hier unter openSUSE.

> Es wird vermutlich bei jedem Boot getestet, wie alt die Dateien dort
> sind. Und gelöscht, was ein bestimmtes Alter überschritten hat.

"bei jedem Boot" wäre keine gute Lösung ... Linux-Rechner laufen
gelegentlich wochen- und monatelang ohne Neustart.

"tmpwatch" ist ein beliebtes Programm fürs Aufräumen, und es dürfte am
ehesten aus "/etc/cron.daily" heraus aufgerufen werden.

Viele Gruesse
Helmut

"Ubuntu" - an African word, meaning "Slackware is too hard for me".

Helmut Hullen

unread,
Sep 10, 2010, 1:40:00 AM9/10/10
to
Hallo, Lewin,

Du meintest am 08.09.10:

> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal wissen,
> wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht wird, da
> teilweise noch Dateien der letzten Wochen darin vorzufinden sind -
> also nicht bei jedem Boot. Oder?

Ich mag jetzt nicht den Rechner starten, auf dem ich auch SuSE
installiert habe ...

Gibt es auf Deinem Rechner u.a. das Programm "tmpwatch"? Wenn ja: wird
es aus "/etc/cron.daily" heraus aufgerufen? Wenn ja: mit welchen
Parametern?

Helmut Hullen

unread,
Sep 10, 2010, 1:38:00 AM9/10/10
to
Hallo, Markus,

Du meintest am 09.09.10:

>> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal
>> wissen, wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht
>> wird, da teilweise noch Dateien der letzten Wochen darin vorzufinden
>> sind - also nicht bei jedem Boot. Oder?

> Ich hab aus Performance-Gründen[1] /tmp als tmpfs gemountet. Das
> löscht sich bei jedem Herunterfahren.

Wie oft wird denn Dein Linux-Server heruntergefahren?

Markus Wichmann

unread,
Sep 10, 2010, 5:18:42 AM9/10/10
to
Helmut Hullen <Hel...@Hullen.de> schrieb:

> Hallo, Markus,
>
> Du meintest am 09.09.10:
>
>>> da ich /tmp häufig als Zwischenspeicher nutze, wollte ich mal
>>> wissen, wie oft/nach welchen Kriterien dieses Verzeichnis gelöscht
>>> wird, da teilweise noch Dateien der letzten Wochen darin vorzufinden
>>> sind - also nicht bei jedem Boot. Oder?
>
>> Ich hab aus Performance-Gründen[1] /tmp als tmpfs gemountet. Das
>> löscht sich bei jedem Herunterfahren.
>
> Wie oft wird denn Dein Linux-Server heruntergefahren?
>

Wer hat was von Server gesagt? Server und Desktop sind zwei durchaus
unterschiedliche Anwendungsfälle. Auf einem Server würde ich wohl einen
Garbage Collector einsetzen. (Lösche alles in /tmp, außer den Dateien
auf einer bestimmten Liste, und den Dateien die noch offen[1] sind, und
den Dateien, die jünger als 6 Stunden (atime) sind)

[1] Das ist allerdings ein Problem. Ein kurzer Test mit X11 ergab, dass
die atime von UNIX-Sockets nicht aktualisiert wird, wenn sich ein
Programm dorthin verbindet oder die Verbindung schließt. Außerdem wird
ein UNIX-Socket nicht unter seinem Dateinamen in /proc geführt, sondern
als socket:[$NUMMER], wobei ich keine Ahnung habe, was die Nummer
bedeuten soll. Also Sockets einfach mal vorsorglich auch stehen lassen.

Bei einem Server müsste ich noch unterscheiden, ob der nur für den
Hausgebrauch gedacht ist, dann würde der nämlich nächtens aus
Strom-und-Geld-Spar-Gründen auch abgeschaltet werden. Wenn er natürlich
Dienste nach außen anbietet, wäre das was anderes.

> Viele Gruesse
> Helmut
>

Tschö,
Markus

Helmut Hullen

unread,
Sep 10, 2010, 6:32:00 AM9/10/10
to
Hallo, Markus,

Du meintest am 10.09.10:

>>> Ich hab aus Performance-Gründen[1] /tmp als tmpfs gemountet. Das
>>> löscht sich bei jedem Herunterfahren.

>> Wie oft wird denn Dein Linux-Server heruntergefahren?

> Wer hat was von Server gesagt? Server und Desktop sind zwei durchaus
> unterschiedliche Anwendungsfälle. Auf einem Server würde ich wohl
> einen Garbage Collector einsetzen. (Lösche alles in /tmp, außer den
> Dateien auf einer bestimmten Liste, und den Dateien die noch offen[1]
> sind, und den Dateien, die jünger als 6 Stunden (atime) sind)

Und der hat auch dann (mehr oder weniger erfolgreich) zu werkeln, wenn
der Rechner nicht rund um die Uhr läuft. Bei vielen Distributionen wird
regulär so etwas wie "tmpwatch" täglich als Cronjob aufgerufen, und wenn
der Rechner nicht rund um die Uhr läuft, dann haben die täglichen
Cronjobs von etwas in der Art von "anacron" abgearbeitet zu werden.

Sieghard Schicktanz

unread,
Sep 10, 2010, 3:32:37 PM9/10/10
to
Hallo Jan,

Du schriebst am Fri, 10 Sep 2010 00:55:13 +0200:

> /tmp ist für den Austausch von Daten zwischen Programmen, nicht zum
> Do-It-Yourself-Swappen.

Wer redet denn von swappen?

> Normale Programme haben den Arbeitsspeicher nicht zu entlasten, indem
> sie interessante Daten auslagern, sondern überlassen das dem OS. Und das

Einen Zustand auszulagern, der später wieder eingelesen werden soll, dürfte
nicht ganz der gängigen Definition von "swappen" entsprechen, vor allem
dann, wenn das Programm, das den braucht, zeitweise gar nicht mehr läuft.

> regelt das dann per swap. Genau da landet der Inhalt eines tmpfs bei
> Nichtbenutzung und RAM-Mangel übrigens auch. Wenn Du deine /tmp

Ja, eben; swap ist eine (extrem langsame) Erweiterung des Arbeitsspeichers.
Wenn der Arbeitsspeicher durch eine RAM-Disk eingeschränkt wird, fängt das
Auslagern halt früher an und führt zu Verlust an Leistungsfähigkeit.

> Partition in eine Swapppartition umwandelst und /tmp als tmpfs mountest,
> kannst Du also nur gewinnen.

Sicher doch, vor allem, wenn im /tmp noch die ganzen "Leichen" der letzten
paar Wochen von unterschiedlichsten Programmen 'rumliegen.

Jan Braun

unread,
Sep 11, 2010, 6:54:15 AM9/11/10
to
Sieghard Schicktanz schrob:

> Wer redet denn von swappen?
> [...]

> Einen Zustand auszulagern, der später wieder eingelesen werden soll, dürfte
> nicht ganz der gängigen Definition von "swappen" entsprechen, vor allem
> dann, wenn das Programm, das den braucht, zeitweise gar nicht mehr läuft.

Ok, sorry, dann hatte ich das flashc erstanden.

> Ja, eben; swap ist eine (extrem langsame) Erweiterung des Arbeitsspeichers.
> Wenn der Arbeitsspeicher durch eine RAM-Disk eingeschränkt wird, fängt das
> Auslagern halt früher an und führt zu Verlust an Leistungsfähigkeit.

tmpfs ist keine RAM-Disk: Es garantiert nicht, daß der Inhalt im RAM
liegt (sondern nur im Addressraum) und schränkt den verfügbaren
Arbeitsspeicher daher nicht ein. Du kannst in einem Rechner mit 512M RAM
ein 1G tmpfs anlegen und hast weiterhin die 512M echtes RAM für
Programme verfügbar, solange du das tmpfs nicht nutzt. Wenn du anfängst,
es zu nutzen, ist das solange ideal, wie du mit Programmen und tmpfs <=
512M benutzt, dann ist halt alles im RAM. Danach muß natürlich irgendwas
geswapped werden, und das Betriebssystem entscheidet nach seinen
üblichen Kriterien, ob das der Inhalt des tmpfs oder Programmspeicher
ist (bzw. welche Mischung der beiden).

>> Partition in eine Swapppartition umwandelst und /tmp als tmpfs mountest,
>> kannst Du also nur gewinnen.
>
> Sicher doch, vor allem, wenn im /tmp noch die ganzen "Leichen" der letzten
> paar Wochen von unterschiedlichsten Programmen 'rumliegen.

Dann liegen die in deiner Swappartition, weil das OS sie als nicht
benutzt erkannt und ausgelagert hat. Kein Unterschied zu /tmp als
Dateisystem.

Gruß,

Sieghard Schicktanz

unread,
Sep 11, 2010, 1:35:03 PM9/11/10
to
Hallo Jan,

Du schriebst am Sat, 11 Sep 2010 12:54:15 +0200:

> tmpfs ist keine RAM-Disk: Es garantiert nicht, daß der Inhalt im RAM
> liegt (sondern nur im Addressraum) und schränkt den verfügbaren
> Arbeitsspeicher daher nicht ein. Du kannst in einem Rechner mit 512M RAM

D.h. es ist eine _dynamische_ RAM-Disk, eine Ausführung, die den benutzten
RAM-Bereich (der auch _ohne_ Belegung nicht 0 sein kann, schließlich muß
sich der Treiber ja ein paar Dinge merken - das gilt aber auch für andere
Filesysteme) an den aktuellen Bedarf anpasst. Das Swappen interessiert den
Treiber wohl genausowenig wie andere Programme, er muß nur dafür sorgen,
daß er es - durch seine Sonderstellung als Treiber - nicht be- oder gar
verhindert.

Immerhin keine schlechte Idee, man muß halt genügend Swap einrichten, und
wenn der tmpfs-Treiber seinen Speicher als bevorzugt swap-fähig anmeldet,
(tut er das?) sollte das normale Programme auch nicht weiter behindern
Als kleine Unannehmlichkeit bleibt halt noch, daß man /tmp damit quasi auf
einem eigenen Filesystem liegen hat, das zumindest in seiner
Maximalausdehnung eine harte Grenze hat, die man wegen der sonstigen
geringen Nutzbarkeit möglichst niedrig setzen wird, während sich ein /tmp
auf einer Daten-Partition diese soweit einverleiben kann, wie dort noch
Platz ist. Normalerweise wird das aber wohl nicht weiter stören.

0 new messages