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