Ich betreibe - für einige private Dinge - mehrere kleine virtuelle Instanzen.
Da ich wissen möchte, ob deren Services alle noch funktionieren, wie es erwartet wird, ist dort natürlich ein Monitoring in Form von icinga2 installiert worden.
Da die Instanzen primär mit diesem “Exoten” Betriebssytem Linux (in einer der weniger verbreiteten Ausprägung namens ArchLinux) betrieben wird, muss ich mir die Pakete bei jedem Update neu aus den Sourcen bauen lassen.
Das ist nicht wirklich kompliziert und dauert auch nicht lange. Allerdings sind einige der Instanzen etwas schmalbrüstiger und so bricht der build Prozess in schöner Regelmäßigkeit wegen fehlendem Speicher ab.
Daher lag es auf der Hand, einen eigenen Paketmirror aufzubauen, damit ich dass bereits gebaute Paket allen anderen Instanzen zur Verfügung stellen kann.
Dazu benötigt man nur einen (eigene) Webserver, die Arch Build Umgebung, Kenntnisse über aur und das war es auch schon.
1
2
3
4
5
6
7
8
9
10
11
12
su - aur_builder
git clone https://aur.archlinux.org/icinga2.git
cd icinga2
makepkg --syncdeps --install --noprogressbar --noconfirm
exit
cd /var/www/mirror/icinga2
cp /home/aur_builder/icinga2/icinga2-*-x86_64.pkg.tar.zst
repo-add --new --verify icinga2.db.tar.zst icinga2-*-x86_64.pkg.tar.zst
Damit haben wir schon mal die Daten um die jetzt auf den anderen Systemen auszurollen.
Um jetzt überall das gewünschte Paket zu installieren reicht es die /etc/pacman.conf
um ein weiteres
Repository zu erweitern:
1
2
3
4
5
6
[community]
Include = /etc/pacman.d/mirrorlist
[icinga2]
SigLevel = Optional
Include = /etc/pacman.d/icinga-mirror
Die dazu zugehörige Repositorydefinition besteht dann nur noch im einfügen des gewünschten Mirror Servers
1
2
$ cat /etc/pacman.d/icinga-mirror
Server = https://mirror.boone-schulz.de/$repo/
Ein abschliesendes aktuallisieren der Paketdatenbank und wir können icinga2
installieren.
1
2
3
4
5
6
7
8
9
10
pacman -Syu
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
icinga2 ...
pacman -Ss icinga2
icinga2/icinga2 2.13.4-1 [installed: 2.13.3-1]
An open source host, service and network monitoring program