Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: aigor.net 14. 12. 2021, 11:16:18

Název: Bash, zjištění LUKS jednotky podle disku?
Přispěvatel: aigor.net 14. 12. 2021, 11:16:18
Mam zadáno UUID disku a potřebuju zjistit, zda jde o LUKS jednotku a pokud ano, jestli je už připojena a pod jakým jménem (/dev/mapper/name)
Normálně bych kouknul na lsblk, ale přemýšlím, jestli existuje jednodušší metoda jak parsovat výpis z lsblk...

Kód: [Vybrat]
ST3250410AS           sdb                                232,9G crypto_LUKS        e1eb1e8b-0e22-4591-aea9-6b8cf89ab89f
                      `-luks2                            232,9G zfs_member  zpool2 6887577636413785047

tedy ze zadání "e1eb1e8b-0e22-4591-aea9-6b8cf89ab89f" získat "luks2"
Název: Re:Bash, zjištění LUKS jednotky podle disku?
Přispěvatel: uwe.filter 14. 12. 2021, 12:06:09
Parsovat výstup z lsblk ani nemusíš:

Kód: [Vybrat]
$ lsblk -drno FSTYPE /dev/disk/by-uuid/$UUID
crypto_LUKS

EDIT: Jo, ty jsi vlastně potřeboval ještě zjistit, jestli je nějaký oddíl z LUKS kontejneru připojený - tam asi bude třeba něco zparsovat, ale pořád by to měla být triviální záležitost.
Název: Re:Bash, zjištění LUKS jednotky podle disku?
Přispěvatel: k3dAR 14. 12. 2021, 12:34:23
Kód: [Vybrat]
UUID=e1eb1e8b-0e22-4591-aea9-6b8cf89ab89f; sudo cryptsetup isLuks /dev/disk/by-uuid/${UUID} && (lsblk --noheadings /dev/disk/by-uuid/${UUID} -o NAME --list | sed '2q;d')
Název: Re:Bash, zjištění LUKS jednotky podle disku?
Přispěvatel: aigor.net 14. 12. 2021, 12:44:37
A-ha, ta poslední konstrukce mě nějak unikala!
Žil sem pořád přesvědčení, že musím nějak rozložit ty stromový závislosti...

To je ono, THX!