Avoir un dossier accessible sur le reseau local.

Je part du principe que le dossier cible /media/depot existe du point de vu de la machine qui va gérer la mise a jour du dépôt local.

Création de l'arbo:

mkdir -p /media/depot/{mirror,skel,var}

Installation apt-mirror:

apt install apt-mirror

Création du fichier de configuration:

cp /etc/apt/mirror.list /media/depot/apt-mirror-configuration

Les éléments a modifier:

set base_path    /media/depot # chemin du depot 

Les dossiers du depot:

set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh 

Limiter la bande passante:

set limit_rate 1000k # limite a 1Mo

Puis ajout des depots que l'on souhaite et les lignes 'clean' associé.

Premier lancement (long selon la connexion):

sudo apt-mirror /media/depot/apt-mirror-configuration

Modification du fichier source.list pour prendre en compte le dépôt local:

# Exemple
deb file:/media/depot/mirror/deb.parrot.sh/parrot/ rolling main contrib non-free

MaJ pour tester le depot:

apt update && apt upgrade

Automatisation de la mise a jour du depot via cron:

sudo vim /etc/cron.d/apt-mirror
# modifier la ligne 
#0 4	* * *	apt-mirror	/usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
 
# par exemple comme ceci:
0 4	* * *	apt-mirror	/usr/bin/apt-mirror /media/depot/apt-mirror-configuration > /var/spool/apt-mirror/var/cron.log

Mise a jour tous les jours a 4h par l'user apt-mirror avec le fichier de configuration /media/depot/apt-mirror-configuration

On rend le mirror modifiable par l'utilisateur apt-mirror:

# peut etre long !
chown -R apt-mirror /media/depot/{mirror,skel,var}

Et voila … il n'y aura plus qu'a modifier le source.list des machines pour pointer sur le depot local.