AptMoveHowto
4703
Comment: Make it really work on breezy
|
4384
Ubuntu is automounted man
|
Deletions are marked like this. | Additions are marked like this. |
Line 37: | Line 37: |
Next, we delete packages that exists in the Ubuntu CD. Put your Ubuntu CD on CD-ROM Drive then run the following: | Next, we delete packages that exists in the Ubuntu CD. Put your Ubuntu CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following: |
Line 56: | Line 56: |
All the following command run as root: | All the following command run as root. First we clean-up previous mirrors (if exists) then we run apt-move. |
Line 73: | Line 74: |
We must also remake Release file: | We must also remake Release file, to do this we must make an apt configuration file named ~/myapt.conf it contents is like this |
Line 75: | Line 76: |
apt-ftparchive release dists/breezy/ >> dists/breezy/Release | APT::FTPArchive::Release { Origin "APT-Move"; Label "APT-Move"; Suite "breezy"; Codename "breezy"; Architectures "i386"; Components "main restricted"; Description "Ubuntu Updates CD"; }; |
Line 78: | Line 87: |
Next, edit the Release file so it looks like this: | Next, run the following commands: |
Line 80: | Line 89: |
Origin: APT-Move Label: APT-Move Suite: breezy Codename: breezy Date: Sat, 14 Jan 2006 08:49:42 UTC Architectures: i386 Components: main Description: Ubuntu-Updates MD5Sum: cf3c2af8788837055411304a1a67bc33 32703 main/binary-i386/Packages.gz 8441b8013080986d418764ff332ed520 84 main/binary-i386/Release b6aa558537081fab561ecf8394ef222d 2006 restricted/binary-i386/Packages.gz e592633392ed258f5a2612567f0a2373 90 restricted/binary-i386/Release SHA1: ba71033fe43887d53133105a7ebd4ccfcc46d099 32703 main/binary-i386/Packages.gz 8c3ffb334d44d4189b42fa11277fcf8630a1c988 84 main/binary-i386/Release 2d0dc5e049a785d09fdd211b13ed9a90451ecea2 2006 restricted/binary-i386/Packages.gz 7b96af30236517786c4b17b2292c893250d40ac2 90 restricted/binary-i386/Release |
rm dists/breezy/Release apt-ftparchive release dists/breezy/ > Release mv Release dists/breezy/Release |
Line 100: | Line 94: |
Then we need to make Release.gpg, to make it you must already have [[GPG]] set and ready to sign. | Then we need to make Release.gpg, to make it you must already have your [[GPGKey]] set and ready to sign. |
Line 139: | Line 133: |
Before you could use the CD, you need to add our GPG key to apt GPG keys. | Before you could use the CD, you need to add our GPG key to apt GPG keys. Put the CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following: |
Line 142: | Line 136: |
mount /cdrom | |
Line 144: | Line 137: |
umount /cdrom | |
Line 147: | Line 139: |
Then you could use the CD like any other Ubuntu CD. |
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 all the security updates that has been downloaded.
Except for adding new apt PGP keys, the user of the cd will not need to use the command-line to use it.
Step one Install the apt-move package
Apt-move is a tool for creating a debian package repository file structure out of packages that have been downloaded to /var/cache/apt/archives. Installed packages are downloded there by apt for installation. Apt-move will create this local repository in /mirrors/debian, by default.
sudo apt-get install apt-move
(Or just use synaptic) You need to enable the universe repository. See AddingRepositoriesHowto
I change the setting in /etc/apt-move.conf from
COPYONLY=no
to
COPYONLY=yes
So that apt-move doesn't delete file from your /var/cache/apt/archives/.
Step two Select the packages you want to put on the cd
In this example, we only want to put freshly downloaded packages. We don't want to put old packages or packages that exist in Ubuntu CD.
First, we clean up the /var/cache/apt/archives from old packages.
sudo apt-get autoclean
Next, we delete packages that exists in the Ubuntu CD. Put your Ubuntu CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following:
for f in `find /media/cdrom/pool/ -name '*.deb' -printf %f\\n` do if [ -f /var/cache/apt/archives/$f ]; then sudo rm -v /var/cache/apt/archives/$f fi done
Step three Run apt move to create the archive structure
Make sure you have enough disk space first.
Because /mirrors/debian is root owned we must become root to make the steps easier.
sudo -s
All the following command run as root. First we clean-up previous mirrors (if exists) then we run apt-move.
rm -rf /mirrors/debian apt-move -d breezy update
Because ubuntu repository structure, not all packages are inserted into the Packages.gz file by apt-move. We must remake Packages.gz with the help of apt-ftparchive.
cd /mirrors/debian apt-ftparchive packages pool/main/ \ | gzip -9c > dists/breezy/main/binary-i386/Packages.gz apt-ftparchive packages pool/restricted/ \ | gzip -9c > dists/breezy/restricted/binary-i386/Packages.gz
We must also remake Release file, to do this we must make an apt configuration file named ~/myapt.conf it contents is like this
APT::FTPArchive::Release { Origin "APT-Move"; Label "APT-Move"; Suite "breezy"; Codename "breezy"; Architectures "i386"; Components "main restricted"; Description "Ubuntu Updates CD"; };
Next, run the following commands:
rm dists/breezy/Release apt-ftparchive release dists/breezy/ > Release mv Release dists/breezy/Release
Then we need to make Release.gpg, to make it you must already have your GPGKey set and ready to sign.
gpg -bao dists/breezy/Release.gpg dists/breezy/Release
Next, we delete unwanted .apt-move directory
rm -rf .apt-move
You can identify the cd by making a .disk directory and making an info file in it.
mkdir .disk echo Ubuntu-Updates `date +%Y-%m-%d` > .disk/info
Then we need to put our public keys in it.
gpg --export -a "Zakaria" > public.key
Thats' all
exit
Step four Burn the cd
Copy the contents of what is contained in /mirrors/debian to a cd.
For example you could make an iso by following command:
mkisofs -r -A "Ubuntu Updates `date +%Y%m%d`" -o ubuntu-updates.iso \ /mirrors/debian
Before you could use the CD, you need to add our GPG key to apt GPG keys. Put the CD on CD-ROM Drive, mount it (if it not automatically mounted) then run the following:
apt-key add /cdrom/public.key
Then you could use the CD like any other Ubuntu 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
AptMoveHowto (last edited 2008-08-06 16:19:39 by localhost)