From d3bdf16fcce0c73eff9d60a1c90f0f69457307d7 Mon Sep 17 00:00:00 2001 From: Puechberty Arthur Date: Thu, 30 Jul 2026 20:02:49 +0200 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20du=20nettoyage=20nucl=C3=A9?= =?UTF-8?q?aire=20:=20ajout=20de=20la=20d=C3=A9sactivation=20des=20swaps,?= =?UTF-8?q?=20nettoyage=20des=20signatures=20et=20destruction=20des=20tabl?= =?UTF-8?q?es=20GPT=20pour=20une=20r=C3=A9initialisation=20compl=C3=A8te?= =?UTF-8?q?=20du=20disque.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index 1a75c5d..91bc6cb 100644 --- a/install.sh +++ b/install.sh @@ -50,18 +50,33 @@ else fi echo "[INFO] Nettoyage nucléaire de $DISK et démontage forcé..." -umount -R /mnt 2>/dev/null || true -umount ${DISK}* 2>/dev/null || true +# Tuer tous les processus qui pourraient utiliser /mnt +fuser -km /mnt 2>/dev/null || true +sleep 1 + +# Démonter /mnt et /mnt/boot explicitement +umount /mnt/boot 2>/dev/null || true +umount /mnt 2>/dev/null || true + +# Boucler pour démonter TOUTES les partitions du disque cible +for part in ${DISK}*; do + umount "$part" 2>/dev/null || true +done + +# Désactiver les swaps et les mappings swapoff -a 2>/dev/null || true dmsetup remove_all 2>/dev/null || true +# Nettoyer les signatures wipefs -a -f "$DISK"* 2>/dev/null || true wipefs -a -f "$DISK" 2>/dev/null || true +# Détruire physiquement les tables GPT dd if=/dev/zero of="$DISK" bs=1M count=10 conv=fsync 2>/dev/null || true DISK_SIZE_SECTORS=$(blockdev --getsz "$DISK") dd if=/dev/zero of="$DISK" bs=512 count=10 seek=$((DISK_SIZE_SECTORS - 10)) conv=fsync 2>/dev/null || true +# Forcer la relecture partprobe "$DISK" 2>/dev/null || true blockdev --rereadpt "$DISK" 2>/dev/null || true udevadm settle @@ -219,7 +234,6 @@ PARUCONF chown -R $USERNAME:$USERNAME /home/$USERNAME/.config/paru echo "[INFO] Compilation de paru depuis les sources (avec support swap)..." -# Redirection de stdin depuis /dev/null pour éviter les boucles interactives sudo -u $USERNAME bash -c "cd /tmp && git clone https://aur.archlinux.org/paru.git && cd paru && makepkg -si --noconfirm --skippgpcheck" < /dev/null || echo "[WARNING] Paru install failed" if ! command -v paru &> /dev/null; then