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:
parent
9bbbe5d916
commit
dc42451b71
@ -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."
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user