| CDRECORD(1) | Schily´s USER COMMANDS | CDRECORD(1) |
نام (NAME)
cdrecord - ضبط و رایت دادهها، فایلهای صوتی و ویدیو روی لوحهای نوری CD/DVD/BD
خلاصه دستور (SYNOPSIS)
cdrecord [ گزینههای عمومی ][ dev=device ][ گزینههای قطعه ] track1...trackn
توضیحات (DESCRIPTION)
دستور cdrecord برای ضبط لوحهای فشرده (Compact Disc) دادهای یا صوتی روی یک دستگاه CD-recorder منطبق با کتاب نارنجی (Orange Book)، رایت رسانههای DVD روی یک DVD-recorder یا رایت رسانههای BluRay روی یک BluRay-recorder به کار میرود.
نامگذاری دستگاه (Device naming)
اکثر کاربران اصلاً نیازی به نگرانی درباره نامگذاری دستگاه ندارند. اگر گزینه dev= مشخص نشده باشد، cdrecord از قابلیت auto target (شناسایی خودکار مقصد) پشتیبانی کرده و در صورتی که دقیقاً یک درایو از نوع CD-ROM در سیستم موجود باشد، به صورت خودکار و هوشمند درایو را پیدا میکند. در صورتی که بیش از یک درایو از نوع CD-ROM در سیستم وجود داشته باشد، فهرستی از پارامترهای نام دستگاه احتمالی را میتوان با دستور cdrecord -scanbus یا از نمونه مقصدهای خروجی cdrecord dev=help به دست آورد؛ سپس پارامتر dev= را میتوان بر اساس فهرست دستگاهها تنظیم کرد.
پارامتر device در گزینه dev= که در ادامه توضیح داده شده است، به نشانهگذاری استاندارد SCSI CAM برای scsibus/target/lun دستگاه CD/DVD/BluRay-recorder اشاره دارد. اگر فایل /etc/default/cdrecord وجود داشته باشد، پارامتر گزینه dev= میتواند برچسب نام درایو در فایل مذکور نیز باشد (بخش «فایلها (FILES)» را ببینید).
محدودیتهای اجرای cdrecord (Constraints for running cdrecord)
در سیستمهای سازگار با SVr4، برنامه cdrecord از کلاس بیدرنگ (real-time) برای دستیابی به بالاترین اولویت زمانبندی ممکن (بالاتر از تمام پردازشهای هسته) استفاده میکند. در سیستمهای دارای زمانبندی بیدرنگ POSIX برنامه cdrecord نیز از زمانبندی بیدرنگ استفاده میکند، اما ممکن است نتواند اولویتی بالاتر از تمامی پردازشهای هسته به دست آورد.
برای اینکه cdrecord بتواند از زیرسیستم انتقال SCSI سیستمعامل استفاده کند، با بالاترین اولویت اجرا شود و خود را در حافظه اصلی قفل کند، باید یا به عنوان کاربر root اجرا شود، با پرچم suid root نصب گردد، یا از طریق یک سازوکار تفکیک دقیق دسترسیها (fine grained privileges) فراخوانی شود؛ مانند سازوکار privileges(5) در Solaris از طریق exec_attr(4) یا سازوکار capabilities(7) در لینوکس از طریق setcap(8) تا امکان استفاده از cdrecord برای یک کاربر عادی فراهم شود.
نگاشت فایل به قطعه (File to track mapping)
در حالت Track At Once، هر قطعه متناظر با یک فایل منفرد است که دادههای آمادهشده برای آن قطعه را در بر دارد. اگر آرگومان `-' باشد، ورودی استاندارد برای آن قطعه استفاده میشود. تنها یک قطعه را میتوان از stdin دریافت کرد. در سایر حالتهای نوشتن، ممکن است رابطه مستقیم فایل به قطعه پیادهسازی نشده باشد. در حالت -clone، یک فایل منفرد شامل تمام دادههای کل دیسک است. برای فراهم کردن امکان رایت DVD روی پلتفرمهایی که پشتیبانی از فایلهای حجیم (large file support) را پیادهسازی نکردهاند، cdrecord هنگام نوشتن روی رسانه DVD، تمام آرگومانهای فایل را به یک قطعه واحد متصل میکند.
گزینههای عمومی (GENERAL OPTIONS)
گزینههای عمومی باید قبل از هر نام فایل قطعه یا گزینه قطعه قرار گیرند.
گزینههای اطلاعاتی (Informative options)
گزینههای حالت نوشتن روی رسانه (Media write mode options)
- -dummy
- گزینه -dummy
راهبرد
فعلی نوشتن
را تغییر
میدهد.
دستگاه ضبط
CD/DVD/BluRay تمام
مراحل
فرآیند ضبط
را طی
میکند،
اما لیزر در
طول این
فرآیند
خاموش است.
توصیه
میشود در
صورتی که
زمانبندی
و پاسخ
سیستم به
بار کاری
هنوز مشخص
نیست، پیش
از نوشتن
واقعی روی
یک Compact Disk یا Digital Versatile
Disk، چندین
آزمایش
انجام دهید.
گزینه -dummy با همه رسانهها و حالتهای نوشتن کار نمیکند. رسانههای +DVD و رسانههای BluRay از رایت dummy پشتیبانی نمیکنند و اکثر ضبطکنندههای CD نیز از رایت dummy در حالت خام (raw mode) پشتیبانی به عمل نمیآورند.
- -multi
- امکان
ایجاد CDهای
چندنشستی
(multi-session) یا DVDهای
چندمرزی (multi-border)
را فراهم
میکند. این
پرچم باید
در تمامی
نشستهای
یک دیسک
چندنشستی
یا چندمرزی
وجود داشته
باشد، مگر
اینکه
بخواهید
نشستی را
روی یک CD
ایجاد کنید
که آخرین
نشست در آن
رسانه CD
خواهد بود.
برای رسانههای CD، تثبیت نهایی (fixation) به گونهای انجام میشود که به دستگاه ضبط CD/DVD/BluRay اجازه میدهد بعداً نشستهای دیگری را ضمیمه کند. این کار با ایجاد یک فهرست محتوا (TOC) به همراه پیوندی به ناحیه برنامه بعدی انجام میپذیرد. رسانه تولیدشده با این روش بهطور ۱۰۰٪ با CDهای تجاری کارخانهای سازگار نیست (به جز CDplus). فقط برای ضبط CDهای چندنشستی استفاده شود. اگر این گزینه مشخص شود، نوع قطعه پیشفرض CD-ROM XA mode 2 form 1 و اندازه بخش (sector) برابر ۲۰۴۸ بایت خواهد بود. زیرسرایندهای بخش XA توسط درایو ایجاد میشوند. درایوهای Sony پشتیبانی سختافزاری از CD-ROM XA mode 2 form 1 ندارند. شما باید گزینه -data را مشخص کنید تا بتوانید دیسکهای چندنشستی روی این درایوها ایجاد کنید. اگر مایلید یک دیسک چندنشستی را در حالت SAO ضبط کنید، باید با درج گزینه -data بخشهای CD-ROM را تحمیل کنید. همه درایوها اجازه ضبط CDهای چندنشستی در حالت SAO را نمیدهند.
برای رسانههای DVD، گزینه -multi حالت نوشتن را به ضبط بستهای افزایشی (incremental packet recording) تغییر میدهد. در حال حاضر راهی برای جلوگیری از قابلیت ضمیمه کردن نشستهای بعدی وجود ندارد و در حال حاضر فقط از رسانههای DVD-R/DVD-RW پشتیبانی میشود. برای استفاده مجدد از یک DVD-RW که قبلاً در حالت ضبط بستهای افزایشی نوشته شده است برای حالتهای نوشتن دیگر، باید پیش از آن کل رسانه را پاک (blank) کنید.
- -dao
- -sao
- تنظیم حالت
SAO (Session At Once) که
معمولاً
حالت Disk At Once
نامیده
میشود. این
حالت در حال
حاضر فقط با
درایوهای MMC
کار میکند
که از حالت
Session At Once
پشتیبانی
میکنند.
توجه داشته
باشید که cdrecord
برای این
حالت باید
از قبل
اندازه هر
قطعه را
بداند (برای
اطلاعات
بیشتر به
گزینه mkisofs -print-size
و بخش
مثالها (EXAMPLES)
مراجعه
کنید).
چندین دستگاه رایت CD با سفتافزار معیوب وجود دارند که هنگام نوشتن در حالت TAO یا SAO منجر به خرابی دیسک میشوند. اگر مشکلی در ساختار چیدمان دیسک یا محتوای زیرکانال (مانند زمان اشتباه در نمایشگر هنگام پخش CD) مشاهده کردید و درایو شما از نوشتن در حالت -raw96r یا -raw16 پشتیبانی میکند، بهتر است آن را امتحان کنید.
- -tao
- تنظیم حالت
نوشتن TAO (Track At Once).
این حالت،
حالت
پیشفرض
نوشتن در
نسخههای
قبلی cdrecord است.
در بیشتر
درایوها،
این حالت
نوشتن برای
ضبط
چندنشستی
الزامی است.
چندین دستگاه رایت CD با سفتافزار معیوب وجود دارند که هنگام نوشتن در حالت TAO یا SAO منجر به خرابی دیسک میشوند. اگر مشکلی در چیدمان دیسک یا محتوای زیرکانال مشاهده کردید (مانند نمایش زمانهای نادرست هنگام پخش CD) و درایو شما از رایت در حالت -raw96r یا -raw16 پشتیبانی میکند، باید آن را امتحان کنید.
- -raw
- تنظیم حالت نوشتن خام (RAW). استفاده از این گزینه بهطور پیشفرض به -raw96r منتهی میشود. توجه داشته باشید که cdrecord برای این حالت باید از قبل اندازه هر قطعه را بداند (برای اطلاعات بیشتر به گزینه mkisofs -print-size و بخش مثالها (EXAMPLES) مراجعه کنید).
- -raw96r
- تنظیم حالت نوشتن خام (RAW) با بخشهای ۲۳۵۲ بایتی به همراه ۹۶ بایت دادههای خام زیرکانال P-W که منتهی به اندازه بخش ۲۴۴۸ بایت میشود. این حالت، حالت ترجیحی نوشتن خام است زیرا بهترین کنترل را روی فرآیند رایت CD فراهم میکند. نوشتن دیسکهای داده در حالت خام نیاز به زمان CPU بسیار بیشتری نسبت به سایر حالتهای نوشتن دارد. اگر پردازنده شما بیش از حد کند باشد، ممکن است منجر به خطای تخلیه بافر (buffer underrun) شود. توجه داشته باشید که cdrecord برای این حالت باید از قبل اندازه هر قطعه را بداند (برای اطلاعات بیشتر به گزینه mkisofs -print-size و بخش مثالها (EXAMPLES) مراجعه کنید).
- -raw96p
- تنظیم حالت نوشتن خام (RAW) با بخشهای ۲۳۵۲ بایتی به همراه ۹۶ بایت دادههای بستهبندیشده زیرکانال P-W که منتهی به اندازه بخش ۲۴۴۸ بایت میشود. این حالت، حالت خام کمتر ترجیحدادهشده است، زیرا تنها ضبطکنندههای اندکی از آن پشتیبانی میکنند و برخی از این دستگاهها در پیادهسازی سفتافزاری خود دارای اشکالاتی هستند. اگر دستگاه ضبط شما از -raw96r یا -raw16 پشتیبانی میکند، از این حالت استفاده نکنید. نوشتن دیسکهای داده در حالت خام نیاز به زمان پردازنده قابلتوجهی بیشتر از سایر حالتهای نوشتن دارد. اگر پردازنده شما بسیار کند باشد، ممکن است به خطای تخلیه بافر منجر شود. توجه داشته باشید که cdrecord برای این حالت باید از قبل اندازه هر قطعه را بداند (برای اطلاعات بیشتر به گزینه mkisofs -print-size و بخش مثالها (EXAMPLES) مراجعه کنید).
- -raw16
- تنظیم حالت نوشتن خام (RAW) با بخشهای ۲۳۵۲ بایتی به همراه ۱۶ بایت دادههای زیرکانال P-Q که منتهی به اندازه بخش ۲۳۶۸ بایت میشود. اگر دستگاه ضبط از -raw96r پشتیبانی نکند، این حالتِ ترجیحی نوشتن خام است. این حالت امکان نوشتن CD-Text یا CD+Graphics را فراهم نمیکند، اما تنها حالت نوشتن خام در دستگاههای رایت CD ارزانقیمت است، زیرا این ضبطکنندههای ارزان در اکثر موارد از حالت -dao پشتیبانی نمیکنند. اگر دستگاه ضبط شما از -raw96r پشتیبانی میکند، از این حالت استفاده نکنید. نوشتن دیسکهای داده در حالت خام به زمان پردازنده بسیار بیشتری نسبت به سایر حالتهای نوشتن نیاز دارد. اگر پردازنده شما خیلی کند باشد، ممکن است منجر به خطای تخلیه بافر شود. توجه داشته باشید که cdrecord برای این حالت باید اندازه هر قطعه را از قبل بداند (برای اطلاعات بیشتر به گزینه mkisofs -print-size و بخش مثالها (EXAMPLES) مراجعه کنید).
گزینههای عملکردی cdrecord (Cdrecord functional options)
- -abort
- تلاش میکند یک توالی abort به درایو ارسال کند. اگر تنها از cdrecord استفاده میکنید، هرگز به این گزینه نیازی نخواهد بود؛ اما نرمافزارهای دیگر ممکن است درایو را در وضعیتی غیرقابل استفاده رها کنند. فراخوانی cdrecord -reset ممکن است زمانی لازم باشد که یک عملیات رایت قبلی قطع شده و نرمافزار به درایو اعلام نکرده باشد که رایت ادامه نخواهد یافت.
- -atip
- اطلاعات ATIP
(زمان مطلق
در شیار
راهنما یا Absolute
Time In Pre-groove) یک
رسانه قابل
رایت یا با
قابلیت
رایت مجدد
CD/DVD/BluRay را
دریافت و
چاپ میکند.
با این
گزینه، cdrecord
تلاش خواهد
کرد
اطلاعات ATIP
را دریافت
کند. اگر
درایو
مربوطه از
خواندن
اطلاعات ATIP
پشتیبانی
نکند، ممکن
است تنها
مجموعهای
کاهشیافته
از
رکوردهای
اطلاعاتی
یا حتی هیچ
چیز نمایش
داده نشود.
تنها تعداد
محدودی از
درایوهای
سازگار با MMC
از خواندن
اطلاعات ATIP
پشتیبانی
میکنند.
اگر cdrecord بتواند زمان شروع ناحیه ورودی (lead-in) را برای نخستین نشست به دست آورد، تلاش خواهد کرد اطلاعات سازنده رسانه را رمزگشایی و چاپ کند. رسانههای DVD اطلاعات ATIP ندارند، اما اطلاعات پیشضبطشده معادل دیگری دارند که خوانده و چاپ میشود.
- blank=type
- یک CD-RW را پاک میکند و خارج میشود، یا پیش از رایت یک CD-RW آن را پاک میکند. نوع پاکسازی میتواند یکی از موارد زیر باشد:
- help
- نمایش فهرستی از انواع ممکن پاکسازی.
- all
- پاک کردن کل دیسک. این کار ممکن است زمان زیادی ببرد.
- fast
- پاکسازی حداقلی دیسک. این کار منجر به پاک شدن PMA، جدول محتویات (TOC) و پیشفاصله (pregap) میشود.
- track
- پاک کردن آخرین قطعه.
- unreserve
- لغو رزرو یک قطعه رزروشده.
- trtail
- پاک کردن بخش انتهایی یک قطعه.
- unclose
- بازگشایی آخرین نشست (Unclose).
- session
- پاک کردن آخرین نشست.
همه درایوها از تمامی انواع پاکسازی پشتیبانی نمیکنند. در صورتی که درایو دستور مشخصشده را نامعتبر گزارش کند، ممکن است استفاده از blank=all لازم باشد. اگر همراه با فلگ -force استفاده شود، این گزینه میتواند برای پاک کردن دیسکهای CD-RW به کار رود که در غیر این صورت قابل پاک شدن نیستند. توجه داشته باشید که ممکن است لازم باشد blank=all را مشخص کنید، زیرا برخی درایوها با انواع خاصی از دیسکهای CD-RW آسیبدیده ادامه کار را متوقف میکنند. همچنین توجه داشته باشید که cdrecord در صورت استفاده از فلگ -force تمام تلاش خود را به کار میبندد، اما در نهایت به فریمور درایو بستگی دارد که آیا عملیات پاکسازی با موفقیت انجام خواهد شد یا خیر.
- -checkdrive
- بررسی میکند که آیا درایوری برای درایو جاری موجود است یا خیر و سپس خارج میشود. اگر درایو یک درایو شناختهشده باشد، cdrecord از کد خروج 0 استفاده میکند.
- -clone
- به cdrecord دستور
میدهد
ایمیجهای
ایجادشده
توسط readcd -clone را
پردازش کند.
حالت رایت
-clone تنها
میتواند
در ترکیب با
گزینه -raw96r یا
-raw16 استفاده
شود.
استفاده از
-clone همراه با
-raw96r ترجیح
داده
میشود
زیرا امکان
رایت تمامی
دادههای
زیرکانال
(sub-channel) را فراهم
میکند.
گزینه -raw16
تنها باید
با
درایوهایی
استفاده
شود که از
رایت در
حالت -raw96r
پشتیبانی
نمیکنند.
توجه داشته باشید که کپی در حالت clone برخی از سطوح تصحیح خطا را غیرفعال میکند و بنابراین همیشه منجر به افت کیفیت میشود. به همین دلیل از کپی کردن CDهای صوتی در حالت clone خودداری کنید.
- cuefile=filename
- تمامی اطلاعات مربوط به ضبط را از یک فایل CUE sheet سازگار با CDRWIN دریافت میکند. در صورت وجود این گزینه، هیچ آرگومان فایل قطعهای برای cdrecord مجاز نیست و علاوه بر آن یکی از گزینههای زیر لازم است: -dao, -sao, -raw, -raw16, -raw96r
- defpregap=#
- اندازه
پیشفاصله
(pre-gap) پیشفرض
را برای
تمامی
قطعات به جز
قطعه شماره
1 تعیین
میکند. این
گزینه در
حال حاضر
تنها برای
درایوهای
زیر معنا
دارد:
Teac CD-R50S, Teac CD-R55S, JVC XR-W2010, Pinnacle RCD-5020
هنگام ایجاد دیسکهای track-at-once بدون 2 ثانیه سکوت پیش از هر قطعه.
این گزینه ممکن است در آینده حذف شود. - driver=name
- به کاربر
امکان
میدهد یک
درایور را
به صورت
دستی برای
دستگاه
انتخاب کند.
دلیل وجود
گزینه driver=name
این است که
به کاربران
اجازه دهد
از cdrecord با
درایوهایی
استفاده
کنند که
مشابه
درایوهای
پشتیبانیشده
هستند اما
مستقیماً
توسط cdrecord
شناخته
نمیشوند.
تمامی
درایوهای
ساختهشده
پس از سال 1997
باید با
استاندارد
MMC سازگار
باشند و
بنابراین
توسط یکی از
درایورهای
MMC پشتیبانی
میشوند.
بسیار بعید
است که cdrecord
نتواند
درایور
مناسب را به
صورت
خودکار
پیدا کند.
از این
گزینه با
احتیاط
بسیار زیاد
استفاده
کنید. اگر
از درایور
نادرستی
برای یک
دستگاه
استفاده
شود،
احتمال
ایجاد
دیسکهای
خراب و
آسیبدیده
بالا است.
حداقل
مشکلی که به
دلیل
درایور
نادرست
ایجاد
میشود این
است که
گزینههای
-speed یا -dummy کار
نخواهند
کرد.
نامهای درایور زیر پشتیبانی میشوند:
- help
- برای دریافت فهرستی از درایورهای ممکن به همراه توضیحی کوتاه.
- mmc_bd
- درایور عمومی SCSI-3/mmc برای BluRay به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو سازگار با MMC را بیابد که از رایت رسانه BluRay پشتیبانی میکند، یا یک سیستم چندگانه که حاوی یک دیسک BluRay به عنوان رسانه جاری است. این درایور تلاش میکند سینی را ببندد، رسانه موجود در سینی را بررسی کند و سپس به درایوری منشعب شود که با رسانه جاری مطابقت دارد.
- mmc_bdr
- درایور عمومی SCSI-3/mmc برای BluRay به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو سازگار با MMC را بیابد که از رایت رسانه BluRay BD-R پشتیبانی میکند، یا یک سیستم چندگانه که حاوی یک دیسک BluRay BD-R به عنوان رسانه جاری است.
- mmc_bdre
- درایور عمومی SCSI-3/mmc برای BluRay به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو سازگار با MMC را بیابد که از رایت رسانه BluRay BD-RE پشتیبانی میکند، یا یک سیستم چندگانه که حاوی یک دیسک BluRay BD-RE به عنوان رسانه جاری است.
- mmc_cd
- درایور عمومی SCSI-3/mmc برای CD-ROM به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو سازگار با MMC را بیابد که اصلاً اعلام نمیکند از رایت پشتیبانی میکند، یا تنها اعلام میکند از رسانهها یا حالتهای رایتی پشتیبانی میکند که در cdrecord پیادهسازی نشدهاند.
- mmc_cd_dvd
- درایور عمومی SCSI-3/mmc برای CD/DVD/BluRay به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو سازگار با MMC-2 یا MMC-3 را بیابد که به نظر میرسد از بیش از یک نوع رسانه پشتیبانی میکند و سینی باز است یا هیچ رسانهای برای انتخاب درایور مناسب یافت نشد. این درایور تلاش میکند سینی را ببندد، رسانه یافتشده در سینی را بررسی کند و سپس به درایوری منشعب شود که با رسانه جاری مطابقت دارد.
- mmc_cdr
- درایور عمومی SCSI-3/mmc برای CD-R/CD-RW به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو سازگار با MMC را بیابد که تنها از رایت CD پشتیبانی میکند یا یک درایو سیستم چندگانه که حاوی یک CD به عنوان رسانه جاری است.
- mmc_cdr_sony
- درایور عمومی SCSI-3/mmc برای CD-R/CD-RW زمانی به صورت خودکار انتخاب میشود که cdrecord در غیر این صورت درایور mmc_cdr را انتخاب میکرد اما دستگاه به نظر میرسد ساخت سونی (Sony) باشد. درایور mmc_cdr_sony قطعاً برای Sony CDU 928 مورد نیاز است زیرا این درایو استاندارد MMC را به طور کامل پیادهسازی نمیکند و برخی از دستورات MMC SCSI باید با دستورات اختصاصی سونی جایگزین شوند. به نظر میرسد همه درایوهای سونی (حتی مدلهای جدیدتر) همچنان دستورات اختصاصی SCSI سونی را پیادهسازی میکنند، بنابراین استفاده از این درایور برای تمام درایوهای سونی تاکنون مشکلی ایجاد نکرده است. اگر درایو سونی جدیدتری یافتید که با این درایور کار نمیکند، لطفاً گزارش دهید.
- mmc_dvd
- درایور عمومی SCSI-3/mmc-2 برای DVD-R/DVD-RW به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو سازگار با MMC-2 یا MMC-3 را بیابد که از رایت DVD پشتیبانی میکند و یک رسانه مناسب بارگذاری شده باشد. هیچ حالت Track At Once برای رایتکنندههای DVD وجود ندارد.
- mmc_dvdplus
- درایور عمومی SCSI-3/mmc-3 برای DVD+R/DVD+RW به صورت خودکار انتخاب میشود هرگاه یکی از انواع رسانه DVD+ که با یکدیگر ناسازگار هستند یافت شود. این درایور رسانه را بررسی کرده و سپس به درایوری منشعب میشود که با رسانه جاری مطابقت دارد.
- mmc_dvdplusr
- درایور عمومی SCSI-3/mmc-3 برای DVD+R به صورت خودکار انتخاب میشود هرگاه یک رسانه DVD+R در یک رایتکننده مناسب یافت شود. توجه داشته باشید که بنا به دلایلی نامشخص، اتحادیه DVD+RW تمایلی ندارد که حالت شبیهسازی برای رسانههای DVD+R وجود داشته باشد. نویسنده cdrecord تلاش میکند سازندگان را متقاعد سازد تا حالت شبیهسازی را برای DVD+R پیادهسازی کنند و پشتیبانی از آن را پیادهسازی نمایند. رسانه DVD+R تنها از یک حالت رایت پشتیبانی میکند که چیزی میان Track At Once و Packet writing است؛ این حالت در cdrecord از طریق گزینه -dao/-sao انتخاب میشود.
- mmc_dvdplusrw
- درایور عمومی SCSI-3/mmc-3 برای DVD+RW به صورت خودکار انتخاب میشود هرگاه یک رسانه DVD+RW در یک رایتکننده مناسب یافت شود. از آنجا که رسانههای DVD+RW پیش از نخستین استفاده باید قالببندی (format) شوند، cdrecord این وضعیت رسانه را به صورت خودکار تشخیص داده و پیش از شروع رایت، عملیات فرمت را انجام میدهد. توجه داشته باشید که بنا به دلایلی نامشخص، اتحادیه DVD+RW تمایلی ندارد که حالت شبیهسازی یا روشی برای پاک کردن رسانه DVD+RW وجود داشته باشد. رسانه DVD+RW تنها از یک حالت رایت پشتیبانی میکند که نزدیک به Packet writing است؛ این حالت در cdrecord از طریق گزینه -dao/-sao انتخاب میشود.
- cw_7501
- درایور مربوط به Matsushita/Panasonic CW-7501 به صورت خودکار انتخاب میشود هنگامی که cdrecord این درایو قدیمی پیش از MMC را بیابد. cdrecord از تمامی حالتهای رایت برای این نوع درایو پشتیبانی میکند.
- kodak_pcd_600
- درایور مربوط به Kodak PCD-600 به صورت خودکار انتخاب میشود هنگامی که cdrecord این درایو قدیمی پیش از MMC را بیابد که برای مدت طولانی نخستین رایتکننده CD با سرعت بالا (6x) بوده است. این درایو رفتاری مشابه درایو Philips CDD-521 دارد.
- philips_cdd521
- درایور مربوط به Philips CDD-521 به صورت خودکار انتخاب میشود هنگامی که cdrecord یک درایو Philips CDD-521 (که نخستین رایتکننده CD ساختهشده در تاریخ است) یا یکی از دیگر درایوهایی را بیابد که رفتاری مشابه با این درایو دارند. تمام درایوهای Philips CDD-521 یا درایوهای مشابه (سایر درایورهای این فهرست را ببینید) از ضبط به شیوه Session At Once پشتیبانی نمیکنند.
- philips_cdd521_old
- درایور مربوط به Philips CDD-521 قدیمی به صورت خودکار انتخاب میشود هنگامی که cdrecord یک Philips CDD-521 با فریمور بسیار قدیمی را بیابد که دارای برخی محدودیتهای شناختهشده است.
- philips_cdd522
- درایور مربوط به Philips CDD-522 به صورت خودکار انتخاب میشود هنگامی که cdrecord یک Philips CDD-522 را بیابد که جانشین مدل 521 است یا یکی از مدلهای آن با نشان کداک (Kodak). cdrecord از ضبط Session At Once با این درایوها پشتیبانی نمیکند.
- philips_dumb
- درایور مربوط به Philips CDD-521 با فرضیات بدبینانه هرگز به صورت خودکار انتخاب نمیشود. میتوان آن را به صورت دستی با درایوهایی به کار برد که رفتاری مشابه با Philips CDD-521 دارند.
- pioneer_dws114x
- درایور مربوط به Pioneer DW-S114X به صورت خودکار انتخاب میشود هنگامی که cdrecord یکی از رایتکنندههای CD قدیمی غیر MMC ساخت پایونیر را بیابد.
- plasmon_rf4100
- درایور مربوط به Plasmon RF 4100 به صورت خودکار انتخاب میشود هنگامی که cdrecord این نوع خاص از Philips CDD-521 را بیابد.
- ricoh_ro1060c
- درایور مربوط به Ricoh RO-1060C به صورت خودکار انتخاب میشود هنگامی که cdrecord این درایو را بیابد. هنوز پشتیبانی واقعی برای این درایو وجود ندارد.
- ricoh_ro1420c
- درایور مربوط به Ricoh RO-1420C به صورت خودکار انتخاب میشود هنگامی که cdrecord درایوی با این گونه خاص از مجموعه دستورات Philips CDD-521 را بیابد.
- scsi2_cd
- درایور عمومی SCSI-2 CD-ROM به صورت خودکار انتخاب میشود هرگاه cdrecord یک درایو پیش از MMC را بیابد که از رایت پشتیبانی نمیکند یا یک رایتکننده پیش از MMC که توسط cdrecord پشتیبانی نمیشود.
- sony_cdu924
- درایور مربوط به Sony CDU-924 / CDU-948 به صورت خودکار انتخاب میشود هرگاه cdrecord یکی از رایتکنندههای CD قدیمی پیش از MMC ساخت سونی را بیابد.
- teac_cdr50
- درایور مربوط به Teac CD-R50S, Teac CD-R55S, JVC XR-W2010, Pinnacle RCD-5020 به صورت خودکار انتخاب میشود هرگاه یکی از درایوهایی یافت شود که مشخص است از مجموعه دستورات غیر MMC استفادهشده توسط TEAC و JVC استفاده میکنند. توجه داشته باشید که بسیاری از درایوهای JVC کار نخواهند کرد زیرا مجموعه دستورات مستندشده را به درستی پیادهسازی نمیکنند و شرکت JVC نیز تمایلی به رفع یا مستندسازی این باگها نداشته است. هنوز پشتیبانی برای حالت رایت Session At Once وجود ندارد.
- tyuden_ew50
- درایور مربوط به Taiyo Yuden EW-50 به صورت خودکار انتخاب میشود هنگامی که cdrecord درایوی با این گونه خاص از مجموعه دستورات Philips CDD-521 را بیابد.
- yamaha_cdr100
- درایور مربوط به Yamaha CDR-100 / CDR-102 به صورت خودکار انتخاب میشود هنگامی که cdrecord یکی از رایتکنندههای CD قدیمی پیش از MMC ساخت یاماها را بیابد. هنوز پشتیبانی برای حالت رایت Session At Once وجود ندارد.
- bd_simul
- درایور شبیهسازی BluRay امکان اجرای آزمایشهای زمانبندی و سرعت را با پارامترهایی مطابق با رفتار رایتکنندههای BluRay فراهم میکند.
- cdr_simul
- درایور شبیهسازی CD-R امکان اجرای آزمایشهای زمانبندی و سرعت را با پارامترهایی مطابق با رفتار CD-writerها فراهم میکند.
- dvd_simul
- درایور شبیهسازی DVD-R امکان اجرای آزمایشهای زمانبندی و سرعت را با پارامترهایی مطابق با رفتار رایتکنندههای DVD فراهم میکند.
دو ورودی درایور ویژه در این فهرست وجود دارد: cdr_simul و dvd_simul. این ورودیهای درایور برای انجام آزمایشهای زمانبندی در هر سرعتی، یا آزمایشهای زمانبندی برای درایوهایی طراحی شدهاند که از گزینه -dummy پشتیبانی نمیکنند. درایورهای شبیهسازی، درایوی با اندازه بافر 1 MB را شبیهسازی و پیادهسازی میکنند که میتوان آن را از طریق متغیر محیطی CDR_SIMUL_BUFSIZE تغییر داد. درایور شبیهسازی حتی وضعیت سرریز منفی بافر (buffer underrun) را نیز به درستی شبیهسازی میکند. اگر گزینه -dummy وجود داشته باشد، در صورت وقوع سرریز منفی بافر، شبیهسازی لغو نخواهد شد. driveropts=فهرست گزینهها تنظیم گزینههای اختصاصی درایور. گزینهها بهصورت فهرستی جداشده با کاما مشخص میشوند. برای دریافت فهرستی از گزینههای معتبر، از driveropts=help همراه با گزینه -checkdrive استفاده کنید. اگر مایلید گزینههای درایور را بدون اجرای یک وظیفه معمولی cdrecord تنظیم کنید، باید علاوه بر آن از گزینه -setdropts نیز استفاده نمایید؛ در غیر این صورت مفسر خط فرمان در cdrecord خطا خواهد گرفت. گزینههای درایور که در حال حاضر پیادهسازی شدهاند عبارتند از:
- burnfree
- فعال کردن
پشتیبانی
از نوشتن
بدون سرریز
منفی بافر (Buffer
Underrun Free). این
قابلیت فقط
برای
درایوهایی
کار میکند
که از
فناوری
جلوگیری از
سرریز منفی
بافر
پشتیبانی
میکنند.
این فناوری
ممکن است با
نامهایی
چون: Sanyo BURN-Proof، Ricoh
Just-Link، Yamaha Lossless-Link یا
عناوین
مشابه
شناخته شود.
حالت پیشفرض، غیرفعال بودن BURN-Free است، صرفنظر از اینکه پیشفرض درایو چه باشد.
- noburnfree
- غیرفعال کردن پشتیبانی از نوشتن بدون سرریز منفی بافر.
- varirec=value
- فعال کردن حالت نوشتن Plextor VariRec. پارامتر اجباری value میزان جابهجایی توان لیزر است و در حال حاضر میتواند از بین مقادیر -2، -1، 0، 1، 2 انتخاب شود. علاوه بر این، برای اینکه VariRec بتواند کار کند، باید سرعت نوشتن را روی 4 تنظیم کنید.
- gigarec=value
- مدیریت
حالت نوشتن
Plextor GigaRec.
پارامتر
اجباری value
نسبت ظرفیت
دیسک در
مقایسه با
ضبط معمولی
است و در
حال حاضر
میتواند
از بین
مقادیر 0.6، 0.7،
0.8، 0.9، 1.0، 1.1، 1.2، 1.3،
1.4 انتخاب
شود. در
صورتی که
مقادیر
کمتر از 1.0
استفاده
شوند، اثر
آن شبیه به
قابلیت Yamaha Audio Master Q.
R. خواهد بود.
اگر از
مقادیر
بیشتر از 1.0
استفاده
شود، ظرفیت
دیسک
افزایش
مییابد.
همه درایوها از تمامی مقادیر GigaRec پشتیبانی نمیکنند. هنگامی که یک درایو از قابلیت GigaRec استفاده میکند، سرعت نوشتن به 8x محدود میشود.
- audiomaster
- فعال کردن قابلیت Yamaha Audio Master Q. R. که معمولاً باید به تولید سیدیهایی با کیفیت بالا منجر شود که مشکلات خواندن کمتری در دستگاههای پخش Hi-Fi دارند. از آنجا که این قابلیت بهعنوان نوعی از حالت نوشتن Session At Once پیادهسازی شده است، تنها در صورتی کار خواهد کرد که حالت نوشتن SAO را انتخاب کنید و نیازی به غیرفعال کردن آن وجود ندارد. حالت Audio Master با سرعتی محدود کار خواهد کرد، اما ممکن است برای سیدیهای داده (data CDs) نیز استفاده شود. در حالت Audio Master، حفرهها (pits) روی سیدی بزرگتر از حد معمول نوشته میشوند، بنابراین با فعال کردن این ویژگی، ظرفیت رسانه کاهش مییابد. یک سیدی ۷۴ دقیقهای در صورت فعال بودن Audio Master تنها ۶۳ دقیقه ظرفیت خواهد داشت و ظرفیت یک سیدی ۸۰ دقیقهای به ۶۸ دقیقه کاهش مییابد؛ به بیانی ظرفیت به ۸۵٪ ظرفیت اصلی کاهش پیدا خواهد کرد. در درایوهای جدیدتر Plextor، این ویژگی نیز وجود دارد اما ظرفیت به ۸۶.۶۶٪ ظرفیت اصلی کاهش مییابد. برای سایر ضریبها در درایوهای Plextor، گزینه gigarec را در بالا ببینید.
- forcespeed
- معمولاً
درایوهای
مدرن
بالاترین
سرعت ممکن
را برای
رسانههای
مختلف
تشخیص
میدهند و
ممکن است
بهمنظور
تضمین
بهترین
کیفیت
نوشتن،
سرعت را
کاهش دهند.
این فناوری
ممکن است با
نامهایی
چون: Plextor PowerRec، Ricoh
Just-Speed، Yamaha Optimum Write Speed Control
یا موارد
مشابه
شناخته شود.
برخی
درایوها
(مانند Plextor، Ricoh و
Yamaha) اجازه
میدهند
درایو
مجبور به
استفاده از
سرعت
انتخابشده
شود، حتی
اگر رسانه
آنقدر
نامناسب
باشد که
کیفیت
نوشتن ضعیف
شود. این
گزینه به
چنین
درایوی
دستور
میدهد که
بدون در نظر
گرفتن
کیفیت
رسانه،
استفاده از
سرعت
انتخابشده
را اجباری
کند.
از این گزینه با احتیاط بسیار زیاد استفاده کنید و توجه داشته باشید که درایو بهتر میداند کدام رسانه با سرعت کامل به درستی کار خواهد کرد. حالت پیشفرض، غیرفعال بودن forcespeed است، صرفنظر از اینکه پیشفرض درایو چه باشد.
- noforcespeed
- غیرفعال کردن قابلیت force speed.
- speedread
- برخی درایوهای با سرعت فوقالعاده بالا مانند درایوهای 48x و سریعتر Plextor، سرعت خواندن رسانههای ناشناخته را به عنوان مثال به 40x محدود میکنند تا از آسیب دیدن دیسکها و درایوها جلوگیری شود. استفاده از این گزینه به درایو میگوید هر رسانهای را تا حد امکان سریع بخواند. بسیار محتاط باشید، زیرا این کار ممکن است باعث شکستن رسانه در داخل درایو هنگام خواندن شود و به آسیب دیدن رسانه و درایو بینجامد!
- nospeedread
- غیرفعال کردن سرعت خواندن نامحدود.
- singlesession
- تبدیل درایو به درایوی که تنها از تکنشست (single-session) پشتیبانی میکند. این کار امکان خواندن رسانههای معیوب یا ناسازگار (غیرمجاز) را با ورودیهای فوقالعاده غیراستاندارد اضافی (خراب/غیرمجاز) در TOC از نشست دوم یا بالاتر فراهم میکند. برخی از این دیسکها در صورتی که تنها از اطلاعات نشست نخست استفاده شود، قابل استفاده خواهند بود. باید پیش از قرار دادن دیسک معیوب، حالت تکنشست را فعال کنید!
- nosinglesession
- غیرفعال کردن حالت تکنشست. درایو مجدداً رفتار معمول خود را خواهد داشت.
- hidecdr
- پنهان کردن این واقعیت که رسانه ممکن است از نوع رسانه قابل ضبط (recordable) باشد. این کار باعث میشود CD-Rها شبیه CD-ROM به نظر برسند و برنامهها فکر کنند که رسانه موجود در درایو یک CD-R نیست.
- nohidecdr
- غیرفعال کردن پنهانسازی رسانه CD-R.
- tattooinfo
- از این گزینه همراه با -checkdrive برای دریافت اطلاعات اندازه تصویر در قابلیت Yamaha DiskT@2 استفاده کنید. این تصاویر همواره دارای طول خط ۳۷۴۴ پیکسل هستند. خط شماره ۰ (شعاع ۰) به مرکز دیسک نگاشت میشود. اگر شعاع درونی و بیرونی را بدانید، قادر خواهید بود تصویری از پیش اعوجاجیافته ایجاد کنید که بعداً بهصورت صاف و بدون اعوجاج روی دیسک ظاهر شود.
- tattoofile=name
- از این
گزینه
همراه با
-checkdrive برای
نوشتن
تصویری که
برای
قابلیت Yamaha DiskT@2
آماده شده
است بر روی
رسانه
استفاده
کنید. فایل
مورد نظر
باید فایلی
حاوی
دادههای
تصویر خام
سیاهوسفید
(یک بایت به
ازای هر
پیکسل) با
اندازهای
باشد که با
فراخوانی
پیشین tattooinfo
به دست آمده
است. اگر
اندازه
تصویر با
حداکثر
اندازه
ممکن (۳۷۴۴
در ۳۲۰
پیکسل)
برابر
باشد، cdrecord از
بخش اول
فایل
استفاده
خواهد کرد.
سپس این بخش
اول در فضای
باقیمانده
روی سیدی
نوشته
خواهد شد.
توجه داشته باشید که تصویر باید معکوس (آینهای) شود تا از سمت حسگر اپتیکال (pick up side) سیدی قابل خواندن باشد.
- layerbreak
- تغییر حالت
درایوی
دارای
رسانه DVD-R/DL به
حالت ضبط layer jump
recording و
استفاده از
تنظیم
خودکار
موقعیت
لایه شکست (layer
break).
بهطور پیشفرض، رسانههای DVD-R/DL در حالت ضبط ترتیبی (sequential recording) نوشته میشوند که هر دو لایه را کاملاً پر میکند.
- layerbreak=value
- تنظیم دستی
مقدار لایه
شکست (layer break)
برای DVD-R/DL و DVD+R/DL.
مقدار لایه
شکست
مشخصشده
نباید کمتر
از نصف
اندازه
دادههای
ضبطشده
باشد و
نباید
بیشتر از
اندازه
باقیمانده
Layer 0 رسانه
تنظیم شود.
مقدار دستی
لایه شکست
باید مضربی
از اندازه
سکتور ECC
باشد که در
مورد
رسانههای
DVD برابر با
۱۶ سکتور
منطقی ۲۰۴۸
بایتی و در
مورد
رسانههای
HD-DVD یا BD برابر
با ۳۲ سکتور
منطقی ۲۰۴۸
بایتی است.
برنامه cdrecord در صورتی که مقدار کل دادهها کمتر از اندازه Layer 0 رسانه باشد، اجازه نوشتن روی رسانههای دولایه (DL) را نمیدهد، مگر اینکه با استفاده از گزینه layerbreak=value یک لایه شکست دستی مشخص شده باشد.
- -eject
- تخلیه (Eject) دیسک پس از اتمام کار. برخی دستگاهها (مانند فیلیپس) پیش از ایجاد دیسک جدید نیاز به تخلیه رسانه دارند. انجام تست شبیهسازی با -dummy و سپس ایجاد بلافاصله دیسک واقعی روی این دستگاهها کار نخواهد کرد.
- -fix
- دیسک تنها تثبیت (Fixate) خواهد شد (یعنی یک جدول محتویات TOC برای خواننده سیدی نوشته خواهد شد). این گزینه میتواند زمانی استفاده شود که بنا به دلایلی دیسک نوشته شده اما تثبیت نشده باشد. این گزینه در حال حاضر با درایوهای قدیمی TEAC (مانند CD-R50S و CD-R55S) کار نمیکند.
- -force
- اجبار به
ادامه کار
در هنگام
بروز برخی
خطاها.
هنگام
استفاده از
این گزینه
محتاط
باشید. cdrecord
بررسیهای
متعددی را
پیادهسازی
کرده است که
از انجام
اقدامات
ناخواسته
مانند آسیب
رساندن به
رسانههای
CD-RW توسط
درایوهای
نامناسب
جلوگیری
میکند. با
استفاده از
گزینه -force
بسیاری از
این
بررسیهای
سلامت
غیرفعال
میشوند.
این گزینه همچنین ترفندهایی را پیادهسازی میکند که به شما امکان میدهد دیسکهای CD-RW معیوب را پاک (blank) کنید.
- -format
- فرمت کردن دیسکهای CD-RW/DVD-RW/DVD+RW/BD-RE. قالببندی در حال حاضر تنها برای رسانههای DVD+RW و BD-RE پیادهسازی شده است. یک رسانه DVD+RW یا BD-RE «دستنخورده» (maiden) پیش از آنکه بتوانید روی آن بنویسید باید فرمت شود. با این حال، از آنجا که cdrecord نیاز به قالببندی را در این حالت بهطور خودکار تشخیص داده و پیش از شروع نوشتن دیسک را فرمت میکند، گزینه -format تنها زمانی مورد نیاز است که بخواهید یک رسانه DVD+RW یا BD-RE را بهصورت اجباری مجدداً فرمت کنید.
- fs=#
- تنظیم
اندازه
حافظه FIFO
(بافر
حلقهای) به
#.
میتوانید
از همان
نحوه
نگارشی که
در dd(1)، sdd(1) یا
star(1) وجود
دارد
استفاده
کنید. عددی
که اندازه
را مشخص
میکند بر
حسب بایت در
نظر گرفته
میشود مگر
اینکه خلاف
آن مشخص شده
باشد. اگر
بلافاصله
پس از یک
عدد یکی از
حروف `b`، `k`، `m`، `s`
یا `f` بیاید،
اندازه در
۵۱۲، ۱۰۲۴،
۱۰۲۴*۱۰۲۴،
۲۰۴۸ یا
۲۳۵۲ ضرب
میشود. اگر
اندازه
شامل
اعدادی
باشد که با `x`
یا `*` از هم
جدا
شدهاند،
ضرب این دو
عدد انجام
میگیرد.
بنابراین
fs=10x63k اندازه
حافظه FIFO را
۶۳۰
کیلوبایت
مشخص خواهد
کرد.
اندازه مشخصشده توسط آرگومان fs= شامل حافظه اشتراکی مورد نیاز برای مدیریت نیز میشود. این مقدار حداقل یک صفحه از حافظه است. اگر گزینه fs= مشخص نشده باشد، cdrecord تلاش خواهد کرد مقدار اندازه حافظه FIFO را از متغیر محیطی CDR_FIFOSIZE دریافت کند. اندازه پیشفرض حافظه FIFO در حال حاضر ۴ مگابایت است.
حافظه FIFO برای افزایش بافر در فرآیند نوشتن بلادرنگ (real-time) استفاده میشود. این ویژگی اجازه میدهد که یک پایپ (pipe) مستقیماً از mkisofs به درون cdrecord هدایت شود. اگر حافظه FIFO فعال باشد و یک پایپ از mkisofs به درون cdrecord برای ایجاد یک سیدی استفاده شود، در صورتی که mkisofs پیش از شروع رایت متوقف شود، cdrecord قبل از ایجاد هرگونه تغییری روی دیسک، عملیات را متوقف خواهد کرد. اندازه توصیهشده حافظه FIFO بین ۴ تا ۱۲۸ مگابایت است. به عنوان یک قاعده کلی، اندازه حافظه FIFO باید حداقل برابر با اندازه بافر داخلی ضبطکننده CD/DVD/BluRay باشد و از نصف مقدار حافظه رم فیزیکی در دسترس سیستم بیشتر نباشد. اگر اندازه حافظه FIFO به قدر کافی بزرگ باشد، آمارهای FIFO مقدار FIFO empty count را صفر و FIFO min fill را نه کمتر از ۲۰٪ چاپ خواهند کرد. اختصاص فضای بیش از حد برای حافظه FIFO کار هوشمندانهای نیست. اگر برای نوشتن یک سیدی با سرعتی کمتر از 20x از روی یک ایمیج در فایلسیستم محلی روی سیستمی بدون بار کاری، به بیش از ۸ مگابایت نیاز دارید، سیستم شما یا توان پردازشی کمی دارد، یا مشکلات سختافزاری دارد و یا به اشتباه پیکربندی شده است. اگر مایلید دیویدی بنویسید یا سیدیها را با سرعت بالاتری رایت کنید، منطقی است که حداقل از ۱۶ مگابایت برای حافظه FIFO استفاده کنید.
در سیستمهای قدیمی و کوچک، باید در مورد اندازه حافظه FIFO دقت بیشتری به خرج دهید. اگر سیستم شما کمتر از ۲۵۶ مگابایت رم فیزیکی دارد، نباید اندازه حافظه FIFO را روی بیش از ۳۲ مگابایت تنظیم کنید. معماری sun4c (مانند Sparcstation-2) فقط مدخلهای جدول صفحه MMU برای ۱۶ مگابایت به ازای هر فرآیند دارد. استفاده از بیش از ۱۴ مگابایت برای حافظه FIFO ممکن است در این حالت باعث شود سیستمعامل زمان زیادی را صرف بارگذاری مداوم جدولهای MMU کند. سیستمهای جدیدتر سان این مشکل سختافزاری MMU را ندارند. نویسنده اطلاعاتی درباره وجود این مشکل در سختافزارهای کامپیوتر شخصی (PC) ندارد.
سیستمهای لینوکسی قدیمی برای پلتفرمهای غیر x86، تعاریف ناقصی برای اندازه حافظه اشتراکی دارند. شما باید آنها را اصلاح کرده و کرنل را مجدداً بسازید، یا اینکه بهصورت دستی به cdrecord بگویید از یک حافظه FIFO کوچکتر استفاده کند.
اگر با سرریز منفی بافر یا مشکلات مشابه (مانند خالی بودن مداوم بافر درایو) مواجه شدید و مقدار fifo empty count را برابر با صفر مشاهده کردید، با مشکلات سختافزاری مواجه هستید که مانع از جریان یافتن به اندازه کافی سریع دادهها از حافظه کرنل به درایو میشوند. اندازه حافظه FIFO در این حالت کافی است، اما باید فعال بودن و عملکرد درست DMA را بررسی کنید.
- gracetime=#
- تنظیم زمان تنفس پیش از شروع به رایت به مقدار # ثانیه. مقادیر کمتر از ۳ ثانیه مجاز نیستند تا از ایجاد وقفه در فرآیند رایت توسط سامانه مدیریت دیسک/حجم (volume management) جلوگیری شود.
- -ignsize
- اندازه شناختهشده رسانه را نادیده میگیرد. از این گزینه باید با احتیاط بسیار بالا استفاده شود؛ این گزینه صرفاً برای مقاصد اشکالزدایی وجود دارد، بنابراین برای اهداف دیگر از آن استفاده نکنید. برای رایت دیسکهایی با ظرفیت بیشتر از ظرفیت اسمی نیازی به این گزینه نیست. این گزینه مستلزم فعال بودن -overburn است.
- -immed
- به cdrecord دستور
میدهد تا
فلگ SCSI IMMED را
در دستورات
خاصی (مانند
load، eject، blank، close_track و
close_session) تنظیم
کند. این
ویژگی
میتواند
روی
سیستمهای
معیوبی که
هارد دیسک ATAPI
و رایتر CD/DVD/BluRay
در آنها
روی یک
گذرگاه (bus)
مشترک قرار
دارند، یا
سیستمهای
SCSI که از
سازوکار
disconnect/reconnect
استفاده
نمیکنند،
مفید باشد.
این
سیستمها
هنگام پاک
کردن (blanking) یا
تثبیت کردن
(fixating) یک CD/DVD/BluRay یا
زمانی که یک
رایتر DVD در
حال پر کردن
یک نشست تا
حداقل
مقدار مجاز
(حدود ۸۰۰
مگابایت)
است، دچار
انجماد (freeze) و
قفل شدن
میشوند.
تنظیم فلگ
-immed باعث
میشود
دستور
بلافاصله
خاتمه یابد
و بازگردد،
در حالی که
عملیات در
پسزمینه
ادامه
دارد؛ این
امر گذرگاه
را برای
سایر
دستگاهها
قابل
استفاده
نگه
میدارد و
از قفل شدن
سیستم
جلوگیری
میکند. این
یک قابلیت
آزمایشی
است که بسته
به مدل
رایتر CD/DVD/BluRay
ممکن است
کار کند یا
نکند.
راهکار
صحیح در
واقع
کابلکشی و
اتصال درست
است، اما به
نظر میرسد
لپتاپهایی
وجود دارند
که توسط
سازنده به
شکل
نادرستی
پیکربندی
شدهاند. از
آنجا که رفع
این مشکل در
لپتاپها
غیرممکن
است، گزینه
-immed اضافه
شده است.
دومین قابلیت آزمایشی فلگ -immed این است که به cdrecord اعلام میکند هنگام رایت بر روی رسانه، برای مدت کوتاهی صبر کند. انتظار میرود این عمل در صورتی که رایتر CD/DVD/BluRay و منبع داده به یک کابل IDE مشترک متصل باشند، گذرگاه IDE را آزاد کند. در غیر این صورت، معمولاً رایتر CD/DVD/BluRay در تمام طول مدت گذرگاه IDE را مسدود میکند و خواندن داده از درایو منبع را غیرممکن میسازد. همچنین گزینههای minbuf= و -v را ببینید.
از هر دو قابلیت با مسئولیت خودتان استفاده کنید. اگر مشخص شد که تعریف یک گزینه مجزا برای قابلیت انتظار منطقی است، با نویسنده مکاتبه کرده و او را قانع کنید.
- -inq
- ارسال یک پرسوجوی استعلام (inquiry) برای درایو، چاپ اطلاعات استعلامشده درایو و سپس خروج.
- -load
- بارگذاری رسانه (بستن سینی درایو) و سپس خروج. این گزینه فقط با سازوکارهای بارگذاری سینی (tray) کار میکند، اما در زمان استفاده از بارگذار دیسک کداک (Kodak disk transporter) مفید به نظر میرسد.
- -lock
- بارگذاری رسانه، قفل کردن درب سینی و سپس خروج. این گزینه فقط با سازوکارهای بارگذاری سینی کار میکند، اما در زمان استفاده از بارگذار دیسک کداک مفید به نظر میرسد.
- mcn=med_cat_nr
- تنظیم شماره کاتالوگ رسانه (Media Catalog Number) مربوط به CD بر روی med_cat_nr.
- minbuf=value
- گزینه minbuf= امکان تعریف حداقل نسبت پر بودن بافر درایو را برای حالت انتظار آزمایشی ATAPI فراهم میکند؛ حالتی که هدف آن آزادسازی گذرگاه IDE است تا هارد دیسک و رایتر CD/DVD/BluRay بتوانند بر روی یک کابل IDE مشترک قرار گیرند. از آنجا که حالت انتظار در حال حاضر فقط زمانی کار میکند که گزینه پرگویی (verbose) -v مشخص شده باشد، برنامه cdrecord در صورت تعیین گزینههای -immed یا minbuf= به طور خودکار گزینه پرگویی را فعال در نظر میگیرد. مقادیر معتبر برای minbuf= بین ۲۵ تا ۹۵ است که نشاندهنده حداقل نسبت پر بودن بافر درایو بین ۲۵%...۹۵% میباشد.
- -media-info
- -minfo
- دریافت و چاپ اطلاعات مربوط به وضعیت رسانه/دیسک. این گزینه در حال حاضر تنها برای درایوهای سازگار با استاندارد MMC کار میکند.
- -msinfo
- دریافت
اطلاعات
چندنشستی
(multi-session) در قالبی
مناسب برای
mkisofs-1.10 یا
نسخههای
بعد از آن.
این گزینه فقط برای CDهایی کاربرد دارد که حداقل شامل یک نشست بسته باشند و قابلیت الحاق داده (appendable) داشته باشند (یعنی هنوز به طور نهایی بسته نشده باشند). برخی درایوها اگر بخواهید اطلاعات چندنشستی را برای دیسکی که مناسب این عملیات نیست دریافت کنید، پیامهای خطا صادر میکنند.
- -noclose
- شیار (track) جاری را نمیبندد؛ این گزینه تنها در حالت رایت بستهای (packet writing mode) کاربرد دارد. این یک رابط آزمایشی است.
- -nofix
- عدم تثبیت (fixate) دیسک پس از رایت شیارها. از این گزینه میتوان برای ایجاد مرحلهبهمرحله دیسکهای صوتی استفاده کرد. دیسک تثبیتنشده معمولاً در درایوهایی که رایتر CD نیستند قابل استفاده نیست، اما برخی دستگاههای پخش CD صوتی قادر به پخش چنین دیسکهایی هستند.
- -overburn
- به cdrecord اجازه میدهد تا حجمی بیشتر از ظرفیت رسمی رسانه را رایت کند. این قابلیت معمولاً overburning (اوربرن یا رایت بیش از ظرفیت) نامیده میشود و وابسته به این واقعیت است که اکثر دیسکهای خام فضایی بیش از ظرفیت اسمی خود دارند. از آنجا که اندازه رسمی ناحیه خروج (lead-out) روی دیسک ۹۰ ثانیه (۶۷۵۰ سکتور) است و دیسک معمولاً در صورت وجود حداقل ۱۵۰ سکتور ناحیه خروج کار میکند، تمام دیسکها را میتوان حداقل تا ۸۸ ثانیه (۶۶۰۰ سکتور) اوربرن کرد. اکثر ضبطکنندههای CD تنها در حالتهای SAO یا RAW اوربرن را انجام میدهند. استثناهای شناختهشده در این زمینه درایوهای TEAC CD-R50S، TEAC CD-R55S و Panasonic CW-7502 هستند. برخی درایوها اجازه نمیدهند به هر میزانی که تمایل دارید اوربرن انجام دهید و ظرفیت CD را مثلاً به ۷۶ دقیقه محدود میکنند. این مشکل را میتوان با رایت کردن CD در حالت RAW برطرف ساخت، زیرا در این روش درایو پیش از شروع رایت شانسی برای تشخیص ظرفیت دیسک نخواهد داشت. هیچ تضمینی وجود ندارد که درایو شما اصلاً از اوربرن پشتیبانی کند. با انجام یک آزمایش بررسی کنید که آیا درایو شما این قابلیت را پیادهسازی کرده است یا خیر.
- -packet
- تنظیم حالت رایت بستهای (Packet writing mode). این یک رابط آزمایشی است.
- pktsize=#
- اندازه بسته را بر روی # تنظیم کرده و حالت بستههای ثابت (fixed packet mode) را اجباری میکند. این یک رابط آزمایشی است.
- -prcap
- چاپ قابلیتهای درایو برای درایوهای سازگار با SCSI-3/mmc همانطور که از صفحه حالت (mode page) 0x2A به دست آمده است. مقادیری که با kB مشخص شدهاند، ۱۰۰۰ بایت را به عنوان کیلوبایت در نظر میگیرند و مقادیری که با KB علامتگذاری شدهاند، ۱۰۲۴ بایت را به عنوان کیلوبایت در نظر میگیرند.
- -setdropts
- گزینههای درایور تعیینشده با driveropts=option list، سرعت (speed) درایو و فلگ dummy را تنظیم کرده و سپس خارج میشود. این به cdrecord اجازه میدهد تا پارامترهای اختصاصی درایو را که مستقیماً توسط cdrecord استفاده نمیشوند (مانند single session mode، hide cdr و موارد مشابه) تنظیم کند. این گزینه زمانی مورد نیاز است که driveropts=option list باید بدون برنامهریزی برای اجرای یک وظیفه معمول در cdrecord فراخوانی شود.
- speed=#
- ضریب سرعت
فرآیند
رایت (سرعت
نوشتن) را
بر روی #
تنظیم
میکند. # یک
عدد صحیح
است که
ضریبی از
سرعت پایه (single
speed)
تعریفشده
برای رسانه
را نشان
میدهد.
برای دیسکهای CD، سرعت پایه همان سرعت پخش فایل صوتی است. این مقدار حدود 150 KB/s برای CD-ROM و حدود 172 KB/s برای CD-Audio است. سرعت پایه برای رسانههای DVD حدود 1385 kB/s و برای رسانههای BluRay حدود 4496 kB/s است.
اگر هیچ گزینه speed تعیین نشده باشد، cdrecord تلاش میکند مقدار سرعت اختصاصی درایو را از فایل /etc/default/cdrecord به دست آورد و اگر مقداری پیدا نکند، تلاش میکند مقدار سرعت را از متغیر محیطی CDR_SPEED و سپس از مدخل CDR_SPEED= در /etc/default/cdrecord بخواند. در صورتی که هیچ مقداری برای سرعت یافت نشود، cdrecord از یک سرعت پیشفرض اختصاصی درایو استفاده خواهد کرد. مقدار پیشفرض برای تمامی درایوهای جدید (سازگار با MMC) استفاده از حداکثر سرعت پشتیبانیشده توسط درایو است. اگر از speed=0 در یک درایو سازگار با MMC استفاده کنید، cdrecord به کمترین سرعت ممکن برای درایو و رسانه تغییر وضعیت میدهد. اگر از یک درایو قدیمی (ناسازگار با MMC) استفاده میکنید که با speed=2 یا speed=4 مشکل دارد، باید speed=0 را امتحان کنید.
- -text
- رایت
اطلاعات
متنی CD-Text بر
اساس
اطلاعات
استخراجشده
از فایلی که
شامل
دادههای
اسکی (ascii) برای
رشتههای
متنی است.
برنامه Cdrecord
از اطلاعات
CD-Text بر اساس
محتوای
فایلهای
*.inf
ایجادشده
توسط cdda2wav و
اطلاعات CD-Text
بر اساس
محتوای یک
فایل CUE sheet
پشتیبانی
میکند. اگر
یک فایل CUE sheet
شامل هر دو
نوع ورودی
(ورودی
باینری CDTEXTFILE و
ورودی متنی
SONGWRITER) باشد،
اطلاعات
مبتنی بر
ورودی CDTEXTFILE
اولویت
خواهد داشت.
علاوه بر این، شما باید از گزینه -useinfo استفاده کنید تا به cdrecord اعلام شود فایلهای *.inf را بخواند، یا از گزینه cuefile=filename استفاده کنید تا به cdrecord بگویید یک فایل CUE sheet را نیز بخواند. اگر مایل هستید اطلاعات CD-Text سفارشی خود را بنویسید، فایلهای *.inf یا فایل CUE sheet را با یک ویرایشگر متن ویرایش کرده و فیلدهای مربوط به CD-Text را تغییر دهید.
- textfile=filename
- رایت CD-Text بر پایه اطلاعات موجود در فایل باینری filename. این فایل باید حاوی اطلاعاتی در قالب دادهای تعریفشده در استاندارد SCSI-3 MMC-2 و کتاب قرمز (Red Book) باشد. سربرگ (header) چهار بایتی تعریفشده در استاندارد SCSI اختیاری است و امکان تشخیص بدون ابهام دادههای صحیح را فراهم میکند. این گزینه بهترین روش برای کپی دادههای CD-Text از روی CDهای موجودی است که هماکنون دارای اطلاعات CD-Text هستند. برای استخراج دادهها در قالبی مناسب برای این گزینه، از دستور cdrecord -vv -toc جهت استخراج اطلاعات از روی دیسک استفاده کنید. اگر هم گزینه textfile=filename و هم اطلاعات CD-Text برگرفته از فایلهای *.inf یا *.cue موجود باشند، مقدار textfile=filename اطلاعات دیگر را بازنویسی خواهد کرد.
- -toc
- دریافت و چاپ جدول محتوا (TOC) یا PMA یک دیسک CD. با این گزینه، cdrecord هم با درایوهای CD-R و هم با درایوهای CD-ROM کار خواهد کرد.
- -waiti
- پیش از تلاش برای باز کردن درایور SCSI، منتظر در دسترس قرار گرفتن دادهها در ورودی استاندارد (standard input) میماند. این کار به cdrecord امکان میدهد ورودی خود را حتی در هنگام رایت نشستهای بعدی روی یک دیسک چندنشستی (multi-session)، از یک لوله (pipe) بخواند. هنگام رایت یک نشست جدید روی یک دیسک چندنشستی، mkisofs باید نشست قبلی را پیش از نوشتن خروجی از دستگاه بخواند. اگر cdrecord همزمان درایور SCSI را باز کند، این کار امکانپذیر نخواهد بود.
- -useinfo
- استفاده از
فایلهای
*.inf برای
بازنویسی
گزینههای
صوتی. اگر
از این
گزینه
استفاده
شود،
اطلاعات
اندازه
پیشفاصله
(pregap)، اطلاعات
شاخص (index)،
اطلاعات
پیشتأکید
(pre-emphasis) و
اطلاعات CD-Text
از فایل *.inf
مرتبط با
فایلی که
حاوی
دادههای
صوتی یک
شیار است
خوانده
میشود.
اگر این گزینه همراه با گزینه -audio استفاده شود، در صورتی که cdrecord را به جای فایلهای صوتی، با فایلهای *.inf به عنوان فهرست پارامتر شیارها فراخوانی کنید، cdrecord میتواند برای رایت دیسکهای صوتی از طریق یک لوله (pipe) دریافت شده از cdda2wav به کار رود. در این حالت دادههای صوتی از stdin خوانده میشوند. بخش مثالها (EXAMPLES) را در زیر مشاهده کنید. برنامه Cdrecord ابتدا بررسی میکند که stdin به یک ترمینال متصل نباشد و برخی بررسیهای سازگاری اکتشافی را روی فایلهای *.inf انجام میدهد و سپس طول شیارها را بر اساس اطلاعات موجود در فایلهای *.inf تنظیم میکند.
اگر مایلید از طریق stdin رایت کنید، اطمینان حاصل کنید که cdrecord با اندازه بافر FIFO به اندازه کافی بزرگ فراخوانی شده است، سرعت نوشتن را به مقداری کمتر از سرعت خواندن درایو منبع کاهش دهید و قابلیت burn-free را برای درایو ضبطکننده روشن کنید.
گزینههای اسکازی (SCSI options)
- dev=target
- هدف (target)
اسکازی را
برای
ضبطکننده
CD/DVD/BluRay تعیین
میکند؛
یادداشتهای
بالا را
ببینید. یک
مشخصه
معمولی
دستگاه هدف
به صورت dev=1,6,0
است. اگر
لازم باشد
همراه با
مشخصه عددی
هدف، نام
فایلی نیز
ارائه شود،
نام فایل به
پیادهسازی
بستگی دارد.
نام صحیح
فایل در این
مورد را
میتوان در
راهنماهای
اختصاصی
سیستمعامل
مقصد پیدا
کرد. در یک
سیستم FreeBSD
بدون
پشتیبانی
از CAM، باید
از دستگاه
کنترلی
استفاده
کنید (برای
مثال /dev/rcd0.ctl). یک
مشخصه صحیح
دستگاه در
این مورد
ممکن است به
صورت dev=/dev/rcd0.ctl:@
باشد.
آدرسدهی عمومی اسکازی (General SCSI addressing)
عبارت دستگاه هدف (target device) در گزینه dev= به نمادگذاری استاندارد SCSI CAM برای scsibus/target/lun (گذرگاه اسکازی/هدف/شماره واحد منطقی) در ضبطکننده CD/DVD/BluRay اشاره دارد. ارتباط در SunOS با درایور عمومی اسکازی scg انجام میشود. سایر سیستمعاملها از شبیهسازی کتابخانهای این درایور استفاده میکنند. نحو ممکن به صورت زیر است: dev= scsibus,target,lun یا dev= target,lun. در حالت دوم، ضبطکننده CD/DVD/BluRay باید به گذرگاه (bus) پیشفرض اسکازی سیستم متصل باشد. مقادیر Scsibus، target و lun (گذرگاه، هدف و شماره واحد منطقی) اعداد صحیح هستند. برخی از سیستمعاملها یا پیادهسازیهای لایه انتقال اسکازی ممکن است علاوه بر این به مشخص کردن نام فایل نیاز داشته باشند. در این حالت نحو صحیح برای دستگاه به صورت زیر است: dev= devicename:scsibus,target,lun یا dev= devicename:target,lun. اگر نام گره دستگاه که در چنین سیستمی مشخص شده است دقیقاً به یک دستگاه اسکازی اشاره کند، میتوان از فرم کوتاه dev= devicename:@ یا dev= devicename:@,lun به جای dev= devicename:scsibus,target,lun استفاده کرد.آدرسدهی از راه دور اسکازی (Remote SCSI addressing)
برای دسترسی به دستگاههای اسکازی از راه دور، باید شناسه دستگاه راه دور را به ابتدای نام دستگاه اسکازی اضافه کنید. شناسه دستگاه راه دور به یکی از دو صورت زیر است: REMOTE:user@host: یا REMOTE:host: یک نام معتبر دستگاه اسکازی از راه دور میتواند به صورت زیر باشد: REMOTE:user@host: برای امکانپذیر ساختن پویش گذرگاه (bus) اسکازی از راه دور، یا REMOTE:user@host:1,0,0 برای دسترسی به دستگاه اسکازی در host که به گذرگاه اسکازی شماره ۱، هدف ۰ و شماره واحد منطقی ۰ (SCSI bus # 1, target 0, lun 0) متصل است. به منظور امکانپذیر ساختن دسترسی از راه دور به یک host (میزبان) مشخص، برنامه rscsi(1) باید در آن host وجود داشته و پیکربندی شده باشد.لایههای انتقال جایگزین اسکازی (Alternate SCSI transports)
برنامه Cdrecord کاملاً بر پایه دستورات SCSI طراحی شده است، اما این مسئله مشکلی ایجاد نمیکند؛ زیرا تمامی نویسندههای CD/DVD/BluRay ساختهشده تاکنون برای برقراری ارتباط از دستورات SCSI استفاده میکنند. حتی درایوهای ATAPI نیز در واقع درایوهای SCSI هستند که ذاتاً از رابط بستهای ATA به عنوان لایه انتقال دستورات SCSI تعبیهشده در لایه انتقال IDE (ATA) استفاده میکنند. اگر سیستمعامل شما یک زیرسیستم درایور هسته کاملاً یکپارچه پیادهسازی نکرده باشد که امکان دسترسی به هر درایوی را با استفاده از دستورات SCSI از طریق یک رابط کاربری واحد فراهم کند، ممکن است لازم باشد یک لایه انتقال جایگزین را در خط فرمان مشخص نمایید.برای دسترسی به دستگاههای اسکازی از طریق لایههای انتقال جایگزین، باید شناسه لایه انتقال را به ابتدای نام دستگاه اسکازی اضافه کنید. شناسه لایه انتقال ممکن است چیزی مانند USCSI: یا ATAPI: باشد. برای دریافت فهرستی از لایههای انتقال پشتیبانیشده در پلتفرم خود، از dev= HELP: استفاده کنید.
پیشزمینه سازگاری و انتقالپذیری (Portability Background)
برای اینکه cdrecord روی تمام پلتفرمهای UNIX قابل انتقال و اجرا باشد، نحو dev= devicename:scsibus,target,lun ترجیح داده میشود، زیرا دانش اختصاصی سیستمعامل در مورد نام دستگاهها را از دید کاربر پنهان میکند. یک سیستمعامل خاص لزوماً ممکن است راهی برای مشخص کردن نام فایل دستگاه واقعی یا روشی برای تعیین scsibus,target,lun ارائه ندهد.گذرگاه Scsibus شماره ۰، گذرگاه (bus) پیشفرض اسکازی در سیستم است. برای اطلاعات بیشتر پیامهای راهاندازی سیستم را بررسی کرده یا برای آگاهی از پیکربندی اسکازی سیستم خود، به فایل /var/adm/messages نگاهی بیندازید. اگر در تشخیص مقادیر مناسب برای scsibus,target,lun مشکلی دارید، گزینه -scanbus برنامه cdrecord را که در ادامه توضیح داده شده است امتحان کنید.
استفاده از نامهای منطقی برای دستگاهها (Using logical names for devices)
اگر گزینه dev داده نشده باشد، cdrecord سعی میکند دستگاه را از متغیر محیطی CDR_DEVICE به دست آورد.اگر فایل /etc/default/cdrecord موجود باشد، و اگر آرگومان ارائهشده به گزینه dev= یا متغیر محیطی CDR_DEVICE شامل نویسههای «,»، «/»، «@» یا «:» نباشد، به عنوان نام برچسب دستگاهی که در فایل /etc/default/cdrecord تعریف شده است تفسیر میشود (بخش FILES را ببینید).
حالت هدفیابی خودکار (Autotarget Mode)
اگر نه گزینه dev= و نه متغیر محیطی CDR_DEVICE مشخص نشده باشند، یا اگر مقدار آنها فقط حاوی مشخصکننده لایه انتقال بوده ولی نشانی خاصی نداشته باشد، cdrecord تلاش میکند فضای آدرس اسکازی را برای یافتن درایوهای CD-ROM پویش کند. اگر دقیقاً یک مورد یافت شود، به طور پیشفرض همان استفاده خواهد شد. - debug=#, -d
- مقدار اشکالزدایی متفرقه را روی # تنظیم میکند (با debug=#) یا سطح اشکالزدایی متفرقه را یک واحد افزایش میدهد (با -d). اگر -dd را مشخص کنید، این معادل debug=2 خواهد بود. این گزینه میتواند به پیدا کردن مشکلات هنگام باز کردن درایور برای libscg و همچنین اشکالات اندازه قطاعها و انواع قطاعها کمک کند. استفاده از -debug سرعت فرآیند را کاهش میدهد و ممکن است دلیلی برای سرریز منفی بافر (buffer underrun) باشد.
- kdebug=#, kd=#
- به درایور scg اعلام میکند که مقدار اشکالزدایی هسته را در حین اجرای دستورات اسکازی تغییر دهد.
- -reset
- تلاش میکند گذرگاه (bus) اسکازی که ضبطکننده CD روی آن قرار دارد را بازنشانی (reset) کند. این قابلیت روی تمام سیستمعاملها کار نمیکند.
- -scanbus
- تمامی دستگاههای اسکازی را در تمامی گذرگاههای (busses) اسکازی پویش کرده و رشتههای استعلام (inquiry strings) را چاپ میکند. از این گزینه میتوان برای یافتن آدرس اسکازی ضبطکننده CD/DVD/BluRay روی یک سیستم استفاده کرد. شمارههایی که به عنوان برچسب چاپ میشوند، به صورت زیر محاسبه میگردند: bus * 100 + target
- scgopts=list
- فهرستی جداشده با کاما از گزینههای اسکازی که توسط libscg مدیریت میشوند. گزینههای پیادهسازیشده ممکن است مستقل از برنامهها بهروزرسانی شوند. در حال حاضر، گزینه: ignore-resid برای دور زدن یک باگ هسته لینوکس پشتیبانی میشود.
- -silent, -s
- گزارش وضعیتی برای دستورات ناموفق اسکازی چاپ نمیکند.
- timeout=#
- مقدار پیشفرض زمان انقضای (timeout) دستورات اسکازی را روی # ثانیه تنظیم میکند. زمان انقضای پیشفرض دستورات اسکازی، حداقل زمان انقضایی است که برای ارسال دستورات اسکازی استفاده میشود. اگر یک دستور اسکازی به دلیل پایان زمان انقضا (timeout) با شکست مواجه شود، میتوانید زمان انقضای پیشفرض دستورات اسکازی را به مقداری فراتر از زمان انقضای دستور شکستخورده افزایش دهید. اگر دستور با افزایش زمان انقضا به درستی اجرا شد، لطفاً مقدار زمان انقضای بهتر و دستور مربوطه را به نویسنده برنامه گزارش دهید. اگر گزینه timeout= مشخص نشده باشد، زمان انقضای پیشفرض ۴۰ ثانیه استفاده میشود.
- ts=#
- حداکثر
اندازه
انتقال (transfer size)
را برای یک
دستور
منفرد
اسکازی روی
# تنظیم
میکند. نحو
گزینه ts=
همانند نحو
fs=# در cdrecord یا bs=# در sdd
است.
اگر گزینه ts= مشخص نشده باشد، cdrecord اندازه انتقال را به طور پیشفرض ۶۳ کیلوبایت (63 kB) در نظر میگیرد. اگر libscg مقادیر کمتری از سیستمعامل دریافت کند، این مقدار به حداکثر مقدار ممکن در سیستمعامل فعلی کاهش مییابد. گاهی اوقات کاهش یا افزایش بیشتر اندازه انتقال ممکن است کمککننده باشد، اما توجه داشته باشید که یافتن مقدار بهتر از طریق آزمون و خطا با گزینه ts= ممکن است زمان زیادی طول بکشد.
- -V
- سطح پرگویی (verbose) را در ارتباط با لایه انتقال دستورات اسکازی یک واحد افزایش میدهد. این گزینه به اشکالزدایی مشکلاتی که حین فرآیند نوشتن در ضبطکننده CD/DVD/BluRay رخ میدهند کمک میکند. اگر پیامهای خطای نامفهومی دریافت میکنید، باید از این فلگ برای دریافت خروجی با جزئیات بیشتر استفاده کنید. گزینه -VV علاوه بر این، محتوای بافر داده را نیز نمایش میدهد. استفاده از -V یا -VV سرعت فرآیند را کاهش میدهد و ممکن است دلیلی برای سرریز منفی بافر (buffer underrun) باشد.
گزینههای قطعه (TRACK OPTIONS)
گزینههای قطعه ممکن است با نام فایلهای قطعه ترکیب شوند.
- -audio
- اگر این فلگ
مشخص شود،
تمام
قطعههای
بعدی در
قالب صوتی
CD-DA (مشابه
کتاب قرمز
یا Red Book) نوشته
میشوند.
فایل حاوی
دادههای
این
قطعهها
باید شامل
صدای
دیجیتال
استریو، ۱۶
بیتی با نرخ
۴۴۱۰۰
نمونه بر
ثانیه باشد.
ترتیب
بایتها
باید به این
صورت باشد:
بایت
باارزش چپ (MSB
left)، بایت
کمارزش چپ
(LSB left)، بایت
باارزش
راست (MSB right)،
بایت
کمارزش
راست (LSB right)،
بایت
باارزش چپ و
به همین
ترتیب. طول
قطعه باید
مضربی از
۲۳۵۲ بایت
باشد. قرار
دادن ایمیج
اصلی یک
قطعه صوتی
روی یک دیسک
خام (raw disk)
امکانپذیر
نیست زیرا
دادهها در
طول فرآیند
ضبط به صورت
مضربهایی
از ۲۳۵۲
بایت
خوانده
خواهند شد.
اگر نام فایلی به .au یا .wav ختم شود، آن فایل به عنوان یک فایل داده صوتی ساختاریافته در نظر گرفته میشود. Cdrecord فرض میکند که فایل در این حالت یک فایل صوتی Sun یا یک فایل Microsoft .WAV است و با گذشتن از اطلاعات سرآیند غیرصوتی، دادههای صوتی را از فایل استخراج میکند. در تمام موارد دیگر، cdrecord تنها زمانی به درستی کار خواهد کرد که جریان داده صوتی فاقد هرگونه سرآیند باشد. از آنجا که طول بسیاری از فایلهای صوتی ساختاریافته مضرب صحیحی از بلوکها (هر کدام ۱/۷۵ ثانیه) نیست، اغلب لازم است که گزینه -pad نیز مشخص شود. cdrecord تشخیص میدهد که دادههای صوتی در یک فایل .WAV با ترتیب بایت اینتل (little-endian) ذخیره شدهاند و در صورتی که ضبطکننده CD به دادههای big-endian نیاز داشته باشد، ترتیب بایتهای داده را به طور خودکار جابهجا (byte-swap) میکند. Cdrecord هر فایل صوتی را که با الزامات کتاب قرمز (Red Book) شامل نمونههای استریو ۱۶ بیتی در کدگذاری PCM با ۴۴۱۰۰ نمونه در ثانیه همخوانی نداشته باشد، رد خواهد کرد.
استفاده از سایر قالبهای داده صوتی ساختاریافته به عنوان ورودی برای cdrecord معمولاً در صورتی کار خواهد کرد که ساختار دادهها همان ساختار شرحدادهشده در بالا باشد (دادههای خام pcm با ترتیب بایت big-endian). با این حال، اگر قالب داده شامل یک سرآیند باشد، در ابتدای قطعه صدای یک کلیک را خواهید شنید.
- اگر نه -data و نه -audio مشخص نشده باشند، cdrecord به طور پیشفرض برای تمام نام فایلهایی که به .au یا .wav ختم میشوند از -audio و برای تمامی فایلهای دیگر از -data استفاده میکند.
- -cdi
- اگر این فلگ مشخص شود، نوع جدول محتویات (TOC) برای دیسک روی CDI تنظیم میشود. این گزینه فقط برای دیسکهای XA معنا دارد.
- -copy
- اگر این فلگ مشخص شود، تمام ورودیهای TOC برای قطعههای صوتی بعدی دیسک حاصل، نشان خواهند داد که دادههای صوتی اجازه کپی شدن نامحدود را دارند. این گزینه بر روی قطعههای داده تاثیری ندارد.
- -data
- اگر این فلگ مشخص شود، تمام قطعههای بعدی در قالب CD-ROM mode 1 (کتاب زرد یا Yellow Book) نوشته میشوند. اندازه داده مضربی از ۲۰۴۸ بایت است. فایل حاوی دادههای قطعه باید شامل ایمیج سیستم فایل ISO-9660 یا Rock Ridge باشد (برای جزئیات بیشتر به mkisofs مراجعه کنید). اگر دادههای قطعه یک ایمیج سیستم فایل ufs باشد، اندازه فرگمنت باید روی 2 KB یا بیشتر تنظیم شود تا امکان استفاده از درایوهای CD با اندازه سکتور 2 KB برای خواندن فراهم گردد.
- در صورتی که هیچ فلگ دیگری مشخص نشده باشد و به نظر نرسد که فایل از نوع فایلهای صوتی شناختهشده است، -data حالت پیشفرض است.
- اگر نه -data و نه -audio مشخص نشده باشند، cdrecord به طور پیشفرض برای تمام نام فایلهایی که به .au یا .wav ختم میشوند از -audio و برای تمامی فایلهای دیگر از -data استفاده میکند.
- index=list
- یک فهرست شاخص را برای قطعه بعدی تنظیم میکند. فهرست شاخص، فهرستی از اعداد جداشده با کاما است که از شاخص ۱ شمارش میشوند. نخستین ورودی در این فهرست باید حاوی 0 باشد و اعداد بعدی باید فهرستی صعودی از اعداد (با شمارش در واحدهای ۱/۷۵ ثانیهای) باشند که نقطه شروع شاخصها را نشان میدهند. یک فهرست شاخص به شکل: 0,7500,15000 شاخص ۱ را در ابتدای قطعه، شاخص ۲ را در ۱۰۰ ثانیه پس از شروع قطعه، و شاخص ۳ را در ۲۰۰ ثانیه پس از شروع قطعه قرار میدهد.
- -isosize
- از اندازه
سیستم فایل
ISO-9660 به عنوان
اندازه
قطعه بعدی
استفاده
میکند. این
گزینه در
صورتی لازم
است که
بخواهید cdrecord
ایمیج یک
قطعه را
مستقیماً
از یک
پارتیشن
خام دیسک یا
از یک CD مرجع
TAO بخواند.
در حالت
نخست،
گزینه -isosize
برای محدود
کردن
اندازه CD به
اندازه
سیستم فایل
ISO لازم است.
در حالت
دوم، گزینه
-isosize برای
جلوگیری از
این امر
لازم است که
cdrecord دو بلوک
پایانی (run-out blocks)
را که توسط
هر
ضبطکننده
CD در حالت track-at-once
افزوده
میشوند،
بخواند. این
دو بلوک
پایانی
قابل
خواندن
نیستند و
باعث تخلیه
بافر (buffer underrun)
شده که منجر
به یک کپی
معیوب
خواهد شد.
توجه داشته باشید که اگر از این گزینه روی فایلهای ایجادشده توسط mkisofs استفاده شود، دادههای لایهگذاری (padding) که توسط mkisofs افزوده شده بودند از بین رفته و با لایهگذاری ارائهشده توسط cdrecord جایگزین میشوند. این امر ممکن است مقدار لایهگذاری را نیز تغییر دهد.
در صورتی که cdrecord دادههای قطعه را از stdin بخواند، تنها برای قطعه اول میتوان از گزینه -isosize استفاده کرد.
اگر گزینه -isosize برای یک قطعه استفاده شود، cdrecord به طور خودکار برای این قطعه لایهگذاری اضافه میکند، به گونهای که گویی گزینه -pad استفاده شده است، اما مقدار لایهگذاری ممکن است کمتر از مقدار لایهگذاری نوشتهشده توسط mkisofs باشد. توجه داشته باشید که اگر از -isosize روی قطعهای استفاده کنید که حاوی اطلاعات بوت Sparc است، اطلاعات بوت از بین خواهد رفت.
همچنین توجه داشته باشید که در صورت وجود گزینه -multi, نمیتوان از این گزینه برای تعیین اندازه سیستم فایل استفاده کرد.
- isrc=ISRC_number
- مقدار «کد بینالمللی استاندارد ضبط» (International Standard Recording Number) را برای قطعه بعدی روی ISRC_number تنظیم میکند.
- -mode2
- اگر این فلگ مشخص شود، تمام قطعههای بعدی در قالب CD-ROM mode 2 نوشته میشوند. اندازه داده مضربی از ۲۳۳۶ بایت است.
- -nocopy
- اگر این فلگ مشخص شود، تمام ورودیهای TOC برای قطعههای صوتی بعدی دیسک حاصل، نشان خواهند داد که دادههای صوتی تنها یک بار برای استفاده شخصی اجازه کپی دارند - این حالت پیشفرض است.
- -nopad
- قطعههای بعدی لایهگذاری نشوند - این حالت پیشفرض است.
- -nopreemp
- اگر این فلگ مشخص شود، تمام ورودیهای TOC برای قطعههای صوتی بعدی نشان خواهند داد که مسترینگ دادههای صوتی با دادههای خطی انجام شده است - این حالت پیشفرض است.
- -noshorttrack
- استاندارد طول قطعه در کتاب قرمز (Red Book) را مجدداً اعمال میکند. قطعهها باید دستکم ۴ ثانیه باشند.
- -pad
- اگر قطعه یک
قطعه داده
باشد، ۱۵
سکتور داده
صفرشده به
انتهای این
قطعه و هر
یک از
قطعههای
داده بعدی
افزوده
خواهد شد.
در این
حالت،
گزینه -pad
توسط گزینه
padsize= جایگزین
میشود. با
این حال
همچنان به
عنوان
کوتاهنوشتی
برای padsize=15s
باقی خواهد
ماند. اگر
گزینه -pad به
یک قطعه
صوتی اشاره
داشته
باشد، cdrecord
دادههای
صوتی را به
گونهای
لایهگذاری
میکند که
مضربی از
۲۳۵۲ بایت
باشد.
لایهگذاری
دادههای
صوتی با
صفرهای
دودویی
انجام
میشود که
برابر با
سکوت مطلق
است.
گزینه -pad تا زمانی که توسط -nopad غیرفعال نشود معتبر باقی میماند.
- padsize=#
- مقدار دادهای را که باید به عنوان لایهگذاری به قطعه بعدی افزوده شود روی # تنظیم میکند. برخلاف رفتار گزینه -pad, مقدار padsize= برای هر قطعه جدید به صفر بازنشانی میشود. Cdrecord اندازه سکتور را برای گزینه padsize= بدون در نظر گرفتن اندازه واقعی سکتور و بدون در نظر گرفتن حالت نوشتن، ۲۰۴۸ بایت فرض میکند. با این وجود، مگابایتهای ذکرشده در خروجی حالت پرگو (verbose) اندازه سکتور خروجی را محاسبه میکنند که برای مثال هنگام نوشتن در حالت RAW/RAW96 برابر با ۲۴۴۸ بایت است. برای آرگومانهای ممکن به گزینه fs= مراجعه کنید. برای لایهگذاری معادل ۲۰ دقیقه بر روی یک CD، میتوانید بنویسید: padsize=20x60x75s. اگر درایو CD شما قادر به خواندن آخرین سکتورهای یک قطعه نیست یا میخواهید بتوانید CD را روی یک سیستم لینوکس دارای اشکال پیشخوانی (read-ahead bug) سیستم فایل ISO-9660 بخوانید، از این گزینه استفاده کنید. اگر از یک فایل خالی برای دادههای قطعه استفاده شود، میتوان از این گزینه برای ایجاد دیسکی استفاده کرد که به طور کامل از لایهگذاری ساخته شده است. این کار مثلاً میتواند برای کشف این که چه مقدار رایت بیش از ظرفیت (overburning) روی یک رسانه خاص امکانپذیر است، استفاده شود.
- -preemp
- اگر این فلگ مشخص شود، تمام ورودیهای TOC برای قطعههای صوتی بعدی نشان خواهند داد که از دادههای صوتی با پیشتاکید (pre-emphasis) معادل ۵۰/۱۵ میکروثانیه (microsec) نمونهبرداری شده است. با این حال، دادهها در طول فرآیند انتقال از فایل به دیسک تغییر نمیکنند. این گزینه هیچ تاثیری بر قطعههای داده ندارد.
- pregap=#
- اندازه
پیشفاصله
(pre-gap) را برای
قطعه بعدی
تنظیم
میکند. این
گزینه در
حال حاضر
تنها برای
درایو TEAC
هنگام
ایجاد
دیسکهای
track-at-once بدون ۲
ثانیه سکوت
پیش از هر
قطعه
کاربرد
دارد.
این گزینه ممکن است در آینده حذف شود. - -scms
- اگر این فلگ مشخص شود، تمام ورودیهای TOC برای قطعههای صوتی بعدی دیسک حاصل، نشان خواهند داد که دادههای صوتی دیگر اجازه کپی شدن ندارند.
- -shorttrack
- به تمامی قطعههای بعدی اجازه میدهد استاندارد طول قطعه در کتاب قرمز (Red Book) را که نیازمند حداقل طول قطعه ۴ ثانیه است، نقض کنند. این گزینه فقط زمانی مفید است که در حالت SAO یا RAW استفاده شود. همه درایوها از این قابلیت پشتیبانی نمیکنند. درایو باید برگه CUE حاصل را بپذیرد یا از نوشتن در حالت RAW پشتیبانی کند.
- -swab
- اگر این فلگ
مشخص شود،
فرض میشود
که
دادههای
صوتی دارای
ترتیب بایت
جابهجاشده
(little-endian) هستند.
برخی از
انواع
درایوهای
رایت CD
مانند Yamaha، Sony و
درایوهای
جدید SCSI-3/mmc
نیاز دارند
دادههای
صوتی به
ترتیب little-endian
ارائه
شوند، در
حالی که
سایر
رایترها
نیاز دارند
دادههای
صوتی با
ترتیب بایت
big-endian (شبکهای)
که معمولاً
توسط
پروتکل SCSI
استفاده
میشود
ارائه
گردند. Cdrecord
تشخیص
میدهد که
آیا یک
ضبطکننده
CD به
دادههای
صوتی با
ترتیب big-endian یا
little-endian نیاز
دارد یا
خیر، و
ترتیب بایت
جریان داده
را تصحیح
میکند تا
با نیازهای
دستگاه ضبط
مطابقت
داشته باشد.
شما تنها
زمانی به
فلگ -swab نیاز
دارید که
جریان داده
شما با
ترتیب بایت
اینتل (little-endian)
باشد.
توجه داشته باشید که خروجی پرگوی cdrecord به شما نشان میدهد که آیا جابهجایی بایتها برای تطبیق ترتیب بایت دادههای ورودی با ترتیب بایت مورد نیاز دستگاه ضبط لازم است یا خیر. Cdrecord نشان نخواهد داد که آیا فلگ -swab واقعاً برای یک قطعه مشخص شده بود یا خیر.
- tsize=#
- اگر ایمیج
اصلی برای
قطعه بعدی
روی یک دیسک
خام ذخیره
شده است، از
این گزینه
برای مشخص
کردن مقدار
داده معتبر
روی این
دیسک
استفاده
کنید. اگر
ایمیج قطعه
بعدی در یک
فایل
معمولی
ذخیره شده
باشد،
اندازه آن
فایل برای
تعیین طول
این قطعه در
نظر گرفته
میشود. اگر
قطعه شامل
یک ایمیج
سیستم فایل
ISO-9660 است، از
گزینه -isosize
برای تعیین
طول آن
ایمیج
سیستم فایل
استفاده
کنید.
در حالت Disk At Once و با برخی درایوهایی که از رابط برنامهنویسی TEAC استفاده میکنند، حتی در حالت Track At Once، cdrecord پیش از شروع نوشتن دیسک نیاز دارد اندازه هر قطعه را بداند. Cdrecord اکنون این مورد را بررسی کرده و پیش از شروع نوشتن متوقف میشود. در صورت بروز این وضعیت، باید پیش از آن دستور mkisofs -print-size را اجرا کرده و از خروجی آن (با افزودن `s`) به عنوان آرگومانی برای گزینه tsize= در cdrecord استفاده کنید (برای نمونه tsize=250000s).
برای آرگومانهای ممکن به گزینه fs= مراجعه کنید. - -xa
- اگر این فلگ مشخص شود، تمام قطعههای بعدی در قالب CD-ROM XA mode 2 form 1 نوشته میشوند. اندازه داده مضربی از ۲۰۴۸ بایت است. زیرسرآیندهای سکتور XA توسط درایو ایجاد خواهند شد. با این گزینه، حالت نوشتن همانند گزینه -multi است.
- -xa1
- اگر این فلگ مشخص شود، تمام قطعههای بعدی در قالب CD-ROM XA mode 2 form 1 نوشته میشوند. اندازه داده مضربی از ۲۰۵۶ بایت است. زیرسرآیندهای سکتور XA بخشی از دادههای کاربر هستند و باید توسط برنامهای که دادهها را برای نوشتن آماده میکند ارائه شوند.
- -xa2
- اگر این فلگ مشخص شود، تمام قطعههای بعدی در قالب CD-ROM XA mode 2 form 2 نوشته میشوند. اندازه داده مضربی از ۲۳۲۴ بایت است. زیرسرآیندهای سکتور XA توسط درایو ایجاد خواهند شد.
- -xamix
- اگر این فلگ مشخص شود، تمام قطعههای بعدی به گونهای نوشته میشوند که امکان ترکیب قالبهای CD-ROM XA mode 2 form 1/2 فراهم شود. اندازه داده مضربی از ۲۳۳۲ بایت است. زیرسرآیندهای سکتور XA بخشی از دادههای کاربر هستند و باید توسط برنامهای که دادهها را برای نوشتن آماده میکند ارائه شوند. اطلاعات CRC و برابری P/Q مربوط به ECC/EDC (بسته به نوع سکتور) باید توسط برنامهای که دادهها را برای نوشتن آماده میکند ارائه شوند.
مثالها (EXAMPLES)
برای تمام مثالهای زیر، فرض میشود که سیستم دارای دو درایو است. فرض بر این است که درایو خواننده، هدف ۱ روی گذرگاه اولیه SCSI است. ضبطکننده CD/DVD/BluRay نیز به عنوان هدف ۲ روی گذرگاه اولیه SCSI سیستم در نظر گرفته شده است.
اگر تنها یک درایو در سیستم وجود دارد، گزینه dev= میتواند در مثالهای زیر حذف شود، اما در این حالت مثالهای مربوط به تکثیر بدون فایلهای واسط کاربردی نخواهند بود.
تکثیر یک سیدی صوتی (Replicating an Audio CD)
برای کپی کردن یک سیدی صوتی به دقیقترین روش، ابتدا دستور زیر را اجرا کنید:
cdda2wav dev=1,0 paraopts=proof -vall cddb=0 -B -Owav
و سپس دستور زیر را اجرا نمایید:
cdrecord dev=2,0 -v -dao -useinfo -text *.wav
این کار تلاش میکند نمایههای شیارها را کپی کرده و اطلاعات CD-Text را از دیسک بخواند. اگر اطلاعات CD-Text وجود نداشته باشد، cdda2wav تلاش خواهد کرد به جای آن اطلاعات را از freedb.org دریافت کند.
برای کپی کردن یک سیدی صوتی از طریق لوله (بدون فایلهای واسط)، ابتدا دستور زیر را اجرا کنید:
cdda2wav dev=1,0 -vall cddb=0 -info-only
و سپس دستور زیر را اجرا نمایید:
cdda2wav dev=1,0 -no-infofile -B -Oraw - | \
cdrecord dev=2,0 -v -dao -audio -useinfo -text *.inf
این کار تمام اطلاعات (از جمله اطلاعات اندازه شیار) را از فایلهای *.inf دریافت کرده و سپس دادههای صوتی را از ورودی استاندارد (stdin) میخواند.
اگر مایلید از stdin بنویسید، اطمینان حاصل کنید که cdrecord با اندازه بافر FIFO به اندازه کافی بزرگ (مانند fs=128m) فراخوانی شود، سرعت نوشتن را به مقداری کمتر از سرعت خواندن درایو مبدأ کاهش دهید (مانند speed=12)، و گزینه burn-free را برای درایو ضبطکننده با افزودن driveropts=burnfree فعال کنید. به همین دلیل، در این حالت استخراج دادههای صوتی در حالت paranoia توصیه نمیشود.
تکثیر یک لوح ساده CD-ROM/DVD-ROM/BD-ROM
برای کپی کردن یک دیسک ساده، ابتدا نسخه اصلی را با استفاده از دستور زیر بخوانید:
readcd dev=1,0 f=somefile
سپس دیسک را با استفاده از دستور زیر بنویسید:
cdrecord dev=2,0 -v somefile
تکثیر CD-ROM در حالت Clone
برای کپی کردن یک سیدی در حالت clone، ابتدا سیدی اصلی را با دستور زیر بخوانید:
readcd dev=1,0 -clone f=somefile
یا (در صورتی که سیدی شامل بخشهای زیادی باشد که عمداً غیرقابل خواندن هستند) با اجرای دستور:
readcd dev=1,0 -clone -nocorr f=somefile
این کار فایلهای somefile و somefile.toc را ایجاد میکند. سپس سیدی را با استفاده از دستور زیر بنویسید:
cdrecord dev=2,0 -raw96r -clone -v somefile
ایجاد سیدی صوتی
برای ضبط یک CD-DA (صوتی) خالص با سرعت تکبرابر (1x)، بهطوری که هر شیار در فایلهایی با نامهای track01.cdaudio, track02.cdaudio, و غیره ذخیره شده باشد:
cdrecord -v speed=1 dev=2,0 -dao -audio track*.cdaudio
برای بررسی اینکه آیا استفاده از سرعت دوبرابر برای مثال بالا مناسب است یا خیر، از گزینه نوشتن آزمایشی (dummy write) استفاده کنید:
cdrecord -v -dummy speed=2 dev=2,0 -dao -audio track*.cdaudio
ایجاد سیدی ترکیبی صوتی-داده
برای ضبط یک سیدی حالت ترکیبی با سیستم فایل ISO-9660 از cdimage.raw روی شیار اول، و سایر شیارها به عنوان شیارهای صوتی از فایلهای track01.cdaudio, track02.cdaudio, و غیره:
cdrecord -v dev=2,0 -dao cdimage.raw -audio track*.cdaudio
ایجاد CD-ROM/DVD-ROM/BD-ROM
برای ضبط یک دیسک خالص با سرعت دوبرابر با استفاده از دادههای فایل cdimage.raw:
cdrecord -v speed=2 dev=2,0 -dao cdimage.raw
برای ایجاد یک ایمیج برای سیستم فایل ISO-9660 همراه با پسوندهای Rock Ridge:
mkisofs -R -o cdimage.raw /home/joerg/master/tree
برای بررسی فایل حاصل پیش از نوشتن روی دیسک در سولاریس:
mount -r -F fbk -o type=hsfs /dev/fbk0:cdimage.raw /mnt
درایور fbk نخستین بار در سال ۱۹۸۸ معرفی شد.
سولاریس ۹ یا جدیدتر با گونهای از ایده اصلی fbk به نام lofi ارائه میشود. دستور مربوط به گونه lofi عبارت است از:
mount -r -F hsfs ` lofiadm -a /tmp/cdimage.raw ` /mnt
توجه داشته باشید که lofiadm به مسیرهای مطلق نیاز دارد.
در لینوکس:
mount cdimage.raw -r -t iso9660 -o loop /mnt
با
دستورات
زیر ادامه
دهید:
ls -lR /mnt
umount /mnt
اگر سرعت کلی سیستم کافی باشد و ساختار سیستم فایل بیش از حد پیچیده نباشد، cdrecord بدون نیاز به ایجاد ایمیجی از سیستم فایل ISO-9660 اجرا خواهد شد. کافی است خط لوله زیر را اجرا کنید:
mkisofs -R /master/tree | cdrecord -v -dao fs=6m speed=2 dev=2,0 -
حداقل اندازه توصیه شده بافر FIFO برای اجرای این خط لوله ۴ مگابایت است. از آنجا که اندازه پیشفرض FIFO برابر با ۴ مگابایت است، گزینه fs= تنها زمانی لازم است که بخواهید از اندازه بافر FIFO متفاوتی استفاده کنید. اگر سیستم شما زیر بار پردازشی است، باید mkisofs را نیز در کلاس بیدرنگ اجرا کنید. برای افزایش اولویت mkisofs دستور
mkisofs -R /master/tree
را در
سولاریس با
دستور
priocntl -e -c RT -p 59 mkisofs -R /master/tree
و در سیستمهایی که فاقد زمانبندی بیدرنگ سازگار با UNIX International هستند با دستور
nice --18 mkisofs -R /master/tree
جایگزین نمایید.
برنامه Cdrecord در سولاریس با اولویت ۵۹ اجرا میشود، بنابراین باید mkisofs را حداکثر با اولویت ۵۸ اجرا کنید. در سایر سیستمها، باید mkisofs را با نایس حداکثر nice --18 (بالاترین اولویت) اجرا کنید.
ایجاد یک CD-ROM بدون فایل ایمیج سیستم فایل روی دیسک، بر روی یک Sparcstation-2 با درایو Yamaha CDR-400 آزمایش شده است. این فرایند زمانی که سیستم زیر بار نبود تا سرعت چهاربرابر کار کرد. یک سیستم سریعتر ممکن است حتی در حالت بار پردازشی نیز بتواند سرعت چهاربرابر را مدیریت کند.
برای درایوهایی که لازم است اندازه یک شیار را پیش از شروع نوشتن بدانند، ابتدا دستور زیر را اجرا کنید:
mkisofs -R -quiet -print-size /master/tree
و سپس دستور زیر را اجرا نمایید:
mkisofs -R /master/tree | cdrecord -v -dao speed=2 dev=2,0 tsize=XXXs -
که در آن XXX با خروجی اجرای پیشین mkisofs جایگزین میشود.
تنظیم گزینههای درایو
برای تنظیم گزینههای درایو بدون نوشتن روی یک دیسک (برای نمونه تغییر حالت درایو به single-session)، دستور زیر را اجرا کنید:
cdrecord dev=2,0 -setdropts driveropts=singlesession
اگر میخواهید این کار را زمانی که دیسکی در درایو قرار ندارد انجام دهید، دستور زیر را اجرا نمایید:
cdrecord dev=2,0 -force -setdropts driveropts=singlesession
محیط (ENVIRONMENT)
- CDR_DEVICE
- این متغیر میتواند یک شناسه دستگاه مناسب برای فراخوانی open کتابخانه ترابری SCSI یا یک برچسب در فایل /etc/default/cdrecord باشد.
- CDR_SPEED
- مقدار سرعت پیشفرض را برای نوشتن تعیین میکند (همچنین گزینه -speed را ببینید).
- CDR_FIFOSIZE
- اندازه پیشفرض بافر FIFO را تعیین میکند (همچنین گزینه fs=# را ببینید).
- CDR_FORCERAWSPEED
- اگر این متغیر محیطی تنظیم شده باشد، cdrecord به شما اجازه میدهد با حداکثر سرعت کدگذاری خام (RAW) که یک پردازنده منفرد پشتیبانی میکند، بنویسید. این کار پتانسیل بالایی برای خطای خالی شدن بافر (buffer underrun) ایجاد میکند. با احتیاط استفاده شود.
- CDR_FORCESPEED
- اگر این
متغیر
محیطی
تنظیم شده
باشد، cdrecord به
شما اجازه
میدهد با
حداکثر
سرعت DMA که
سیستم
پشتیبانی
میکند،
بنویسید.
هیچ
اندوخته DMA
برای
خواندن
دادههایی
که قرار است
از دیسک
نوشته شوند
وجود
نخواهد
داشت. این
کار احتمال
بالایی
برای خالی
شدن بافر (buffer
underrun) ایجاد
میکند. با
احتیاط
استفاده
شود.
اگر این متغیر محیطی روی مقدار any تنظیم شده باشد، cdrecord اجازه میدهد با هر سرعتی عملیات نوشتن انجام شود، حتی اگر بعداً به دلیل خطای خالی شدن بافر با شکست مواجه گردد.
- RSH
- اگر متغیر
محیطی RSH
تعریف شده
باشد،
اتصال راه
دور از طریق
rcmd(3) ایجاد
نخواهد شد،
بلکه با
فراخوانی
برنامهای
که توسط RSH
مشخص شده
است برقرار
میشود.
برای نمونه
از RSH=/usr/bin/ssh جهت
ایجاد یک
اتصال
پوسته امن (SSH)
استفاده
کنید.
توجه داشته باشید که این کار cdrecord را وادار میکند یک لوله (pipe) به برنامه rsh(1) ایجاد کند و مانع دسترسی مستقیم cdrecord به سوکت شبکه سرور راه دور میشود. این موضوع امکان تنظیم پارامترهای کارایی را غیرممکن ساخته و سرعت اتصال را در مقایسه با یک اتصال rcmd(3) آغاز شده توسط root کاهش میدهد.
- RSCSI
- اگر متغیر محیطی RSCSI تعریف شده باشد، سرور راه دور SCSI برنامه /opt/schily/sbin/rscsi نخواهد بود، بلکه برنامهای خواهد بود که متغیر RSCSI به آن اشاره دارد. توجه داشته باشید که اگر با حسابی وارد سیستم شوید که پوسته ورود آن با یک برنامه سرور راه دور SCSI تنظیم شده باشد، نام برنامه سرور راه دور SCSI نادیده گرفته خواهد شد.
وضعیت خروج (EXIT STATUS)
کدهای خروج زیر مورد استفاده قرار میگیرند:
- 0
- هیچ خطایی رخ نداده است.
- -1
- یک خطای مشخص رخ داده است. این ممکن است ناشی از خطای کاربرد به دلیل خط فرمان نامعتبر یا خطای دیگری با پیام خطای مشخص از سوی cdrecord باشد.
- -2
- یک خطای نامشخص هنگام برقراری ارتباط با درایو رخ داده است. برای اطلاعات بیشتر به پیام خطای SCSI مراجعه کنید. بخش تشخیص خطا (DIAGNOSTICS) در زیر حاوی توضیحاتی درباره نحوه خواندن پیامهای خطای SCSI است.
- other
- مقدار errno ناشی از یک فراخوانی سیستمی ناموفق.
توجه داشته باشید که سیستمعاملهای قدیمیتر و پوستههای قدیمی ممکن است از کل محدوده ۳۲ بیتی کد خروج پشتیبانی نکنند و مقدار را با 0xFF ماسک کنند. این امر منجر به کوتاه شدن کدهای خروج در محدوده 0..255 میشود که در آن -1 به 255 نگاشت میگردد.
فایلها (FILES)
- /etc/default/cdrecord
- میتوان مقادیر پیشفرض را برای گزینههای زیر در /etc/default/cdrecord تنظیم کرد. به عنوان مثال: CDR_FIFOSIZE=8m یا CDR_SPEED=2
- CDR_DEVICE
- این متغیر میتواند شامل یک شناسه دستگاه باشد که برای فراخوانی open در کتابخانه انتقال SCSI مناسب است، یا یک برچسب در فایل /etc/default/cdrecord که امکان شناسایی یک درایو مشخص در سیستم را فراهم میکند.
- CDR_SPEED
- مقدار سرعت پیشفرض را برای نوشتن تعیین میکند (همچنین گزینه -speed را ببینید).
- CDR_FIFOSIZE
- اندازه پیشفرض FIFO را تعیین میکند (همچنین گزینه fs=# را ببینید).
- CDR_MAXFIFOSIZE
- حداکثر اندازه FIFO را تعیین میکند (همچنین گزینه fs=# را ببینید).
- هر برچسب دیگر (Any other label)
- شناسهای
برای یک
درایو مشخص
در سیستم
است. چنین
شناسهای
نباید شامل
نویسههای
','، '/'، '@' یا ':'
باشد.
هر خطی که پس از یک برچسب میآید شامل فهرستی از موارد است که با نویسه TAB (تب) از هم جدا شدهاند. در حال حاضر چهار مورد شناسایی میشوند: شناسه SCSI درایو، سرعت پیشفرضی که باید برای این درایو استفاده شود، اندازه پیشفرض FIFO که باید برای این درایو استفاده شود و گزینههای ویژه درایو. مقادیر speed و fifosize میتوانند روی -1 تنظیم شوند تا به cdrecord اعلام کنند از مقادیر پیشفرض سراسری استفاده کند. در صورتی که از هیچ driveropts استفاده نشود، مقدار آن میتواند روی "" تنظیم شود. یک خط نمونه ممکن است به این شکل باشد:
teac1= 0,5,0 4 8m ""
yamaha= 1,6,0 -1 -1 burnfree
این خطوط به cdrecord میگویند درایوی به نام teac1 در scsibus 0، target 5، lun 0 قرار دارد و باید با سرعت ۴ و اندازه FIFO برابر با ۸ مگابایت استفاده شود. درایو دوم در scsibus 1، target 6، lun 0 قرار دارد و از سرعت پیشفرض و اندازه پیشفرض FIFO استفاده میکند.
- *.inf
- فایلهای
*.inf توسط cdda2wav
ایجاد
میشوند که
در آن * با
پیشوند
واقعی فایل
صوتی
جایگزین
میشود. این
فایلها در
صورتی که cdrecord
با گزینه -useinfo
فراخوانی
شده باشد،
توسط آن
خوانده و
استفاده
میشوند.
به طور کلی سه نوع پارامتر وجود دارد:
- پارامترهای عددی (numerical parameters)
- یک پارامتر عددی یک عدد است و مستقیماً پس از برچسب تگ بدون هیچگونه نقلقولی میآید.
- پارامترهای رشتهای بدون نقلقول (unquoted string type parameters)
- یک پارامتر بدون نقلقول از یک یا چند کلمه تشکیل شده است که مستقیماً پس از برچسب تگ میآیند. اینکه چه تعداد کلمه از فهرست پارامترها توسط cdrecord استفاده شود به برچسب تگ بستگی دارد.
- پارامترهای رشتهای درون نقلقول (quoted string type parameters)
- یک پارامتر از نوع رشته درون تککوتیشن (نقلقول تکی) محصور میشود. رشته از پس از اولین نویسه تککوتیشن بعد از برچسب تگ آغاز شده و قبل از آخرین تککوتیشن در همان خط پایان مییابد. در صورتی که تککوتیشن در داخل رشته ظاهر شود، به هیچ توالی گریز (escape sequence) نیاز ندارد. هر متنی در سمت راستِ آخرین نویسه تککوتیشن نادیده گرفته میشود.
ترتیب برچسبهای تگ در فایل اهمیتی ندارد.
برچسبهای تگ زیر ممکن است در یک فایل *.inf ظاهر شوند:
- CDINDEX_DISCID=
- شناسه دیسک
cdindex توسط
پایگاهداده
دیسک صوتی
musicbrainz
استفاده
میشود.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
این برچسب تگ توسط cdrecord نادیده گرفته میشود.
- CDDB_DISCID=
- شناسه دیسک
cddb توسط
پایگاههای
داده دیسک
صوتی cddb و freedb
استفاده
میشود.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
این برچسب تگ توسط cdrecord نادیده گرفته میشود.
- MCN=
- شماره
کاتالوگ
رسانه (MCN) یک
عدد ۱۳ رقمی
است که از
قوانین UPC/EAN-13
پیروی
میکند.
این داده توسط cdrecord برای ایجاد دادههای زیرکانال استفاده میشود.
- ISRC=
- کد
بینالمللی
استاندارد
ضبط (ISRC) یک
رشته ۱۲
بایتی است
که از دو
نویسه بزرگ
برای کد
کشور، به
دنبال آن سه
نویسه بزرگ
برای مالک،
به دنبال آن
دو رقم برای
سال ضبط، و
سپس پنج رقم
برای شماره
سریال ضبط
تشکیل شده
است.
برای افزایش خوانایی برچسب ISRC، ممکن است یک علامت خط تیره (منها) بین هر دو فیلد رشته ISRC وجود داشته باشد.
این داده توسط cdrecord برای ایجاد دادههای زیرکانال استفاده میشود.
- Albumtitle=
- مقدار Album Title
(عنوان
آلبوم) نام
دیسک در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Tracktitle=
- مقدار Track Title
(عنوان
شیار) نام
شیار جاری
در اطلاعات
CD-Text است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Albumperformer=
- مقدار Album Performer
(اجراکننده
آلبوم) نام
سراسری
اجراکننده
دیسک در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Performer=
- مقدار Performer
(اجراکننده)
نام
اجراکننده
شیار جاری
در اطلاعات
CD-Text است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Albumsongwriter=
- مقدار Album Songwriter
(ترانهسرای
آلبوم) نام
سراسری
ترانهسرای
دیسک در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Songwriter=
- مقدار Songwriter
(ترانهسرا)
نام
ترانهسرای
شیار جاری
در اطلاعات
CD-Text است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Albumcomposer=
- مقدار Album Composer
(آهنگساز
آلبوم) نام
سراسری
آهنگساز
دیسک در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Composer=
- مقدار Composer
(آهنگساز)
نام
آهنگساز
شیار جاری
در اطلاعات
CD-Text است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Albumarranger=
- مقدار Album Arranger
(تنظیمکننده
آلبوم) نام
سراسری
تنظیمکننده
دیسک در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Arranger=
- مقدار Arranger
(تنظیمکننده)
نام
تنظیمکننده
شیار جاری
در اطلاعات
CD-Text است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Albummessage=
- مقدار Album Message
(پیام
آلبوم) متن
پیام
سراسری
دیسک در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Message=
- مقدار Message
(پیام) متن
پیام شیار
جاری در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Albumclosed_info=
- مقدار Album Closed_info
(اطلاعات
اختصاصی
آلبوم) متن
اطلاعات
اختصاصی/محرمانه
سراسری
دیسک در
اطلاعات CD-Text
است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Closed_info=
- مقدار Closed_info
(اطلاعات
اختصاصی)
متن
اطلاعات
اختصاصی/محرمانه
شیار جاری
در اطلاعات
CD-Text است.
این برچسب تگ از یک پارامتر از نوع رشته داخل نقلقول استفاده میکند.
- Track=
- این
پارامتر
شامل شماره
نسبی شیار
جاری روی
دیسک اصلی
است. شیار
اول همیشه
دارای
شماره شیار
۱ است؛ یک
شیار مخفی
از شماره
شیار ۰
استفاده
میکند.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
این برچسب تگ توسط cdrecord نادیده گرفته میشود، مگر هنگام بررسی Trackstart برای شیار شماره ۱.
- Tracknumber=
- این
پارامتر
شامل شماره
مطلق شیار
جاری است که
از TOC روی
دیسک اصلی
استخراج
شده است.
شیار اول
روی دیسک
اصلی ممکن
است
شمارهای
بزرگتر از
۱ داشته
باشد؛ یک
شیار مخفی
همیشه از
شماره شیار
۰ استفاده
میکند.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
این برچسب تگ در حال حاضر توسط cdrecord نادیده گرفته میشود، زیرا cdrecord هنگام گردآوری اطلاعات دیسک، شمارههای شیار را تخصیص میدهد.
- Trackstart=
- این
پارامتر
شامل آفست
شروع شیار
بر حسب
سکتورها
روی دیسک
اصلی است.
اگر شیار
جاری به
شیار اول
روی دیسک
جدید تبدیل
شود و اگر
این شیار
شیار اول
روی دیسک
اصلی بوده
باشد، cdrecord از
این عدد
برای تنظیم
آفست index 1 روی
دیسک جدید
استفاده
میکند.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
- Tracklength=
- این
پارامتر
توسط cdrecord
برای تنظیم
اندازه
شیار روی
دیسک جدید
استفاده
میشود.
این برچسب تگ از یک پارامتر از نوع رشته بدون نقلقول به شکل "sectors, samples" استفاده میکند.
این برچسب برای cdrecord اجباری است.
- Pre-emphasis=
- پارامتر pre-emphasis
کنترل
میکند که
آیا بیت
پیشتأکید
(pre-emphasis) مربوطه
در
دادههای
زیرکانال
توسط cdrecord
تنظیم شود
یا خیر.
مقادیر
مجاز برای
این
پارامتر yes
و no هستند.
این برچسب تگ از یک پارامتر از نوع رشته بدون نقلقول استفاده میکند. مقادیر معتبر yes و no هستند.
- Channels=
- پارامتر
این تگ
تعداد
کانالهای
صوتی روی
دیسک است.
همه
دیسکهای
صوتی CD از
ضبط استریو
استفاده
میکنند و
بنابراین
مقدار ۲
پارامتر
صحیح است.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
این برچسب در حال حاضر توسط cdrecord نادیده گرفته میشود.
- Copy_permitted=
- پارامتر
این برچسب
تگ شامل
اطلاعاتی
درباره
وضعیت حق
نشر
(کپیرایت)
یک شیار روی
دیسک اصلی
است.
این برچسب تگ از یک پارامتر از نوع رشته بدون نقلقول استفاده میکند. مقادیر معتبر عبارتند از:
- yes
- بیت digital copy permitted (مجوز کپی دیجیتال) در TOC و دادههای زیرکانال تنظیم میشود. اگر این بیت تنظیم شود، شیار مربوطه تحت حفاظت حق نشر نیست و میتواند به دفعات نامحدود کپی شود.
- no
- بیت digital copy permitted در TOC تنظیم نمیشود. بیت digital copy permitted در دادههای زیرکانال با بسامد ۹٫۳۷۵ هرتز متناوباً تغییر وضعیت میدهد. به این سازوکار Serial Copy Management System (SCMS) (سامانه مدیریت کپی پیاپی) گفته میشود. هدف از این وضعیت شیار، نشانهگذاری این نکته است که سازنده CD مجوز حق نشر برای ایجاد کپی از شیار مربوطه را ندارد. شیار مربوطه تحت حفاظت حق نشر است و بنابراین به سازنده CD تنها مجوز ایجاد یک نسخه کپی بر اساس حقوق استفاده منصفانه داده شده است و هیچ کپی دیگری از این منبع مجاز نیست.
- once
- بیت digital copy permitted در TOC و دادههای زیرکانال تنظیم نمیشود. هدف از این وضعیت شیار، نشانهگذاری این نکته است که شیار مربوطه تحت حفاظت حق نشر است و بنابراین نباید به دفعات نامحدود کپی شود. تنها یک نسخه کپی بر اساس حقوق استفاده منصفانه مجاز است.
توجه داشته باشید که بسیاری از CDهای فروختهشده توسط صنعت موسیقی دارای نشان SCMS برای یک یا چند شیار هستند، که نشان میدهد شرکت تولیدکننده محتوا مالکیت حق نشر برای کپیبرداری از این شیار را ندارد.
- Endianess=
- پارامتر
این تگ
ترتیب
بایتی (byte order)
استفادهشده
در فایل
داده صوتی
است که برای
این شیار
ایجاد شده
بود.
این برچسب تگ از یک پارامتر از نوع رشته بدون نقلقول استفاده میکند. مقادیر معتبر little و big هستند.
این برچسب توسط cdrecord نادیده گرفته میشود زیرا ترتیب بایتی از فرمت فایل صوتی دریافت میشود.
- Index=
- فهرست
پارامترهای
این تگ
فهرستی از
اعداد است
که شماره
سکتورهایی
هستند که به
صورت نسبی
نسبت به
آغاز منطقی
شیار (که
همیشه در index #1
قرار دارد)
شمرده
میشوند. از
آنجا که هر
شیار باید
دارای یک
ورودی برای
index #1 باشد،
اولین
ورودی در
فهرست
همیشه ۰
است. اگر
ورودیهای
بیشتری
برای این تگ
وجود داشته
باشد،
مقادیر
آفست
بیشتری
هستند که
متناظر با
مقادیر
ایندکس
بزرگتر از
۱ میباشند.
این برچسب تگ از یک پارامتر از نوع رشته بدون نقلقول استفاده میکند که شامل فهرستی از شمارههای آفست ایندکس است که با فاصله از هم جدا شدهاند.
- Index0=
- پارامتر
این تگ عددی
است که
تعداد
سکتورها را
به صورت
نسبی نسبت
به آغاز (index #1)
این شیار
نشان
میدهد. این
عدد مشخص
میکند که index #0
از شیار
بعدی در کجا
آغاز
میشود. اگر
این
پارامتر
روی -1 تنظیم
شود، شیار
بعدی فاقد index #0
خواهد بود،
که نتیجه آن
اندازه pregap
(پیشفاصله)
برابر با ۰
برای شیار
بعدی است.
توجه داشته باشید که cdrecord دقیقاً از استاندارد CD پیروی میکند که مشخص میسازد آغاز منطقی یک شیار در محلی است که index #1 در این شیار آغاز میشود. اگر index #0 برای شیار n شامل دادههای صوتی باشد، دادههای صوتی مربوطه از نظر منطقی بخشی از شیار n-1 محسوب میشوند.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
- MD5-offset=
- پارامتر
این تگ آفست
بایتی است
که
دادههای
صوتی خام در
فایل صوتی
مربوطه از
آنجا آغاز
میشوند.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
این برچسب توسط cdrecord نادیده گرفته میشود.
- MD5-size=
- پارامتر
این تگ
تعداد
بایتهای
دادههای
صوتی خام در
فایل صوتی
مربوطه است.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
این برچسب توسط cdrecord نادیده گرفته میشود.
- MD5-sum=
- پارامتر
این تگ
چکسام md5
برای
دادههای
صوتی خام در
فایل صوتی
مربوطه است.
این برچسب تگ از یک پارامتر عددی استفاده میکند.
این برچسب توسط cdrecord نادیده گرفته میشود.
- *.cue
- فایلهای
*.cue
فایلهای
توصیف
ساختار
دیسک نوری (CD)
هستند که
توسط CDRWIN
معرفی شدند.
این
فایلها در
صورتی که cdrecord
با گزینه
cuefile=name.cue
فراخوانی
شده باشد،
خوانده شده
و مورد
استفاده
قرار
میگیرند.
دستورات زیر در فایلهای CUE پشتیبانی میشوند:
- ARRANGER arranger-string
- این دستور
برای مشخص
کردن نام
تنظیمکننده
برای دیسکی
که شامل
قابلیتهای
بهبودیافته
CD-Text است به کار
میرود.
این پارامتر، نام تنظیمکننده است. اگر رشته حاوی هرگونه فاصله باشد، باید درون علامت نقلقول قرار گیرد.
اگر دستور ARRANGER پیش از هر دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان تنظیمکننده کل دیسک کدگذاری خواهد شد. اگر دستور ARRANGER پس از یک دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان تنظیمکننده ترک جاری کدگذاری خواهد شد.
این دستور تنها در صورتی پذیرفته میشود که پسوندهای CUE اختصاصی cdrecord مجاز باشند.
- CATALOG media-catalog-number
- این دستور
برای مشخص
کردن
شماره
کاتالوگ
رسانه (Media Catalog Number)
دیسک به کار
میرود.
مقدار media-catalog-number
یک عدد ۱۳
رقمی است که
از قوانین
UPC/EAN-13 پیروی
میکند.
این دستور تنها میتواند یک بار در فایل CUE SHEET ظاهر شود. این دستور باید پیش از هر دستور TRACK قرار گیرد.
- CDTEXTFILE filename
- این دستور
برای تعیین
نام فایلی
به کار
میرود که
حاوی
اطلاعات
باینری
کدگذاریشده
CD-Text است.
برنامه CDRWIN
فقط
اطلاعات
باینری
کدگذاریشده
CD-Text بدون هدر
را
میپذیرد،
اما cdrecord
اطلاعات
باینری
کدگذاریشده
CD-Text با هدر
سازگار با MMC
را نیز قبول
میکند.
اطلاعات CD-Text
توسط cdrecord
نادیده
گرفته
میشوند،
مگر اینکه
از گزینه -text
استفاده
شود.
اگر نام فایل حاوی فاصله باشد، باید درون علامت نقلقول قرار گیرد.
- COMPOSER composer-string
- این دستور
برای تعیین
نام
آهنگساز
برای دیسکی
که شامل
قابلیتهای
بهبودیافته
CD-Text است به کار
میرود.
این پارامتر، نام آهنگساز است. اگر رشته حاوی هرگونه فاصله باشد، باید درون علامت نقلقول قرار گیرد.
اگر دستور COMPOSER پیش از هر دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان آهنگساز کل دیسک کدگذاری خواهد شد. اگر دستور COMPOSER پس از یک دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان آهنگساز ترک جاری کدگذاری خواهد شد.
این دستور تنها در صورتی پذیرفته میشود که پسوندهای CUE اختصاصی cdrecord مجاز باشند.
- FILE filename filetype
- این دستور
برای تعیین
یک فایل
داده یا
صوتی که
حاوی
دادههای
لازم برای
نوشتن بر
روی رسانه
است به کار
میرود.
اگر نام فایل حاوی فاصله باشد، باید درون علامت نقلقول قرار گیرد.
مقادیر زیر برای پارامتر نوع فایل مجاز هستند:
- BINARY
- فایل باینری اینتل (LSB اول)
- MOTOTOLA
- فایل باینری موتورولا (MSB اول)
- AIFF
- فایل صوتی AIFF
- WAVE
- فایل صوتی WAVE
- MP3
- فایل صوتی MP3
- AU
- فایل صوتی AU (تنها در صورتی مجاز است که پسوندهای CUE برنامه cdrecord فعال باشند)
- OGG
- فایل صوتی OGG (تنها در صورتی مجاز است که پسوندهای CUE برنامه cdrecord فعال باشند)
تمامی فایلهای صوتی (WAVE، AIFF، MP3، AU و OGG) باید در قالب استریو ۴۴۱۰۰ هرتز ۱۶ بیتی باشند. فرمتهای MP3 و OGG در حال حاضر پشتیبانی نمیشوند.
اگر یک فایل صوتی مضرب دقیقی از یک سکتور CDROM (۲۳۵۲ بایت) نباشد، با صفرهای اضافی پُر میشود (پدینگ) تا به اندازه مورد نیاز برسد.
تمام دستورات FILE باید پیش از دستور TRACK مربوطه و پس از آخرین دستور INDEX یا دستور POSTGAP برای ترک قبلی قرار گیرند.
اگر پسوندهای CUE اختصاصی cdrecord فعال باشند، یک دستور FILE میتواند میان یک دستور INDEX 00 و یک دستور INDEX 01 نیز ظاهر شود. این امر به کاربر اجازه میدهد برای هر ترک یک فایل ایجاد کند که فایل در INDEX 01 ترک شروع شده و پس از INDEX 00 ترک بعدی پایان مییابد. در این حالت، هیچ دستور FILE پیش از دستور TRACK مربوطه مجاز نیست.
- FLAGS flags
- این دستور
برای تنظیم
فلگهای
زیرکد (subcode)
ویژه درون
یک ترک به
کار میرود.
فلگهای زیر پشتیبانی میشوند:
- DCP
- کپی دیجیتال مجاز است
- 4CH
- صدای چهار کاناله
- PRE
- پیشتأکید فعال است (فقط برای ترکهای صوتی)
- SCMS
- سیستم مدیریت کپی متوالی (توسط همه دستگاههای ضبط پشتیبانی نمیشود)
بیش از یک آرگومان از نوع فلگ میتواند پس از دستور FLAGS قرار گیرد (برای مثال FLAGS DCP PRE).
دستور FLAGS باید پس از یک دستور TRACK اما پیش از هرگونه دستور INDEX قرار گیرد. تنها یک دستور FLAGS به ازای هر دستور TRACK مجاز است.
چهارمین فلگ زیرکد که ترکهای داده را مشخص میکند، به طور خودکار برای ترکهای داده تنظیم میشود.
- INDEX number mm:ss:ff
- این دستور
برای تعیین
اندیسها
درون یک ترک
به کار
میرود.
پارامتر اول، شماره اندیس در محدوده 0-99 است.
پارامتر دوم، زمان نسبی بر حسب دقیقه، ثانیه و فریم است (هر ثانیه شامل ۷۵ فریم است).
تمامی شمارههای اندیس باید بین ۰ تا ۹۹ (شامل خود آنها) باشند. نخستین اندیس برای یک ترک باید ۰ یا ۱ باشد و تمامی اندیسهای بعدی نسبت به اندیس نخست به صورت متوالی باشند. نخستین اندیس برای یک فایل باید از 00:00.00 شروع شود.
- INDEX 00
- زمان شروع pregap (فاصله پیشین) ترک را مشخص میکند.
- INDEX 01
- زمان شروع ترک را مشخص میکند. این اندیسی است که در جدول محتویات (TOC) برای دیسک به عنوان نقطه شروع ترک ذخیره میشود.
- INDEX > 1
- یک زیراندیس را درون ترک مشخص میکند.
- ISRC recording code
- این دستور
برای مشخص
کردن کد
استاندارد
بینالمللی
ضبط (ISRC) یک
ترک به کار
میرود. این
کدی است که
باید برای
تمامی
ترکهای
صوتی تجاری
وجود داشته
باشد.
طول کد ISRC باید ۱۲ نویسه باشد. دو نویسه اول، نویسههایی برگرفته از کد کشور دوحرفی هستند. سه نویسه بعدی الفبایی-عددی بوده و کد استودیو را مشخص میکنند. دو نویسه بعدی دو رقم آخر سال ضبط هستند. ۵ نویسه آخر ارقامی هستند که یک شماره سریال تشکیل میدهند که برای همان استودیو و سال یکتا است.
اگر پسوندهای CUE اختصاصی cdrecord مجاز باشند، چهار فیلد ISRC میتوانند با علامت خط تیره (منفی) از یکدیگر جدا شوند.
اگر از دستور ISRC استفاده شود، باید پس از یک دستور TRACK اما پیش از هرگونه دستور INDEX قرار گیرد.
- MESSAGE message-string
- این دستور
برای مشخص
کردن متن
پیام برای
دیسکی که
شامل
قابلیتهای
بهبودیافته
CD-Text است به کار
میرود.
این پارامتر، متن پیام است. اگر رشته حاوی هرگونه فاصله باشد، باید درون علامت نقلقول قرار گیرد.
اگر دستور MESSAGE پیش از هر دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان پیام کل دیسک کدگذاری خواهد شد. اگر دستور MESSAGE پس از یک دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان پیام ترک جاری کدگذاری خواهد شد.
این دستور تنها در صورتی پذیرفته میشود که پسوندهای CUE اختصاصی cdrecord مجاز باشند.
- PERFORMER performer-string
- این دستور
برای مشخص
کردن نام
اجراکننده
برای دیسکی
که شامل
قابلیتهای
بهبودیافته
CD-Text است به کار
میرود.
این پارامتر، نام اجراکننده است. اگر رشته حاوی هرگونه فاصله باشد، باید درون علامت نقلقول قرار گیرد.
اگر دستور PERFORMER پیش از هر دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان اجراکننده کل دیسک کدگذاری خواهد شد. اگر دستور PERFORMER پس از یک دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان اجراکننده ترک جاری کدگذاری خواهد شد.
- POSTGAP mm:ss:ff
- این دستور
برای مشخص
کردن طول
فاصله پسین
(postgap) در
انتهای یک
ترک به کار
میرود.
دادههای postgap
به صورت
داخلی توسط
cdrecord تولید
میشوند.
هیچ
دادهای از
فایل داده
جاری مصرف
نمیشود.
این پارامتر طول postgap را بر حسب دقیقه، ثانیه و فریم مشخص میکند.
دستور POSTGAP باید پس از تمامی دستورات INDEX برای ترک جاری قرار گیرد. تنها یک دستور POSTGAP به ازای هر ترک مجاز است.
- PREGAP mm:ss:ff
- این دستور
برای مشخص
کردن طول
فاصله
پیشین (pregap) در
ابتدای یک
ترک به کار
میرود.
دادههای pregap
به صورت
داخلی توسط
cdrecord تولید
میشوند.
هیچ
دادهای از
فایل داده
جاری مصرف
نمیشود.
این پارامتر طول pregap را بر حسب دقیقه، ثانیه و فریم مشخص میکند.
دستور PREGAP باید پس از یک دستور TRACK اما پیش از هرگونه دستور INDEX قرار گیرد. تنها یک دستور PREGAP به ازای هر ترک مجاز است.
- REM comment
- این دستور
برای قرار
دادن
توضیحات در
یک فایل CUE به
کار میرود.
متنی که در خط پس از یک دستور REM قرار میگیرد معمولاً نادیده گرفته میشود. یک استثنا وجود دارد: توضیح ویژه REM CDRTOOLS برای فعالسازی پسوندهای CUE اختصاصی cdrecord در تجزیهکننده استفاده میشود.
- SONGWRITER songwriter-string
- این دستور
برای مشخص
کردن نام
ترانهسرا
برای دیسکی
که شامل
قابلیتهای
بهبودیافته
CD-Text است به کار
میرود.
این پارامتر، نام ترانهسرا است. اگر رشته حاوی هرگونه فاصله باشد، باید درون علامت نقلقول قرار گیرد.
اگر دستور SONGWRITER پیش از هر دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان ترانهسرای کل دیسک کدگذاری خواهد شد. اگر دستور SONGWRITER پس از یک دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان ترانهسرای ترک جاری کدگذاری خواهد شد.
- TITLE title-string
- این دستور
برای مشخص
کردن عنوان
برای دیسکی
که شامل
قابلیتهای
بهبودیافته
CD-Text است به کار
میرود.
این پارامتر، عنوان برای یک ترک یا برای کل دیسک است. اگر رشته حاوی هرگونه فاصله باشد، باید درون علامت نقلقول قرار گیرد.
اگر دستور TITLE پیش از هر دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان عنوان کل دیسک کدگذاری خواهد شد. اگر دستور TITLE پس از یک دستور TRACK ظاهر شود، پارامتر رشتهای به عنوان عنوان ترک جاری کدگذاری خواهد شد.
- TRACK number datatype
- این دستور
برای شروع
یک TRACK جدید
به کار
میرود.
پارامتر اول، شماره ترک در محدوده 1-99 است.
پارامتر دوم، نوع داده ترک را مشخص میکند.
انواع دادههای زیر مجاز هستند:
- AUDIO
- صوتی/موسیقی (۲۳۵۲)
- CDG
- کارائوکه CD+G (۲۴۴۸)
- MODE1/2048
- داده CDROM Mode1 (پردازششده / cooked)
- MODE1/2352
- داده CDROM Mode1 (خام / raw)
- MODE2/2336
- داده CDROM-XA Mode2
- MODE2/2352
- داده CDROM-XA Mode2
- CDI/2336
- داده CDI Mode2
- CDI/2352
- داده CDI Mode2
تمامی شمارههای ترک باید بین ۱ تا ۹۹ (شامل خود آنها) باشند. شماره نخستین ترک میتواند بزرگتر از یک باشد، اما تمامی شمارههای ترک پس از نخستین باید متوالی باشند. باید حداقل یک ترک به ازای هر فایل وجود داشته باشد.
نکات (NOTES)
ممکن است همه گزینههای شرحدادهشده در این راهنما توسط نسخه متنباز (OpenSource) cdrecord پشتیبانی نشوند. در صورتی که تلاشی برای استفاده از گزینهای که در نسخه متنباز غیرفعال شده است صورت گیرد، cdrecord یک هشدار صادر میکند.
در سولاریس پیش از Solaris 10 Update 1، اگر مایلید از کد انتقال جایگزین SCSI یعنی USCSI استفاده کنید، باید مدیریت حافظه و دیسک (volume management) را متوقف نمایید. حتی مواردی مانند cdrecord -scanbus نیز در صورت فعال بودن مدیریت حجمها کار نخواهند کرد.
دیسکهای ساختهشده در حالت Track At Once به عنوان دیسک اصلی (مستر) برای تولید انبوه مستقیم توسط تولیدکنندگان سیدی مناسب نیستند. برای ضبط چنین دیسکهایی به گزینه disk at once نیاز خواهید داشت. با این وجود، دیسکهای ساختهشده در حالت Track At Once معمولاً در همه پخشکنندههای سیدی خوانده میشوند؛ هرچند برخی پخشکنندههای صوتی قدیمی سیدی ممکن است یک صدای کلیک دو ثانیهای میان دو قطعه صوتی ایجاد کنند.
حداقل اندازه یک قطعه (ترک) ۴ ثانیه یا ۳۰۰ سکتور است. اگر قطعههای کوچکتری بنویسید، دستگاه ضبط سیدی بلوکهای ساختگی (dummy) اضافه خواهد کرد. این یک خطا نیست، هرچند ممکن است پیام خطای SCSI اینگونه به نظر برسد.
برنامه Cdrecord روی یک ضبطکننده ارتقایافته Philips CDD-521 با سرعتهای ۱x و ۲x در یک ایستگاه کاری SparcStation 20/502 بدون هیچ مشکلی آزمایش شده است؛ سیستمهای رایانهای کندتر نیز باید کار کنند. درایوهای جدیدتر Philips/HP/Plasmon/Grundig و همچنین Yamaha CDR-100 و CDR-102 نیز کار میکنند. درایو Plasmon RF-4100 کار میکند، اما در حالت چندنشستی (multi-session) آزمایش نشده است. یک دستگاه Philips CDD-521 که ارتقا نیافته باشد کار نخواهد کرد. دستگاه Sony CDU-924 آزمایش شده است، اما از XA-mode2 به صورت سختافزاری پشتیبانی نمیکند؛ بنابراین درایو سونی نمیتواند دیسکهای چندنشستی استاندارد ایجاد کند. درایو Ricoh RO-1420C کار میکند، اما ظاهراً برخی افراد در استفاده از آن با speed=2 مشکل دارند؛ در این صورت speed=0 را امتحان کنید.
دستگاه Yamaha CDR-400 و تمامی درایوهای جدید سازگار با SCSI-3/mmc در حالتهای تکنشستی و چندنشستی پشتیبانی میشوند.
اگر از cdrecord روی یک سیستم ناشناخته استفاده میکنید، باید چندین آزمایش را در تمامی سرعتهای پشتیبانیشده درایو خود با فعال بودن گزینه -dummy انجام دهید. نوشتن سیدی یک فرایند بیدرنگ (real-time) است. NFS همیشه نرخ داده مورد نیاز را بهطور پیوسته فراهم نمیکند. اگر میخواهید از cdrecord با ایمیجهای سیدی که روی یک فایلسیستم متصلشده با NFS قرار دارند استفاده کنید، مطمئن شوید که اندازه FIFO به اندازه کافی بزرگ است. نویسنده از cdrecord با بار پردازشی متوسط روی یک SS20/502 و حتی با سرعت چهار برابر (quad speed) روی یک Sparcstation-2 با بار پردازشی سنگین استفاده کرده است، اما توصیه میشود هنگام نوشتن سیدی، سیستم تا حد امکان کمبار نگهداشته شود. اگر میخواهید مطمئن شوید که سرریز منفی بافر (buffer underrun) ناشی از دیسک مبدا شما نیست، میتوانید از دستور
cdrecord -dummy dev=2,0 padsize=600m /dev/null
برای ایجاد دیسکی که کاملاً از دادههای ساختگی تشکیل شده است استفاده کنید. Cdrecord برای دسترسی به گرههای دستگاهی /dev/scg? و امکان قفل کردن خود در حافظه، باید به عنوان کاربر ریشه (root) اجرا شود.
اگر نمیخواهید به کاربران اجازه دهید روی سیستم شما به کاربر ریشه تبدیل شوند، cdrecord میتواند با خیال راحت به صورت suid root نصب شود. این به همه کاربران یا گروهی از کاربران بدون امتیازات ریشه اجازه میدهد تا از cdrecord استفاده کنند. Cdrecord در این حالت بررسی میکند که آیا کاربر واقعی قادر به خواندن فایلهای مشخصشده بوده است یا خیر. برای دادن دسترسی به همه کاربران جهت استفاده از cdrecord، دستورات زیر را وارد کنید:
chown root /opt/schily/bin/cdrecord
chmod 4711 /opt/schily/bin/cdrecord
برای دادن دسترسی به گروه محدودی از کاربران به cdrecord دستورات زیر را وارد کنید:
chown root /opt/schily/bin/cdrecord
chgrp cdburners /opt/schily/bin/cdrecord
chmod 4710 /opt/schily/bin/cdrecord
و گروهی با نام cdburners را به سیستم خود اضافه کنید.
هرگز مجوزهای نوشتن را برای کاربران غیرریشه روی دستگاههای /dev/scg? قرار ندهید، مگر اینکه بخواهید به هر کسی اجازه خواندن/نوشتن/فرمت کردن تمام دیسکهایتان را بدهید.
نباید درایوهای قدیمی را که از قطع/اتصال مجدد (disconnect/reconnect) پشتیبانی نمیکنند، به گذرگاه SCSI متصل به ضبطکننده سیدی یا دیسک مبدا متصل کنید.
یک دیسک فشرده (CD) نمیتواند بیش از ۹۹ قطعه (ترک) داشته باشد.
هنگام ایجاد دیسکی با هر دو نوع قطعههای صوتی و داده، دادهها باید روی قطعه ۱ قرار گیرند؛ در غیر این صورت باید یک دیسک CDplus بسازید که یک دیسک چندنشستی است که نشست اول آن شامل قطعههای صوتی و نشست بعدی شامل قطعه داده است.
بسیاری از سیستمهای عامل قادر به خواندن بیش از یک قطعه داده منفرد نیستند یا برای انجام این کار به نرمافزار خاصی نیاز دارند.
اطلاعات بیشتر درباره مجموعه دستورات SCSI یک ضبطکننده سیدی HP را میتوانید در نشانی زیر بیابید:
http://www.hp.com/isgsupport/cdr/index.html
اگر اطلاعات بیشتری یا راهنماهای دستورات SCSI برای ضبطکنندههای CD/DVD/BluRay که در حال حاضر پشتیبانی نمیشوند دارید، لطفاً با نویسنده تماس بگیرید.
دستگاه ضبط سیدی Philips CDD 521 (حتی در نسخه ارتقایافته) چندین باگ در سفتافزار (فِرمور) خود دارد. برخی از آنها شما را مجبور میکنند دستگاه را خاموش و روشن کنید یا رایانه را مجدداً راهاندازی نمایید.
هنگام استفاده از cdrecord همراه با درایور عمومی SCSI لینوکس، باید توجه داشته باشید که cdrecord از لایهای استفاده میکند که سعی دارد عملکرد درایور scg را بر روی درایوهای سیستمعامل محلی شبیهسازی کند. متاسفانه درایور sg در لینوکس دارای چندین نقص است:
- •
- نمیتواند تشخیص دهد که آیا یک دستور SCSI اصلاً ارسال نشده است یا خیر.
- •
- نمیتواند بایت وضعیت SCSI را دریافت کند. به همین دلیل Cdrecord در برخی شرایط نمیتواند دستورات ناموفق SCSI را گزارش کند.
- •
- نمیتواند شمارش واقعی انتقال DMA را دریافت کند. Cdrecord نمیتواند به شما بگوید که آیا مقدار باقیماندهای در DMA وجود دارد یا خیر.
- •
- نمیتواند تعداد بایتهای معتبر در دادههای حس خودکار (auto sense) را دریافت کند. Cdrecord نمیتواند به شما بگوید که آیا دستگاه اصلاً هیچ داده حسی منتقل نکرده است یا خیر.
- •
- در درخواست حس خودکار (auto request sense)، دادههای بسیار کمی را واکشی میکند (استاندارد CCS/SCSI-2/SCSI-3 به ۱۸ یا بیشتر نیاز دارد).
درصد خروجی FIFO درست پس از نوشته شدن یک بلوک داده روی ضبطکننده CD/DVD/BluRay محاسبه میشود. به همین دلیل، زمانی که FIFO در حالت جریاندهی (streaming) قرار دارد، هرگز نسبت پر بودن ۱۰۰٪ برای FIFO وجود نخواهد داشت.
عیبیابی (DIAGNOSTICS)
پس از مشاهده پیام زیر، ۹ ثانیه فرصت دارید تا با زدن ^C اجرای cdrecord را لغو کنید:
Starting to write CD at speed %d in %s mode for %s session.
یک پیام خطای معمول برای یک دستور SCSI شبیه به این است:
cdrecord: 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
خط اول اطلاعاتی درباره انتقال دستور ارائه میدهد. متن پس از دو نقطه اول، متن خطای فراخوانی سیستمی را از دید هسته نشان میدهد که معمولاً به این صورت است: I/O error مگر اینکه مشکلات دیگری رخ داده باشد. کلمات بعدی حاوی توضیح کوتاهی برای دستور SCSI ناموفق هستند. بقیه خط به شما میگوید که آیا مشکلی در انتقال دستور روی گذرگاه SCSI وجود داشته است یا خیر. fatal error به این معنی است که انتقال دستور ممکن نبوده است (یعنی هیچ دستگاهی در نشانی درخواستی SCSI حضور ندارد).
خط دوم بلوک توصیفکننده دستور SCSI را برای دستور ناموفق چاپ میکند.
خط سوم در صورت موفقیتآمیز بودن انتقال دستور، اطلاعاتی درباره کد وضعیت SCSI بازگرداندهشده توسط دستور ارائه میدهد. این اطلاعات خطا از سوی دستگاه SCSI است.
خط چهارم یک دامپ هگزادسیمال از اطلاعات حس درخواست خودکار (auto request sense) برای دستور است.
خط پنجم متن خطای کلید حس (sense key) در صورت وجود است که به دنبال آن شماره بخش (segment) میآید که فقط در صورت بودن دستور copy معتبر است. اگر پیام خطا مستقیماً مربوط به دستور جاری نباشد، عبارت deferred error به آن اضافه میشود.
خط ششم متن خطای کد حس (sense code) و توصیفکننده حس (sense qualifier) در صورت وجود است. اگر نوع دستگاه مشخص باشد، دادههای حس از جداول موجود در scsierrs.c رمزگشایی میشوند. پس از این متن، مقدار خطا برای واحد قابل تعویض در محل (FRU) آورده میشود.
خط هفتم شماره بلوک مربوط به دستور ناموفق و متنی برای پرچمهای خطای مختلف را چاپ میکند. ممکن است شماره بلوک معتبر نباشد.
خط هشتم مهلت زمانی (timeout) تنظیمشده برای این دستور و زمانی را که دستور واقعاً برای تکمیل نیاز داشته است، گزارش میکند.
پیام زیر یک خطا نیست:
Track 01: Total bytes read/written: 2048/2048 (1 sectors). cdrecord: I/O error. flush cache: scsi sendcmd: no error CDB: 35 00 00 00 00 00 00 00 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: F0 00 05 80 00 00 27 0A 00 00 00 00 B5 00 00 00 00 00 Sense Key: 0x5 Illegal Request, Segment 0 Sense Code: 0xB5 Qual 0x00 (dummy data blocks added) Fru 0x0 Sense flags: Blk -2147483609 (valid) cmd finished after 0.002s timeout 40s
این پیام صرفاً اعلام میکند قطعهای که از حداقل اندازه کوچکتر بوده، به ۳۰۰ سکتور گسترش یافته است.
اشکالات (BUGS)
برنامه Cdrecord حتی گزینههای بیشتری نسبت به ls دارد.
باید یک گزینه بازیابی (recover) برای قابل استفاده کردن دیسکهایی که در حین قطع برق نوشته شدهاند، وجود داشته باشد.
قدردانیها (CREDITS)
- Bill Swartz (Bill_Swartz@twolf.com)
-
برای کمک به من در پشتیبانی درایور TEAC - Aaron Newsome (aaron.d.newsome@wdc.com)
-
برای اینکه به من اجازه داد پشتیبانی سونی را روی درایو او توسعه دهم - Eric Youngdale (eric@andante.jic.com)
-
برای فراهم کردن mkisofs - Gadi Oxman (gadio@netvision.net.il)
-
برای ارائه نکاتی پیرامون استاندارد ATAPI - Finn Arne Gangstad (finnag@guardian.no)
-
برای نخستین پیادهسازی FIFO. - Dave Platt (dplatt@feghoot.ml.org)
-
برای ایجاد پشتیبانی آزمایشی از نوشتن بستهای (packet writing)، نخستین پیادهسازی پشتیبانی از پاکسازی CD-RW، نخستین رمزگشای فایلهای wav. و بحثهای مفید بسیار پیرامون cdrecord. - Chris P. Ross (cross@eng.us.uu.net)
-
برای نخستین پیادهسازی انتقال SCSI در BSDI. - Grant R. Guenther (grant@torque.net)
-
برای ایجاد نخستین پیادهسازی انتقال از درگاه موازی برای لینوکس. - Kenneth D. Merry (ken@kdm.org)
-
برای ارائه پورت CAM برای FreeBSD همراه با Michael Smith (msmith@freebsd.org) - Heiko Eiszfeldt (heiko@hexco.de)
-
برای در دسترس قرار دادن libedc_ecc (لازم برای نوشتن سکتورهای داده RAW).
فهرستهای پستی (MAILING LISTS)
اگر میخواهید فعالانه در توسعه cdrecord مشارکت داشته باشید، میتوانید از طریق این نشانی به فهرست پستی توسعهدهندگان بپیوندید:
https://lists.sourceforge.net/lists/listinfo/cdrtools-developers
نویسنده (AUTHOR)
Joerg Schilling Seestr. 110 D-13353 Berlin Germany
اطلاعات
بیشتر را
میتوانید
در نشانی
زیر بیابید:
http://cdrecord.org/private/cdrecord.html
اگر پرسشهای پشتیبانی دارید، آنها را به این نشانی ارسال کنید:
cdrtools-support@lists.sourceforge.net
اگر قطعاً باگی یافتهاید، ایمیلی ارسال کنید به:
cdrtools-developers@lists.sourceforge.net
یا joerg.schilling@fokus.fraunhofer.de
برای اشتراک، از پیوندهای زیر استفاده کنید:
https://lists.sourceforge.net/lists/listinfo/cdrtools-developers
یا
https://lists.sourceforge.net/lists/listinfo/cdrtools-support
پایداری رابط کاربری (INTERFACE STABILITY)
رابطهای ارائهشده توسط cdrecord برای پایداری طولانیمدت طراحی شدهاند. از آنجا که cdrecord به رابطهای ارائهشده توسط سیستمعامل زیربنایی وابسته است، پایداری رابطهای ارائهشده توسط cdrecord به پایداری رابطهای سیستمعامل بستگی دارد. تغییر رابطها در سیستمعامل ممکن است موجب اعمال تغییراتی در رابطهای cdrecord شود.
| Version 3.02 2017/09/21 | Joerg Schilling |