sábado, 16 de octubre de 2010

Crea un repositorio local de Debian/Ubuntu con 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:

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.

No hay comentarios: