El repositorio de CD y el repositorio de software son dos componentes distintos (incluso tienen páginas separadas de Launchpad: cdmirrors y archivemirrors ). Por lo tanto, reflejarlos son dos tareas distintas. Además, si bien los diversos tipos tienen diferentes carpetas en el repositorio de CD, comparten un repositorio de software. Entonces puede reflejar selectivamente las imágenes por sabor, pero no el software. Para el repositorio de software, puede duplicar selectivamente en función de:
- liberar (
trusty
, precise
, etc.)
- arquitectura (
amd64
, i386
, etc.)
- tipo de paquete (binario [
deb
] vs fuente [ deb-src
])
- canales (
trusty
, trusty-updates
, trusty-backports
, etc.)
- secciones (
main
, multiverse
, etc.)
Para duplicar el repositorio de software, use apt-mirror
.
apt-mirror
se configura usando /etc/apt/mirror.list
. Tiene un formato muy similar a sources.list
. El archivo de configuración instalado por el paquete tiene algunas opciones comentadas que enumeran sus valores predeterminados. Si lo desea, puede descomentarlos y cambiarlos.
Para duplicar un repositorio, debe agregar una línea mirror.list
como le gustaría para sources.list
:
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
El valor predeterminado es reflejar solo la arquitectura del host, por lo que si está en un Ubuntu de 64 bits, solo amd64
se reflejará. Necesita agregar otra línea del formulario:
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Y para paquetes fuente:
deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Si está buscando un espejo razonablemente completo, estas líneas serían las mínimas (también recomendaría el -updates
canal):
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
Finalmente, debe agregar una clean
línea para que los paquetes que ya no estén disponibles en el repositorio se filtren para su eliminación:
clean http://us.archive.ubuntu.com/ubuntu
Digamos que sus variables son así (las predeterminadas):
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
Entonces:
- El repositorio se reflejará en
$mirror_path/parent-hostname/directory
(so /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)
- El
clean.sh
(que será un conjunto de rm
comandos para eliminar paquetes y directorios obsoletos) será /var/spool/apt-mirror/var/clean.sh
.
- Los registros irán a
/var/spool/apt-mirror/var
.
El apt-mirror
paquete instala un trabajo cron ( /etc/cron.d/apt-mirror
), que debe editar para habilitar (descomentando la línea que contiene /usr/bin/apt-mirror
). También debe agregar un trabajo cron para ejecutar clean.sh
(lo ejecuto semanalmente).
Por supuesto, debe reemplazarlo http://us.archive.ubuntu.com./ubuntu
con el espejo que prefiera.