| SG_WRITE_ATTR(8) | SG3_UTILS | SG_WRITE_ATTR(8) |
نام (NAME)
sg_write_attr - ارسال دستور SCSI WRITE ATTRIBUTE
خلاصه دستور (SYNOPSIS)
sg_write_attr [--enumerate] [--element=EA] [--help] [--hex] [--in=FN] [--lvn=LVN] [--pn=PN] [--raw] [--wtc] [--verbose] [--version] DEVICE [attribute=value [attribute:value...]]
توضیحات (DESCRIPTION)
دستور SCSI WRITE ATTRIBUTE را به همراه جفتهای ویژگی-مقدار مشخصشده در آرگومانهای خط فرمان یا خواندهشده از پرونده ورودی به DEVICE ارسال میکند. این دستور در SPC-3 ویرایش 1 معرفی شد و بنابراین برای تمام دستگاههای SCSI کاربرد دارد. در عمل عمدتاً برای سیستمهای نوار مغناطیسی استفاده میشود. این ابزار بر اساس پیشنویس استاندارد SPC-5، ویرایش 17 (spc5r17.pdf) است.
گزینهها (OPTIONS)
آرگومانهای گزینههای بلند برای گزینههای کوتاه نیز الزامی هستند.
- -e, --enumerate
- فهرست کردن تمام ویژگیهای شناختهشده. ویژگیها شامل یک شناسه، طول، قالب و یک نام مطابق با تعریف T10، به همراه نام اختصاری تکمیلی هستند که میتواند به جای شناسه استفاده شود. برخی ویژگیها همچنین ممکن است شامل مجموعهای از مقادیر از پیش تعریفشده باشند. اگر DEVICE یا جفتهای attribute=value داده شوند، نادیده گرفته میشوند.
- -E, --element=EA
- که در آن EA آدرس عنصری است که در cdb دستور WRITE ATTRIBUTE قرار میگیرد. این فیلد فقط در پیشنویسهای SMC-2 و SMC-3 برای تعویضکنندههای رسانه که معمولاً به کتابخانههای نوار مغناطیسی مرتبط هستند یافت میشود. بهطور پیشفرض این فیلد روی صفر تنظیم شده است.
- -h, --help
- نمایش پیام راهنما و سپس خروج.
- -H, --hex
- همراه با پرونده ورودی (-i, --in=FN) استفاده میشود تا نشان دهد محتوای ورودی در قالب هگزادسیمال بدون آدرس ابتدایی (در هر سطر) است، مشابه خروجی تولیدشده توسط sg_read_attr -HHH.
- -i, --in=FN
- با FN به
عنوان نام
پرونده (یا '-'
برای ورودی
استاندارد
stdin) رفتار
میشود که
حاوی
جفتهای
ویژگی-مقدار
در هر سطر،
یا
دادههای
هگزادسیمال
ASCII یا باینری
نشاندهنده
بار داده (payload)
دستور WRITE ATTRIBUTE
است. هنگامی
که این
گزینه داده
شود،
جفتهای
attribute=value (در صورت
ارائه)
نادیده
گرفته
میشوند.
بهطور پیشفرض فرض میشود FN شامل فهرستی از جفتهای ویژگی-مقدار، یکی در هر سطر باشد. خطوط خالی و خطوطی که با «#» شروع میشوند نادیده گرفته میشوند. اگر --hex داده شود، فرض میشود FN شامل هگزادسیمال ASCII بهصورت بایتهای جداشده با فاصله، تب یا کاما است. تمام کاراکترها از «#» (شامل خود آن) تا انتهای خط نادیده گرفته میشوند. اگر گزینه --raw داده شود، فرض میشود FN حاوی دادههای باینری است. هنگامی که هر دو گزینه --hex و --raw داده شوند، دومی اولویت دارد. - -l, --lvn=LVN
- که در آن LVN در فیلد «logical volume number» در cdb قرار میگیرد. مقدار پیشفرض صفر است که اگر دستگاه تنها یک حجم داشته باشد، الزامی است.
- -p, --pn=PN
- که در آن PN در فیلد «partition number» در cdb قرار میگیرد. اگر DEVICE تنها یک پارتیشن داشته باشد، شماره پارتیشن آن باید صفر باشد. مقدار پیشفرض PN صفر است.
- -r, --raw
- همراه با پرونده ورودی (-i, --in=FN) برای نشان دادن اینکه قالب ورودی باینری است استفاده میشود، مشابه خروجی تولیدشده توسط sg_read_attr --raw.
- -c, --wtc
- بیت WRITE THROUGH CACHE را در cdb دستور WRITE ATTRIBUTE تنظیم میکند. این به سرور دستگاه دستور میدهد که وضعیت موفقیتآمیز را تنها زمانی بازگرداند که ویژگیها با حافظه کمکی رسانه همگامسازی شده باشند. بهطور پیشفرض بیت WTC تنظیم نشده است.
- -v, --verbose
- افزایش سطح پرگویی (پیامهای اشکالزدایی).
- -V, --version
- چاپ رشته نگارش و سپس خروج.
قالب جفت ویژگی-مقدار (Attribute-value pair format)
یک جفت
ویژگی-مقدار
از شناسه
ویژگی و
مقدار
ویژگی
تشکیل شده
که با علامت
مساوی '=' یا
دونقطه ':' از
هم جدا
میشوند.
شناسه
ویژگی را
میتوان به
عنوان یک
عدد در
مبنای
دهدهی،
هشتهشتی
(با پیشوند '0')
یا
شانزدهشانزدهی
(با پیشوند
'0x')، یا با یک
نام
اختصاری در
صورتی که
ویژگی آن را
ارائه دهد،
مشخص کرد.
علامت
جداکننده
نحوه نمایش
مقدار را
تعیین
میکند:
علامت
مساوی
نشاندهنده
مقادیر در
قالب
رشتهای یا
عددی یا نام
اختصاری
است، در
حالی که
علامت
دونقطه
نشاندهنده
یک توالی
هگز شامل
بایتها در
قالب
هگزادسیمال
است که با
فاصله یا
کاما از هم
جدا
شدهاند.
مقادیر
رشتهای را
میتوان با
ویژگیهایی
در قالب ASCII یا
متنی
استفاده
کرد، در
حالی که
اعداد و
نامهای
اختصاری
برای
ویژگیهای
باینری
مناسب
هستند.
نامهای
اختصاری
موجود را
میتوان با
گزینه --enumerate
فهرست کرد.
نامهای
اختصاری به
حروف بزرگ و
کوچک حساس
نیستند.
برای
ویژگیهای
باینری با
طول ثابت،
طول مقدار
باید
دقیقاً با
طول ویژگی
مطابقت
داشته باشد.
حداکثر
مقدار
ویژگی
باینری در
نمایش عددی
با اندازه
نوع داده unsigned long long
در پلتفرم
مربوطه
(معمولاً ۸
بایت) محدود
میشود، در
حالی که
توالی
هگزادسیمال
میتواند
هر طولی
داشته باشد.
مقادیر
ویژگیهای
با قالب ASCII
چپچین شده
و تا طول
ویژگی با
فاصله پر
میشوند.
مقدار خالی
(علامت
جداکننده
بدون مقدار
پس از آن)
برای حذف یک
ویژگی مشخص
در سرور
دستگاه
استفاده
میشود.
جفتهای
ویژگی-مقدار
در
آرگومانهای
خط فرمان که
حاوی فاصله
هستند باید
در علامت
نقلقول
قرار گرفته
یا اسکیپ
شوند.
نکات (NOTES)
به نظر
میرسد
تنها
سیستمهای
نوار
مغناطیسی
دستور SCSI WRITE ATTRIBUTE
را
پیادهسازی
میکنند.
بخش
عمدهای از
تعریف آن در
استاندارد SPC
آمده است،
بنابراین
انواع دیگر
دستگاهها
نیز
میتوانند
از آن
استفاده
کنند.
طول کل بافر
برای فهرست
ویژگیها
در بار داده
دستور SCSI WRITE ATTRIBUTE
برابر با 1
مبیبایت (1024
کیبیبایت)
است.
مثالها (EXAMPLES)
تنظیم ویژگی بارکد نوار مغناطیسی در قالب ASCII که با نام اختصاری و یک مقدار رشتهای مشخص شده است:
# sg_write_attr /dev/sg1 BarCode=BARCODE01
تنظیم ویژگی بارکد نوار مغناطیسی در قالب ASCII که با شناسه هگزادسیمال و یک مقدار رشتهای مشخص شده است:
# sg_write_attr /dev/sg1 0x806=BARCODE01
تنظیم ویژگی متنی برچسب کاربر با مقدار رشتهای حاوی فاصله در آرگومان نقلقولشده خط فرمان:
# sg_write_attr /dev/sg1 "UserLabel=User label 1"
تنظیم ویژگی متنی برچسب کاربر با مقدار توالی هگز:
# sg_write_attr /dev/sg1
UserLabel:42,41,52,43,4F,44,45,30,32
یا
# sg_write_attr /dev/sg1 "0x803:42 41 52 43 4F 44 45 30
32"
تنظیم ویژگی شناسه محلی با مقادیر مشخصشده با نامهای اختصاری یا اعداد:
# sg_write_attr /dev/sg1 LocaleId=ascii
# sg_write_attr /dev/sg1 LocaleId=utf-8
# sg_write_attr /dev/sg1 LocaleId=0x80
# sg_write_attr /dev/sg1 LocaleId:81
# sg_write_attr /dev/sg1 0x805=iso-8859-9
تنظیم ویژگیهای چندگانه مشخصشده در آرگومانهای خط فرمان:
# sg_write_attr /dev/sg1 BarCode=BARCODE01 "UserLabel=My User Label" LocaleId=iso-8859-1
تنظیم ویژگی باینری با طول متغیر با مقادیر در قالبهای عددی یا توالی هگز:
# sg_write_attr /dev/sg1 VCI=1
# sg_write_attr /dev/sg1 VCI=65535
# sg_write_attr /dev/sg1 VCI=0x012345
# sg_write_attr /dev/sg1 VCI=0x0123456789abcdef
# sg_write_attr /dev/sg1
VCI:01,23,45,67,89,ab,cd,ef,20,21,22,23,24,25,26,27,28,29,2a,2b,2c,2d,2e,2f
تنظیم ویژگی باینری با طول ثابت با استفاده از مقدار در قالب توالی هگز:
# sg_write_attr /dev/sg1 "MediumGUID:63 38 66 36 62 39 32 32 2d 37 38 38 39 2d 31 31 65 64 2d 38 65 35 31 2d 66 37 36 65 62 32 63 39 38 38 64 31"
حذف یک ویژگی با استفاده از مقدار خالی:
# sg_write_attr /dev/sg1 BarCode=
یا
# sg_write_attr /dev/sg1 BarCode:
حذف چندین ویژگی:
# sg_write_attr /dev/sg1 UserLabel= BarCode= 0x805=
تنظیم ویژگیهای مشخصشده در پرونده ورودی متنی:
# sg_write_attr --in=attrs.txt /dev/sg1
محتوای
پرونده "attrs.txt":
AppVersion=1.02.15
UserLabel=User Label 1
LastWritten=251120221637
Barcode=BARCODE02
OwningHost=backup_server
MediaPoolName=First Media Pool
PartUserLabel=PART01
LUatPart=1
AppFmtVersion=MTF0125
VCI=0x0123456789abcdef
MediumGUID:62 64 61 36 62 30 35 34 2d 37 38 38 39 2d 31 31 65 64 2d 39 65 64
30 2d 62 37 31 30 63 32 62 63 30 34 30 39
تنظیم فهرست ویژگیهای مشخصشده در پرونده ورودی با قالب هگزادسیمال:
# sg_write_attr --in=attrs_hex.txt --hex /dev/sg1
محتوای
پرونده "attrs_hex.txt":
00 00 00 25 08 06 01 00 20 42 41 52 43 4f 44 45
2d 30 32 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20
تنظیم فهرست ویژگیهای مشخصشده در پرونده ورودی باینری خام:
# sg_write_attr --in=attrs_raw.bin --raw /dev/sg1
محتوای
پرونده "attrs_raw.bin":
$ od -A x -t x1z -v attrs_raw.bin
000000 00 00 00 25 08 06 01 00 20 42 41 52 43 4f 44 45 >...%....
BARCODE<
000010 2d 30 32 20 20 20 20 20 20 20 20 20 20 20 20 20 >-02 <
000020 20 20 20 20 20 20 20 20 20 > <
000029
وضعیت خروج (EXIT STATUS)
وضعیت خروج sg_write_attr در صورت موفقیت 0 است. در غیر این صورت صفحه راهنمای sg3_utils(8) را ببینید.
نویسندگان (AUTHORS)
نوشته شده توسط Douglas Gilbert و Boris Fox.
گزارش باگها (REPORTING BUGS)
گزارش باگها به <dgilbert at interlog dot com>.
حق نشر (COPYRIGHT)
حق نشر © 2016-2020
Douglas Gilbert, 2022-2023 Boris Fox
این
نرمافزار
تحت مجوز FreeBSD
توزیع
میشود. هیچ
ضمانتی
وجود
ندارد؛ حتی
برای
قابلیت
فروش یا
تناسب برای
یک هدف خاص.
همچنین ببینید (SEE ALSO)
sg_read_attrs(sg3_utils)
| January 2023 | sg3_utils-1.48 |