Le référentiel CD et le référentiel logiciel sont deux composants distincts (ils ont même des pages Launchpad distinctes: les miroirs cd et les miroirs d'archivage ). Par conséquent, leur mise en miroir est deux tâches distinctes. De plus, alors que les différentes versions ont des dossiers différents sur le référentiel CD, elles partagent un référentiel logiciel. Vous pouvez donc reproduire sélectivement les images par saveur, mais pas le logiciel. Pour le référentiel de logiciels, vous pouvez mettre en miroir de manière sélective en fonction:
- libérer (
trusty
, precise
, etc.)
- l' architecture (
amd64
, i386
, etc.)
- type de package (binaire [
deb
] vs source [ deb-src
])
- canaux (
trusty
, trusty-updates
, trusty-backports
, etc.)
- sections (
main
, multiverse
, etc.)
Pour mettre en miroir le référentiel de logiciels, utilisez apt-mirror
.
apt-mirror
est configuré à l'aide de /etc/apt/mirror.list
. Il a un format très similaire à sources.list
. Le fichier de configuration installé par le package contient quelques options commentées qui répertorient leurs valeurs par défaut. Si vous le souhaitez, vous pouvez les décommenter et les modifier.
Pour mettre en miroir un référentiel, vous devez ajouter une ligne mirror.list
comme vous le feriez pour sources.list
:
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
La valeur par défaut est de ne refléter que l'architecture de l'hôte, donc si vous êtes sur un Ubuntu 64 bits, seule amd64
sera mise en miroir. Vous devez ajouter une autre ligne du formulaire:
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Et pour les packages source:
deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Si vous cherchez un miroir raisonnablement complet, ces lignes seraient le minimum (je recommanderais également la -updates
chaîne):
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
Enfin, vous devez ajouter une clean
ligne pour que les packages qui ne sont plus disponibles dans le référentiel soient filtrés pour suppression:
clean http://us.archive.ubuntu.com/ubuntu
Disons que vos variables sont ainsi (les valeurs par défaut):
set base_path /var/spool/apt-mirror
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set cleanscript $var_path/clean.sh
Alors:
- Le référentiel sera mis en miroir
$mirror_path/parent-hostname/directory
(donc /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)
- Le
clean.sh
(qui sera un ensemble de rm
commandes pour supprimer les packages et répertoires obsolètes) le sera /var/spool/apt-mirror/var/clean.sh
.
- Les journaux iront à
/var/spool/apt-mirror/var
.
Le apt-mirror
package installe un travail cron ( /etc/cron.d/apt-mirror
), que vous devez modifier pour l'activer (en décommentant la ligne contenant /usr/bin/apt-mirror
). Vous devez également ajouter un travail cron pour l'exécution clean.sh
(je l'exécute chaque semaine).
Bien sûr, vous devez le remplacer http://us.archive.ubuntu.com./ubuntu
par le miroir que vous préférez.