আমি যখন আমার কম্পিউটার থেকে দূরে ছিলাম, আমার এনক্রিপ্ট করা ইউএসবি ড্রাইভটি দুর্ঘটনাক্রমে কোনওভাবে আনমাউন্ট হয় (যদিও এটি তখনও শারীরিকভাবে সংযুক্ত ছিল)। আমি পুনরুদ্ধার করতে সক্ষম হইনি (এখনও রিবুট চেষ্টা করিনি)। আমি এখন ডিভাইসটি পুরোপুরি সংযোগ বিচ্ছিন্ন করে ফেলেছি, তবে আমি যখন / ডিভ / ম্যাপারে ঝুঁকির এন্ট্রি সরিয়ে দেওয়ার চেষ্টা করি তখনও আমি "ডিভাইস বা রিসোর্স ব্যস্ত" পাই। আমি কি পুনরায় সংযোগ স্থাপন করতে এবং কোনও বুট ছাড়াই ড্রাইভটি মাউন্ট করতে পারি?
আমি যা চেষ্টা করেছি তা এখানে (দীর্ঘ নাম "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.
[সম্পাদনা] আমি সমস্যাটি সমাধান করেছি, এবার জিইউআই পাঠ্য সম্পাদককে বন্ধ করে, যার কোনও খোলার ফাইল নেই, তবে প্রশ্নযুক্ত ডিভাইসের একটি ফোল্ডার থেকে চালু করা হয়েছিল। সুতরাং প্রশ্নটি আরও সুনির্দিষ্ট হয়ে যায়: কোন অ্যাপ্লিকেশনটি ডিভাইসটি উন্মুক্ত রয়েছে তা আপনি কীভাবে সনাক্ত করতে পারবেন?
lsof
মনে রাখবেন যে এটি একটি সহজ সমাধান উপস্থাপন করে বলে মনে হচ্ছে না, কারণ একবারে ডিভাইসটি সংযোগ বিচ্ছিন্ন হয়ে গেলে, সরবরাহ করা সম্পর্কিত নামগুলি lsof
আর সংযোগ বিচ্ছিন্ন ডিভাইসের নাম অন্তর্ভুক্ত করে না।