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
