diff --git a/poste/install.sh b/poste/install.sh index 8c6f4e8..30722c3 100644 --- a/poste/install.sh +++ b/poste/install.sh @@ -21,6 +21,58 @@ if [ "$(id -u)" = "0" ] && [ -x "$(dirname "$0")/alpi-fiche.sh" ]; then "$(dirname "$0")/alpi-fiche.sh" || true fi +################################################## +# Une session live : relever, et ne rien installer +# +# On lance ce script dès la session live, avant même d'installer : c'est ce +# premier relevé qui donne au serveur l'heure de départ. La durée réelle d'une +# installation est l'écart entre les deux relevés d'une même machine, horodatés +# par le serveur — sans le premier, on ne mesure rien. +# +# Rien n'est installé ici. Le système live vit en mémoire et disparaîtra au +# redémarrage : y poser des paquets coûterait du temps et de la place, sans +# rien laisser. Le script s'arrête donc après le relevé, et se relance après +# l'installation. +# +# La détection est celle du relevé, éprouvée le 24/09/2026 : la racine montée +# en overlay ou squashfs, ce qu'aucun système installé ne fait, et « boot=casper » +# sur la ligne de commande du noyau. L'existence de /cdrom n'en fait pas partie : +# l'installateur de Mint en laisse un vide derrière lui, et s'y fier faisait +# prendre des machines installées pour des sessions live. +################################################## + +en_session_live() { + findmnt -n -o FSTYPE / 2>/dev/null | grep -qE '^(overlay|aufs|squashfs)$' \ + || grep -qE '(^| )boot=(casper|live)( |$)' /proc/cmdline 2>/dev/null \ + || mountpoint -q /rofs 2>/dev/null \ + || { mountpoint -q /cdrom 2>/dev/null \ + && findmnt -n -o FSTYPE /cdrom 2>/dev/null | grep -qE '^(iso9660|squashfs)$'; } +} + +if en_session_live; then + echo "" + echo "==> Session live détectée : rien ne sera installé." + echo "" + releve="$(dirname "$0")/alpi-fiche.sh" + if [ -x "$releve" ]; then + if [ "$(id -u)" = "0" ]; then + "$releve" --check || true + else + sudo "$releve" --check || true + fi + echo "" + echo "==> Le serveur a noté l'heure de départ de cette installation." + else + echo " Le relevé alpi-fiche.sh n'est pas à côté de ce script : le" + echo " décompte ne démarrera pas. Prenez-le sur le serveur :" + echo " wget http://alpicache.lan/alpi-fiche.sh && chmod +x alpi-fiche.sh" + fi + echo " Relancez ce script après l'installation, sur le système installé." + echo "" + exit 0 +fi + + # Script de post-installation pour Linux Mint 22.3 # testé le 25/03/2026 @@ -163,13 +215,12 @@ opti_apt() { modif_systeme() { configuration_apt - - # Vérification Live USB - if [ -f "/cdrom/preseed/linuxmint.seed" ]; then - echo "Mode Live détecté. Fin du script." - exit 0 - fi - + + # La session live est écartée en tête de script, avant toute modification : + # ce test-ci arrivait après « configuration_apt », et ne reposait que sur un + # fichier de /cdrom — le signe dont on sait depuis le 24/09 qu'il désigne + # aussi des machines installées. + install_logiciels config_firefox_fr config_timeshift_desactive