Siempre olvido como se llama la herramienta que me ayuda a encontrar en Linux y MacOSX, todos esos archivos gigantes que están llenando el disco duro, para solucionar eso voy a escribir esta corta entrada. Espero que pueda ser de interés para alguien mas.
La herramienta se llama Agedu y esta licenciada bajo un estilo similar al licenciamiento BSD, así que puedes usarlo para lo que quieras siempre que mantengas el mensaje de la licencia, para mas información leer el archivo LICENCE que se encuentra dentro del .tgz original.
Los pasos para usar la herramienta son:
1) Lo primero que hacemos es descargar las fuentes de la aplicación:
$wget http://www.chiark.greenend.org.uk/~sgtatham/agedu/agedu-r9424.tar.gz
2) Luego lo descomprimimos y entramos al directorio creado:
nonroot $tar zfvx agedu-r9424.tar.gz && cd agedu-r9424x agedu-r9424/
x agedu-r9424/alloc.h
x agedu-r9424/winscan.c
x agedu-r9424/licence.c
x agedu-r9424/fgetline.h
x agedu-r9424/trie.c
...
3) Compilamos con los tres pasos mágicos:
./configure
make
make install
Al compilarlo en MacOSX obtengo el siguiente error:
httpd.c: In function 'make_listening_sockets':
httpd.c:547: error: 'HOST_NAME_MAX' undeclared (first use in this function)
httpd.c:547: error: (Each undeclared identifier is reported only once
httpd.c:547: error: for each function it appears in.)
make[1]: *** [httpd.o] Error 1
make: *** [all] Error 2
Para solucionarlo defino la variable en el archivo httpd.h
nonroot $diff -uN httpd.h.orig httpd.h
--- httpd.h.orig 2012-04-23 15:00:11.000000000 -0500
+++ httpd.h 2012-04-23 15:00:35.000000000 -0500
@@ -6,6 +6,7 @@
#define HTTPD_AUTH_MAGIC 1
#define HTTPD_AUTH_BASIC 2
#define HTTPD_AUTH_NONE 4
+#define HOST_NAME_MAX 256
struct httpd_config {
const char *address, *port;
nonroot $
Eso significa que agrego la línea: #define HOST_NAME_MAX 256 en el archivo httpd.h
Luego intento el make y el make install, esta vez no hay problemas.
4) Para conocer las opciones de agedu podemos ejecutar el comando sin opciones, eso nos muestra algo similar a:
nonroot $agedu
usage: agedu [options] action [action...]
actions: -s, --scan directory scan and index a directory
-w, --web serve HTML reports from a temporary web server
-t, --text subdir print a plain text report on a subdirectory
-R, --remove remove the index file
-D, --dump dump the index file on stdout
-L, --load load and index a dump file
-S, --scan-dump directory scan only, generating a dump
-H, --html subdir print an HTML report on a subdirectory
--cgi do the right thing when run from a CGI script
...
Las opciones básicas que uso para identificar los archivos que tienen mas peso en mi sistema y por ende que tienen mayor posibilidad de ser eliminados son:
nonroot $agedu -s /
Este comando permite indexar todo el sistema partiendo desde la raiz, en un sistema con 250GB de disco puede tomar aproximadamente 10 minutos hacerlo. El resultado será almacenado en el archivo llamado agedu.dat.
Una vez indexado el sistema, puedo visualizar los resultado con el siguiente comando:
nonroot $agedu -w
Using HTTP Basic authentication
Username: agedu
Password: t1nntgbe9atj2jkq
URL: http://localhost:64230/
Lo que pondrá en funcionamiento un servicio web que requiere autenticación básica. Los datos para el proceso de login se muestran una vez se ejecuta el comando, en este caso el usuario es agedu y la contraseña t1nnrgbe8atj2jkq.
Para ingresar a los resultados, apuntamos el navegador a: http://localhost:64230/
Eso es todo!, ya podemos explorar de forma ordenada el sistema y empezar a eliminar todos esos datos que ya no queremos y nos están ocupando espacio.
Si alguien quiere entender cual es el algoritmo usado para indexar la información la pueden leer en:
No hay comentarios:
Publicar un comentario