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