11 ago. 2008

Liberar espacio en disco

Aunque actualmente no es frecuente tener problemas de espacio ya que los discos son enormes (mi primer disco duro era un Quantum de 40Mb mientras que el actual es un Samsung de 500Gb) a veces es necesario limpiar el disco para liberar espacio o simplemente para mantenerlo libre de "basura". Veamos pues qué cosas podemos eliminar y que utilidades pone Ubuntu a nuestra disposición para hacerlo.

Para ver cuanto espacio liberamos con este documento ejecutaremos la orden df antes y después de aplicar los cambios:
$ df - h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/sda2 97G 63G 34G 65% /


  • Eliminar la caché de programas instalados
El gestor de paquetes guarda una copia de todos los paquetes descargados en /var/cache/apt/archives, esto puede ir bien para acelerar instalaciones repetitivas, pero también ocupa un espacio en disco que muchas veces es innecesario, lo podemos liberar fácilmente con:
$ sudo aptitude clean

En una instalación normal podemos liberar de 100 a 500Mb fácilmente.

  • Eliminar paquetes innecesarios
La instalación estándar de Ubuntu está bastante optimizada, pero aun así puede que haya muchas aplicaciones instaladas que no necesitamos, eliminándolas ganaremos algo de espacio (dependiendo del tamaño del paquete eliminado).

Un buen punto para empezar a eliminar programas es la aplicación Añadir y quitar programas
Añadir y quitar programas

En Mostrar seleccionamos Solamente aplicaciones instaladas y ya podemos empezar a quitar todo lo que no necesitemos.

Nota: si algun programa es dependencia de otro o forma parte de la estructura básica de Gnome seguramente no podrá ser eliminado de esta forma.

Si necesitamos un poco más de control recurriremos a la Herramienta Synaptic

Sistema - Administración - Gestor de paquetes Synaptic

Ordenamos los paquetes por la primera columna y nos aparecerán primero los paquetes instalados (marcados con el cuadrado verde) y procedemos a eliminar los que no necesitemos. En este caso si un programa depende de otro Synaptic intentará resolver esas dependencias.

  • Eliminar archivos de idioma no utilizados
Utilizaremos la orden localepurge que seguramente no tenemos instalada aun, para eliminar los idiomas no deseados. La instalamos y ejecutamos con:
$ sudo aptitude install localepurge && sudo localepurge

Configuracion de localepurge
En esta pantalla se nos pedirá que marquemos los locales que deseamos "salvar", os recomiendo que marqueis todas las variantes de vuestro idioma y por si acaso alguna variante del inglés, en mi caso he marcado: es_ES, es_ES@euro, es_ES.UTF-8, en_US, en_US.ISO-8859-15 y en_US.UTF-8

Al acabar la configuración, el instalador eliminará todas las definiciones de idioma de los programas que no coincidan con nuestra selección
localepurge: Disk space freed in /usr/share/locale: 54172K
localepurge: Disk space freed in /usr/share/man: 9868K
Total disk space freed by localepurge: 64040K


Y mejor aun, a partir de este momento todos los programas instalados pasarán automáticamente por el filtro de localepurge liberando un poco de espacio. Un ejemplo, tras instalar el editor en modo texto joe:
Desempaquetando joe (de .../archives/joe_3.5-1.1_amd64.deb) ...
Configurando joe (3.5-1.1) ...
localepurge: Disk space freed in /usr/share/man: 16K


  • Eliminar dependencias innecesarias
Para esto utilizaremos el programa deborphan que busca en la base de datos del sistema de paquetes todos aquellos paquetes que fueron instalados por que eran dependencia de otro paquete que ya no existe, ha sido desinstalado o ya no los usa. Lo instalaremos y ejecutaremos desde entorno gráfico (más cómodo) con la orden:
$ sudo aptitude install deborphan gtkorphan && gksudo gtkorphan

gtkorphan

Nota: para los que usais siempre aptitude es posible que esta lista sea mucho más corta que para los que usais apt-get

Podemos eliminar sin problema todos los paquetes que aparecen aquí. Cada vez que limpiemos la lista es posible que aparezcan más paquetes huérfanos, los vamos eliminando todos hasta que no aparezca ninguno.

Nota: en caso de haber instalado programas manualmente es posible que nos convenga mantener alguna libreria aunque el sistema la detecte como huérfana, debereis revisarlo vosotros mismos.

Entre las opciones de este programa podemos indicarle que muestre también todos los paquetes que han dejado restos de archivos de configuración y eliminarlos para recuperar un poco más de espacio.

  • Casos extremos
Nota: no apliques estos cambios a menos que realmente lo necesites y sepas exactamente lo que estás haciendo

Eliminar el espacio de disco reservado en las particiones ext2/3/4:
$ sudo tune2fs -r 0 -m 0 /dev/sda8
(en mi caso esto liberó 2Gb)

Reinicializar los logs del sistema (los borro, los vuelvo a crear y establezco usuario y permisos correctos):
$ cd /var/log && sudo rm -rf messages kern.log && sudo touch messages kern.log && sudo chown syslog:adm kern.log messages && sudo chmod 640 kern.log messages
(en mi caso esto liberó 1,4Gb)

Eliminar directorios "prescindibles":
$ sudo rm -rf /usr/share/doc /usr/share/man /opt /lost+found
(en mi caso liberó 0,8Gb)

Eliminar versiones antiguas del kernel:
$ sudo aptitude purge linux-image-2.6.24-16-generic linux-restricted-modules-2.6.24-16-generic linux-ubuntu-modules-2.6.24-16-generic
(se liberan unos 150Mb por cada kernel desinstalado, ojo de no quitar nunca el kernel actual!)


Para finalizar miramos el espacio ocupado y comparamos con el resultado obtenido al principio del documento:
$ df - h
S.ficheros Tamaño Usado Disp Uso% Montado en
/dev/sda2 97G 58G 39G 60% /


Resultado: 5Gb liberados.


Más información en las páginas del manual de todos los porgramas utilizados.

21 comentarios :

Kpru dijo...

molt útil! 4Gb alliberats

Felipe dijo...

Muy bueno!

Me ha servido de mucho.

Una pregunta: ¿para qué sirve el espacio reservado de ext2-3-4? ¿qué se pierde eliminándolo?

Todo esto me viene de maravilla en mi Asus Eee 901 (sobre todo el sudo apt-get clean, que me libró de repente 600 MB)

fosco_ dijo...

@Felipe: el espacio reservado es por si el sistema se llena (por ejemplo descargando cosas) hasta el límite. Muchas ocsas fallarían al no poder escribir en disco e incluso el sistema podría quedar inservible. Gracias al espacio reservado, root podría entrar al sistema sin problemas y arreglar el asunto.

CSSeductor dijo...

hola para eliminar los archivos borrados como la papelera de reciclaje?

fosco_ dijo...

@CSSeductor: para borrar los archivos de la papelera lo mejor es usar el propio navegador de archivos, pero si tienes algun problema o algun archivo se resiste a ser borrado prueba con el comando rm -rf ~/.local/share/Trash/*

Anónimo dijo...

Una cosilla sobre los directorios "prescindibles"...
"/lost+found" suele estar vacío, y lo utiliza fsck para gaurdar posibles archivos corruptos recuperados, de modo que no veo tan necesario/útil borrarlo, pero bueno.

Y "/opt", ¡¡cuidado!!, algunas aplicaciones se instalan en /opt en vez de en /usr

Por lo demás, lo veo bastante bien.

fosco_ dijo...

Como puedes ver tanto borrar /opt como borrar /lost+found aparecen en el tema "Casos extremos" precisamente por eso.

Anónimo dijo...

muy bueno me sirve de mucho aunq no puedo memorizar la sintaxis :S yo tengo que liberar seguido ya que ubuntu se me llena el solo y no se porque ya lo reinstale varias veces y siempre lo mismo en fin muy buen aporte

Anónimo dijo...

Para eliminar archivos innecesarios, y varias configuraciones mas, es muy bueno el Ubuntu Tweak. Viene en Centro de Software.
Salud.

carlos dijo...

Buenos tips. Pero en mi caso no han solucionado el problema. Lo mejor será buscar más espacio en otra partición.

TecnoInfo.com.ve dijo...

He usado esta guia muchas veces y me ha resultado muy bien. Sin embargo siempre me quedaba corto de espacio al poco tiempo. Seria bueno si agregaran que tambien se puede eliminar (/Trash) los archivos borrador desde root. Por ejemplo pude eliminar 2 GB eliminando los archivos que estaban en: /root/.local/share/Trash

Saludos.

Dani Molina dijo...

@TecnoInfo.com.ve es cierto que se puede vaciar la papelera de root, pero un uso correcto de ubuntu no debería en ningún caso incluir usar el gestor de archivos con root, por lo que su papelera debería estar siempre vacía.

De todas formas gracias por el aporte, seguro que será útil para algunos.

Oscar dijo...

Borré accidentalmente una carpeta y utilicé Testdisk para buscar y recuperar su contenido. Esta aplicación recupera todo lo que haya sido borrado y cree un folder para poner ahí el contenido, que fueron unos 140 Gb. Finalmente nada me sirvió y decidí borrar esos archivos y al vaciar la papelera de reciclaje, ahora me doy cuenta que sólo tengo 15.2Gb libres. En el monitor de sistema me dice que tengo 37.7 libre pero sólo 15.2 Gb Disponibles. Alguna idea de lo que está pasando?. Gracias de antemano!

Dani Molina dijo...

@Oscar intenta localizar donde guarda sus archivos temporales testdisk, mira por /tmp o /var a ver si están por ahi los gb perdidos

Oscar Rios dijo...

@Dani Molina.

Desafortunadamente no econtré archivos temporales relacionados con los consumidos por Testdisk. De hecho son poco más de 190 Gb los faltantes (¡y ahora vaya que los extraño!).

No hay nada en tmp, ni en var, ni en ninguna otra carpeta que yo conozca en donde se guardan archivos temporales.

El sistema operativo reconoce el tamaño del disco. Y el "Analizador de uso de disco", me dice:
Capacidad total del sistema de archvios: 490.3 GiB (Usado 454.1 GiB Disponible: 36.2 GiB)

Pero en el gráfico,"/" Aparece con un tamaño de 298.3 GiB Que son correctos. Entonces en dónde quedaron los otros casi 200 GiB?. Recuerdo que más o menos ese era el tamaño de los archivos recuperados que después mandé a la papelera y de ahí la vacié. Pero esos Gb siguen faltando, como si esos archivos no se hubieran borrado.

Se aceptan sugerencias, auxilios, oraciones y mantrams. ¡Gracias de antemano!

Anónimo dijo...

Una forma de eliminar espacio es

cd /usr/bin
sudo rm TEST.log
sudo rm RECV.log
sudo rm SENT.log

Esto me elimino como 3GB, luego los archivos se vuelven a crear y abrá que borrarlos de nuevo al menos cada mes.

Estos archivos no son necesarios y es 100% seguro eliminarlos.

Anónimo dijo...

También:

cd /home/estudiante/
rm .xsession-errors
rm .xsession-errors.old

Esto elimina unos 30GB si tenes algún programa de Windows usando Wine.

Esto no es necesario porque al reiniciar dos veces seguidas estos archivos se borran de forma automatica.

Anónimo dijo...

hola a todos :D
quiero instalar el juego torcs desde centro de software de ubuntu pero demora demasiado ( antes no pasaba )
alguien sabe como descargarlo rapido
Gracias ;)

Dani Molina dijo...

@Anónimo, abre un terminal y escribe:
sudo apt-get install -y torcs

rubo rubok dijo...

Hola he probado la orden:
$ cd /var/log && sudo rm -rf messages kern.log && sudo touch messages kern.log && sudo chown syslog:adm kern.log messages && sudo chmod && sudo chmod 640 kern.log messages

pero me responde:

chmod: falta un operando
Pruebe 'chmod --help' para más información.

Dani Molina dijo...

@rubo rubo, tienes razón, el comando está mal escrito, sobra un sudo chmod, el comando definitivo debería ser:

cd /var/log && sudo rm -rf messages kern.log && sudo touch messages kern.log && sudo chown syslog:adm kern.log messages && sudo chmod 640 kern.log messages

De todas formas no hagas esto a menos que sea totalmente necesario, ganarás poco espacio y perderás todo el histórico de registros del sistema.