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 |
||
|---|---|---|
| poste | ||
| README.md | ||
alpinux.scripts
Les scripts qu'Alpinux fait tourner sur des machines qui ne sont pas les siennes. Ils sont publics parce qu'ils doivent pouvoir se télécharger sans compte, depuis une session live, par quelqu'un qui découvre Linux le matin même — et parce que du code qui s'exécute en root chez autrui doit pouvoir être lu par celui qui le lance.
La documentation, elle, vit dans le wiki : guide Linux Mint depuis Windows.
Ce que contient chaque dossier
Le classement suit qui lance le script, sur quelle machine, avec quels droits — c'est ce qui commande la prudence à lui appliquer. Il ne suit ni les distributions, ni les dates : un script ne change pas de nature quand Mint change de version.
| Dossier | Ce qui y entre |
|---|---|
poste/ |
Ce qui tourne sur la machine d'un participant, le plus souvent en root. Rien n'y entre sans avoir été essayé sur une vraie machine. |
D'autres dossiers viendront — la part publiable des scripts du serveur, des outils de bénévole sans privilège. Chacun avec sa règle, écrite ici.
poste/ — trois scripts, dans cet ordre
| Script | Quand | Ce qu'il fait |
|---|---|---|
verif-disque.sh |
depuis la session live, avant de toucher au disque | lit et affiche : partitions, Windows, BitLocker, réseau. Ne modifie rien. |
alpi-fiche.sh |
avant (--check) et après l'installation |
relève la fiche matérielle, juge l'état des disques, l'envoie au serveur de l'install party s'il est joignable. |
install.sh |
après l'installation de Mint | post-installation : paquets, Firefox en français, GRUB. Appelle alpi-fiche.sh s'il le trouve. |
Les trois vont ensemble, dans le même dossier. install.sh cherche le
relevé à côté de lui — $(dirname "$0")/alpi-fiche.sh — et ne le télécharge
jamais : aucun code n'est tiré du réseau pendant une installation. Un
install.sh téléchargé seul fonctionne, mais ne relève rien, et sans le dire.
Sur le réseau d'une install party, le serveur les sert tous les trois :
wget http://10.0.0.1/install.sh http://10.0.0.1/alpi-fiche.sh
chmod +x install.sh alpi-fiche.sh
sudo ./install.sh
Ailleurs, l'en-tête de chaque script donne son adresse de téléchargement.
main et stable
main est la branche de travail. stable est celle que les machines
reçoivent : c'est elle que le serveur de l'install party recopie et
redistribue, sans que personne ne la relise au passage.
On avance donc stable sur main quand le changement a été essayé sur une
machine — pas quand il a été écrit. Sans cette règle, un commit de vingt-deux
heures part en root sur le poste d'un inconnu avant minuit.
git switch stable && git merge --ff-only main && git push
Ce qui a déjà mordu
Un fichier corrigé sur le serveur sans être poussé ici est un fichier perdu : le serveur se resynchronise toutes les heures et rétablit cette version-ci. C'est arrivé le 24 septembre 2026, et les correctifs ne se sont retrouvés que parce qu'ils vivaient aussi dans le dépôt du serveur. On corrige ici, on déploie ensuite.