SystemRescue : exécuter un script au démarrage
Objectif : démarrer un serveur sans écran sur une clé SystemRescue et lui faire exécuter automatiquement un script préparé à l’avance.
Prérequis : il faut une clé USB avec SystemRescue installé dessus, en mode modifiable (créée avec
sysrescueusbwriter, pas avecdd). Si ce n’est pas encore le cas, la partie 1 explique comment la créer.
1. Installer SystemRescue sur une clé USB
- Télécharger l’ISO (version 13.02, vérifier la dernière sur https://www.system-rescue.org/Download/) :
wget https://fastly-cdn.system-rescue.org/releases/13.02/systemrescue-13.02-amd64.iso
- Il ne faut pas utiliser
dd: la clé serait en lecture seule et on ne pourrait pas y ajouter de script. On utilise l’outil officielsysrescueusbwriter:
wget https://fastly-cdn.system-rescue.org/download/usbwriter/1.1.1/sysrescueusbwriter-x86_64.AppImage
chmod +x sysrescueusbwriter-x86_64.AppImage
- Brancher la clé et repérer son nom (
/dev/sdX) :
lsblk
- Démonter la clé (si elle a été montée automatiquement) :
sudo umount /dev/sdX*
Ne pas utiliser le bouton « Éjecter » : la clé passerait à 0 B et l’outil la verrait comme trop petite.
- Lancer l’écriture (l’outil propose la liste des clés USB) :
./sysrescueusbwriter-x86_64.AppImage systemrescue-13.02-amd64.iso
- Si l’outil ne trouve pas la clé, la préciser à la main (disque entier
/dev/sdX, pas/dev/sdX1) :
./sysrescueusbwriter-x86_64.AppImage --targetdev=/dev/sdX systemrescue-13.02-amd64.iso
2. Ajouter un script au démarrage
- Repérer le nom de la clé (
/dev/sdX1) avec :
lsblk
- Monter la clé :
sudo mount /dev/sdX1 /mnt
- Créer le dossier
autorunet y copier son script (il doit commencer par#!/bin/bash) :
sudo mkdir -p /mnt/autorun
sudo cp mon-script.sh /mnt/autorun/
- Créer le fichier de configuration :
sudo mkdir -p /mnt/sysrescue.d
sudo vim /mnt/sysrescue.d/500-autorun.yaml
- Contenu (remplacer le mot de passe root) :
---
global:
rootpass: "MonMotDePasse"
autorun:
ar_nowait: true
exec:
100:
path: "/bin/bash"
parameters:
- "/run/archiso/bootmnt/autorun/mon-script.sh"
On passe par /bin/bash car le FAT32 ne gère pas le bit exécutable. /run/archiso/bootmnt/ est l’endroit où la clé est montée une fois SystemRescue démarré.
- Démonter la clé :
sudo umount /mnt
3. Exemple : activer SSH et se connecter au serveur
mon-script.shqui active SSH au démarrage (OpenSSH est déjà inclus dans SystemRescue) :
#!/bin/bash
systemctl enable --now sshd
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
-
Brancher la clé sur le serveur et le démarrer dessus.
-
Trouver le serveur sur le réseau :
sudo nmap -sn 192.168.1.0/24
- Se connecter en SSH avec le mot de passe défini dans
500-autorun.yaml:
ssh root@192.168.1.xx