3.9 Debian on CD

You don’t need to install Debian GNU/Linux from CD-ROM. You can obtain all of the Debian packages from the international network of Debian mirrors by simply using the Debian package tools (often based around the apt-get package and including those that provide more user-friendly interfaces to apt-get including aptitude).

Of course, if you do not have ready access to the Internet you may want to burn your own CD or DVD image of the distribution (assuming you have enough access to download the disk images!). Or if you are installing Debian GNU/Linux on multiple machines then the DVD installation is the best option.

Burning your own CD or DVD is a straightforward process using tools supplied by Debian specifically to build, as a file, an image of the CD so that you can then burn the image directly to CD using CD writers on any platform you may have access to.

The recipes presented here use wget to download a CD or DVD image or else use jigdo-file to build the CD or DVD image in a bandwidth efficient way.

3.9.1 Download the CD Image

You may be wondering why you should go through a process of building a CD image yourself rather than simply downloading the appropriate images from a Debian CD image mirror somewhere. The answer has been that there are many Debian mirrors world-wide that store the complete collection of Debian packages. If these mirrors were to also store the CD images the extra space required is essentially wasted space and so many of the Debian mirrors do not keep the CD images.

There are a smaller number of Debian hosts on the Internet that do maintain CD images. These hosts are often not local and the amount of bandwidth required to download the images from these smaller number of mirrors is quite significant.

According to the Debian GNU/Linux CD Images Frequently Asked Questions page (http://cdimage.debian.org/faq.html) by using a distributed approach based on the network of Debian package mirrors the required bandwidth to the CD image mirrors is reduced by over 99%!

Nonetheless, today you may find local Debian hosts mirroring the CD images also. If that is the case then it is easier to simply download the actual images rather than building the images as described in the rest of this chapter. In Australia, for example, the primary Debian mirror also mirrors the CD images (from http://cdimage.debian.org. So for those in .au and .nz it is perhaps easiest to simply download one of the following:

$ wget http://mirror.aarnet.edu.au/pub/debian-cd/3.0_r1/i386/debian-30r1-i386-binary-1_NONUS.iso
$ wget http://mirror.aarnet.edu.au/pub/debian-cd/3.0_r1/i386/debian-30r1-i386-binary-1.iso

Then burn the image to CD using whatever tools you have at your disposal. For release 3 there are 7 CDs. The NONUS alternative (which contains items that can not be exported directly from the US) is only relevant to the first CD.

3.9.2 Jigdo: Build CD-ROM Images


To build a DVD of the sarge distribution:

  $ jigdo-lite
  jigdo: http://cdimage.debian.org/debian-cd/3.1_r0a/i386/
  > jigdo-dvd/debian-31r0a-i386-binary-1.jigdo
  Files to scan: <RETURN>
  Debian mirror [...]: ftp://ftp.iinet.net.au/debian/debian/

To build a snapshot of the sid distribution:

  $ jigdo-lite
  > ftp://ftp.fsn.hu/pub/CDROM-Images/debian-unofficial/sid-dvd/jigdo/debian-20050928-i386-binary-1.jigdo

To build a DVD of the sarge beta distribution:

  $ wget http://cdimage.debian.org/pub/cdimage-testing/
  > dvd/jigdo-area/i386/sarge-i386-1.jigdo
  $ wget http://cdimage.debian.org/pub/cdimage-testing/
  > dvd/jigdo-area/i386/jigdotemplates/sarge-i386-1.template
  $ jigdo-lite sarge-i386-1.jigdo

To build a collection of CDs for an Alpha machine:

  $ wget http://cdimage.debian.org/pub/cdimage-testing/
  > cd/jigdo-area/alpha/sarge-alpha-1.jigdo
  $ http://cdimage.debian.org/pub/cdimage-testing/
  > cd/jigdo-area/alpha/jigdotemplates/sarge-alpha-1.template
  $ jigdo-lite sarge-alpha-1.jigdo

For the full collection of CDs do the same for 2, 3, 4, …, 12.

3.9.3 Obtain The Debian Pseudo-Image Kit

Note that this approach has been replaced with Jigdo, as detailed in Section 3.9.2.

If you don’t have good access to a well connected CD image host then it is best to follow the following recipe to build the CD images. It is quite straightforward.

The first step is to obtain the appropriate Debian tools to build the CD image. Again, recall that the scenario here is to build the image on a Solaris machine, but the procedure should be similar for any GNU/Linux or Unix machine. The pseudo-image-kit package can be obtained from a number of locations listed at http://cdimage.debian.org/~costar/pseudo-image-kit/. We use one of these locations here:

$ wget http://panic.et.tudelft.nl/~costar/pseudo-image-kit/pseudo-image-kit-2.0.tar.gz
$ tar zxvf pseudo-image-kit-2.0.tar.gz
$ cd pseudo-image-kit-2.0
$ perl -pi -e 's|^#! /bin/sh|#! /usr/local/bin/bash|' make-pseudo-image

The last operation here changes the location at which the script -, make - pseudo, image expects to find the installed version of the bash shell. Under GNU/Linux it is /bin/sh but under Solaris it may be installed in /usr/local/bin/bash.

3.9.4 Listing of CD Image Contents

The next step is to obtain a list of files that will make up the contents of the CD. This is obtained from an appropriate CD image archive. For the binary distribution of Debian (2.2) there are three CDs. We download the list of contents for each:

$ wget http://www.uk.debian.org/debian-cd/cd-images/2.2_rev0/i386/binary-i386-1.list
$ wget http://www.uk.debian.org/debian-cd/cd-images/2.2_rev0/i386/binary-i386-2.list
$ wget http://www.uk.debian.org/debian-cd/cd-images/2.2_rev0/i386/binary-i386-3.list

For Australia you can get them locally:

$ wget http://mirror.aarnet.edu.au/debian-cd/2.2_rev0/i386/binary-i386-1.list
$ wget http://mirror.aarnet.edu.au/debian-cd/2.2_rev0/i386/binary-i386-2.list
$ wget http://mirror.aarnet.edu.au/debian-cd/2.2_rev0/i386/binary-i386-3.list

3.9.5 Download Debian Packages

Now download from a local server the actual packages that will make up the contents of the CD-ROM:

$ ./make-pseudo-image binary-i386-1.list ftp://ftp.au.debian.org/debian

This takes quite a while! The end product is a file called pseudo-image. All the other pseudo-image* files can be removed (they’re used to keep track of where things were up to in case the download is interrupted).

This download is called the pseudo image because it’s an approximation of the real image! It’s pretty close, but not yet guaranteed perfect. It is a simple process to now turn it into an official image:

$ mv pseudo-image binary-i386-1.iso
$ rsync --verbose --progress --stats --block-size=8192 \
  mirror.aarnet.edu.au::debian-cd/2.1_r4/i386/binary-i386-1.iso . 

This uses rsync to synchronise your CD-ROM image with the official one. When this is complete you can burn this CD-ROM image directly to CD-ROM. Most CD-ROM burning software supports burning iso images directly.

Some other useful rsync commands allow you to hunt around the directory structure of an rsync server. Some useful commands are:

List contents of the rsync server’s root directory

$ rsync mirror.aarnet.edu.au::

List the contents of another directory

$ rsync --dry-run mirror.aarnet.edu.au::debian-cd/2.2_rev0/*

3.9.6 CD-ROM Packages from APT

You can tell apt-get to obtain packages from a selection of CD-ROMs with the following:

  # apt-cdrom add

Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0