Copyright © 2001 Peter Jay Salzman
2004-01-08 versión 1.1
Introducción
Obtener los ISOs de Debian ha sido siempre un proceso duro, lento y extremadamente ineficiente. jigdo es una nueva herramienta para obtener los ISOs de Debian de una forma fácil, rápida y muy eficiente. Este CÓMO describe por qué conviene usar jigdo, algo sobre su funcionamiento y cómo usarlo para obtener y actualizar los ISOs de Debian.
jigdo es una herramienta genérica y no está vinculada únicamente con los ISOs de Debian. Las herramientas de jigdo se pueden usar para ofrecer para descarga cualquier ISO de la misma forma fácil, rápida y eficiente en que se usa para los ISOs de Debian. Este CÓMO también trata esta cuestión, pero se centra principalmente en la descarga de los ISOs de Debian.
Este documento es copyright (c) 2001 Peter Jay Salzman, <p@dirac.org>
. Se concede permiso
para copiar, disribuir y/o modificar este documento bajo los términos
de la Licencia de Software Abierto (Open Source Licence u OSL),
versión 1.1, excepto los extremos que se relacionan en el siguiente
párrafo. Odio los CÓMOs que incluyen la licencia; es un "asesino de
árboles". La OSL se puede leer en http://opensource.org/licenses/osl-1.1.txt.
Agradecería que quien quiera crear un documento derivado o publicar este CÓMO con propósitos comerciales se pusiera previamente en contacto conmigo. Esto me permitiría proporcionarle la versión más reciente. También agradecería que se me enviase bien una copia de lo hecho, o espinacas, ajo, setas, queso o pizza de corazones de alcachofa.
En principio, iba a agradecer al autor de jigdo Richard Atterer su creación. Cualquiera que haya obtenido los ISOs de Debian por otros medios lo comprenderá. Sin embargo, mi agradecimiento debe ir más allá. Este CÓMO comenzó como unas cuantas páginas web en las que contaba mi experiencia con jigdo. Richard se tomó la molestia de enviarme por correo electrónico extensas correcciones, aclaraciones y respuestas a las preguntas que yo tenía sobre jigdo. Desde entonces, él ha leído mi libro muchas veces. Richard es un desarrollador que no sólo se preocupa por su trabajo, sino también por la gente que lo usa. Por desgracia, esto se está convirtiendo en algo poco común en este mundo tan ocupado en que vivimos. ¡Gracias, Richard!
También me gustaría dar las gracias a < A HREF="mailto:cnw@conradwood.net" TARGET="_top">Conrad Wood, Elcio Mello, Marcelo Ramos, Yufeng Wang y Tsukasa Yamaguchi por traducir este mini-CÓMO. Me siento completamente honrado de que hayan considerado mis palabras merecedoras de su tiempo y esfuerzo. ¡Gracias, chicos!
Por último, me gustaría agradecer a Mark van Lent sus amables palabras y muy necesarias correcciones.
Me preocupo mucho por la gente que usa este documento. Lleva mucho tiempo escribir incluso los mini-CÓMOs y no habría empleado tanto esfuerzo en algo que la gente no comprendiese. Si tienes comentarios, correcciones o sugerencias, incluso en cuestiones como el estilo de escritura, no dudes en escribirme. En tanto no esté empantanado con mi disertación sobre PhD y el libro que estoy escribiendo sobre depuración de código con GDB/DDD para No Starch PRess, haré lo que pueda para contestar todos los correos que reciba en relación con este mini-CÓMO.
Conrad Wood <cnw@conradwood.net>
.
Elcio Mello <mello@ajato.com.br>
.
Marcelo Ramos <mramos@montevideo.com.uy>
.
Ricardo García Morán <rigamo@vodafone.es>
.
Yufeng Wang <ipzh@163.net>
. Dispponible en http://www.wangyf.com/linux/debian-jigdo-mini-howto.html.
Tsukasa Yamaguchi <tyamagch@bd.mbn.or.jp>
. Disponible en http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo.
La versión inglesa y todas sus traducciones están disponibles en
mi web: http://www.dirac.org/linux/debian/jigdo. Si te gustaría
traducir este mini-HOWTO a otro idioma, contacta conmigo en
<p@dirac.org>
.
La versión inglesa estable se puede encontrar en el Proyecto de Documentación de Linux (The Linux Documentation Project): http://tldp.org/docs.html, en la sección mini-HOWTO. Si quieres ver los trabajos en desarrolo, puedes obtener la versión "sangrante" desde http://www.dirac.org/linux/debian/jigdo.
Hay muchas formas de obtener tu propio paquete de CDs de Debian. Una de ellas es comprarlos a distribuidores que los venden. El mérito de esta opción estriba en que esos vendedores donan parte del dinero al proyecto Debian. Las donaciones aseguran la pervivencia de Debian.
Otra forma de conseguir el paquete de CDs es grabarlos personalmente. Esto requiere primero obtener una imagen ISO para después grabarla en un CD vacío. Antes de jigdo, había dos formas de crear CDs de Debian:
Descargar la ISO completa.
Usar el juego de pseudo-imagen (Pseudo-Image Kit o PIK)
Este documento trata sobre una forma nueva y mejor de obtener imágenes ISO de Debian, mediante una herramienta llamada jigdo. De hecho, PIK está oficialmente muerto y se han suprimido de este documento todas las referencias al mismo. El método adecuado de obtener imágenes ISO de Debian es con jigdo.
Hay servidores espejo que ofrecen descargas http y ftp de ISOs Debian. El problema es que existen muy pocos sitios espejo y su ancho de banda no puede soportar a todos los que quieren descargar los ISOs. Por ejemplo, fsn.hu ha reconocido haber saturado la conexión de su proveedor. El tráfico de salida alcanza unos pocos Teras al mes.
Además, las versiones inestables y de comprobación de Debian se actualizan con frecuencia. Tu imagen ISO puede quedar obsoleta el mismo día que la descargas a menos que la montes en un dispositivo de retorno (loopback) y uses rsync (que es lo que hacía PIK). Por tanto, si quieres imágenes ISO actualizadas, tendrás que descargar un juego todos los días. ¡Claramente, no es esta la manera en que quieres obtener los ISOs de Debian!
Aunque lo que quieras sean sólo las imágenes estables de Debian, también éstas se actualizan cada pocos meses y cada vez que se libere una nueva versión estable de Debian habrá que sufrir el tedioso proceso de descargar el ISO completo. Esto supone un derroche de tiempo y de los recursos del servidor de réplica.
El nombre jigdo viene de "Jigsaw Download". Se trata de un programa escrito por Richard Atterer y se liberó bajo la Licencia Pública General (GPL) de GNU. Es una herramienta que permite la descarga y actualización eficientes de una imagen ISO; cualquier imagen ISO. jigdo no es específico de Debian, aunque Debian lo ha elegido como método oficial para la descarga de sus imágenes ISO.
Un frecuente error conceptual consiste en creer que jigdo crea imágenes ISO; no lo hace. Veamos el proceso completo por el que jigdo permite obtener una imagen ISO. Supongamos que Juan es la persona que ofrece la imagen ISO (quizás sea el gestor de liberalizaciones de Debian) y que Rosa es quien quiere descargar la imagen (puede ser una usuaria Debian).
El primer paso consiste en que Juan crea una imagen ISO adecuada para ser "quemada" en un CD. Para ello puede usar una utilidad como mkisofs o < i>debian-cd. También crea dos ficheros asociados con esa imagen ISO.: un fichero .jigdo y otro .template. Después hace que estos dos ficheros estén disponibles para descarga por parte de cualquiera que desee obtener la imagen ISO.
El segundo paso consiste en que Rosa descargue los ficheros .jigdo y .template. A continuación utiliza jigdo-lite con estos dos ficheros para descargar la imagen ISO de Juan.
La herramienta jigdo viene con dos utilidades: jigdo-file y jigdo-lite. La primera (jigdo-file) es la que usa Juan para crear los ficheros .jigdo y .template a partir de la imagen ISO que quiere ofrecer. Rosa usará jigdo-lite para descargar los ficheros .jigdo y < tt>.template. Quien sólo quiera descargar ISOs de Debian necesitará, únicamente, jigdo-lite pudiendo, icluso, olvidar que existe jigdo-file. :-)
jigdo soluciona los problemas de los otros métodos para la obtención de imágenes ISO de Debian:
Es mucho más rápido que la descarga de la imagen ISO completa.
Frente a la descarga de la imagen completa, puede partir de un CD anticuado (o una imagen ISO anticuada montada por loop) y descargar sólo< /span> los ficheros que hayan cambiado, crear un nuevo ISO actualizado. Es algo muy parecido al uso de cvs para actualizar código fuente.
jigdo-lite emplea wget que, por defecto, utiliza http para la transferencia de ficheros. A diferencia de rsync, http nunca se ve bloqueado por cortafuegos, salvo aquellos tras los cuales no se debería estar usando jigdo en primer lugar.
jigdo es muy rerspetuoso con el ancho de banda de los servidores que ofrecen imágenes de Debian. Los servidores de réplica de Debian pueden soportar más gente descargando imágenes a través de jigdo que a través de cualquier otro método de descarga.
Claramente, jigdo es el mejor método para conseguir imágenes ISO de Debian.< /P>
Para usar jigdo no hace falta conocer este material, pero puede ayudar a desmitificar lo que hace jigdo. Si no estás interesado en los detalles, simplemente salta a la Sección 4, "Mi primera descarga de una imagen".
Una imagen de CD es un sistema de ficheros llamado iso9660, pero aquí podemos tranquilamente considerar una imagen de CD como un gran fichero llamado “imagen ISO” (sobre 650 Mb) que contiene ficheros en distintas posiciones (offsets). Por ejemplo, si un CD tiene un fichero de 567 bytes llamado LEAME, la imagen ISO puede almacenar el contenido del fichero LEAME entre las Posiciones 20480000 y 20480567. Una imagen de CD puede visualizarse así:
-------------------------------------------------------------------- Imagen ISO: |xxxx| fichero-0 |xx| fichero-1 |xxx| fichero-2 |x| fichero-3 |xxxx| -------------------------------------------------------------------- |
Las áreas "x" contienen cosas de tipo de información sobre directorios, ceros de relleno, nombre de disco, bloque de arranque, etc.
La utilidad jigdo-file recibe una entrada de dos datos: La imagen completa del CD (por lo que el fichero ISO debe haber sido ya generado) y un conjunto de ficheros que pueden estar o no en la imagen. He aquí una visualización de la entrada de jigdo-file:
-------------------------------------------------------------------- Imagen ISO: |xxxx| fichero-0 |xx| fichero-1 |xxx| fichero-2 |x| fichero-3 |xxxx| -------------------------------------------------------------------- ------------- ------------- ------------- ------------- Ficheros ordinarios: | fichero-0 | | fichero-1 | | fichero-3 | | fichero-4 | ------------- ------------- ------------- ------------- |
Mediante magia, jigdo-file averigua cuáles de los ficheros ordinarios están presentes en la imagen ISO y sus respectivas posiciones dentro del fichero ISO. La salida de la utilidad son dos ficheros: un fichero ".template" y un fichero ".jigdo".
Con una entrada consistente en una imagen ISO y un grupo de ficheros que pueden estar o no en la imagen ISO, jigdo-file da como salida un fichero .template para esa imagen ISO. He aquí el aspecto del fichero .template:
-------------------------------------------------------- .template: |xxxx| md5-0 |xx| md5-1 |xxx|cccccccc|x| md5-3 |xxxx| -------------------------------------------------------- |
Esto significa que jigdo-file ha encontrado en la imagen ISO los ficheros fichero-0, fichero-1 y fichero-3. Ha elimitado el contenido de estos ficheros y lo ha sustituido por el número checksum md5 de cada fichero (md5-0, md5-1 y md5-3 respectivamente).
Los datos "x" (información de directorios, ceros de relleno, etc.) de la imagen ISO se comprimen y escriben en el fichero .template. Por último, los demás ficheros de la imagen ISO que no se han incluido entre los ficheros ordinarios (como fichero-2) también se comprimen y escriben en el fichero .template; son los que figuran como datos "c" en la visualización del fichero .template.
Los ficheros ordinarios que forman parte de la entrada de jigdo-file y que no son encontrados en la imagen ISO (como fichero-4) se ignoran.
Con una entrada consistente en una imagen ISO y un conjunto de ficheros ordinarios que pueden estar o no en la imagen ISO, jigdo-file genera en la salida un fichero .jigdo para esa imagen ISO. Los ficheros .jigdo de Debian están comprimidos con gzip, por lo que, para verlos, hace falta usar zcat o zless. Este es el aspecto de un fichero .jigdo cuando se descomprime:
md5-0=http://servidor-espejo.org/fichero-0 md5-1=http://servidor-espejo.org/fichero-1 md5-2=http://servidor-espejo.org/fichero-2 md5-3=http://servidor-espejo.org/fichero-3
El fichero .jigdo sólo contiene una lista con las relaciones entre el número md5sum de un fichero incluso en la imagen ISO y la dirección URL de descarga para ese fichero. Hay algunas cosas más dentro del fichero .jigdo y, mirando dentro, puede verse que tiene el mismo formato que un fichero ".ini". Debería ser suficientemente explicativo, pero si quieres saber los detalles más nimios, lee la documentación de jigdo.
El formato mostrado arriba no es exactamente igual que el de un fichero .jigdo típico, pero sí muy similar. Si se mira la sección [Servers] al final del fichero .jigdo puede verse cuál es exactamente la diferencia entre lo que he mostrado arriba y un fichero .jigdo real.
Una vez generados, mediante jigdo-file, los ficheros .jigdo y .template de una determinada imagen ISO, cualquira puede descargar esa imagen mediante jigdo-lite. La utilidad jigdo-lite descarga todos los ficheros de una imagen ISO de Debian mediante wget, los ensambla y forma, al vuelo, una copia de la imagen ISO original.
Supondremos que partes de cero y que no tienes a mano ningún ISO de Debian. Cuando ya hayas quemado tu propio juego de ISOs, podrás usar jigdo-lite para actualizarlos. En la siguiente sección trataremos la actualización de los ISOs.
Primero, instalar el paquete jigdo-file:
# apt-get install jigdo-file |
Jigdo está en continuo desarrollo. Son constantes los arreglos de fallos y las mejoras, por lo que, si usas una versión estable o de comprobación, descarga jigdo-file desde http://packages.debian.org/unstable/utils/jigdo-file.html. Al 8 de Febrero de 2003 va por la versión 0.6.9. Esta es la versión utilizada para los ejemplos de este CÓMO.
Nota para los usuarios de Woody: La vesión de jigdo-lite que viene con Woody (rev1) no es capaz de descargar Sarge o Sid. Véase la Sección 6.11. Se va a incluir en la futura versión r2 de Woody una versión de jigdo 0.6.5 revisada.
Por cada imagen ISO que se quiera descargar, se necesitan los ficheros .template y .jigdo de esa imagen. Ambos ficheros siguen la misma convención de nomenclatura:
distro-arq-n.jigdo distro-arq-n.template |
siendo distro el nombre de la distro (como "sarge"), arq el de la arquitectura (como "i386") y n el número de disco (por ejemplo, "1").
Así, como sarge tiene 8 imágenes, habrá que descargar 8 ficheros .jigdo y otros 8 .template. Se pueden descargar desde http://www.debian.org/CD/jigdo-cd/. Los primeros ficheros .jigdo y .template tienen los siguientes nombres respectivamente: sarge-i386-1.jigdo y sarge-i386-1.template.
Ejecuta jigdo-lite y suminístrale el nombre del fichero .jigdo que quieres descargar. Utilizando Woody como ejemplo:
lucifer$ ls woody-i386-1.jigdo woody-i386-1.template lucifer$ jigdo-lite woodye-i386-1.jigdo Jigsaw Download "lite" Copyright 2001-2003 by Richard Atterer <jigdo@atterer.net> Getting mirror information from /etc/apt/sources.list ----------------------------------------------------------------- Images offered by `woody-i386-1.jigdo': 1: 'Debian GNU/Linux testing "Woody" - Official Snapshot i386 Binary-1 CD' (woody-i386-1.iso) Further information about `woody-i386-1.iso': Generated on Fri, 7 Feb 2003 20:31:28 -0700 ----------------------------------------------------------------- If you already have a previous version of the CD you are downloading, jigdo can re-use files on the old CD that are also present in the new image, and you do not need to download them again. Mount the old CD ROM and enter the path it is mounted under (e.g. `/mnt/cdrom'). Alternatively, just press enter if you want to start downloading the remaining files. Files to scan: |
Si suspendieses jigdo-lite con [Ctrl+Z] (no lo hagas; yo te diré lo que se vería) y mirases la salida de ls, verías en el directorio un nuevo fichero llamado woody-i386-1.jigdo.unpacked. Eso demuestra que los ficheros .jigdo están comprimidos con gzip. Este fichero no es más que una versión descomprimida del fichero .jigdo.
Ahora jigdo-lite nos informa de que si tenemos una versión anticuada de nuestro primer CD de woody y queremos actualizarla, debemos proporcionarle la ruta al CD. Así es como se actualizan las imágenes ISO (o se completan las descargas incompletas). Como hemos supuesto que estás pratiendo de cero y no tienes todavía ISOs de Debian, no tenemos nada que escanear. Trataremos esta cuestión en la Sección 5; por tanto, simplemente pulsa <INTRO>.
Verás:
----------------------------------------------------------------- The jigdo file refers to files stored on Debian mirrors. Please choose a Debian mirror as follows: Either enter a complete URL pointing to a mirror (in the form `ftp://ftp.debian.org/debian/'), or enter any regular expression for searching through the list of mirrors: Try a two-letter country code such as `de', or a country name like `United States', or a server name like `sunsite'. Debian mirror [http://linux.csua.berkeley.edu/debian/]: |
jigdo-lite tiene la elegancia de emplear el mismo servidor de réplica que tú usas para las actualizaciones de Debian (puede que te hayas dado cuenta de que jigdo-lite ha echado un vistazo a /etc/apt/sources.list en el último pantallazo) sacándolo de /etc/apt/sources.list. Si quisieses usar un servidor de réplica distinto tendrías que especificarlo aquí de acuerdo con las instrucciones. Si el presentado es el servidor que quieres usar, pulsa <INTRO>. Jigdo-lite creará un fichero ~/.jigdo-lite en tu directorio de inicio.
Si el fichero .jigdo que estás usando hace referencia a un paquete que debe descargarse desde un servidor no estadounidense, jigdo-lite pedirá un servidor de Debian externo a Estados Unidos. El mensaje mostrado, así como la respuesta del usuario serán muy similares al diálogo sobre el servidor de réplica que se muestra en el párrafo anterior (para los servidores de réplica estadounidenses).
----------------------------------------------------------------- The jigdo file also refers to the Non-US section of the Debian archive. Please repeat the mirror selection for Non-US. Do not simply copy the URL you entered above; this does not work because the path on the servers differs! Debian non-US mirror [http://linux.csua.berkeley.edu/debian-non-US//]: |
Jigdo-lite apuntará la elección en el fichero ~/.jigdo-lite. Sin embargo, si la imagen que estás descargando no contiene software externo a Estados Unidos, no se mostrará este diálogo.
Si quieres cambiar los servidores de réplica predeterminados para futuras ejecuciones de jigdo, se puede editar el fichero ~/.jigdo-lite para cambiar estas dos líneas:
debianMirror='http://un-servidor-de-replica/debian/' nonusMirror='http://otro-servidor-de-replica/debian-no-EEUU/' |
Tras indicar el o los servidores de réplica, jigdo-lite comenzará a descargar los ficheros para ensamblar la imagen ISO:
Not downloading .template file - `woody-i386-1.template' already present ----------------------------------------------------------------- Merging parts from `file:' URIs, if any... Found 0 of the 826 files required by the template Will not create image or temporary file - try again with different input files --09:35:12-- http://linux.csua.berkeley.edu/debian/pool/main/p/pack/pack_3.10-1_i386.deb => `woody-i386-1.iso.tmpdir/linux.csua.berkeley.edu/debian/pool/main/p/pack/pack_3.10-1_i386.deb Resolving linux.csua.berkeley.edu... done. Connecting to linux.csua.berkeley.edu[128.32.112.231]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1,911,624 [application/x-debian-package] 19% [======> ] 378,304 149.87K/s ETA 00:09 |
Aparecerán muchos mensajes en la pantalla; si esto te resulta confuso, consulta la Sección 6.12. Mientras jigdo-lite descarga los paquetes, cambia a otra consola (o abre otro terminal xterm) y haz un ls en el directorio desde el que estás ejecutando jigdo-lite. Ahora debería haber 6 ficheros en el directorio:
woody-i386-1.iso.list
woody-i386-1.iso.tmp
jigdo-file-cache.db
woody-i386-1.iso.tmpdir/
woody-i386-1.jigdo
woody-i386-1.jigdo.unpacked
woody-i386-1.template
El directorio woody-i386-1.iso.tmpdir/ contiene todos los paquetes de Debian que jigdo va descargando. Cada poco tiempo el directorio se vacía y sus ficheros se escriben en woody-i386-1.iso.tmp, que es una versión incompleta y temporal de la imagen ISO que se quiere descargar. Date cuenta de que woody-i386-1.iso.tmp no aparecerá hasta la primera vez que se vacíe el directorio woody-i386-1.iso.tmpdir/.
jigdo-file-cache.db es un fichero Berekeley DB que contiene los md5sums de todos los ficheros leídos cuando el usuario contestó a la pregunta Files to scan:. Se describe en la Sección 7.3.
Llegados a este punto, vete a jugar un poco al Quake III, porque la descarga lleva algo de tiempo (puede que prefieras jugar en otra máquina, porque jigdo hace un uso muy intenso del disco cuando limpia el directorio al fichero .iso.tmp). En algún momento, terminará la descarga y aparecerá:
FINISHED --13:32:58-- Downloaded: 7,469,872 bytes in 9 files Found 9 of the 9 files required by the template Successfully created `woody-i386-3.raw' ----------------------------------------------------------------- Finished! The fact that you got this far is a strong indication that `sarge-i386-3.raw' was generated correctly. I will perform an additional, final check, which you can interrupt safely with Ctrl-C if you do not want to wait. OK: Checksums match, image is good! |
Presumiblemente, has leído la última sección, seguido las instrucciones, grabado en CD los ficheros ISO recién creados y te sientes agusto y confuso. Tarde o temprano se actualizarán algunos paquetes y querrás regalar tus viejos CDs a algún novato en la fiesta local de instalación de LUG y grabarte un nuevo juego de CDs actualizados. Ya que estás en camino de convertirte en un gurú de jigdo, no profundizaremos tanto en detalles penosos como lo hemos hecho en la última sección.
El primer paso consiste en descargar de nuevo los ficheros .jigdo y .template de las imágenes que quieres actualizar. Quizá te preguntes para qué descargarlos por segunda vez. El motivo es que la imagen actualizada que quieres descargar habrá cambiado; se habrán añadido o quitado ficheros, pero aunque no fuese así, los paquetes o ficheros actualizados tendrán un checksum distinto del que se contempla en los ficheos .jigdo y .template utilizados la primera vez que descargaste las imágenes.
Así las cosas, o tienes en la mano un CD de Debian anticuado o tienes en el disco duro imágenes obsoletas de CDs de Debian. Veamos los pasos para conseguir un fichero ISO actualizado. Si tienes un disco, ponlo en la unidad de CD y móntalo.
$mount /cdrom |
Por otra parte, si lo que tienes es un fichero ISO y lo quieres actualizar, móntalo como dispositivo loop (puede que para ello tengas que ser root). Quiero actualizar mi imagen de Woody porque sé que se han hecho algunas actualizaciones sobre seguridad:
# mount -o loop woody-i386-1.iso /mnt |
Ahora se ejecuta jigdo-lite con el fichero .jigdo como argumento:
$ jigdo-lite woody-i386-1.jigdo ----------------------------------------------------------------- Jigsaw Download "lite" Copyright 2001-2002 by Richard Atterer <jigdo@atterer.net> Loading settings from `/home/p/.jigdo-lite' ----------------------------------------------------------------- Images offered by `woody-i386-1.jigdo': 1: Debian GNU/Linux 3.0 r0 Woody - Official i386 Binary-1 CD (debian-30r0-i386-binary-1.iso) Further information about `debian-30r0-i386-binary-1.iso': Generated on Thu, 18 Jul 2002 14:34:12 +0100 ----------------------------------------------------------------- If you already have a previous version of the CD you are downloading, jigdo can re-use files on the old CD that are also present on the new image, and you do not need to download them again. You found the secret message; you're a very careful reader. Mount the old CD ROM and enter the path it is mounted under (e.g. `/mnt/cdrom'). Alternatively, just press enter if you want to start the download of any remaining files. You can also enter a single digit from the list below to select the respective entry for scanning: 1: /mnt Files to scan: |
jigdo-lite nos pide la ubicación del CD montado (si se está actualizando un CD) o la del fichero ISO montado vía loop (si lo que se usa es un fichero ISO). Yo tengo un fichero ISO montado vía loop en /mnt; por lo tanto introduciré /mnt. Quien esté actualizando un CD debe introducir el directorio de montaje del CD, que casi siempre es /cdrom. En cualquier caso jigdo-lite evaluará el directorio del medio montado, identificará los ficheros que necesitan actualización y reutilizará los que no la precisan. Se puede ver algo similar a esto:
Files to scan: /mnt/other Not downloading .template file - `woody-i386-1.template' already present jigdo-file: Output file `debian-30r0-i386-binary-1.iso' already exists - delete it or use --force jigdo-file failed with code 3 - aborting. |
¿Qué ha ocurrido? En realidad, he querido mostrarlo, porque te toparás con esto tarde o temprano. Estoy actualizando un fichero ISO, pero la imagen atrasada está en el mismo directorio en que trabajo. jigdo-lite quiere crear un fichero llamado woody-i386-1.iso pero ya hay un fichero con ese nombre en el directorio actual (la imagen obsoleta). jigdo-lite se niega a destruir ese fichero, por lo que da un error y me hace saber que puedo borrarlo o bien hacer uso del modificador --force para reemplazarlo. También se puede renombrar o mover el fichero, pero supongo que jigdo-lite da por sentado que ya sabemos eso. :-)
No te importe renombrar o mover el fichero de imagen porque está montado vía loop. Por debajo, el sistema de ficheros usa inodos y, aunque se mueva o renombre el fichero, el inodo no varía, manteniendo su identidad frente al sistema de archivos; de esa forma no se va a dañar el sistema de ficheros montado bajo /mnt. Tampoco afecta al sistema de ficheros montado el hecho de borrar el fichero ISO: sólo se sesaloja un inodo de fichero cuando su contador de referencia es cero; al montar a imagen ISO, el contador de referencia aumenta, por lo que, en realidad, el fichero sólo se borra después de haber ejecutado el comando rm y haber desmontado el dispositivo loop. Los que estais actualizando el CD no teneis que preocuparos por nada de esto. :-)
Yo voy a renombrar el fichero ISO a woody-i386-1.iso.old y a ejecutar jigdo-lite de nuevo. Probemos otra vez:
$ jigdo-lite woody-i386-1.jigdo ----------------------------------------------------------------- Jigsaw Download "lite" Copyright 2001-2002 by Richard Atterer <jigdo@atterer.net> Loading settings from `/home/p/.jigdo-lite' ----------------------------------------------------------------- Images offered by `woody-i386-1.jigdo': 1: Debian GNU/Linux 3.0 r0 Woody - Official i386 Binary-1 CD (debian-30r0-i386-binary-1.iso) Further information about `debian-30r0-i386-binary-1.iso': Generated on Thu, 18 Jul 2002 14:34:12 +0100 ----------------------------------------------------------------- If you already have a previous version of the image you are downloading, jigdo can re-use files on the old image that are also present on the new image, and you do not need to download them again. Mount the old CD ROM and enter the path it is mounted under (e.g. `/mnt/cdrom'). Alternatively, just press enter if you want to start the download of any remaining files. You can also enter a single digit from the list below to select the respective entry for scanning: 1: /mnt Files to scan: /mnt Not downloading .template file - `woody-i386-1.template' already present ... Found 1200 of the 1224 files required by the template ... |
jigdo-lite recuerda que yo quería evaluar /mnt y me informa de que ese es el directorio que va a usar si pulso 1, y que puedo cambiar de opinión introduciendo otro directorio. Como soy muy malo, teclearé otra vez el mismo nombre de directorio.
Las elipses representan texto que cambia rápidamente. La primera es una lista dinámica de los ficheros que jigdo-lite está escaneando. La segunda indica el progreso de escritura del fichero woody-i386-1.iso.tmp. Cuando jigdop-litte termina de evaluar los ficheros y de escribir el fichero ISO temporal, muestra lo siguiente:
Copied input files to temporary file `woody-i386-1.iso.tmp' - repeat command and supply more files to continue ----------------------------------------------------------------- If you already have a previous version of the image you are downloading, jigdo can re-use files on the old image that are also present on the new image, and you do not need to download them again. Mount the old CD ROM and enter the path it is mounted under (e.g. `/mnt/cdrom'). Alternatively, just press enter if you want to start the download of any remaining files. You can also enter a single digit from the list below to select the respective entry for scanning: 1: /mnt Files to scan: |
Como lo normal es que no quieras escanear otro directorio que aquel en que está montado vía loop el fichero ISO (o el CD), pulsa <INTRO>. A continuación jigdo-lite preguntará por los servidores de réplica que quieres usar, como hizo la primera vez que descargaste la imagen ISO. Ya has contestado antes a estas cuestiones, pero si no te acuerdas puede que quieras echar un vistazo a la Sección 4.4.
En este momento verás a jigdo-lite haciendo su magia. Era fácil, ¿no es cierto?
Las preguntas precedidas de una fecha indican cuestiones sensibles al tiempo (preguntas relativas a una determinada situación temporal). Si ves alguna de estas prguntas y aprecias que la situación temporal ha cambiado, por favor, ponte en contacto conmigo y házmelo saber para que puede eliminar la pregunta de este mini-CÓMO.
Con un editor de textos, abre el fichero ~/jigdo-lite (o jigdo-lite-settings.txt en la versión para Microsoft Windows) y localiza la línea que empieza con "wgetOpts". Se pueden añadir a la línea los siguientes modificadores:
-e ftp_proxy=http://PROXY-LOCAL:PUERTO/ -e http_proxy=http://PROXY-LOCAL:PUERTO/ --proxy-user=USUARIO --proxy-passwd=CONTRASEÑA
Por supuesto, hay que introducir los valores reales del serivodr proxy. Las últimas dos opciones sólo son necesarias si el servidor proxy exige autentificación mediante nombre y contraseña. Hay que añadir los modificadores al final de la línea wgetOpts, antes del carácter final '. Todas las opciones deben estar en una sola línea.
Una alternativa bajo Linux es establecer las variables de entorno ftp_proxy y http_proxy, por ejemplo en el fichero /etc/environment o en ~/.bashrc.
Por supuesto que esto no debería pasar, pero por varios motivos puede que te encuentres en una situación en que tienes un gran fichero ".iso.tmp" generado mientras que jigdo-lite parece tener problemas insistiendo continuamente en que pruebes a reinciar la descarga. En este caso se pueden intentar varias cosas:
Reiniciar la descarga pulsando, simplemente <INTRO>. Quizá algunos ficheros no se hayan podido descargar debido a tiempos de espera excedidos u otros errores transitorios -- se realizará otro intento de descargar los ficheros que falten.
Probar con un servidor de réplica distinto. Algunos servidores de réplica de Debian no están perfectamente sincronizados -- puede que otro servidor conserve todavía ficheros que ya han sido eliminados en el que tú habías especificado o, al contrario, tenga ya actualizados ficheros que aún no lo están en el tuyo.
Obtener las partes que faltan de la imagen usando rsync. Lo primero que hace falta es encontrar la URL rsync adecuada para la imagen que se está descargando: Elige un servidor que ofrezca acceso rsync a las imágenes estable o de pruebas, e indica la ruta y nombre de fichero adecuados. Se pueden obtener listas de directorios con comandos como rsync rsync://cdimage.debian.org/debian-cd/.
Después renombra el fichero remporal de jigdo-lite quitándole la extensión ".tmp" y pasa a rsync tanto la URL remota como el nombre del fichero local: rsync rsync://server.org/path/binary-i386-1.iso binary-i386-1.iso. Quizá te convenga usar los modificadores -verbose y -progress de rsync para ver mensajes de estado, así como block-size=8192 para aumentar su velocidad.
Aunque todo esto falle, todavía no se pueden considerar perdidos los datos que tengas descargados. Bajo Linux puedes montar vía loop el fichero .tmp para acceder a los paquetes que ya han sido descargados y reutilizarlos para generar desde un nuevo fichero jigdo (como la imagen de la prueba diaria si la descarga fallida era una imagen de pruebas). Para ello, ejecuta los siguientes comandos como root desde el directorio en que se encuentra la descarga fallida:
mkdir mnt; mount -t iso9660 -o loop *.tmp mnt |
He venido encontrando problemas para que las traducciones de este CÓMO se entregasen a editores LDP no ingleses.
El editor LDP alemán, Marco Budde <Budde@tu-harburg.de>
rechaza la traducción alemana porque está escrita en Docbook en lugar de
en Linuxdoc, y eso que Docbook es el lenguaje SGML preferido para LDP. Es
una vergüenza que tengamos gente en la comunidad de código abierto que
sabotea nuestra comuidad desde dentro.
El editor LDP portugués, Alfredo Carvalho <ajpc@poli.org>
, ha ignorado por
completo my oferta de traducción portuguesa.
Si deseáis tener documentos LDP en estos idiomas, os apremio para que escribáis a estos editores y les pidáis que sean más responsables a la hora de aceptar documentos traducidos. Mientras tanto, podéis descargar estas traducciones de mi web personal, http://www.dirac.org/linux/debian/jigdo.
La velocidad de descarga se puede incrementar usando un servidor HTTP en lugar de FTP - FTP no es un protocolo muy eficiente para descargar muchos ficheros pequeños. Además, quizá quieras actualizar a la última versión de wget, que soporta conexiones HTTP persistentes, lo que supone un ligero aumento de velocidad.
Por desgracia, incluso con conexiones HTTP persistentes, la velocidad de descarga no será tan alta como la de un solo fichero ISO. Esas velocidades sólo se alcanzan con entubamiento HTTP (HTTP a través de una tubería o pipe) - la aplicación de interfaz gráfica de jigdo soportará entubamiento.
Si la descarga se interrumpe, todo lo que hay que hacer es rearrancar jigdo-lite y pulsar <INTRO> ante todas las preguntas; jigdo-lite continuará donde lo dejó.
Puede que te encuentres con que el fichero .jigdo que has descargado está estropeado. No es frecuente, pero a veces pasa al mover objetivos como las versiones de prueba o inestable de Debian.
Si el fichero .jigdo está estropeado, hay que descargar uno nuevo en cuanto haya uno bueno disponible, pero no será necesario descargar de nuevo todos los datos ISO.
Se puede usar el mismo truco que explicamos para actualizar una imagen ISO, consistente en montar la imagen vía loop. La diferencia es que no existe un fichero .iso terminado con el que empezar, pero el fichero .iso.tmp también es una imagen ISO y se puede usar para terminar la descarga sin tener que volver a descargar todos los datos que ya lo estaban cuando el fichero .jigdo deteriorado causó la detención de jigdo-lite. Sólo hay que montar sobre /mnt y vía loop el fichero .iso.tmp y, con el nuevo y correcto fichero .jigdo, arrancar jigdo-lite e indicarle que escanee /mnt. No debe olvidarse renombra o mover el fichero .iso.tmp porque jigdo-lite querrá crear un fichero con el mismo nombre en ese directorio.
Por supuesto; el proceso es idéntico a la descarga de imágenes de CD. Lo único distinto que hay que hacer es descargar los ficheros .jigdo y .template para DVD en lugar de para CD. Los ficheros .jigdo y .template para DVD se encuentran en http://www.debian.org/CD/jigdo-cd/.
Date cuenta de que se necesita Linux 2.4 o posterior para crear ficheros de tamaño de DVD. Bajo Windows, por el momento no se pueden crear imágenes de tamaño DVD porque la librería C++ del puerto mingw gcc todavía no soporta ficheros grandes.
Gracias a Gordon Huff y David Anselmi ahora sabemos que la respuesta es "sí puedes". Y lo que es más importante: Gordon ha dado una buena razón por la que querrías hacer esto en primer lugar. Parafraseando a Gordon:
Amigos míos, Win98 dispone de una *agradable* conexión por cable. Llego por la mañana, arranco jigdo (más de uno, en realidad) y luego me voy a la tienda, recojo la planta de kiwi, enciendo las luces y el árbol de Navidad, arreglo el árbol, encargo y parto una pizza y me ilusiono con la antena parabólica.
Me marcho de casa de mis amigos con algunos iso.tmps en CDs regrabables. Cuando llego a casa, uso los isos que no han terminado para actualizar mi jigdo en casa, que tien conexión por marcado.
Jigdo funciona bien: el fichero .iso.tmp se crea al principio con el tamaño final, pero se rellena con bytes de cero. Posteriormente se van reemplazando distintas partes con los datos descargados.
Se puede ver el progreso de jigdo mirando los mensajes "Found X of the Y files required by the template" que se muestran de vez en cuando. El segundo valor Y debe ir decreciendo. Cuando alcanza el valor cero, la descarga ha terminado.
Si estás usando Potato o Woody: Debido a un pequeño cambio en jigdo, la versión de jigdo-lite que viene con Potato y Woody (r0 y r1) no puede descargar imágenes de Sarge ni de Sid. Los paquetes jigdo-file de Sarge (0.7.0-2) y de Sid (0.7.0-2) sí pueden descargar imágenes Sarge y Sid. También hay una versión arreglada de jigdo-file que se ha entregado para su inclusión con Woody r2 y se espera qu esté disponible cualdo salga la r2. De todas formas, debido a los arreglos de errores y a las mejoras, se te insta a usar jigdo-file desde Sarge o sid.
Si estás usando Sarge o Sid: Puede que necesites ayuda. Busca en los archivos de la lista de correo de debian-cd y, si eso no te soluciona el problema, deberías enviarles un petición de ayuda (Sección 7.4).
jigdo-lite utiliza wget, y la salida de éste puede llegar a ser muy descriptiva, pero se puede reducir añadiendo --non-verbose al modificador wgetOpts del fichero ~/.jigdo-lite. Si se quieren suprimir todos los mensajes de wget, ha de usarse --quied en el modificador wgetOpts.
Ciertamente. Si tienes interés en Potato o Woody bajo Microsoft Windows, old SunOS, HP-UX e IRIX puedes usar jigdo-easy. Mírate las secciones 7.1 y 7.4.
Se puede descargar Potato, Woody, Sarge o Sid bajo Microsoft Windows: jigdo-lite se ha versionado para esa plataforma y se puede descargar del sitio principal de jigdo (Sección 7.4).
En MS Windows te puedes encontrar con que jigdo-lite descargue algunos ficheros pero luego sea incapaz de leer su contenido, presentando el mensaje de error "No existe el fichero o directorio".
Parece que esto pasa cuando la longitud de los nombres de fichero que procesa jigdo excede de cierto límite. La solución está en mover la descarga incompleta retrocediendo en el árbol de directorios lo más cerca posible del nivel superior de la unidad.
Al crear imágenes de DVD bajo Microsoft Windows con jigdo-win, debes tener en cuenta que existe un límite de 2Gb en el tamaño de los ficheros. Esto se debe a la librería C++ del compilador mingw32 que se ha usado para compilar jigdo-win. Aparentemente, la librería no tiene soporte para ficheros grandes debido a un descuido de sus desarrolladores. Esto significa que el límite de tamaño de 2Gb existe bajo NTFS.
Es de esperar que la limitación se corrija en futuras versiones de ming32.
jigdo-easy, por Anne Bezemer, es una bifurcación de jigdo-lite exportable a un rango más amplio de sistemas, incluído Microsoft Windows, old SunOS, HP-UX e IRIX). También es más fácil de usar que jigdo-lite pero, debido a las modificaciones sufridas por jigdo, sólo funciona con Potato y Woody. jigdo-easy no es capaz de descargar Sarge ni Sid. Véanse las secciones 7.4 y 6.13.
Actualmente se está trabajando en una interfaz GTK+ pra jigdo. Todavía no es completamente funcional, pero estará disponible en algún momento. Habrá clientes con interfaz gráfica para Linux y para Windows.
La caché contiene los valores md5sum de los ficheros leidos cuando se introdujo el nombre de un directorio ante el mensaje Files to scan:. Si se hace que jigdo-file escanee el mismo directorio por segunda vez, lo hará mucho más rápidamente.
Esto podría ser útil en el siguiente caso: rev0 se actualiza a rev1. Al crear las imágenes de CD de rev1, puede que algunos paquetes que antes estaban en el CD n ahora se encuentren en el CD n+1 o viceversa. Si dispones de una conexión especialmente lenta (por ejemplo, un módem), intentarás evitar una nueva descarga de estos paquetes. Para ello, al descargar la nueva versión del CD n harás que jigdo-lite evalúe o escanee los tres CDs n-1, n y n+4 (o incluso los 8 si quieres estar seguro al 100%).
Si haces que jigdo-lite escanee una y otra vez los mismos CDs al actualizar cada uno de las 8 imágenes, la caché evitará que se lean todos los datos tantas veces.
La caché es mucho más importante a la hora de generar ficheros jigdo, porque no interesa que jigdo-file lea los 50Gb del servidor de réplica Debian cada fichero jigdo que genera.
Este CÓMO se está terminando, pero he pensado que debería darte algunos enlaces y referencias para aprender más acerca de las herramientas jigdo y cómo funcionan.
Es el sitio web de jigdo. Deberías visitarlo; contiene un montón de información sobre puertos, clientes de interfaz gráfica y todo lo que, bajo el sol, guarda relación con jigdo.
La página de Debian sobre jigdo-easy (Sección 7.1).
La página principal de Debian sobre jigdo.
Si usas Potato o deberías actualizar jigdo-file a la versión 0.7.0-2, que viene con la versión de pruebas o inestable (Sección 6.11).
Se puede usar esta página para buscar los archivos de la lista de correo de debian-cd.
Página de suscripción para la lista de correo de debian-cd.