.TH SG_WRITE_ATTR "8" "January 2023" "sg3_utils\-1.48" SG3_UTILS .SH "نام (NAME)" sg_write_attr \- ارسال دستور SCSI WRITE ATTRIBUTE .SH "خلاصه دستور (SYNOPSIS)" .B sg_write_attr [\fI\-\-enumerate\fR] [\fI\-\-element=EA\fR] [\fI\-\-help\fR] [\fI\-\-hex\fR] [\fI\-\-in=FN\fR] [\fI\-\-lvn=LVN\fR] [\fI\-\-pn=PN\fR] [\fI\-\-raw\fR] [\fI\-\-wtc\fR] [\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR [\fIattribute=value\fR [\fIattribute:value\fR...]] .SH "توضیحات (DESCRIPTION)" .\" Add any additional description here دستور SCSI WRITE ATTRIBUTE را به همراه جفت‌های ویژگی\-مقدار مشخص‌شده در آرگومان‌های خط فرمان یا خوانده‌شده از پرونده ورودی به \fIDEVICE\fR ارسال می‌کند. این دستور در SPC\-3 ویرایش 1 معرفی شد و بنابراین برای تمام دستگاه‌های SCSI کاربرد دارد. در عمل عمدتاً برای سیستم‌های نوار مغناطیسی استفاده می‌شود. این ابزار بر اساس پیش‌نویس استاندارد SPC\-5، ویرایش 17 (spc5r17.pdf) است. .SH "گزینه‌ها (OPTIONS)" آرگومان‌های گزینه‌های بلند برای گزینه‌های کوتاه نیز الزامی هستند. .TP \fB\-e\fR, \fB\-\-enumerate\fR فهرست کردن تمام ویژگی‌های شناخته‌شده. ویژگی‌ها شامل یک شناسه، طول، قالب و یک نام مطابق با تعریف T10، به همراه نام اختصاری تکمیلی هستند که می‌تواند به جای شناسه استفاده شود. برخی ویژگی‌ها همچنین ممکن است شامل مجموعه‌ای از مقادیر از پیش تعریف‌شده باشند. اگر \fIDEVICE\fR یا جفت‌های \fIattribute=value\fR داده شوند، نادیده گرفته می‌شوند. .TP \fB\-E\fR, \fB\-\-element\fR=\fIEA\fR که در آن \fIEA\fR آدرس عنصری است که در cdb دستور WRITE ATTRIBUTE قرار می‌گیرد. این فیلد فقط در پیش‌نویس‌های SMC\-2 و SMC\-3 برای تعویض‌کننده‌های رسانه که معمولاً به کتابخانه‌های نوار مغناطیسی مرتبط هستند یافت می‌شود. به‌طور پیش‌فرض این فیلد روی صفر تنظیم شده است. .TP \fB\-h\fR, \fB\-\-help\fR نمایش پیام راهنما و سپس خروج. .TP \fB\-H\fR, \fB\-\-hex\fR همراه با پرونده ورودی (\fB\-i\fR, \fB\-\-in\fR=\fIFN\fR) استفاده می‌شود تا نشان دهد محتوای ورودی در قالب هگزادسیمال بدون آدرس ابتدایی (در هر سطر) است، مشابه خروجی تولیدشده توسط \fBsg_read_attr \-HHH\fR. .TP \fB\-i\fR, \fB\-\-in\fR=\fIFN\fR با \fIFN\fR به عنوان نام پرونده (یا '\-' برای ورودی استاندارد stdin) رفتار می‌شود که حاوی جفت‌های ویژگی\-مقدار در هر سطر، یا داده‌های هگزادسیمال ASCII یا باینری نشان‌دهنده بار داده (payload) دستور WRITE ATTRIBUTE است. هنگامی که این گزینه داده شود، جفت‌های \fIattribute=value\fR (در صورت ارائه) نادیده گرفته می‌شوند. .br به‌طور پیش‌فرض فرض می‌شود \fIFN\fR شامل فهرستی از جفت‌های ویژگی\-مقدار، یکی در هر سطر باشد. خطوط خالی و خطوطی که با «#» شروع می‌شوند نادیده گرفته می‌شوند. اگر \fI\-\-hex\fR داده شود، فرض می‌شود \fIFN\fR شامل هگزادسیمال ASCII به‌صورت بایت‌های جداشده با فاصله، تب یا کاما است. تمام کاراکترها از «#» (شامل خود آن) تا انتهای خط نادیده گرفته می‌شوند. اگر گزینه \fI\-\-raw\fR داده شود، فرض می‌شود \fIFN\fR حاوی داده‌های باینری است. هنگامی که هر دو گزینه \fI\-\-hex\fR و \fI\-\-raw\fR داده شوند، دومی اولویت دارد. .TP \fB\-l\fR, \fB\-\-lvn\fR=\fILVN\fR که در آن \fILVN\fR در فیلد «logical volume number» در cdb قرار می‌گیرد. مقدار پیش‌فرض صفر است که اگر دستگاه تنها یک حجم داشته باشد، الزامی است. .TP \fB\-p\fR, \fB\-\-pn\fR=\fIPN\fR که در آن \fIPN\fR در فیلد «partition number» در cdb قرار می‌گیرد. اگر \fIDEVICE\fR تنها یک پارتیشن داشته باشد، شماره پارتیشن آن باید صفر باشد. مقدار پیش‌فرض \fIPN\fR صفر است. .TP \fB\-r\fR, \fB\-\-raw\fR همراه با پرونده ورودی (\fB\-i\fR, \fB\-\-in\fR=\fIFN\fR) برای نشان دادن اینکه قالب ورودی باینری است استفاده می‌شود، مشابه خروجی تولیدشده توسط \fBsg_read_attr \-\-raw\fR. .TP \fB\-c\fR, \fB\-\-wtc\fR بیت WRITE THROUGH CACHE را در cdb دستور WRITE ATTRIBUTE تنظیم می‌کند. این به سرور دستگاه دستور می‌دهد که وضعیت موفقیت‌آمیز را تنها زمانی بازگرداند که ویژگی‌ها با حافظه کمکی رسانه همگام‌سازی شده باشند. به‌طور پیش‌فرض بیت WTC تنظیم نشده است. .TP \fB\-v\fR, \fB\-\-verbose\fR افزایش سطح پرگویی (پیام‌های اشکال‌زدایی). .TP \fB\-V\fR, \fB\-\-version\fR چاپ رشته نگارش و سپس خروج. .SS "قالب جفت ویژگی\-مقدار (Attribute\-value pair format)" یک جفت ویژگی\-مقدار از شناسه ویژگی و مقدار ویژگی تشکیل شده که با علامت مساوی \fB'='\fR یا دونقطه \fB':'\fR از هم جدا می‌شوند. شناسه ویژگی را می‌توان به عنوان یک عدد در مبنای ده‌دهی، هشت‌هشتی (با پیشوند '0') یا شانزده‌شانزدهی (با پیشوند '0x')، یا با یک نام اختصاری در صورتی که ویژگی آن را ارائه دهد، مشخص کرد. علامت جداکننده نحوه نمایش مقدار را تعیین می‌کند: علامت مساوی نشان‌دهنده مقادیر در قالب رشته‌ای یا عددی یا نام اختصاری است، در حالی که علامت دونقطه نشان‌دهنده یک توالی هگز شامل بایت‌ها در قالب هگزادسیمال است که با فاصله یا کاما از هم جدا شده‌اند. .br مقادیر رشته‌ای را می‌توان با ویژگی‌هایی در قالب ASCII یا متنی استفاده کرد، در حالی که اعداد و نام‌های اختصاری برای ویژگی‌های باینری مناسب هستند. نام‌های اختصاری موجود را می‌توان با گزینه \fB\-\-enumerate\fR فهرست کرد. نام‌های اختصاری به حروف بزرگ و کوچک حساس نیستند. .br برای ویژگی‌های باینری با طول ثابت، طول مقدار باید دقیقاً با طول ویژگی مطابقت داشته باشد. حداکثر مقدار ویژگی باینری در نمایش عددی با اندازه نوع داده unsigned long long در پلتفرم مربوطه (معمولاً ۸ بایت) محدود می‌شود، در حالی که توالی هگزادسیمال می‌تواند هر طولی داشته باشد. .br مقادیر ویژگی‌های با قالب ASCII چپ‌چین شده و تا طول ویژگی با فاصله پر می‌شوند. .br مقدار خالی (علامت جداکننده بدون مقدار پس از آن) برای حذف یک ویژگی مشخص در سرور دستگاه استفاده می‌شود. .br جفت‌های ویژگی\-مقدار در آرگومان‌های خط فرمان که حاوی فاصله هستند باید در علامت نقل‌قول قرار گرفته یا اسکیپ شوند. .SH "نکات (NOTES)" به نظر می‌رسد تنها سیستم‌های نوار مغناطیسی دستور SCSI WRITE ATTRIBUTE را پیاده‌سازی می‌کنند. بخش عمده‌ای از تعریف آن در استاندارد SPC آمده است، بنابراین انواع دیگر دستگاه‌ها نیز می‌توانند از آن استفاده کنند. .br طول کل بافر برای فهرست ویژگی‌ها در بار داده دستور SCSI WRITE ATTRIBUTE برابر با 1 مبی‌بایت (1024 کیبی‌بایت) است. .SH "مثال‌ها (EXAMPLES)" تنظیم ویژگی بارکد نوار مغناطیسی در قالب ASCII که با نام اختصاری و یک مقدار رشته‌ای مشخص شده است: .PP \fB# sg_write_attr /dev/sg1 BarCode=BARCODE01\fR .PP تنظیم ویژگی بارکد نوار مغناطیسی در قالب ASCII که با شناسه هگزادسیمال و یک مقدار رشته‌ای مشخص شده است: .PP \fB# sg_write_attr /dev/sg1 0x806=BARCODE01\fR .PP تنظیم ویژگی متنی برچسب کاربر با مقدار رشته‌ای حاوی فاصله در آرگومان نقل‌قول‌شده خط فرمان: .PP \fB# sg_write_attr /dev/sg1 "UserLabel=User label 1"\fR .PP تنظیم ویژگی متنی برچسب کاربر با مقدار توالی هگز: .PP \fB# sg_write_attr /dev/sg1 UserLabel:42,41,52,43,4F,44,45,30,32\fR .br یا .br \fB# sg_write_attr /dev/sg1 "0x803:42 41 52 43 4F 44 45 30 32"\fR .PP تنظیم ویژگی شناسه محلی با مقادیر مشخص‌شده با نام‌های اختصاری یا اعداد: .PP \fB# sg_write_attr /dev/sg1 LocaleId=ascii\fR .br \fB# sg_write_attr /dev/sg1 LocaleId=utf\-8\fR .br \fB# sg_write_attr /dev/sg1 LocaleId=0x80\fR .br \fB# sg_write_attr /dev/sg1 LocaleId:81\fR .br \fB# sg_write_attr /dev/sg1 0x805=iso\-8859\-9\fR .PP تنظیم ویژگی‌های چندگانه مشخص‌شده در آرگومان‌های خط فرمان: .PP \fB# sg_write_attr /dev/sg1 BarCode=BARCODE01 "UserLabel=My User Label" LocaleId=iso\-8859\-1\fR .PP تنظیم ویژگی باینری با طول متغیر با مقادیر در قالب‌های عددی یا توالی هگز: .PP \fB# sg_write_attr /dev/sg1 VCI=1\fR .br \fB# sg_write_attr /dev/sg1 VCI=65535\fR .br \fB# sg_write_attr /dev/sg1 VCI=0x012345\fR .br \fB# sg_write_attr /dev/sg1 VCI=0x0123456789abcdef\fR .br \fB# 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\fR .PP تنظیم ویژگی باینری با طول ثابت با استفاده از مقدار در قالب توالی هگز: .PP \fB# 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"\fR .PP حذف یک ویژگی با استفاده از مقدار خالی: .PP \fB# sg_write_attr /dev/sg1 BarCode=\fR .br یا .br \fB# sg_write_attr /dev/sg1 BarCode:\fR .PP حذف چندین ویژگی: .PP \fB# sg_write_attr /dev/sg1 UserLabel= BarCode= 0x805=\fR .PP تنظیم ویژگی‌های مشخص‌شده در پرونده ورودی متنی: .PP \fB# sg_write_attr \-\-in=attrs.txt /dev/sg1\fR .br محتوای پرونده "attrs.txt": .br \fIAppVersion=1.02.15 .br UserLabel=User Label 1 .br LastWritten=251120221637 .br Barcode=BARCODE02 .br OwningHost=backup_server .br MediaPoolName=First Media Pool .br PartUserLabel=PART01 .br LUatPart=1 .br AppFmtVersion=MTF0125 .br VCI=0x0123456789abcdef .br 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\fR .PP تنظیم فهرست ویژگی‌های مشخص‌شده در پرونده ورودی با قالب هگزادسیمال: .PP \fB# sg_write_attr \-\-in=attrs_hex.txt \-\-hex /dev/sg1\fR .br محتوای پرونده "attrs_hex.txt": .br \fI00 00 00 25 08 06 01 00 20 42 41 52 43 4f 44 45 .br 2d 30 32 20 20 20 20 20 20 20 20 20 20 20 20 20 .br 20 20 20 20 20 20 20 20 20\fR .PP تنظیم فهرست ویژگی‌های مشخص‌شده در پرونده ورودی باینری خام: .PP \fB# sg_write_attr \-\-in=attrs_raw.bin \-\-raw /dev/sg1\fR .br محتوای پرونده "attrs_raw.bin": .br \fI$ od \-A x \-t x1z \-v attrs_raw.bin .br 000000 00 00 00 25 08 06 01 00 20 42 41 52 43 4f 44 45 >...%.... BARCODE< .br 000010 2d 30 32 20 20 20 20 20 20 20 20 20 20 20 20 20 >\-02 < .br 000020 20 20 20 20 20 20 20 20 20 > < .br 000029\fR .SH "وضعیت خروج (EXIT STATUS)" وضعیت خروج sg_write_attr در صورت موفقیت 0 است. در غیر این صورت صفحه راهنمای sg3_utils(8) را ببینید. .SH "نویسندگان (AUTHORS)" نوشته شده توسط Douglas Gilbert و Boris Fox. .SH "گزارش باگ‌ها (REPORTING BUGS)" گزارش باگ‌ها به . .SH "حق نشر (COPYRIGHT)" حق نشر \(co 2016\-2020 Douglas Gilbert, 2022\-2023 Boris Fox .br این نرم‌افزار تحت مجوز FreeBSD توزیع می‌شود. هیچ ضمانتی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب برای یک هدف خاص. .SH "همچنین ببینید (SEE ALSO)" .B sg_read_attrs(sg3_utils)