6. Frequently Asked Questions
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 contact me and let me know so I can remove the question from the mini-HOWTO.
6.1. Why does jidgo ask twice for scanning for existing files? Is it enough to say yes once ?
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 "D:\" (or whatever). See also Section 7.2, "More About Scan Sources".
6.2. Jigdo Has Problems Downloading Certain Filenames.
When downloading Debian images under Windows, jigdo-lite may appear to have trouble downloading one or more of the following files:
libbusiness-onlinepayment-bankofamerica-perl_xxx_all.deb libbusiness-onlinepayment-authorizenet-perl_xxx_all.deb libbusiness-onlinepayment-payconnect-perl_xxx_all.deb libmasonx-request-withapachesession-perl_xxx_all.deb libtemplate-plugin-calendar-simple-perl_xxx_all.deb |
Move the jigdo download directory up by as many directories as possible, closer to the drives's root directory.
The NTFS filesystem has a 255 character limit on a file's pathname. When jigdo-lite downloads files from the internet, it makes a copy of the server directory structure in its download directory. With their very long names, the above Debian packages may exceed the allowed path length, which leads to error messages like "Cannot write to `[very long pathname]' (No such file or directory)".
Some people may now wonder: Why does jigdo-lite use wget's "--force-directories" switch, which creates these problematic directory hierarchies?
Early versions of jigdo-lite did not use it, but then some folks requested that jigdo-lite always use the "--continue" switch to avoid half-downloaded .deb files being ignored and deleted when you interrupt and restart jigdo-lite.
Unfortunately, it turned out that this led to problems: The Debian servers contained several identically named files (e.g. "root.bin") in different directories, and if you interrupted jigdo-lite at roughly the right time during the download, the chances were high that the resumed download would append data to the wrong half-downloaded file, corrupting it and making the entire jigdo download fail.
6.3. How do I make jigdo use my proxy?
Edit ~/.jigdo-lite (or jigdo-lite-settings.txt for the Microsoft Windows version) into a text editor and find the line that starts with "wgetOpts". The following switches can be added to that line:
-e ftp_proxy=http://LOCAL-PROXY:PORT/ -e http_proxy=http://LOCAL-PROXY:PORT/ --proxy-user=USER --proxy-passwd=PASSWORD |
Of course, substitute the correct values for your proxy server. The last two options are only necessary if your proxy uses password authentication. The switches need to be added to the end of the wgetOpts line before the final ' character. All options must be on one line.
Alternatively, under Linux you can also set up the ftp_proxy and http_proxy environment variables, for example in the file /etc/environment or ~/.bashrc.
6.4. Jigdo-lite fails with an error - have I downloaded all those MBs in vain?
If jigdo-file aborts after downloading a considerable chunk of the ISO contents, you'll have a large ".iso.tmp" file. There are several things to try to salvage your download:
Restart the download by pressing RETURN. Maybe some of the files could not be downloaded because of timeouts or other transient errors. Try to download the missing files again.
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. This has happened quite a few times with me.
Retrieve the missing parts of the image using rsync. First, you need to find out the correct rsync URL of the image you are downloading: Choose a server that offers rsync access to the stable or testing images, then determine the correct path and filename. Directory listings can be obtained with commands like rsync rsync://cdimage.debian.org/debian-cd/.
Next, remove the ".tmp" extension from jigdo-lite's temporary file by renaming it, and pass both the remote URL and the local filename to rsync: rsync rsync://server.org/path/binary-i386-1.iso binary-i386-1.iso You may want to use rsync's --verbose and --progress switches to get status messages, and --block-size=8192 to increase its speed.
Under Linux, you can loop-mount the .tmp 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: mkdir mnt; mount -t iso9660 -o loop *.tmp mnt. Next, start a new download in a different directory, and enter the path of the mnt directory at the "Files to scan" prompt.
Under Microsoft Windows you can do the same thing by loop mounting the temporary ISO image using "virtual drive" software. Daemon tools and Nero Image Drive are both very popular. See also http://tinyurl.com/c39zr for more options.
6.5. [11 Aug 2002]: Why aren't the translations of this HOWTO on LDP?
I've been having trouble getting the translations of this HOWTO submitted to the non-English LDP editors.
The German LDP editor, Marco Budde <Budde@tu-harburg.de> refuses to accept the German translation because it was written in Docbook and not Linuxdoc, even though Docbook is the preferred SGML language for the LDP. It's a shame that we have people within the open source community who would sabotage our community from the inside.
The Portuguese LDP editor, Alfredo Carvalho <ajpc@poli.org>, has completely ignored my submission of the Portuguese translation.
If you care about having LDP documents in these languages, I urge you to write to these editors and ask them to please be more responsible about accepting translated documents. For the time being, you can download these translations from my personal website, http://www.dirac.org/linux/debian/jigdo.
Shame on you, Marco Budde <Budde@tu-harburg.de>.
Shame on you, Alfredo Carvalho <ajpc@poli.org>.
6.6. What do I do if my jigdo download gets interrupted?
If your download gets interrupted, all you need to do is restart jigdo-lite and hit ENTER at all the question prompts. Jigdo-lite will pick up where it left off.
6.7. 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?
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.
If you find that .jigdo is broken, you'll need to download a new .jigdo file (when a fixed one becomes available), but you won't need to download all the ISO data again.
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-lite to halt. Simply loop mount the .iso.tmp file on /mnt and when you re-run jigdo-lite with the fixed .jigdo file, tell jigdo-lite to scan /mnt. Don't forget to rename or move the .iso.tmp file so it doesn't interfere with jigdo-lite which will want to create a new .iso.tmp file.
6.8. Can I use jigdo to download images for DVD?
Absolutely; the process is identical to downloading CD images. The only thing you need to do differently is to download the .jigdo and .template files for DVDs instead of CDs. You can find the DVD .jigdo and .template files at http://www.debian.org/CD/jigdo-cd/.
On Linux, you need kernel 2.4 or later to create DVD-sized files.
Under MS Windows, you need to use jigdo-win-0.7.1a (released 21 July 2004) or later to create DVD-sized images. This is because of a bug in the large file support of Mingw32, the compiler used to create the MS Windows executables. The bug got fixed on this date, and jigdo-win-0.7.1a was released.
6.9. Can I burn the .iso.tmp file to CD?
Thanks to Gordon Huff and David Anselmi, we now know the answer is "yes you can". But more importantly, Gordon gave a good reason why you'd want to do this in the first place. Paraphrasing Gordon:
My friend's Win98 has a *nice* cable connection. I arrive in the morning, start jigdo (more than one, actually) and then we go to the store, tie back the kiwi plant, put up the Christmas lights and Christmas tree, trim the tree, order and split a pizza and fire up the satellite dish.
I leave my friends place with several iso.tmp's on CDRWs. When I get home, I use the iso's that didn't finish to update my jigdo setup at home which is a dial-up.
6.10. Jigdo-lite is broken! It downloads packages and deletes them. I know it doesn't write them to the iso.tmp file because the file size doesn't change!
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.
You can tell that jigdo is making progress by looking at the messages "Found X of the Y files required by the template" that are printed from time to time. The first value "X" should increase. When X equals Y, the download is finished.
6.11. I'm having trouble getting jigdo-easy to work.
See Section 7.1.
6.12. For image updates, I want jigdo-lite to scan 14 loop-mounted images in one go. How can I do this?
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.
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 "max_loop" parameter to the module when loading it, e.g. with "modprobe loop max_loop=16" on the command line or by adding the line "options loop max_loop=16" to /etc/modules.conf. In Debian, you must put this line into a file named e.g. /etc/modutils/local-loop and then run update-modules because direct changes to /etc/modules.conf will be overwritten.
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 /mnt/myloopmounts/image1/ etc., pass "/mnt/myloopmounts" 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.
6.13. Jigdo-lite is too verbose. How can I supress some or all of its messages?
Jigdo-lite uses wget, and wget's output can be quite verbose. If this is unsettling, you can make wget more quiet by adding --non-verbose to the wgetOpts switch in your ~/.jigdo-lite file. If you want wget to print no messages at all, use --quiet in the wgetOpts switch.
6.14. Can I use jigdo on platforms other than Linux?
Certainly. If you're interested in Potato or Woody under Microsoft Windows, old SunOS, HP-UX and IRIX you can use jigdo-easy. See Section 7.1 and Section 7.4.
If you want to download Potato, Woody, Sarge or Sid under Microsoft Windows, jigdo-lite has been ported to that platform and can be downloaded from the main jigdo site (Section 7.4).
6.15. On MS Windows, why do I get a "No such file or directory" error message?
You might find that under MS Windows, jigdo-lite will download some files but then fail to read their contents, which will produce a "No such file or directory" error message.
It seems that this occurs if the length of the filenames that jigdo processes exceeds a certain limit. The solution is to move the half-finished download up in the directory hierarchy, closer to the top-level directory of the drive.
6.16. On MS Windows, why won't my image grow larger than 2GB?
You're using an old version of jigdo. Please upgrade to jigdo-win-0.7.1a or newer. See Section 6.8.
6.17. On MS Windows, jigdo-lite.bat fails with an error message saying "sh" was not found.
This means that the PATH command in the .bat file failed. For some reason, this is the case if you unpacked jigdo on a Windows network share using a path like "\\SomeServer\Files\jigdo". Solution: Use "Map network drive" (in the explorer "tools" menu) to assign a drive letter like "Z:", then double-click on the .bat file inside "Z:\jigdo". Alternatively, a workaround is to move everything in the jigdo-bin subdirectory up to where the .bat file is.
6.18. Can I run multiple instances of jigdo-lite to download images in parallel?
Absolutely. However, to avoid filename clashing, you should run each jigdo-lite 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 jigdo-lite is bandwidth and CPU intensive, so you won't want to use your computer with multiple instances running in tandem.