Créer son miroir local Ubuntu et Debian
Voici un tuto basé sur APT-MIRROR pour vous aider à créer un ou des miroirs locaux pour les dépôts Ubuntu et Debian.
Le premier pré-requis concerne l’espace disque à allouer. Comptez environ 50 à 60 Go pour l’ensemble des dépôts stables Debian main contrib non-free, security et volatile, et stables Ubuntu, updates, security main universe multiverse restricted.
Dans ce tuto les miroirs seront stockés sur un disque externe attaché à un serveur Debian Lenny et toutes les commandes sont tapées en root (pas bien )
on installe apt-mirror apt-get install apt-mirror
Ensuite on crée le point de montage du disque externe par exemple dans /mnt ici mon disque est /dev/sde2 (pour connaitre les partitions de vos disques à monter faîtes cat /proc/partitions
)
mkdir /mnt/miroirs mount /dev/sde2 /mnt/miroirs
On peut créer également une entrée dans le fstab:
/dev/sde2 /mnt/miroirs ext3 defaults 0 0
On crée l’arborescence dans /mnt/miroirs:
mkdir -p /mnt/miroirs/{mirror,skel,var} chown -R apt-mirror:apt-mirror /mnt/miroirs chmod -R 755 /mnt/miroirs
on passe ensuite à la configuration de APT-MIRROR. Le fichier est /etc/apt/mirror.lists voici le mien expliqué:
############# config ##################
#
set base_path /mnt/miroirs
#
# if you change the base path you must create the directories below with write privlages
#
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
#set cleanscript $var_path/clean.sh
set defaultarch i386
set nthreads 20
set _tilde 0
#
############# end config ##############
#Ubuntu Karmic Koala
deb http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
#
#Debian Lenny
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
#
clean http://fr.archive.ubuntu.com/ubuntu
clean http://ftp.fr.debian.org/debian
clean http://security.debian.org
clean http://volatile.debian.org/debian-volatile
La directive set base_path spécifie où va être le miroir ici dans /mnt/miroirs (par défaut dans /var/spool/apt-mirror)
On décommente les lignes qui viennent après.
La directive set defaultarch i386 spécifie que l’on ne veut les paquets destinés uniquement aux architectures i386
La directive set nthreads 20 spécifie que l’on souhaite 20 instances de téléchargemement simultanées.
Après ############# end config ##############, on trouve les dépôts que l’on souhaite répliquer.
Les directives à la fin du fichier servent à libérer un peu d’espace disque le cas échéant.
Voilà tout est fin prêt on peut lancer la synchronisation:
apt-mirror /etc/apt/mirror.list Downloading 60 index files using 20 threads... Begin time: Fri Nov 6 11:22:02 2009 [20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... End time: Fri Nov 6 11:22:07 2009 Proceed indexes: [PPPPPP] 0.0 bytes will be downloaded into archive. Downloading 0 archive files using 0 threads... Begin time: Fri Nov 6 11:22:21 2009 [0]... End time: Fri Nov 6 11:22:21 2009
Ici apt-mirror ne télécharge rien (0.0 bytes will be downloaded into archive.
Downloading 0 archive files using 0 threads…
Begin time: Fri Nov 6 11:22:21 2009
[0]…
End time: Fri Nov 6 11:22:21 2009) car mon miroir est mis à jour toutes les demi-heures.
A la fin du téléchargement (12 heures chez moi) les miroirs sont répliqués. Nous allons maintenant créer des liens symboliques vers /var/www afin de «servir» les paquets aux machines clientes:
ln -s /mnt/miroirs/mirror/volatile.debian.org/debian-volatile /var/www/debian-volatile ln -s /mnt/miroirs/mirror/security.debian.org/ /var/www/debian-security ln -s /mnt/miroirs/mirror/ftp.fr.debian.org/debian /var/www/debian ln -s /mnt/miroirs/mirror/security.ubuntu.com /var/www/ubuntu-security ln -s /mnt/miroirs/mirror/fr.archive.ubuntu.com /var/www/ubuntu
On modifie maintenant les sources.list des machines clientes:
леглаDebian Lenny: vim /etc/apt/sources.list deb http://127.0.0.1/debian/ lenny main contrib non-free deb http://127.0.0.1/debian-security/ lenny/updates main contrib non-free deb http://127.0.0.1/debian-volatile/ lenny/volatile main contrib non-free
Comme vous pouvez le constater l'ip est locale car c'est ce serveur qui héberge les miroirs
Ubuntu Karmic: deb http://IP_Serveur/ubuntu/ karmic main restricted universe multiverse deb http://IP_Serveur/ubuntu/ karmic-updates main restricted universe multiverse deb http://IP_Serveur/ubuntu-security/ karmic-security main restricted universe multiverse
On update les dépôts:
apt-get update
et c'est fait !!!
On automatise les synchros des mirroirs:
crontab -e */30 * * * * /usr/bin/apt-mirror /etc/apt/mirror.list
Ici toutes les demi-heures.