Lancer install.sh dès la session live, pour que le décompte démarre
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 relevé en session live, il n'y a pas d'heure de départ, et la seule chose qu'on mesure est la post-installation. D'où la consigne : on lance install.sh dès le live. Encore fallait-il qu'il s'y arrête. Il le faisait, mais mal, et le détail comptait : - la détection ne reposait que sur /cdrom/preseed/linuxmint.seed, le signe dont le relevé a démontré le 24/09 qu'il désigne aussi des machines installées — et s'il manque sur l'ISO du jour, c'est l'inverse qui se produit : le script installe des paquets dans un système vivant en mémoire, qui disparaîtra au redémarrage ; - elle n'intervenait qu'au milieu de modif_systeme, après configuration_apt, donc après une première modification ; - lancé sans sudo, il passait d'abord par personnalisation_utilisateur, puis la sortie en « exit 0 » de la relance était lue comme une réussite : le script annonçait « Installation terminée avec succès » et se supprimait lui-même. La session live est donc écartée en tête de fichier, avant quoi que ce soit, avec la détection éprouvée du relevé : racine en overlay ou squashfs, et boot=casper sur la ligne du noyau. Le script lance le relevé — avec --check, pour que le verdict s'affiche et qu'on ait le temps de le lire — dit que rien n'a été installé et que le serveur a noté l'heure de départ, puis s'arrête sans se supprimer. Les cinq situations sont vérifiées, dont le piège du 24/09 : un /cdrom monté en ext4 sur une machine installée reste une machine installée. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BssvzfDMeXVoUQHEcnavW7
This commit is contained in:
parent
a95139d6ae
commit
4b56a7967d
1 changed files with 58 additions and 7 deletions
|
|
@ -21,6 +21,58 @@ if [ "$(id -u)" = "0" ] && [ -x "$(dirname "$0")/alpi-fiche.sh" ]; then
|
||||||
"$(dirname "$0")/alpi-fiche.sh" || true
|
"$(dirname "$0")/alpi-fiche.sh" || true
|
||||||
fi
|
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
|
# Script de post-installation pour Linux Mint 22.3
|
||||||
# testé le 25/03/2026
|
# testé le 25/03/2026
|
||||||
|
|
@ -163,13 +215,12 @@ opti_apt() {
|
||||||
modif_systeme() {
|
modif_systeme() {
|
||||||
|
|
||||||
configuration_apt
|
configuration_apt
|
||||||
|
|
||||||
# Vérification Live USB
|
# La session live est écartée en tête de script, avant toute modification :
|
||||||
if [ -f "/cdrom/preseed/linuxmint.seed" ]; then
|
# ce test-ci arrivait après « configuration_apt », et ne reposait que sur un
|
||||||
echo "Mode Live détecté. Fin du script."
|
# fichier de /cdrom — le signe dont on sait depuis le 24/09 qu'il désigne
|
||||||
exit 0
|
# aussi des machines installées.
|
||||||
fi
|
|
||||||
|
|
||||||
install_logiciels
|
install_logiciels
|
||||||
config_firefox_fr
|
config_firefox_fr
|
||||||
config_timeshift_desactive
|
config_timeshift_desactive
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue