| UMOUNT(8) | دستورات مدیریت سیستم | UMOUNT(8) |
نام (NAME)
umount - جدا کردن سیستم پرونده متصلشده
خلاصه دستور (SYNOPSIS)
umount -a [-dflnrv] [-t fstype] [-O option...]
umount [-dflnrv] {directory|device}
umount -h|-V
توضیحات (DESCRIPTION)
دستور umount سیستمهای پرونده متصلشده را از درخت دایرکتوری سیستم جدا میکند. یک سیستم پرونده با مشخص کردن پوشهای که در آن سوار شده است تعیین میگردد. مشخص کردن فایل دستگاه خاصی که سیستم پرونده روی آن قرار دارد نیز ممکن است کار کند، اما منسوخ شده است، عمدتاً به این دلیل که اگر آن دستگاه روی بیش از یک پوشه سوار شده باشد، عملیات با شکست مواجه خواهد شد.
توجه داشته باشید که یک سیستم پرونده را هنگامی که در وضعیت «مشغول» ('busy') است نمیتوان پیاده کرد - برای مثال، هنگامی که پروندههای بازی روی آن وجود دارد، یا هنگامی که فرایندی پوشه کاری خود را آنجا قرار داده است، یا زمانی که یک پرونده حافظه مجازی (swap) روی آن در حال استفاده است. حتی خود فرایند umount نیز ممکن است مسبب این وضعیت باشد - زیرا کتابخانه libc را باز میکند و libc به نوبه خود ممکن است پروندههای محلی (locale) را باز کند. پیادهسازی تنبل از بروز این مشکل جلوگیری میکند، اما ممکن است مسائل دیگری را به وجود آورد. توضیحات --lazy را در ادامه مشاهده کنید.
گزینهها (OPTIONS)
-a, --all
-A, --all-targets
-c, --no-canonicalize
این گزینه برای کاربران غیر ریشه به طور خاموش توسط umount نادیده گرفته میشود.
برای جزئیات بیشتر در مورد این گزینه، صفحه راهنمای mount(8) را ببینید. توجه داشته باشید که umount این گزینه را به برنامههای کمکی /sbin/umount.type ارسال نمیکند.
-d, --detach-loop
--fake
-f, --force
توجه داشته باشید که این گزینه تضمین نمیکند دستور umount متوقف نشود. اکیداً توصیه میشود برای جلوگیری از فراخوانهای سیستمی ناخواسته readlink(2) و stat(2) روی NFS غیرقابلدسترس در umount، از مسیرهای مطلق بدون پیوندهای نمادین استفاده شود.
-i, --internal-only
-l, --lazy
اگر قصد دارید از این گزینه برای سیستم پرونده تحت شبکه یا سیستم پرونده محلی دارای زیراتصالات (submounts) استفاده کنید، انتظار میرود که سیستم در آینده نزدیک نیاز به راهاندازی مجدد (reboot) داشته باشد. مورد کاربرد توصیهشده برای umount -l جلوگیری از متوقف شدن سیستم هنگام خاموش شدن به دلیل اشتراک شبکه غیرقابلدسترس است، جایی که یک umount معمولی به دلیل قطع شدن سرور یا تفکیک شبکه متوقف خواهد شد. اتصال مجدد اشتراک امکانپذیر نخواهد بود.
-N, --namespace ns
دستور umount هنگامی که /etc/fstab را میخواند، در /etc/mtab (یا در /run/mount) مینویسد و فراخوان سیستمی umount(2) را فراخوانی میکند به آن فضاینام منتقل میشود، در غیر این صورت در فضاینام اصلی اجرا میگردد. این بدان معناست که فضاینام اتصال مقصد نیازی به داشتن کتابخانهها یا سایر ملزومات لازم برای اجرای دستور umount(2) ندارد.
برای اطلاعات بیشتر mount_namespaces(7) را ببینید.
-n, --no-mtab
-O, --test-opts option...
-q, --quiet
-R, --recursive
-r, --read-only
-t, --types type...
-v, --verbose
-h, --help
-V, --version
پیادهسازی توسط کاربران غیرریشه (NON-SUPERUSER UMOUNTS)
به طور معمول، فقط کاربر ارشد میتواند سیستمهای پرونده را پیاده کند. با این حال، هنگامی که fstab شامل گزینه user در یک خط باشد، هر کسی میتواند سیستم پرونده مربوطه را پیاده کند. برای جزئیات بیشتر به صفحه راهنمای mount(8) مراجعه کنید.
از نسخه ۲.۳۴ دستور umount میتواند برای انجام عملیات پیادهسازی سیستمهای پرونده fuse نیز استفاده شود، مشروط بر اینکه جدول اتصال هسته شامل شناسه کاربر باشد. در این حالت گزینه اتصال user= در fstab مورد نیاز نیست.
از نسخه ۲.۳۵ دستور umount هنگامی که دسترسیهای کاربر طبق قوانین امنیتی داخلی libmount ناکافی باشد، با خطا متوقف نمیشود. این دستور مجوزهای suid را کنار میگذارد و به عنوان یک کاربر عادی غیر ریشه ادامه میدهد. از این سازوکار میتوان برای پشتیبانی از مواردی که دسترسی ریشه در آنها ضروری نیست (مانند سیستمهای پرونده fuse، فضاهاینام کاربر و غیره) استفاده کرد.
دستگاه حلقه (LOOP DEVICE)
دستور umount به طور خودکار دستگاه حلقه (loop device) را که پیشتر توسط دستور mount(8) مقداردهی اولیه شده بود، مستقل از /etc/mtab جدا میکند.
در این حالت دستگاه با پرچم "autoclear" مقداردهی اولیه میشود (برای جزئیات بیشتر به خروجی losetup(8) مراجعه کنید)، در غیر این صورت لازم است از گزینه --detach-loop استفاده کنید یا losetup -d device را فراخوانی نمایید. ویژگی autoclear از لینوکس ۲.۶.۲۵ پشتیبانی میشود.
توجه داشته باشید که از لینوکس نسخه ۳.۷ هسته از «نابودی تنبل دستگاه» (lazy device destruction) استفاده میکند. سیستم فقط دستگاه حلقه را با پرچم autoclear نشانهگذاری کرده و بعداً آن را پاک میکند. اگر نیاز دارید تا حذف کامل دستگاه حلقه صبر کنید، پس از umount دستور udevadm settle را فراخوانی نمایید.
وضعیت خروج (EXIT STATUS)
دستور umount دارای مقادیر وضعیت خروج زیر است (بیتها میتوانند با یکدیگر OR شوند):
0
1
2
4
8
16
32
64
دستور umount -a مقادیر 0 (همه موفق)، 32 (همه ناموفق) یا 64 (برخی ناموفق، برخی موفق) را برمیگرداند.
126
برنامههای کمکی خارجی (EXTERNAL HELPERS)
نحو برنامههای کمکی پیادهسازی خارجی به صورت زیر است:
umount.suffix {directory|device}
[-flnrv] [-N namespace] [-t
type.subtype]
که در آن suffix نوع سیستم پرونده است (یا مقدار حاصل از نشانگر uhelper= یا helper= در فایل mtab). گزینه -t میتواند برای سیستمهای پروندهای که از نوع فرعی (subtype) پشتیبانی میکنند به کار رود. برای مثال:
umount.fuse -t fuse.sshfs
یک نشانگر uhelper=something (برنامه کمکی غیرممتاز) میتواند در فایل /etc/mtab ظاهر شود زمانی که کاربران عادی باید بتوانند نقطه اتصالی را پیاده کنند که در /etc/fstab تعریف نشده است (برای مثال برای دستگاهی که توسط udisks(1) متصل شده است).
یک نشانگر helper=type در فایل mtab تمامی درخواستهای پیادهسازی را صرفنظر از UID به برنامه کمکی /sbin/umount.type هدایت خواهد کرد.
توجه داشته باشید که در حال حاضر /etc/mtab منسوخ شده است و helper= و سایر گزینههای اتصال فضای کاربر توسط libmount نگهداری میشوند.
مقدار وضعیت خروج برنامه کمکی به عنوان وضعیت خروج umount(8) بازگردانده میشود. مقدار 126 زمانی استفاده میشود که برنامه کمکی پیدا شود اما execl() با شکست مواجه گردد.
محیط (ENVIRONMENT)
LIBMOUNT_FSTAB=<path>
LIBMOUNT_DEBUG=all
فایلها (FILES)
/etc/mtab
/etc/fstab
/proc/self/mountinfo
پیشینه (HISTORY)
دستور umount در نسخه ۶ یونیکس AT&T ظاهر شد.
همچنین ببینید (SEE ALSO)
گزارش باگها (REPORTING BUGS)
برای گزارش باگها، از سامانه پیگیری مشکلات در util-linux issues https://github.com/util-linux/util-linux/issues. استفاده کنید.
در دسترس بودن (AVAILABILITY)
دستور umount بخشی از بسته util-linux است که میتوان آن را از Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux. دریافت کرد.
| مه ۲۰۲۵ | util-linux |