installation et configuration d’un mirroir/repository local Debian (ou dépot local) via apt-mirror
Article publié le 17 Mai 2013
Vous commencez à avoir une flopée de machine Debian dans votre entreprise?
Vous voulez que apt-get.... aille plus vite??
Il est temps pour vous de mettre en place un miroir Debian(ou dépot local) qui se synchronise directement avec les dépôts officiels!
Ayant déjà mis moi même cette solution en place je peux vous assurer que c'est absolument génial.
Ci-dessous un petit tuto qui vous expliquera la marche à suivre la plus simple:
Tous d'abord prévoyez un stockage assez conséquent ( 200 go pour être tranquille):
- Installez apt-mirror : apt-get install apt-mirror
- Ensuite je vous conseille d'organiser votre arborescence pour vous y retrouver plus facilement
* mkdir /<votre rep>/mirror/mirror
* mkdir /<votre rep>/mirror/skel
* mkdir /<votre rep>/mirror/var
- Par défaut le fichier de configuration se situe dans /etc/apt/mirror.list mais je vous conseil fortement de le placer ailleurs pour cela exécuter les commandes suivantes:
* cp /etc/apt/mirror.list /<votre rep>/mirror/<le nom que vous voulez> (on copie le fichier de configuration ailleurs)
* il faudra ensuite utilisez cette commande pour lancer la synchronisation mais je vous le rappellererai plus tard 🙂 : apt-mirror /<votre rep>/mirror/<le nom de votre fichier de conf>
- Ouvrez votre fichier de configuration. Vous devriez avoir quelque chose comme ceci:
############# config ##################
# set base_path /media/Backup/apt-mirror # # if you change the base path you must create the directories below with write privileges # 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 xxxx (votre architecture i386/hppa/powerPC/ia64...) set defaultarch i386 set nthreads 2 set tilde 0 # ############# end config ############## deb http://archive.ubuntu.com/ubuntu/ hardy main restricted deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted deb http://archive.ubuntu.com/ubuntu/ hardy-security main restricted deb http://archive.ubuntu.com/ubuntu/ hardy universe multiverse deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe multiverse deb http://archive.ubuntu.com/ubuntu/ hardy-security universe multiverse deb http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse deb http://packages.medibuntu.org/ hardy free non-free deb-amd64 http://packages.medibuntu.org/ hardy free non-free deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy main restricted deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-security main restricted deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy universe multiverse deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-updates universe multiverse deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-security universe multiverse deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
Décommettez toute les lignes commençant par "set".
Supprimez tous les liens (après le commentaire "end config") et ajoutez des dépôts plus "officiels" par exemple :
deb http://ftp.fr.debian.org/debian/ wheezy main
deb-src http://ftp.fr.debian.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main
# wheezy-updates, previously known as ‘volatile’
deb http://ftp.fr.debian.org/debian/ wheezy-updates main
deb-src http://ftp.fr.debian.org/debian/ wheezy-updates main
Si vous êtes derrière un proxy vous devez configure le wgetrc:
- vi /etc/wgetrc
- Ajouter les lignes suivantes au fichier de configuration:
http_proxy = http://user:passwd@proxy:port use_proxy = on
Il ne vous reste plus qu'à lancer la synchronisation:
apt-mirror /<votre rep>/mirror/<le nom de votre fichier de conf>
Si tout ce passe bien la synchronisation commence, vous devriez avoir ceci qui apparaît :
Cela signifie que vous êtes entrain de synchroniser avec le dépôt officiel!
Maintenant il ne reste plus qu'à rendre votre miroir accessible pour cela nous allons installer un serveur apache:
- apt-get install apache2
- Créez le Virtualhost qui permettra à votre miroir d'être accessible pour cela éditez le fichier /etc/apache2/site-available/default et ajoutez après la balise </VirtualHost> les lignes suivantes:
Alias /debian /<chemin>/mirror
<Directory /var/spool/apt-mirror/mirror/ftp.fr.debian.org/debian/>
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
</Directory>
Alias / /<chemin>/mirror
<Directory /var/miroir/mirror/security.debian.org/>
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
</Directory>
Il ne reste plus qu'à redémarrer le service apache.
- /etc/init.d/apache2 restart
Voila votre dépôt est prêt!
Sachez que vous pouvez paramétrer une synchronisation pour plusieurs versions de la distribution de Debian, il suffit de rajouter les adresses des dépôts dans le fichier de configuration de apt-mirror :-)
Voila il ne reste plus qu'à entrer sur tout vos serveurs clients la nouvelle adresse de votre repository (dans le fichier /etc/apt/source.list)
deb http://@IP_de_votre_serveur/debian/ wheezy main
deb-src http://@IP_de_votre_serveur/debian/ wheezy main
deb http://@IP_de_votre_serveur/ squeeze/wheezy main
deb-src http://@IP_de_votre_serveur/ squeeze/wheezy main
- apt-get update
Ça y'est votre repository est fonctionnel!
PS:
N'oubliez pas de cronner (de préférence la nuit) la synchronisation pour garder votre repository à jour en utilisant la commande : apt-mirror /<votre rep>/mirror/<le nom de votre fichier de conf>
Bonsoir,
je note une micro erreur dans la définition des alias dans apache.
Il faut :
Alias /debian /var/spool/apt-mirror/mirror/ftp.fr.debian.org/debian/
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
Alias / /var/miroir/mirror/security.debian.org/
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
mais GRAND MERCI pour ce guide. 🙂
Pour moi le apt-get update fonctionne, mais l’apt-get upgrade dis qu’il n’y a rien a upgradé …
Bonsoir merci pour votre travail, mais j’ai un petit soucis car ma machine cliente n’arrive pas télécharger les paquets du serveur.merci de pouvoir m’aider