Revision 6 as of 2005-11-17 01:31:14

Clear message

This page will describe how to make a cd which contains packages you have downloaded on one machine using apt or synaptic. The cd will be a repository that you can easily use on another machine using synaptic or apt-cdrom.

For example, I will show how to make a cd which contains the xubuntu-desktop package with all of it's dependancies.

The user of the cd will not need to use the command-line.

Step one Install the apt-move package

sudo apt-get install apt-move

(Or just use synaptic)

I change the setting in /etc/apt-move.conf from




So that a file with the contents of the packages will be created.

Step two Download the packages you want to put on the cd

In this example, we are starting from a freshly-installed system. We need to clean out the cache of packages in /var/cache/apt/archive. If you have already installed other packages, be sure that you leave them there so that they are put on your custom cd.

So, delete every package in /var/cache/apt/archives

{{{sudo rm /var/cache/apt/archives/*.deb }}}

And then install (or just download the xubuntu-desktop packages)

sudo apt-get -d install xubuntu-desktop

This will put the packages in /var/cache/apt/archives. Apt-move will look there by default.

Step three Run apt move to create the archive structure

Make sure you have enough disk space first.

{{{sudo apt-move get sudo apt-move move sudo apt-move packages }}}

It would seem that some ubuntu packages are not inserted into the packages.gz file by apt-move. Is this because of some ubuntu-specific reposiitory structure? You must delete the Packages.gz file and remake it with dpkg-scanpackages. Make the directory writable and then cd into it and run:

cd /mirrors/debian/dists/stable/main/binary-i386

sudo dpkg-scanpackages ../../../../pool/ /dev/null > Packages

You can identify the cd by making a .disk directory and making an info file in it.

Make the /mirrors/debian direcory writable and do

{{{mkdir /mirrors/debian/.disk echo "Custom packages" $(hostname) $(date +%y%m%d) > /mirrors/debian/.disk/info }}}

Step four Burn the cd

Copy the contents of what is contained in /mirrors/debian to a cd.

On a non-networked ubuntu machine, you can run synaptic, insert the cd and go into Synaptic -> Edit -> Add Cdrom and it will add the contents of the cd to your repositories.

You can also do it from the command-line with

sudo apt-cdrom add

** To DO:

  • Add an override file so that you can use pinning on the offline repository packages.