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-mirrorse 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.listcomo 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 amd64se 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 -updatescanal):
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 cleanlí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 rmcomandos 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-mirrorpaquete 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./ubuntucon el espejo que prefiera.