El día 24 de mayo de 2013 22:04, jors <worby...@gmail.com> escribió: > Buenas lista, > > Me estoy volviendo un poco tarumba con el tema de los hardlinks y cuánto > ocupan, a ver si alguien puede arrojarme un poco de luz al tema. > > La teoría dice que un hardlink no es más que una referencia a un inodo de un > fichero existente. Y por tanto entiendo que sólo debería ocupar el espacio > necesario para guardar esa referencia. > > Pues bien, para calcular el espacio ocupado en disco por lo visto uno no se > puede fiar de "ls" porque toma el mismo espacio para los hardlinks que para > los ficheros que éstos referencian: > > user@host:~$ mkdir test > user@host:~$ cd test > user@host:~/test$ mkdir test1 test2 > user@host:~/test$ dd if=/dev/zero of=test1/test.dd count=1 bs=1M > user@host:~/test$ ls -lh test1/ > total 1,0M > -rw-r--r-- 1 user user 1,0M may 24 21:09 test.dd > user@host:~/test$ ln test1/test.dd test1/test.ddhl1 > user@host:~/test$ ls -lh test1/ > total 2,0M > -rw-r--r-- 2 user user 1,0M may 24 21:09 test.dd > -rw-r--r-- 2 user user 1,0M may 24 21:09 test.ddhl1 > > Eso lo tengo asumido. En cambio, el comando "du" de serie parece algo más > listo porque sabe qué es y qué no un hardlink y a no ser que le indiques la > opción -l, no cuenta en espacio ocupado por los hardlinks: > > user@host:~/test$ du test1/ > 1028 test1/ > user@host:~/test$ du test1/* > 1024 test1/test.dd > user@host:~/test$ du -l test1/* > 1024 test1/test.dd > 1024 test1/test.ddhl1 > > Pero ahora creemos sólo 2 hardlinks en el segundo directorio: > > user@host:~/test$ ln test1/test.dd test2/test.ddhl2 > user@host:~/test$ ln test1/test.dd test2/test.ddhl3 > user@host:~/test$ du test2/ > 1028 test2/ > user@host:~/test$ du -hs test1/* > 1,0M test1/test.dd > user@host:~/test$ du -hs test2/* > 1,0M test2/test.ddhl2 > > ¿Qué sucedió en el último paso? Du contó el espacio ocupado por un hardlink > a pesar de no haberle indicado que los tenga en cuenta para el recuento de > espacio :( > > Todo este rollo viene porque tengo un directorio lleno sólo de hardlinks > (comprobado con "stat" archivo a archivo) que según "du" ocupa 5.8GB y la > verdad es que no lo entiendo: > > root@vg:/dir/bck# for i in `ls`; do echo -ne "File ${i}: "; stat ${i} | grep > Links | awk '{ print $5" "$6 }' > File a1.dmp: Links: 4 > File a1.log: Links: 4 > File a2.dmp: Links: 4 > File a2.log: Links: 4 > (...) > > root@vg:/dir/bck# cd .. > root@vg:/dir# du bck/ > 5997988 bck/ > root@vg:/dir# du -h bck/ > 5.8G bck/ > > Si a alguien se le ocurre algo, agradecido. > > Salut, > jors > > > -- > To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: http://lists.debian.org/519fc7cd.9000...@gmail.com >
-- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/CAGw=rhgibguv-mzyzszr_sfxzsq3ar45tq+qhg4wbeznr4e...@mail.gmail.com