ESPO-02 sagt bei gescheiterter Installation, woran es liegt

Die vier gepinnten Versionen existieren im Docker-Repo fuer noble (geprueft
gegen den Packages-Index), die Ursache liegt also woanders. Statt zu raten
gibt das Skript jetzt im Fehlerfall die Simulation von apt (mit der konkreten
unerfuellten Abhaengigkeit), die verfuegbaren Versionen inklusive iptables und
nftables, die bereits installierten Docker-Pakete und haengende Installationen
aus. Ausserdem -q statt -qq, damit apt ueberhaupt etwas sagt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
gordon.zimm 2026-09-24 09:07:30 +02:00
parent 4b5440968b
commit 2cc7896715

View File

@ -29,9 +29,21 @@ CONF
apt-get update -qq || { echo "FEHLER: apt-get update"; exit 1; }
# 2. Genau diese Versionen installieren und auf Hold setzen, damit nichts unbemerkt nachzieht.
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq \
docker-ce="$DOCKER_VERSION" docker-ce-cli="$DOCKER_VERSION" containerd.io="$CONTAINERD_VERSION" \
docker-compose-plugin="$COMPOSE_VERSION" docker-buildx-plugin="$BUILDX_VERSION" || { echo "FEHLER: Installation"; exit 1; }
# Scheitert die Installation, sagt das Skript woran - eine blosse Fehlermeldung hilft niemandem weiter.
PAKETE="docker-ce=$DOCKER_VERSION docker-ce-cli=$DOCKER_VERSION containerd.io=$CONTAINERD_VERSION"
PAKETE="$PAKETE docker-compose-plugin=$COMPOSE_VERSION docker-buildx-plugin=$BUILDX_VERSION"
if ! DEBIAN_FRONTEND=noninteractive apt-get install -y -q $PAKETE; then
echo "--- Diagnose: was apt dazu sagt"
DEBIAN_FRONTEND=noninteractive apt-get -s install $PAKETE 2>&1 | tail -n 30
echo "--- Diagnose: was verfuegbar ist"
apt-cache policy docker-ce containerd.io docker-compose-plugin docker-buildx-plugin iptables nftables
echo "--- Diagnose: was schon installiert ist"
dpkg -l | grep -Ei 'docker|containerd|runc' || echo "keine Docker-Pakete installiert"
echo "--- Diagnose: haengende Installationen"
dpkg -l | awk '$1 !~ /^ii/ && NR > 5 {print}' || true
echo "FEHLER: Installation"
echo "ESPO02_ERGEBNIS: FEHLER"; exit 1
fi
apt-mark hold docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin >/dev/null
# 3. Daemon-Grundlagen: Logrotation, weil der Standardtreiber nicht rotiert.