Cleanup verbessert: dpkg-basierte Paketsuche, Residual-Purge, Fallbacks

- Findet alle salt-Pakete via dpkg -l statt hardcoded Namen
- Purged auch residual configs (dpkg --purge)
- Entfernt /opt/saltstack und alternative Keyring-Pfade
- Fallback: erstellt /etc/salt manuell falls Paket es nicht tut
- Verifikation am Ende (ls -la /etc/salt)
This commit is contained in:
cynfo3000 2026-02-22 20:14:00 +00:00
parent 9bbbe5d916
commit dc42451b71

View File

@ -43,23 +43,36 @@ systemctl stop salt-master 2>/dev/null || true
systemctl disable salt-minion 2>/dev/null || true
systemctl disable salt-master 2>/dev/null || true
# Purge packages
# Purge ALL salt packages
if [ "$OS" = "debian" ]; then
apt-get remove --purge -y salt-minion salt-master salt-common salt-ssh 2>/dev/null || true
apt-get autoremove -y 2>/dev/null || true
# Finde alle installierten salt-Pakete
SALT_PKGS=$(dpkg -l | grep -i salt | awk '{print $2}' || true)
if [ -n "$SALT_PKGS" ]; then
echo "Entferne Pakete: $SALT_PKGS"
apt-get remove --purge -y $SALT_PKGS 2>/dev/null || true
fi
apt-get autoremove --purge -y 2>/dev/null || true
# dpkg purge falls noch Reste da sind
SALT_RESIDUAL=$(dpkg -l | grep -i salt | grep ^rc | awk '{print $2}' || true)
if [ -n "$SALT_RESIDUAL" ]; then
echo "Purge Reste: $SALT_RESIDUAL"
dpkg --purge $SALT_RESIDUAL 2>/dev/null || true
fi
fi
# Remove config, keys, cache
# Remove config, keys, cache, logs
rm -rf /etc/salt
rm -rf /var/cache/salt
rm -rf /var/log/salt
rm -rf /var/run/salt
rm -rf /srv/salt
rm -rf /srv/pillar
rm -rf /opt/saltstack
# Remove old repo config
# Remove old repo config and keys
rm -f /etc/apt/sources.list.d/salt*.list
rm -f /etc/apt/keyrings/salt-archive-keyring.gpg
rm -f /usr/share/keyrings/salt-archive-keyring.gpg
echo "Alte Installation bereinigt."
@ -69,10 +82,29 @@ echo "=== Frische Installation ==="
if [ "$OS" = "debian" ]; then
apt-get install -y gnupg2 curl >/dev/null 2>&1
# Salt Repo einrichten
mkdir -p /etc/apt/keyrings
curl -fsSL https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public | gpg --dearmor -o /etc/apt/keyrings/salt-archive-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/salt-archive-keyring.gpg] https://packages.broadcom.com/artifactory/saltproject-deb/ stable main' > /etc/apt/sources.list.d/salt.list
apt-get update >/dev/null 2>&1
apt-get install -y salt-minion
# Pruefen ob Installation erfolgreich
if ! command -v salt-minion &>/dev/null; then
echo "FEHLER: salt-minion wurde nicht installiert!"
echo "apt-get install Ausgabe:"
apt-get install -y salt-minion
exit 1
fi
fi
# Pruefen ob /etc/salt existiert
if [ ! -d /etc/salt ]; then
echo "WARNUNG: /etc/salt existiert nicht, erstelle manuell..."
mkdir -p /etc/salt/minion.d
mkdir -p /etc/salt/pki/minion
fi
# Configure Master
@ -97,4 +129,7 @@ echo "Minion ID: $(hostname)"
echo "Grain: kunde: $KUNDE"
echo "Master: $SALT_MASTER"
echo ""
echo "Verifikation:"
ls -la /etc/salt/
echo ""
echo "Naechster Schritt: Salt Master kontaktieren fuer Key-Akzeptanz."