Spacewalk/Satellite/SUSE Manager Software-Kanäle aufräumen

Nach einiger Zeit sammeln sich alte Pakete in den durch Spacewalk, Red Hat Satellite oder SUSE Manager verwalteten Software-Kanäle an.

Spätestens, wenn die Festplatte vollzulaufen droht, sollte man aufräumen und nicht mehr benötigte Pakete entfernen. Prinzipiell gibt es hierfür ein Programm namens spacewalk-data-fsck - doch dieses Programm entfernt lediglich Pakete, die sich nicht in der Datenbank befinden, von der Festplatte.

In der Red Hat Spacewalk-Mailingliste hat Nicolas Pradelles ein selbstentwickeltes Skript vorgestellt, welches alte Paketversionen entfernt. Das Skript durchsucht alle Software-Kanäle und entfernt nicht aktuelle Pakete aus der Datenbank und dem Dateisystem.

Das Skript steht kostenlos zur Verfügung - muss vor der Ausführung jedoch noch angepasst werden, da noch Server, Benutzername und Passwort hinterlegt werden müssen:

1# wget -O packages_cleanup.sh https://www.redhat.com/archives/spacewalk-list/2012-April/bin1dA64IopcS.bin
2# vi packages_cleanup.sh
3...
4LOGIN='username'
5PASS='password'
6SRV='localhost'

Nach der Anpassung ist das Skript einsatzbereit - ein Aufräumvorgang sieht wie folgt aus:

 1# ./packages_cleanup.sh
 2
 3################
 4centos6-updates-x86_64
 5################
 6389-ds-base-1.2.11.15-14.el6_4.x86_64
 7389-ds-base-1.2.11.15-20.el6_4.x86_64
 8389-ds-base-1.2.11.15-22.el6_4.x86_64
 9...
10xulrunner-devel-17.0.9-1.el6.centos.i686
11xulrunner-devel-17.0.9-1.el6.centos.x86_64
12centos6-updates-x86_64: ALL=1538, LATEST=825, OLD=714, DELETED=705
13...
14Removed file missing in db: /var/satellite/redhat/...

Das Ganze lässt sich auch sehr komfortabel mit einem wöchentlichen Cronjob automatisieren:

 1# mkdir /opt/tools; mv packages_cleanup.sh /opt/tools
 2# vi /etc/cron.weekly/spacewalk_clean.cron
 3#!/bin/sh
 4MAILTO=root
 5
 6#remove older versions of packages
 7/opt/tools/packages_cleanup.sh
 8
 9ESC ZZ
10
11# chmod 755 /etc/cron.weekly/spacewalk_clean.cron

Somit entfällt das manuelle Aufräumen - das bedeutet mehr Zeit für die wirklich sinnvollen Dinge im Administrator-Alltag (z. B. Kaffee kochen und trinken). 😉

Übersetzungen: