#!/bin/bash set -euo pipefail ARCH=amd64 BASE_URL=https://cdimage.debian.org/debian-cd/current/$ARCH/iso-cd # Détection du dernier netinst ISO ISO=$(wget -qO- "$BASE_URL/" | grep -oP "debian-[0-9.]+-${ARCH}-netinst\.iso" | sort -V | tail -n1) SUMS=SHA256SUMS SIG=SHA256SUMS.sign echo "Latest ISO found: $ISO" # Téléchargement ISO seulement si absent if [ ! -f "$ISO" ]; then wget -N "$BASE_URL/$ISO" else echo "$ISO already exists, skipping download." fi # Téléchargement des fichiers de contrôle wget -N "$BASE_URL/$SUMS" wget -N "$BASE_URL/$SIG" # Import des clés Debian Archive (utile pour cohérence générale) KEYRING_PKG=debian-archive-keyring_2025.1_all.deb if [ ! -f "$KEYRING_PKG" ]; then wget "https://ftp.debian.org/debian/pool/main/d/debian-archive-keyring/$KEYRING_PKG" fi TMPDIR=$(mktemp -d) ar x "$KEYRING_PKG" --output="$TMPDIR" tar -xf "$TMPDIR"/data.tar.* -C "$TMPDIR" gpg --import "$TMPDIR/usr/share/keyrings/debian-archive-keyring.gpg" || true rm -rf "$TMPDIR" # Import des clés Debian CD signing (officielles sur debian.org/CD/verify) gpg --keyserver hkps://keyring.debian.org --recv-keys \ DF9B9C49EAA9298432589D76DA87E80D6294BE9B \ 64E6EA7D \ E0B11894F66AEC98 || true # Vérification signature echo "Verifying signature..." gpg --verify "$SIG" "$SUMS" # Vérification ciblée uniquement sur l’ISO téléchargé echo "Verifying checksum for $ISO..." grep "$ISO" "$SUMS" | sha256sum -c -