Cómo liberar espacio en Ubuntu y Linux Mint sin romper el sistema

Cuando Ubuntu o Linux Mint avisa de que queda poco espacio, borrar la caché o ejecutar una herramienta de limpieza sin mirar suele recuperar menos de lo esperado. También puede eliminar paquetes, registros o archivos que todavía necesitamos. Lo primero es averiguar qué sistema de archivos está lleno y qué carpetas explican ese consumo.

Vamos a seguir un orden sencillo: medir, localizar, revisar lo que se va a borrar y volver a medir. Así distinguiremos un disco lleno de una partición /boot pequeña, un directorio personal con vídeos o un servicio que está generando registros sin parar.

Proceso para medir, localizar, revisar y liberar espacio en Linux
Antes de borrar, medimos el disco y localizamos el origen. Esquema propio.

Comprobar qué disco o partición está lleno

El primer comando muestra tamaño, uso, espacio disponible y tipo de sistema de archivos:

df -hT

Nos fijamos en la columna Use% y en el punto de montaje. Los casos más habituales son:

  • /: la partición principal contiene el sistema y, si no tenemos una partición separada, también nuestros archivos.
  • /home: el espacio lo están consumiendo principalmente los usuarios.
  • /boot: puede haber kernels antiguos pendientes de retirar, pero no debemos borrar sus archivos a mano.
  • Un disco externo o partición concreta: debemos analizar ese punto de montaje, no todo el sistema.

Un sistema de archivos también puede quedarse sin inodos aunque todavía muestre gigabytes libres. Ocurre cuando contiene una cantidad enorme de archivos pequeños:

df -ih

Localizar las carpetas que más ocupan

Para revisar nuestra carpeta personal sin atravesar otros discos montados:

du -xhd1 "$HOME" 2>/dev/null | sort -h

El resultado queda ordenado de menor a mayor. Si Vídeos, Descargas o una carpeta oculta destaca sobre las demás, repetimos el comando dentro de ella cambiando la ruta.

Para explorar de forma interactiva podemos utilizar ncdu:

sudo apt install ncdu
ncdu -x "$HOME"

La opción -x evita entrar en otros sistemas de archivos. Podemos navegar con las flechas, pero es mejor salir y borrar desde el explorador o la terminal después de comprobar qué contiene cada carpeta.

Limpiar la caché de paquetes APT

APT puede conservar paquetes DEB descargados. Comprobamos primero cuánto ocupan:

du -sh /var/cache/apt/archives

Para retirar únicamente versiones antiguas de paquetes que ya no se pueden descargar de los repositorios:

sudo apt autoclean

Si necesitamos recuperar toda la caché descargada:

sudo apt clean

Esto no desinstala programas; elimina paquetes descargados que APT podrá volver a obtener si son necesarios. En un equipo con una conexión limitada puede interesarnos conservarlos.

Revisar dependencias y kernels que ya no se utilizan

APT marca algunas dependencias como instaladas automáticamente. Cuando ningún programa las necesita, propone retirarlas con autoremove. Primero hacemos una simulación:

sudo apt autoremove --dry-run

Leemos la lista completa. Si aparecen aplicaciones que queremos conservar, no confirmamos y revisamos por qué APT las considera automáticas. Si la propuesta es correcta:

sudo apt autoremove

Este proceso también puede retirar kernels antiguos de forma controlada. Antes de tocar /boot comprobamos el kernel con el que hemos arrancado:

uname -r

No borramos manualmente el kernel activo ni todos los anteriores: conservar al menos una alternativa permite arrancar si una actualización introduce un problema.

Comprobar cuánto ocupan los registros de systemd

Los registros ayudan a diagnosticar fallos, pero un servicio con errores repetidos puede hacerlos crecer. Medimos su tamaño:

journalctl --disk-usage

Si ocupan varios gigabytes y ya hemos investigado la causa, podemos limitar los registros archivados, por ejemplo, a 500 MB:

sudo journalctl --rotate --vacuum-size=500M

La limpieza afecta a registros archivados; el archivo activo puede seguir ocupando espacio. Si vuelve a crecer rápidamente, la solución no es ejecutar el comando cada semana, sino localizar el servicio que está llenándolo.

Aplicaciones Flatpak que dejan runtimes sin usar

Varias aplicaciones Flatpak pueden compartir runtimes grandes. Vemos el espacio informado por Flatpak con:

flatpak list --columns=application,name,size

Para retirar runtimes que ya no necesita ninguna aplicación:

flatpak uninstall --unused

Flatpak muestra la lista y pide confirmación. Leemos los elementos antes de aceptar. Esto no equivale a borrar los datos personales de todas las aplicaciones.

Papelera, descargas y cachés del usuario

Un archivo enviado a la papelera sigue ocupando espacio hasta vaciarla. Lo más claro es abrirla desde el explorador, revisar su contenido y utilizar Vaciar papelera. En discos USB pueden existir carpetas de papelera ocultas; explicamos su funcionamiento en la guía sobre la papelera de las memorias USB en Linux.

Para localizar cachés grandes de nuestro usuario:

du -hd1 "$HOME/.cache" 2>/dev/null | sort -h

No recomiendo borrar ~/.cache completa por rutina. Algunas aplicaciones guardan contenido sin conexión, miniaturas o datos costosos de reconstruir. Es mejor limpiar desde la propia aplicación o retirar únicamente una caché identificada después de cerrarla.

Docker, Podman y máquinas virtuales

En un ordenador de desarrollo, las imágenes y volúmenes pueden explicar decenas de gigabytes. Docker permite medirlos sin borrar:

docker system df

Antes de utilizar docker system prune revisamos contenedores, imágenes y volúmenes por separado. Un volumen puede contener una base de datos aunque ningún contenedor esté ejecutándose. Las imágenes de máquinas virtuales también deben borrarse desde su gestor para saber qué disco estamos retirando.

df dice que está lleno, pero du no encuentra los archivos

Un programa puede mantener abierto un archivo que ya ha sido borrado. El nombre desaparece del directorio, pero el espacio no se libera hasta que el proceso cierra el archivo. Podemos buscar estos casos con:

sudo lsof +L1

Nos fijamos en archivos grandes marcados como deleted. En lugar de matar el proceso a ciegas, reiniciamos de forma controlada el servicio o la aplicación responsable. Si se trata de un registro, investigamos por qué creció antes de dar el problema por cerrado.

Volver a medir

Al terminar ejecutamos de nuevo:

df -hT

Así sabemos qué acción ha recuperado espacio y evitamos convertir la limpieza en un ritual. Tampoco debemos confundir almacenamiento con memoria: si el problema es que el ordenador se queda sin RAM o utiliza demasiada swap, necesitamos revisar procesos y memoria, no borrar archivos del disco.

Si el espacio vuelve a agotarse en pocos días, anota qué carpeta ha crecido. Esa diferencia suele señalar el programa o servicio que necesita una corrección real.

Sergio Almela

Senior Software Engineer con más de diez años de experiencia. Escribo sobre Linux, software libre, backend, arquitectura, rendimiento, testing e IA aplicada al desarrollo.

Ver todas las entradas de Sergio Almela →