diff --git a/README.md b/README.md new file mode 100644 index 0000000..3db4829 --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# 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](https://wiki.alpinux.org/guides/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 : + +```bash +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. + +```bash +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. diff --git a/poste/alpi-fiche.sh b/poste/alpi-fiche.sh index 6b6e2ce..de4bb2e 100755 --- a/poste/alpi-fiche.sh +++ b/poste/alpi-fiche.sh @@ -1,10 +1,10 @@ #!/bin/bash # Relève la fiche d'une machine, et l'envoie au serveur de l'install party. # -# Ce script vit dans le dépôt du wiki, à côté d'install.sh : il est lu et +# Ce script vit dans alpinux.scripts, à côté d'install.sh : il est lu et # versionné comme lui, et c'est de là qu'il faut le prendre. # -# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki/raw/branch/main/code/linux/linux-mint/alpi-fiche.sh +# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.scripts/raw/branch/stable/poste/alpi-fiche.sh # chmod +x alpi-fiche.sh # sudo ./alpi-fiche.sh --check # depuis la session live, avant d'installer # sudo ./alpi-fiche.sh # après l'installation diff --git a/poste/install.sh b/poste/install.sh index 30cf719..8c6f4e8 100644 --- a/poste/install.sh +++ b/poste/install.sh @@ -26,7 +26,7 @@ fi # testé le 25/03/2026 # # utilisation -# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki/raw/branch/main/code/linux/linux-mint/install.sh +# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.scripts/raw/branch/stable/poste/install.sh # && chmod +x install.sh # && ./install.sh diff --git a/poste/verif-disque.sh b/poste/verif-disque.sh index 455bd6d..a967c11 100755 --- a/poste/verif-disque.sh +++ b/poste/verif-disque.sh @@ -3,7 +3,7 @@ # Alpinux — état des lieux d'une machine avant d'installer Linux Mint # # À lancer depuis la session live, AVANT de toucher au disque : -# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki/raw/branch/main/code/linux/linux-mint/verif-disque.sh +# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.scripts/raw/branch/stable/poste/verif-disque.sh # chmod +x verif-disque.sh # ./verif-disque.sh #