Je vous expose le problème, j'essaye d'être exhaustif (donc certains propos sont hors sujet, désolé) :
Ancien disque dur crypté avec cryptsetup et luks, maintenant utilisé comme secours backup et branché en USB (pas pris le temps de faire autrement), environnement gnome 3 et nautilus.
Il a gardé les 3 anciennes partitions (/dev/sdb si que 2 disques... le disque du système du laptop actuel est /dev/sda et marche très bien... passons) :
1. /dev/sdb1 le boot,
2. /dev/sdb2 la swap et
3. /dev/sdb3 crypté avec luks en volume physique (pv) et contenant plusieurs volumes logiques (lv nommée vg0) : un pour l'ex-root (racine /), un pour l'ex-home, un pour une swap inutilisée c'est tout.
CE QUI MARCHE:
Au branchement, pas de problème:
1. boot sur la partition physique /dev/sdb1 est reconnu à gauche dans l'explorateur de nautilus (d'ailleurs inutilement, passons),
2. la swap sur la partition physique /dev/sdb2 inutile et inutilisée ne s'affiche pas et ne semble pas être monté,
3. popup de demande phrase de passe pour le disque (d'ailleurs ça me propose de l'enregistrer définitivement, passons également la respect de la discrétion des phrases de passe, mais c'est du gnome donc...), le disque apparait dans /dev/mapper/
Code : Tout sélectionner
ls /dev/mapper
/dev/mapper/luks-a0e*********************************
Code : Tout sélectionner
vgchange -ay
Code : Tout sélectionner
ls /dev/mapper
/dev/mapper/vg0-home
/dev/mapper/vg0-root
/dev/mapper/vg0-swap
via un
Code : Tout sélectionner
ls /proc/partitions
8 0 976762584 sda
8 1 524288 sda1
8 2 67108864 sda2
8 3 8388608 sda3
8 4 900539716 sda4
254 0 487334919 dm-0
254 1 8388608 dm-1
254 2 67108864 dm-2
254 3 411836416 dm-3
sda est le disque dur de l'ordinateur.
dm-0 est le disque /dev/sdb3 mappé en /dev/mapper/luks-a0e*********************************
C''est la partition physique 3 du disque dur /dev/sdb, crypté avec luks, contenant le volume physique vg0 (qui aurait mieux fait de s'appeler pv0 -physical volume 0, passons), contenant lui-même le groupe de volumes logiques vg0 -volume group 0-, contenant 3 volumes logiques :
dm-1 est l'ancienne /dev/mapper/swap
dm-2 est l'ancienne /dev/mapper/root
dm-3 est l'ancienne /dev/mapper/home
(l'usage de lvm -logical volume manager- serait discutable sur un laptop unique, mais eh bien si, comme éventuelle extension, passons également).
EN REVANCHE :
C'est au débranchement (intempestif ou pas, arracher une prise USB, passons),
Les volumes logiques restent faussement montés, quoi qu'on fasse via nautilus, il faut la ligne de commande, et apparaissent toujours dans
/dev/mapper
Pire, au rebranchement (sauf redémarrage) que c'est encore plus casse-pieds:
les messages de nautilus comme quoi ils sont encore utilisés, en fait inutilisables etc.
D'autres ennuis peut-être liés: le démontage par un clic droit via nautilus démonte tous les disques de /dev/sdb (donc si on démonte /dev/sdb1 en boot, ça démonte tout, etc quelque soit la partition...); ça c'est moins génant, et peut faire l'objet d'un autre sujet (pouvoir monter séparément des partitions d'un même disque, mais restons FOSS), passons.
De mémoire, les volumes logiques montés n'apparaissent pas dans mount (jamais)
D'ailleurs, dans
Code : Tout sélectionner
$ udisksctl status
MODEL REVISION SERIAL DEVICE
--------------------------------------------------------------------------
***Disk SD************* X6***** 1827A**************** sda
alors que dans (extrait)
Code : Tout sélectionner
$ udisksctl dump
...
/org/freedesktop/UDisks2/block_devices/dm_2d0:
org.freedesktop.UDisks2.Block:
Configuration: []
CryptoBackingDevice: '/org/freedesktop/UDisks2/block_devices/sdb3'
Device: /dev/dm-0
DeviceNumber: 65024
...
Code : Tout sélectionner
$ sudo pvdisplay
--- Physical volume ---
PV Name /dev/mapper/luks-a0e18e7c-6bfe-4ca0-9a34-43b0d30ad045
VG Name vg0
...
Code : Tout sélectionner
$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/vg0/swap
--- Logical volume ---
LV Path /dev/vg0/root
--- Logical volume ---
LV Path /dev/vg0/home
...
En ligne de commande :
Code : Tout sélectionner
sudo vgchange -an
retire
/dev/mapper/vg0-swap
/dev/mapper/vg0-home
/dev/mapper/vg0-root
là on essaye un
Code : Tout sélectionner
LANG=C sudo cryptsetup luksClose /dev/mapper/luks-a0e*********************************
Device /dev/mapper/luks-a0e********************************* is still in use.
ça, ça ne marche pas:
Code : Tout sélectionner
sudo udisksctl unmount -p /dev/mapper/vg0-home
(udisksctl unmount:2058522): GLib-GIO-CRITICAL **: 15:48:14.110: g_dbus_object_manager_get_object: assertion 'g_variant_is_object_path (object_path)' failed
Error looking up object with path /dev/mapper/vg0-home
$ sudo udisksctl unmount -b /dev/mapper/vg0-home
Error unmounting /dev/dm-3: GDBus.Error:org.freedesktop.UDisks2.Error.NotMounted: Device `/dev/dm-3' is not mounted
Code : Tout sélectionner
$ sudo cryptsetup luksClose /dev/mapper/vg0-home
$ sudo cryptsetup luksClose /dev/mapper/vg0-root
$ sudo cryptsetup luksClose /dev/mapper/vg0-swap
$ sudo cryptsetup luksClose /dev/mapper/luks-a0e18e7c-6bfe-4ca0-9a34-43b0d30ad045
Pour pouvoir remonter tout ça, sauf reboot, le but est d'obtenir de "vider" /dev/mapper, il ne doit plus rester que "control" (qui y était au départ) pour remonter tout ça proprement (d'ailleurs démonter proprement avant débranchement ne sert à rien...):
Code : Tout sélectionner
ls /dev/mapper
/dev/mapper/control
Ouf, là je peux remonter tout ça proprement et m'en servir.
LMES QUESTIONS:
Comment automatiser tout ça ?
En gros, obtenir en plus du démontage une fermeture propre des partitions cryptées ?
Donc les intégrer au démontage de nautilus ou à plus bas niveau si un crétin (moi, autre) débranche l'USB d'un coup ?
(d'ailleurs reste le problème de la synchronisation via sync ou autre, passons)