Script Mirror Personalizado

Forums: 

Hola Panas, aca les traigo una cuestión que estoy luchando por resolver...
Estoy creando un mirror personalizado y me he topado con la parte mas compleja y es a la hora de seleccionar los paquetes y sus dependencias...

Se que en la carpeta /var/cache/apt se encuentra el cache del ATP, es decir una gran parte de todo lo que se instala, pero no siempre posee todo lo instalado. He aumentado el tamaño del cache del ATP y probado muchas sugerencias, pero no he logrado realizarlo con facilidad, porque siempre faltan dependencias y mas cuando existen bastantes...

Quisiera que me ayudaran a crear un script que facilite el procedimiento de búsqueda de los paquetes a incluir en el mini-mirror... y que el mismo le de seguimiento al
dpkg --get-selections "*" > /home/backup/pack.txt

Es decir, creo una lista de todos los paquetes instalados, excluyo los que desee y con solo ejecutar el script, copia del mirror original los paquetes incluidos en el archivo exportado por el dpkg --get-selections...

Lo haré al estilo de death

Imagen de eliche

Lo haré al estilo de death user jeje:

sudo aptitude install apt-cacher-ng

apt-cacher-ng es un programa que te permite hacer un proxy local para tus paquetes deb y funciona tanto para debian como para ubuntu y derivados. Problemas de dependencias? Pues al estar gestionado por apt (o al menos así lo creo) las dependencias se bajan automáticamente.

Luego de instalar apt-cacher-ng en tu servidor que hará de mirror, simplemente agregas el proxy a tus clientes con:

$ echo 'Acquire::http { Proxy "http://direccion_de_tu_servidor:3142"; };' | sudo tee /etc/apt/apt.conf.d/01proxy

Desde synaptic: Configuración > Preferencias > Red > Configuración manual del proxy.

Hecho esto, simplemente realizas un aptitude update en los clientes y listo! tu repo local contendrá un mirror bajo demanda de todos los paquetes que un cliente necesite, los cuales quedarán disponibles para otro cliente que necesite esos mismos paquetes (y sus dependencias) sin consumir ancho de banda extra de tu enlace a internet.

Espero te sirva de algo. Saludos.

Eliécer Tatés Montenegro
Soporte VoIP y Telecomunicaciones
095818147

Ing. Eliécer Tatés Montenegro
Neovoice
VoIP & IT Consulting
e-mail: eliecer.tates@neovoice.co / elitatmon@gmail.com

GG

Muy bien el paquete ..apt-cacher-ng.. Acá les muestro como logre mi objetivo....

Como sabrán mi objetivo es crear un mini-mirror, para el mismo ser trasladado para donde desee con los paquetes que necesite..... Pues asi fue todo el trayecto...

# EN EL SERVER INSTALE EL PAQUETE
aptitude install apt-cacher-ng

# INCLUÍ LOCALMENTE EL PROXY MIRROR
echo 'Acquire::http { Proxy "http://MIDOMAIN:3142"; };' | cat - > /etc/apt/apt.conf.d/01proxy

# REALICE UN BACKUP DE TODO LO INSTALADO
dpkg --get-selections "*" > /home/backup/pack.txt

# LIMPIE TODO EL CACHE
aptitude clean

# EN OPEN CALC AÑADI 2 COLUMNAS MAS CON:
# (aptitude reinstall -d) Y (&&)

# REINSTALE TODOS PACK PERO EN MODO (-d)
aptitude reinstall -d nombredelpack1 &&
aptitude reinstall -d nombredelpack1000 &&
aptitude reinstall -d nombredelpack3000

# AL TERMINAR LIMPIO TODOS LOS RESIDUOS DEL (apt-cacher-ng)
for file in $(find /var/cache/apt-cacher-ng -name *.head -type f); do echo rm $file; done

# COPIO EL MIRROR PARA DONDE DESEE O
# EN LOS CLIENTES
echo 'Acquire::http { Proxy "http://MIDOMAIN:3142"; };' | ssh ipclient cat - > /etc/apt/apt.conf.d/01proxy
aptitude update

y listo...

Muchas gracias... un saludo....

ecualug
______________________
!!!AdminRed_Debian!!!