13 mayo 2006

13 Gb en /tmp

Mientras jugueteaba con el ordenador de corvo el sistema se empezó a comportar de manera rara: la causa... el sistema de ficheros raiz (/) estaba lleno. Una pequeña putada... Muchas aplicaciones dejaban de funcionar porque no había espacio en /tmp, pero al mismo tiempo tampoco fallaban con mensajes claros.

Una breve revision espacio libre ayuda mucho:
df

A falta de investigar más a fondo, solo hizo falta hacer un du para descubir que el directorio /tmp acumulaba ¡13 Gigas de ficheros antiguos!

Culpa de SUSE, que en la versión 10.0 (y a lo mejor en otras) no tiene configurado el sistema para que borre ficheros temporales innecesarios. De todas formas no es complicado (aunque si no he visto documentado en ningún sitio) el conseguir que el sistema operativo automáticamente vaya limpiando los directorios temporales.

El fichero donde se regula esto es (el nombre nunca lo diría): /etc/sysconfig/cron (al menos en SuSE 10).

Solo hace falta definir un número de días de antiguedad (el 0 que viene por defecto es no borrar nunca ficheros):
#
MAX_DAYS_IN_TMP="15"


Los directorios a borrar se definen en otra variable (por defecto ya mira el /tmp):
#
TMP_DIRS_TO_CLEAR="/tmp"


Pero bueno, esto no deja de ser bastante obvio. Esto se utiliza para una tarea de cron diaria que intentará borrar los ficheros. Pero dentro del mismo fichero hay una opción para hacer una limpieza más radical y más segura (porque el momento en que se borran, no hay ninguna tarea usando estos ficheros):
#
CLEAR_TMP_DIRS_AT_BOOTUP="yes"


Bueno, con esta opción activa, cada día que se arranque el ordenador, habrá un /tmp limpio y nuevo. Un poco exagerado, pero una buena manera de tener seguro que el /tmp no se limpia, y que acabe llenando tu disco duro.

No hay comentarios: