From 230c2afb73db027739a21a0dbf3af0541926266d Mon Sep 17 00:00:00 2001 From: Lionel <> Date: Wed, 19 Feb 2025 00:17:56 +0100 Subject: [PATCH] Ajout d'un script de montage de l'image de test sur NFS --- montage.sh | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100755 montage.sh diff --git a/montage.sh b/montage.sh new file mode 100755 index 0000000..57afe26 --- /dev/null +++ b/montage.sh @@ -0,0 +1,108 @@ +#!/bin/bash + +# Variables +NFS_SERVER="nfs.lan:/USBStartKey/" +MNT_POINT_NFS="/mnt/nfs" +IMAGE_PATH="$MNT_POINT_NFS/USBStartKey.img" +LOOP_DEVICE="" +MNT_POINT_IMG="/mnt/img" + +# Fonction pour monter les systèmes de fichiers +mount_filesystems() { + # Montage des systèmes de fichiers et du périphérique loop + echo "Montage des systèmes de fichiers..." + + # Création des points de montage si ils n'existent pas + echo "Création des points de montage..." + mkdir -p "$MNT_POINT_NFS" + if [ $? -ne 0 ]; then + echo "Échec de la création du point de montage NFS." + exit 1 + fi + + mkdir -p "$MNT_POINT_IMG" + if [ $? -ne 0 ]; then + echo "Échec de la création du point de montage de l'image." + exit 1 + fi + + # Montage du système de fichiers NFS + echo "Montage du système de fichiers NFS..." + mount.nfs "$NFS_SERVER" "$MNT_POINT_NFS" + if [ $? -ne 0 ]; then + echo "Échec du montage du système de fichiers NFS." + exit 1 + fi + + # Création du périphérique loop + echo "Création du périphérique loop..." + LOOP_DEVICE=$(losetup --show -P -f "$IMAGE_PATH") + if [ $? -ne 0 ]; then + echo "Échec de la création du périphérique loop." + umount "$MNT_POINT_NFS" + exit 1 + fi + + # Montage de l'image + echo "Montage de l'image..." + mount "${LOOP_DEVICE}p1" "$MNT_POINT_IMG" + if [ $? -ne 0 ]; then + echo "Échec du montage de l'image." + losetup -d "$LOOP_DEVICE" + umount "$MNT_POINT_NFS" + exit 1 + fi + + echo "Systèmes de fichiers montés avec succès." +} + +# Fonction pour démonter les systèmes de fichiers +umount_filesystems() { + # Démontage des systèmes de fichiers et déconnexion du périphérique loop + echo "Démontage des systèmes de fichiers..." + + # Démontage de l'image + echo "Démontage de l'image..." + umount "$MNT_POINT_IMG" + if [ $? -ne 0 ]; then + echo "Échec du démontage de l'image." + exit 1 + fi + + # Déconnexion du périphérique loop + echo "Déconnexion du périphérique loop..." + losetup -D + if [ $? -ne 0 ]; then + echo "Échec de la déconnexion du périphérique loop." + exit 1 + fi + + # Démontage du système de fichiers NFS + echo "Démontage du système de fichiers NFS..." + umount "$MNT_POINT_NFS" + if [ $? -ne 0 ]; then + echo "Échec du démontage du système de fichiers NFS." + exit 1 + fi + + # Suppression des points de montage + echo "Suppression des points de montage..." + if ! rmdir "$MNT_POINT_NFS"; then + echo "Échec de la suppression du point de montage NFS." + fi + + if ! rmdir "$MNT_POINT_IMG"; then + echo "Échec de la suppression du point de montage image." + fi + + echo "Systèmes de fichiers démontés avec succès." + +} + +# Vérification de l'état des points de montage +if mountpoint -q "$MNT_POINT_NFS" && mountpoint -q "$MNT_POINT_IMG"; then + umount_filesystems +else + mount_filesystems +fi +