.\" @(#)readcd.1 1.50 17/06/06 Copyright 1996-2017 J. Schilling .\" .\" The contents of this file are subject to the terms of the .\" Common Development and Distribution License, Version 1.0 only .\" (the "License"). You may not use this file except in compliance .\" with the License. .\" .\" See the file CDDL.Schily.txt in this distribution for details. .\" A copy of the CDDL is also available via the Internet at .\" http://www.opensource.org/licenses/cddl1.txt .\" .\" When distributing Covered Code, include this CDDL HEADER in each .\" file and include the License file CDDL.Schily.txt from this distribution. .\" .if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a .if t .ds o \v'-0.55m'\h'0.00n'\z.\h'0.45n'\z.\v'0.55m'\h'-0.45n'o .if t .ds u \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'u .if t .ds A \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'A .if t .ds O \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'O .if t .ds U \v'-0.77m'\h'0.30n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.75n'U .if t .ds s \\(*b .if t .ds S SS .if n .ds a ae .if n .ds o oe .if n .ds u ue .if n .ds s sz .TH READCD 1 "Version 3.02 2017/06/06" "J\*org Schilling" "Schily\'s USER COMMANDS" .SH "نام (NAME)" readcd \- خواندن یا نوشتن دیسک‌های فشرده (CD) یا رسانه‌های مرتبط .SH "خلاصه دستور (SYNOPSIS)" .B readcd [ .BI dev= device ][ .I گزینه‌ها ] .SH "توضیحات (DESCRIPTION)" دستور .B Readcd برای خواندن یا نوشتن دیسک‌های فشرده به کار می‌رود. .PP .SS "نام‌گذاری دستگاه‌ها (Device naming)" اکثر کاربران اصلاً نیازی به نگرانی در مورد نام‌گذاری دستگاه‌ها ندارند. اگر گزینه .B dev= مشخص نشده باشد، .B readcd قابلیت انتخاب خودکار هدف (auto target) را پیاده‌سازی کرده و در صورتی که دقیقاً یک درایو از نوع CD-ROM در سیستم وجود داشته باشد، به طور خودکار آن را پیدا می‌کند. در صورتی که بیش از یک درایو CD-ROM در سیستم وجود داشته باشد، فهرستی از پارامترهای احتمالی نام دستگاه را می‌توان با دستور .B "readcd \-scanbus یا از نمونه خروجی .BR "readcd dev=help" به دست آورد؛ سپس پارامتر .B dev= می‌تواند بر اساس فهرست دستگاه‌ها تنظیم شود. .PP پارامتر .I device در گزینه .B dev= که در ادامه توضیح داده شده، به استاندارد نام‌گذاری .B SCSI\ CAM برای .IR scsibus / target / lun مربوط به CD/DVD/BluRay-Recorder اشاره دارد. اگر فایل /etc/default/cdrecord وجود داشته باشد، پارامتر گزینه .B dev= می‌تواند برچسب نام درایو در فایل مذکور نیز باشد (بخش FILES را ببینید). .SH "گزینه‌ها (OPTIONS)" .PP اگر هیچ گزینه‌ای به جز گزینه .I dev= مشخص نشده باشد، .B readcd وارد حالت تعاملی می‌شود. یک عملکرد اصلی را انتخاب کرده و سپس دستورالعمل‌ها را دنبال کنید. .PP .SS "گزینه‌های اطلاعاتی (Informative options)" .TP .B \-help نمایش اطلاعات نسخه برای .B readcd در خروجی استاندارد. .TP .B \-version چاپ اطلاعات نسخه و خروج. .TP .B \-v افزایش سطح پرگویی (verbosity) به میزان یک واحد. این گزینه به عنوان مثال برای نمایش پیشرفت فرآیند استفاده می‌شود. .SS "گزینه‌های عملکردی readcd (Readcd functional options)" .TP .B \-clone خواندن به شیوه کلون (clone read). خواندن CD به همراه تمام داده‌های زیرکانال (sub-channel) و جدول محتویات (TOC) کامل. داده‌های کامل TOC در فایلی با نامی مشابه نام مشخص‌شده در گزینه .B f= اما با پسوند .B .toc قرار خواهند گرفت. .sp توجه داشته باشید که خواندن در حالت .B clone منجر به عدم تصحیح خطا در سطح زیرکانال می‌شود. حتی در کانال اصلی داده نیز تصحیح خطای کمتری نسبت به سایر حالت‌های خواندن وجود دارد که منجر به کاهش جزئی کیفیت می‌شود. به همین دلیل از کپی کردن CDهای صوتی در حالت .B clone خودداری کنید. .TP .B \-c2scan پویش کل دیسک یا محدوده مشخص‌شده با .BI sectors= range برای خطاهای C2. خطاهای C2 خطاهایی هستند که پس از مرحله دوم سیستم تصحیح رید-سالامون ۲۴/۲۸ + ۲۸/۳۲ در سطح صوتی (اندازه بخش ۲۳۵۲ بایت) غیرقابل اصلاح هستند. اگر یک CD صوتی خطای C2 داشته باشد، برای پنهان کردن خطاها به درون‌یابی نیاز است. اگر یک CD داده خطای C2 داشته باشد، این خطاها در اغلب موارد توسط کد ECC/EDC که از ۲۰۴۸ بایت داده، ۲۳۵۲ بایت می‌سازد، تصحیح می‌شوند. کد ECC/EDC باید بتواند حدود ۱۰۰ بایت خطای C2 را در هر بخش تصحیح کند. .sp اگر خطاهای C2 پیدا کردید، ممکن است بخواهید سرعت را با استفاده از گزینه .B speed= کاهش دهید، زیرا خطاهای C2 ممکن است نتیجه عدم تعادل دینامیکی روی رسانه باشند. .TP .B \-cxscan پویش کل دیسک یا محدوده مشخص‌شده با .BI sectors= range برای خطاهای C1/C2/CU. در حالت غیرپرگو، تنها یک خلاصه چاپ می‌شود. با .BR \-v ، یک خط برای هر ثانیه غیر از ثانیه‌های بدون خطا چاپ می‌شود. با .BR \-vv ، یک خط به ازای هر ثانیه چاپ می‌شود. این روش پویش فقط روی برخی درایوها کار می‌کند. .TP .B \-edc\-corr در این حالت، .B readcd بخش‌های داده CD را در حالت صوتی تصحیح‌نشده می‌خواند و سپس تلاش می‌کند تا داده‌ها را با استفاده از کتابخانه رمزگشای ECC/EDC توسعه‌یافته توسط هایکو آیسفلت (Heiko Eissfeldt) تصحیح کند. از آنجا که این کتابخانه چرخش روی دو لایه تصحیح خطا را پیاده‌سازی می‌کند، .B readcd ممکن است بتواند داده‌های بیشتری را نسبت به سفت‌افزار (firmware) درایو CD-ROM تصحیح کند. .sp این گزینه در حال حاضر آزمایشی است و تنها برای رسانه‌های CD کاربرد دارد و در حال حاضر فقط از بخش‌های ساده ۲۰۴۸ بایتی CD-ROM پشتیبانی می‌کند. .TP .BI f= file مشخص کردن نام فایلی که خروجی باید در آن نوشته شود یا ورودی از آن خوانده شود. استفاده از '\-' به عنوان نام فایل باعث می‌شود .B readcd از .BR stdout " یا " stdin استفاده کند. .TP .B \-factor نمایش مقادیر سرعت برای .BR meshpoints= # به عنوان ضریبی بر مبنای .I "سرعت تک‌برابر (single speed)" رسانه فعلی. این فقط در صورتی کار می‌کند که .B readcd بتواند نوع رسانه فعلی را تشخیص دهد. .TP .B \-fulltoc دریافت یک TOC کامل از دیسک فعلی و چاپ آن در قالب هگزادسیمال. .TP .BR meshpoints= # چاپ سرعت خواندن در # موقعیت مختلف. هدف از این گزینه ایجاد فهرستی از مقادیر سرعت خواندن مناسب برای استفاده در برنامه‌هایی مانند .BR gnuplot است. مقادیر سرعت با این فرض محاسبه می‌شوند که هر ۱۰۰۰ بایت برابر با یک کیلوبایت است، همان‌طور که در استاندارد SCSI مستند شده است. داده‌های خروجی در .IR stdout نوشته می‌شوند. .TP .B \-nocorr تغییر وضعیت درایو به حالتی که خطاهای خواندن در بخش‌های داده را که ناشی از خطاهای غیرقابل تصحیح ECC/EDC هستند قبل از خواندن نادیده بگیرد. پس از اتمام کار .B readcd ، حالت بازیابی خطای درایو به حالت قبلی بازگردانده می‌شود. .TP .B \-noerror عدم توقف فرآیند در صورت یافتن خطای غیرقابل تصحیح در جریان داده توسط بررسی خطای سطح بالای .B readcd . .TP .B \-notrunc عدم کوتاه کردن (truncate) فایل خروجی هنگام باز کردن آن. .TP .B \-overhead اندازه‌گیری زمان سربار دستورات SCSI. این کار با اجرای چندین دستور به تعداد ۱۰۰۰ بار و چاپ زمان کل سپری‌شده انجام می‌شود. اگر زمان‌های نمایش داده‌شده را بر ۱۰۰۰ تقسیم کنید، میانگین زمان سربار برای یک دستور واحد را به دست خواهید آورد. .TP .B \-pi8scan پویش کل DVD یا محدوده مشخص‌شده با .BI sectors= range برای یافتن خطاهای .BR pisum8 . در حالت غیرپرگو، تنها یک خلاصه چاپ می‌شود. با .BR \-v ، یک خط برای هر بلوک دارای خطای ۸ * ۳۲ کیلوبایتی چاپ می‌شود. با .BR \-vv ، یک خط برای هر بلوک ۸ * ۳۲ کیلوبایتی چاپ می‌شود. این روش پویش فقط برای چند نوع درایو خاص کار می‌کند. .TP .B \-pifscan پویش کل DVD یا محدوده مشخص‌شده با .BI sectors= range برای یافتن خطاهای .BR pif . در حالت غیرپرگو، تنها یک خلاصه چاپ می‌شود. با .BR \-v ، یک خط برای هر بلوک دارای خطای ۳۲ کیلوبایتی چاپ می‌شود. با .BR \-vv ، یک خط برای هر بلوک ۳۲ کیلوبایتی چاپ می‌شود. این روش پویش فقط روی برخی درایوها کار می‌کند. .TP .B \-plot این گزینه رفتار گزینه‌های .BR \-cxscan ، .B \-pi8scan و .B \-pifscan را تغییر می‌دهد تا خروجی برای رسم در gnuplot مناسب‌تر باشد. .TP .BI retries= # تنظیم تعداد تلاش‌های مجدد سطح بالا در .B readcd برابر با .IR # . پیش‌فرض ۱۲۸ بار تلاش است که اگر بخواهید دیسکی با بخش‌های غیرقابل خواندن متعدد را بخوانید ممکن است بیش از حد زیاد باشد. .TP .BI sectors= range مشخص کردن محدوده بخش‌هایی که باید خوانده شوند. محدوده با شماره بخش آغازین، یک علامت خط تیره و شماره بخش پایانی مشخص می‌شود. بخش پایانی در محدوده گنجانده نمی‌شود؛ بنابراین .BR sectors= 0-0 هیچ چیزی را نمی‌خواند و می‌تواند برای بررسی وجود دیسک در درایو استفاده شود. .TP .BR speed= # تنظیم ضریب سرعت فرآیند خواندن یا نوشتن روی #. مقدار # یک عدد صحیح است که ضریبی از سرعت صوت را نشان می‌دهد. این سرعت حدود ۱۵۰ کیلوبایت بر ثانیه برای CD-ROM و حدود ۱۷۲ کیلوبایت بر ثانیه برای CD صوتی است. اگر گزینه .I speed مشخص نشود، .B readcd از حداکثر سرعت استفاده خواهد کرد. تنها درایوهای سازگار با MMC از این گزینه بهره‌مند می‌شوند. سرعت درایوهای غیر MMC تغییر نمی‌کند. .sp استفاده از سرعت پایین‌تر ممکن است خوانایی CD یا DVD را افزایش دهد. .TP .B \-w تغییر به حالت نوشتن. نوشتن فقط روی رسانه‌های DVD-RAM امکان‌پذیر است. برای سایر رسانه‌ها، از .B cdrecord استفاده کنید. توجه داشته باشید که .B cdrecord نیز از نوشتن روی رسانه‌های DVD-RAM پشتیبانی می‌کند. .sp اگر این گزینه وجود نداشته باشد، .B readcd از دستگاه مشخص‌شده می‌خواند. .SS "گزینه‌های SCSI (SCSI options)" .TP .BI dev= target تنظیم هدف SCSI برای CD/DVD/BluRay-Recorder؛ به یادداشت‌های بالا مراجعه کنید. یک مشخصات نمونه برای دستگاه هدف: .BI dev= 1,6,0 \&. اگر لازم باشد نام فایلی به همراه مشخصات عددی هدف ارائه شود، نام فایل به پیاده‌سازی سیستم وابسته است. نام فایل صحیح در این حالت را می‌توان در راهنماهای مربوط به سیستم‌عامل هدف یافت. در سیستم .I FreeBSD بدون پشتیبانی از .IR CAM ، باید از دستگاه کنترلی استفاده کنید (مانند .IR /dev/rcd0.ctl ). یک مشخصات صحیح دستگاه در این حالت ممکن است به این صورت باشد: .BI dev= /dev/rcd0.ctl:@ \&. .sp .B آدرس‌دهی عمومی SCSI: .br دستگاه هدف در گزینه .B dev= به نشانه‌گذاری استاندارد .B SCSI\ CAM برای .IR scsibus / target / lun مربوط به CD/DVD/BluRay-Recorder اشاره دارد. ارتباط در .I SunOS با درایور عمومی SCSI به نام .B scg انجام می‌شود. سایر سیستم‌های عامل از شبیه‌سازی کتابخانه‌ای این درایور استفاده می‌کنند. نحو ممکن عبارت است از: .B dev= .IR scsibus , target , lun یا .B dev= .IR target , lun . در حالت دوم، دستگاه باید به گذرگاه پیش‌فرض SCSI ماشین متصل باشد. .IR Scsibus ، .I target و .I lun اعداد صحیح هستند. برخی از سیستم‌های عامل یا پیاده‌سازی‌های انتقال SCSI ممکن است علاوه بر این به مشخص کردن نام فایل نیاز داشته باشند. در این حالت نحو صحیح دستگاه به این صورت است: .B dev= .IR devicename : scsibus , target , lun یا .B dev= .IR devicename : target , lun . اگر نام گره دستگاه که در چنین سیستمی مشخص شده است دقیقاً به یک دستگاه SCSI اشاره داشته باشد، می‌توان از شکل خلاصه‌شده: .B dev= .IR devicename : @ یا .B dev= .IR devicename : @ , lun به جای .B dev= .IR devicename : scsibus , target , lun استفاده کرد. .sp .B آدرس‌دهی SCSI راه دور: .br برای دسترسی به دستگاه‌های راه دور SCSI، باید نام دستگاه SCSI را با یک شناسه دستگاه راه دور آغاز کنید. این شناسه یا به صورت .BI REMOTE: user@host: یا .BI REMOTE: host: است. یک نام معتبر دستگاه راه دور SCSI می‌تواند: .BI REMOTE: user@host: برای پویش گذرگاه راه دور SCSI باشد یا .BI REMOTE: user@host:1,0,0 برای دسترسی به دستگاه SCSI در .I host متصل به گذرگاه شماره ۱، هدف ۰، lun ۰. به منظور امکان‌پذیری دسترسی راه دور به یک .IR host خاص، برنامه .BR rscsi (1) باید روی آن .IR host موجود و پیکربندی شده باشد. .sp .B لایه‌های انتقال جایگزین SCSI: .br دستور .B Cdrecord کاملاً بر اساس دستورات .B SCSI پایه‌ریزی شده است، اما این مشکلی ایجاد نمی‌کند زیرا تمام نویسنده‌های CD/DVD/BluRay از دستورات .B SCSI برای ارتباط استفاده می‌کنند. حتی درایوهای .B ATAPI صرفاً درایوهای .B SCSI هستند که از .I "رابط بسته ATA" به عنوان لایه انتقال دستورات .B SCSI ساخته‌شده درون انتقال IDE (ATA) استفاده می‌کنند. اگر سیستم‌عامل شما زیرسیستم درایور هسته کاملاً یکپارچه‌ای را پیاده‌سازی نکرده باشد که امکان دسترسی به هر درایوی را با دستورات .B SCSI از طریق یک رابط کاربری واحد فراهم کند، ممکن است نیاز به تعیین یک لایه انتقال جایگزین در خط فرمان داشته باشید. .sp برای دسترسی به دستگاه‌های SCSI از طریق لایه‌های انتقال جایگزین، باید نام دستگاه SCSI را با یک نشانگر لایه انتقال آغاز کنید. این نشانگر می‌تواند چیزی شبیه به .B USCSI: یا .B ATAPI: باشد. برای دریافت فهرستی از لایه‌های انتقال پشتیبانی‌شده در پلتفرم خود، از .B dev= .IR HELP : استفاده کنید. .sp .B زمینه سازگاری و قابلیت حمل: .br برای اینکه .B readcd روی تمام پلتفرم‌های یونیکس قابل حمل باشد، نحو .B dev= .IR devicename : scsibus , target , lun ترجیح داده می‌شود زیرا دانش مربوط به سیستم‌عامل در مورد نام دستگاه‌ها را از کاربر پنهان می‌کند. یک سیستم‌عامل خاص ممکن است الزاماً روشی برای مشخص کردن نام فایل واقعی دستگاه یا روشی برای تعیین .IR scsibus , target , lun ارائه ندهد. .sp گذرگاه .I Scsibus شماره ۰ گذرگاه پیش‌فرض SCSI روی ماشین است. پیام‌های راه‌اندازی سیستم را بررسی کنید یا به فایل .B /var/adm/messages برای اطلاعات بیشتر درباره پیکربندی SCSI ماشین خود مراجعه نمایید. اگر در یافتن مقادیر صحیح برای .IR scsibus , target , lun مشکل دارید، گزینه .B \-scanbus برنامه .B readcd را امتحان کنید. .sp .B استفاده از نام‌های منطقی برای دستگاه‌ها: .br اگر گزینه .I dev مشخص نشده باشد، .B readcd تلاش می‌کند دستگاه را از متغیر محیطی .B CDR_DEVICE دریافت کند. .sp اگر فایل /etc/default/cdrecord وجود داشته باشد و آرگومان گزینه .B dev= یا مقدار .B CDR_DEVICE حاوی کاراکترهای ','، '/'، '@' یا ':' نباشد، به عنوان برچسب نام دستگاه تعریف‌شده در فایل /etc/default/cdrecord تفسیر می‌شود (بخش FILES را ببینید). .sp .B حالت هدف‌گیری خودکار (Autotarget Mode): .br اگر گزینه .B dev= و متغیر محیطی .B CDR_DEVICE وجود نداشته باشند، یا اگر فقط شامل یک مشخص‌کننده انتقال بدون آدرس‌دهی باشند، .B readcd تلاش می‌کند فضای آدرس SCSI را برای درایوهای CD-ROM پویش کند. اگر دقیقاً یکی پیدا شود، به طور پیش‌فرض همان استفاده می‌شود. .TP .BI debug= "#, " \-d تنظیم مقدار اشکال‌زدایی متفرقه روی # (با debug=#) یا افزایش سطح دیباگ به میزان یک واحد (با \-d). اگر .I \-dd را مشخص کنید، معادل با .BI debug= 2 خواهد بود. این گزینه می‌تواند به پیدا کردن مشکلات هنگام باز کردن یک درایور برای libscg و همچنین اندازه‌ها و انواع بخش‌ها کمک کند. استفاده از .B \-debug فرآیند را کند می‌کند و ممکن است سبب خالی شدن بافر (buffer underrun) شود. .TP .BR kdebug= "#, " kd= # دستور به درایور .BR scg برای تغییر مقدار دیباگ هسته در حین اجرای دستورات SCSI. .TP .B \-scanbus پویش تمام دستگاه‌های SCSI روی تمامی گذرگاه‌های SCSI و چاپ رشته‌های استعلام (inquiry). از این گزینه می‌توان برای پیدا کردن آدرس SCSI دستگاه‌های روی سیستم استفاده کرد. اعداد چاپ‌شده به عنوان برچسب به این صورت محاسبه می‌شوند: .B "bus * 100 + target .TP .BI scgopts= list فهرستی از گزینه‌های SCSI جداشده با کاما که توسط libscg مدیریت می‌شوند. گزینه‌های پیاده‌سازی‌شده را می‌توان مستقل از برنامه‌ها به‌روزرسانی کرد. در حال حاضر گزینه .B ignore\-resid برای رفع یک باگ در هسته لینوکس پشتیبانی می‌شود. .TP .BR \-silent ", " \-s عدم چاپ گزارش وضعیت برای دستورات ناموفق SCSI. .TP .BI timeout= # تنظیم مقدار مهلت زمانی (timeout) پیش‌فرض دستور SCSI روی .IR # ثانیه. مهلت زمانی پیش‌فرض حداقل زمان مورد استفاده برای ارسال دستورات SCSI است. اگر یک دستور SCSI به دلیل اتمام مهلت زمانی با شکست مواجه شد، می‌توانید مهلت زمانی پیش‌فرض را به بالاتر از مقدار دستور ناموفق افزایش دهید. اگر دستور با مهلت زمانی افزایش‌یافته به درستی اجرا شد، لطفاً مقدار مهلت بهتر و دستور مربوطه را به نویسنده برنامه گزارش دهید. اگر گزینه .I timeout وجود نداشته باشد، مهلت زمانی پیش‌فرض ۴۰ ثانیه استفاده می‌شود. .TP .BR ts= # تنظیم حداکثر اندازه انتقال برای یک دستور SCSI واحد روی #. نحو گزینه .B ts= مشابه cdrecord fs=# یا sdd bs=# است. .sp اگر گزینه .B ts= مشخص نشده باشد، .B readcd به طور پیش‌فرض از اندازه انتقال ۲۵۶ کیلوبایت استفاده می‌کند. اگر libscg مقادیر کمتری از سیستم‌عامل دریافت کند، مقدار به حداکثر مقدار ممکن در سیستم‌عامل فعلی کاهش می‌یابد. گاهی کاهش یا افزایش بیشتر اندازه انتقال ممکن است کمک‌کننده باشد، اما توجه داشته باشید که پیدا کردن مقدار بهتر با آزمون و خطا روی گزینه .B ts= ممکن است زمان زیادی ببرد. .TP .B \-V افزایش سطح پرگویی در رابطه با انتقال دستورات SCSI به میزان یک واحد. این گزینه به اشکال‌زدایی مشکلاتی که در حین فرآیند در CD-Recorder رخ می‌دهد کمک می‌کند. اگر پیام‌های خطای غیرقابل درکی دریافت کردید، باید از این فلگ برای دریافت خروجی با جزئیات بیشتر استفاده کنید. گزینه .B \-VV علاوه بر این، محتوای بافر داده را نیز نشان می‌دهد. استفاده از .B \-V یا .B \-VV فرآیند را کند می‌کند. .SH "مثال‌ها (EXAMPLES)" .PP در تمام مثال‌های زیر فرض بر این است که درایو به گذرگاه اصلی SCSI ماشین متصل است و شناسه هدف SCSI برابر با ۲ تنظیم شده است. .PP برای خواندن کل رسانه از یک CD-ROM و نوشتن داده‌ها در فایل .IR cdimage.raw : .PP readcd dev=2,0 f=cdimage.raw .PP برای خواندن بخش‌های محدوده ۱۵۰ تا ۱۰۰۰۰ از یک CD-ROM و نوشتن داده‌ها در فایل .IR cdimage.raw : .PP readcd dev=2,0 sectors=150-10000 f=cdimage.raw .PP برای نوشتن داده‌ها از فایل .I cdimage.raw (به عنوان مثال ایمیج یک سیستم فایل از .BR mkisofs ) روی DVD-RAM، دستور زیر را اجرا کنید: .PP readcd dev=2,0 \-w f=cdimage.raw .SH "متغیرهای محیطی (ENVIRONMENT)" .TP .B RSH اگر متغیر محیطی .B RSH وجود داشته باشد، اتصال راه دور نه از طریق .BR rcmd (3) بلکه با فراخوانی برنامه‌ای که توسط .B RSH مشخص شده برقرار می‌شود؛ به عنوان مثال با .BR RSH= /usr/bin/ssh یک اتصال پوسته امن ایجاد می‌شود. .sp توجه داشته باشید که این کار .B cdrecord را مجبور می‌کند یک لوله (pipe) به برنامه .BR rsh (1) ایجاد کند و مانع دسترسی مستقیم .B cdrecord به سوکت شبکه به سمت کارساز راه دور می‌شود. این امر تنظیم پارامترهای کارایی را غیرممکن ساخته و در مقایسه با یک اتصال .BR rcmd (3) که توسط .B root آغاز شده باشد، سرعت اتصال را کاهش می‌دهد. .TP .B RSCSI اگر متغیر محیطی .B RSCSI تنظیم شده باشد، کارساز SCSI راه دور برنامه .B /opt/schily/sbin/rscsi نخواهد بود، بلکه برنامه‌ای خواهد بود که توسط .B RSCSI مشخص شده است. توجه داشته باشید که اگر با حسابی وارد شوید که با یک برنامه کارساز راه دور SCSI به عنوان پوسته ورود ایجاد شده باشد، نام برنامه کارساز SCSI راه دور نادیده گرفته می‌شود. .SH "وضعیت خروج (EXIT STATUS)" کدهای خروج زیر استفاده می‌شوند: .TP .B 0 هیچ خطایی رخ نداد. .TP .B \-1 یک خطای مشخص رخ داد. این ممکن است یک خطای استفاده ناشی از خط فرمان غیرمجاز یا خطای دیگری با پیام خطای خاص از طرف .B readcd باشد. .TP .B \-2 یک خطای نامشخص در حین ارتباط با درایو رخ داد. برای اطلاعات بیشتر به پیام خطای SCSI مراجعه کنید. بخش .B عیب‌یابی (DIAGNOSTICS) در زیر حاوی توضیحی درباره نحوه خواندن پیام‌های خطای SCSI است. .LP توجه داشته باشید که سیستم‌های عامل قدیمی‌تر و پوسته‌های قدیمی ممکن است از تمام محدوده ۳۲ بیتی کد خروج پشتیبانی نکنند و مقدار را با 0xFF ماسک کنند. این امر منجر به کدهای خروج کوتاه‌شده در محدوده .BR 0 .. 255 می‌شود که در آن .B \-1 به .B 255 نگاشت می‌گردد. .SH "فایل‌ها (FILES)" .SH "همچنین ببینید (SEE ALSO)" .BR cdrecord (1), .BR mkisofs (8), .BR scg (7), .BR fbk (7), .BR rcmd (3), .BR ssh (1). .SH "نکات (NOTES)" .PP اگر نمی‌خواهید به کاربران اجازه دهید روی سیستم شما دسترسی ریشه (root) پیدا کنند، .B readcd را می‌توان با خیال راحت به صورت suid root نصب کرد. این کار به همه کاربران یا گروهی از کاربران فاقد امتیازات root اجازه می‌دهد از .B readcd استفاده کنند. در این حالت، .B Readcd فقط دسترسی به درایوهای نوع CD-ROM را مجاز می‌داند. برای دادن دسترسی به همه کاربران جهت استفاده از .B readcd ، دستورات زیر را وارد کنید: .PP chown root /usr/local/bin/readcd .br chmod 4711 /usr/local/bin/readcd .PP برای دادن دسترسی به یک گروه محدود از کاربران به .B readcd دستورات زیر را وارد کنید: .PP chown root /usr/local/bin/readcd .br chgrp cdburners /usr/local/bin/readcd .br chmod 4710 /usr/local/bin/readcd .PP و یک گروه .I cdburners روی سیستم خود بسازید. .PP هرگز دسترسی نوشتن به دستگاه‌های .I /dev/scg? را به کاربران غیر ریشه ندهید، مگر اینکه بخواهید به هر کسی اجازه خواندن/نوشتن/قالب‌بندی تمام دیسک‌های خود را بدهید. .PP نباید درایوهای قدیمی را که از قطع/وصل مجدد (disconnect/reconnect) پشتیبانی نمی‌کنند، به گذرگاه SCSI که به CD-Recorder یا دیسک مبدا متصل است متصل کنید. .PP هنگام استفاده از .B readcd با .B "درایور عمومی SCSI لینوکس" باید توجه داشته باشید که .B readcd از لایه‌ای استفاده می‌کند که سعی دارد عملکرد درایور scg را روی درایوهای سیستم‌عامل محلی شبیه‌سازی کند. متأسفانه درایور sg در .B لینوکس دارای کاستی‌های متعددی است: .TP \(bu نمی‌تواند تشخیص دهد آیا یک دستور SCSI اصلاً ارسال نشده است یا خیر. .TP \(bu نمی‌تواند بایت وضعیت SCSI را دریافت کند؛ به همین دلیل .B Readcd در برخی شرایط نمی‌تواند ناموفق بودن دستورات SCSI را گزارش کند. .TP \(bu نمی‌تواند تعداد واقعی انتقال DMA را دریافت کند؛ .B Readcd نمی‌تواند به شما بگوید که آیا باقی‌مانده شمارش DMA وجود دارد یا خیر. .TP \(bu نمی‌تواند تعداد بایت‌های معتبر در داده‌های auto sense را به دست آورد؛ .B Readcd نمی‌تواند بگوید که آیا دستگاه اصلاً داده سنس ارسال نمی‌کند یا خیر. .TP \(bu داده‌های بسیار کمی را در auto request sense واکشی می‌کند (استاندارد CCS/SCSI-2/SCSI-3 به بیش از ۱۸ بایت نیاز دارد). .SH "عیب‌یابی (DIAGNOSTICS)" .PP یک پیام خطای معمول برای یک دستور SCSI شبیه به این است: .sp .RS .nf readcd: I/O error. test unit ready: scsi sendcmd: no error CDB: 00 20 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00 Sense Key: 0x5 Illegal Request, Segment 0 Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0 Sense flags: Blk 0 (not valid) cmd finished after 0.002s timeout 40s .fi .sp .RE خط اول اطلاعاتی در مورد انتقال دستور ارائه می‌دهد. متن بعد از اولین دو نقطه، متن خطا را برای فراخوانی سیستمی از دید هسته بیان می‌کند که معمولاً .B "I/O error است، مگر اینکه مشکلات دیگری رخ دهد. کلمات بعدی شامل شرح مختصری از دستور SCSI ناموفق است. بقیه خط به شما می‌گوید که آیا مشکلی در انتقال دستور از طریق گذرگاه SCSI وجود داشته است یا خیر. عبارت .B "fatal error به این معنی است که انتقال دستور امکان‌پذیر نبوده است (یعنی هیچ دستگاهی در نشانی درخواستی SCSI وجود ندارد). .PP خط دوم بلوک توصیف‌کننده دستور SCSI (CDB) را برای دستور ناموفق چاپ می‌کند. .PP خط سوم اطلاعات مربوط به کد وضعیت SCSI بازگردانده‌شده توسط دستور را در صورت موفقیت‌آمیز بودن انتقال دستور ارائه می‌دهد. این اطلاعات خطا از سوی خود دستگاه SCSI است. .PP خط چهارم یک دامپ هگزادسیمال از اطلاعات حسگر درخواست خودکار (auto request sense) برای دستور است. .PP خط پنجم متن خطا برای sense key در صورت موجود بودن است و پس از آن شماره بخشی می‌آید که فقط در صورتی معتبر است که دستور، یک دستور .I copy بوده باشد. اگر پیام خطا مستقیماً به دستور فعلی مربوط نباشد، عبارت .I deferred error به آن افزوده می‌شود. .PP خط ششم متن خطا برای sense code و sense qualifier در صورت موجود بودن است. اگر نوع دستگاه مشخص باشد، داده‌های sense از روی جدول‌های موجود در .I scsierrs.c رمزگشایی می‌شوند. پس از متن، مقدار خطا برای واحد قابل تعویض در محل (FRU) می‌آید. .PP خط هفتم شماره بلوکی را که مربوط به دستور ناموفق است و متنی برای چندین فلگ خطا چاپ می‌کند. شماره بلوک ممکن است معتبر نباشد. .PP خط هشتم مهلت زمانی تعیین‌شده برای این دستور و زمانی را که دستور برای تکمیل نیاز داشته است گزارش می‌دهد. .SH "گزارش اشکال (BUGS)" .SH "قدردانی (CREDITS)" .SH "فهرست‌های پستی (MAILING LISTS)" اگر می‌خواهید فعالانه در توسعه cdrecord مشارکت داشته باشید، می‌توانید از طریق این نشانی به فهرست پستی توسعه‌دهندگان بپیوندید: .sp .B https://lists.sourceforge.net/lists/listinfo/cdrtools-developers .SH "نویسنده (AUTHOR)" .nf J\*org Schilling Seestr. 110 D-13353 Berlin Germany .fi .PP اطلاعات بیشتر را می‌توانید در نشانی زیر بیابید: .br http://cdrecord.org/private/cdrecord.html .PP اگر سوالات پشتیبانی دارید، آن‌ها را به نشانی زیر ارسال کنید: .PP .B cdrtools-support@lists.sourceforge.net .PP اگر قطعاً اشکالی پیدا کرده‌اید، به نشانی‌های زیر ایمیل بفرستید: .PP .B cdrtools-developers@lists.sourceforge.net .br یا .B joerg.schilling@fokus.fraunhofer.de .PP برای عضویت از نشانی‌های زیر استفاده کنید: .PP .B https://lists.sourceforge.net/lists/listinfo/cdrtools-developers .br یا .B https://lists.sourceforge.net/lists/listinfo/cdrtools-support .br .ne 7 .SH "پایداری رابط‌ها (INTERFACE STABILITY)" رابط‌های ارائه‌شده توسط .B readcd برای پایداری درازمدت طراحی شده‌اند. از آنجا که .B readcd به رابط‌های ارائه‌شده توسط سیستم‌عامل زیربنایی وابسته است، پایداری رابط‌های ارائه‌شده توسط .B readcd به پایداری رابط‌های سیستم‌عامل بستگی دارد. تغییر رابط‌ها در سیستم‌عامل ممکن است تغییر رابط‌ها را در .B readcd تحمیل کند.