[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Setting up a local mirror



I apologise if this has been covered before.  I have searched the
archives and have not found any docs to help me out.

I am sysadmining a company with about 20 linux boxes, currently
running RedHat 7.3.  I am running Debian Sarge on my personal machine.

What I want to do is turn my personal machine into a local mirror so
when I go home at night, I do "apt-get update && apt-get upgrade" then
in the morning I update the package lists from all the other machines.

I'll then download the packages to my machine using "apt-get
--download-only" and use that as the mirror for all the other
packages.  This is because I am not likely to be running BIND on my
own personal computer.

At the moment I am using this script to deal with Packages and Release:

components="main contrib non-free"

for x in $components ; do
        varpath="/var/lib/apt/lists/ftp.de.debian.org_debian_dists_testing_$x"_binary-i386
        wwwpath="/var/www/debian/dists/testing/$x/binary-i386"

        rm "$wwwpath"/Release
        rm "$wwwpath"/Packages
        rm "$wwwpath"/Packages.gz
        cp "$varpath"_Release "$wwwpath"/Release
        cp "$varpath"_Packages "$wwwpath"/Packages
        gzip "$wwwpath"/Packages
        cp "$varpath"_Packages "$wwwpath"/Packages
done

I know its not "The Right Way(tm)"  but it works :)

My problem comes when I try to download a package such as sfs it wants
to get the file from
http://myhost/debian/pool/main/binary-i386/sfs/filename.deb

The problem is on my server, I have everything in
http://myhost/debian/pool/ with no directory structure.  I don't want
to go about specifically mirroring certain files all the time, but
rather download using "apt-get --download-only" when I need the file. 
How can I either make the client machine download everything from
http://myhost/debian/pool/ or easily restructure the directory where I
am storing everything?  Preferably the latter option.

TIA

-John



Reply to: