comando-du.jpg

Llevo una temporada viendo como el espacio libre de mi partición raíz en openSUSE Tumbleweed disminuye peligrosamente. Al principio lo atribuía a esa manía de probar todos eses programas que veis pasar por el blog y mi habitual amnesia a la hora de desinstalarlos y eliminar sus dependencias, pero pronto me di cuenta que tenía que haber algo más.

A pesar de tirar de BleachBit en plan root para eliminar archivos temporales y hacer un juicio sumarísimo a journalctl fusilando unos cuantos logs a mano, los bytes okupas no hacían más que crecer… hasta que ayer me puse en serio con el tema y me di cuenta que mi openSUSE como buena rolling release que es, ha desarrollado un amor especial por cada nueva versión del núcleo, guardándose para sí un montón de kernels anteriores.

Ese síndrome de Diógenes de la distro se puede curar en openSUSE activando la purga del kernels en Yast > Administrador de servicios > purge-kernels o si no queremos complicarnos eliminando unos cuantos desde el gestor de software Yast.

Por cierto si queréis saber si tenéis este servicio de “purge” activado podéis ejecutar (hablo de distros con systemd en general):

1
systemctl status purge-kernels

Bueno! a lo que iba, como os contaba ayer mientras vueltas por dolphin, en busca del archivo gigante perdido y pensando lo bien que me vendría tirar de linea de comandos para localizar a los presuntos culpables, me acordé que tenemos un comando muy cuco llamado du (disk use) que nos proporciona información del tamaño de nuestros archivos y carpetas.

Con esta linea de comando podemos encontrar los 20 archivos más grandes de un directorio determinado (es preciso ejecutarlo como root):

1
du -ac --time /usr | sort -nr | head -n 20

Una pequeña explicación de los parámetros:

  • ac: esta combinación muestra todos los archivos y el tamaño total.
  • time: nos es estrictamente necesario, pero nos permite saber cuando fue la última vez que fueron modificados.
  • /usr: es el directorio que he decidido examinar (podríamos poner cualquier otro como /var, /etc, /opt o directamente el directorio raíz)
  • sort -nr: se encarga de ordenarlos
  • head -n 20: nos muestra la salida de los 20 archivos o directorios más grandes.

Puede ser que nos interese excluir algunos tipos de archivos determinados, para ese caso podemos tirar de la opción exclude, en este ejemplo he optado por excluir los archivos rpm en el directorio /var, sería algo así:

1
du -ac --exclude="*.txt" /var | sort -n -r | head -n 20

Quien dice rpm, dice css, txt, cfg, xz, o cualquier otro tipo de formato de archivo:

1
du -ac --exclude="*.xz" /var | sort -n -r | head -n 20

Como os comentaba anteriormente para obtener unos resultados completos es conveniente ejecutarlo como root y si queréis más información sobre este comando tan útil, como siempre lo mejor es un vistazo al manual:

1
man du

 

Fuente: lamiradadelreplicante

¿Quién está en línea?

Hay 23568 invitados y ningún miembro en línea