p@dirac.org
Copyright © 2001 por Peter Jay Salzman
v0.104, 2002-07-24
Originalmente, iba a agradecer al autor de jidgo, Richard Atterer, sólo por escribir jidgo. Cualquiera que haya tratado de usar el PIK de Debian (o peor, que haya descargado ISOs enteros de Debian) sabrá porque. Sin embargo, mis agradecimientos tienen que ir más lejos. Este CÓMO comenzó como algunas páginas web que escribí sobre mi experiencia con jidgo. Richard se tomó el tiempo de enviarme por email extensas correcciones, aclaraciones y respuestas a dudas que yo tenía con jidgo todavía. En el proceso de actualización de las páginas web y su transformación en un CÓMO, él ya había leído mi trabajo muchas veces. Richard es obviamente un desarrollador que no sólo se preocupa por su trabajo, sino que se preocupa sobre la gente que lo usa. Tristemente, ésto es algo que se está haciendo menos común en éste ajetreado mundo en el que vivimos. Gracias, Richard, y continúa el excelente trabajo.
No existen traduccions todavía. Si quieres traducir éste CÓMO a otro lenguaje, por favor contáctame en <p@dirac.org>. Al 24 de Julio de 2002, existen traducciones al Alemán y al Portugués en progreso, pero no están disponibles aún.
La última versión estable se encuentra en el Proyecto de Documentación Linux: http://linuxdoc.org/docs.html en la sección mini-HOWTO. Si quieres ver el trabajo en progreso (puede ser bastante feo si me atrapas antes de usar un corrector de ortografía) puedes descargar la versión "bleeding edge" de éste documento de mis propias páginas en http://www.dirac.org/linux/debian.
Éste documento es copyright (c) 2001 Peter Jay Salzman, <p@dirac.org>. Se otorga permiso para copiar, distribuir y/o modificar éste documento bajo los términos de la GNU Free Documentation License, Version 1.1, excepto por las cláusulas que enumero en el siguiente párrafo. Detesto los CÓMOS que incluyen la licencia; es un asesino de árboles. Puedes leer la GNU FDL en http://www.gnu.org/copyleft/fdl.html.
Si quieres crear un trabajo derivado o publicar éste CÓMO con propósitos comerciales, contáctame primero. Ésto me dará la oportunidad de darte la versión más reciente. También apreciaría ya sea una copia de lo que sea que estés haciendo o una espinaca, ajo, hongo, feta de queso y una pizza de cogollo de alcaucil.
Si quieres tu propio juego de CDs de Debian existen muchas formas de obtenerlos. Una forma s comprándoselos a vendedores que vendan CDs de Debian. Ésto tiene algo de mérito ya que algunos de los vendedores donan dinero al proyecto Debian. Tus donaciones ayudan a que Debian esté en la vuelta por un largo tiempo.
Otra forma de obtener un juego de CDs de Debian es quemar tu propio juego. Ésto implica primero obtener una imágen ISO y luego quemar ésa imágen ISO en un CD vírgen. Antes de jidgo, habían dos formas de crear CDs de Debian:
Descargar el ISO entero
Usar el juego de seudo-imágen (PIK = Pseudo-Image Kit)
Éste documento es sobre la nueva y mejor forma de obtener imágenes ISO de Debian, usando una herramienta llamada jidgo. De hecho, el uso de PIK es ahora desaprobado. El método canónico de obtener imágenes ISO de Debian es con jidgo.
Hay servidores de réplica (mirror) que ofrecen descargas http y ftp de ISOs de Debian. El problema es que existen muy pocos sitios de réplica, y su ancho de banda no puede soportar a cada uno que quiere ISOs de Debian. Por ejemplo, fsn.hu supuestamente ha saturado la conección de su proveedor. ¡El tráfico saliente alcanza unos pocos terabytes por mes!
Además, Debian testing y Debian unstable se actualizan a menudo. Tus ISOs se desactualizarán el mismo día que los descargues a menos que encuentres alguna forma engañosa de actualizarlos como montar el ISO en un dispositivo loopback y usar rsync (que es lo que hace PIK). Así que si quieres imágenes ISO actualizadas, debes descargar un nuevo juego de imágenes ISO cada día. Claramente, ¡ésta no es la forma con la que quieres obtener ISOs de Debian!
Incluso si quieres descargar las imágenes ISO estables, aún así ellas se actualizan cada algunos meses. Descargar las imágenes ISO te dará imágenes actualizadas por algunos meses, pero cada vez que una nueva revisión de Debian stable es liberada, tendrás que recorrer el penoso proceso de descargar el kit de ISOs completo desde cero. Éste no es un buen uso de tu tiempo y de los recursos del servidor de réplica.
El PIK soluciona los problemas de la descarga de imágenes ISO enteras. Las descargas son rápidas, y el PIK usa rync para actualizar sólo aquellas porciones de una imágen ISO que tienen que ser actualizadas, así que es una forma eficiente de mantener tu juego de ISOs actualizado. Sin embargo, hay algunos problemas fuertes con el PIK:
Es díficil de usar y no muy amigable con el usuario.
No puedes usar el PIK para descargar juegos de ISOs de testing y unstables.
El PIK confía en rsync el cual hace uso intensivo del CPU del servidor. Si demasiadas personas usan PIK con el mismo servidor, éste echaría humo. Incluso si el PIK es hecho más amigable para el usuario, es inaceptablemente no amigable para los servidores de réplica.
El PIK usa rsync, el cual es bloqueado por muchos cortafuegos más estrictos. Así que incluso si quieres usar ésa bella y rápida red coporativa en el trabajo, puedes tener problemas al usar el PIK.
Cada imágen tiene que ser almacenada en el servidor. Ésto era correcto en los viejo buenos días de potato, cuando las 28 imágenes de CD tomaban "sólo" 17 GB. Comenzando con woody, los 96 CDs necesitan 57 GB más o menos. Ahora imagina que queremos ofrecer también DVDs y ésa cifra se duplica.
Jigdo (que proviene de "Jigsaw Download") fué escrito por Richard Atterer y es liberado bajo la GNU GPL. Es una herramienta que permite la descarga y actualización eficiente de una imágen ISO. Cualquier imágen ISO. Jidgo no es específico de Debian, sin embargo Debian lo ha elegido como el método preferido para descargar imágenes ISO. La herramienta jidgo viene con dos utilidades: jidgo-file la cual prepara una imágen ISO para su descarga y jidgo-lite la cual se usa para descargar imágenes ISO que fueron preparadas por jidgo-file.
Jigdo no crea imágenes ISO. Sólo las prepara para su descarga y también las descarga. La imágen ISO tiene que ser creada antes, y éso es hecho usualmente con mkisofs o debian-cd.
Jigdo soluciona todos los problemas con los otros dos métodos para obtener imágenes ISO de Debian:
Es mucho más rápido que descargar toda la imágen ISO.
A diferencia de descargar toda la imágen ISO, puede tomar una imágen de CD desactualizada (o una imágen ISO desactualizada montada por loop), descargar sólo los archivos que han cambiado desde que el CD (o la imágen ISO) fue creado y crear un nuevo ISO actualizado. Muy similar a como uno usa cvs para actualizar el código fuente.
jigdo-lite es mucho más fácil de usar que el PIK.
jigdo-lite usa wget que por defecto usa http para transferir archivos. El PIK usa rsync. Mientras que rsync puede ser bloqueado por algunos cortafuegos, los únicos cortafuegos que bloquean http son aquellos desde los cuales no deberías estar usando jidgo en primer lugar. Casi nunca tendrás problemas de cortafuegos con jidgo-lite.
Claramente, jigdo es el mejor método para obtener imágenes ISO de Debian.
No tienes que saber éste material para usar jidgo, pero éste puede ayudar a desmitificar lo que jidgo hace. Si no estás interesado en los detalles, avanza rápidamente a Sección 4, "¿Cómo Uso Jidgo?".
Existen dos componentes de jidgo:
jigdo-file: Prepara un ISO para su descarga (usado por la persona que ofrece el ISO)
jigdo-lite: Descarga el ISO (usado por la persona que descarga el ISO)
Una imágen de CD es un sistema de archivos llamado iso9660, pero para ésta discusión podemos seguramente hablar sobre una imágen de cd como siendo un gran archivo llamado "imágen ISO" (más o menos 650M) que contiene archivos en varios offsets. Por ejemplo, si un CD contiene un archivo de 567 bytes llamado LÉEME, la imágen ISO puede contener el contenido del archivo LÉEME entre los offsets 20480000 y 20480567. Puedes visualizar una imágen de CD como:
-------------------------------------------------------------------- Imágen ISO: |xxxx| archivo-0 |xx| archivo-1 |xxx| archivo-2 |x| archivo-3 |xxxx| -------------------------------------------------------------------- |
Las áreas "x" de la imágen contiene cosas como información de directorio, relleno de ceros, nombre de disco, bloque de inicio, etc.
jidgo-file toma dos cosas como entrada: la imágen completa del CD (así que el ISO ya tiene que haber sido creado) y un conjunto de archivos que pueden o no estar en la imágen. Aquí está una visualización de la entrada de jidgo-file:
-------------------------------------------------------------------- Imagen ISO: |xxxx| archivo-0 |xx| archivo-1 |xxx| archivo-2 |x| archivo-3 |xxxx| -------------------------------------------------------------------- ------------- ------------- ------------- ------------- Archivos Ordinarios | archivo-0 | | archivo-1 | | archivo-3 | | archivo-4 | ------------- ------------- ------------- ------------- |
Mediante magia, jidgo-file averigüa cuales de los archivos ordinarios están contenidos en la imágen ISO y sus offsets dentro del archivo ISO. jidgo-file genera dos archivos: un archivo ".template" y un archivo ".jidgo".
Dados una imágen ISO y un conjunto de archivos que pueden o no estar en la imágen ISO, como entrada, jidgo-file genera un archivo .template para ésa imágen ISO. Así es como luce el archivo .template:
-------------------------------------------------------- .template: |xxxx| md5-0 |xx| md5-1 |xxx|cccccccc|x| md5-3 |xxxx| -------------------------------------------------------- |
jidgo-file encontró que los archivos archivo-0, archivo-1 y archivo-3 estaban contenidos en la imágen ISO. Eliminó el contenido de ésos archivos y los reemplazó con el checksum md5 de cada archivo.
Los datos "x" (información de directorio, relleno de ceros, etc) dentro de la imágen ISO son comprimidos y escritos en el archivo .template. Finalmente, todos los archivos dentro de la imágen ISO que no fueron provistos como archivos ordinarios (como archivo-2) son también comprimidos y escritos al archivo .templae. Ésto se muestra como datos "c" en la visualización del archivo .template.
Los archivos ordinarios que fueron provistos a jidgo-file que no se hallados en la imágen ISO (como archivo-4) son ignorados.
Dados una imágen ISO y un conjunto de archivos ordinarios que pueden o no estar en la imágen ISO, como entrada, jidgo-file genera un archivo .jidgo para ésa imágen ISO. Los archivos .jidgo de Debian están comprimidos con gzip, así que tienes que usar zcat o zless para verlos. Así es como luce el archivo .jidgo cuando lo descomprimes con gunzip:
md5-0=http://algunareplica.org/file-0 md5-1=http://algunareplica.org/file-1 md5-2=http://algunareplica.org/file-2 md5-3=http://algunareplica.org/file-3 |
El archivo .jidgo simplemente provee una correspondencia entre el md5sum de un archivo dentro de la imágen ISO y el URL de descarga de ése archivo. Hay algunas otras cosas dentro del archivo .jidgo, y si miras dentro de él, verás que el archivo .jidgo tiene el mismo formato que un archivo ".ini". Debería ser auto explicativo, pero si quieres los detalles de la esencia, consulta la documentación de jidgo.
El formato mostrado arriba no es realmente lo que verías en un archivo .jidgo típico, pero es muy similar. Si miras la sección [Servers] en la parte inferior del archivo .jidgo, verás exactamente cual es la diferencia entre lo que mostré y un archivo .jidgo real.
Una vez utilices jidgo-file para preparar el ISO para descargar, cualquiera puede usar jidgo-lite para descargar el ISO. jidgo-lite descarga todos los archivos de un ISO de Debian usando wget, los agrupa y forma un ISO al vuelo.
Asumiremos que estás comenzando desde cero y que no tienes ningún ISO de Debian a mano. Una vez quemes tu primer juego de ISOs, podrás usar jidgo-lite posteriormente para actualizarlo. Cubriremos la actualización de tus ISOs en la siguiente sección.
Primero instala el paquete jidgo-file:
# apt-get install jigdo-file |
Jidgo está bajo un agresivo desarrollo. Arreglos de bugs y mejoras son constantes, así que si estás usando stable o testing, descarga desde unstable en http://packages.debian.org/unstable/utils/jigdo-file.html. Al 19 de Julio de 2002 está en la versión 0.6.8. Ésta es la versión utilizada para los ejemplos de éste CÓMO.
Para cada imágen ISO que quieras descargar necesitarás dos archivos:
El archivo .jidgo para la imágen de disco que quieres descargar.
El archivo .template para la imágen de disco que quieres descargar.
Ejemplo: Woody tiene 8 imágenes, así que tienes que descargar 8 archivos .jidgo y 8 archivos .template. Pueden ser descargar desde http://www.debian.org/CD/jigdo-cd/ y se llaman woody-i386-1.iso.jigdo, woody-i386-1.iso.template, ..., y woody-i386-8.iso.template.
Alternativamente, en lugar de descargar un archivo .jidgo y uno .template para cada imágen ISO, puedes darle a jidgo-file un URL que apunta al archivo .jidgo que necesites, como http://a.mirror/woody-i386-1.jigdo. jigdo-lite descarga los archivos .jidgo y .template al vuelo. Sin embargo, si estás un poco nervioso al usar jidgo-lite por primera vez, sólo descarga los archivos y recorreré contigo el proceso.
Ejecuta jidgo-lite y dále el archivo .jidgo de la imágen que quieres descargar. Usand Woody como ejemplo:
$ jigdo-lite woody-i386-1.iso.jigdo |
Alternativamente, si estás trabajando con un URL al archivo .jidgo en lugar de una copia del archivo .jidgo en tu disco duro, ejecuta jidgo-lite con un argumento de la URL:
$ jigdo-lite http://una.réplica/woody-i386-1.jigdo |
Verás algo como:
----------------------------------------------------------------- Jigsaw Download "lite" Copyright 2001-2002 by Richard Atterer <jigdo@atterer.net> Getting mirror information from /etc/apt/sources.list ----------------------------------------------------------------- Images offered by `woody-i386-1.iso.jigdo': 1: woody-i386-1.iso ----------------------------------------------------------------- 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. 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. Files to scan: |
Si olvidas pasarle a jidgo-lite un archivo .jidgo, él te pedirá uno (o un URL que apunta a uno).
Si suspendiste jidgo-lite con cntrl-z (no hagas ésto; te diré que verías) e hiciste un ls, encontrarás un nuevo archivo en el directorio llamado woody-i386-1.iso.jigdo.unpacked. Éste archivo es sólo una versión comprimida con gzip del archivo .jidgo.
Ahora, jidgo-lite nos está diciendo que si teníamos una versión desactualizada del CD, entonces proveamos la ruta al CD. Ya que estamos asumiendo que estás comenzando desde cero y que no tienes ISOs de Debian todavía, entonces no tenemos nada para explorar (cubriremos ésto en Sección 5). Así que sólo presiona <ENTER>.
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//]: |
jidgo-lite lo suficientemente inteligente para usar la réplica que usas para tus actualizaciones de Debian mirando el archivo /etc/apt/sources.list (puedes ver que uso linux.csua.berkeley.edu para mis actualizaciones). Si querías usar una réplica diferente, especificarías un réplica aquí. Si éste es la réplica que quieres usar, presiona <ENTER>. Jidgo-file entonces escribirá un archivo .jigdo-lite en tu directorio home.
A continuación, si el archivo .jidgo que estás usando referencia a un paquete que tiene que descargarse de un server Non-US (software obstaculizado por restricciones de exportación en US), jidgo-lite te pedirá un servidor Non-US. El mensaje mostrado (y tu respuesta) será muy similar al diálogo de la réplica descrito en párrafo anterior. La única diferencia es que tienes que especificar (o aceptar el valor por defecto) un servidor Non-US. Si la imágen ISO que vas a descargar contiene software Non-US, verás:
----------------------------------------------------------------- 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//]: |
y jidgo-lite escribirá tu elección a tu archivo $HOME/.jigdo-lite. Sin embargo, si la imágen que vas a descargar no contiene software Non-US no verás éste diálogo.
Observa que puedes redefinir las réplicas que jidgo usa para tus futuras descargas en el archivo $HOME/.jigdo-lite con las siguientes líneas:
debianMirror='http://some-mirror-to-use/debian/' nonusMirror='http://some-other-mirror/debian-non-US/' |
Después de especificar la(s) réplica(s), jidgo-lite buscará el archivo .template. Si no puede encontrar uno, él descargará un archivo .template desde la réplica. Después que encuentre el archivo .template (o después de que descargue uno), verás:
----------------------------------------------------------------- Merging parts from `file:' URIs, if any... Found 0 of the 1224 files required by the template Will not create image or temporary file - try again with different input files --13:38:08-- http://linux.csua.berkeley.edu/debian/pool/main/b/bind9/ lwresd_9.2.1-2.woody.1_i386.deb => `lwresd_9.2.1-2.woody.1_i386.deb' Resolving linux.csua.berkeley.edu... done. Connecting to linux.csua.berkeley.edu[128.32.247.238]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 157,318 [application/x-debian-package] 30% [==========> ] 47,418 113.22K/s ETA 00:00 ... |
Después que el archivo .template fue hallado (o después de que fue descargado), jidgo-lite comienza a poner paquetes en tu disco duro. Habrá un montón de mensajes flotando en tu pantalla. Si éso es confuso para tí, mira Sección 6.8. Mientras jidgo-lite es descargando los paquetes, cámbiate a otra consola (o abre otra xterm) y haz un ls en el directorio donde estás corriendo jidgo-lite. Ahora deberían haber 6 archivos en el directorio:
jigdo-file-cache.db
tmp/
woody-i386-1.iso.jigdo
woody-i386-1.iso.jigdo.unpacked
woody-i386-1.iso.list
woody-i386-1.iso.template
woody-i386-1.iso.tmp
woody-i386-1.iso.tmp no aparecerá siempre. Es una versión temporal del archivo ISO que se escribe con mucha frecuencia.
jigdo-file-cache.db es un archivo Berkeley DB que contiene md5sums de todos los archivos leídos cuando especificas un directorio en el prompt Files to scan: prompt. Es descrito más detalladamente en Sección 7.3.
tmp/ es un directorio que contiene archivos de paquetes Debian que se descargan. Por ejemplo, cuando escribo ésto, contiene:
$ ls tmp/ alsa-headers-0.5_0.5.12a-2_all.deb tkdiff_3.08-3_all.deb alsa-utils-0.4_0.4.1-9.1_i386.deb xfonts-intl-chinese-big_1.2-2.1_all.deb gnuserv_3.12.4-3_i386.deb xmanpages-ja_4.1.0.20011224-1_all.deb pilot-link_0.9.5.0-8_i386.deb xscreensaver_3.34-3_i386.deb smpeg-plaympeg_0.4.4-8_i386.deb |
Con mucha frecuencia el directorio es vaciado y los archivos son agregado a woody-i386-1.iso.tmp.
En éste punto, ve a jugar Quake III porque ésto tomará algo de tiempo (tal vez quieras jugar en una máquina diferente porque jidgo es muy intensivo con el disco cuando arma el archivo ISO). En algún punto, la descarga terminará y estarás mirando lo siguiente:
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' ----------------------------------------------------------------- ¡Terminado! El hecho de que hallas llegado hasta aquí es una fuerte indicación de que `woody-i386-3.raw' fue generado correctamente. Realizaré una verificación adicional final, la cual puede interrumpir sin ningún problema con Ctrl-C si no quieres esperar. OK: Checksums match, image is good! $ |
Presumiblemente, has leído la última sección, has seguido las instrucciones, has quemado tu archivos ISO recién creados al CD y te sientes efusivo y confuso. Tarde o temprano, algunos paquetes serán actualizado y ahora quieres donar tus viejos CDs a algún principiante en la fiesta de instalación de tu LUG local y que quemar tu mismo un juego de CDs actualizados. Ya que estás bien en el camino de convertire en un gurú de jidgo, no entraremos en los detalles penosos como lo hicimos en la última sección.
El primer paso es descargar los archivos .jidgo y .template, de nuevo, para las imágenes que quieres actualizar. Te puedes preguntar porque tienes que descargarlos por segunda vez. La razón es que la imágen actualizada que quieres bajar ha cambiado. Pueden haber sido agregados o eliminados algunos archivos, pero incluso si ése no es el caso, los paquetes o archivos actualizados tendrán un checksum diferente del checksum listado en los archivos .jidgo y .template que usaste cuando descargaste la imágen por primera vez.
En éste punto, estás ya sea sosteniendo un CD de Debian en tu mano o tienes la imágen ISO actualizada del CD en tu disco duro. Recorramos los pasos para obtener un archivo ISO actualizado. Si tienes un Cd, colócalo en tu lectora de CD y móntalo:
$ mount /cdrom |
Por otro lado, si tienes un archivo ISO que quieres actualizar, móntalo como un dispositivo loop (tal vez tengas que ser root para hacer ésto). Actualizaré mi imágen de Woody, ya que noté que Woody tubo algunas actualizaciones de seguridad:
# mount -o loop woody-i386-1.iso /mnt |
Ahora ejecuta jigdo-lite con el archivo .jigo 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. 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 está pidiendo que le demos la ubicación de tu CD montado (si estás actualizando un CD) o tu archivo ISO montado por loop (si estás usando el archivo ISO). Estoy usando un archivo ISO montado por loop en /mnt, así que ingresaré /mnt. Si estás actualizando un Cd, ingresa el directorio de montaje de tu CD, el cual probablemnte sea /cdrom. En cualquier caso, jidgo-lite explorará el directorio de tu medio montado, determinará cuales archivos tienen que actualizarse y reusará los archivos que no tienen que ser actualizados. Tal vez veas algo como:
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é sucedió? En realidad, quería mostrarte ésto porque chocarás con ésto tarde o temprano. Estoy actualizando un archivo ISO, pero el archivo imágen desactualizado está en el mismo direcotorio en el cual estoy trabajando. Jigdo-lite quiere generar un archivos woody-i386-1.iso pero ya existe un archivo con ése nombre en el directorio actual (la imágen desactualizada). Jigdo-lite no quiere destruir ése archivo, así que salta y me hace saber que puedeo ya sea borrar ése archivo o usar --force para sobreescribir el archivo. También podrías renombrar o mover el archivo, pero adivino que jigdo-lite asume que ya sabemos éso. :-)
No te intimides sobre mover o renombrar el archivo imágen por el hecho de que esté montado por loop. El sistema de archivos usa inodos bajo la capa, e incluso si mueves o renombras el archivo, el inodo sigue siendo el mismo. No dañarás el sistema de archivos montado bajo /mnt. Sobre borrar el archivo ISO, éso no dañará el sistema de archivos montado tampoco. Un inodo de archivo es desalojado sólo cuando el contador de referencia del inodo cae a cero. Montar la imágen ISO eleva el contador de referencia, así que el archivo es eliminado sólo después que se haga rm al archivo y se desmonte el dispositivo loop. Todos ustedes que están actualizando el CD no tienen de que preocuparse de nada de ésto. :-)
Renombraré el archivo ISO a woody-i386-1.iso.old y ejecutaré jigdo-lite de nuevo. Probemos de nuevo:
$ jigdo-lite woody-i386-1.iso.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.iso.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 explorar /mnt y me dice que puedo ya sea tipear 1 para explorar ése directorio o ingreso el directorio de nuevo. Ya que soy una persona perversa, ingreso el nombre del directorio de nuevo.
La elipsis representa un texto que cambia rápidamente. La primer elipsis es una lista dinámica de aquellos archivos que jigdo-lite está explorando. La segundo elipsis denota progreso en la escritura de woody-i386-1.iso.tmp. Una vez jigdo-lite termina de explorar los archivos y de escribir el archivo temporal ISO, imprime:
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: |
Ya que normalmente no tienes otra fuente de archivos para explorar que no sea tu archivo ISO montado por loop (o tu CD), presiona <ENTER>. Jigdo-lite preguntará entonces cuales réplicas quieres usar, justo como lo hizo cuando descargaste tu ISO por primera vez. Ya has respondido ésas preguntas anteriormente, pero si verdaderamente no las recuerdas, tal vez quieras leer de nuevo Sección 4.4.
En éste punto, verás a jigdo-lite trabajar con su magia. Ahora, ¿no te dije que era fácil?
Ésto se describe en http://debian.org/CD/jigdo-cd/ así como en el archivo README del paquete tar de jigdo-lite.
Si tu descarga se interrumpe, todo lo tienes que hacer es reiniciar jigdo-lite y presionar <ENTER> en todos los prompts de pregunta. Jigdo-lite comenzará donde quedó.
Tal vez encuentres que el archivo .jigdo que descargaste está roto. Es muy poco común, pero sucede de vez en cuando cuando se mueven destinos como Debian testing o unstable.
Si encuentras que tu archivo .jigdo está roto, tendrás que descargar un archivo .jigdo nuevo (cuando uno arreglado esté disponible), pero no tendrás que descargar todos los datos ISO de nuevo.
Puedes usar el mismo truco de montar por loop que usamos cuando actualizamos una imágen ISO. La diferencia es que no hay un archivo .iso terminao para comenzar con él, pero el arcivo .iso.tmp es una imágen ISO también y puede usarse para terminar la descarga sin tener que descargar de nuevo todos los datos que fueron descargados antes que se rompiera el archivo .jigdo haciendo que jigdo-lite se detuviera. Simplemente monta el archivo .tmp.iso por loop en /tmp y cuando ejecutes jigdo-lite con el archivo .jigdo arreglo, le dices a jigdo-lite que expore /tmp. No olvides renombrar o mover el archivo .tmp.iso de forma que no interfiera con jigdo-lite el cual creará un archivo .tmp.iso nuevo.
Absolutamente; el proceso es idéntico a la descarga de imágenes de CD. Lo único que tienes que hacer diferentes es la descarga de los archivos .jigdo y .template para DVD en lugar de CDs. Puedes encontrar los archivos .jigdo y .template para DVD en http://www.debian.org/CD/jigdo-cd/.
No hemos probado aún, pero debería ser posible. Probablemente encontrarías algunos archivos rellenos con "0". Si alguien lo intenta, por favor contácteme en <p@dirac.org> y cuéntame que sucedió.
Pero lo que es más importante, ¿por qué querrías hacer éso? :-)
Jigdo está funcionando bien - el archivo .iso.tmp es creado al comienzo con su tamaño final, pero relleno de bytes cero. Posteriormente, partes de él son sobreescritas con los datos descargados.
Puedes darte cuenta de que jigdo está progresando mirando los mensajes "Found X of the Y files required by the template" que son mostrados de vez en cuando. El segundo valor "Y" debería disminuir. Cuando llegue a cero, la descarga terminó.
Jigdo-lite usa wget y la salida de wget puede ser bastante detallada. Si ésto es molesto, puedes hacer que wget sea menos detallado agregando --non-verbose al switch wgetOpts en tu archivo ~/.jigdo-lite. Si quieres que wget no muestre ningún mensaje, usa --quiet en el switch wgetOpts switch.
Jigdo-easy, de Anne Bezemer, es una derivación de jigdo-lite que es portable a una gran variedad de sistemas, incluyendo Windows. Desafortunadamente está desactualizado ahora y no funciona con los archivos jigdo de Debian. La autora parece haber perdido interés en jigdo-easy y éste proyecto parece estar muerto.
No deberías usar jigdo-easy. Sin embargo, jigdo-lite ha sido portado a Windows y puede descargarse desde el sitio principal de jigdo (Sección 7.4).
Actualmente se está trabajando en una interfaz GTK+ para jigdo. No es completamente funcional todavía, pero estará disponible en algún momento. Habrá un cliente gráfico para Linux así como para Windows.
El cache contiene las md5sums de los archivos leídos cuando provees un directorio en el prompt Files to scan: si has explorado con jigdo-file el mismo directorio por segunda vez, la exploración será muy rápida.
Ésto podría ser útil en el siguiente caso: rev0 se actualiza a rev1. Con las imágenes de CD de rev1, tal vez algunos paquetes hayan sido movidos del CD n al CD n+1, o viceversa. Si posees una conección particularmente lenta (por ejemplo un módem), intentarás evitar descargar ésos paquetes de nuevo. Por ésta razón, cuando se descargue la nueva versión del CD n, tienes que dejar que jigdo-lite explore los tres CDs n-1, n y n+1 (o incluso todos los 8 CDs si quieres estar 100% seguro).
Si haces que jigdo-lite explore los mismos CDs una y otra vez mientras actualizas cada uno de las 8 imágenes de CD, el cache impedirá que sean lean muchas veces todos los datos en los CDs.
El cache es mucho más importante cuando se generan archivos jigdo, porque no querrás que jigdo-file lea toda tu réplica de Debian con 50 GB para cada archivo jigdo generado.
Éste CÓMO está llegando a su fin, pero creo que te dejaré algunos enlaces y referencias para aprender más sobre las utilidades jigdo y como funcionan.
Éste es el sitio de jigdo. Definitivamente deberías navegar éste sitio; un montón de información sobre portes, clientes gráficos y todo lo que hay bajo el sol sobre jigdo.
La página Debian de jigdo-easy. MiraSección 7.1
La página principal de Debian para jigdo.