Saltar a contenido

Introducción

A veces es necesario tener los repositorios de Rocky Linux disponibles de forma local para poder construir máquinas virtuales, entornos de laboratorio, etc. También puede ayudarle a ahorrar ancho de banda si eso es una preocupación. Este artículo le guiará a través del uso de rsync para copiar los repositorios de Rocky Linux a un servidor web local. Montar un servidor web está fuera del alcance de este breve artículo.

Requisitos

  • Un servidor web

Código

#!/bin/bash
repos_base_dir="/web/path"

# Start sync if base repo directory exist
if [[ -d "$repos_base_dir" ]] ; then
  # Start Sync
  rsync  -avSHP --progress --delete --exclude-from=/opt/scripts/excludes.txt rsync://ord.mirror.rackspace.com/rocky  "$repos_base_dir" --delete-excluded
  # Download Rocky 8 repository key
  if [[ -e /web/path/RPM-GPG-KEY-rockyofficial ]]; then
     exit
  else
      wget -P $repos_base_dir https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-rockyofficial
  fi
fi

Descripción

Este sencillo script de shell utiliza rsync para obtener los archivos del repositorio desde la réplica más cercana. También utiliza la opción de "excluir", que se define en un archivo de texto en forma de palabras clave que no deben incluirse. Las exclusiones son buenas si tiene espacio limitado en el disco o simplemente no quiere sincronizar todo por cualquier razón. Podemos utilizar * como comodín. Tenga cuidado al utilizar */ng ya que excluirá todo lo que coincida con esos caracteres. A continuación, se muestra un ejemplo:

*/source*
*/debug*
*/images*
*/Devel*
8/*
8.4-RC1/*
8.4-RC1

Fin

Un sencillo script que le puede ayudar a ahorrar ancho de banda o facilitar la creación de un entorno de laboratorio.

Author: codedude

Contributors: Steven Spencer, Pedro Garcia