Ne plus prendre une machine installée pour une session live #14

Closed
Cédric A5L wants to merge 2 commits from corrige-detection-live into fiche-materielle
Showing only changes of commit 122c0f22c3 - Show all commits

View file

@ -106,12 +106,24 @@ ARCHITECTURE="$(uname -m)"
# comparer — un disque qui allait bien le matin et qui se plaint le soir, cela # comparer — un disque qui allait bien le matin et qui se plaint le soir, cela
# se voit. # se voit.
# #
# Une session live monte sa racine en overlay au-dessus d'un squashfs, et garde # Le signe qui ne trompe pas est la racine : une session live la monte en
# un /cdrom ou un /rofs. Aucun de ces signes n'existe sur un système installé. # overlay au-dessus d'un squashfs, ce qu'aucun système installé ne fait. S'y
# ajoute « boot=casper » ou « boot=live » sur la ligne de commande du noyau.
#
# L'existence de /cdrom ou de /rofs, elle, ne prouve rien : l'installateur de
# Mint laisse un /cdrom vide derrière lui. La première version de ce test a
# donc déclaré « session live » une machine parfaitement installée — constaté
# le 24/09/2026 sur un HP 250 G4. Ce n'est pas anodin : la durée d'une
# installation se mesure entre le relevé d'avant et celui d'après, et deux
# relevés « avant » ne se soustraient pas. On ne retient donc ces répertoires
# que s'ils sont réellement montés, et montés depuis un support en lecture
# seule.
MOMENT="post-installation" MOMENT="post-installation"
if [ -d /rofs ] || [ -d /cdrom ] \ if findmnt -n -o FSTYPE / 2>/dev/null | grep -qE '^(overlay|aufs|squashfs)$' \
|| findmnt -n -o FSTYPE / 2>/dev/null | grep -qE '^(overlay|aufs|squashfs)$' \ || grep -qE '(^| )boot=(casper|live)( |$)' /proc/cmdline 2>/dev/null \
|| grep -qE '(^| )(boot=casper|boot=live)( |$)' /proc/cmdline 2>/dev/null; then || mountpoint -q /rofs 2>/dev/null \
|| { mountpoint -q /cdrom 2>/dev/null \
&& findmnt -n -o FSTYPE /cdrom 2>/dev/null | grep -qE '^(iso9660|squashfs)$'; }; then
MOMENT="live" MOMENT="live"
fi fi