From dc42451b71d2c7820ef1b3ace62578aabaccfcf3 Mon Sep 17 00:00:00 2001 From: cynfo3000 Date: Sun, 22 Feb 2026 20:14:00 +0000 Subject: [PATCH] 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) --- install-minion.sh | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/install-minion.sh b/install-minion.sh index 4d8b71e..3310d57 100755 --- a/install-minion.sh +++ b/install-minion.sh @@ -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."