Posteado por: nitsus | 3 marzo 2009

Crea un repositorio local de Debian/Ubuntu con apt-mirror

Si tienes varias PC en red con la misma distribución en la misma arquitectura probablemente te habrás molestado más de una vez por tener que descargar los mismos paquetes varias veces. Bueno, esto se puede solucionar con el programa apt-mirror.

Instalación

Éste programa se encarga de descargar el repositorio entero para que puedas usarlo localmente. Además necesitarás Apache para acceder a él. En primer lugar hay que instalarlo:

sudo aptitude install apt-mirror apache2

Una vez hecho esto, hay que editar el archivo /etc/apt/mirror.list con

alt-f2>gksudo gedit /etc/apt/mirror.list

Recomiendo comentar (agregando # delante) todo lo que emieze con deb-src, ya que ésto es el código fuente y no se suele usar. Ahora explicaré los repositorios en Ubuntu:

Repositorio principal. No es modificado nunca despues de el lanzamiento. Peso: ~20GB:
deb http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse

Actualizaciones. Se modifica constantemente. Suele contener copias de los paquetes en intrepid-security y algunos paquetes más. Peso: ~2GB:
deb http://archive.ubuntu.com/ubuntu intrepid-updates main restricted universe multiverse

Actualizaciones no soportadas. Tienen la última versión de todos los programas, pero no fueron revisadas en búsqueda de bugs por el equipo de seguridad de Ubuntu. Peso: ~1GB:
deb http://archive.ubuntu.com/ubuntu intrepid-backports main restricted universe multiverse

Actualizaciones de seguridad. Siempre que sea posible, activarlo. Peso: <1GB
deb http://archive.ubuntu.com/ubuntu intrepid-security main restricted universe multiverse

Actualizaciones aún no publicadas. Pasan a intrepid-updates después de un tiempo de pruebas. Peso: <1GB
deb http://archive.ubuntu.com/ubuntu intrepid-proposed main restricted universe multiverse

Si usan otra distribucion que no sea intrepid, como hardy, jaunty o karmic, reemplazar por el nombre correspondiente.

Si lo que quieren es tener un espejo de actualizaciones (lo que la mayoría de la gente va a querer) basta con dejar sólo sin comentar intrepid-updates y intrepid-security. Si ademas quieren tener todos los paquetes disponibles, activen intrepid. Pueden agregar también todos los repositorios que quieran, como los del /etc/apt/sources.list .

Puesta en marcha

Pantallazo de apt-mirror

Pantallazo de apt-mirror

Una vez configurado, hay que ponerlo en marcha con:

sudo su apt-mirror -c apt-mirror

¿Por qué no sudo apt-mirror nada mas? Porque el programa apt-mirror debe ejecutarse como el usuario de mismo nombre, o sino las actualizaciones porgramadas van a fallar.

Automatización

Mientras se descargan todos los paquetes puedes configurar apt-mirror para que se ejecute automáticamente. Para eso:

alt-f2>gksudo gedit /etc/cron.d/apt-mirror

Ahí quitan el # a la última línea. Con eso queda configurado a las 4 de la mañana, o, en caso del que PC no esté encendido a esa hora, un rato despues del inicio del sistema. Pueden modificar ese comportamiento editando la última línea con este formato:

<minuto> <hora> <día> <mes> <dia de la semana> apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log

Puedes especificar todos los valores con *

Puedes especificar varios valores separándolos por comas. Ej: 2,6,12,17,22

También puedes especificar varios valores consecutivos con guiones. Ej: 2-10,17,22-23

Y podés especificar que el intervalo sea diferente a 1 agregando /n. Ejemplo:2-10/3,14,19-23/2 Ej2: */3

+ info: man 5 crontab

Uso

Una vez que hayas terminado de descargar hay que ponerlo en el servidor apache de la siguiente forma:

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

Y cargarlo al sources.list de las otras máquinas de la siguiente manera:

En primer lugar hay que conocer la dirección IP de a máquina. ejecuta ifconfig y revisa “inet dirección” en “eth0″.

Luego en las máquinas conectadas a la red:

alt-f2>gksudo gedit /etc/apt/sources.list

O si eres cómodo y tienes un servidor ssh:

ssh usuario@ip
sudo nano/etc/apt/sources.list

Ahí copias todo lo que no está # comentado en el /etc/apt/mirror.list local en el principio del archivo, y cambias archive.ubuntu.com por la dirección IP de la máquina.

Tada! Ahora tienes tu repositorio local listo y funcional.


Respuestas

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

  2. [...] Fuente original: aprendiendolinux [...]

  3. [...] Fuente: aprendiendolinux [...]

  4. hola, gracias de antemano, mi pregunta es: Copio los repo descargados por otro apt-mirror y los pongo en el sitio hacia donde mi apt-mirror los descarga… realiza una descarga diferencial o sobreescribe todo y empieza desde el principio?

    • Si no me equivoco apt-mirror nunca baja cosas que no es necesario bajar. Simplemente asegurate de que los archivos de configuracion sean iguales (o parecidos)

  5. Buenas … ya descargue he hice todos los pasos … mi pregunta es .. donde localizo todos los paquetes descargados para colocarlo en una carpeta y montarlo en un servidor que ya existe .. esto en funcion de seguir utilizando este servidor en lugar e montar este nuevo espero me ayuden

    • Los archivos estan en /var/spool/apt-mirror/mirror/
      Lo más conveniente es ejecutar apt-mirror directamente en el servidor, pero, si por alguna razon no se puede (por ejemplo si es un servidor compartido sin acceso shell, o es un servidor en otro sistema operativo) sólo asegurate que está montado o no va a recibir las actualizaciones.

      • Gracias por el aporte voy a poner en practica cualquier duda pego un grito por aqui…

  6. y con un proxy de por medio que hago

  7. Que tal, tengo los repositorios de ubuntu 10.10 de 64bit son 8 isos de 4 gb mas o menos. como instalo las aplicaciones desde esos isos? es de la forma que nos indicas aquí?
    saludos y gracias

  8. Tengo una duda, no es necesario un servidor DNS para que funcione???

  9. en el ubuntu 10.4 lucid basta con cambiar interpid por lucid?
    Esque me sale male un error de apt-mirror is running

  10. tutorial para ubuntu 11.04:
    https://www.youtube.com/watch?v=vXqczweUpkY


Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Categorías

Seguir

Get every new post delivered to your Inbox.