Introduzione¶
A volte è necessario disporre di repository Rocky in locale per creare macchine virtuali, ambienti di laboratorio e così via. Può anche aiutare a risparmiare la larghezza di banda, se questo è un problema. Questo articolo spiega come usare rsync
per copiare i repository Rocky su un server web locale. La costruzione di un server web non rientra nell'ambito di questo breve articolo.
Requisiti¶
- Un server web
Codice¶
#!/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
Ripartizione¶
Questo semplice script di shell utilizza rsync
per prelevare i file del repository dal mirror più vicino. Utilizza anche l'opzione "exclude", definita in un file di testo sotto forma di parole chiave che non devono essere incluse. Le esclusioni sono utili se si dispone di spazio limitato su disco o se, per qualsiasi motivo, non si vuole tutto. Possiamo usare *
come carattere jolly. Fate attenzione all'uso di */ng
, perché escluderà tutto ciò che corrisponde a questi caratteri. Un esempio è riportato di seguito:
*/source*
*/debug*
*/images*
*/Devel*
8/*
8.4-RC1/*
8.4-RC1
Fine¶
Un semplice script che può aiutare a risparmiare larghezza di banda o a semplificare la creazione di un ambiente di laboratorio.
Author: codedude
Contributors: Steven Spencer, Franco Colussi