This commit is contained in:
gferg 2006-04-12 14:28:45 +00:00
parent eed0f27948
commit 31a4d0f12a
4 changed files with 335 additions and 273 deletions

View File

@ -16,12 +16,12 @@
<othername role='middle'>Jay</othername>
<surname>Salzman</surname>
<affiliation>
<address><email>p@dirac.org</email></address>
<address><email>p@dirac.orgZZZ</email></address>
</affiliation>
</author>
<!-- year-month-day -->
<pubdate>2005-06-13 ver 1.5</pubdate>
<pubdate>2005-12-05 ver 1.8</pubdate>
<copyright>
<year>2001</year>
@ -29,16 +29,16 @@
</copyright>
<legalnotice>
<para><email>p@dirac.org</email> / <systemitem role="url">www.dirac.org/p</systemitem>.</para>
<para><email>p@dirac.orgZZZ</email> / <systemitem role="url">www.dirac.org/p</systemitem>.</para>
<para>Distributed subject to the Open Software License, version 1.1.</para>
</legalnotice>
<abstract><title>Abstract</title>
<para>Getting Debian ISOs has always been a painful, slow and supremely inefficient process.
Jigdo is a new tool for obtaining Debian ISOs in an easy, fast and very efficient manner. This
HOWTO describes why you should use jigdo, a little bit about how it works and how you use it to
get and update Debian ISOs.</para>
Jigdo is a tool for distributing and obtaining Debian ISOs in an easy, fast and very efficient
manner. This HOWTO describes why you should use jigdo, a little bit about how it works and how
you use it to get and update Debian ISOs.</para>
<para>Jigdo is a very general tool, and isn't tied specifically to Debian ISOs. The jigdo tools
can be used to make any ISO available for download in the same easy, fast and efficient manner
@ -59,14 +59,14 @@
<sect2 id="authorship"><title>Authorship and Copyright</title>
<para>This document is copyright (c) 2001 Peter Jay Salzman, <email><ulink
url="mailto:p@dirac.org">p@dirac.org</ulink></email>. Permission is granted to copy,
url="mailto:p@dirac.orgZZZ">p@dirac.orgZZZ</ulink></email>. Permission is granted to copy,
distribute and/or modify this document under the terms of the Open Software License (OSL),
version 1.1, except for the provisions I list in the next paragraph. I hate HOWTO's that
include the license; it's a tree killer. You can read the OSL at <ulink
url="http://opensource.org/licenses/osl-1.1.txt">http://opensource.org/licenses/osl-1.1.txt</ulink>.</para>
version 1.1. I hate HOWTO's that include the license; it's a tree killer. You can read the
OSL at <ulink url="http://opensource.org/licenses/osl-1.1.txt"
>http://opensource.org/licenses/osl-1.1.txt</ulink>.</para>
<para>If you want to create a derivative work or publish this HOWTO for commercial purposes, I
would appreciate it if you contact me first. This will give me a chance to give you the most
<para>If you want to create a derivative work or publish this HOWTO for commercial purposes,
I'd appreciate it if you contact me first. This will give me a chance to give you the most
recent version. I'd also appreciate either a copy of whatever it is you're doing or a
spinach, garlic, mushroom, feta cheese and artichoke heart pizza.</para>
@ -74,29 +74,36 @@
<sect2 id="acknowledgements"><title>Acknowledgements</title>
<para>Originally, I was going to thank the author of jigdo, <ulink
<para>I would like to thank the author of jigdo, <ulink
url="mailto:atterer@debian.org">Richard Atterer</ulink>, simply for writing jigdo. Anyone who
has obtained Debian ISOs by other means will know why. However, my thanks needs to go
further. This HOWTO started out as some webpages I wrote about my experience with jigdo.
Richard took the time to email me extensive corrections, clarifications and answers to
questions I had about jigdo. Since then, he has read my work many times. Richard is a
developer who not only cares about his work, but also about the people who use it. Sadly,
this is becoming less common in this busy world we live in. Thanks, Richard!</para>
has obtained Debian ISOs by other means will know why. This HOWTO started out as some
webpages I wrote about my experience with jigdo. Richard took the time to email me extensive
corrections, clarifications and answers to questions I had about jigdo. Since then, he has
read my work many times. Richard is a developer who not only cares about his work, but also
about the people who use it. Sadly, this is becoming less common in this busy world we live
in. Thanks, Richard!</para>
<para>I'd also like to thank
<ulink url="mailto:cnw@conradwood.net">Conrad Wood</ulink>,
<ulink url="mailto:mello@ajato.com.br">Elcio Mello</ulink>,
<ulink url="mailto:mramos@montevideo.com.uy">Marcelo Ramos</ulink>,
<ulink url="mailto:ipzh@163.net">Yufeng Wang</ulink>, and
<ulink url="mailto:tyamagch@bd.mbn.or.jp">Tsukasa Yamaguchi</ulink>
for translating this mini-HOWTO. I feel totally honored that they have found my words worthy
of their time and effort. Thanks, guys!</para>
<para>I'd also like to thank
<ulink url="mailto:cnw@conradwood.netZZZ">Conrad Wood</ulink>,
Elcio Mello,
<ulink url="mailto:mramos@montevideo.com.uyZZZ">Marcelo Ramos</ulink>,
Yufeng Wang,
Tsukasa Yamaguchi,
<ulink url="mailto:kozlov.y@gmail.comZZZ">Yuri Kozlov</ulink>, and
<ulink url="mailto:oguzy@comu.edu.trZZZ">Oguz Yarimtepe</ulink>
for translating this mini-HOWTO into languages other than English. I feel totally honored
that they have found my words worthy of their time and effort. Thanks, guys!</para>
<para>Lastly, I'd like to thank <ulink url="mailto:mark@panic.et.tudelft.nl">Mark van
Lent</ulink> for his kind words and much needed corrections.</para>
<para>Lastly, I'd like to thank
<ulink url="mailto:mark@panic.et.tudelft.nlZZZ">Mark van Lent</ulink>,
Gordon Huff,
David Anselmi,
<ulink url="mailto:thierry.cabuzel@skynet.beZZZ">Thierry Cabuzel</ulink>,
<ulink url="mailto:rlharris@hal-pc.orgZZZ">Russell L. Harris</ulink>, and
<ulink url="mailto:tux-master@web.deZZZ">Jens Seidel</ulink>
for kind words and corrections.</para>
</sect2>
@ -107,9 +114,11 @@
<para>I care a great deal about the people who use this document. Even mini-HOWTOs take a
long time to write, and I wouldn't have invested so much effort into something people don't
understand. If you have comments, corrections or suggestions, even in matters like writing
style, don't hesitate to email me. As long as I'm not totally swamped by my PhD dissertation
and the book I'm writing on debugging code with GDB/DDD for No Starch Press, I'll do my best
to respond to each email I receive about this mini-HOWTO.</para>
style, don't hesitate to email me. As long as I'm not totally swamped by my PhD
dissertation and the book I'm writing on debugging code with GDB/DDD for No Starch Press, I'll
do my best to respond to each email I receive about this mini-HOWTO. News flash: I've
completed my Ph.D.; now I'm swamped with job hunting. Does anyone need to hire a theoretical
physicist?</para>
</sect2>
@ -122,48 +131,57 @@
<varlistentry>
<term>German:</term>
<listitem><para>Conrad Wood <email>cnw@conradwood.net</email>.</para></listitem>
<listitem><para>Conrad Wood <email>cnw@conradwood.netZZZ</email>.</para></listitem>
</varlistentry>
<varlistentry>
<term>Portuguese</term>
<listitem><para>Elcio Mello <email>mello@ajato.com.br</email>.</para></listitem>
<listitem><para>Elcio Mello.</para></listitem>
</varlistentry>
<varlistentry>
<term>Spanish</term>
<listitem><para>Marcelo Ramos <email>mramos@montevideo.com.uy</email>.</para></listitem>
<listitem><para>Marcelo Ramos <email>mramos@montevideo.com.uyZZZ</email>.</para></listitem>
</varlistentry>
<varlistentry>
<term>Chinese</term>
<listitem><para>Yufeng Wang <email>ipzh@163.net</email>. Available at <ulink
url="http://www.wangyf.com/linux/debian-jigdo-mini-howto.html"
>http://www.wangyf.com/linux/debian-jigdo-mini-howto.html</ulink>.</para></listitem>
<listitem><para>Yufeng Wang</para></listitem>
</varlistentry>
<varlistentry>
<term>Japanese</term>
<listitem>
<para>Tsukasa Yamaguchi <email>tyamagch@bd.mbn.or.jp</email>. Available at <ulink
url="http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo"
<para>Tsukasa Yamaguchi. Available at <ulink url="http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo"
>http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo</ulink>.</para></listitem>
</varlistentry>
<varlistentry>
<term>Russian</term>
<listitem>
<para>Yuri Kozlov <email>kozlov.y@gmail.comZZZ</email>. Available at <ulink
url="http://alioth.debian.org/project/showfiles.php?group_id=30279"
>http://alioth.debian.org/project/showfiles.php?group_id=30279</ulink>.</para></listitem>
</varlistentry>
<varlistentry>
<term>Turkish</term>
<listitem>
<para>Oguz Yarimtepe <email>oguzy@comu.edu.trZZZ</email>. Available at <ulink
url="http://docs.comu.edu.tr/howto/debian-jidgo.html"
>http://docs.comu.edu.tr/howto/debian-jigdo.html</ulink>.</para></listitem>
</varlistentry>
</variablelist>
<para>The English version and all its translations are available at my website: <ulink
<para>In addition to the URLs given above, all the translations (as well as the English
version) are available at my website: <ulink
url="http://www.dirac.org/linux/debian/jigdo">http://www.dirac.org/linux/debian/jigdo</ulink>.
If you'd like to translate this mini-HOWTO to another language, please contact me at
<email><ulink url="mailto:p@dirac.org">p@dirac.org</ulink></email>.</para>
<email><ulink url="mailto:p@dirac.orgZZZ">p@dirac.orgZZZ</ulink></email>.</para>
<para>The stable English version can be found at The Linux Documentation Project: <ulink
url="http://tldp.org/docs.html">http://tldp.org/docs.html</ulink> in the mini-HOWTO section.
If you want to see the work in progress, you can get the "bleeding edge" version from <ulink
url="http://www.dirac.org/linux/debian/jigdo">http://www.dirac.org/linux/debian/jigdo</ulink>.</para>
<para>The English version of this HOWTO can also be found at The Linux Documentation Project:
<ulink url="http://tldp.org/docs.html">http://tldp.org/docs.html</ulink>.</para>
</sect2>
@ -178,10 +196,10 @@
<sect2><title>How Does One Get A Debian ISO Image Set?</title>
<para>If you want your own set of Debian CDs there are many ways of getting them. One way is
to buy them from <ulink url="http://www.debian.org/CD/vendors/">vendors</ulink> who sell
Debian CDs. This definitely has merit since some of the vendors donate money back to the
Debian project. Your donations help make sure that Debian is around for a long time.</para>
<para>If you want a set of Debian CDs there are many ways of getting them. One way is to buy
them from <ulink url="http://www.debian.org/CD/vendors/">vendors</ulink> who sell Debian CDs.
This definitely has merit since some of the vendors donate money back to the Debian project.
Your donations help make sure that Debian is around for a long time.</para>
<para>Another way of getting a set of Debian CDs is to burn your own set. This first entails
obtaining an ISO image and then burning that ISO image to a blank CD. Before jigdo, there
@ -201,7 +219,6 @@
<sect2 id="whynotdownloadthewholeisoimage"><title>Why Not Download The Whole ISO Image?</title>
<para>There are mirrors which offer http and ftp downloads of Debian ISOs. The problem is
@ -225,7 +242,7 @@
<sect2 id="whatisjigdo"><title>What Is Jigdo?</title>
<sect2 id="whatisjigdo"><title>What Is Jigdo?</title>
<para>Jigdo (which stands for "Jigsaw Download") was written by <ulink
url="mailto:atterer@debian.org">Richard Atterer</ulink> and is released under the GNU GPL.
@ -234,43 +251,54 @@
downloading ISO images.</para>
<para>A common misconception is that jigdo creates ISO images; it doesn't. Let's discuss the
overall process of how jigdo allows you to obtain an ISO image. Let Adam be the person
offering the ISO image (perhaps he's the Debian release manager). Let Betty be the person who
wants to download the ISO image (perhaps she's a Debian user).
overall process of how jigdo allows you to obtain an ISO image. Let Adam (a Debian release
manager) be the person offering the ISO image. Let Betty (a Debian user) be the person who
wants to download the ISO image.</para>
<orderedlist>
<listitem>
<para>The first step is that Adam creates an ISO image suitable for burning a CD. He might
use a utility like <application>mkisofs</application> or
<application>debian-cd</application> to create the ISO image. He also creates two files
associated with his newly created ISO image: a <filename>.jigdo</filename> file and a
<filename>.template</filename> file. He makes these two files available for download to
anyone who wants to obtain his ISO image.</para>
<para>Adam first creates an ISO image suitable for burning a CD. He might use a utility
like <application>mkisofs</application> or <application>debian-cd</application> to create
the ISO image. He also creates two small files associated with his newly created image: a
<filename>.jigdo</filename> file and a <filename>.template</filename> file. He makes these
two files available for download to anyone who wants to obtain his ISO image.</para>
</listitem>
<listitem>
<para>The second step is that Betty downloads the <filename>.jigdo</filename> and
<filename>.template</filename> files. She then uses jigdo-lite along with these two files
to download Adam's ISO image.</para>
</listitem>
</orderedlist>
<para>Betty then downloads the <filename>.jigdo</filename> and
<filename>.template</filename> files. She uses <application>jigdo-lite</application> along
with these two files to download Adam's ISO image.</para>
</listitem>
<para>The jigdo tool comes with two utilities: jigdo-file and jigdo-lite. Jigdo-file is used
by Adam to create the .template and .jigdo files from the ISO image he wants to offer.
Jigdo-lite is used by Betty to download the image using the <filename>.jigdo</filename> and
<filename>.template</filename> files. If all you want to do is download Debian ISOs, you'll
only be using jigdo-lite. You can forget that jigdo-file even exists. &nbsp; :-)</para>
<listitem>
<para>When Debian gets updated, Adam creates a new version of the ISO and generates new
<filename>.jigdo</filename> and <filename>.template</filename> files.</para>
</listitem>
<listitem>
<para>When Betty wants to update her CDs, she downloads the new <filename>.jigdo</filename>
and <filename>.template</filename> files and uses them with
<application>jigdo-light</application> to update her copy of the ISO images. The important
thing here is that she only downloads the differences between her old ISO and Adam's new
ISO. She does not have to re-download the parts that are unchanged.</para>
</listitem>
</orderedlist>
<para>Jigdo comes with two utilities: <application>jigdo-file</application> (used by Adam)
which creates the <filename>.jigdo</filename> and <filename>.template</filename> files, and
<application>jigdo-lite</application> (used by Betty) which uses these two files to download
or update the ISO. If all you want to do is obtain/update Debian ISOs, you'll only use
<application>jigdo-lite</application>. You can forget that jigdo-file even exists. &nbsp;
:-)</para>
<para>Jigdo addresses all the problems with the other methods of obtaining Debian ISO
images:</para>
<itemizedlist>
<listitem><para>It's much faster than downloading the entire ISO image.</para></listitem>
@ -290,6 +318,7 @@
</itemizedlist>
<para>Clearly, jigdo is the best method of obtaining Debian ISO images.</para>
</sect2>
@ -302,8 +331,8 @@
<sect1 id="howjigdoworks"><title>How Jigdo Works (optional)</title>
<para>You don't need to know this material to use jigdo, but it may help demystify what jigdo
does. If you're not interested in the details, simply fast forward to <xref
<para>You don't need to know this material to download Debian ISOs, but it may help demystify how
jigdo works. If you're not interested in the details, simply fast forward to <xref
linkend="downloadingyourfirstimage">, "How Do I Use Jigdo".</para>
@ -324,9 +353,9 @@
<para>The "x" areas of the image contain things like directory information, zero padding, disk
name, boot block, etc.</para>
<para>jigdo-file takes two things as input: the complete CD image (so the ISO already needs to
have been made) and a set of files which may or may not be in the image. Here's a
visualization of jigdo-file's input:</para>
<para><application>jigdo-file</application> takes two things as input: the complete CD image
(so the ISO already needs to have been made) and a set of files which may or may not be in the
image. Here's a visualization of jigdo-file's input:</para>
<screen>
--------------------------------------------------------
@ -350,8 +379,8 @@
<sect2 id="the.templatefile"><title>The .template File</title>
<para>Given an input of an ISO image and a set of files which may or may not be in the ISO
image, jigdo-file outputs a .template file for that ISO image. Here's what the .template file
looks like:</para>
image, jigdo-file outputs a .template file for that ISO image. Here's what the
<filename>.template</filename> file looks like:</para>
<screen>
--------------------------------------------------------
@ -370,8 +399,8 @@
are also compressed and written to the .template file. This is shown as "<literal
remap="bf">c</literal>" data in the .template file visualization.</para>
<para>Loose files which were supplied to jigdo-file that aren't found in the ISO image (like
<filename>file-4</filename>) are ignored.</para>
<para>Loose files which were supplied to <application>jigdo-file</application> that aren't
found in the ISO image (like <filename>file-4</filename>) are ignored.</para>
</sect2>
@ -393,15 +422,16 @@
</screen>
<para>The .jigdo file simply provides a mapping between the md5sum of a file within the ISO
image and the download URL of that file. There are some other things within the .jigdo file,
and if you look through it, you'll see the .jigdo file has the same format as a ".ini" file.
It should be self explanatory, but if you want the nitty-gritty details, see the jigdo
documentation.</para>
image and the download URL of that file. There are some other things within the
<filename>.jigdo</filename> file,
and if you look through it, you'll see the <filename>.jigdo</filename> file has the same
format as a ".ini" file. It should be self explanatory, but if you want the nitty-gritty
details, see the jigdo documentation.</para>
<para>The format shown above is not quite what you'd see in a typical .jigdo file, but it's
very similar. If you look at the [Servers] section at the bottom of the .jigdo file, you'll
see exactly what the difference is between what I showed above and an actual .jigdo
file.</para>
see exactly what the difference is between what I showed above and an actual
<filename>.jigdo</filename> file.</para>
</sect2>
@ -410,9 +440,11 @@
<sect2 id="downloadingtheimage"><title>Downloading The Image</title>
<para>Once you use jigdo-file to generate a .jigdo and .template file for an ISO image, anyone
can use jigdo-lite to download that image. jigdo-lite downloads all the files of a Debian ISO
using wget, assembles them and forms a copy of the original ISO image on the fly.</para>
<para>Once you use <application>jigdo-file</application> to generate a
<filename>.jigdo</filename> and .<filename>template</filename> file for an ISO image, anyone
can use <application>jigdo-lite</application> to download that image. jigdo-lite downloads
all the files of a Debian ISO using <application>wget</application>, assembles them and forms
a copy of the original ISO image on the fly.</para>
</sect2>
@ -436,18 +468,13 @@
<screen>
# apt-get install jigdo-file
</screen>
</screen>
<para>Jigdo is under aggressive development. Bug fixes and enhancements are constant, so if
you're using stable or testing, download jigdo-file from unstable at <ulink url=
"http://packages.debian.org/unstable/utils/jigdo-file.html"
>http://packages.debian.org/unstable/utils/jigdo-file.html</ulink>. As of 08 Feb 2003 it's at
>version 0.6.9. This is
the version used for the examples of this HOWTO.</para>
<para>Note to Woody users: The version of jigdo-lite which comes with Woody (rev 1) is not
capable of downloading Sarge or Sid. See <xref linkend="needtoupgrade">. A bugfixed version
of jigdo 0.6.5 was submitted for the future release of r2.</para>
>http://packages.debian.org/unstable/utils/jigdo-file.html</ulink>. As of 28 Nov 2005 it's at
version 0.7.2-2.</para>
</sect2>
@ -478,8 +505,8 @@
<sect2 id="runjigdo-lite"><title>Run jigdo-lite</title>
<para>Run jigdo-lite and give it the .jigdo file of the image you want to download. Using
Woody as an example:</para>
<para>Run <application>jigdo-lite</application> and give it the <filename>.jigdo</filename>
file of the image you want to download. Using Sarge as an example:</para>
<screen>
lucifer$ ls
@ -506,21 +533,25 @@
(e.g. `/mnt/cdrom').
Alternatively, just press enter if you want to start downloading
the remaining files.
Files to scan:
</screen>
Files to scan:
</screen>
<para>If you suspended jigdo-lite with cntrl-z (don't do this; I'll tell you what you'd see)
and looked at the output of <command>ls</command>, you'd find a new file in the directory
named <filename>sarge-i386-1.jigdo.unpacked</filename>. It turns out that .jigdo files are
gzip'ed. This file is simply a gunzip'ed version of the .jigdo file.</para>
<para>If you suspended <application>jigdo-lite</application> with <keycombo
action='simul'><keycap>control</keycap><keycap>z</keycap></keycombo>
(don't do this; I'll tell you what you'd see) and looked at the output of
<command>ls</command>, you'd find a new file in the directory named
<filename>sarge-i386-1.jigdo.unpacked</filename>. It turns out that .jigdo files are gzip'ed.
This file is simply a gunzip'ed version of the <filename>.jigdo</filename> file.</para>
<para>Right now, jigdo-lite is telling us that if we have an outdated version of first CD of
sarge, we should give the pathname to the CD. This is how you update your ISO images (or
complete your incomplete downloads). Since we're assuming that you're starting from scratch
and have no Debian ISOs yet, we have nothing to scan. We'll cover this in <xref
linkend="updatingyourimage">, so just press <keycap>ENTER</keycap>.</para>
<para>Right now, <application>jigdo-lite</application> is telling us that if we have an
outdated version of first CD of sarge, we should give the pathname to the CD. This is how you
update your ISO images (or complete your incomplete downloads). Since we're assuming that
you're starting from scratch and have no Debian ISOs yet, we have nothing to scan. We'll
cover this in <xref linkend="updatingyourimage">, so just press <keycap>ENTER</keycap>.</para>
</sect2>
<para>See also <xref linkend="more-about-scan">, "More About Scan Sources".</para>
</sect2>
@ -540,18 +571,16 @@
Debian mirror [http://linux.csua.berkeley.edu/debian/]:
</screen>
<para>jigdo-lite is smart enough to use the mirror that you use for your Debian updates (you
may have noticed that jigdo-lite was peeking at <filename>/etc/apt/sources.list</filename> in
the last screen capture) by pulling it from <filename>/etc/apt/sources.list</filename>. If
you wanted to use a different mirror, you would specify a different mirror here by following
the instructions. If this is the mirror you want to use, press <keycap>ENTER</keycap>.
Jigdo-lite will then write a <filename>~/.jigdo-lite</filename> file in your home
directory.</para>
<para>By default, <application>jigdo-lite</application> pulls the mirror from your
<filename>/etc/apt/sources.list</filename>. If you want to use a different mirror, you would
specify a different mirror here. If this is the mirror you want to use, press
<keycap>ENTER</keycap>. Jigdo-lite will then write a <filename>.jigdo-lite</filename> file in
your home directory.</para>
<para>Next, if the .jigdo file you're using references a package which needs to be downloaded
from a Non-US server, jigdo-lite will prompt you for a Debian Non-US mirror. The message
displayed (and your response) will be very similar to the mirror dialog in the previous
paragraph (for the non-non-US mirror. &nbsp; (-: &nbsp;).</para>
<para>Next, if the <filename>.jigdo</filename> file you're using references a package which
needs to be downloaded from a Non-US server, <application>jigdo-lite</application> will prompt
you for a Debian Non-US mirror. The message displayed (and your response) will be very
similar to the mirror dialog in the previous paragraph.</para>
<screen>
-----------------------------------------------------------------
@ -567,15 +596,13 @@
dialog.</para>
<para>If you want to change the default mirrors you use with jigdo at any time in the future,
you can modify these two lines:</para>
you can modify these two lines in <filename>~/.jigdo-lite</filename>:</para>
<screen>
debianMirror='http://some-mirror-to-use/debian/'
nonusMirror='http://some-other-mirror/debian-non-US/'
</screen>
<para>in <filename>~/.jigdo-lite</filename>.</para>
</sect2>
@ -583,8 +610,8 @@
<sect2 id="downloadingoftheiso"><title>Downloading Of The ISO</title>
<para>After you specify the mirror(s), jigdo-lite will begin downloading files to assemble the
ISO image:</para>
<para>After you specify the mirror(s), <application>jigdo-lite</application> will begin
downloading files to assemble the ISO image:</para>
<screen>
Not downloading .template file - `sarge-i386-1.template' already present
@ -619,11 +646,12 @@
</itemizedlist>
<para>The <filename role="directory">sarge-i386-1.iso.tmpdir/</filename> directory contains
all the Debian packages that jigdo downloads. Every so often, the directory gets flushed and
the files get written to <filename>sarge-i386-1.iso.tmp</filename>, which is an temporarily
incomplete version of the ISO image you want. Note that
<filename>sarge-i386-1.iso.tmp</filename> won't appear until the first time <filename
role="directory">sarge-i386-1.iso.tmpdir/</filename> gets flushed.</para>
all the Debian packages that <application>jigdo-lite</application> downloads. Every so often,
the directory gets flushed and the files get written to
<filename>sarge-i386-1.iso.tmp</filename>, which is an temporarily incomplete version of the
ISO image you want. Note that <filename>sarge-i386-1.iso.tmp</filename> won't appear until
the first time <filename role="directory">sarge-i386-1.iso.tmpdir/</filename> gets
flushed.</para>
<para><filename>jigdo-file-cache.db</filename> is a Berekeley DB file containing md5sums of
any files read in when you specify a directory at the <literal>Files to scan:</literal>
@ -671,10 +699,6 @@
</sect1>
<!-- hello dolly -->
@ -717,14 +741,14 @@
</screen>
<para>On the other hand, if you have an ISO file you'd like to update, mount it as a loop device
(you may need to be root to do this). I'll be updating my Woody image, since I noticed that Woody
just got a few security updates:</para>
(you may need to be root to do this). Using Woody as an example:</para>
<screen>
# mount -o loop woody-i386-1.iso /mnt
</screen>
<para>Now run jigdo-lite with the .jigdo file as an argument.</para>
<para>Now run <application>jigdo-lite</application> with the <filename>.jigdo</filename> file as
an argument.</para>
<!-- good for 0.6.8-1 -->
<screen>
@ -760,11 +784,14 @@
<para>jigdo-lite is asking us to give it the location of your mounted CD (if you're updating a CD)
or your loop mounted ISO file (if you're using the ISO file). I'm using an ISO file loop mounted
on <filename role="directory">/mnt</filename>, so I'll enter <literal>/mnt</literal>. If you're
updating a CD, enter the mount directory of your CD, which is most likely
<literal>/cdrom</literal>. In either case, jigdo-lite will scan the directory of your mounted
media, determine which files need updating and re-use the files which don't need updating. You
may see something like:</para>
on <filename role="directory">/mnt</filename>, so I'll enter <filename
role="directory">/mnt</filename>. If you're updating a CD, enter the mount directory of your CD,
which is most likely <literal>/cdrom</literal>. In either case,
<application>jigdo-lite</application> will scan the directory of your mounted media, determine
which files need updating and re-use the files which don't need updating. See also <xref
linkend="more-about-scan">, "More About Scan Sources".</para>
<para>You may see something like:</para>
<!-- good for 0.6.8-1 -->
@ -784,7 +811,7 @@
already a file by that name in the current directory (the outdated image). Jigdo-lite doesn't
want to destroy that file, so it bails and lets me know that I can either delete that file or use
<literal>--force</literal> to overwrite the file. You could also rename or move the file too,
but I guess jigdo-lite assumes we already know this. &nbsp; :-)</para>
but I guess <application>jigdo-lite</application> assumes we already know this. &nbsp; :-)</para>
<para>Don't be timid about moving or renaming the image file just because it's loop mounted. The
filesystem uses inodes under the hood, and even if you move or rename the file, the inode stays
@ -795,8 +822,8 @@
<emphasis>and</emphasis> umount the loop device. All you people who are updating the CD don't
have to worry about any of this. :-)</para>
<para>I'll rename the ISO file to <filename>woody-i386-1.iso.old</filename> and run jigdo-lite
again. Let's try again:</para>
<para>I'll rename the ISO file to <filename>woody-i386-1.iso.old</filename> and run
<application>jigdo-lite</application> again. Let's try again:</para>
<screen>
$ jigdo-lite woody-i386-1.jigdo
@ -836,7 +863,7 @@
again. Since I'm a perverse person, I type the name of the directory again.</para>
<para>The ellipsis represent some text that changes rapidly. The first ellipsis is a dynamic list
of what files jigdo-lite is scanning. The second ellipses deonotes progress in writing
of what files jigdo-lite is scanning. The second ellipses denotes progress in writing
<filename>woody-i386-1.iso.tmp</filename>. Once jigdo-lite finishes scanning the files and
writing the temporary ISO file, it prints:</para>
@ -858,12 +885,13 @@
</screen>
<para>Since you normally don't have another source of files to scan other than your loop mounted
ISO file (or your CD), press &lt;ENTER&gt;. Jigdo-lite will then ask you about which mirrors you
want to use, just like it did when you downloaded your ISO for the first time. You've already
answered these questions before, but if you truly don't remember, you might want to re-read <xref
linkend="specifyamirror">.</para>
ISO file (or your CD), press <keycap>ENTER</keycap>. Jigdo-lite will then ask you about which
mirrors you want to use, just like it did when you downloaded your ISO for the first time. You've
already answered these questions before, but if you truly don't remember, you might want to
re-read <xref linkend="specifyamirror">.</para>
<para>At this point, you'll see jigdo-lite working its magic. Now wasn't that easy?</para>
<para>At this point, you'll see <application>jigdo-lite</application> working its magic. Now
wasn't that easy?</para>
</sect1>
@ -875,49 +903,23 @@
<para>Questions prepended with a date indicate a time sensitive question (a question that relates
to a temporary situation). If you see one of these questions and know that the temporary
situation has changed, please <ulink url="mailto:p@dirac.org">contact me</ulink> and let me know
situation has changed, please <ulink url="mailto:p@dirac.orgZZZ">contact me</ulink> and let me know
so I can remove the question from the mini-HOWTO.</para>
<sect2 id="scanmultipleimages"><title>For image updates, I want jigdo-lite to scan 14
loop-mounted images in one go. How can I do this?</title>
<para>When updating CD images, it's tiresome to keep loop-mounting and unmounting images.
However, by default the Linux kernel only supports eight loop devices, and jigdo-lite's menu
of previously entered paths only has five entries.</para>
<para>To scan many loop-mounted images, you must first tell the Linux kernel to support more
than the default eight devices. This is done by giving the "<literal>max_loop</literal>"
parameter to the module when loading it, e.g. with "<literal>modprobe loop
max_loop=16</literal>" on the command line or by adding the line "<literal>options loop
max_loop=16</literal>" to <filename>/etc/modules.conf</filename>. In Debian, you must put
this line into a file named e.g. <filename>/etc/modutils/local-loop</filename> and then run
<command>update-modules</command> because direct changes to
<filename>/etc/modules.conf</filename> will be overwritten.</para>
<para>Having mounted the individual images, you can pass the parent directory of their mount
points to jigdo-lite for scanning. For example, if the images are mounted under <filename
role="directory">/mnt/myloopmounts/image1/</filename> etc., pass "<filename
role="directory">/mnt/myloopmounts</filename>" as the path to scan. If passing the parent
directory is inconvenient, you can also create a directory and fill it with symlinks to the
mount points.</para>
</sect2>
<sect2 id="jigdoaskstwice"><title>Why does jidgo ask <emphasis>twice</emphasis> for scanning
for existing files? Is it enough to say yes once ?</title>
<sect2><title>Why does jidgo ask <emphasis>twice</emphasis> for scanning for existing files? Is
it enough to say yes once ?</title>
<para>It keeps asking this as long as you enter a path to scan. The idea is that you may want
to scan several old CDs, so you can insert one after the other into the drive and keep
supplying the path "<literal>D:\</literal>" (or whatever).
supplying the path "<literal>D:\</literal>" (or whatever). See also <xref
linkend="more-about-scan">, "More About Scan Sources".</para>
</sect2>
<sect2 id="problemfiles"><title>Jigdo Seems To Have Problems Downloading Certain Filenames.</title>
<sect2><title>Jigdo Has Problems Downloading Certain Filenames.</title>
<para>When downloading Debian images under Windows, jigdo-lite may appear to have trouble
downloading one or more of the following files:</para>
@ -960,10 +962,9 @@
<sect2 id="useproxy"><title>How do I make jigdo use my proxy?</title>
<para>Load the file <filename>~/.jigdo-lite</filename> (or
<filename>jigdo-lite-settings.txt</filename> for the Microsoft Windows version) into a text
editor and find the line that starts with "<literal>wgetOpts</literal>". The following
switches can be added to the line:</para>
<para>Edit <filename>~/.jigdo-lite</filename> (or <filename>jigdo-lite-settings.txt</filename>
for the Microsoft Windows version) into a text editor and find the line that starts with
"<literal>wgetOpts</literal>". The following switches can be added to that line:</para>
<screen>
-e ftp_proxy=http://LOCAL-PROXY:PORT/
@ -987,20 +988,20 @@
<sect2><title>Jigdo-lite fails with an error - have I downloaded all those MBs in vain?</title>
<para>Of course this Should Not Happen(tm), but for various reasons you may end up in a state
where a large "<literal>.iso.tmp</literal>" file has already been generated and jigdo-lite
appears to have problems, telling you repeatedly to try restarting the download. There are
several possible things to try in this case:</para>
<para>If <application>jigdo-file</application> aborts after downloading a considerable chunk
of the ISO contents, you'll have a large "<literal>.iso.tmp</literal>" file. There are
several things to try to salvage your download:</para>
<itemizedlist>
<listitem><para>Simply restart the download by pressing <keycap>Return</keycap>. Maybe some
of the files could not be downloaded because of timeouts or other transient errors -- another
attempt will be made to download any missing files.</para></listitem>
<listitem><para>Restart the download by pressing <keycap>RETURN</keycap>. Maybe some of the
files could not be downloaded because of timeouts or other transient errors. Try to download
the missing files again.</para></listitem>
<listitem><para>Try a different mirror. Some Debian mirrors are slightly out of sync -- maybe
a different mirror still holds files that were deleted from the one you specified, or it has
already been updated with files that are not yet present on your mirror.</para></listitem>
already been updated with files that are not yet present on your mirror. This has happened
quite a few times with me.</para></listitem>
<listitem><para>Retrieve the missing parts of the image using <ulink
url="http://rsync.samba.org">rsync</ulink>. First, you need to find out the correct rsync URL
@ -1017,14 +1018,19 @@
status messages, and <literal>--block-size=8192</literal> to increase its
speed.</para></listitem>
<listitem><para>If all else fails, your downloaded data is still not lost. Under Linux, you
can loop-mount the <literal>.tmp</literal> file to access the packages that were already
downloaded, and reuse them for generating an image from a newer jigdo file (such as the latest
daily testing snapshot if your failed download was also a testing snapshot). To do this,
first issue the following commands as root in the directory with the broken download:
<command>mkdir mnt; mount -t iso9660 -o loop *.tmp mnt</command>. Next, start a new download
in a different directory, and enter the path of the mnt directory at the "Files to scan"
prompt.</para></listitem>
<listitem><para>Under Linux, you can loop-mount the <literal>.tmp</literal> file to access the
packages that were already downloaded, and reuse them for generating an image from a newer
.jigdo file. To do this, first issue the following commands as root in the directory
with the broken download: <command>mkdir mnt; mount -t iso9660 -o loop *.tmp mnt</command>.
Next, start a new download in a different directory, and enter the path of the mnt directory
at the "Files to scan" prompt.</para>
<para>Under Microsoft Windows you can do the same thing by loop mounting the temporary ISO
image using "virtual drive" software. <application><ulink
url="http://www.daemon-tools.cc">Daemon tools</ulink></application> and <application>Nero
Image Drive</application> are both very popular. See also <ulink
url="http://tinyurl.com/c39zr">http://tinyurl.com/c39zr</ulink> for more options.</para>
</itemizedlist>
@ -1032,7 +1038,9 @@
<sect2 id="disacknowledgements"><title>[11 Aug 2002]: Why aren't the translations of this HOWTO on LDP?</title>
<sect2 id="disacknowledgements">
<title>[11 Aug 2002]: Why aren't the translations of this HOWTO on LDP?</title>
<para>I've been having trouble getting the translations of this HOWTO submitted to the
non-English LDP editors.</para>
@ -1051,21 +1059,9 @@
url="http://www.dirac.org/linux/debian/jigdo"
>http://www.dirac.org/linux/debian/jigdo</ulink>.</para>
</sect2>
<para>Shame on you, Marco Budde <email>Budde@tu-harburg.de</email>.</para>
<sect2><title>jigdo takes a bit long to download the files because wget keeps disconnecting and then reconnecting to the FTP
server for each file. Is there a way to make it faster?</title>
<para>The download speed can be increased by using an HTTP instead of an FTP server - FTP is
not a very efficient protocol for downloading lots of small files. Additionally, you may want
to upgrade to the latest version of wget, because that version supports persistent HTTP
connections, which results in another slight speed increase.</para>
<para>Unfortunately, even with persistent HTTP connections, the download speed will not be as
high as that of a single-file ISO download. Such speeds can only be achieved with HTTP
pipelining - the jigdo GUI application will support pipelining.</para>
<para>Shame on you, Alfredo Carvalho <email>ajpc@poli.org</email>.</para>
</sect2>
@ -1074,26 +1070,27 @@
<sect2 id="interrupted"><title>What do I do if my jigdo download gets interrupted?</title>
<para>If your download gets interrupted, all you need to do is restart jigdo-lite and hit
&lt;ENTER&gt; at all the question prompts. Jigdo-lite will pick up where it left off.</para>
<keycap>ENTER</keycap> at all the question prompts. Jigdo-lite will pick up where it left
off.</para>
</sect2>
<sect2><title>My jigdo download won't complete because the .jigdo file is broken. When I download a new, fixed .jigdo file,
do I need to download all the data over again?</title>
<sect2><title>My jigdo download won't complete because the .jigdo file is broken. When I
download a new, fixed .jigdo file, do I need to download all the data over again?</title>
<para>You may find that the .jigdo file you downloaded is broken. It's very uncommon, but it
does happen from time to time with moving targets like Debian testing or unstable.</para>
<para>If you find that your .jigdo file is broken, you'll need to download a new .jigdo file
(when a fixed one becomes available), but you <emphasis>won't</emphasis> need to download all
the ISO data again.</para>
<para>You may find that the .jigdo file you downloaded is broken. It's uncommon, but it does
happen from time to time with moving targets like Debian testing or unstable.</para>
<para>If you find that <filename>.jigdo</filename> is broken, you'll need to download a new
.jigdo file (when a fixed one becomes available), but you <emphasis>won't</emphasis> need to
download all the ISO data again.</para>
<para>You can use the same loop mounting trick we use when updating an ISO image. The
difference is that there's no finished .iso file to start with, but the .iso.tmp file is an
ISO image too and can be used to finish the download without having to re-download all the
data that was downloaded before the broken .jigdo file caused jigdo-file to halt. Simply loop
data that was downloaded before the broken .jigdo file caused jigdo-lite to halt. Simply loop
mount the .iso.tmp file on <filename role="directory">/mnt</filename> and when you re-run
jigdo-lite with the fixed .jigdo file, tell jigdo-lite to scan <filename
role="directory">/mnt</filename>. Don't forget to rename or move the .iso.tmp file so it
@ -1141,12 +1138,12 @@
<sect2><title>Why doesn't jigdo work? It downloads some packages and deletes them. I know it doesn't write them to the
<sect2><title>Jigdo-lite is broken! It downloads packages and deletes them. I know it doesn't write them to the
<filename>iso.tmp</filename> file because the file size doesn't change!</title>
<para>Jigdo works just fine - the .iso.tmp file is created at the beginning with its final
size, but filled with zero bytes. Later, parts of it are overwritten with the downloaded
data.</para>
<para>Jigdo works just fine -- the <filename>.iso.tmp</filename> file is created at the
beginning with its final size, but filled with zero bytes. Later, parts of it are overwritten
with the downloaded data.</para>
<para>You can tell that jigdo is making progress by looking at the messages "<literal>Found X
of the Y files required by the template</literal>" that are printed from time to time. The
@ -1165,20 +1162,30 @@
<sect2 id="needtoupgrade"><title>[10 Feb 2003]: I'm having trouble getting jigdo to download Sarge or Sid.</title>
<sect2 id="scanmultipleimages"><title>For image updates, I want jigdo-lite to scan 14
loop-mounted images in one go. How can I do this?</title>
<para>If you're using Potato or Woody: because of a change in jigdo, the version of jigdo-lite
that comes with Potato and Woody (r0 and r1) cannot download Sarge and Sid images. The
jigdo-file packages from Sarge (0.7.0-2) and Sid (0.7.0-2) can download Sarge and Sid images.
Also, a bugfixed version of jigdo-file (0.6.5) was submitted for inclusion for Woody r2 and
will hopefully be available when r2 comes out. However, because of bug fixes and
enhancements, you're urged to use jigdo-file from Sarge or Sid.</para>
<para>When updating CD images, it's tiresome to keep loop-mounting and unmounting images.
However, by default the Linux kernel only supports eight loop devices, and jigdo-lite's menu
of previously entered paths only has five entries.</para>
<para>If you're using Sarge or Sid, then you may need some help. Search the archives of the
debian-cd mailing list, and if that doesn't solve your problem, you should send them a request
for help (<xref linkend="links">).</para>
<para>To scan many loop-mounted images, you must first tell the Linux kernel to support more
than the default eight devices. This is done by giving the "<literal>max_loop</literal>"
parameter to the module when loading it, e.g. with "<literal>modprobe loop
max_loop=16</literal>" on the command line or by adding the line "<literal>options loop
max_loop=16</literal>" to <filename>/etc/modules.conf</filename>. In Debian, you must put
this line into a file named e.g. <filename>/etc/modutils/local-loop</filename> and then run
<command>update-modules</command> because direct changes to
<filename>/etc/modules.conf</filename> will be overwritten.</para>
</sect2>
<para>Having mounted the individual images, you can pass the parent directory of their mount
points to jigdo-lite for scanning. For example, if the images are mounted under <filename
role="directory">/mnt/myloopmounts/image1/</filename> etc., pass "<filename
role="directory">/mnt/myloopmounts</filename>" as the path to scan. If passing the parent
directory is inconvenient, you can also create a directory and fill it with symlinks to the
mount points.</para>
</sect2>
@ -1243,6 +1250,25 @@
</sect2>
<sect2><title>Can I run multiple instances of jigdo-lite to download images in parallel?</title>
<para>Absolutely. However, to avoid filename clashing, you should run each
<application>jigdo-lite</application> instance in its own separate directory. You can start
as many instances as you want, go to bed, and when you wake up, all the ISO images will be
waiting for you on your hard drive. Be aware that <application>jigdo-lite</application> is
bandwidth and CPU intensive, so you won't want to use your computer with multiple instances
running in tandem.</para>
</sect2>
<sect2><title>Is there a GUI interface available?</title>
<para>A GTK+ interface to jigdo is being worked on. Both Linux and Microsoft Windows GUI
clients are planned. Unfortunately, it's been 80% done for over 1.5 years, so don't hold your
breath for its release.</para>
</sect2>
</sect1>
@ -1254,27 +1280,54 @@
<sect1 id="errata"><title>Errata</title>
<sect2 id="jigdo-easy"><title>jigdo-easy</title>
<para>Jigdo-easy, by Anne Bezemer, is a fork from jigdo-lite which is portable to a wider
range of systems, including Microsoft Windows, old SunOS, HP-UX and IRIX). It's also easier
to use than jigdo-lite but because of changes made to Jigdo, will only work with Potato and
Woody. Jigdo-easy will not be able to download Sarge and Sid. See <xref linkend="links"> and
<xref linkend="otherplatforms">.</para>
<para>Jigdo-easy, by Anne Bezemer, is a fork of <application>jigdo-lite</application> which is
portable to a wider range of systems, including Microsoft Windows, old SunOS, HP-UX and IRIX).
It's also easier to use than jigdo-lite but because of changes made to Jigdo, will only work
with Potato and Woody. Jigdo-easy will not be able to download Sarge and Sid. See <xref
linkend="links"> and <xref linkend="otherplatforms">.</para>
</sect2>
<sect2 id="more-about-scan"><title>More About Scan Sources</title>
<sect2><title>GUI Interface</title>
<para>By now you know that when <application>jigdo-lite</application> asks for files to scan,
you can use 3 sources:
<para>A GTK+ interface to jigdo is currently being worked on. It's not fully functional yet,
but will be available at some point. There will be a Linux as well as a Windows GUI
client.</para>
</sect2>
<itemizedlist mark='bullet'>
<listitem><para>A mounted copy of an outdated CD or DVD that you wish to
update.</para></listitem>
<listitem><para>A loop-mounted copy of an outdated ISO image file on your hard
drive.</para></listitem>
<listitem><para>A loop-mounted copy of the temporary <filename>.iso.tmp</filename> file,
when a previous <application>jigdo-lite</application> run aborted.</para></listitem>
</itemizedlist>
<para>As Jens Seidel points out, there is another, rather crafty, source you should use for a
scanning source: your apt cache. Apt uses the directory <filename
role="directory">/var/cache/apt/archives</filename> for cache. There will be many Debian
packages sitting in this directory, and they can be used for a scan source for
<application>jigdo-lite</application>! So when you're asked for a directory to scan, by all
means, use this directory too.</para>
<para>If you're editing the <filename>~/.jigdo-lite</filename> file by hand, be aware that
multiple scan directories are space separated, for example:</para>
<screen>
scanMenu='/var/cache/apt/archives/ /cdrom/'
</screen>
</sect2>
@ -1346,13 +1399,13 @@
>http://packages.debian.org/testing/utils/jigdo-file.html</ulink>
</term>
<listitem>
<para>If you're using Potato or Woody, please upgrade jigdo-file to version <literal>0.7.0-2</literal>,
which comes with testing or unstable (<xref linkend="needtoupgrade">).</para>
<para>The official webpage for the Debian jigdo-file package.</para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term><ulink url="http://lists.debian.org/search.html">http://lists.debian.org/search.html</ulink>
<term><ulink url="http://lists.debian.org/search.html"
>http://lists.debian.org/search.html</ulink>
</term>
<listitem>
<para>You can use this page to search the debian-cd mailing list archives.</para>
@ -1369,6 +1422,16 @@
</listitem>
</varlistentry>
<varlistentry>
<term>
<ulink url="https://lists.berlios.de/mailman/listinfo/jigdo-user"
>https://lists.berlios.de/mailman/listinfo/jigdo-user</ulink>
</term>
<listitem>
<para>The subscription page for the official Jigdo mailing list.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
@ -1383,4 +1446,3 @@
vim: tw=100:expandtab
-->

View File

@ -113,7 +113,7 @@ Debian-Jigdo</ULink>, <CiteTitle>
Debian Jigdo mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>
Updated: Jun 2005</CiteTitle>.
Updated: Dec 2005</CiteTitle>.
Describes why you should use jigdo (a tool for obtaining Debian ISOs),
a little bit about how it works and how you use it to get and update
Debian ISOs. </Para>

View File

@ -972,7 +972,7 @@ to Windows printers and how to share Linux printers with Windows PCs. </Para>
Debian-Jigdo</ULink>,
<CiteTitle>Debian Jigdo mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: Jun 2005</CiteTitle>.
<CiteTitle>Updated: Dec 2005</CiteTitle>.
Describes why you should use jigdo (a tool for obtaining Debian ISOs),
a little bit about how it works and how you use it to get and update
Debian ISOs. </Para>

View File

@ -199,7 +199,7 @@ Debian-Jigdo</ULink>, <CiteTitle>
Debian Jigdo mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>
Updated: Jun 2005</CiteTitle>.
Updated: Dec 2005</CiteTitle>.
Describes why you should use jigdo (a tool for obtaining Debian ISOs),
a little bit about how it works and how you use it to get and update
Debian ISOs. </Para>