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
I) Sur le serveur
1) Installation & configuration de APT-Mirror
– Installez le paquet "APT-Mirror" :
apt-get install apt-mirror
– Configurez APT-Mirror en éditant le fichier "mirror.list"
nano /etc/apt/mirror.list
– Vous devez obtenir :
############# 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 amd64
set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads 100
set _tilde 0
#
############# end config ##############
deb http://ftp.fr.debian.org/debian/ stretch main
deb-src http://ftp.fr.debian.org/debian/ stretch main
deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
# squeeze-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ stretch-updates main
deb-src http://ftp.fr.debian.org/debian/ stretch-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 amd64
-
- 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/ stretch main
deb-src http://ftp.fr.debian.org/debian/ stretch main
deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
# stretch-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ stretch-updates main
deb-src http://ftp.fr.debian.org/debian/ stretch-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 "amd64" 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
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
– Commencez par l’installation :
aptitude install apache2
– Copiez le fichier "/etc/apache2/sites-available/000-default.conf" qui correspond au fichier de configuration du site par défaut indiquant entre autre le chemin des fichiers du site.
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/apt-mirror.conf
– Editez le fichier "apt-mirror.conf".
nano /etc/apache2/sites-available/apt-mirror.conf
Et nous ajoutons les deux blocs suivants en bas de la page après la ligne "VirtualHost"
ServerAdmin webmaster@localhost
DocumentRoot /var/spool/apt-mirror/
Alias /debian /var/spool/apt-mirror/mirror/ftp.fr.debian.org/debian/
<Directory /var/spool/apt-mirror/mirror/ftp.fr.debian.org/debian/>
AllowOverride None
Require all granted
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
</Directory>
– Activez le nouveau site :
a2ensite /etc/apache2/sites-available/apt-mirror.conf
– Redémarrez le service "apache2"
service apache2 reload
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.
– Vous pouvez utiliser "screen" afin de fermer votre session tout en laissant le téléchargement continuer. Voir article screen
II) Sur le client
– Ajoutez le serveur à la liste APT de notre machine cliente :
nano /etc/apt/sources.list
– Ensuite on commente toutes les lignes et on ajoute les lignes suivantes :
deb http://@IP_de_votre_serveur/debian/ stretch main
deb-src http://@IP_de_votre_serveur/debian/ stretch main
deb http://@IP_de_votre_serveur/ stretch/updates main
deb-src http://@IP_de_votre_serveur/ stretch/updates main
# stretch-updates, previously known as 'volatile'
deb http://@IP_de_votre_serveur/debian/ stretch-updates main
deb-src http://@IP_de_votre_serveur/debian/ stretch-updates main
– Il nous reste plus qu’à faire une mise à jour de la base APT :
apt-get 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 :
nano /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
– Ajoutez donc 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