[Linux - Toutes distributions]
Scripts shell Bash
Version : 3.1.2.1 Site 'ERMAIA Copie libre (sous licence GNU)
Les deux scripts MONTER et CHROOTER (cf. ci-après) interfacent les commandes MOUNT et CHROOT, en mode graphique (terminal virtuel) ou sur une console texte.
Ils sont écrits avec AWK et DIALOG ; FSARCHIVER est utilisé pour lister les disques durs et les partitions.
1. Script MONTER : [ Capture d'écran et script, ici ]
1.1. Les
partitions sont montées sur '/mnt/' le nom de la partition est
/dev/['partition'] (exemple : '/mnt/sda3'.
Si le point de montage n'existe pas, il est créé.
Les versions > 3.00 sont capables de monter les partitions qui sont au format UFS (lecture seule).
1.2. Options :
--help : Aide succincte ;
-r –read-only : Monter en "lecture seule" ; à noter que les partitions 'UFS' ne peuvent pas être montées avec des droits d'écriture.
-d –detail : Détailler les caractéristiques des disques durs et des partitions qui peuvent être montées.
-c –chroot : Chrooter, ensuite, sur la partition (le script MONTER appelle CHROOTER) ; à noter que le script CHROOTER peut être exécuté seul, dès lors que la partition à travailler est déjà montée sur /mnt/.
2. Script CHROOTER : [ Captures d'écran et script, ici ]
2.1. Le script
CHROOTER est appelé habituellement par le script MONTER [option :
'--chroot'].
Il peut être exécuté seul, dès lors que la partition à travailler est déjà
montée sur /mnt/ et que l'on a utilisé comme nom de montage
l'identifiant /dev/['partition'] : ('/mnt/sda1', par exemple)
Le script lie (mount –bind) les répertoires :
/proc
/dev
/dev/pts
/sys
/run
/sys/firmware/efi/efivars (pour accéder aux variables EFI, sur un système UEFI)
Le script permet d’accéder
à Internet et de faire tourner des applications graphiques.
Le script sort du chroot, proprement, en démontant tous les
répertoires : umount -v --recursive
/mnt/$Partition
2.2. Option unique :
--help : Aide succincte.
3. Script 'montreFST.sh' : [ Script, ici ]
Script appelé par le script MONTER (n'a pas vocation à être exécuté seul).
4. Implantation :
4.1. Ces
scripts sont à copier/coller dans le répertoire /usr/bin/ d’une
distribution Linux (tournant avec ou sans interface
graphique).
4.2. Ces scripts pourraient aussi trouver une certaine
utilité pour qui utiliseraient la boîte à outils « SYSTEMRESCUE » qui tourne sur une clef USB, ou
sur l’une des partitions du disque dur d’un ordinateur.
En ce cas, GRUB amorce directement l’ISO de SYSTEMRESCUE avec la séquence suivante :
{
load_video
insmod gzio
insmod part_gpt
insmod part_msdos
insmod ext2
rmmod tpm
set iso_path="/ISOS/systemrescue.iso"
search --no-floppy --set=root --file $iso_path
loopback loop $iso_path
echo "Je sonde ..."
probe -u $root --set=iso_disk
echo "Chargement du noyau ..."
linux (loop)/sysresccd/boot/x86_64/vmlinuz img_dev=/dev/disk/by-uuid/$iso_disk img_loop=$iso_path archisobasedir=sysresccd copytoram setkmap=fr-latin9 index=off metacopy=off cow_label=Stockage cow_directory=Modifs_SystemRescue
echo "Chargement de initramfs ..."
initrd (loop)/sysresccd/boot/x86_64/sysresccd.img
}
En considérant que SystemRescue se trouve dans le répertoire /ISOS/ d’une partition nommée « Stockage » ; le répertoire dans lequel SystemRescue écrit et conserve ses données est appelé, ici : « Modifs_SystemRescue » (à créer vide).
5. Documentation sur le shell Bash :
Guide avancé d'écriture des scripts Bash