Cryptsetup et mount

Bonsoir,

Je suis sur un petit script pour le montage de partition.
Pour l’essentiel ça se résume à ça:

cryptsetup open /dev/sda1 cryptdata2
mout -a

une fois le mot de passe saisi, la commande mount -a est lancé
seul soucis, le volume n’est pas encore prêt et ne monte pas les partitions présentes dans fstab.

j’ai vérifié, pas d’erreur :

+ cryptsetup status cryptdata2
/dev/mapper/cryptdata2 is active and is in use.

je peux relancer le mount -a et je retrouve mes partitions.
j’en déduis qu’il faut temporiser entre les deux commandes.

Dans ce cas, comment m’assurer que le volume est disponible avant de lancer les commandes suivantes.
Je n’ai pas trouvé d’option dans cryptsetup.
J’aimerai éviter de mettre sleep, parce qu’on est jamais certain du temps nécessaire

Bonjour,
c’est pour le lancement du système c’est quand tu veux monter une partition une fois ta session ouverte?
Pour ce qui est du mount -a, attention il ne monte pas les systèmes de ficheir qui sont taggué avec l’option noauto.
et coté script:

cryptsetup open /dev/sda1 cryptdata2
while (test n'est pas actif)
do 
sleep 10
done
mount -a

ou

cryptsetup open /dev/sda1 cryptdata2 && mount -a

Pour compléter la réponse de @Zargos, je dirais qu’un script de cet acajou ferait l’affaire :

cryptsetup open /dev/sda1 cryptdata2 && \
while test ! -b /dev/mapper/cryptdata2;do 
	sleep 1
done && \
mount -a

J’ai rédigé le script en partant du principe que cryptsetup ne retourne pas 0 si tu te trompes dans le mot de passe et que le périphérique bloc est /dev/mapper/cryptdata2, qu’il s’agit bien d’un périphérique bloc et qui n’existe pas tant que la partition n’est pas initialisée, je ne connais pas du tout cryptsetup.

Effectivement, ce n’est jamais une bonne idée de déduire l’état d’initialisation d’un système par rapport au temps, mais @Zargos et moi l’avons utilisé pour éviter de surcharger le système inutilement à faire des tests, même si on peut très bien faire sans.

1 J'aime