SCSI_CH_SWP(8) SDPARM SCSI_CH_SWP(8)

scsi_ch_swp - تغییر وضعیت محافظت از نوشتن نرم‌افزاری SCSI و تنظیمات دستگاه بلوکی

scsi_ch_swp [--help] [--set 0|1] [--verbose] [--wr] BLK_DEVICE

این اسکریپت شل bash تلاش می‌کند بیت محافظت از نوشتن نرم‌افزاری (SWP یا Software Write Protect) را در صفحه حالت Control مربوط به SCSI با استفاده از ابزار sdparm بخواند یا تغییر دهد. اگر این تغییر موفقیت‌آمیز باشد، از ابزار blockdev برای هماهنگ‌سازی و تغییر وضعیت خواندن-نوشتن (read-write) یا فقط‌خواندنی (read-only) برای BLK_DEVICE استفاده می‌کند. این اسکریپت فقط در لینوکس در دسترس است، زیرا ابزار blockdev مختص لینوکس است.

اگر تغییر بیت SWP پشتیبانی شود، فعال کردن بیت SWP باعث می‌شود BLK_DEVICE در خود دستگاه (دیسک) به حالت فقط‌خواندنی درآید. پاک کردن بیت SWP باعث می‌شود BLK_DEVICE در حالت خواندن-نوشتن قرار گیرد، که معمولاً تنظیم پیش‌فرض هنگام روشن شدن دستگاه (دیسک) است.

اگر هیچ گزینه‌ای مشخص نشود، وضعیت کنونی بیت SWP (با استفاده از sdparm) به همراه بیت RO از blockdev نمایش داده می‌شود. اگر هر دو 1 باشند، BLK_DEVICE در حالت فقط‌خواندنی است؛ و اگر هر دو 0 باشند، BLK_DEVICE در حالت خواندن-نوشتن است.

آرگومان‌های گزینه‌های طولانی برای گزینه‌های کوتاه نیز اجباری هستند.

چاپ پیام راهنمای استفاده و خروج.
هنگامی که 0 داده شود، بیت SWP در صفحه حالت Control با استفاده از sdparm پاک می‌شود (یعنی مقدار آن 0 می‌شود)؛ و از blockdev برای تنظیم BLK_DEVICE در حالت خواندن-نوشتن استفاده می‌شود. هنگامی که 1 داده شود، بیت SWP در صفحه حالت Control با استفاده از sdparm تنظیم می‌شود؛ و از blockdev برای تنظیم BLK_DEVICE در حالت فقط‌خواندنی استفاده می‌شود. رفتار پیش‌فرض (یعنی هنگامی که این گزینه داده نشود) خواندن وضعیت بیت SWP و حالت فقط‌خواندنی BLK_DEVICE و چاپ این مقادیر است.
افزایش سطح جزئیات خروجی.
هنگامی که BLK_DEVICE در حالت فقط‌خواندنی است، لینوکس معمولاً اجازه باز کردن BLK_DEVICE به صورت خواندن-نوشتن توسط sdparm را نمی‌دهد، بنابراین اقدام پیش‌فرض این اسکریپت استفاده از گزینه --readonly در sdparm هنگام فراخوانی --set 0 است. این امکان وجود دارد که BLK_DEVICE یک دستگاه عمومی (مانند /dev/sg3) باشد که تفسیر متفاوتی از پرچم باز کردن به صورت فقط‌خواندنی دارد و ممکن است با شکست مواجه شود. برای چنین موارد نادری، گزینه --wr باعث می‌شود sdparm هنگام فراخوانی --set 0، BLK_DEVICE را به صورت خواندن-نوشتن باز کند.

وضعیت خروج این اسکریپت در صورت موفقیت 0 است. در غیر این صورت، وضعیت خروج برابر با مقدار بازگشتی ابزار sdparm یا blockdev (هرکدام که در آخر فراخوانی شده باشد) خواهد بود. صفحه راهنمای sdparm(8) را ببینید.

نوشته‌شده توسط D. Gilbert

کپی‌رایت © 2013 Douglas Gilbert
این نرم‌افزار تحت مجوز FreeBSD توزیع می‌شود. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت تجاری یا تناسب با یک هدف خاص.

sdparm(sdparm), blockdev(8)

May 2013 sdparm-1.08