Building Customized Debian CDs

There is a well documented official way to create standard Debian CDs. However, sometimes it is nice to have a CD or DVD which just contains a subset of Debian Packages to fit personal needs. The following script is made for creation of such a CD image. By default, it fetches all packages installed on the local computer from the apt package source.

Bevor running the script make sure all packages installed on your system are available for apt-get. If in doubt update the package repository and clear the apt cache by running

# apt-get update && apt-get upgrade -y && apt-get clean

Examples

$ ./make-debian-cd-sarge.sh
$ make-debian-cd-etch.sh -h
Usage: make-debian-cd-etch.sh [Options]

Options (argument required):
  -i Image name                  [debian-etch-20070715]
  -c CD-Rom mount point          [/media/cdrom0]
  -s Selection                   [localhost]
  -v Installer version           [current]
  -m Install dir medium          [network]
  -d Debian mirror               [http://ftp.de.debian.org/debian]
  -e Path to extra packages      [.] (Current directory)
  -a List of additional packages (Comma separated)

Options (no argument):
  -O Don't use override files
  -I Don't include install dir
  -M Don't create CD image
  -V Verify CD image size before making the image

Selection may be a text file generated by "dpkg --get-selections".
$ ./make-debian-cd-sarge.sh -m cdrom -e /media/cdrom0/meine-lieblings-debs/
$ ./make-debian-cd-sarge.sh -m cdrom -O
$ ./make-debian-cd-sarge.sh -I -d http://debian-mirror/debian/ -u http://debian-mirror/debian/
$ ./make-debian-cd-sarge.sh -s pakete-aller-rechner.txt -a pcmcia-cs,xteddy

Note that the CD Rom will contain packages you probably would not install on a typical workstation or server, such as base-config, dhcp-client or debootstrap.