Miroir de paquets debian/ubuntu

Il peut être très utile et judicieux d’avoir un mirroir de paquets debian sur son réseau, dans le cas d’un grand réseau de serveurs debian, par exemple vous disposez de 30 machines et vous avez à patcher chacune d’elles, sans mirroir, vous allez télécharger 30 fois votre paquet alors qu’avec un serveur miroir Debian, vous n’aurez simplement à le télécharger une seule fois et votre bande passante internet sera soulagée.

Cette solution est très utilisée en entreprise cependant, sachez qu’il vous faudra beaucoup d’espace disque car vous allez répliquer tous les paquets disponibles, si vous copiez tous les paquets disponibles, vous devrez réserver aux environs de 400 Go mais, si choisissez uniquement votre architecture (i386, amd64, ia64, etc.) vous devrez réserver environ 30 Go d’espace pour votre miroir.

1. Pré-requis

Vous aurez besoin d’un serveur web installé sur votre serveur miroir avec cette configuration suivante pour votre vhost :

Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription

Pour vous aider à configurer le serveur web, reportez-vous aux sujets en rapport avec apache dans la section ‘articles’

2. Installation du paquet apt-mirror

apt-mirror va se charger de faire une énorme partie de notre travail, il
va pratiquement se charger de tout

aptitude install apt-mirror

3. Création de l’arborescence pour le miroir

mkdir /miroir# cd /miroir# mkdir mirror skel var

4. Création du fichier de configuration

A la racine de votre répertoire /miroir créez un fichier et entrez les lignes suivantes :

set mirror_path /miroir/mirrorset skel_path /miroir/skelset var_path /miroir/varset cleanscript /miroir/clean.shset defaultarch amd64set nthreads 4
 
set _tilde 0deb http://security.debian.org/ lenny/updates main contribclean http://security.debian.org/
  • Les 4 premières lignes servent à régler le chemin vers les différents dossiers que vous avez crées.
  • La cinquième ligne est le chemin qui indique où est le script qui permettera de faire le ménage après une synchronisation des dépots.
  • La sixième ligne va indiquer à apt-mirror le type d’architecture qui vous intéresse par défaut, ici on a choisi amd64
  • La septième ligne est le nombre de threads que vous souhaitez créer pour la synchronisation, sachez que plus vous en aurez, plus votre CPU & votre bande passante seront sollicités.
  • Les lignes commençant par deb sont les données que vous voulez rapatrier.

5. Lancement d’apt-mirror

Pour lancer apt-miror vous n’avez qu’a entrer cette commande :

apt-mirror /miroir/fichier_de_config

Une fois la touche entrée pressée, la copie des fichiers est en cours, il ne vous reste plus qu’a attendre la fin des téléchargements. Pour information, il n’y a aucune barre de progression vous la connaîtrez en utilisant la commande top.

6. Utilisation du miroir

Sur le miroir :

deb /miroir main contrip

Sur une autre machine

deb http://192.168.1.250/local/ main contrib

Où 192.168.1.250 représente votre miroir et local le dossier dans lequel sont stockés les fichiers.

7. Mises à jour des paquets

Pour mettre à jour les paquets, tapez cette commande dans le terminal :

apt-miror /miroir/fichier_de_conf

Ne mettez pas trop souvent votre serveur à jour, ca vous risqueriez d’être banni par le serveur qui vous sert de sources. Plusieurs serveurs déconseillent la synchronisation à certaines heures car ils sont en train de se mettre à jour eux-mêmes. Si vous ne respectez pas ces heures, vous prenez le risque d’avoir un dépôt incomplet. L’archive principale est mise à jour quatre fois par jour. En général les miroirs commencent à se mettre à jour à partir de 03:00, 09:00, 15:00 et 21:00 (UTC), mais ce ne sont pas des horaires fixes et vous ne devriez pas régler votre opération de miroir à ces horaires.

8. Mises à jour automatiques

Pour mettre à jour automatiquement votre dépot local, utilisez une tâche cron avec la commande précédente.

9. Rendre son miroir ouvert à la communauté

Vous pourrez si vous le souhaitez « offrir » un autre serveur de dépôts debian à la liste officielle ici : http://www.debian.org/mirror/submit et votre serveur sera répertorié ici : http://www.debian.org/mirror/list

10. Ubuntu

La distribution Ubuntu étant basée sur Debian, vous n’avez qu’à utiliser les manipulations précédentes en les modifiant par des dépôts ubuntu pour rendre votre serveur dépôts opérationnel pour Ubuntu.