On Thu, 2004-01-15 at 06:36, Mark Post wrote:

> part of the installation process asks if it should check for updates.  It
> would be nice if we had a local-to-the-lab APT server so that we could let
> them see what that looks like, without killing the T1 connection.
>
> So, can anyone point me to a step-by-step procedure on how to set that up?
> I'm not terribly Debian literate myself, so it would have to be pretty
> detailed.

It's pretty simple. First you need to build the apt package for your
distribution. The package installs both on the server and the clients.

On the server you store and loop-mount all ISO images and other packages
in your public ftp directory. I found it handy to build the apt
repository out of symlinks to all those RPM packages (with cp -sr). You
then run genbasedir on the repository to generate the indexes, and then
apt-get update on the clients.
The biggest gotcha I believe is the way you define the directories for
the repository. If you want to provide different views on the repository
(e.g. with or without the latest service) you keep the packages in
different directories, e.g. like this:

SuSE-8/SRPMS.os/
SuSE-8/SRPMS.sp3/
SuSE-8/suse/RPMS.os/
SuSE-8/suse/RPMS.sp3/

The clients specify in /etc/apt/sources.list which components to use:
 rpm  ftp://ftpserver.your.com/SuSE-8 suse os sp3

When you believe your repository is very stable you might consider to
give each client a R/O link to a disk that holds all your RPM packages
and install directly from there. This way you avoid the cost of copying
the files over the network, but have apt-get install directly from disk.
The neat thing is that you can do this for part of your repository:
 rpm  file:///mnt/SuSE-8 suse os
 rpm  ftp://ftpserver.your.com/SuSE-8 suse sp3
This way you get most packages directly from disk, and still can add new
packages to the repository. And apt-get takes care of finding the latest
version of the package.

Rob

Reply via email to