Apt-proxy is designed to minimize the download amount
for .debs and sources.  Here some tricks one can
use with an apt-proxy server on a laptop to update
clients that have no (or a very slow) internet connection.

Material here is 'works for me'.  No guaranty that it
works for you as want or wish  ;)

1) apt-get update and apt-get dist-upgrade the laptop
   with the apt-proxy server as long as you have a
   'fast' internet connection.

   If you have a list of additional pkgs you want to
   serve [see 5) and (*) at the end]
   
     apt-get --download-only install `cat my-deb.list`

At home or friends place:

2) set min_refresh_delay to a high value like 10000h
   so apt-proxy does not try to update the Packages
   and Sources file.  Restart apt-proxy

   	/etc/init.d/apt-proxy restart

3) Optional: Disable access internet of the host
   running apt-proxy.

4) On the client(s): modify sources.list to use the
   your apt-proxy server and run apt-get update.

5) On the client(s) start 'apt-get dist-upgrade'.
   Depending on 3), only pkgs missing in apt-proxy
   server are downloaded from the internet or
   you get a download failure.

6) Create a list of pkgs that failed or are downloaded
   in 5) and the next time update them on the
   apt-proxy server as described in 1. See also (*)
   below.

7) Reset min_refresh_delay to old value in apt-proxy.conf
   and restart apt-proxy.


Notes:

(*) How to make sure that pkgs are in apt-proxy cache
    and up to date:

    On apt-proxy client(s) you can create a list of
    installed pkgs with

    	dpkg --get-selections | awk '/\<install\>/ {print $1}' > myX-deb.list

    Merging lists of several clients:

    	sort my1-deb.list my2-deb.list ... | uniq > my-deb.list
     
    On the apt-proxy server preload the pkgs:

    	apt-get --download-only install `cat my-deb.list`
	apt-get clean

 -- Achim Bohnet <ach@mpe.mpg.de>