Os dispositivos de loop apresentam algumas armadilhas. Muitas operações não são instantâneas, por exemplo, quando você losetup -d
do dispositivo de loop será mantido ativo até que não esteja mais em uso. Os dispositivos podem estar em uso mesmo que você não esteja ciente disso, devido a processos em segundo plano que examinam dispositivos para uuids e outras coisas.
Talvez você deva deixar a opção de dispositivo de loop para losetup
usando --find --show
. Se um dispositivo de loop é inutilizável por qualquer motivo, ele deve escolher outro. Você teria que adaptar seu script para armazená-lo em uma variável então.
lodev=$(losetup --find --show textfile.x)
cryptsetup ... $lodev
O cryptsetup
também é totalmente capaz de criar seu próprio dispositivo de loop, portanto você pode simplesmente renunciar losetup
e ter cryptsetup
trabalhando com o próprio arquivo. Isso deve ser menos propenso a erros.
cryptsetup ... testfile.x
Isso também funciona para luksOpen
e o dispositivo de loop será mantido em volta até luksClose
(novamente, até que não esteja mais em uso).