Update Ansible/requirement-check.sh
This commit is contained in:
@@ -81,10 +81,9 @@ PKG_MANAGER=$(detect_package_manager)
|
||||
if [ "$PKG_MANAGER" = "unknown" ]; then
|
||||
printf "${RED}Konnte keinen bekannten Paketmanager erkennen.${NC}\n"
|
||||
echo "Bitte installiere fehlende Pakete manuell."
|
||||
need_manual_installation=true
|
||||
exit 1
|
||||
else
|
||||
echo "Erkannter Paketmanager: $PKG_MANAGER"
|
||||
need_manual_installation=false
|
||||
fi
|
||||
|
||||
# Initialisiere Variable für fehlende Pakete
|
||||
@@ -136,110 +135,94 @@ else
|
||||
missing_packages="$missing_packages $ssh_pkg"
|
||||
fi
|
||||
|
||||
# Installation nur durchführen, wenn tatsächlich Pakete fehlen
|
||||
if [ -n "$missing_packages" ] && [ "$need_manual_installation" = "false" ]; then
|
||||
# Installation der fehlenden Pakete (ohne Rückfrage)
|
||||
if [ -n "$missing_packages" ]; then
|
||||
echo
|
||||
printf "${BLUE}Die folgenden Pakete müssen installiert werden:${NC}\n"
|
||||
echo "$missing_packages"
|
||||
printf "${BLUE}Starte Installation der fehlenden Pakete...${NC}\n\n"
|
||||
check_root
|
||||
|
||||
printf "${BLUE}Aktualisiere Paketlisten...${NC}\n"
|
||||
case $PKG_MANAGER in
|
||||
apt)
|
||||
apt update
|
||||
;;
|
||||
dnf|yum)
|
||||
$PKG_MANAGER check-update || true
|
||||
;;
|
||||
pacman)
|
||||
pacman -Sy
|
||||
;;
|
||||
zypper)
|
||||
zypper refresh
|
||||
;;
|
||||
apk)
|
||||
apk update
|
||||
;;
|
||||
esac
|
||||
echo
|
||||
|
||||
# Frage nach Bestätigung
|
||||
printf "Möchtest du diese Pakete jetzt installieren? (j/N): "
|
||||
read -r answer
|
||||
for pkg in $missing_packages; do
|
||||
install_package "$PKG_MANAGER" "$pkg"
|
||||
done
|
||||
|
||||
if [ "$answer" = "j" ] || [ "$answer" = "J" ] || [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
|
||||
check_root
|
||||
|
||||
printf "${BLUE}Aktualisiere Paketlisten...${NC}\n"
|
||||
case $PKG_MANAGER in
|
||||
apt)
|
||||
apt update
|
||||
;;
|
||||
dnf|yum)
|
||||
$PKG_MANAGER check-update || true
|
||||
;;
|
||||
pacman)
|
||||
pacman -Sy
|
||||
;;
|
||||
zypper)
|
||||
zypper refresh
|
||||
;;
|
||||
apk)
|
||||
apk update
|
||||
;;
|
||||
esac
|
||||
echo
|
||||
|
||||
for pkg in $missing_packages; do
|
||||
install_package "$PKG_MANAGER" "$pkg"
|
||||
done
|
||||
|
||||
if [ "$missing_ssh" = "true" ]; then
|
||||
printf "${BLUE}Starte SSH-Server...${NC}\n"
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl enable --now sshd || systemctl enable --now ssh
|
||||
elif command -v service >/dev/null 2>&1; then
|
||||
service ssh start || service sshd start
|
||||
else
|
||||
printf "${YELLOW}Konnte SSH-Server nicht automatisch starten.${NC}\n"
|
||||
echo "Bitte starte den SSH-Server manuell."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
printf "${BLUE}=== Abschließende Überprüfung ===${NC}\n"
|
||||
|
||||
all_requirements_met=true
|
||||
|
||||
printf "bash: "
|
||||
if command -v bash >/dev/null 2>&1; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
if [ "$missing_ssh" = "true" ]; then
|
||||
printf "${BLUE}Starte SSH-Server...${NC}\n"
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl enable --now sshd || systemctl enable --now ssh
|
||||
elif command -v service >/dev/null 2>&1; then
|
||||
service ssh start || service sshd start
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
printf "${YELLOW}Konnte SSH-Server nicht automatisch starten.${NC}\n"
|
||||
echo "Bitte starte den SSH-Server manuell."
|
||||
fi
|
||||
|
||||
printf "python3: "
|
||||
if command -v python3 >/dev/null 2>&1; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
fi
|
||||
|
||||
printf "sudo: "
|
||||
if command -v sudo >/dev/null 2>&1; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
fi
|
||||
|
||||
printf "openssh-server: "
|
||||
if systemctl status sshd >/dev/null 2>&1 || service ssh status >/dev/null 2>&1 || ps aux | grep -v grep | grep -q sshd; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
fi
|
||||
|
||||
echo
|
||||
if $all_requirements_met; then
|
||||
printf "${GREEN}Alle Voraussetzungen sind erfüllt. System ist bereit!${NC}\n"
|
||||
else
|
||||
printf "${RED}Nicht alle Voraussetzungen konnten installiert werden.${NC}\n"
|
||||
echo "Bitte installiere die fehlenden Pakete manuell."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Installation abgebrochen."
|
||||
fi
|
||||
elif [ -z "$missing_packages" ]; then
|
||||
|
||||
echo
|
||||
printf "${GREEN}Alle Voraussetzungen sind bereits erfüllt. Keine Installation notwendig.${NC}\n"
|
||||
printf "${BLUE}=== Abschließende Überprüfung ===${NC}\n\n"
|
||||
|
||||
all_requirements_met=true
|
||||
|
||||
printf "bash: "
|
||||
if command -v bash >/dev/null 2>&1; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
fi
|
||||
|
||||
printf "python3: "
|
||||
if command -v python3 >/dev/null 2>&1; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
fi
|
||||
|
||||
printf "sudo: "
|
||||
if command -v sudo >/dev/null 2>&1; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
fi
|
||||
|
||||
printf "openssh-server: "
|
||||
if systemctl status sshd >/dev/null 2>&1 || service ssh status >/dev/null 2>&1 || ps aux | grep -v grep | grep -q sshd; then
|
||||
printf "${GREEN}Vorhanden ✓${NC}\n"
|
||||
else
|
||||
printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"
|
||||
all_requirements_met=false
|
||||
fi
|
||||
|
||||
echo
|
||||
if $all_requirements_met; then
|
||||
printf "${GREEN}Alle Voraussetzungen sind erfüllt. System ist bereit!${NC}\n"
|
||||
else
|
||||
printf "${RED}Nicht alle Voraussetzungen konnten installiert werden.${NC}\n"
|
||||
echo "Bitte installiere die fehlenden Pakete manuell."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo
|
||||
printf "${YELLOW}Fehlende Pakete:${NC}\n"
|
||||
echo "$missing_packages"
|
||||
printf "${YELLOW}Bitte installiere diese Pakete manuell mit deinem Paketmanager.${NC}\n"
|
||||
printf "${GREEN}Alle Voraussetzungen sind bereits erfüllt. Keine Installation notwendig.${NC}\n"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user