[Ubuntu-bo] Como hacer una copia local de los repositorios de Ubuntu

Mario César Señoranis Ayala mariocesar.c50 en gmail.com
Dom Oct 25 16:04:39 GMT 2009


Estaba conversando con unos amigos y por alguna razón les pareció muy 
complicado hacer un repositorio local de Ubuntu, bueno al fin de la 
discusión el problema era desinformación :)

Hacer un mirror de Ubuntu es muy sencillo, no hay que usar rsync ni wget 
-r ni nada raro

Para hacer una copia del repositorio de ubuntu hay que usar Apt-mirror, 
es un pequeño script escrito en perl bastante eficiente. Copio y pego 
algunas de las caracteristicas que tiene:

   * Usa un archivo de configuración muy similar a /etc/apt/sources.list
   * Descarga usando multiples hilos
   * Puedes descargar varias arquitecturas (i386 y 64bits)
   * Borra archivos desactualizados y no necesarios automaticamente
   * Nunca produce un mirror inconsistente

Bueno, para usarlo en Ubuntu Jaunty y sacar un mirror de Karmic Koala 
basta con lo siguiente:

Obviamente lo instalamos primero

$ sudo apt-get install apt-mirror

Luego de instalarlo esto crea una estructura de directorios en 
/var/spool como sigue:

/var/spool/apt-mirror
/var/spool/apt-mirror/mirror
/var/spool/apt-mirror/skel
/var/spool/apt-mirror/var

Normalmente como en mi caso, yo tengo varias particiones, en la raiz / 
solo tengo 30GB y ya esta ocupado casi todo pero tengo otra para mis 
datos con más de 100GB en /media/datos, asi que prefieron crear al 
mirror en mi partición de datos, para eso hay que replicar esa 
estructura de directorios en mi otra partición, en mi caso terminaria asi:

/media/datos/apt-mirror
/media/datos/apt-mirror/mirror
/media/datos/apt-mirror/skel
/media/datos/apt-mirror/var

Para no tener lios y andar haciendo cosas raras, deja los permisos como 
estaban en /var/sppol/apt-mirror con el usuario apt-mirror, esto se hace 
así:

$ sudo chown apt-mirror.apt-mirror -R /media/datos/apt-mirror

Con eso no tendremos problemas, luego editamos el archivo 
/etc/apt/mirror.list, cada linea que comienza con *set* es una variable 
de configuración luego cada linea que comienza con *deb* es la dirección 
al repositorio, lanzamiento y componente de la forma:

deb {URL al Repositorio} {Lanzamiento} {componente|..|componente}

Lo importante es 1. Cambiar base_path por la ruta a donde quieres 
guardar el repo en mi caso como dijimos /media/datos/apt-miror, 2. 
Elegir los componentes que quieres bajar.

No tienes que seleccionar todos los componentes, si seleccionas todos 
los componentes, fácilmente quedan como 60Gb para bajar ... bastante, 
no? :) pero si selecciones solo main y restricted como en el archivo de 
configuración abajo, solo bajaras 6GB, main y restricted son suficientes 
para crear un ISO de Instalación y mantener actualizada una instalación 
en los niveles básicos y más necesarios.

Si te organizas podrías descargar entre varios amigos cada componente 
por separado y luego reunirlos, por ejemplo alguien baja main otro amigo 
universe y otro multiverse. :-)

Este es el archivo para mi caso:

    ############# config ##################
    #
    set base_path    /media/datos/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
    set defaultarch  i386
    set nthreads     6
    set _tilde 0
    #

    #deb http://archive.ubuntu.com/ubuntu karmic main restricted
    universe multiverse
    deb http://archive.ubuntu.com/ubuntu karmic main restricted
    deb http://archive.ubuntu.com/ubuntu karmic-updates main restricted
    #deb http://archive.ubuntu.com/ubuntu karmic-updates main restricted
    universe multiverse
    #deb http://archive.ubuntu.com/ubuntu karmic-backports main
    restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu karmic-security main restricted
    #deb http://archive.ubuntu.com/ubuntu karmic-security main
    restricted universe multiverse
    #deb http://archive.ubuntu.com/ubuntu karmic-proposed main
    restricted universe multiverse

    #deb-src http://archive.ubuntu.com/ubuntu karmic main restricted
    universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-updates main
    restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-backports main
    restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-security main
    restricted universe multiverse
    #deb-src http://archive.ubuntu.com/ubuntu karmic-proposed main
    restricted universe multiverse

    clean http://archive.ubuntu.com/ubuntu

      ############# end mirror.list ##############

Para comenzar a descargar basta solo con:

$ sudo -u apt-mirror /etc/apt/mirror.list

Las opciones en el archivo mirror.list no son raras leyendo los nombres 
te daras cuenta de todo y podrás mejorar la configuración para tu caso.

Cuando quieras detenerlo solo das Ctrl+C y continuas otro dia, yo llevo 
mi Laptop a la universidad y me quedo unas tres horas en la Biblioteca 
desde el medio dia hasta las tres de la tarde, para aprovechar los 100Kb 
por segundo :P, hasta ahora he bajado 1Gb en poco menos de una Semana.

Un abrazo a todos, estoy seguro que les debe haber parecido muy fácil :)

-- 
Mario César Señoranis Ayala
http://softwarelibre.org.bo/mariocesar
http://twitter.com/mariocesar_bo
http://facebook.com/mariocesar

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://lists.ubuntu.com/archives/ubuntu-bo/attachments/20091025/38898b34/attachment.htm 


Más información sobre la lista de distribución Ubuntu-bo