Creating 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 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".
Create an Debian installer CD image which contains all currently installed packages:
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.
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/
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
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/
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