Si alguna vez habéis administrado una red cuyos clientes sean equipos de Ubuntu, habréis comprobado la enorme cantidad de tiempo y recursos que se utilizan cada vez que hay una actualización (lo cual suele suceder bastante amenudo). Esto no es un gran problema para las actualizaciones pequeñas, sin embargo si coincide que tenemos una conexión ADSL estándar con un alto número de clientes la red se satura, y es un auténtico caos.
Bueno, pues vamos a aprovechar las posibilidades que nos ofrece Ubuntu para descargar los repositorios de forma local y aligerar así el peso de la red al actualizar… ¿y lo mejor? Que es facilísimo.
El funcionamiento del servidor de repositorios es el siguiente:
- Se instala la aplicación necesaria para descargar los repositorios.
- Se descargan los repositorios en el servidor.
- Se configura el archivo sources.list de los clientes para conectar primero al servidor y…
- ¡Listo!
Para hacer funcionar nuestro servidor de repositorios necesitamos dos cosas: Apache y la aplicación apt-mirror.
sudo apt-get install apt-mirror apache2
Editamos el archivo /etc/approx/mirror.list y realizamos los siguientes cambios:
- Las líneas con deb-src se comentan, es código fuente que no se suele utilizar.
- Las líneas de repositorios que no tengan deb-src se duplican, y cambiamos el nombre de la distribución por el de la distribución que necesitemos (si no es la misma claro). Por lo tanto con 1 solo servidor podremos utilizar cualquiera de las distribuciones de Ubuntu, lo cual es bastante útil si nuestro servidor es 8.04 (LTS) y nuestros equipos 9.04.
Una vez configurados los repositorios, lo ponemos en marcha con el comando:
sudo su apt-mirror -c apt-mirror
Y empezará la descarga, espero que tengáis un disco duro enorme y mucha paciencia, porque descargar todos los repositorios de Ubuntu se lleva un buen rato.
Una vez descargados todos los paquetes, lo colgamos en el servidor apache para poder acceder a él desde cualquier equipo de nuestra red:
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/
Pues bien, después de un largo rato de espera, ya tendremos nuestro servidor preparado, ahora sólo nos queda preparar a los clientes, tan solo tenemos que editar el archivo /etc/apt/sources.list y añadir las lineas correspondientes a nuestra distribución al principio del archivo. Las líneas deberían quedar así:
http://ip_del_servidor/ nombre-de-la-distribución nombre-repositorio
Recargamos los repositorios con un simple:
sudo apt-get update
Y comprobamos como las primeras conexiones que hace es a nuestro servidor local:
Fuente original: aprendiendolinux
Imagen de cabecera: Mashup 3.7 icon theme





Hola… muy interesante tu artículo pero tengo una duda.
Yo quiero implementar un servidor de repositorios Ubuntu pero que va a pasar cuando se actualice algún paquete en específico??..
Se tiene que descargar todo de nuevo… porque mi idea es que cada 2 días se descarguen las actualizaciones que se vayan sumando a los repositorios y además se actualicen los que ya están…
Como se haria esto sin tener que volver a bajar cada día todos los repositorios de nuevo…
Me habian comentado que con RSync se puede pero todavia no lo entiendo mucho…
Saludos!!!!
Hola Alexis, pues mira la verdad es que no lo he probado pero supongo que simplemente se actualizará lo que haya cambiado, no tiene mucho sentido que descargue el repositorio completo… Si lo pruebas comentanos qué tal va.
Un saludo y gracias por leernos
Hola Muy bueno tu articulo
Pero tengo una duda, tengo los repositorios en DVD ahora quiero hacer un servidor de repositorios en una de mis maquinas para que las otras puedan acceder a el. Mi pregunta es como hago para unir todos los DVDs.
Te agradecería una orientación
Saludos
Un comentario, para que se actualice el repositorio automáticamente sólo hay que editar el archivo
/etc/cron.d/apt-mirror
y descomentar la linea del cron. Esta puesto por defecto que se actualice a diario a las 4 am, pero se puede cambiar al gusto. Y desde luego, bajará solamente aquello que se ha actualizado, igual que cuando tú actualizas un paquete no se te bajan todos los paquetes que ya tenías, no tendría sentido.
Tengo problemas al configurar los repositorios me muestra el siguiente error:
invalid config file specified at /usr/bin/apt-mirror
he verificado y habla del archivo de configuracion. pero solo he modificado la lineas del nuevo repositorio es decir intrepid
estoy trabajando con ubuntu server 9.04 y dejando solo ese repositorio aun asi muestra el mismo error.
algo que pueda validar???
Gracias
hola jesus, con respecto al error invalid config file specified at /usr/bin/apt-mirror me sucedio lo mismo y a pesar de trabajar como root extrañamente solo cuando le dí:
root@mirror:/etc/apt# sudo apt-mirror -c apt-mirror
y empezó la descarga
hola, soy nuevo en esto, pero hago lo que dice pero cuando pongo hacer update me da el error Err http://192.168.0.106 lucid-updates/restricted Packages
404 Not Found
que puedo hacer
ola q tal… iio tengo un problema con los repositorios
instale ubuntu 10.04 en una makina virtual tengo acceso a internet y todo normal pero al ejecutar el comando
#sudo apt-mirror empieza el conter 20…19…18… asi hasta el 0 pro cuando termina no m marca la cantidad d paketes a descargar m marca un error, no se si m puedan aiiudar yo pienso q es problema d la makina virtual xq probe instalando 9.10 9.04 y otras versiones d ubuntu pero en todas m marca el mismo error y el problemas es q lo tengo q entregar en una makina virtual para montarlo en una makina servidor, espero m puedan ayudas saludos!!