Re: Dudas con hardlinks y el espacio que ocupan en disco
On 27/05/13 21:53, Carlos Zuniga wrote: 2013/5/27 jors: On 27/05/13 18:26, Carlos Zuniga wrote: 2013/5/26 jors: La teoría la tengo clara. El tema es que no hay modo de distinguir cuál es el archivo original (el que ocupa el tamaño como tal) y cuáles los hardlinks (el tamaño de las referencias). Y desde ese mismo instante, tratar de calcular el espacio en disco de unos y otros es perder el tiempo. Podrías usar un `ls -l` y filtrar por la 2da columna, que es el número de referencias al inodo. Todo lo que sea mayor a 1 es un hardlink y no lo tomas en cuenta para sumar el espacio total. No me sirve. El entorno es más complejo y sobretodo, necesito saber exactamente dónde está siendo ocupado ese espacio en disco (archivo original) y dónde no (hardlinks/referencias). Y hasta dónde he visto, simplemente no se puede. Entonces necesitas mayor contexto, en la aplicación donde generas los hardlinks genera algún archivo a la par que guarde la ubicación inicial de los archivos y sus hardlinks. Gracias por el consejo de todos modos, pero bufff... ni de coña voy a hacer nada que no esté contemplado ya en la propia aplicación que crea los hardlinks (rsnapshot) que bastante por saco me dió ya ésto. 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/51a3ba89.50...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
2013/5/27 jors : > On 27/05/13 18:26, Carlos Zuniga wrote: >> >> 2013/5/26 jors: >>> >>> La teoría la tengo clara. El tema es que no hay modo de distinguir cuál >>> es >>> el archivo original (el que ocupa el tamaño como tal) y cuáles los >>> hardlinks >>> (el tamaño de las referencias). Y desde ese mismo instante, tratar de >>> calcular el espacio en disco de unos y otros es perder el tiempo. >>> >> >> Podrías usar un `ls -l` y filtrar por la 2da columna, que es el número >> de referencias al inodo. Todo lo que sea mayor a 1 es un hardlink y no >> lo tomas en cuenta para sumar el espacio total. > > > No me sirve. El entorno es más complejo y sobretodo, necesito saber > exactamente dónde está siendo ocupado ese espacio en disco (archivo > original) y dónde no (hardlinks/referencias). Y hasta dónde he visto, > simplemente no se puede. > Entonces necesitas mayor contexto, en la aplicación donde generas los hardlinks genera algún archivo a la par que guarde la ubicación inicial de los archivos y sus hardlinks. Saludos -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. -- 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/CAABYcjO_RaYh0_zKFXBoV=sucky18rm-kbhs7n8rke7j6a7...@mail.gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 27/05/13 15:15, Leandro E. Colombo Viña wrote: (...) Con lo que nos queda, cuál es el "archivo" original? La respuesta, NINGUNO! Ya que como dije antes, el concepto de archivo que tenés que tener en la cabeza es la de inodo+referencia. Y los HardLinks son nuevas referecias a ese inodo, no son "nuevos archivos", ni copias, ni nada por el estilo. De ahí que es imposible determinar cuál es el original, porque el original, si pensamos en términos de la información es el ínodo... Entonces, no hay forma de que un programa pueda determinar el original y el HardLink. Ya que como mencioné antes, el original "inlcuye" un HardLink... ;-) Esa parece ser la conclusión: los hardlinks tienen ciertas limitaciones para depende qué se espere de ellos, como p.ej. mi caso de querer medir el espacio que ocupan en uno u otro directorio. No puedes fiarte de las tools que intentan rodear el problema contando el espacio que ocupan los datos la primera vez que encuentran un archivo con múltiples hardlinks porque sencillamente ese bien puede no haber sido el archivo original. Espero haber sido claro y que te ayude con lo que necesitabas y haber respondido como debía :-P Como un vaso de agua. La ayuda siempre es bienvenida. Gracias a ti y a la lista :) 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/51a3a267.5050...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 27/05/13 18:26, Carlos Zuniga wrote: 2013/5/26 jors: Buenas Leandro, Por favor, responde a la lista. Sigo abajo. On 26/05/13 20:56, Leandro E. Colombo Viña wrote: El problema justamente está en el concepto del HardLink y Archivo. En realidad dentro del sistema de archivos de tu sistema GNU/Linux podemos entender los archivos si tenemos en cuenta los "famosos" i-nodos y los nombres de archivos. Que quiero decir con esto, los nombres son referencias que se establecen dentro del árbol de directorios, para que nosotros o los programas que tenemos dentro de nuestro sistema puedan encontrar de una manera más simple la información que está almacenada. Mientras que el i-nodo, guarda todo el resto de la información del "archivo". Por eso cuando hablamos de HardLinks estamos hablando de nuevas referencias a un i-nodo en particular, lo cual no agrega espacio en disco (simplemente lo que ocupa la referencia del nombre y el inodo en cuestión, unos pocos KBs). Más info puede verse en: http://es.wikipedia.org/wiki/Inodo Te muestro un ejemplo: leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 3,8G -rw--- 2 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova -rw--- 2 leo leo 1,9G mar 11 20:02 vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ rm vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 1,9G -rw--- 1 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ La teoría la tengo clara. El tema es que no hay modo de distinguir cuál es el archivo original (el que ocupa el tamaño como tal) y cuáles los hardlinks (el tamaño de las referencias). Y desde ese mismo instante, tratar de calcular el espacio en disco de unos y otros es perder el tiempo. Podrías usar un `ls -l` y filtrar por la 2da columna, que es el número de referencias al inodo. Todo lo que sea mayor a 1 es un hardlink y no lo tomas en cuenta para sumar el espacio total. No me sirve. El entorno es más complejo y sobretodo, necesito saber exactamente dónde está siendo ocupado ese espacio en disco (archivo original) y dónde no (hardlinks/referencias). Y hasta dónde he visto, simplemente no se puede. 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/51a39fec.70...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
2013/5/26 jors : > Buenas Leandro, > > Por favor, responde a la lista. Sigo abajo. > > > On 26/05/13 20:56, Leandro E. Colombo Viña wrote: >> >> El problema justamente está en el concepto del HardLink y Archivo. En >> realidad dentro del sistema de archivos de tu sistema GNU/Linux podemos >> entender los archivos si tenemos en cuenta los "famosos" i-nodos y los >> nombres de archivos. >> Que quiero decir con esto, los nombres son referencias que se establecen >> dentro del árbol de directorios, para que nosotros o los programas que >> tenemos dentro de nuestro sistema puedan encontrar de una manera más >> simple la información que está almacenada. >> Mientras que el i-nodo, guarda todo el resto de la información del >> "archivo". Por eso cuando hablamos de HardLinks estamos hablando de >> nuevas referencias a un i-nodo en particular, lo cual no agrega espacio >> en disco (simplemente lo que ocupa la referencia del nombre y el inodo >> en cuestión, unos pocos KBs). >> >> Más info puede verse en: http://es.wikipedia.org/wiki/Inodo >> >> Te muestro un ejemplo: >> >> leo@Leo-XPS-Debian:~/Descargas/VM$ ll >> total 3,8G >> -rw--- 2 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova >> -rw--- 2 leo leo 1,9G mar 11 20:02 vm.ova >> leo@Leo-XPS-Debian:~/Descargas/VM$ du -h >> 1,9G. >> leo@Leo-XPS-Debian:~/Descargas/VM$ rm vm.ova >> leo@Leo-XPS-Debian:~/Descargas/VM$ ll >> total 1,9G >> -rw--- 1 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova >> leo@Leo-XPS-Debian:~/Descargas/VM$ du -h >> 1,9G. >> leo@Leo-XPS-Debian:~/Descargas/VM$ > > > La teoría la tengo clara. El tema es que no hay modo de distinguir cuál es > el archivo original (el que ocupa el tamaño como tal) y cuáles los hardlinks > (el tamaño de las referencias). Y desde ese mismo instante, tratar de > calcular el espacio en disco de unos y otros es perder el tiempo. > Podrías usar un `ls -l` y filtrar por la 2da columna, que es el número de referencias al inodo. Todo lo que sea mayor a 1 es un hardlink y no lo tomas en cuenta para sumar el espacio total. Saludos -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. -- 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/caabycjou7bbakpil1boeqhb9zykrbm4zio_ndy9v6h_owrx...@mail.gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
Respondo de nuevo, ya que antes sólo le envié el mail al autor... (perdón) El problema justamente está en el concepto del HardLink y Archivo. En realidad dentro del sistema de archivos de tu sistema GNU/Linux podemos entender los archivos si tenemos en cuenta los "famosos" i-nodos y los nombres de archivos. Que quiero decir con esto, los nombres son referencias que se establecen dentro del árbol de directorios, para que nosotros o los programas que tenemos dentro de nuestro sistema puedan encontrar de una manera más simple la información que está almacenada. Mientras que el i-nodo, guarda todo el resto de la información del "archivo". Por eso cuando hablamos de HardLinks estamos hablando de nuevas referencias a un i-nodo en particular, lo cual no agrega espacio en disco (simplemente lo que ocupa la referencia del nombre y el inodo en cuestión, unos pocos KBs). Más info puede verse en: http://es.wikipedia.org/wiki/Inodo Te muestro un ejemplo: Dentro del directorio VM tengo 2 "archivos" que son 2 nombres que apuntan al mismo inodo (LMDE-2013.ova y vm.ova). Podemos ver como tenemos 2 enlaces duros ya que el número que aparece antes del propietario del archivo es 2. Según el ls (ll es un alias que tengo de ls -lh) el total del directorio VM es de 3,8GB. Aunque nosotros sabemos que al ser 2 HardLinks sólo ocupan la mitad del espacio, ya que en el disco la información no está duplicada, sino lo que está duplicado es la referencia a la misma. leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 3,8G -rw--- 2 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova -rw--- 2 leo leo 1,9G mar 11 20:02 vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G . Como se puede ver, cuando tiramos un du -h nos muestra correctamente la información del directorio. Es decir tan sólo ocupa en disco 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ rm vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 1,9G -rw--- 1 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G . leo@Leo-XPS-Debian:~/Descargas/VM$ Como se puede observar, después de eliminar el archivo, la referecia es única y ahora la información que nos da el ls y du es la misma. Con lo que nos queda, cuál es el "archivo" original? La respuesta, NINGUNO! Ya que como dije antes, el concepto de archivo que tenés que tener en la cabeza es la de inodo+referencia. Y los HardLinks son nuevas referecias a ese inodo, no son "nuevos archivos", ni copias, ni nada por el estilo. De ahí que es imposible determinar cuál es el original, porque el original, si pensamos en términos de la información es el ínodo... Entonces, no hay forma de que un programa pueda determinar el original y el HardLink. Ya que como mencioné antes, el original "inlcuye" un HardLink... ;-) Espero haber sido claro y que te ayude con lo que necesitabas y haber respondido como debía :-P Saludos! LEO.
Re: Dudas con hardlinks y el espacio que ocupan en disco
Hola de nevo Leandro, Please, a la lista ;) On 26/05/13 21:04, Leandro E. Colombo Viña wrote: Se me escapó el "Enviar" antes de tiempo, perdón. Decía con el ejemplo: Dentro del directorio VM tengo 2 "archivos" que son 2 nombres que apuntan al mismo inodo (LMDE-2013.ova y vm.ova). Podemos ver como tenemos 2 enlaces duros ya que el número que aparece antes del propietario del archivo es 2. Según el ls (ll es un alias que tengo de ls -lh) el total del directorioVM es de 3,8GB. Aunque nosotros sabemos que al ser 2 HardLinks sólo ocupan la mitad del espacio, ya que en el disco la información no está duplicada, sino lo que está duplicado es la referencia a la misma. leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 3,8G -rw--- 2 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova -rw--- 2 leo leo 1,9G mar 11 20:02 vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. Como se puede ver, cuando tiramos un du -hnos muestra correctamente la información del directorio. Es decir tan sólo ocupa en disco 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ rm vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 1,9G -rw--- 1 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ Como se puede observar, después de eliminar el archivo, la referecia es única y ahora la información que nos da ells y du es la misma. Espero haber sido claro y que te ayude con lo que necesitabas. Saludos! LEO. El 26 de mayo de 2013 15:56, Leandro E. Colombo Viña mailto:colombolean...@gmail.com>> escribió: El problema justamente está en el concepto del HardLink y Archivo. En realidad dentro del sistema de archivos de tu sistema GNU/Linux podemos entender los archivos si tenemos en cuenta los "famosos" i-nodos y los nombres de archivos. Que quiero decir con esto, los nombres son referencias que se establecen dentro del árbol de directorios, para que nosotros o los programas que tenemos dentro de nuestro sistema puedan encontrar de una manera más simple la información que está almacenada. Mientras que el i-nodo, guarda todo el resto de la información del "archivo". Por eso cuando hablamos de HardLinks estamos hablando de nuevas referencias a un i-nodo en particular, lo cual no agrega espacio en disco (simplemente lo que ocupa la referencia del nombre y el inodo en cuestión, unos pocos KBs). Más info puede verse en: http://es.wikipedia.org/wiki/Inodo Te muestro un ejemplo: leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 3,8G -rw--- 2 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova -rw--- 2 leo leo 1,9G mar 11 20:02 vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ rm vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 1,9G -rw--- 1 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ Gracias por completar, aunque hasta ahí ya llegué a entender. Echa un vistazo a mi anterior respuesta para ver mi conclusión. 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/51a25eba.5080...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
Buenas Leandro, Por favor, responde a la lista. Sigo abajo. On 26/05/13 20:56, Leandro E. Colombo Viña wrote: El problema justamente está en el concepto del HardLink y Archivo. En realidad dentro del sistema de archivos de tu sistema GNU/Linux podemos entender los archivos si tenemos en cuenta los "famosos" i-nodos y los nombres de archivos. Que quiero decir con esto, los nombres son referencias que se establecen dentro del árbol de directorios, para que nosotros o los programas que tenemos dentro de nuestro sistema puedan encontrar de una manera más simple la información que está almacenada. Mientras que el i-nodo, guarda todo el resto de la información del "archivo". Por eso cuando hablamos de HardLinks estamos hablando de nuevas referencias a un i-nodo en particular, lo cual no agrega espacio en disco (simplemente lo que ocupa la referencia del nombre y el inodo en cuestión, unos pocos KBs). Más info puede verse en: http://es.wikipedia.org/wiki/Inodo Te muestro un ejemplo: leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 3,8G -rw--- 2 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova -rw--- 2 leo leo 1,9G mar 11 20:02 vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ rm vm.ova leo@Leo-XPS-Debian:~/Descargas/VM$ ll total 1,9G -rw--- 1 leo leo 1,9G mar 11 20:02 LMDE-201303RC.ova leo@Leo-XPS-Debian:~/Descargas/VM$ du -h 1,9G. leo@Leo-XPS-Debian:~/Descargas/VM$ La teoría la tengo clara. El tema es que no hay modo de distinguir cuál es el archivo original (el que ocupa el tamaño como tal) y cuáles los hardlinks (el tamaño de las referencias). Y desde ese mismo instante, tratar de calcular el espacio en disco de unos y otros es perder el tiempo. 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/51a25d8b.9040...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 26/05/13 19:59, Camaleón wrote: Quizá haya alguna otra aplicación que te permita afinar más... alguien comentó recientemente ene sta lista "ncdu", creo recordar, por lo que habrá otras opciones. A parte de con du, probé ya con durep y philesight y experimentan un comportamiento similar a du: - el primer hardlink que encuentran es tratado como el fichero original. - si atacas contra un path que no contiene todos los posibles hardlinks, los demás no son tenidos en cuenta. Probaré con ncdu y tdu, pero no tengo demasiada esperanza porque parece un problema surgido de la propia naturaleza de los hardlinks: es imposible identificar el archivo "original" de un grupo de hardlinks y de ese modo no puedes distinguir entre el archivo concreto que está ocupando el espacio real y sus referencias. 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/51a2567e.8040...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
El Sun, 26 May 2013 19:35:58 +0200, jors escribió: > On 26/05/13 19:29, Camaleón wrote: >> El Fri, 24 May 2013 22:04:29 +0200, jors escribió: >> >> (...) >> >>> 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: (...) >> "(...) If two or more hard links point to the same file, only one of >> the hard links is counted. The file argument order affects which links >> are counted, and changing the argument order may change the numbers >> that du outputs." (...) > Me temo que eso viene a decir lo que ya me comentó Fernando: que > dependiendo del path que le indiques a du, tendrá sólo en cuenta > aquellos hardlinks que encuentren en su interior. Ah, pues seguramente, no he leído todo el hilo, la verdad O:-) > Un mal asunto esto de los hardlinks cuando tienes que calcular el > espacio que ocupan los ficheros de cada directorio. Quizá haya alguna otra aplicación que te permita afinar más... alguien comentó recientemente ene sta lista "ncdu", creo recordar, por lo que habrá otras opciones. Saludos, -- Camaleón -- 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/kntih6$c86$1...@ger.gmane.org
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 26/05/13 19:29, Camaleón wrote: El Fri, 24 May 2013 22:04:29 +0200, jors escribió: (...) 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.8Gbck/ Si a alguien se le ocurre algo, agradecido. Hum... en la página del manual de "du¹" dice: "(...) If two or more hard links point to the same file, only one of the hard links is counted. The file argument order affects which links are counted, and changing the argument order may change the numbers that du outputs." No sé si eso te dice algo :-? ¹http://www.gnu.org/software/coreutils/manual/html_node/du-invocation.html Saludos, Me temo que eso viene a decir lo que ya me comentó Fernando: que dependiendo del path que le indiques a du, tendrá sólo en cuenta aquellos hardlinks que encuentren en su interior. Un mal asunto esto de los hardlinks cuando tienes que calcular el espacio que ocupan los ficheros de cada directorio. Gracias de todos modos. 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/51a247fe.2050...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
El Fri, 24 May 2013 22:04:29 +0200, jors escribió: (...) > 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. Hum... en la página del manual de "du¹" dice: "(...) If two or more hard links point to the same file, only one of the hard links is counted. The file argument order affects which links are counted, and changing the argument order may change the numbers that du outputs." No sé si eso te dice algo :-? ¹http://www.gnu.org/software/coreutils/manual/html_node/du-invocation.html Saludos, -- Camaleón -- 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/kntgq3$c86$1...@ger.gmane.org
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 24/05/13 23:15, fernando sainz wrote: El día 24 de mayo de 2013 23:07, jors escribió: On 24/05/13 23:03, fernando sainz wrote: El día 24 de mayo de 2013 22:36, jors escribió: On 24/05/13 22:24, fernando sainz wrote: 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, jorsescribió: 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/ 1028test1/ user@host:~/test$ du test1/* 1024test1/test.dd user@host:~/test$ du -l test1/* 1024test1/test.dd 1024test1/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/ 1028test2/ user@host:~/test$ du -hs test1/* 1,0Mtest1/test.dd user@host:~/test$ du -hs test2/* 1,0Mtest2/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. Sí y no. En realidad sólo se ocupa el espacio en disco de ese fichero una vez, y sus hardlinks al mismo sólo son referencias al mismo inodo. Por tanto, en términos de espacio la referencia debe ocupar muy muy poquito (del orden de pocos kb's, a lo sumo). Yo pensaba que "du" era constante en ese aspecto: es decir, que a no ser que le indicaras explícitamente que quieres que te cuente el espacio de los hardlinks como si fueran un fichero más (y no una referencia a uno ya existente), los saltaba. Y veo que no es siempre así. Salut, jors Es complicado, pero entiendo que cuando se crea un fichero se crea una entrada con el nombre del fichero y cuando se crea un hardlink se crea otra entrada igual y se incrementa un contador que mantiene el numero de entradas que hay sobre un fichero y cuando llega a cero se borra. Por tanto todas las entradas (hardlinks) son el fichero y si haces un du sobre una parte de la estructura de directorios te lo cuenta. Solo en el caso de que se encuentre mas de una vez un enlace lo ignora. Entiendo que el fichero no pertenece al primer hardlink que se crea al crearlo sino a todos por igual, no hay diferencia entre el fichero original y el hardlink salvo el nombre... NO se si me explico muy bien :-) Sí, perfectamente! Coincido contigo -no se si realmente será así- en que no hay diferencia entre fichero original y posteriores hardlinks. El tema es si existe alguna utilidad/aplicación/modo que me pueda ayudar a calcular el tamaño de una estructura de directorios SIN tener en cuenta los hardlinks... pero al mismo tiempo, sí que tengo que contar uno de ellos porque sería el correspondiente al tamaño del archivo "original" xD Salut, jors No lo sé, entiendo que cuando hagas un du de una estructura de directorios, tal vez este sea capaz de eliminar el espacio de los hard links que encuentre debajo, pero si lo haces por partes te saldrá repetido. Pues efectivamente tiene pinta de ser como dices: si pones el "path entero" (dónde se encuentran todos los hardlinks a un fichero) sólo tendrá en cuenta uno. Es una
Re: Dudas con hardlinks y el espacio que ocupan en disco
El día 24 de mayo de 2013 23:07, jors escribió: > On 24/05/13 23:03, fernando sainz wrote: >> >> El día 24 de mayo de 2013 22:36, jors escribió: >>> >>> On 24/05/13 22:24, fernando sainz wrote: 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 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/ > 1028test1/ > user@host:~/test$ du test1/* > 1024test1/test.dd > user@host:~/test$ du -l test1/* > 1024test1/test.dd > 1024test1/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/ > 1028test2/ > user@host:~/test$ du -hs test1/* > 1,0Mtest1/test.dd > user@host:~/test$ du -hs test2/* > 1,0Mtest2/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. >>> >>> >>> >>> Sí y no. >>> >>> En realidad sólo se ocupa el espacio en disco de ese fichero una vez, y >>> sus >>> hardlinks al mismo sólo son referencias al mismo inodo. Por tanto, en >>> términos de espacio la referencia debe ocupar muy muy poquito (del orden >>> de >>> pocos kb's, a lo sumo). >>> >>> Yo pensaba que "du" era constante en ese aspecto: es decir, que a no ser >>> que >>> le indicaras explícitamente que quieres que te cuente el espacio de los >>> hardlinks como si fueran un fichero más (y no una referencia a uno ya >>> existente), los saltaba. Y veo que no es siempre así. >>> >>> Salut, >>> jors >>> >>> >> >> Es complicado, pero entiendo que cuando se crea un fichero se crea una >> entrada con el nombre del fichero y cuando se crea un hardlink se crea >> otra entrada igual y se incrementa un contador que mantiene el numero >> de entradas que hay sobre un fichero y cuando llega a cero se borra. >> Por tanto todas las entradas (hardlinks) son el fichero y si haces un >> du sobre una parte de la estructura de directorios te lo cuenta. Solo >> en el caso de que se encuentre mas de una vez un enlace lo ignora. >> Entiendo que el fichero no pertenece al primer hardlink que se crea al >> crearlo sino a todos por igual, no hay diferencia entre el fichero >> original y el hardlink salvo el nombre... >> >> NO se si me explico muy bien :-) > > > Sí, perfectamente! Coincido contigo -no se si realmente será así- en que no > hay diferencia entre fichero original y posteriores hardlinks. > > El tema es si existe alguna utilidad/aplicación/modo que me pueda ayudar a > cal
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 24/05/13 23:03, fernando sainz wrote: El día 24 de mayo de 2013 22:36, jors escribió: On 24/05/13 22:24, fernando sainz wrote: 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 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/ 1028test1/ user@host:~/test$ du test1/* 1024test1/test.dd user@host:~/test$ du -l test1/* 1024test1/test.dd 1024test1/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/ 1028test2/ user@host:~/test$ du -hs test1/* 1,0Mtest1/test.dd user@host:~/test$ du -hs test2/* 1,0Mtest2/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. Sí y no. En realidad sólo se ocupa el espacio en disco de ese fichero una vez, y sus hardlinks al mismo sólo son referencias al mismo inodo. Por tanto, en términos de espacio la referencia debe ocupar muy muy poquito (del orden de pocos kb's, a lo sumo). Yo pensaba que "du" era constante en ese aspecto: es decir, que a no ser que le indicaras explícitamente que quieres que te cuente el espacio de los hardlinks como si fueran un fichero más (y no una referencia a uno ya existente), los saltaba. Y veo que no es siempre así. Salut, jors Es complicado, pero entiendo que cuando se crea un fichero se crea una entrada con el nombre del fichero y cuando se crea un hardlink se crea otra entrada igual y se incrementa un contador que mantiene el numero de entradas que hay sobre un fichero y cuando llega a cero se borra. Por tanto todas las entradas (hardlinks) son el fichero y si haces un du sobre una parte de la estructura de directorios te lo cuenta. Solo en el caso de que se encuentre mas de una vez un enlace lo ignora. Entiendo que el fichero no pertenece al primer hardlink que se crea al crearlo sino a todos por igual, no hay diferencia entre el fichero original y el hardlink salvo el nombre... NO se si me explico muy bien :-) Sí, perfectamente! Coincido contigo -no se si realmente será así- en que no hay diferencia entre fichero original y posteriores hardlinks. El tema es si existe alguna utilidad/aplicación/modo que me pueda ayudar a calcular el tamaño de una estructura de directorios SIN tener en cuenta los hardlinks... pero al mismo tiempo, sí que tengo que contar uno de ellos porque sería el correspondiente al tamaño del archivo "original" xD 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/519fd682.3040...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
El día 24 de mayo de 2013 22:36, jors escribió: > On 24/05/13 22:24, fernando sainz wrote: >> >> 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 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/ >>> 1028test1/ >>> user@host:~/test$ du test1/* >>> 1024test1/test.dd >>> user@host:~/test$ du -l test1/* >>> 1024test1/test.dd >>> 1024test1/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/ >>> 1028test2/ >>> user@host:~/test$ du -hs test1/* >>> 1,0Mtest1/test.dd >>> user@host:~/test$ du -hs test2/* >>> 1,0Mtest2/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. > > > Sí y no. > > En realidad sólo se ocupa el espacio en disco de ese fichero una vez, y sus > hardlinks al mismo sólo son referencias al mismo inodo. Por tanto, en > términos de espacio la referencia debe ocupar muy muy poquito (del orden de > pocos kb's, a lo sumo). > > Yo pensaba que "du" era constante en ese aspecto: es decir, que a no ser que > le indicaras explícitamente que quieres que te cuente el espacio de los > hardlinks como si fueran un fichero más (y no una referencia a uno ya > existente), los saltaba. Y veo que no es siempre así. > > Salut, > jors > > Es complicado, pero entiendo que cuando se crea un fichero se crea una entrada con el nombre del fichero y cuando se crea un hardlink se crea otra entrada igual y se incrementa un contador que mantiene el numero de entradas que hay sobre un fichero y cuando llega a cero se borra. Por tanto todas las entradas (hardlinks) son el fichero y si haces un du sobre una parte de la estructura de directorios te lo cuenta. Solo en el caso de que se encuentre mas de una vez un enlace lo ignora. Entiendo que el fichero no pertenece al primer hardlink que se crea al crearlo sino a todos por igual, no hay diferencia entre el fichero original y el hardlink salvo el nombre... NO se si me explico muy bien :-) S2. -- 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=rhhzjqc8exdoefclwv1rf9o5qr27ufrvpcuslzdpg1k...@mail.gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 24/05/13 22:49, Gerardo Diez García wrote: El 24/05/13 22:37, jors escribió: Se más concreto... ¿Cuál? Mientras que el hardlink apunta al fichero (por lo que entiendo que se ve como una copia de ese fichero) el softlink apunta al nombre del fichero (así que entiendo que se ve como un alias de ese fichero). Pero reitero que es pura ignorancia lo mío Pues a grandes rasgos diría que sí, que así va la cosa. Aunque un hardlink no es una "copia" de un archivo, sino una referencia a uno ya existente (que apunta al inodo del cual es enlace -duro-). Y esta referencia ocupa seguramente muy poco. Con "du" veo que los sabe identificar... pero no siempre, porque unas veces los obvia (reconoce los hardlinks y no imprime su tamaño) y otras no (y parece imprimir el tamaño del archivo al cual referencian). ¿Cómo era esa frase? Todos somos ignorantes, aunque no todos ignoramos las mismas cosas ;) 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/519fd3ee.1080...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
El 24/05/13 22:37, jors escribió: > Se más concreto... ¿Cuál? Mientras que el hardlink apunta al fichero (por lo que entiendo que se ve como una copia de ese fichero) el softlink apunta al nombre del fichero (así que entiendo que se ve como un alias de ese fichero). Pero reitero que es pura ignorancia lo mío -- 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/519fd273.8090...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 24/05/13 22:30, Gerardo Diez García wrote: 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 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/ 1028test1/ user@host:~/test$ du test1/* 1024test1/test.dd user@host:~/test$ du -l test1/* 1024test1/test.dd 1024test1/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/ 1028test2/ user@host:~/test$ du -hs test1/* 1,0Mtest1/test.dd user@host:~/test$ du -hs test2/* 1,0Mtest2/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.8Gbck/ 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? Se más concreto... ¿Cuál? 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/519fcf7f.7070...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
On 24/05/13 22:24, fernando sainz wrote: 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 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/ 1028test1/ user@host:~/test$ du test1/* 1024test1/test.dd user@host:~/test$ du -l test1/* 1024test1/test.dd 1024test1/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/ 1028test2/ user@host:~/test$ du -hs test1/* 1,0Mtest1/test.dd user@host:~/test$ du -hs test2/* 1,0Mtest2/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. Sí y no. En realidad sólo se ocupa el espacio en disco de ese fichero una vez, y sus hardlinks al mismo sólo son referencias al mismo inodo. Por tanto, en términos de espacio la referencia debe ocupar muy muy poquito (del orden de pocos kb's, a lo sumo). Yo pensaba que "du" era constante en ese aspecto: es decir, que a no ser que le indicaras explícitamente que quieres que te cuente el espacio de los hardlinks como si fueran un fichero más (y no una referencia a uno ya existente), los saltaba. Y veo que no es siempre así. Salut, jors 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.8Gbck/ 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/519fcf39.3020...@gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
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 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/ >> 1028test1/ >> user@host:~/test$ du test1/* >> 1024test1/test.dd >> user@host:~/test$ du -l test1/* >> 1024test1/test.dd >> 1024test1/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/ >> 1028test2/ >> user@host:~/test$ du -hs test1/* >> 1,0Mtest1/test.dd >> user@host:~/test$ du -hs test2/* >> 1,0Mtest2/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.8Gbck/ >> >> 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
Re: Dudas con hardlinks y el espacio que ocupan en disco
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 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/ > 1028test1/ > user@host:~/test$ du test1/* > 1024test1/test.dd > user@host:~/test$ du -l test1/* > 1024test1/test.dd > 1024test1/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/ > 1028test2/ > user@host:~/test$ du -hs test1/* > 1,0Mtest1/test.dd > user@host:~/test$ du -hs test2/* > 1,0Mtest2/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.8Gbck/ > > 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=rhiw94i+o_9svhtwdg2zqnxmb39dwcah0exxhvrgg2e...@mail.gmail.com
Re: Dudas con hardlinks y el espacio que ocupan en disco
El día 24 de mayo de 2013 22:04, jors 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/ > 1028test1/ > user@host:~/test$ du test1/* > 1024test1/test.dd > user@host:~/test$ du -l test1/* > 1024test1/test.dd > 1024test1/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/ > 1028test2/ > user@host:~/test$ du -hs test1/* > 1,0Mtest1/test.dd > user@host:~/test$ du -hs test2/* > 1,0Mtest2/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.8Gbck/ > > 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