SG_LOGS(8) SG3_UTILS SG_LOGS(8)

sg_logs - دسترسی به صفحه‌های گزارش با دستور SCSI LOG SENSE

sg_logs [--ALL] [--all] [--brief] [--exclude] [--filter=FL] [--full] [--hex] [--json[=JO]] [--js-file=JFN] [--list] [--maxlen=LEN] [--name] [--no_inq] [--page=PG] [--paramp=PP] [--pcb] [--ppc] [--pdt=DT] [--raw] [--readonly] [--sp] [--temperature] [--transport] [--undefined] [--vendor=VP] [--verbose] DEVICE

sg_logs --inhex=FN [--ALL] [--all] [--brief] [--exclude] [--filter=FL] [--full] [--hex] [--json[=JO]] [--js-file=JFN] [--list] [--name] [--page=PG] [--pdt=DT] [--raw] [--undefined] [--vendor=VP]

sg_logs --select [--control=PC] [--page=PG] [--raw] [--reset] [--sp] [--verbose] DEVICE

sg_logs --enumerate [--filter=FL] [--help] [--vendor=VP] [--version]

sg_logs [-a] [-A] [-b] [-c=PC] [-D=DT] [-e] [-E] [-f=FL] [-F] [-h] [-H] [-i=FN] [-l] [-L] [-m=LEN] [-M=VP] [-n] [-p=PG] [-paramp=PP] [-pcb] [-ppc] [-r] [-R] [-select] [-sp] [-t] [-T] [-u] [-v] [-V] [-?] [-x] DEVICE

این ابزار یک دستور SCSI LOG SENSE را به DEVICE ارسال کرده و سپس پاسخ را در خروجی نمایش می‌دهد. از دستور LOG SENSE برای واکشی صفحه‌های گزارش استفاده می‌شود که در صورت شناخته‌شده بودن، به‌طور پیش‌فرض رمزگشایی می‌شوند. هنگامی که گزینه --reset و/یا --select داده شود، یک دستور SCSI LOG SELECT به DEVICE صادر می‌شود. به عنوان روشی دیگر، یک یا چند پاسخ صفحه گزارش می‌تواند درون یک فایل باشد که با استفاده از گزینه --inhex=FN خوانده می‌شود؛ در این حالت، آن پاسخ‌ها رمزگشایی شده و آرگومان DEVICE (در صورت ارائه) نادیده گرفته می‌شود.

در ویرایش ۵ استاندارد SPC-4، کد زیرصفحه (subpage code) به هر دو دستور LOG SENSE و LOG SELECT اضافه شد. همزمان یک فیلد کد صفحه نیز به دستور LOG SELECT اضافه گردید. مقدار کد زیرصفحه گزارش می‌تواند در بازه 0 تا 255 (0xff) شامل هر دو باشد. مقدار کد زیرصفحه 255 را می‌توان به عنوان یک نویسه عام (wildcard) در نظر گرفت.

بخش «خلاصه دستور» در بالا به پنج شکل تقسیم شده است. شکل اول گزینه‌هایی را نشان می‌دهد که می‌توان برای ارسال یک دستور LOG SENSE به DEVICE و رمزگشایی پاسخ آن به کار برد. شکل دوم داده‌ها را از یک فایل (با نام FN) واکشی کرده و آن را به گونه‌ای رمزگشایی می‌کند که گویی پاسخی از یک دستور LOG SENSE بوده است. شکل سوم گزینه‌هایی را نشان می‌دهد که می‌توان برای ارسال دستور LOG SELECT به کار برد. شکل چهارم گزینه‌های مدیریتی گوناگون را دسته‌بندی می‌کند. شکل آخر رابط خط فرمان قدیمی‌تر و منسوخ‌شده را نشان می‌دهد که برای سازگاری با نسخه‌های پیشین حفظ شده است.

هنگامی که هیچ گزینه‌ای داده نشود و فقط یک DEVICE مشخص گردد، معادل فراخوانی این ابزار با گزینه --list است. در این حالت نام‌های صفحه‌های گزارش پشتیبانی‌شده (اما نه زیرصفحه‌ها) فهرست می‌شوند.

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

واکشی و رمزگشایی تمام صفحه‌های گزارش و زیرصفحه‌های پشتیبانی‌شده توسط DEVICE. این کار نیازمند یک فرآیند دو مرحله‌ای است: ابتدا صفحه گزارش «صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده» واکشی می‌شود، سپس برای هر ورودی در پاسخ آن، صفحه گزارش (یا زیرصفحه) مربوطه واکشی شده و نمایش داده می‌شود. توجه داشته باشید که دستگاه‌های SCSI بسیاری وجود دارند که از زیرصفحه‌های LOG SENSE پشتیبانی نمی‌کنند و به این گزینه با یک کلید حس (sense key) درخواست نامعتبر (illegal request) پاسخ می‌دهند. در این حالت این ابزار با واکشی صفحه گزارش «صفحه‌های گزارش پشتیبانی‌شده» به کار خود ادامه می‌دهد. به عبارت دیگر اگر گزینه --ALL شکست بخورد، گزینه --all به جای آن استفاده می‌شود. دلیل این امر آن است که تقریباً به طور قطع DEVICE هیچ زیرصفحه گزارشی برای گزارش دادن ندارد.
برای وادار کردن به اعلام خطا در صورتی که واکشی صفحه گزارش صفحه‌ها و زیرصفحه‌های پشتیبانی‌شده ناموفق باشد، از هر دو گزینه --ALL و --full استفاده کنید.
از آنجا که برخی سازندگان تمام صفحه‌های گزارش را در صفحه گزارش «صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده» فهرست نمی‌کنند، می‌توان گزینه «-lll» را نیز علاوه بر آن مشخص کرد. این کار هر دو صفحه گزارش «... supported» را با هم ادغام کرده و سپس از آن فهرست ادغام‌شده حاصل، محتویات صفحه را واکشی می‌کند.
این گزینه در صورت مشخص شدن گزینه --page=PG، بر آن تقدم دارد و آن را باطل می‌کند.
تمام صفحه‌های گزارش پشتیبانی‌شده توسط DEVICE را در خروجی نمایش می‌دهد. این کار نیازمند یک فرآیند دو مرحله‌ای است: ابتدا صفحه گزارش «صفحه‌های گزارش پشتیبانی‌شده» واکشی می‌شود، سپس برای هر ورودی در پاسخ آن، صفحه گزارش مربوطه واکشی شده و نمایش داده می‌شود. هنگامی که دو بار استفاده شود (مانند «-aa»)، تمام صفحه‌ها و زیرصفحه‌های گزارش واکشی می‌شوند.
این گزینه در صورت مشخص شدن گزینه --page=PG، بر آن تقدم دارد و آن را باطل می‌کند.
کوتاه کردن حجم خروجی برای برخی از صفحه‌های گزارش. به عنوان مثال، صفحه گزارش هشدارهای نوار (Tape Alert) در صورت مشخص شدن --brief تنها پارامترهایی را نمایش می‌دهد که پرچم‌های آن‌ها تنظیم شده باشد.
مقادیر 0، 1، 2 یا 3 را برای آرگومان PC می‌پذیرد:
0 : مقادیر آستانه جاری
1 : مقادیر تجمعی جاری
2 : مقادیر آستانه پیش‌فرض
3 : مقادیر تجمعی پیش‌فرض
مقدار پیش‌فرض 1 است (یعنی مقادیر تجمعی جاری).
از این گزینه برای نمایش اطلاعات موجود در جدول‌های داخلی این ابزار درباره صفحه‌های گزارش شناخته‌شده از جمله نام، مخفف و فیلدهای آن‌ها استفاده می‌شود. در صورت ارائه این گزینه، آرگومان DEVICE نادیده گرفته می‌شود. هنگامی که یک بار داده شود (مانند «-e»)، تمام صفحه‌های شناخته‌شده بر اساس ترتیب الفبایی صعودی مخفف آن‌ها فهرست می‌شوند.
هنگامی که دو بار داده شود، صفحه‌های ویژه سازندگان (vendor) حذف می‌شوند. هنگامی که سه بار داده شود، تمام صفحه‌های شناخته‌شده بر اساس ترتیب عددی صعودی فهرست می‌شوند؛ هنگامی که چهار بار داده شود، صفحه‌های ویژه سازندگان از ترتیب عددی حذف می‌شوند.
گزینه‌های --filter=FL و --verbose خروجی این شمارش را کاهش می‌دهند.
این گزینه صفحه‌ها و پارامترهای ویژه سازنده (vendor specific) را از خروجی حذف می‌کند. تلاش برای رمزگشایی صفحه‌ها و پارامترهای ویژه سازنده به دلایل متعددی لزوماً به خوبی کار نمی‌کند. این گزینه خروجی را به صفحه‌ها و پارامترهای تعریف‌شده توسط T10 محدود می‌سازد.
تنها فیلدهای پارامتری که در پیش‌نویس‌ها به عنوان «vendor specific» مشخص شده‌اند حذف می‌شوند؛ بنابراین کدهای پارامتری که به عنوان «رزرو شده» (reserved) مشخص شده‌اند نمایش داده می‌شوند.
مقدار FL در صورتی که DEVICE داده شده باشد یک کد پارامتر است، یا اگر --enumerate داده شده باشد، یک نوع دستگاه جانبی (pdt) (یا موارد دیگر) است.
در حالت کد پارامتر، FL مقداری بین 0 تا 65535 (0xffff) است و تنها بخش پارامتر منطبق با آن کد در خروجی نمایش داده می‌شود. اگر گزینه --hex مشخص شود، پارامتر گزارش به جای رمزگشایی به صورت هگزادسیمال نمایش داده می‌شود. اگر گزینه --hex دو بار به کار رود، آدرس ابتدای هر خط هگز حذف می‌شود. اگر گزینه --raw داده شود، پارامتر گزارش به صورت باینری در خروجی چاپ می‌شود. بیشتر صفحه‌های گزارش حاوی یک یا چند پارامتر گزارش هستند. نمونه‌هایی از صفحاتی که از این قاعده پیروی نمی‌کنند، صفحاتی هستند که صفحه‌های گزارش (و زیرصفحه‌های) پشتیبانی‌شده را فهرست می‌کنند.
در حالت --enumerate، هنگامی که FL بزرگتر یا مساوی صفر باشد، به عنوان مقدار pdt در نظر گرفته می‌شود و تنها صفحه‌های گزارش مرتبط با آن pdt به علاوه صفحه‌های عمومی فهرست‌شده در SPC شمارش می‌شوند. اگر FL برابر با -1 باشد، فیلتر هیچ کاری انجام نمی‌دهد که معادل ارائه ندادن این گزینه است؛ هنگامی که FL برابر با -2 باشد، تنها صفحه‌های عمومی فهرست‌شده در SPC شمارش می‌شوند. اگر FL برابر با -10 باشد، تنها صفحه‌های عمومی مشابه دسترسی مستقیم (مانند دیسک) شمارش می‌شوند. اگر FL برابر با -11 باشد، تنها صفحه‌های عمومی مشابه نوار (شامل ADC) شمارش می‌شوند.
این گزینه تنها در دو موقعیت استفاده می‌شود: به همراه صفحه گزارش کلاینت برنامه (AC) و به همراه گزینه --ALL. معمولاً صفحه گزارش AC بیش از 16,000 بایت داده ارائه‌شده توسط کاربر دارد. به جای چاپ همه آن، پیش‌فرض این است که ۶۴ بایت اول داده‌ها چاپ شود. هنگامی که این گزینه داده شود، صفحه‌های گزارش کلاینت برنامه به طور کامل رمزگشایی می‌شوند.
هنگامی که هر دو گزینه --ALL و این گزینه داده شوند، در صورتی که صفحه گزارش «صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده» در دسترس نباشد، این ابزار با خطا خارج خواهد شد.
نمایش پیام راهنمای استفاده و سپس خروج.
عملکرد پیش‌فرض، رمزگشایی شماره‌های صفحه گزارش (و زیرصفحه‌های) شناخته‌شده به متن است. هنگامی که این گزینه یک بار به کار رود، پاسخ به صورت هگزادسیمال نمایش داده می‌شود. هنگامی که دو بار استفاده شود، در سمت راست هر خط از مقادیر هگز، معادل ASCII آن نشان داده می‌شود. هنگامی که سه بار به کار رود، خروجی هگز هیچ آدرس ابتدایی یا نویسه‌های اسکی انتهایی نخواهد داشت که آن را برای قرار دادن در یک فایل (یا هدایت از طریق لوله/pipe) مناسب می‌سازد. آن فایل بعداً ممکن است در فراخوانی دیگری با استفاده از گزینه --inhex=FN به کار رود.
یک شکل ضعیف‌تر از این گزینه با نام --undefined، قالب‌بندی خروجی هگزادسیمال را برای فیلدهایی که این ابزار قادر به رمزگشایی آن‌ها نیست مدیریت می‌کند.
مشابه گزینه --inhex=FN است. برای سازگاری با نسخه‌های پیشین حفظ شده است.
این گزینه ممکن است در دو زمینه متفاوت استفاده شود. یکی به همراه گزینه --select برای ارسال دستور LOG SELECT به DEVICE داده‌شده؛ بخش «LOG SELECT» را در ادامه ببینید.
زمینه دیگر زمانی است که هیچ آرگومان DEVICE داده نشده باشد؛ در این حالت محتویات FN به گونه‌ای رمزگشایی می‌شوند که گویی پاسخ یک دستور LOG SENSE (یعنی یک یا چند صفحه گزارش) بوده است. برای رمزگشایی، شماره‌های صفحه و زیرصفحه از FN گرفته می‌شوند، در حالی که نوع دستگاه جانبی یا عمومی (یعنی از SPC) است یا مقداری است که توسط --pdt=DT مشخص شده است.
مقدار FN به عنوان نام فایل (یا «-» برای ورودی استاندارد stdin) در نظر گرفته می‌شود که حاوی مقادیر هگزادسیمال یا باینری اسکی نشان‌دهنده یک صفحه گزارش است. مقادیر هگزادسیمال باید به صورت ۱ یا ۲ رقم نمایانگر هر بایت سازمان‌دهی شوند که با فاصله یا کاما از یکدیگر جدا شده‌اند. هر چیزی از علامت هش (#) تا انتهای خط نادیده گرفته می‌شود. اگر گزینه --raw نیز داده شود، با FN به عنوان داده‌های باینری رفتار می‌شود.
خروجی به جای متن ساده در قالب JSON ارائه می‌شود. توجه داشته باشید که آرگومان‌های فرم کوتاه و بلند خود اختیاری هستند و در صورت وجود با «=» آغاز می‌شوند و هیچ فاصله‌ای در اطراف آن «=» مجاز نیست.
برای توضیحات بیشتر به صفحه راهنمای sg3_utils_json مراجعه کنید یا برای دریافت خلاصه‌ای از گزینه‌ها از «?» به عنوان مقدار JO استفاده کنید.
خروجی در قالب JSON بوده و به فایلی به نام JFN ارسال می‌شود. اگر آن فایل وجود داشته باشد، محتوای آن کوتاه (truncate) و بازنویسی می‌شود. به طور پیش‌فرض، خروجی JSON به stdout فرستاده می‌شود.
هنگامی که این گزینه داده شود، گزینه --json[=JO] به طور ضمنی در نظر گرفته می‌شود و نیازی به ارائه آن نیست. با این حال، ممکن است همچنان برای تنظیم پارامتر JO روی مقادیر غیرپیش‌فرض به گزینه --json[=JO] نیاز باشد.
فهرست کردن نام‌های صفحه‌های گزارش پشتیبانی‌شده توسط این دستگاه. این کار با خواندن صفحه گزارش «صفحه‌های گزارش پشتیبانی‌شده» انجام می‌شود. هنگامی که یک بار استفاده شود، تنها صفحه‌های گزارش، و نه زیرصفحه‌ها، فهرست می‌شوند. هنگامی که دو بار به کار رود، صفحه گزارش «صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده» در خروجی نمایش داده می‌شود. برخی سازندگان برخی از صفحه‌های گزارش (مانند آن‌هایی که زیرصفحه‌ای ندارند) را در صفحه گزارش «صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده» فهرست نمی‌کنند. برای دریافت موجودی کامل، می‌توان از این گزینه سه بار (مانند «-lll») استفاده کرد تا خروجی این دو صفحه گزارش با یکدیگر ادغام شود. حتی اگر صفحه گزارش «صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده» پشتیبانی نشود، سه بار استفاده از این گزینه فهرستی از صفحه گزارش «صفحه‌های گزارش پشتیبانی‌شده» ایجاد خواهد کرد. در صورت عدم وجود گزینه‌های دیگر، هنگام ارائه این گزینه تنها نام‌های صفحه‌ها/زیرصفحه‌ها و نه محتویات آن‌ها نمایش داده می‌شوند.
شکل «-lll» ممکن است همراه با گزینه --ALL برای نمایش محتوای تمام صفحه‌های ارجاع داده‌شده در هر یک از صفحه‌های گزارش «supported log page» یا «supported log page and subpage» مفید باشد.
تنظیم فیلد «allocation length» (طول تخصیص) در cdb دستور LOG SENSE. این مقدار حداکثر طول بر حسب بایت است که پاسخ خواهد داشت. بدون این گزینه (یا در صورت برابر بودن LEN با 0)، این ابزار ابتدا پاسخ ۴ بایتی را واکشی می‌کند و سپس دسترسی دومی با طول مشخص‌شده در پاسخ اول (۴ بایت) انجام می‌دهد. مقادیر منفی و مقدار 1 برای LEN پذیرفته نمی‌شوند. پاسخ‌ها می‌توانند بسیار بزرگ باشند (مانند صفحه گزارش نتایج اسکن پس‌زمینه) و از این گزینه می‌توان برای محدود کردن حجم اطلاعات بازگردانده‌شده استفاده کرد.
مقدار پیش‌فرض LEN برابر با 65532 است مگر اینکه گزینه --in=FN داده شده باشد؛ در این حالت مقدار پیش‌فرض 262144 خواهد بود.
رمزگشایی برخی صفحه‌های گزارش به مدخل‌های «name=value»، یک مورد در هر خط. نام بدون فاصله است و ممکن است مخفف باشد، و مقدار در مبنای ۱۰ (ده‌دهی) است مگر اینکه پیشوند «0x» داشته باشد. تو در تو بودن با فاصله‌های ابتدایی نشان داده می‌شود. این فرمت طوری طراحی شده است که تجزیه آن نسبتاً آسان باشد.
این گزینه با گزینه --json[=JO] جایگزین شده است. اگر هر دو داده شوند، این گزینه نادیده گرفته می‌شود.
جلوگیری از خروجی اطلاعات به‌دست‌آمده از فراخوانی اولیه دستور INQUIRY برای پاسخ استاندارد. حالت پیش‌فرض (با فرض اینکه گزینه‌های دیگری که این خروجی را متوقف می‌کنند نیز داده نشده باشند)، نمایش چندین رشته شناسایی دستگاه در خروجی است.
اگر این گزینه دو بار (یا بیشتر) داده شود، هیچ دستور INQUIRY ارسال نمی‌شود، بنابراین هیچ رشته شناسایی دستگاهی نیز در خروجی چاپ نخواهد شد. همچنین فیلد نوع دستگاه جانبی (PDT) نیز به‌دست نخواهد آمد، بنابراین این ابزار قادر به تمایز قائل شدن بین برخی صفحه‌های گزارش وابسته به نوع دستگاه نخواهد بود. ابزار فرض می‌کند PDT برابر با 0 (یعنی یک دیسک) است مگر اینکه گزینه --pdt=DT مشخص شده باشد.
تغییر وضعیت به گزینه‌های سبک قدیمی‌تر. لطفاً به عنوان اولین گزینه استفاده شود.
نام یا شماره صفحه گزارش برای دسترسی. مقدار PG یا یک مخفف، یا یک شماره صفحه، یا یک جفت شماره صفحه و زیرصفحه است. مخفف‌های موجود را می‌توان با گزینه --enumerate فهرست کرد. شماره‌های صفحه (0 تا 63) و زیرصفحه (0 تا 255) با کاما از هم جدا می‌شوند. آن‌ها ده‌دهی هستند مگر اینکه نشانه‌ای از هگزادسیمال وجود داشته باشد. یک عدد هگزادسیمال را می‌توان با پیشوند «0x» یا پسوند «h» مشخص کرد.
چند مخفف بازه‌ای از مقادیر زیرصفحه را مشخص می‌کنند که در این صورت مخفف می‌تواند با یک کاما و سپس یک شماره زیرصفحه همراه شود. این روش همچنین می‌تواند برای واکشی صفحه گزارش زیرصفحه‌های پشتیبانی‌شده (مانند --page=temp,0xff) به کار رود.
مقدار PP مقدار اشاره‌گر پارامتر است که در فیلدی به همین نام در cdb دستور LOG SENSE قرار می‌گیرد. عددی در بازه 0 تا 65535 (0x0 تا 0xffff) مورد انتظار است. هنگامی که مقداری بزرگتر از 0 داده شود، گزینه --ppc باید انتخاب گردد. مقدار پیش‌فرض 0 است.
برای صفحه‌های گزارشی که دارای کدهای پارامتر هستند، DEVICE در پاسخ خود تنها باید کدهای پارامتری برابر با PP یا بالاتر را بازگرداند.
نمایش تنظیمات بایت کنترل پارامتر (Parameter Control Byte) (تنها زمانی مرتبط است که پارامترهای گزارش در قالب ASCII نمایش داده شوند). این بایت شامل بیت‌های DU و TSD به همراه فیلد «Format and linking» (به عرض ۲ بیت) است.
مقدار DT نوع دستگاه جانبی (PDT) است که در صورت در دسترس نبودن از جانب DEVICE استفاده می‌شود. چندین حالت وجود دارد: زمانی که DEVICE داده نشده است (مثلاً هنگامی که گزینه --inhex=FN یا --enumerate داده شده باشد) و زمانی که DEVICE مشخص شده ولی همراه با گزینه --no_inq باشد. این امر مانع از ارسال دستور SCSI INQUIRY توسط این ابزار می‌شود که معمولاً از طریق آن PDT مرتبط با صفحه‌های گزارش در حال رمزگشایی شناسایی می‌شود.
می‌توان از مقادیر عددی بین -1 و 31 (شامل هر دو) استفاده کرد که در آن -1 به معنای موارد موجود در SPC است. دستورهای اولیه SCSI (SPC) برای تمام دستگاه‌های SCSI مشترک هستند. نام‌هایی مانند «tape»، «disk» و «processor» نیز می‌توانند برای DT داده شوند. مقدار پیش‌فرض 0 یا «disk» برای SBC است (و مخفف استاندارد مربوطه نیز می‌تواند داده شود که در این حالت «sbc» است).
تنظیم بیت کنترل اشاره‌گر پارامتر (PPC) در cdb دستور LOG SENSE. پیش‌فرض 0 است (یعنی پاک/غیرفعال). این بیت در ویرایش ۱۸ استاندارد SPC-4 منسوخ شد.
ارسال پاسخ به صورت باینری به stdout. پیام‌های خطا و هشدارها به stderr فرستاده می‌شوند.
این گزینه همچنین می‌تواند همراه با --in=FN مشخص شود که در این صورت محتویات FN به عنوان داده‌های باینری تفسیر می‌شوند (و پاسخ مانند حالت عادی رمزگشایی می‌شود، نه اینکه به صورت باینری تخلیه گردد).
باز کردن DEVICE به صورت فقط‌خواندنی (به عنوان مثال در یونیکس با پرچم O_RDONLY). اقدام پیش‌فرض این است که ابتدا تلاش شود DEVICE به صورت خواندن-نوشتن باز شود و در صورت شکست، تلاش مجدد برای باز کردن به صورت فقط‌خواندنی انجام گیرد. با این حال هنگامی که باز کردن خواندن-نوشتن با موفقیت انجام می‌شود، ممکن است در زمان بستن اعمال ناخواسته‌ای صورت گیرد (مثلاً برخی سیستم‌عامل‌ها تلاش می‌کنند دستور SYNCHRONIZE CACHE را اجرا کنند). بنابراین این گزینه باز شدن به صورت فقط‌خواندنی را روی DEVICE تحمیل می‌کند و در صورت شکست، این ابزار با خطا خارج خواهد شد. توجه داشته باشید که گزینه‌هایی مانند --select به احتمال زیاد نیاز به باز کردن به صورت خواندن-نوشتن دارند.
استفاده از دستور SCSI LOG SELECT (با تنظیم بودن بیت PCR) برای بازنشانی تمام صفحه‌های گزارش (یا صفحه مشخص‌شده). اینکه دقیقاً چه چیزی بازنشانی می‌شود به بیت SP همراه آن (یعنی گزینه --sp که پیش‌فرض آن 0 است) و مقدار PC («کنترل صفحه») (که پیش‌فرض آن 1 است) بستگی دارد. مشخص کردن این گزینه متضمن گزینه --select نیز هست. به نظر می‌رسد این گزینه صفحه‌های گزارش شمارنده خطا را پاک می‌کند اما صفحاتی مانند نتایج خودآزمایی (self-test)، شمارنده چرخه‌های شروع-توقف (start-stop) و صفحه‌های گزارش دما را بدون تغییر باقی می‌گذارد. در صورتی که یک شمارنده به مقدار حداکثر خود برسد، ممکن است این گزینه برای پاک کردن صفحه‌های گزارش لازم باشد، زیرا صفحه گزارشی که شمارنده در آن قرار دارد تا زمان تعامل کاربر (مانند فراخوانی sg_logs با این گزینه) روی مقدار حداکثر خود «قفل» باقی خواهد ماند.
استفاده از دستور LOG SELECT. عملکرد پیش‌فرض (یعنی زمانی که نه این گزینه و نه --reset داده نشده باشند)، اجرای دستور LOG SENSE است. بخش «LOG SELECT» را ببینید.
تنظیم بیت ذخیره پارامترها (Saving Parameters یا SP). پیش‌فرض 0 است (یعنی پاک/غیرفعال). هنگامی که تنظیم شود، به دستگاه دستور می‌دهد پارامترهای جاری صفحه گزارش را (همان‌طور که توسط کدهای پارامتر DS و TSD نشان داده شده‌اند) در یک مکان غیرفرار ذخیره کند. در نتیجه پارامترهای گزارش در طول چرخه‌های خاموش و روشن شدن حفظ خواهند شد. این گزینه معمولاً مورد نیاز نیست، به ویژه اگر پرچم GLTSD در صفحه حالت کنترل پاک باشد که باعث می‌شود DEVICE به طور دوره‌ای تمام پارامترهای گزارش قابل ذخیره‌سازی را در حافظه غیرفرار ذخیره کند.
نمایش دما در خروجی. ابتدا در صفحه گزارش دما جستجو می‌کند و در صورت عدم دسترسی، صفحه گزارش Informational Exceptions را امتحان می‌کند که ممکن است دمای جاری را نیز داشته باشد (به ویژه در دیسک‌های قدیمی‌تر).
نمایش صفحه گزارش انتقال ('Protocol specific port') در خروجی. معادل تنظیم «--page=18h».
برای مشاهده فیلدهای رمزگشایی‌شده، نمی‌توان از گزینه --hex استفاده کرد. با این حال برخی فیلدها در اسناد T10 تعریف نشده‌اند و در این حالت به صورت هگزادسیمال نمایش داده می‌شوند. این گزینه قالب فیلدهای «تعریف‌نشده» (undefined) را هنگامی که به صورت هگز چاپ می‌شوند کنترل می‌کند. استفاده مکرر از این گزینه همانند گزینه --hex عمل می‌کند. برای مثال «-uu» فیلدهای تعریف‌نشده را به صورت هگزادسیمال همراه با نمایش اسکی در سمت راست هر خط نمایش می‌دهد.
که در آن VP مخفف سازنده/تولیدکننده (مانند «sea» برای Seagate) یا مخفف (گروه) محصول (مانند «lto5» برای نسل پنجم کنسرسیوم LTO (نوار)) است. یا کل صفحه گزارش ویژه سازنده است (مانند شماره صفحه‌های 0x30 تا 0x3f) یا بخشی از یک صفحه گزارش تعریف‌شده توسط T10 ویژه سازنده است. به عنوان مثال، استاندارد SPC-5 کد پارامتر 0x0 از صفحه 0x2f (صفحه گزارش Informational Exceptions) را تعریف کرده و اعلام می‌کند که سایر کدهای پارامتر (یعنی 0x1 تا 0xffff) ویژه سازنده هستند. استفاده از مقدار «xxx» برای VP مخفف‌های موجود را فهرست می‌کند.
اگر این گزینه با --page=PG استفاده شود و PG یک مخفف باشد، این گزینه نادیده گرفته می‌شود. اگر PG یک عدد باشد (مثلاً 0xc0)، آنگاه VP برای انتخاب اینکه کدام صفحه ویژه سازنده (مثلاً صفحاتی که شماره مشترک 0xc0 دارند) رمزگشایی شود، به کار می‌رود.
افزایش سطح پرگویی (اطلاعات خروجی). هنگامی که همراه با --enumerate استفاده شود، در فهرست نام‌های صفحه‌های گزارش شناخته‌شده، مواردی که منطق رمزگشایی مرتبطی ندارند با «[hex only]» دنبال می‌شوند.
چاپ رشته نسخه و سپس خروج.

دستور SCSI LOG SELECT می‌تواند برای بازنشانی برخی پارامترها به مقادیر پیش‌فرض ویژه سازنده، ذخیره آن‌ها در حافظه غیرفرار (یعنی رسانه ذخیره‌سازی)، یا ارائه محتویات صفحه جدید استفاده شود. این دستور بین استانداردهای SPC-3 و SPC-4 با اضافه شدن فیلدهای کد صفحه و کد زیرصفحه تغییر کرده است؛ این فیلدها تنها زمانی می‌توانند غیرصفر باشند که طول فهرست پارامتر (Parameter list length) صفر باشد.

گزینه --select (یا --reset) برای صدور دستور LOG SELECT الزامی است. اگر گزینه --in=FN داده نشود (یا FN عملاً خالی باشد)، فیلد Parameter list length روی صفر تنظیم می‌شود. اگر گزینه --in=FN داده شود، داده‌های رمزگشایی‌شده آن در بافر خروجی داده (data-out) قرار گرفته و طول آن بر حسب بایت در فیلد Parameter list length قرار می‌گیرد.

سایر گزینه‌هایی که همراه با دستور LOG SELECT فعال هستند عبارتند از: --control=PC، --reset (که بیت PCR را تنظیم می‌کند) و --sp.

این نام یک صفحه گزارش است که به عنوان ظرفی برای داده‌های ارائه‌شده توسط کاربر عمل می‌کند. کلاینت برنامه (Application client) یک اصطلاح در SCSI برای برنامه‌ای است که دستورها را به یک آغازگر SCSI (که اغلب به عنوان آداپتور گذرگاه میزبان یا HBA شناخته می‌شود) ارسال می‌کند. بنابراین، برای نمونه، این ابزار خود یک کلاینت برنامه SCSI است.

صفحه گزارش کلاینت برنامه دارای ۶۴ پارامتر گزارش با کدهای پارامتر 0 تا 63 است. هر کدام می‌توانند ۲۵۲ بایت از داده‌های باینری کاربر را در خود جای دهند. این ۲۵۲ بایت (یا کمتر) داده کاربر، همراه با یک پیشوند ۴ بایتی (در مجموع ۲۵۶ بایت) را می‌توان با گزینه --in=FN ارائه داد. یک پیشوند نمونه می‌تواند '0,n,83,fc' باشد. مقدار «n» کد پارامتر در مبنای ۱۶ (هگز) است، بنابراین آخرین پارامتر گزارش '0,3f,83,fc' خواهد بود. این پارامتر گزارش را می‌توان در زمانی دیگر با '--page=0xf --filter=0x<n>' بازخوانی کرد.

این بخش زمانی کاربرد دارد که از گزینه --inhex=FN استفاده شده و هیچ آرگومان DEVICE وجود نداشته باشد. این قابلیت را می‌توان به عنوان یک امکان بازپخش در نظر گرفت که در آن فایل FN توسط یک فراخوانی قبلی از این ابزار ایجاد شده است؛ به احتمال زیاد با گزینه «-HHHHH» و با استفاده از تغییر مسیر خروجی خط فرمان برای ایجاد FN.

اگر گزینه --all یک بار داده شود، تمام صفحه‌های (اما نه زیرصفحه‌های) یافت‌شده در FN رمزگشایی می‌شوند، یا اگر این ابزار قادر به رمزگشایی برخی از آن‌ها نباشد، به صورت هگزادسیمال نمایش داده خواهند شد. اگر گزینه --all دو بار یا بیشتر داده شود، تمام صفحه‌ها و زیرصفحه‌های یافت‌شده در FN رمزگشایی می‌شوند. در هر دو حالت، صفحه‌ها به همان ترتیبی که در FN یافت می‌شوند رمزگشایی می‌گردند.

سپس، اگر گزینه [--page=PG] داده شود، فایل FN برای یافتن تطابق با PG جستجو می‌شود و در صورت یافتن، آن صفحه (یا زیرصفحه) گزارش رمزگشایی می‌شود. اگر گزینه --list یک بار داده شود، صفحه گزارش صفحه‌های گزارش پشتیبانی‌شده [0x0,0x0] در صورت وجود رمزگشایی می‌شود. اگر گزینه --list دو بار یا بیشتر داده شود، صفحه گزارش صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده [0x0,0xff] در صورت وجود رمزگشایی می‌گردد.

اگر هیچ‌یک از گزینه‌های انتخاب بالا داده نشوند، این ابزار تلاش خواهد کرد اولین صفحه گزارش یافت‌شده در FN را رمزگشایی کند. اگر صفحه‌های گزارش بیشتری به دنبال صفحه اول در FN وجود داشته باشند، آن‌ها نادیده گرفته می‌شوند.

این ابزار معمولاً برای واکشی صفحه‌های گزارش با دستور SCSI LOG SENSE دو مرحله واکشی انجام می‌دهد. واکشی اول یک پاسخ ۴ بایتی را درخواست می‌کند (یعنی قرار دادن مقدار ۴ در فیلد «allocation length» در cdb). از آن پاسخ، ابزار می‌تواند طول واقعی پاسخ را محاسبه کند که همان مقداری است که در واکشی دوم درخواست می‌کند. این یک شیوه رایج در SCSI است و طبق استانداردها تضمین شده است که کار کند. با این حال برخی از دستگاه‌های قدیمی‌تر از این قاعده پیروی نمی‌کنند. برای این دستگاه‌ها، استفاده از گزینه --maxlen=LEN یک واکشی تک‌مرحله‌ای انجام خواهد داد. مقدار 252 باید یک نقطه شروع ایمن باشد.

صفحه‌های گزارش گوناگون اطلاعاتی درباره نرخ خطا، دمای دستگاه، چرخه‌های شروع و توقف از زمان تولید دستگاه و نتایج ۲۰ خودآزمایی اخیر را در خود نگه می‌دارند. خودآزمایی‌ها را می‌توان با ابزار sg_senddiag(8) آغاز کرد. بسته smartmontools بخش عمده‌ای از اطلاعات یافت‌شده توسط sg_logs را در قالبی مناسب برای نظارت بر سلامت دیسک‌ها و درایوهای نوار SCSI ارائه می‌دهد.

ساده‌ترین راه برای یافتن اینکه کدام صفحه‌های گزارش توسط این ابزار قابل رمزگشایی هستند، استفاده از گزینه --enumerate است. نام برخی از صفحه‌ها شناخته شده است اما هیچ منطق رمزگشایی برای آن‌ها وجود ندارد؛ در چنین مواردی، هنگامی که گزینه --verbose همراه با --enumerate داده شود، عبارت «[hex only]» پس از نام صفحه گزارش قرار می‌گیرد.

سازندگان طبق استاندارد SPC-6 صراحتاً مجاز هستند که تمام صفحه‌ها و زیرصفحه‌های پشتیبانی‌شده توسط یک دستگاه را گزارش _نکنند_. این امر سودمندی صفحاتی را که فهرستی از صفحه‌ها و زیرصفحه‌های پشتیبانی‌شده را گزارش می‌دهند تضعیف می‌کند. یک تضمینی که داده شده این است که صفحه‌های گزارش‌شده باید به ترتیب صعودی باشند.

وضعیت خروج sg_logs در صورت موفقیت 0 است. در غیر این صورت به صفحه راهنمای sg3_utils(8) مراجعه کنید.

گزینه‌های موجود در این بخش تنها گزینه‌های در دسترس پیش از نسخه 1.23 بسته sg3_utils بودند. از آن زمان این ابزار به طور پیش‌فرض از گزینه‌های جدیدتر خط فرمان استفاده می‌کند که می‌توان با استفاده از --old (یا -O) به عنوان اولین گزینه، این رفتار را تغییر داد. برای روشی دیگر جهت اجبار به استفاده از این گزینه‌های قدیمی خط فرمان، بخش «متغیرهای محیطی» را ببینید.

گزینه‌های دارای آرگومان یا گزینه‌هایی با دو یا چند حرف می‌توانند یک «-» اضافی در ابتدای خود داشته باشند. به عنوان مثال: هر دو گزینه «-pcb» و «--pcb» قابل قبول هستند.

نمایش تمام صفحه‌های گزارش پشتیبانی‌شده توسط DEVICE در خروجی. معادل --all در توضیحات اصلی.
نمایش تمام صفحه‌ها و زیرصفحه‌های گزارش پشتیبانی‌شده توسط DEVICE در خروجی. معادل --ALL در توضیحات اصلی.
معادل --control=PC در توضیحات اصلی.
معادل --pdt=DT در توضیحات اصلی.
شمارش جدول‌های داخلی برای نمایش اطلاعات درباره صفحه‌های گزارش شناخته‌شده. معادل --enumerate در توضیحات اصلی.
معادل --exclude در توضیحات اصلی.
از رمزگشایی صفحه‌های حس گزارش شناخته‌شده جلوگیری کرده و در عوض پاسخ را به صورت هگزادسیمال چاپ می‌کند.
مقدار FN به عنوان نام یک فایل (یا «-» برای ورودی استاندارد stdin) در نظر گرفته می‌شود که حاوی مقادیر هگزادسیمال اسکی نشان‌دهنده یک صفحه گزارش است که به عنوان داده پارامتر یک دستور LOG SELECT ارسال خواهد شد. بخش «LOG SELECT» را ببینید.
عملکردی مشابه «-h» در این بخش دارد و معادل --hex در توضیحات اصلی است.
فهرست کردن نام‌های تمام صفحه‌های حس گزارش پشتیبانی‌شده توسط این DEVICE. معادل --list در توضیحات اصلی.
فهرست کردن نام‌های تمام صفحه‌ها و زیرصفحه‌های حس گزارش پشتیبانی‌شده توسط این DEVICE. معادل «--list --list» در توضیحات اصلی.
درخواست تنها LEN بایت از داده‌های پاسخ. پیش‌فرض 0 است که به عنوان تمام داده‌های در دسترس تفسیر می‌شود. مقدار LEN ده‌دهی است مگر اینکه دارای پیشوند «0x» یا پسوند «h» باشد. معادل --maxlen=LEN در توضیحات اصلی.
معادل --vendor=VP در توضیحات اصلی.
معادل --name در توضیحات اصلی.
تغییر وضعیت به گزینه‌های سبک جدیدتر.
کد صفحه گزارش برای دسترسی. مقدار PG یا یک مخفف، یا یک شماره صفحه، یا یک جفت شماره صفحه و زیرصفحه است. مخفف‌های موجود را می‌توان با گزینه --enumerate فهرست کرد. شماره‌های صفحه (0 تا 3f) و زیرصفحه (0 تا ff) با کاما از هم جدا می‌شوند. فرض می‌شود که این اعداد هگزادسیمال هستند.
مقدار PP مقدار اشاره‌گر پارامتر (در مبنای ۱۶/هگز) است که در دستور قرار می‌گیرد. باید عددی بین 0 تا ffff شامل هر دو باشد.
نمایش تنظیمات بایت کنترل پارامتر (تنها زمانی مرتبط است که پارامترهای گزارش در قالب ASCII نمایش داده شوند).
تنظیم بیت کنترل اشاره‌گر پارامتر (PPC). پیش‌فرض 0 است (یعنی پاک/غیرفعال).
استفاده از دستور SCSI LOG SELECT (با بیت تنظیم‌شده PCR) برای بازنشانی تمام صفحه‌های گزارش (یا صفحه مشخص‌شده). معادل --reset در توضیحات اصلی.
معادل --readonly در توضیحات اصلی.
استفاده از دستور LOG SELECT. معادل --select در توضیحات اصلی.
تنظیم بیت ذخیره پارامترها (SP). پیش‌فرض 0 است (یعنی پاک/غیرفعال). معادل --sp در توضیحات اصلی.
نمایش دما در خروجی. معادل --temperature در توضیحات اصلی.
نمایش صفحه گزارش انتقال ('Protocol specific port') در خروجی. معادل --transport در توضیحات اصلی.
افزایش سطح پرگویی (اطلاعات خروجی).
چاپ رشته نسخه و سپس خروج.
جلوگیری از ارسال دستور INQUIRY. معادل --no_inq در توضیحات اصلی.
-?
نمایش پیام راهنمای استفاده و سپس خروج.

از نسخه 1.23 بسته sg3_utils می‌توان متغیر محیطی SG3_UTILS_OLD_OPTS را مشخص کرد. هنگامی که این متغیر وجود داشته باشد، این ابزار گزینه‌های قدیمی‌تر خط فرمان را انتظار خواهد داشت. بنابراین وجود این متغیر محیطی معادل استفاده از --old (یا -O) به عنوان اولین گزینه خط فرمان است.

نوشته‌شده توسط Douglas Gilbert

گزارش باگ‌ها را به <dgilbert at interlog dot com> ارسال کنید.

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

smartctl(smartmontools), sg_senddiag(8)

May 2023 sg3_utils-1.48