Búsqueda de sitios web

Configurar repositorios locales con 'apt-mirror' en sistemas Ubuntu y Debian


Cuando hoy en día el tráfico y las velocidades ocasionales de Internet se miden en decenas de Giga en un abrir y cerrar de ojos, incluso para los clientes de Internet comunes, ¿cuál es el propósito de configurar un caché de repositorio local en las LAN?

Una de las razones es reducir el ancho de banda de Internet y la alta velocidad al extraer paquetes del caché local. Pero, además, otra razón importante debería ser la privacidad. Imaginemos que los clientes de su organización tienen restricciones de Internet, pero sus máquinas Linux necesitan actualizaciones periódicas del sistema sobre software y seguridad o simplemente necesitan nuevos paquetes de software. Para ir más allá, un servidor que se ejecuta en una red privada, contiene y proporciona información confidencial confidencial sólo para un segmento de red restringido y nunca debe exponerse a la Internet pública.

Estas son solo algunas de las razones por las que debería crear un espejo de repositorio local en su LAN, delegar un servidor perimetral para este trabajo y configurar clientes internos para extraer software de su espejo de caché.

Ubuntu proporciona el paquete apt-mirror para sincronizar el caché local con los repositorios oficiales de Ubuntu, espejo que se puede configurar a través de un servidor HTTP o FTP para compartir su paquetes de software con clientes del sistema local.

Para una caché espejo completa, su servidor necesita al menos 120 G de espacio libre reservado para los repositorios locales.

Requisitos

  1. Mínimo 120G de espacio libre
  2. Servidor Proftpd instalado y configurado en modo anónimo.

Paso 1: configurar el servidor

1. Lo primero que puede querer hacer es identificar los mirrors de Ubuntu más cercanos y rápidos cerca de su ubicación visitando la página Ubuntu Archive Mirror y seleccionando su país.

Si su país proporciona más espejos, debe identificar la dirección del espejo y realizar algunas pruebas basadas en los resultados de ping o traceroute.

2. El siguiente paso es instalar el software necesario para configurar el repositorio espejo local. Instale los paquetes apt-mirror y proftpd y configure proftpd como demonio del sistema independiente.

sudo apt-get install apt-mirror proftpd-basic

3. Ahora es el momento de configurar el servidor apt-mirror. Abra y edite el archivo /etc/apt/mirror.list agregando las ubicaciones más cercanas (Paso 1); opcional, si los espejos predeterminados son lo suficientemente rápidos o no está en Date prisa y elige la ruta de tu sistema donde se deben descargar los paquetes. De forma predeterminada, apt-mirror usa la ubicación /var/spool/apt-mirror para el caché local, pero en este tutorial usaremos cambiar la ruta del sistema y el punto set. directiva base_path a la ubicación /opt/apt-mirror.

sudo nano /etc/apt/mirror.list

También puede descomentar o agregar otra lista de fuentes antes de la directiva de limpieza, incluidas las fuentes de Debian, dependiendo de las versiones de Ubuntu que utilicen sus clientes. Puede agregar fuentes desde 12.04, si lo desea, pero tenga en cuenta que agregar más fuentes requiere más espacio libre.

Para obtener listas de fuentes de Debian, visite Debian Wiki o Debian Sources List Generator.

4. Todo lo que necesita hacer ahora es crear un directorio de ruta y ejecutar el comando apt-mirror para sincronizar los repositorios oficiales de Ubuntu con nuestro espejo local. .

sudo mkdir -p /opt/apt-mirror
sudo apt-mirror

Como puede ver, apt-mirror continúa indexando y descargando archivos que presentan el número total de paquetes descargados y su tamaño. Como podemos imaginar, 110-120 GB es lo suficientemente grande como para tardar algún tiempo en descargarse.

Puede ejecutar el comando ls para ver el contenido del directorio.

Una vez que se complete la descarga inicial, las descargas futuras serán pequeñas.

5. Mientras apt-mirror descarga paquetes, usted puede configurar su servidor Proftpd. Lo primero que debe hacer es crear un archivo de configuración anónimo para proftpd ejecutando el siguiente comando.

sudo nano /etc/proftpd/conf.d/anonymous.conf

Luego agregue el siguiente contenido al archivo anonymous.conf y reinicie el servicio proftd.

<Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
  MaxClients                   10
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

6. El siguiente paso es vincular la ruta apt-mirror a la ruta proftpd ejecutando un montaje de enlace emitiendo el comando.

sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/

Para verificarlo, ejecute el comando mount sin ningún parámetro ni opción.

mount

7. El último paso es asegurarse de que el servidor Proftpd se inicie automáticamente después del reinicio del sistema y del directorio mirror-cache. también se monta automáticamente en la ruta del servidor ftp. Para habilitar automáticamente proftpd ejecute el siguiente comando.

sudo update-rc.d proftpd enable

Para montar automáticamente la caché apt-mirror en proftpd, abra y edite el archivo /etc/rc.local.

sudo nano /etc/rc.local

Agregue la siguiente línea antes de la directiva exit 0. Utilice también un retraso de 5 segundos antes de intentar montar.

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/

Si extrae paquetes de los repositorios Debian, ejecute los siguientes comandos y asegúrese de que la configuración adecuada para el archivo rc.local anterior esté habilitada.

sudo mkdir /srv/ftp/debian
sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/

8. Para una sincronización diaria de apt-mirror, también puede crear un trabajo de programación del sistema para que se ejecute a las 2 a. m. todos los días. Ejecute el comando crontab, seleccione su editor preferido y luego agregue la siguiente sintaxis de línea.

sudo crontab –e

En la última línea agregue la siguiente línea.

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log

Ahora, todos los días a las 2 a. m., la caché del repositorio de su sistema se sincronizará con los espejos oficiales de Ubuntu y creará un archivo de registro.

Paso 2: configurar clientes

9. Para configurar clientes Ubuntu locales, edite /etc/apt/source.list en las computadoras cliente para que apunte a la dirección IP o al nombre de host de Servidor apt-mirror: reemplace el protocolo http con ftp, luego actualice el sistema.

deb ftp://192.168.1.13/ubuntu trusty universe
deb ftp://192.168.1.13/ubuntu trusty main restricted
deb ftp://192.168.1.13/ubuntu trusty-updates main restricted
## Ad so on….

10. Para ver los repositorios, puede abrir un navegador y señalar la dirección IP de su servidor o el nombre de dominio mediante el protocolo FTP.

El mismo sistema se aplica también a los clientes y servidores Debian, el único cambio necesario es el espejo de Debian y la lista de fuentes.

Además, si instala un sistema Ubuntu o Debian nuevo, proporcione su espejo local manualmente con el protocolo ftp cuando el instalador le pregunte qué repositorio usar.

Lo mejor de tener sus propios repositorios espejo locales es que siempre está actualizado y sus clientes locales no tienen que conectarse a Internet para instalar actualizaciones o software.