umountএকটি ইউএনআইএক্স কমান্ড যা theতিহ্যবাহী ইউএনআইএক্স দৃষ্টিভঙ্গির সাথে মেনে চলে যে কোনও ফাইল সিস্টেমকে আনমাউন্ট করা একটি সিস্টেম প্রশাসনের কাজ ।
এর পিছনে যুক্তিটি হ'ল একটি ফাইল সিস্টেমকে আন-মাউন্ট করা, যদি খুব খারাপ পরিকল্পনা করা বা সম্পাদন করা হয় তবে বিপর্যয়কর এমনকি ধ্বংসাত্মক হতে পারে, বিশেষত একটি মাল্টিউজার সিস্টেমের ক্ষেত্রে। সুতরাং নিয়মিত ব্যবহারকারীরা এই সম্ভাব্য বিপজ্জনক কমান্ড থেকে সুরক্ষিত এবং কেবলমাত্র রুট বা কোনও অধিকারপ্রাপ্ত ব্যবহারকারীকে এটি কার্যকর করার অনুমতি দেওয়া হয়।
এটি যখন ইউএনআইএক্সকে সার্ভার অপারেটিং সিস্টেম হিসাবে ব্যবহৃত হয় তখন এটি অনেকটা অর্থবোধ করে, তবে ইউএনআইএক্স-ভিত্তিক ডেস্কটপ ওএস (উদাহরণস্বরূপ, ওএস এক্স বা উবুন্টু ) এর অন্যান্য প্রয়োজনীয়তা থাকে: যে কোনও ব্যবহারকারীর ফ্ল্যাশ ড্রাইভ, অপসারণযোগ্য হার্ডড্রাইভস, ইত্যাদি আনমাউন্ট করতে সক্ষম হওয়া উচিত ।
ফাইন্ডার এবং diskutil( আরও তথ্যের জন্য ম্যান ডিস্কুটিল দেখুন) এইভাবে কাজ করে। উদাহরণস্বরূপ, আমি টার্মিনালটি খুলতে এবং সাফল্যের সাথে চালাতে পারি:
$ diskutil unmount /Volumes/Untitled
Volume Untitled on disk2s2 unmounted
যদিও umountব্যর্থ:
$ umount /Volumes/Untitled
umount: unmount(/Volumes/Untitled): Operation not permitted
ফাইন্ডার কী বা অন্যভাবে diskutilকরছে? লোকচক্ষুর অন্তরালে, তারা একটি একটি অনুরোধ পাঠাতে ডেমন নামক com.apple.SecurityServer (দেখুন man পৃষ্ঠা আরও তথ্যের জন্য), যা ফাইল সিস্টেম আনমাউন্ট করার অধিকার অনুদান:
$ tail -f /var/log/system.log
Feb 6 16:57:37 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/System/Library/CoreServices/Finder.app' [171] for authorization created by '/System/Library/CoreServices/Finder.app' [171] (100013,0)
Feb 6 16:57:37 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/usr/sbin/diskarbitrationd' [18] for authorization created by '/System/Library/CoreServices/Finder.app' [171] (100002,0)
Feb 6 17:01:46 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/usr/sbin/diskutil' [646] for authorization created by '/usr/sbin/diskutil' [646] (100013,0)
Feb 6 17:01:46 avallone.local com.apple.SecurityServer[17]: Succeeded authorizing right 'system.volume.removable.unmount' by client '/usr/sbin/diskarbitrationd' [18] for authorization created by '/usr/sbin/diskutil' [646] (100002,0)
এটি কোনও ব্যবহারকারীর অতিরিক্ত প্রমাণীকরণের প্রয়োজন ছাড়াই ড্রাইভ আনমাউন্ট করার অনুমতি দেয়। (উবুন্টু একটি অনুরূপ দর্শনের হয়েছে। আপনি যদি আগ্রহী হন, তাহলে কটাক্ষপাত করা এই উত্তর AskUbuntu উপর।)
ফাইন্ডারের উপরে বর্ণিত আচরণকে সমর্থন করতে এবং diskutilবেশ কয়েকটি অ্যাপল ফ্রেমওয়ার্ক ব্যবহার করতে:
$ otool -L $(which diskutil) | grep Disk
/System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
$ otool -L /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder | grep Disk
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
/System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages (compatibility version 1.0.8, current version 344.0.0)
/System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement (compatibility version 1.0.0, current version 1.0.0)
umountঅন্যদিকে কেবল এই গতিশীল লাইব্রেরিতে লিঙ্কযুক্ত:
$ otool -L $(which umount)
/sbin/umount:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
( /usr/lib/libSystem.B.dylibঅন্যান্য কয়েকটি গ্রন্থাগার ব্যবহার করে তবে কোনও কাঠামোর সাথে লিঙ্কযুক্ত নেই))
diskutil। এটা ভাল জ্ঞান।