Tuesday, October 2, 2012

Linux: Administraci贸n de espacio en disco


Todos nos hemos topado con el problema de espacio en disco, ya sea porque en nuestra maquina se nos acaba el espacio por tanto mp3's o videos o en el servidor que estamos administrando los backups y logs que se generan empiezan a consumir ese precioso espacio que al final nos puede afectar en el rendimiento del sistema operativo y por consiguiente de las aplicaciones que ah铆 corren. Es necesario conocer los comandos adecuados para conocer el espacio que se esta ocupando, quien lo esta ocupando y ver que podemos eliminar para poder tener mas.

Conocer el espacio usado en disco

Lo que primero hay que conocer es el total de espacio que estamos usando en el disco duro y para realizar eso usamos el comando:

df -h

El cual nos dice el espacio del Sistema de archivos en la columna Size, el espacio usado en la columna Used, el espacio disponible en la columna Avail y el porcentaje que representa el espacio usado  y por ultimo el punto de montaje de ese sistema de archivos. Se usa la opci贸n "h" (human-readable) para que nos de valores que nos arroje el comando vengan en valores de Kilobytes, Megabytes o Gigabytes y no en bloques que es como por default imprime los valores.

Conocer el espacio usado por un folder en especifico
Ahora, si lo que deseamos conocer es el espacio especifico de un folder debemos correr el comando:

du folder -ha

Donde folder es el nombre o ruta hacia el folder del cual queremos conocer el espacio que esta usando. Como salida este comando imprime el tama帽o de cada uno de los archivos y folders contenidos dentro de el. Se usa la opci贸n "h" para, igual que en el comando 'df', los valores que arroje vengan en Kilobytes, Megabytes o Gigabytes. La opci贸n "a" (all) se usa para que se impriman el tama帽o tanto folders como archivos ya que si no se usa esta opci贸n solo se imprimen folders.

Existen otras opciones a usar para este comando y como en la mayor铆a de los comandos en linux esas opciones se puede conocer ejecutando el comando de la siguiente forma:


du --help

La salida del comando 'du' se podr铆a ordenar para as铆 poder obtener, por ejemplo, los 10 folders y archivos que son los que ocupan mas espacio dentro de un cierto folder:


du folder -ka | sort -n -r | head -n10

Se usa la opcion 'k' en el comando 'du' para que en lugar de que nos imprima valores en Kilobytes, Megabytes o Gigabytes solo imprima todos los valores unificados a Kilobytes y el comando 'sort' pueda ordenarlos de manera uniforme. Y para solo obtener los 10 primeros se utiliza el comando 'head'. As铆 que si, por ejemplo, se desea obtener los primeros 5 solo hay que variar el valor en la opci贸n 'n' del comando 'head'.

Pero si lo que se desea saber es el tama帽o total de cierto folder sin tener que ver el tama帽o de su contenido se usa el comando:


du folder -hs

La opci贸n 's' (summarize) hace que solo se imprima el valor total del folder si que se muestre el tama帽o de cada folder y archivo que contiene.

Hay que tomar en cuenta que para obtener los valores de tama帽o el comando tiene que recorrer el contenido del folder para ir sumando el tama帽o de cada elemento que contiene, as铆 que, si el folder es muy grande la ejecuci贸n de este comando puede tardar.

Borrar archivos y folders

Ya que se conoce el elemento que se desea borrar se hace uso del comando 'rm' para eliminarlo. Si se trata de un archivo se usa el comando:

rm archivo

pero si se trata de un folder y nos interesa borrar el mismo y su contenido, se usa el comando:

rm -rf folder

hay que tomar en cuenta que una ves borrados ya no es posible recuperarlos as铆 que estos comandos se tienen que usar con mucho cuidado.