Newer
Older
invertedlogic / Scripts / setup_mirror_ubuntu.sh
#!/bin/bash

if [ ! "$UID" = "0" ]
then
   echo "This script requires being run as root, eg: \$ sudo $0"
   exit
fi

if [ ! `crontab -l | grep "apt-mirror" -c` = "0" ]
then
   echo "Bailing out early. It appears that apt-mirror is already install and run by cron"
   echo "Perhaps you have already installed this before"
   exit
fi

if [ -d /var/www/ubuntu ]
then
   echo "Bailing out early. It appears that /var/www/ubuntu already exists"
   echo "Perhaps you have already installed this before"
   exit
fi

echo -e "`crontab -l`\n`echo '2 */12 * * * /usr/bin/apt-mirror'`" | crontab -

apt-get install apt-mirror apache2

if [ ! -d /var/www ]
then
   echo "Bailing out early. It appears that /var/www doesnt exist"
   echo "Perhaps there is a problem with your apache2 installation"
   exit
fi

mkdir -p /home/apt-mirror/ubuntu
chown -R apt-mirror:apt-mirror /home/apt-mirror
ln -s /home/apt-mirror/ubuntu /var/www/ubuntu

mv /etc/apt/mirror.list /etc/apt/mirror.list.orig
cat > /etc/apt/mirror.list << EOF
set nthreads 12
set _tilde 0
set base_path /home/apt-mirror/ubuntu

deb-i386 http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse

deb-i386 http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
deb-i386 http://archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse

clean http://archive.ubuntu.com/ubuntu
EOF

echo
echo If you want to use this repsoitory, edit the file /etc/apt/sources.list and add lines like follows:
echo
echo deb http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse
echo deb-src http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse
echo deb http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse
echo deb-src http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse
echo deb http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse
echo deb-src http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse
echo
echo deb http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
echo deb http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
echo deb http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
echo deb-src http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
echo deb-src http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse
echo deb-src http://localhost/ubuntu/mirror/archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse
echo
echo Modify the host name to suit for client machines other than the local machine
echo

su - apt-mirror -c apt-mirror