Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

miércoles, 24 de noviembre de 2010

Crear un mirror de los repositorios de Ubuntu

apt-mirror es una pequeña herramienta que proporciona la capacidad para replicar cualquier parte (o incluso todo) el repositorio de Debian y/o Ubuntu (o cualquier otra fuente apt que normalmente es proporcionada por los desarrolladores de código abierto).


Características principales:
  • Configuración tan simple como apt "sources.list"
  • Soporta la descarga multiproceso
  • Soporta múltiples arquitecturas, al mismo tiempo
  • Funciona en todos los sistemas POSIX con perl, gunzip, y wget
  • Funciona muy bien en canales sobrecargados de Internet
  • Nunca se produce un mirror inconsistente
  • Elimina automáticamente los archivos innecesarios
No hay manera más fácil de crear un mirror de Debian o Ubuntu que hacer uso de apt-mirror. 


Así pues, vamos a instalarlo:

root@repositori:~# apt-get install apt-mirror
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes NUEVOS:
  apt-mirror
0 actualizados, 1 se instalarán, 0 para eliminar y 48 no actualizados.
Necesito descargar 14,8kB de archivos.
Se utilizarán 127kB de espacio de disco adicional después de esta operación.
Des:1 http://es.archive.ubuntu.com/ubuntu/ lucid/universe apt-mirror 0.4.7-0ubuntu1 [14,8kB]
Descargados 14,8kB en 0s (17,8kB/s)
Seleccionando el paquete apt-mirror previamente no seleccionado.
(Leyendo la base de datos ...  00%
42967 ficheros y directorios instalados actualmente.)
Desempaquetando apt-mirror (de .../apt-mirror_0.4.7-0ubuntu1_all.deb) ...
Procesando disparadores para man-db ...
Configurando apt-mirror (0.4.7-0ubuntu1) ...

Con esto ya tenemos el apt-mirror instalado. Ahora tendremos que configurar el archivo de configuración del apt-mirror para decirle lo que queremos replicar y donde lo queremos bajar.

Editamos /etc/apt/mirror.list y añadimos las siguientes lineas:
#MAVERICK#
deb http://es.archive.ubuntu.com/ubuntu maverick main restricted universe multiverse
deb http://es.archive.ubuntu.com/ubuntu maverick-security main restricted universe multiverse
deb http://es.archive.ubuntu.com/ubuntu maverick-updates main restricted universe multiverse
#deb http://es.archive.ubuntu.com/ubuntu maverick-proposed main restricted universe multiverse
#deb http://es.archive.ubuntu.com/ubuntu maverick-backports main restricted universe multiverse


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


Con esto, se bajará el repositorio de la distribución Maverick (10.10) en /var/spool/apt-mirror/mirror .

Si queremos que cada noche se sincronice, podemos modificar la entrada en /etc/cront.d/apt-mirror descomentando la linea que existe para quedar de esta manera:
0 4     * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
De esta manera, cada dia a las 4 de la mañana se sincronizará el repositorio.

Bien, ahora quedará que el repositorio que hemos bajado sea accesible. Para que sea accesible instalaremos un servidor web (apache2) y crearemos un enlace a nuestro recien replicado repositorio:
root@repositori:~# apt-get install apache2

Un vez hecho esto, ya podremos crear un enlace a nuestro repositorio:


ln -s /var/spool/apt-mirror/mirror/es.archive.ubuntu.com/ubuntu /var/www/ubuntu

Si ahora vamos a nuestro firefox y tecleamos http://localhost/ubuntu veremos el repositorio y por tanto ya tendremos creado un repositorio de Ubuntu, replicado del oficial y accesible.

Ahora sólo quedará que los equipos clientes accedan a él. Para ello modificaremos nuestro /etc/apt/sources.list:
deb http://192.168.1.10/ubuntu/ lucid main restricted
(etc...)
(192.168.1.10 es un ejemplo en donde se reflejaria nuestra IP local en donde hemos replicado el repositorio).


Alguna vez veremos que nuestro apt-mirror nos da un error:
apt-mirror is already running , exiting at /usr/bin/apt-mirror line 187.

Para arreglarlo basta con borrar un archivo:
rm /var/spool/apt-mirror/var/apt-mirror.lock
Tened en cuenta que bajar todo un repositorio ocupa un espacio considerable:

root@repositori:/var/www/ubuntu# du -sch *
105M    dists
68G    pool
69G    total

¡Que tegais un buen mirroring!


That u don't know what you've got 'til it's gone