Zum Inhalt

Einleitung

Manchmal müssen Sie Rocky Repositories lokal einrichten, um virtuelle Maschinen, Laborumgebungen usw. zu erstellen. Es kann auch helfen, Bandbreite zu sparen, wenn das ein Anliegen ist. Dieser Artikel wird Sie mit rsync begleiten, um Rocky Repositories auf einen lokalen Webserver zu kopieren. Der Aufbau eines Webservers geht über den Rahmen dieses kurzen Artikels hinaus.

Voraussetzung

  • Ein Webserver

Code

#!/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

Breakdown

Dieses einfache Shell-Skript verwendet rsync, um die Repository-Dateien vom nächstgelegenen Spiegel abzurufen. Es nutzt auch die exclude-Option, die in einer Textdatei in Form von Schlüsselwörtern definiert ist, die nicht enthalten sein sollten. Excludes sind nützlich, wenn Sie nur begrenzten Speicherplatz haben oder wenn Sie aus irgendeinem Grund nicht alles möchten. Sie können * als Platzhalter verwenden. Seien Sie vorsichtig bei der Verwendung von */ng, da dadurch alles ausgeschlossen wird, was diesen Zeichen entspricht. Hier ein Beispiel:

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

Zusammenfassung

Ein einfaches Skript, das dazu beitragen sollte, Bandbreite zu sparen oder das Erstellen einer Laborumgebung ein wenig zu vereinfachen.

Author: codedude

Contributors: Steven Spencer