Avoir un référentiel local peut être très utile. Il est possible d’utiliser rsync
pour créer un miroir de référentiel, mais il en résulte toutes les versions téléchargées, même les plus anciennes, et inclurait des fichiers pour les architectures pourrait ne pas être nécessaire.
apt-mirror
permet de choisir sélectivement des parties du référentiel. mirrorkit
fournit un frontal à apt-mirror.
Quel est le meilleur moyen de créer un miroir de référentiel local pour des parties sélectionnées des archives Ubuntu?
Par exemple, on pourrait souhaiter inclure:
Main, Restricted, Univers, Multiverse, All Ubuntu et Lubuntu, à l’exclusion des autres dérivés, tels que Kubuntu et Xubuntu.
Seulement AMD64 et i386, à l’exclusion des autres architectures.
Seulement Trusty Tahr, mais pas Precise Penguin ou Utopic Unicorn.
On peut souhaiter configurer le processus pour qu'il soit téléchargé à partir d'un miroir local, plutôt que des archives principales.
Comment créer un référentiel local à l'aide de apt-mirror
et mirrorkit
pour une variante d'architecture, de version ou Ubuntu sélectionnée?
Le référentiel de CD et le référentiel de logiciels sont deux composants distincts (ils ont même des pages de Launchpad distinctes: cdmirrors et archivemirrors ). Par conséquent, les refléter sont deux tâches distinctes. En outre, bien que les divers types aient des dossiers différents sur le référentiel de CD, ils partagent un référentiel de logiciels. Vous pouvez donc reproduire sélectivement les images par saveur, mais pas le logiciel. Pour le référentiel de logiciels, vous pouvez effectuer une mise en miroir sélective en fonction de:
trusty
, precise
, etc.)AMD64
, i386
, etc.)deb
] vs source [deb-src
])trusty
, trusty-updates
, trusty-backports
, etc.)main
, multiverse
, etc.)Pour mettre en miroir le référentiel de logiciels, utilisez apt-mirror
.
apt-mirror
est configuré avec /etc/apt/mirror.list
. Son format est très similaire à sources.list
. Le fichier de configuration installé par le paquet contient quelques options commentées qui listent leurs valeurs par défaut. Si vous le souhaitez, vous pouvez les 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 consiste à ne refléter que l'architecture de l'hôte. Ainsi, si vous utilisez Ubuntu 64 bits, seul AMD64
sera mis 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 paquets source:
deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Si vous recherchez un miroir raisonnablement complet, ces lignes seraient le minimum (je recommanderais également le canal -updates
):
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 ligne clean
afin que les packages qui ne sont plus disponibles dans le référentiel soient filtrés pour être supprimés:
clean http://us.archive.ubuntu.com/ubuntu
Disons que vos variables sont donc (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
Ensuite:
$mirror_path/parent-hostname/directory
(donc /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)clean.sh
(qui sera un ensemble de commandes rm
pour supprimer les packages et les répertoires obsolètes) sera /var/spool/apt-mirror/var/clean.sh
./var/spool/apt-mirror/var
.Le package apt-mirror
installe un travail cron (/etc/cron.d/apt-mirror
) que vous devez modifier pour l'activer (en supprimant la mise en commentaire de la ligne contenant /usr/bin/apt-mirror
). Vous devez également ajouter un travail cron pour exécuter clean.sh
(je le lance chaque semaine).
Bien sûr, vous devriez remplacer http://us.archive.ubuntu.com./ubuntu
par le miroir de votre choix.
Je recommande apt-cacher aux personnes disposant de peu d'espace ou ayant des prix internet exhorbitants dans leur pays.
a priori, apt-mirror nécessite au moins 15 Go pour chaque saveur (32/64 bits) de la distribution souhaitée. apt-cacher utilise uniquement les paquets que vous avez installés.
Lire Créer un référentiel Ubuntu local à l'aide d'Apt-Mirror et d'Apt-Cacher pour plus de détails/d'instructions, s'il vous plaît.