You can create a portable apt archive with a 10GiB portable hard disk, a little effort, and a bit of waiting.

Setting up

Install apt-move and set up /etc/apt-move.conf to point at your portable drive, e.g.

LOCALDIR=/Disks/Removable/USBDisk2/mirrors/debian

Set up your sources.list file as normal, putting the apt-move mirror first. e.g.:

 1. apt-move mirror
deb file:/Disks/Removable/USBDisk2/mirrors/debian/ unstable main contrib non-free

 1. Debian unstable
deb http://ftp.uk.debian.org/debian unstable main contrib non-free
deb http://ftp.uk.debian.org/debian-non-US unstable/non-US main
contrib non-free

#for mplayer etc
deb ftp://ftp.nerim.net/debian-marillat unstable main

#for cinelerra
deb http://www.kiberpipa.org/~minmax/cinelerra/builds/sid ./

The longwinded part is then to create a .exclude file (in the apt-move LOCALDIR) to prevent downloading every kernel version, foreign language file etc. etc. Depends what you won't want really. My .exclude file (based on the example that comes with apt-move) is below. It takes quite a bit of time using apt-move -t mirror (tell me what you think you're going to download) to tailor this to your requirements. Once you're happy it's a simple matter of:

apt-move mirror

And away it goes (took mine about 24 hours to download but I already had an apt-move mirror of everything I have installed on my PC so I was well on the way). From then on each time you give the same command it downloads the packages which have changed in the mean time. I don't intend to do that too often!

With the .exclude file below the mirror takes up just under 9GB.

Using it

Using the mirror is as easy as using a partial apt-move mirror. Just use aptitude (or whatever) as normal and the presence of the mirror as the first entry in the sources.list ensures files are taken from there before anywhere else.

Obviously the mirror disk needs to be attached and mounted. I use autofs to do the mounting automatically.

Enjoy! PeterSalisbury.

The excludes file

 1. Packages with bad Section entries which won't apt-move
 * /kmenc15_*
 * /inform_*
 * /tkirc_*
 * /trn_*
 * /ucspi-tcp-src_*
 1. kernel stuff - only interested in version 2.6 and up
  * /alsa-modules-2.[0-5]*
  * /hostap-modules-2.[0-5]*
  * /kernel-build-2.[0-5]*
  * /kernel-doc-*
  * /kernel-image-2.[0-5]*
  * /kernel-headers-2.[0-5]*
  * /kernel-patch-2.[0-5]*
  * /kernel-pcmcia-modules-2.[0-5]*
  * /kernel-source-2.[0-5]*
  * /kernel-tree-2.[0-5]*
  * /pcmcia-modules-2.[0-5]*
 1. Other archs - not really required according to man apt-move
 * -smp[-_]*
 * -ia64[-_]*
 * -amd64[-_]*
 * -em64[-_]*
 * -s390[-_]*
 * -em64t[-_]*
 1. Old versions
  * /gimp1*
 1. foreign language stuff
 * -af[-_]*
 * -ar_*
 * -bg_*
 * -bn_*
 * -bs_*
 * -ca_*
 * -cjk_*
 * -cs[-_]*
 * -cy_*
 * -da[-_]*
 * -de_*
 * -el_*
 * -eo_*
 * -es_*
 * -et_*
 * -eu_*
 * -fa_*
 * -fi_*
 * -fr_*
 * -ga[-_]*
 * -gl_*
 * -he[-_]*
 * -hi_*
 * -hr_*
 * -hsb_*
 * -hu_*
 * -is_*
 * -it_*
 * -ja_*
 * -kn_*
 * -ko_*
 * -lo_*
 * -lt_*
 * -mn_*
 * -ms_*
 * -nb_*
 * -nds_*
 * -nl_*
 * -nn_*
 * -ns_*
 * -pa_*
 * -pl_*
 * -pl-dev_*
 * -pl-html_*
 * -pt[-_]*
 * -ptbr_*
 * -ro_*
 * -ru_*
 * -se_*
 * -sk_*
 * -sl[-_]*
 * -sr_*
 * -sv_*
 * -ta_*
 * -tg_*
 * -th_*
 * -tn_*
 * -tr_*
 * -uk_*
 * -uz_*
 * -zh*
 * -su_*
 * arabic*
 * asian*
 * big5*
 * canna*
 * chinese*
 * european*
 * brazilian*
 * british*
 * cyrillic*
 * czech*
 * danish*
 * dutch*
 * french*
 * german*
 * greek*
 * italian*
 * japanese*
 * kakasi*
 * kanji*
 * norwegian*
 * polish*
 * portuguese*
 * spanish*
 * swedish*
 * wnn*
 1. Doc stuff
  * /doc-*
 * -doc[-_]*
 * -docs[-_]*
  * /doc-rfc_*
  * /w3-recs*
 * -book_*
 * -pdf_*
#
 1. magazines
  * /pj-9*
  * /lg-base*
  * /lg-issue*
#
 1. devel type stuff I don't need
#*-dev_*
 * m68k*
 * -dbg_*
 * -pic_*
 * -prof_*
  * /binutils-multiarch*
#
 1. Packages excluded because I don't have room
#----------------------------------------------------------------------
  * /9fonts*
  * /a4c.*
  * /abuse*
  * /ada-rm_*
  * /libace*
  * /aegis*
 * -altdev_*
  * /anarchism*
  * /aolserver*
  * /asiya*
  * /bb_*
  * /bigloo[-_]*
  * /bioperl_*
 * -biznet-*
  * /clips[-_]*
  * /crossfire*
  * /cvs[-_]*
  * /ddd_*
  * /docbook*
  * /dstool*
  * /elisp*
 * emacs*
  * /epic4[-_]*
  * /epic_3*
  * /erlang-*
  * /fidogate*
  * /fml_*
  * /gimp-manual*
  * /gnat*
hamradio/
  * /hbf-*
  * /icon[-ctx]*
  * /lapac-d*
  * /mercury_*
  * /mico-*
  * /ncbi-tools*
  * /networker*
  * /pact[-_]*
  * /picon*
  * /pike*
 * prolog*
  * /r-*
 * roxen*
  * /rscheme_*
  * /scalapack*
  * /scilab*
  * /slatec[-_]*
  * /sml-nj*
 * -static_*
  * /tabi-tsi_*
  * /tetex-src_*
  * /tochnog-doc*
 * tutorial*
  * /wordnet*
  * /xfntil2*
  * /xbooks*

ManagingPackages/PortableAptRepository (last edited 2005-03-31 07:00:57 by 80)