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

Reply via email to