El 24/05/13 22:24, fernando sainz escribió: > Hola: > Creo que se me ha escapado una respuesta vacía, un desliz del ratón en > gmail... > > 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. >> > > Y creo que entiendes bien. > Lo que pasa es que para el sistema operativo tanto el fichero como el > hard link son la misma cosa, un fichero. > De hecho el fichero se borra cuando borras el último hard link que > exista para ese fichero. > > >> 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: >> > > Bueno, no se como funciona du, pero ten en cuenta que si borras los > ficheros, como te digo estos siguen existiendo bajo el hardlink, con > lo cual realmente ocupan ese espacio. Tal vez du cuando encuentra dos > entradas en un directorio que apuntan al mismo sitio es capaz de > descontar una. > > > S2. > > >> 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 >> Disculpad mi ignorancia pero, no es esa precisamente la diferencia entre un hardlink y un softlink?
>> >> -- >> 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/519fcdec.8040...@gmail.com