Mirror local de Debian y RaspberryPiOS

Añadir en /etc/apt/sources.list de un RaspberryPi (armhf y arm64)

deb https://almacen.tormentasolar.win/mirror/raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi

También hay soporte para Debian10 buster amd64, las fuentes y una selección de imágenes iso para instalar debian y otras

Edit: No lo había pensado! tengo que explicar como montar un mirror automático de Debian y todas las distribuciones derivadas (ubuntu/raspberryOS/… y un montón más)
Yo para mi conveniencia voy a usar Ubuntu 20.04 – 64bit/Debian 10-64bit y RaspberryOS 32-64bit

Damos por descontado que ya tienes apache instalado y si no lo tienes, entonces añádelo. En mi caso voy aprovechar un OrangePiPc2 con ISPConfig ya instalado y un disco duro de 1TB.

Y como se entiende de arriba el mirror estará en https://almacen.tormentasolar.win/mirror/

apt install apt-mirror  (si no tienes apache, añade "apache2")

vamos hacer una copia de seguridad del fichero de configuración por si hay errores por nuestra parte:

cp /etc/apt/mirror.list /etc/apt/mirror.list.original

aquí pongo mi configuración. Editarla como os plazca

############# config ##################
#
set base_path    /var/spool/apt-mirror
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
set defaultarch  armhf
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
#set nthreads     20
set _tilde 0
#

#Bandwidth limiting. 
#set limit_rate 10000k
set limit_rate 10000k
set nthreads     4


############# end config ##############


# AMD64
deb-amd64 http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb-amd64 http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

deb-amd64 http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free

deb-amd64 http://security.debian.org/ buster/updates main contrib non-free
deb-src http://security.debian.org/ buster/updates main contrib non-free

# RaspberryPi
deb-armhf http://raspbian.raspberrypi.org/raspbian buster main contrib non-free rpi firmware
deb-arm64 http://raspbian.raspberrypi.org/raspbian buster main contrib non-free rpi firmware
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
deb-src http://raspbian.raspberrypi.org/raspbian buster main contrib non-free rpi firmware

deb-armhf http://archive.raspberrypi.org/debian buster main
deb-arm64 http://archive.raspberrypi.org/debian buster main
deb-src http://archive.raspberrypi.org/debian buster main

# Erlan
deb-armhf http://binaries.erlang-solutions.com/debian buster contrib
deb-arm64 http://binaries.erlang-solutions.com/debian buster contrib
deb-src http://binaries.erlang-solutions.com/debian buster contrib

clean http://deb.debian.org/debian
clean http://security.debian.org
clean http://raspbian.raspberrypi.org/raspbian
clean http://binaries.erlang-solutions.com


ahora entra en la carpeta de tu página web, por ejemplo almacen.tormentasolar.win que se encuentra en /var/www/tormentasolar.win

cd /var/www/tormentasolar.win/web
ln -s /var/spool/apt-mirror/mirror

como que no hay un index.html hay que añadir una Directiva en apache. Si usas ISPConfig entra en la administración del sitio web – Options -> Apache Directives y añade:

<Directory /var/www/clients/client0/web12/web/mirror>
Options +Indexes +FollowSymLinks
</Directory>

Lo mismo hay que hacer si NO usas ISPConfig.
Edita directamente el fichero de apache con

mcedit /etc/apache2/sites-enabled/almacen.tormentasolar.win.vhost

y añade en el fondo pero antes del tag </virtualhost>, esto

<Directory /var/www/clients/client1/web10/web/mirror>
   Options +Indexes +FollowSymLinks
</Directory>

</VirtualHost> # <--- antes de este tag

La ruta de la Directory, tiene que ser la real, sin anlaces simbólicos.
Ahora modifica el fichero

mcedit /var/spool/apt-mirror/var/postmirror.sh

y añade:

/var/spool/apt-mirror/var/clean.sh

y luego dale permisos de execución

chmod 755 /var/spool/apt-mirror/var/postmirror.sh

ahora puedes lanzar a mano apt-mirror (dentro de screen por ejemplo) para ver si hay errores y si los hay ver si se pueden ignorar, como por ejemplo que no encuentra una arquitectura o las fuentes, si no las hay en aquella direción de la confuguración

Si todo fuciona bien, entonces puedes cerrar apt-mirror con ctrl-c y hacer dos enlaces a para activar diariamente (o semanalmente) la tarea de sincronizar los repositorios

ln -s /etc/cron.d/apt-mirror /etc/cron.daily/apt-mirror
ln -s /etc/cron.d/apt-mirror-die /etc/cron.daily/apt-mirror-die

Por defecto apt-mirror se activa a la una de la noche y se apaga a las 7:45 de la mañana.

Leave a Reply

Your email address will not be published.