Donner à ces scripts un dépôt qui dit ce qu'ils sont
Ces trois fichiers vivaient dans le dépôt du wiki, seuls fichiers exécutables parmi cent dix pages de documentation. Le wiki est public et sa branche main n'est pas protégée ; le serveur de l'install party en recopie deux toutes les heures et les distribue en root aux machines des participants. Un commit de documentation et un commit de code y avaient donc les mêmes conséquences, et rien ne le disait. Ils sont désormais chez eux, classés par contexte d'exécution — qui les lance, sur quelle machine, avec quels droits — et non par distribution : « poste/ » tient les trois ensemble, ce qu'impose de toute façon l'appel du relevé par install.sh, qui le cherche à côté de lui. La branche stable est ce que les machines reçoivent, main ce sur quoi on travaille. Avancer l'une sur l'autre demande d'avoir essayé sur une machine : c'est le relecteur qui manquait. L'historique des trois fichiers est conservé, depuis la migration du monorepo alpinux.site.2026 en mai. Les adresses de téléchargement de leurs en-têtes sont reprises. 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
e301327f45
commit
a95139d6ae
4 changed files with 73 additions and 4 deletions
69
README.md
Normal file
69
README.md
Normal file
|
|
@ -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.
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
#
|
||||
|
|
|
|||
Loading…
Reference in a new issue