#SysAdmin – Optimizando el Debmirror

Buenas a todos los lectores hoy les quiero compartir a todos un ejemplo de un script de debmirror optimizado en parte para no descargar todas las cosas de un repositorio, les dejo una copia del mismo y usen ustedes su propia imaginación.
#!/bin/sh

# Matamos el mirror si ya está corriendo
killall debmirror

ARQUITECTURA=armhf
METODO=http
RAMAS=wheezy
HOST_PRINCIPAL=mirrordirector.raspbian.org
HOST_RPI=raspberrypi.collabora.com
HOST_RAS=archive.raspberrypi.org
DIR_REPOS=/home/armandof/repos
DIR_PRINCIPAL=/home/armandof/repos/raspbian
DIR_RPI=/home/armandof/repos/raspberrypi-rpi
DIR_RAS=/home/armandof/repos/raspberrypi-main
WORD=`grep Errors /tmp/raspbian.log`

echo «=====================================================»
echo «Actualizando los repositorios de RASPBIAN»
echo «=====================================================»
echo «»

echo «== REPOSITORIO PRINCIPAL ==»
echo «»
debmirror \
–arch=${ARQUITECTURA} \
–section=main,contrib,non-free,rpi \
–host=${HOST_PRINCIPAL} \
–root=/raspbian \
–dist=${RAMAS} \
–progress \
–method=${METODO} \
–ignore-release-gpg \
–ignore-small-errors \
–exclude-deb-section=’^debug$’ \
–exclude=’help-.*\.deb$’ \
–include=’help-es.*\.deb$’ \
–include=’help-en.*\.deb$’ \
–exclude-deb-section=doc \
–exclude-deb-section=electronics \
–exclude-deb-section=games \
–exclude-deb-section=hamradio \
–exclude-deb-section=kde \
–exclude-deb-section=gnome \
–exclude-deb-section=misc \
–exclude-deb-section=graphics \
–exclude-deb-section=math \
–exclude-deb-section=science \
–exclude-deb-section=sound \
–exclude-deb-section=tex \
–exclude-deb-section=text \
–exclude-deb-section=video \
–exclude-deb-section=xfce \
–exclude-deb-section=editors \
–nosource \
–diff=none \
–postcleanup \
–proxy=http://192.168.0.1:3128/ \
${DIR_PRINCIPAL}

echo «»
echo «== REPOSITORIO RPI ==»

echo «»
debmirror \
–arch=${ARQUITECTURA} \
–section=rpi \
–host=${HOST_RPI} \
–dist=${RAMAS} \
–progress \
–method=${METODO} \
–ignore-release-gpg \
–nosource \
–diff=none \
–postcleanup \
${DIR_RPI}
echo «»

echo «== REPOSITORIO RAS ==»
echo «»
debmirror \
–arch=${ARQUITECTURA} \
–section=main \
–host=${HOST_RAS} \
–root=/debian \
–dist=${RAMAS} \
–progress \
–method=${METODO} \
–ignore-release-gpg \
–nosource \
–diff=none \
–postcleanup \
${DIR_RAS}

echo «»
if [ -n «$WORD» ]

then

/home/armandof/repos/actrepos.txt > /tmp/raspbian.log

else

echo «Mirror sin problemas :)» >> /tmp/raspbian.log
cd ${DIR_REPOS}
du -hsc * –exclude=*.txt > raspbian.txt
chown -R nobody:nogroup raspbian.txt
chmod -R 644 raspbian.txt

cd ${DIR_PRINCIPAL}
chown -R nobody:nogroup *
chmod -R 755 *

cd ${DIR_RPI}
chown -R nobody:nogroup *
chmod -R 755 *

cd ${DIR_RAS}
chown -R nobody:nogroup *
chmod -R 755 *

fi

 

¿De cuánta utilidad te ha parecido este contenido?

Armando Felipe Fuentes Denis

Cloud Architect | DevOps | SecOps | SRE | Cloud | SysAdmins

View Comments

  • hace unos años uso debmirror para actualizar mis repos, recien trate de usarlo en debian buster y encuentro que obligatoriamente me quiere descargar (binary-all) como puedo declarar en mi script que no me descarge esto, ya probe con las opciones exclude y exclude-fiel sin resultadospositivos.

Share
Published by
Armando Felipe Fuentes Denis

Recent Posts

SquidStat, analizador de logs de squid diferente y 100% cubano

Me complace anunciar la creación de esta útil herramienta (SquidStats), para el análisis y monitoreo…

4 días ago

n8n Transformando la Automatización de Flujos de Trabajo con Inteligencia Artificial

La inteligencia artificial está revolucionando las industrias al automatizar tareas, predecir patrones y permitiendo tomar…

2 semanas ago

Alta disponibilidad de sus base de datos con Percona XtraDB Cluster en Kubernetes

Uno de los grandes retos al que nos podemos enfrentar cuando una aplicación crece, es…

2 años ago

Home automation (Parte 3) – ESPHome

Qué es lo que deseo hacer en este capítulo? Básicamente un sonoff, quiero encender/apagar las…

2 años ago

Home automation (Parte 2) – Home Assistant

Hace algunos meses estoy escuchando hablar del proyecto Home Assistant (HA). En palabras literales del…

2 años ago