Поки я був далеко від комп'ютера, зашифрований USB-накопичувач якимось чином випадково відключився (хоча в той час він ще був фізично підключений). Я не зміг відновитись (ще не пробував перезавантаження). Зараз я повністю відключив пристрій, але все одно отримую "Пристрій чи ресурс зайнятий", коли намагаюся видалити звисаючий запис у / dev / mapper. Чи можу я знову підключитися та встановити привід без перезавантаження?
Ось що я спробував (довге ім’я змінено на "xxxxx") ...
$ sudo dmsetup ls
luks-xxxxx (252:1)
luks-yyyyy (252:0)
$ sudo umount /dev/mapper/luks-xxxxx
umount: /dev/mapper/luks-xxxxx: not mounted
$ sudo fuser --kill /dev/mapper/luks-xxxxx
$ echo $?
1
$ sudo dmsetup info -c luks-xxxxx
Name Maj Min Stat Open Targ Event UUID
luks-xxxxx 252 1 L--w 1 1 0 CRYPT-LUKS1-xxxxx-luks-xxxxx
$ sudo dmsetup remove luks-xxxxx
device-mapper: remove ioctl on luks-xxxx failed: Device or resource busy
Command failed
Після підключення пристрою ...
$ sudo cryptsetup luksOpen "/dev/sde1" "luks-xxxxx"
Device luks-xxxxx already exists.
[EDIT] Цього разу я вирішив проблему, закривши текстовий редактор GUI, який не мав відкритих файлів, але був запущений із папки на відповідному пристрої. Тож питання стає більш конкретним: як можна визначити, яка програма тримає пристрій відкритим?
Майте на увазі, що lsof
це, здається, не є простим рішенням, оскільки після відключення пристрою пов'язані імена, надані lsof
не більше, не містять імені відключеного пристрою.