📌 19 de Outubro, 2023

Debian: Notes About ISO Images and Offline Archives

Informática · Linux

📌 19 de Outubro, 2023

Debian: Notes About ISO Images and Offline Archives

Informática · Linux

A few notes about what ISO images Debian offers and how to download them. I’ll also provide some useful tips on how to use Jigdo to archive the complete Debian repository into ISO images.

Where to Download?

Depending in your needs there usually three major links from where to download Debian images:

You may also look for a mirror in your country at https://www.debian.org/CD/http-ftp/#mirrors.

Why Are There Multiple Image Types?

Images are created for each CPU architecture such as amd64 or arm64 but also for different target installation media from small flash drives to large Blu-ray disks. Smaller images will not contain everything, some of them might not even be able to install a system without a working Internet connection. There are lots of subdirs with cryptic names on the links above. No fear, it is neat and simple.

Prefix meaning:

bt-Torrent files for ISO images
iso-ISO images
jigdo-Template files to reconstruct ISO images with jidgo tool
list-List of debs available in corresponding images

Suffix means size of images based on media capacity:

-bdBlu-ray
-cdCD
-dvdDVD
-dlbdDouble layer Blu-ray
-16G16 GB USB stick

What Image Should I Pick?

For the majority of users picking netinst or iso-cd image from https://www.debian.org/distrib/ is usually the right choice. The “net” in the name does not mean it requires network to do its job however since it is small image (CD size), without network it can only install the base system. Otherwise there is a dialog to pick a desktop environment to download and install.

There also the iso-dvd images, for eg. debian-12.2.0-amd64-DVD-1.iso. They’re similar to the netinst CD images but with all desktops bundled. Using this image you can install Debian with GNOME, KDE etc. on an offline machine.

Note that in Debian 12 there are 12 DVD images, the first one should include the most common and required software. Images have packages sorted by popularity so the DVD number 12 contains the least popular packages.

Image Generation With Jigdo

Larger images, such as Blu-ray, aren’t available for HTTP download however the Debian project provides Jigdo template files that can be used to build those images from the repositories. Jigdo makes it possible and easy to create offline images containing with all packages the repository has to offer.

The reason behind providing only a few ISO images as-is and the rest as Jigdo is that most people only need an installer, not the complete set of packages. This way Debian mirrors don’t waste disk space on stuff very rarely used yet still provide an option to get those extra images.

The first image in a set contains the installer and some of the most popular debs. The rest only provide debs. The images can be used as local repositories to reduce network usage or use Debian on an offline system. Complete sets of DVDBD and DLBD ISO images contain the same set of debs, namely all Debian packages. The single 16G image is severely cut down compared to other variants.

jigdo-dvd additionally provides cumulative update images for point releases. For example, using just two debian-update-12.2.0-amd64-DVD-X.iso images one can upgrade an offline machine to 12.2.0 from any state down to stock 12.0.0.

Here is how you can build an ISO image with Jigdo:

  1. Install Jigdo with apt-get install jigdo
  2. Run jigdo-lite with an URL to some of the .jigdo template files
  3. When asked for Debian mirror to use, make it http://deb.debian.org/debian or your local mirror

So for example to create all of the Blu-ray ISOs for a regular Intel/AMD 64-bit machine you can:

jigdo-lite https://cdimage.debian.org/debian-cd/current/amd64/jigdo-bd/debian-12.2.0-amd64-BD-{1,2,3,4}.jigdo

I may provide http://ftp.rnl.tecnico.ulisboa.pt/pub/debian/ as a Debian mirror as it is the closest to me.

Mass Image Generation for Multiple Architectures

If you wish to generate all possible images – containing all Debian packages – for multiple architectures then this section is for you.

A great feature of Jigdo is its ability to create smaller images from larger ones offline. This means that if you download all the Blu-ray images and the templates, you’ll be able to generate CDs, DVDs, and other formats without an internet connection.

## AMD64
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/amd64/jigdo-bd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/amd64/jigdo-dvd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/amd64/jigdo-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/amd64/list-bd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/amd64/list-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/amd64/list-dvd/
cd cdimage.debian.org/debian-cd/current/amd64/jigdo-bd
jigdo-lite *.jigdo
cd ../../../../../

## i386
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/i386/jigdo-bd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/i386/jigdo-dvd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/i386/jigdo-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/i386/list-bd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/i386/list-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/i386/list-dvd/
cd cdimage.debian.org/debian-cd/current/i386/jigdo-bd
jigdo-lite *.jigdo
cd ../../../../../

## ARM64 - 64-bit ARM-powered devices
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/arm64/jigdo-dvd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/arm64/jigdo-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/arm64/list-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/arm64/list-dvd/
cd cdimage.debian.org/debian-cd/current/arm64/jigdo-dvd
jigdo-lite *.jigdo
cd ../../../../../

## ARMEL - Older 32-bit ARM devices, NAS hardware and a variety of *plug computers
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armel/jigdo-dvd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armel/jigdo-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armel/list-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armel/list-dvd/
cd cdimage.debian.org/debian-cd/current/armel/jigdo-dvd
jigdo-lite *.jigdo
cd ../../../../../

## ARMHF - Newer 32-bit ARMv7 devices
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armhf/jigdo-dvd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armhf/jigdo-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armhf/list-cd/
wget -e "robots = off" -m -k -np -R "index.html*" https://cdimage.debian.org/debian-cd/current/armhf/list-dvd/
cd cdimage.debian.org/debian-cd/current/armhf/jigdo-dvd
jigdo-lite *.jigdo
cd ../../../../../

The commands above will download templates for all possible images (wget sections) and, at the end, build the largest images available for each architecture.

Once you have created the larger images, you can change the directory, for example, to list-cd, and run jigdo-lite *.jigdo. It will prompt you to scan existing media, so point it to the larger images, and it will proceed to build the smaller CD images offline.

Now you’ve a working archive of Debian. Enjoy!