Ajout d'un script de montage de l'image de test sur NFS

This commit is contained in:
Lionel 2025-02-19 00:17:56 +01:00
parent ebc37d1cfe
commit 230c2afb73

108
montage.sh Executable file
View File

@ -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