Update Ansible/requirement-check.sh
This commit is contained in:
@@ -106,9 +106,7 @@ if command -v python3 >/dev/null 2>&1; then
|
||||
else
|
||||
printf "${RED}Nicht gefunden ✗${NC}\n"
|
||||
python_pkg="python3"
|
||||
if [ "$PKG_MANAGER" = "pacman" ]; then
|
||||
python_pkg="python"
|
||||
fi
|
||||
[ "$PKG_MANAGER" = "pacman" ] && python_pkg="python"
|
||||
missing_packages="$missing_packages $python_pkg"
|
||||
fi
|
||||
|
||||
@@ -123,15 +121,17 @@ fi
|
||||
|
||||
# 4. Prüfe openssh-server
|
||||
printf "Prüfe 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
|
||||
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}Nicht gefunden ✗${NC}\n"
|
||||
missing_ssh=true
|
||||
ssh_pkg="openssh-server"
|
||||
if [ "$PKG_MANAGER" = "pacman" ] || [ "$PKG_MANAGER" = "apk" ]; then
|
||||
ssh_pkg="openssh"
|
||||
fi
|
||||
case $PKG_MANAGER in
|
||||
pacman|apk) ssh_pkg="openssh" ;;
|
||||
esac
|
||||
missing_packages="$missing_packages $ssh_pkg"
|
||||
fi
|
||||
|
||||
@@ -141,6 +141,17 @@ if [ -n "$missing_packages" ]; then
|
||||
printf "${BLUE}Starte Installation der fehlenden Pakete...${NC}\n\n"
|
||||
check_root
|
||||
|
||||
# Bei Alpine: community-Repo für sudo aktivieren
|
||||
if [ "$PKG_MANAGER" = "apk" ]; then
|
||||
printf "${BLUE}Aktiviere community-Repository für sudo...${NC}\n"
|
||||
# Alpine-Version ermitteln, z.B. "3.18"
|
||||
ALPINE_VER=$(cut -d. -f1-2 /etc/alpine-release)
|
||||
REPO_URL="http://dl-cdn.alpinelinux.org/alpine/v${ALPINE_VER}/community"
|
||||
# Falls noch nicht vorhanden, hinzufügen
|
||||
grep -qxF "$REPO_URL" /etc/apk/repositories || \
|
||||
echo "$REPO_URL" >> /etc/apk/repositories
|
||||
fi
|
||||
|
||||
printf "${BLUE}Aktualisiere Paketlisten...${NC}\n"
|
||||
case $PKG_MANAGER in
|
||||
apt)
|
||||
@@ -165,6 +176,7 @@ if [ -n "$missing_packages" ]; then
|
||||
install_package "$PKG_MANAGER" "$pkg"
|
||||
done
|
||||
|
||||
# SSH-Server starten, falls nötig
|
||||
if [ "$missing_ssh" = "true" ]; then
|
||||
printf "${BLUE}Starte SSH-Server...${NC}\n"
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
@@ -177,42 +189,33 @@ if [ -n "$missing_packages" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Abschließende Überprüfung
|
||||
echo
|
||||
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
|
||||
command -v bash >/dev/null 2>&1 \
|
||||
&& printf "${GREEN}Vorhanden ✓${NC}\n" \
|
||||
|| { printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"; all_requirements_met=false; }
|
||||
|
||||
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
|
||||
command -v python3 >/dev/null 2>&1 \
|
||||
&& printf "${GREEN}Vorhanden ✓${NC}\n" \
|
||||
|| { printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"; all_requirements_met=false; }
|
||||
|
||||
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
|
||||
command -v sudo >/dev/null 2>&1 \
|
||||
&& printf "${GREEN}Vorhanden ✓${NC}\n" \
|
||||
|| { printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"; all_requirements_met=false; }
|
||||
|
||||
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
|
||||
( systemctl status sshd >/dev/null 2>&1 \
|
||||
|| service ssh status >/dev/null 2>&1 \
|
||||
|| ps aux | grep -v grep | grep -q sshd ) \
|
||||
&& printf "${GREEN}Vorhanden ✓${NC}\n" \
|
||||
|| { printf "${RED}Fehlt trotz Installationsversuch!${NC}\n"; all_requirements_met=false; }
|
||||
|
||||
echo
|
||||
if $all_requirements_met; then
|
||||
@@ -222,6 +225,7 @@ if [ -n "$missing_packages" ]; then
|
||||
echo "Bitte installiere die fehlenden Pakete manuell."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
echo
|
||||
printf "${GREEN}Alle Voraussetzungen sind bereits erfüllt. Keine Installation notwendig.${NC}\n"
|
||||
|
||||
Reference in New Issue
Block a user