Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: 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...
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"
-
Parsovat výstup z lsblk ani nemusíš:
$ 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.
-
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')
-
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!