Créer votre propre mirroir de paquets Debian

debmirror est un petit outil qui va nous permettre de construire notre propre mirroir afin de pouvoir l'utiliser avec apt ou aptitude. La configuration du serveur peut être faite de façon à utiliser FTP ou HTTP.

Installation

La première chose à faire est d'installer debmirror et gnupg si celui-ci n'est pas déjà installé.

# apt-get install debmirror gnupg

Ensuite, nous devons récupérer la clef publique de l'archive officiel Debian afin de permettre à debmirror de fonctionner correctement :

# gpg --keyserver keyring.debian.org --recv-keys 0x2D230C5F 

Création du mirroir

Vous devez disposer de quelques Go de disponible pour toute l'archive de l'architecture i386 de Etch (contrib, main et non-free), il faut compter à peu près 12Go. Il faut noter que ceci n'inclus pas les paquets sources.

Voici la commande pour créer le mirroir :

# debmirror -v -a i386 -h ftp.fr.debian.org -d etch /chemin/vers/votre/mirroir
 --nosource --progress 

Méthode d'accès aux archives

L'accès au mirroir se fera via ftp et via http. Pour cela nous allons utiliser et configurer apache et vsftpd.

Installons apache :

# apt-get install apache2

Commençons par apache en modifiant son fichier de configuration /etc/apache2/apache2.conf :

Alias /chemin/vers/votre/mirroir "/debian/"

AllowOverride FileInfo AuthConfig Limit
Options Indexes SymLinksIfOwnerMatch IncludesNoExec

Ensuite penser à recharger la configuration d'apache :

# /etc/init.d/apache2 reload

Passons à l'installation du serveur ftp :

# apt-get install vsftpd

Il faut ensuite modifier le répertoire personnel de l'utilisateur ftp
afin qu'il pointe vers le chemin du mirroir. Pour cela, nous pouvons éditer le fichier /etc/passwd et changer la ligne concernant l'utilisateur ftp ainsi avec la commande vipw :

# vipw /etc/passwd

Modifions la ligne ainsi :

ftp:x:116:65534::/chemin/vers/votre/mirroir:/bin/false

L'installation par défaut active automatiquement les ftp anonymes donc aucune autre modification est nécessaire au niveau du serveur.

Configuration des clients

Sur chaque machine Debian qui utilisera ce mirroir fraichement créé, il suffira d'ajoutere dans leur fichier de configuration /etc/apt/sources.list :

deb http://votre_serveur_mirroir/debian/ etch main contrib non-free
deb ftp://votre_serveur_mirroir/debian/ etch main contrib non-free 

Il vous suffira ensuite de juste lancer apt-get update et apt-get dist-upgrade pour que les clients utilisent désormais votre mirroir.

Vous pouvez utiliser cron afin de mettre à jour le mirroir automatiquement. Il suffit de faire en root :

# crontab -e 

puis d'ajouter la ligne suivante pour que le mirroir soit réactualisé tous les matins à 5h :

0 5 * * * debmirror -v -a i386 -h ftp.fr.debian.org -e ftp --passive -d etch 
/opt/debian --nosource --progress > /dev/null 2>&1