Bonjour,
Un peu de manipulation de awk.
Ecrire directement /etc/crypttab avec une seule commande utilisant juste blkid et awk:
en ayant blkid:
/dev/mapper/vg01-home: LABEL="HOME" UUID="******" TYPE="ext4"
/dev/nvme0n1p1: UUID="******" PARTUUID="51418193-675f-46cc-b580-8650c647fafd"
/dev/nvme0n1p2: UUID="******" PARTUUID="6f2584e2-0bc7-481b-acec-c69adb56efaa"
/dev/mapper/vg01-var_log_audit: LABEL="VARLOGAUDIT" UUID="******" TYPE="ext4"
/dev/mapper/vg01-var: LABEL="VAR" UUID="******" TYPE="ext4"
/dev/mapper/vg01-root: LABEL="ROOT" UUID="******" TYPE="ext4"
/dev/mapper/vg01-swap: UUID="******" TYPE="swap"
/dev/mapper/vg01-var_tmp: LABEL="VARTMP" UUID="******" TYPE="ext4"
/dev/mapper/vg01-var_log: LABEL="VARLOG" UUID="******" TYPE="ext4"
/dev/nvme1n1: UUID="******" TYPE="crypto_LUKS"
/dev/mapper/vg01-tmp: LABEL="TMP" UUID="******" TYPE="ext4"
/dev/mapper/vg01-boot: LABEL="BOOT" UUID="******" TYPE="ext4"
Avec:
~# blkid | awk '/LUKS/ {gsub(/"/, "", $2); gsub(/:/, "", $1); split($1, a, "/"); printf "%s_crypt %s %s", a[3], $2, "none luks,discard,x-init.attach,initramfs\n"}'
Pour le awk:
- identifier les ligne qui contiennent LUKS
- enlever les guillemet de la 2èeme colonne (UUID="…")
- enlever le : de la colonne 1 (le device)
- splitter le device et prendre juste le dernier terme
- imprimer le tout dans le format crypttab
pour obtenir (uuid anonymisés):
nvme0n1p2_crypt UUID=******none luks,discard,x-init.attach,initramfs
nvme1n1_crypt UUID=****** none luks,discard,x-init.attach,initramfs
Personnellement je n’utilise pas les disque. Les partition chiffrée ont systématiquement un LABEL. La raison est simple, dans certains de manipulation, voir de mises à jour, les identifiant des disques peuvent changer et s’inverser dans le cas d’une configuration à plusieurs disque.
Ca peut provoquer un problème avec l’update-initramfs, car le nom du device luks est différent de celui du device disque auquel il est rattaché.
Avec les LABEL pas de problèmes.
C’est facile de changer le awk (essayer de le faire sans regarder ce que j’ai mis 
blkid | awk '$0~/LABEL=".*" TYPE="crypto_LUKS"/ {gsub(/"/, "", $2); label=substr($3, 8, length($3)-8); printf "%s_crypt %s %s", label, $2, "none luks,discard,x-init.attach,initramfs\n"}'
pour:
Enedwaith_1_crypt UUID=****** none luks,discard,x-init.attach,initramfs
Enedwaith_2_crypt UUID=****** none luks,discard,x-init.attach,initramfs
Voilà, c’était juste pour fun 