Sommaire :
I) Sur le serveur
1) Installation & configuration de APT-Mirror
2) Droit d’exécution
3) Récupération des fichiers
4) Installation et configuration d’Apache2
5) Petits conseils :
II) Sur le client
III) Automatisation des mises à jour
IV) Message d’erreur
I) Sur le serveur
1) Installation & configuration de APT-Mirror
On commence par installer APT-Mirror :
aptitude install apt-mirror
Ensuite pour configurer APT-Mirror il faut éditer le fichier "mirror.list"
vim /etc/apt/mirror.list
On se retrouve avec le document suivant :
############# config ###################
#
set base_path /var/miroir
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 postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb http://ftp.fr.debian.org/debian/ squeeze main
deb-src http://ftp.fr.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
# squeeze-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ squeeze-updates main
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main
clean http://ftp.fr.debian.org/debian/
clean http://security.debian.org/
Quelques informations sont nécessaires :
La ligne :
set base_path /var/spool/apt-mirror
– Indique le chemin où sont stockés les fichiers.
Les lignes :
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set cleanscript $var_path/clean.sh
– Indiquent le nom des répertoires où sont répartit les différents fichiers.
La ligne :
set defaultarch i386
– Indiquent l’architecture des fichiers que nous voulons télécharger (si l’on commente on téléchargera toutes les architectures).
La ligne :
set nthreads 100
– Indiquent le nombre de threads simultanés qui vont télécharger les données, (sorte de compte à rebours, 100... 99... 98...).
La ligne :
set _tilde 0
– Pas d’informations sur cette ligne à par quelle soit utile.
Les lignes suivantes sont les dépôts qui serviront de base pour télécharger les fichiers :
deb http://ftp.fr.debian.org/debian/ squeeze main
deb-src http://ftp.fr.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
# squeeze-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ squeeze-updates main
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main
clean http://ftp.fr.debian.org/debian/
clean http://security.debian.org/
Dans notre cas, j’ai laissé le dossier "/var/spool" par défaut, j’ai choisi les fichiers correspondant seulement au architecture "i386" avec un nthreads de "100".
2) Droit d’exécution
APT-Mirror utilise un script de nettoyage "clean.sh" il faut lui donner des droits d’exécution :
chmod +x /var/spool/apt-mirror/var/clean.sh
– Bien sur à vous d’adapter le chemin.
3) Récupération des fichiers
apt-mirror
– Après une ou plusieurs longue(s) journée(s) de téléchargement le téléchargement se finira.
4) Installation et configuration d’Apache2
On commence par l’installation :
aptitude install apache2
On édite ensuite le fichier "/etc/apache2/sites-available/default" qui correspond au fichier de configuration du site par défaut indiquant entre autre le chemin des fichiers du site.
vim /etc/apache2/sites-available/default
Et nous ajoutons les deux blocs suivants en bas de la page après la ligne "VirtualHost"
Alias /debian /var/spool/apt-mirror/mirror/ftp.fr.debian.org/debian/
<Directory /var/spool/apt-mirror/mirror/ftp.fr.debian.org/debian/>
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
</Directory>
Alias / /var/spool/apt-mirror/mirror/security.debian.org/
<Directory /var/miroir/mirror/security.debian.org/>
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
</Directory>
5) Petits conseils
– Une fois le téléchargement terminé, relancez le une deuxième fois.
– Une fois le téléchargement terminé, exécutez le script clean.sh.
II) SUR LE CLIENT
Il faut maintenant ajouter notre serveur à la liste APT de notre machine cliente :
vim /etc/apt/sources.list
Ensuite on commente toutes les lignes et on ajoute les lignes suivantes :
deb http://@IP_de_votre_serveur/debian/ squeeze main
deb-src http://@IP_de_votre_serveur/debian/ squeeze main
deb http://@IP_de_votre_serveur/ squeeze/updates main
deb-src http://@IP_de_votre_serveur/ squeeze/updates main
# squeeze-updates, previously known as 'volatile'
deb http://@IP_de_votre_serveur/debian/ squeeze-updates main
deb-src http://@IP_de_votre_serveur/debian/ squeeze-updates main
Il nous reste plus qu’à faire une mise à jour de la base APT :
aptitude update
III) Automatisation des mises à jour
Pour automatiser la mise à jour de l’Apt-mirror la solution consiste à utiliser une tâche cron. Si nous regardons dans le répertoire /etc/cron.d/ un fichier apt-mirror existe déjà.
Tapez :
vim /etc/cron.d/apt-mirror
Ensuite une ligne de tache cron se présente comme ceci :
Minute Heure Numéro_du_jour_dans_le_mois Numéro_du_mois Numéro_du_jour_dans_la_semaine commande_à_automatiser
nous allons donc ajouter la ligne suivante :
0 0 * * 1 apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
Cette ligne exécutera apt-mirror tous les lundis de chaque mois à 00h00.
Si vous voulez vérifier le fonctionnement affiché le fichier cron.log
#tail -f /var/spool/apt-mirror/var/cron.log
IV) Message d’erreur
Si vous le message d’erreur suivant s’affiche :
apt-mirror is already running, exiting at /usr/bin/apt-mirror line 187.
Vous devez supprimer le fichier apt-mirror.lock, le fichier en question se trouve dans le dossier/var/spool/apt-mirror/var/apt-mirror.lock avec la commande suivante :
rm /var/spool/apt-mirror/var/apt-mirror.lock
Si vous voulez connaitre l’emplacement de votre fichier vous pouvez toujours utiliser la commande de recherche find :
find / -name apt-mirror.lock