You have to serve your mirror with a web server, i use apache, but you may use nginx or lighttpd, in fact nginx and lighttpd is better for serving static file, so it s better to use it, but this server is not in front of internet so it s for internal use only, performances are not a problem. I shoudn't have to change my web setup just for 1 server.
For Redhat like system (Centos, Scientific linux,...) you mays use any distrib, but if you want a debian mirror, it's a pain in the ass with a distrib other than debian like (because of apt-mirror), so I use a debian system for all my mirror infrastructure.
Recently i use a btrfs file system, because i can extend it easily, defrag, make a snapshot before backuping, and it works well.
Before i use btrfs i use xfs, because ext[34] may have trouble with many file on it (inode resctrictions) and reizerfs is,....sorry,
LIST_VERSION="6 6.0 6.1 6.2"for version in $LIST_VERSION; do rsync -avkSH --delete --exclude=archive/debuginfo --exclude=archive/obsolete --exclude=SRPMS --exclude=i386 --exclude=x86_64/iso rsync://rsync.scientificlinux.org/scientific/$version/ $version/doneadjust LIST_VERSION to suit you, you can ot not exclude i386 system (i don t include it, who use 32 bits system ?)
set or not RSYNC_PROXY
Shit, mirror for Centos is only for the last version.
LIST_VERSION="5 6"for version in $LIST_VERSION; do rsync -avSHP --delete --exclude="local*" --exclude="*/i386" --exclude="iso" rsync://ftp.belnet.be/centos/$version/ $version/doneI use apt-mirror for this
create a config file and use it.
apt-mirror.conf:
############# config ###################set base_path /data/mirror/ubuntuset mirror_path $base_path/mirrorset skel_path $base_path/skelset var_path $base_path/varset cleanscript $var_path/clean.shset defaultarch amd64#set run_postmirror 0set nthreads 10set _tilde 0#### distrib - precise - ###deb http://cdn.archive.ubuntu.com/ubuntu precise main/debian-installer# Repositorydeb http://cdn.archive.ubuntu.com/ubuntu precise main restricted universe multiversedeb http://cdn.archive.ubuntu.com/ubuntu precise-security main restricted universe multiversedeb http://cdn.archive.ubuntu.com/ubuntu precise-updates main restricted universe multiversedeb-i386 http://cdn.archive.ubuntu.com/ubuntu precise main restricted universe multiversedeb-i386 http://cdn.archive.ubuntu.com/ubuntu precise-security main restricted universe multiversedeb-i386 http://cdn.archive.ubuntu.com/ubuntu precise-updates main restricted universe multiverse#### distrib - squeeze - ###deb http://ftp.fr.debian.org/debian squeeze main/debian-installer# Repositorydeb http://ftp.fr.debian.org/debian squeeze main contrib non-freedeb http://ftp.fr.debian.org/debian-security squeeze/updates main contrib non-free#### cleaningclean http://cdn.archive.ubuntu.com/ubuntuclean http://ftp.fr.debian.org/debianAnd after seeting it you can start to mirror it.
apt-miror apt-mirror.confSame as before if you are behin a proxy you may use this env http_proxy='<host>:<port>' or set it in apt.conf
echo 'Acquire::http::Proxy "http://hal.paris.exalead.com:8118";' >/etc/apt/apt.conf.d/99proxy