Home/IT/Debian/Customized CD  

Debian GNU/Linux  

 

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 configured apt package sources.

  • make-debian-cd.shFor Debian GNU/Linux 6.0 (squeeze). For amd64. Version 20110515.28 K

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

 

Call the script with the -h flag to get all avaliable options:

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

Options:
  -i Image name                  [debian-squeeze-20110528]
  -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      [.]
  -a List of additional packages (Comma separated)

  -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".

Examples

 

Example 1
Create an Debian installer CD image which contains all currently installed packages:

$ ./make-debian-cd-etch.sh

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

 

Example 2
Fetch the installer packages from CD-Rom instead of network mirror. Add all local packages found in the root of the specified directory:

$ ./make-debian-cd.sh -m cdrom -e /home/debian/my-favorites-debs/

 

Example 3
Fetch the installer packages from CD-Rom instead of network mirror. Don't include the override files from the network mirror. Thus do not use the network at all while creating the CD-Rom image.

$ ./make-debian-cd.sh -m cdrom -O

 

Example 4
Do not include the installer packages. Prefer a local debian mirror to fetch the override files from.

$ ./make-debian-cd-etch.sh -I -d http://local-debian-mirror/debian/

 

Example 5
Collect packages for several other hosts instead of the local one. Selection has been made by typing dpkg-get-selections on all hosts and combining it (uniq -s). Add extra packages not on the list.

$ ./make-debian-cd.sh -s packages-all-hosts.txt -a pcmcia-cs,xteddy