| XORRISO(1) | General Commands Manual | XORRISO(1) |
نام (NAME)
xorriso - ایجاد، بارگذاری، دستکاری و نوشتن تصاویر سیستمفایل ISO 9660 با افزونههای Rock Ridge.
خلاصه دستور (SYNOPSIS)
xorriso [settings|actions]
توضیحات (DESCRIPTION)
xorriso
برنامهای
است که
اشیاء
فایلی را از
سیستمفایلهای
سازگار با POSIX
به
سیستمفایلهای
ISO 9660
بهبودیافته
با Rock Ridge کپی
میکند و
دستکاری
نشستمحور
(session-wise) چنین
سیستمفایلهایی
را انجام
میدهد. این
برنامه
میتواند
اطلاعات
مدیریتی
تصاویر ISO
موجود را
بارگذاری
کرده و
نتایج نشست
را بر روی
رسانههای
نوری یا
اشیاء
سیستمفایل
بنویسد.
برعکس، xorriso
قادر است
اشیاء
فایلی را از
سیستمفایلهای
ISO 9660 استخراج و
کپی کند.
یکی از ویژگیهای خاص xorriso این است که نه به یک برنامه فرمتکننده خارجی ISO 9660 و نه به یک برنامه رایت خارجی برای CD، DVD یا BD نیاز ندارد، بلکه مستقیماً از کتابخانههای پروژه libburnia-project.org بهره میبرد.
مروری بر قابلیتها:
کار بر روی
یک تصویر ISO
موجود یا
ایجاد یک
تصویر جدید.
کپی
فایلها از
سیستمفایل
دیسک به
درون تصویر
ISO.
کپی
فایلها از
تصویر ISO به
سیستمفایل
دیسک (دستور
osirrox را ببینید).
تغییر نام
یا حذف
اشیاء
فایلی درون
تصویر ISO.
تغییر
مشخصات
فایلها
درون تصویر
ISO.
بهروزرسانی
افزایشی
زیردرختهای
ISO برای
انطباق با
زیردرختهای
دادهشده
دیسک.
نوشتن
نتیجه چه به
عنوان یک
تصویر
کاملاً
جدید و چه به
عنوان نشست
افزودنی به
رسانههای
نوری یا
اشیاء
سیستمفایل.
قابلیت
فعالسازی
تصاویر
راهانداز
(بوت) ISOLINUX و GRUB از
طریق El Torito و MBR.
قابلیت
انجام
وظایف
چندنشستی
(multi-session) به عنوان
شبیهسازی
mkisofs و cdrecord.
قابلیت ثبت
و بازیابی
پیوندهای
سخت (hard links) و
لیستهای
کنترل
دسترسی (ACL).
امکان
فشردهسازی
محتوا با zisofs
یا فیلتر
شدن توسط
فرآیندهای
خارجی.
قابلیت
صدور
دستورات
برای سوار
کردن (mount)
نشستهای
قدیمیتر
در GNU/Linux یا FreeBSD.
قابلیت
بررسی
آسیبدیدگی
رسانهها و
کپی
بلوکهای
خواندنی
روی دیسک.
قابلیت
پیوست
چکسامهای
MD5 به هر فایل
داده و کل
نشست.
پویش برای
درایوهای
نوری و
پاکسازی
رسانههای
نوری با
قابلیت
استفاده
مجدد.
خواندن
دستورالعملهای
خود از
آرگومانهای
خط فرمان،
گفتگوی
تعاملی و
فایلها.
ارائه
دستورات
ناوبری
برای
دستکاری
تعاملی
تصویر ISO.
آستانههای
قابل تنظیم
برای سقط
عملیات (abort)،
مقدار خروج
و گزارش
خطاها.
توجه داشته باشید که xorriso دیسکهای صوتی صوتی (audio CDs) نمینویسد و سیستمفایلهای UDF که برای دیسکهای ویدیویی رسمی DVD یا BD مشخص شدهاند را تولید نمیکند.
بخشهای اطلاعات عمومی:
مدل نشست (Session
model)
انواع و
وضعیتهای
رسانه (Media types and states)
ایجاد،
رشد،
اصلاح، رشد
کورکورانه
(Creating, Growing, Modifying, Blind Growing)
درایوهای Libburn
Rock Ridge، POSIX، X/Open، El Torito، ACL،
xattr
پردازش
دستورات (Command
processing)
گفتگوی
تعاملی، Readline،
صفحهبند
نتایج (Dialog, Readline, Result
pager)
شاید بهتر باشد پیش از مطالعه چند صد خط آینده اطلاعات زمینهای، ابتدا نگاهی به بخش «مثالها (EXAMPLES)» در اواخر این متن بیندازید.
مدل نشست (Session model):
برخلاف
سایر
سیستمفایلها،
ISO 9660 (یا همان
ECMA-119) برای
عملیات
خواندن/نوشتن
عادی در نظر
گرفته نشده
است، بلکه
برای تولید
یکباره در
یک مرحله و
نوشته شدن
بر روی
رسانه به
عنوان یک
نشست (session)
طراحی شده
است.
محتوای
دادهای
نشست،
تصویر (image)
سیستمفایل
نامیده
میشود.
تصویر نوشتهشده در نشست آن سپس میتواند توسط سیستمعامل به صورت فقطخواندنی سوار (mount) شود. لینوکس GNU/Linux قادر است تصاویر ISO را از دستگاههای بلوکی که نشاندهنده رسانههای نوری یا سایر رسانهها هستند، یا از طریق یک دستگاه loop حتی از فایلهای معمولی دیسک سوار کند. سیستمعامل FreeBSD تصاویر ISO را از دستگاههایی که نشاندهنده رسانههای اختیاری هستند یا از فایلهای معمولی دیسک سوار میکند.
این مدل
کاربرد
نشست روی
رسانههای CD
با مفهوم
چندنشستی
(multi-session) گسترش
یافته است
که
اطلاعاتی
را به CD
اضافه
میکند و
نشانی نقاط
ورودی هر
نشست را به
برنامههای
mount
سیستمعامل
میدهد.
برنامههای
mount
دستگاههای
بلوکی
مربوط به
رسانههای CD
را شناسایی
کرده و به
صورت
پیشفرض
تصویر
موجود در
آخرین نشست
را سوار
میکنند.
این نشست
معمولاً
شامل یک
درخت
دایرکتوری
بهروزرسانیشده
برای کل
رسانه است
که محتوای
دادهها را
در تمام
نشستهای
ضبطشده
مدیریت
میکند.
بنابراین
از دید
برنامه mount،
تمام
نشستهای
یک رسانه
خاص با هم یک
تصویر
سیستمفایل
واحد را
تشکیل
میدهند.
افزودن یک
نشست به
تصویر ISO
موجود در
این متن با
عنوان رشد
دادن (growing)
شناخته
میشود.
مدل
چندنشستی
استاندارد MMC
برای همه
انواع
رسانهها
اعمال
نمیشود.
اما برنامه
growisofs نوشته Andy Polyakov
نشان داد که
چگونه
میتوان
این قابلیت
را به
رسانههای
با قابلیت
بازنویسی
یا
فایلهای
دیسک حاوی
سیستمفایلهای
معتبر ISO 9660
تعمیم داد.
برنامه xorriso هم قابلیت رشد دادن و هم یک روش اختصاصی به نام اصلاح کردن (modifying) را ارائه میدهد که یک تصویر ISO کاملاً جدید از تصویر قدیمی و تغییرات اعمالشده تولید میکند. بخش Creating, Growing, Modifying, Blind Growing را در زیر ببینید.
برنامه xorriso
مفهوم
چندنشستی
را با
بارگذاری
درخت
دایرکتوری
تصویر (در
صورت وجود)،
ارائه
امکان
دستکاری آن
از طریق
چندین
اقدام، و
نوشتن
تصویر جدید
روی رسانه
مقصد
پیادهسازی
میکند.
اولین نشست
در اجرای xorriso
با تعریف
درایو
ورودی حاوی
تصویر ISO یا
تعریف
درایو
خروجی آغاز
میشود. این
نشست با
دستور -commit
پایان
مییابد که
نوشتن را
آغاز
میکند.
هنگامی که
برنامه به
طور عادی به
پایان
میرسد،
دستور -commit به
صورت
خودکار
اجرا
میشود.
پس از -commit، یک نشست جدید با نشست تازهنوشتهشده به عنوان ورودی آغاز میشود. یک درایو ورودی جدید تنها زمانی قابل انتخاب است که تصویر ISO بارگذاریشده تغییر نیافته باشد. تغییرات معلق را میتوان با دستور -rollback لغو کرد.
نوشتن یک نشست بر روی مقصد از نظر زمان و فضای مصرفشده در رسانههای پیوستپذیر یا فقطیکبارنوشتنی، بسیار پرهزینه محسوب میشود. بنابراین تمام دستکاریهای مد نظر برای یک تصویر ISO مشخص باید در یک نشست واحد انجام شوند. اما در اصل امکان ذخیره وضعیتهای میانی و ادامه دادن دستکاریهای تصویر وجود دارد.
انواع و وضعیتهای رسانه (Media types and states):
دو
خانواده از
رسانهها
در
استاندارد MMC
وجود دارد:
رسانههای
چندنشستی
(Multi-session media)
عبارتند از
CD-R، CD-RW، DVD-R، DVD+R، DVD+R/DL، BD-R
و DVD-RW
قالببندینشده.
این
رسانهها
جدول
محتوایی
ارائه
میدهند که
نشستهای
موجود
آنها را
توصیف
میکند.
دستور -toc را
ببینید.
مشابه
رسانههای
چندنشستی،
DVD-R DL و DVD-RW با
پاکسازی
حداقلی
هستند.
آنها تنها
یک نشست
واحد را ثبت
میکنند که
اندازه آن
باید از قبل
مشخص باشد.
برنامه xorriso
تنها در
صورتی روی
آنها
مینویسد
که دستور -close
روی "on"
تنظیم شده
باشد.
رسانههای
با قابلیت
بازنویسی
(Overwritable media)
عبارتند از
DVD-RAM، DVD+RW، BD-RE و DVD-RW
قالببندیشده.
آنها
دسترسی
نوشتن
تصادفی را
ارائه
میدهند
اما
اطلاعاتی
در مورد
تاریخچه
نشستهای
خود فراهم
نمیکنند.
اگر حاوی یک
یا چند نشست
ISO 9660 باشند و
اولین نشست
توسط xorriso
نوشته شده
باشد، جدول
محتوا قابل
شبیهسازی
است. در غیر
این صورت
فقط یک نشست
کلی واحد
قابل
مشاهده
خواهد بود.
رسانههای
DVD-RW را
میتوان با
-format "full"
قالببندی
کرد. آنها
را میتوان
با -blank "deformat" به
حالت
فرمتنشده
درآورد.
فایلهای
معمولی و
دستگاههای
بلوکی به
عنوان
رسانههای
قابل
بازنویسی
مدیریت
میشوند.
لولهها (pipes) و
سایر انواع
فایلهای
قابل نوشتن
به عنوان
رسانههای
چندنشستی
خام در نظر
گرفته
میشوند.
برنامه growisofs به
طور
پیشفرض
رسانههای
BD-R را به صورت
شبهبازنویسیپذیر
(POW)
قالببندی
میکند.
برنامه xorriso
آنها را به
صورت زیر
دستهبندی
خواهد کرد:
Media current: is unsuitable , is POW formatted
و از نوشتن
روی آنها
یا دریافت
اطلاعات
چندنشستی
از آنها
خودداری
میکند.
این
رسانهها
میتوانند
چندین
وضعیت به
خود بگیرند
که در آنها
قابلیتهای
متفاوتی را
ارائه
میدهند.
رسانههای
خام (Blank) را
میتوان از
ابتدا نوشت.
آنها حاوی
هیچ تصویر ISO
مناسبی
برای xorriso
نیستند.
وضعیت خام،
وضعیت
رسانههای
نوری تازه
خریداریشده
است. در CD-RW و DVD-RW
استفادهشده،
این وضعیت
با اقدام -blank
"as_needed" قابل
دستیابی
است.
رسانههای
قابل
بازنویسی
اگر نو
باشند یا
توسط xorriso به
عنوان خام
علامتگذاری
شده باشند،
خام در نظر
گرفته
میشوند.
اقدام -blank "as_needed"
میتواند
برای
علامتگذاری
روی
رسانههای
قابل
بازنویسی،
یا اعمال
فرمتبندی
الزامی روی
رسانههای
جدید در
صورت نیاز
استفاده
شود.
رسانههای
پیوستپذیر
(Appendable)
نشستهای
بعدی را
میپذیرند.
آنها یا
رسانههای
چندنشستی MMC
در وضعیت
پیوستپذیر
هستند، یا
رسانههای
قابل
بازنویسی
که حاوی یک
تصویر ISO
مناسب برای
xorriso
میباشند.
پیوستپذیر،
وضعیت
رسانه پس از
نوشتن یک
نشست با
دستور -close off
است.
رسانههای
بستهشده
(Closed) قابل
نوشتن
نیستند.
آنها ممکن
است حاوی یک
تصویر ISO
مناسب برای
xorriso باشند.
وضعیت
بستهشده،
حالت
رسانههای
DVD-ROM و
رسانههای
چندنشستی
است که با
دستور -close on
نوشته
شدهاند.
اگر درایو
یک
سختافزار
فقطخواندنی
باشد،
احتمالاً
هر
رسانهای
را به عنوان
CD-ROM یا DVD-ROM
بستهشده
نشان
میدهد.
رسانههای
قابل
بازنویسی
در چنین
درایوهای
فقطخواندنی
یا اگر حاوی
دادههای
ناشناخته
در ۳۲ بلوک
داده اول
باشند، این
وضعیت را به
خود
میگیرند.
درایوهای
فقطخواندنی
ممکن است
تاریخچه
نشستهای
رسانههای
چندنشستی
را نشان
دهند یا
ندهند. اغلب
فقط نشست
اول و آخر
قابل
مشاهده
است؛ گاهی
حتی همان هم
دیده
نمیشود.
دستور -rom_toc_scan
ممکن است در
چنین
مواردی کمک
کند.
ایجاد، رشد دادن، اصلاح، رشد کورکورانه (Creating, Growing, Modifying, Blind Growing):
یک تصویر ISO
خالی جدید
ایجاد (created)
میشود اگر
هنگامی که
برای اولین
بار یک
درایو
خروجی
تعریف
میشود،
هیچ درایو
ورودی با
تصویر
معتبر ISO 9660
وجود
نداشته
باشد. این
کار با
دستور -dev روی
رسانه خام
یا با دستور
-outdev روی رسانه
در هر
وضعیتی
حاصل
میشود.
تصویر خالی
جدید را
میتوان با
پوشهها و
فایلها پر
کرد. پیش از
آنکه بتوان
آن را نوشت،
رسانه
موجود در
درایو
خروجی باید
به وضعیت
خام درآید
اگر از قبل
خام نبوده
باشد.
اگر یک درایو ورودی با تصویر ISO معتبر وجود داشته باشد، این تصویر به عنوان پایه و مبنا برای دستکاری و گسترش بارگذاری میشود. چیدمان درایو ورودی و خروجی تعیین میکند که از کدام روش نوشتن استفاده خواهد شد. آنها قابلیتها و محدودیتهای کاملاً متفاوتی دارند.
روش رشد
دادن (growing)
دادههای
جدید را به
دادههای
موجود در
رسانه
اضافه
میکند. این
دادهها
شامل
محتوای
فایل جدید
بوده و درخت
دایرکتوری
موجود ISO 9660 + Rock Ridge
را
بازنویسی
میکنند.
مخفی کردن
فایلها از
نشستهای
قبلی
امکانپذیر
است اما
آنها
همچنان روی
رسانه وجود
دارند و در
بسیاری از
انواع
رسانههای
نوری
بازیابی
آنها با
سوار کردن
نشستهای
قدیمیتر
بسیار آسان
است.
رشد دادن با
دستور -dev
حاصل
میشود.
روش نوشتن
اصلاح کردن
(modifying) تصاویر
سیستمفایل
فشردهای
بدون
فایلها یا
درختهای
دایرکتوری
منسوخ
تولید
میکند.
اصلاح کردن
میتواند
تصاویر خود
را روی
رسانههای
مقصدی
بنویسد که
کاملاً
برای
عملیات
چندنشستی
نامناسب
هستند؛
مانند
DVD-RWهایی که با
-blank deformat_quickest پردازش
شدهاند، DVD-R
DL، لولههای
نامگذاریشده
(named pipes)،
دستگاههای
کاراکتری و
سوکتها. از
سوی دیگر،
نشستهای
اصلاحشده
را
نمیتوان
بر روی
رسانههای
پیوستپذیر
نوشت، بلکه
تنها روی
رسانههای
خام قابل
نوشتن
هستند.
بنابراین
برای این
روش یا به دو
درایو نوری
نیاز است و
یا باید با
اشیاء
سیستمفایل
به عنوان
رسانه منبع
و/یا مقصد
کار کرد.
اصلاح کردن
زمانی
اتفاق
میافتد که
درایو
ورودی و
درایو
خروجی
یکسان
نباشند و
دستور -grow_blindly
روی مقدار
پیشفرض
خود یعنی "off"
تنظیم شده
باشد. این
کار با
دستورات -indev و
-outdev حاصل
میشود.
اگر دستور
-grow_blindly روی یک
عدد
غیرمنفی
تنظیم شود و
-indev و -outdev هر دو
روی
درایوهای
متفاوتی
تنظیم شده
باشند، رشد
کورکورانه
(blind growing) انجام
میشود. این
روش یک نشست
افزودنی
تولید
میکند که
آماده
نوشته شدن
در آدرس
بلوک
دادهشده
است. این مدل
استفاده به
شکل زیر است:
mkisofs -M $indev -C $msc1,$msc2 -o $outdev
که فضای
زیادی برای
ترکیبهای
اشتباه
پارامتر
باقی
میگذارد و
بنابراین
تنها زمانی
باید
استفاده
شود که
تفکیک دقیق
بین
قالببند ISO
یعنی xorriso و
برنامه
رایت مد نظر
باشد. سوییچ
-C $msc1,$msc2 معادل
است با:
-load sbsector $msc1 -grow_blindly $msc2
درایوهای Libburn:
درایو
ورودی،
یعنی منبع
یک تصویر ISO
موجود یا
خالی،
میتواند
هر درایو libburn
با قابلیت
دسترسی
تصادفی
برای
خواندن
باشد:
رسانههای
نوری با
دادههای
خواندنی،
رسانههای
نوری خام،
فایلهای
معمولی،
دستگاههای
بلوکی.
درایو
خروجی،
یعنی مقصد
برای
نوشتن،
میتواند
هر درایو libburn
باشد. برخی
انواع
درایوها از
روش رشد
دادن
پشتیبانی
نمیکنند
بلکه فقط از
روشهای
اصلاح کردن
و رشد
کورکورانه
پشتیبانی
مینمایند.
همه آنها
برای
تصاویر
تازه
ایجادشده
مناسب
هستند.
تمامی
اشیاء
فایلی
درایو باید
مجوز rw
(خواندن و
نوشتن) را به
کاربر xorriso
ارائه
دهند؛ حتی
مواردی که
برای
خواندن یک
تصویر ISO
قابل
استفاده
نخواهند
بود.
در هر نوع
شیء درایو،
دادهها به
صورت
سازمانیافته
در
بلوکهای ۲
کیلوبایتی
در نظر
گرفته
میشوند.
دسترسی بر
اساس آدرس
بلوک منطقی
(LBA) صورت
میگیرد که
شماره یک
بلوک داده
خاص را مشخص
میکند.
درایوهای
سازگار با MMC
(یعنی نوری)
در GNU/Linux
معمولاً با
مسیر
دستگاه
بلوکی یا
دستگاه
کاراکتری
عمومی خود
آدرسدهی
میشوند؛
مانند:
-dev /dev/sr0
-dev /dev/hdc
-dev /dev/sg2
به صورت
پیشفرض xorriso
تلاش
میکند تا
آدرس
ارائهشده
را به /dev/hd* و /dev/sr*
نگاشت کند.
دستور -scsi_dev_family
میتواند
این نگاشت
را از sr به scd یا
sg هدایت کند.
مورد اخیر
از مشکلات
همزمانی که
از هسته ۲.۶
تا ۵.۵
لینوکس
گریبانگیر
/dev/sr بود رنج
نمیبرد.
اما همان
آدرسهایی
را که توسط mount(8)
یا open(2) برای read(2)
استفاده
میشوند
تولید
نمیکند.
در FreeBSD
فایلهای
دستگاه
نامهایی
مانند زیر
دارند:
-dev /dev/cd0
در NetBSD:
-dev /dev/rcd0d
در OpenSolaris:
-dev /dev/rdsk/c4t0d0s2
فهرست
درایوهای
در دسترس را
با دستور
زیر به دست
آورید:
-device_links
ممکن است
لازم باشد
این کار به
عنوان
ابرکاربر
(superuser) انجام
شود تا
بتوان
تمامی
درایوها را
دید و سپس
دسترسی
خواندن/نوشتن
را برای
کاربران
مورد نظر
فراهم کرد.
توصیه
میشود
کاربران
مجاز را در
گروهی
مانند گروه
قدیمی "floppy"
گرد آورید.
اشیاء
سیستمفایل
از تقریباً
هر نوعی
میتوانند
با پیشوند
"stdio:" و مسیر
آنها در
سیستمفایل
آدرسدهی
شوند؛
مانند:
-dev stdio:/dev/sdc
تنظیمات
پیشفرض -drive_class
به کاربر
امکان
میدهد
فایلهای
خارج از
درخت /dev را
بدون آن
پیشوند
آدرسدهی
کند؛ مانند:
-dev /tmp/pseudo_drive
اگر مسیر به
یک فایل
معمولی یا
یک دستگاه
بلوکی ختم
شود، درایو
شبیهسازیشده
قابلیت
خواندن با
دسترسی
تصادفی
دارد و اگر
از قبل حاوی
یک تصویر ISO 9660
معتبر
باشد،
میتواند
برای روش
رشد دادن
استفاده
شود. هر نوع
فایل دیگر
از طریق "stdio:"
خواندنی
نیست و تنها
میتواند
به عنوان
مقصد برای
روش اصلاح
کردن یا رشد
کورکورانه
استفاده
شود.
مسیرهای
ناموجود در
پوشههای
موجود به
عنوان
فایلهای
معمولی
خالی
مدیریت
میشوند.
نوع بسیار
خاصی از
درایوهای
ساختگی،
توصیفکنندههای
فایل باز
هستند.
آنها با
"stdio:/dev/fd/" و شماره
توصیفکننده
نشان داده
میشوند (به
man 2 open مراجعه
کنید).
آدرسهای "-"
یا "stdio:/dev/fd/1"
خروجی
استاندارد
را نشان
میدهند که
معمولاً
کانال
خروجی برای
متون نتایج
است. برای
جلوگیری از
تداخل
فاجعهبار
تصویر ISO و
پیامهای
متنی، در
صورتی که -*dev
"-" یا "stdio:/dev/fd/1" در
میان
آرگومانهای
شروع
برنامه
باشد، تمام
متون نتیجه
به stderr هدایت
میشوند.
خروجی
استاندارد
در حال حاضر
برای ایجاد
یک نشست در
هر اجرای
برنامه
بدون
گفتگوی
تعاملی
مناسب است.
استفاده در
سایر شرایط
توصیه
نمیشود و
چندین
محدودیت
اعمال
میگردد:
استفاده از
خروجی
استاندارد
به عنوان
درایو
ساختگی در
صورتی که
جزو
آرگومانهای
شروع نبوده
باشد مجاز
نیست. سعی
نکنید با
آدرسهای
پشتی به stdout
این
ممنوعیت را
دور بزنید.
اگر stdout به
عنوان
درایو
استفاده
شود، -use_readline
برای همیشه
غیرفعال
میشود.
استفاده از
راههای
پشتی
میتواند
باعث خرابی
شدید حافظه
و/یا tty شود.
توجه
داشته
باشید که به
ویژه
ابرکاربر (root)
میتواند
با استفاده
از مسیر
فایل همراه
با پیشوند
"stdio:" در هر
فایل یا
دستگاه
قابل
دسترسی
بنویسد. به
صورت
پیشفرض هر
آدرسی در
درخت /dev بدون
پیشوند "stdio:"
تنها در
صورتی کار
میکند که
به یک درایو
MMC ختم شود.
میتوان از
دستور -ban_stdio_write
برای
جلوگیری
قطعی از این
خطر و محدود
کردن
استفاده از
درایو به
درایوهای MMC
استفاده
کرد.
میتوان "mmc:"
را به
ابتدای یک
مسیر اضافه
کرد تا
هرگونه "stdio:"
خودکار را
قطعاً رد
کند.
با دستور -drive_class
میتوان
مسیرهای
خاصی را
ممنوع کرد
یا دسترسی
بدون
پیشوند "stdio:"
را برای
سایر
مسیرها
مجاز ساخت.
Rock Ridge، POSIX، X/Open، El Torito، ACL، xattr:
Rock Ridge نام
مجموعهای
از اطلاعات
اضافی است
که
سیستمفایل
ISO 9660 را بهبود
میبخشد تا
بتواند یک
سیستمفایل
سازگار با POSIX
را با
اطلاعات
مالکیت،
دسترسیها،
پیوندهای
نمادین و
سایر
ویژگیها
نمایش دهد.
این همان
چیزی است که
xorriso برای
نمایش
شایسته
فایلهای
دیسک درون
تصویر ISO
استفاده
میکند. xorriso
به صورت
پیشفرض
اطلاعات Rock Ridge
را تولید
میکند.
غیرفعال
کردن این
ویژگی
اکیداً
توصیه
نمیشود.
نام این برنامه "porriso" گذاشته نشد زیرا POSIX تنها طول نام فایل تا ۱۴ نویسه را تضمین میکند. این استاندارد X/Open System Interface موسوم به XSI است که طول نام فایل تا ۲۵۵ نویسه و مسیرها تا ۱۰۲۴ نویسه را طلب میکند. Rock Ridge این نیاز را برآورده میسازد.
یک رکورد
راهانداز
(بوت) El Torito بخش
راهاندازی
اولیه BIOS را
به یک یا چند
تصویر بوت
هدایت
میکند که
فایلهای
برنامه
دودویی
ذخیرهشده
درون تصویر
ISO هستند.
محتوای
فایلهای
تصویر بوت
در حیطه
وظایف El Torito
نیست.
اکثر CDهای
قابل بوت GNU/Linux
مجهز به
تصاویر بوت
ISOLINUX یا GRUB هستند.
برنامه xorriso
قادر است یک
شیء El Torito ایجاد
یا نگهداری
کند که چنین
تصویری را
قابل بوت
میسازد.
برای
جزئیات
دستور -boot_image را
ببینید.
بوتپذیر
کردن
تصاویر ISO از
حافظههای
فلش USB یا
سایر
رسانههای
مشابه دیسک
سخت
امکانپذیر
است. چندین
گزینه یک MBR
(رکورد
راهانداز
اصلی) نصب
میکنند.
این رکورد
ممکن است بر
اساس
نیازهای
سفتافزار
بوت مورد
نظر و
بوتلودرهای
درگیر
مانند GRUB2 یا ISOLINUX
تنظیم شود.
یک MBR شامل کد
بوت و جدول
پارتیشن
است. MBR جدید
یک نشست
بعدی تنها
میتواند
بر روی
رسانههای
قابل
بازنویسی
اعمال شود.
رکورد MBR
هنگام بوت
شدن از فلش USB
یا دیسک سخت
توسط PC-BIOS و
هنگام بوت PowerPC
CHRP یا PReP خوانده
میشود. یک
پارتیشن MBR
با نوع 0xee
نشاندهنده
وجود GPT است.
شبیهسازی -as
mkisofs از
گزینههای
نمونه در
ویکی ISOLINUX،
گزینههای
استفادهشده
در اسکریپت
grub-mkrescue از GRUB و
مثال موجود
در ویکی AvgLiveCD در
FreeBSD پشتیبانی
میکند.
یک GPT (جدول
پارتیشن GUID)
پارتیشنها
را به
شیوهای
مدرنتر
علامتگذاری
میکند. این
جدول هنگام
بوت شدن از
فلش USB یا
هارد دیسک
توسط EFI
خوانده
میشود و
ممکن است
برای یافتن
و سوار کردن
پارتیشن HFS+
در داخل
تصویر ISO
استفاده
شود.
یک APM (نقشه
پارتیشن
اپل)
پارتیشن HFS+
را
علامتگذاری
میکند. این
نقشه توسط
مکها برای
بوت شدن و
سوار کردن
خوانده
میشود.
قابلیتهای
MBR، GPT و APM قابل
ترکیب
هستند. نقشه
APM هشت بایت
اول کد بوت MBR
را اشغال
میکند. هر
سه مورد
مانع بوت
شدن El Torito از CDROM
نمیشوند.
از امکانات
دیگری نیز
پشتیبانی
میشود: MIPS Big Endian
(SGI)، MIPS Little Endian (DEC)، SUN SPARC، HP-PA.
این موارد
متقابلاً
با یکدیگر و
همچنین با
MBR، GPT یا APM قابل
ترکیب
نیستند.
لیستهای
کنترل
دسترسی (ACL)
روشی
پیشرفته
برای کنترل
مجوزهای
دسترسی به
اشیاء
فایلی
هستند. نه ISO 9660 و
نه Rock Ridge روشی
برای ثبت
ACLها مشخص
نکردهاند.
بنابراین libisofs
یک افزونه
منطبق بر
استاندارد
به نام AAIP را
برای این
منظور
معرفی کرده
است. در
صورتی که
این افزونه
با دستور -acl
فعال شود،
از آن
استفاده
میکند.
تصاویر
بهبودیافته
با AAIP
معمولاً
باید به
صورت عادی
قابل سوار
کردن
باشند، اما
نمیتوان
انتظار
داشت که
سیستمفایل
سوارشده،
ACLها را
نمایش دهد و
رعایت کند.
در حال حاضر
تنها xorriso
قادر به
بازیابی
این ACLها است.
این برنامه
میتواند
هنگام
بازیابی
فایلها به
یک
سیستمفایل
فعال با ACL
آنها را
اعمال کند
یا آنها را
در قالبی
مناسب برای
ابزار setfacl چاپ
نماید.
فایلهای
دارای ACL
تنظیمات
ورودی "mask::" را
به عنوان
مجوزهای
گروهی نشان
میدهند
(اگر آن
ورودی وجود
داشته باشد).
با این
وجود،
اعضای گروه
فهرستنشده
طبق ورودی
"group::" مدیریت
میشوند.
هنگام حذف ACL
از یک فایل،
xorriso ورودی "group::"
را اعمال
میکند.
ثبت و
بازیابی ACLها
از و به
فایلهای
محلی در حال
حاضر تنها
در GNU/Linux و FreeBSD کار
میکند.
ویژگیهای
xattr (یا همان EA،
یا extattr)
جفتهای
نام و
مقداری
هستند که
میتوانند
به اشیاء
فایلی متصل
شوند.
افزونه AAIP
قادر به
نمایش
آنهاست و
xorriso
میتواند
آنها را
ثبت و
بازیابی
کند.
اما توجه
داشته
باشید که
جفتهای
دارای
نامهای
فضاهای نام
غیرکاربری
لزوماً بین
سیستمعاملها
و حتی بین
سیستمفایلها
قابل
انتقال
نیستند.
تنها
مواردی که
با "user." شروع
میشوند،
مانند "user.x" یا
"user.whatever"،
میتوانند
بدون قید و
شرط در سایر
ماشینها و
دیسکها
مناسب تلقی
شوند.
پردازش
سایر xattrها
ممکن است به
امتیازات
مدیریتی
نیاز داشته
باشد.
نام باید یک
رشته با
پایان صفر (0
terminated) باشد.
مقدار
میتواند
هر
آرایهای
از بایتها
باشد که از
اندازه
۴۰۹۵ بایت
تجاوز نکند.
پردازش xattr
تنها در
صورتی
انجام
میشود که
با دستور -xattr
فعال شده
باشد.
همانند ACL، در
حال حاضر
تنها xorriso
قادر به
بازیابی xattr
از تصاویر
بهبودیافته
با AAIP،
بازیابی
آنها در
سیستمفایلهای
دارای
قابلیت xattr یا
چاپ آنها
است.
ثبت و
بازیابی xattr
از و به
فایلهای
محلی در حال
حاضر تنها
در GNU/Linux و FreeBSD کار
میکند که
در آنجا با
نام extattr
شناخته
میشوند.
ویژگیهای
فایل
لینوکس (Linux file attributes)
فلگهای
دودویی
هستند که
میتوانند
توسط
برنامه chattr(1)
تنظیم و
توسط
برنامه lsattr(1)
فهرست شوند.
صفحات
راهنمای
آنها و
تعاریف FS_*_FL را
در فایل
سرآیند
لینوکس <linux/fs.h>
ببینید. همه
فلگهای
تعریفشده
توسط lsattr
گزارش
نمیشوند و
توسط chattr
پذیرفته
نمیشوند،
اما تعداد
آنها در
طول سالها
افزایش
یافته است.
برنامه xorriso
در صورت
فعالسازی
با دستور
-lfa_flags،
فلگهای
فایلهای
دیسک را ثبت
میکند.
دستور -lsattr آن
۲۲ فلگ را به
همان روش
برنامه lsattr
فهرست
میکند.
آنها را
میتوان با
دستور xorriso -chattr
تنظیم کرد و
میتوان
آنها را با
-lfa_flags برای
بازیابی در
هنگام
بازیابی
فایلها
روی دیسک
فعال نمود.
شناسههای
پروژه به
سبک XFS (XFS-style project ids)
اعدادی
هستند که
اعضای
گروههای
شیء فایلی،
به نام
پروژهها
را تعریف
میکنند.
آنها
میتوانند
توسط
برنامههای
chattr(1) و xfs_quota(8) تنظیم
و توسط
برنامههای
lsattr(1) و xfs_quota(8) گزارش
شوند.
فایلهای
یک پروژه
میتوانند
سهمیههایی
(quotas) را به
اشتراک
بگذارند که
استفاده
آنها از
منابع
سیستمفایل
را محدود
میکند. این
قابلیت در XFS
و در
سیستمفایلهای
ext4 به طور
ویژه آماده
و سوارشده
امکانپذیر
است. شناسه
پروژه 0 بدان
معناست که
فایل عضو
هیچ
پروژهای
نیست.
برنامه xorriso
شناسههای
پروژه
غیرصفر
فایلهای
دیسک را در
صورت فعال
بودن با
دستور -projid
ثبت میکند.
دستور -get_projid
شناسههای
پروژه
فایلها را
فهرست
میکند.
آنها
میتوانند
با دستور -set_projid
تنظیم شوند
و در صورت
فعال بودن
با -projid روی
دیسک
بازیابی
شوند.
معمولاً
شناسه
پروژه 0 برای
فایلهای
دیسک
بازیابیشده
تنظیم
نمیشود تا
بتوانند
شناسه
پروژه پوشه
والد خود را
دریافت
کنند.
پردازش دستورات (Command processing):
دستورات
یا
اقداماتی
هستند که
بلافاصله
انجام
میشوند یا
تنظیماتی
هستند که بر
اقدامات
بعدی تأثیر
میگذارند.
بنابراین
ترتیب
آنها
اهمیت
دارد، مگر
اینکه به
عنوان
آرگومانهای
برنامه
ارسال شوند
و دستور -x در
میان آنها
باشد.
فهرست تمام
تنظیمات
جاری را
میتوان با
دستور -status "long"
استعلام
کرد. دستور -status
"short" چند
تنظیم
بنیادی و
تمام
تنظیماتی
را که در
شروع
برنامه
پیشفرض
نیستند
فهرست
میکند.
دستورات شامل یک کلمه دستور هستند که با صفر یا چند کلمه پارامتر دنبال میشوند. اگر فهرست کلمات پارامتر دارای طول متغیر باشد (که با "[...]" یا "[***]" مشخص میشود)، باید توسط جداکننده فهرست (list delimiter) خاتمه یابد، در انتهای فهرست آرگومانها ظاهر شود، یا در انتهای یک خط ورودی قرار گیرد.
در شروع
برنامه،
جداکننده
فهرست رشته
"--" است. این
ممکن است با
دستور -list_delimiter
تغییر کند
تا امکان
استفاده از
"--" به عنوان
پارامتر در
یک فهرست با
طول متغیر
فراهم شود.
با این حال،
توصیه
میشود که
بلافاصله
پس از آن،
جداکننده
را دوباره
به "--"
بازنشانی
کنید.
برای
اختصار،
جداکننده
فهرست در
سراسر این
متن به صورت
"--" ذکر شده
است.
اگر
جداکننده
فهرست پس از
پارامترهای
دستوری با
طول فهرست
ثابت ظاهر
شود،
نادیده
گرفته
میشود. اگر
در میان
پارامترهای
چنین
دستوری
ظاهر شود،
به عنوان
متن معمولی
مدیریت
میشود.
گسترش
الگو (Pattern expansion)
فهرستی از
کلمات الگو
را به
فهرستی از
آدرسهای
فایلی
موجود
تبدیل
میکند.
کلمات
الگوی
تطبیقنیافته
بدون تغییر
در فهرست
نتیجه ظاهر
میشوند.
تطبیق الگو
از
نویسههای
عام متداول
پوسته '*'، '?' و '[xyz]'
پشتیبانی
میکند و '/'
را به عنوان
جداکننده
مسیر رعایت
مینماید
که تنها
میتواند
به صورت
لفظی
مطابقت
داده شود.
گسترش الگو
ویژگی برخی
دستورات
خاص است و نه
یک قابلیت
عمومی. این
ویژگی با
دستورات -iso_rr_pattern
و -disk_pattern کنترل
میشود.
دستوراتی
که از گسترش
الگو
استفاده
میکنند
همگی دارای
فهرستهای
پارامتر
متغیر
هستند که در
این متن به
جای "[...]" با
"[***]" مشخص
شدهاند.
برخی
دستورات
دیگر تطبیق
الگو را
بدون قید و
شرط انجام
میدهند.
کلمات
دستور و
پارامتر یا
از
آرگومانهای
برنامه
خوانده
میشوند (که
در آن هر
آرگومان یک
کلمه است)،
یا از خطوط
ورودی
نقلقولشده
که در آن
کلمات
مشابه
قواعد
نقلقول
تجزیهکننده
پوسته
شناخته
میشوند.
برنامه xorriso
یک پوسته
نیست،
اگرچه ممکن
است در نگاه
اول
اینطور به
نظر برسد.
توجه داشته
باشید که
تعامل
علامتهای
نقلقول و
نمادهای
الگو مانند
"*" با
تجزیهکنندههای
معمول
پوسته
متفاوت است.
در xorriso، یک
علامت
نقلقول
نماد الگو
را به صورت
لفظی
درنمیآورد.
ورودی
نقلقولشده
(Quoted input) متن
جداشده با
فاصلههای
خالی را به
کلمات
تبدیل
میکند.
علامت
نقلقول
دوتایی " و
علامت
نقلقول
تکی '
میتوانند
برای احاطه
کردن
فاصلهها و
تبدیل
آنها به
بخشی از
کلمات
(مثلاً نام
فایلها)
استفاده
شوند. هر نوع
علامت
میتواند
علامتهای
نوع دیگر را
در بر گیرد.
یک اسلش
وارونه
انتهایی \
خارج از
نقلقولها
یا یک
نقلقول
باز باعث
میشود خط
ورودی بعدی
پیوست شود.
ورودی
نقلقولشده
هر نویسه ۸
بیتی به جز NUL (0)
را به عنوان
محتوای
نقلقولها
میپذیرد.
با این حال
تولید
مستقیم این
نویسهها
برای کاربر
دشوار است.
بنابراین
ورودی
نقلقولشده
و
آرگومانهای
برنامه
قابلیت
اختیاری
تفسیر
بکاسلش (Backslash
Interpretation) را
ارائه
میدهند که
میتواند
تمام
نویسههای
۸ بیتی به جز
NUL (0) را از طریق
کدهای
بکاسلش
مانند $'...' در bash
نمایش دهد.
این قابلیت
به صورت
پیشفرض
فعال نیست.
دستور -backslash_codes را
ببینید.
هنگامی که برنامه شروع میشود، ابتدا به دنبال آرگومان -no_rc میگردد. اگر این آرگومان موجود نباشد، به دنبال فایلهای راهاندازی خود میگردد و محتوای آنها را به عنوان خطوط ورودی دستور میخواند. سپس آرگومانهای برنامه را به عنوان دستورات و پارامترها تفسیر میکند. در نهایت اگر دستور -dialog "on" تا این نقطه اجرا شده باشد، وارد حالت تعاملی (گفتگو) میشود.
برنامه یا با دستور -end به پایان میرسد، یا با پایان آرگومانهای برنامه در صورتی که حالت گفتگو تا آن نقطه فعال نشده باشد، یا با یک رویداد مشکل که آستانه دستور -abort_on را فعال کند خاتمه مییابد.
گفتگوی تعاملی، Readline، صفحهبند نتایج (Dialog, Readline, Result pager):
حالت گفتگو برای دریافت یک خط ورودی نقلقولشده اعلان میدهد، آن را به کلمات تجزیه میکند و آنها را به عنوان دستور با پارامترهایشان اجرا مینماید. این حالت خدمات کمکی ارائه میدهد تا گفتگو راحتتر شود.
ابزار Readline یک
قابلیت
بهبودیافته
برای خط
ورودی است.
ممکن است
قبلاً با آن
در پوسته bash
آشنا شده
باشید. در
دسترس بودن
آن در xorriso به
موجود بودن
بسته readline-dev در
زمان ساخته
شدن xorriso از کد
منبع آن
بستگی دارد.
ابزار Readline به
کاربر
اجازه
میدهد با
کمک
کلیدهای
جهتنمای
چپ و راست،
مکاننما
را روی متن
در خط حرکت
دهد. متن
ممکن است در
موقعیت
مکاننما
درج شود.
کلید Delete
نویسه زیر
مکاننما
را حذف
میکند.
کلیدهای
جهتنمای
بالا و
پایین در
تاریخچه
خطوط ورودی
قبلی
پیمایش
میکنند.
برای
اطلاعات
بیشتر در
مورد libreadline به man readline
مراجعه
کنید.
دستور -page یک
صفحهبند
داخلی متن
نتیجه را
فعال
میکند که
ممکن است در
حالت گفتگو
مفید باشد.
پس از آنکه
یک اقدام،
تعداد خطوط
مشخصشده
ترمینال را
خروجی داد،
صفحهبند
از کاربر یک
خط ورودی
درخواست
میکند.
یک خط خالی
به xorriso اجازه
میدهد تا
زمان خروجی
صفحه بعدی
به کار خود
ادامه دهد.
نویسه تکی
"@"
صفحهبندی
را برای
اقدام جاری
غیرفعال
میکند.
مقادیر "@@@"
یا "x" یا "q"
یا "X" یا "Q"
درخواست
میکنند که
اقدام جاری
لغو شود و از
خروجی
نتایج
بیشتر
جلوگیری به
عمل آید.
هر ورودی خط
دیگر به
عنوان خط
گفتگوی
جدید تفسیر
خواهد شد. از
اقدام جاری
درخواست
میشود که
لغو شود. پس
از آن، خط
ورودی اجرا
میشود.
برخی
اقدامات،
صفحهبندی
را روی
خروجی
اطلاعات
خود نیز
اعمال
میکنند.
درخواست
لغو ممکن
است توسط
اقدام جاری
پذیرفته
شود یا نشود.
همه
اقدامات
سعی
میکنند در
اسرع وقت
لغو شوند.
گزینهها (OPTIONS)
تمامی
کلمات
دستور با یک
خطتیره در
ابتدا نشان
داده
شدهاند،
اگرچه این
خطتیره
برای
شناسایی
دستور
اجباری
نیست. با این
وجود درون
دستور -as،
خطتیرههای
دستورات
شبیهسازیشده
اجباری
هستند.
معمولاً هر
تعداد
خطتیره
ابتدایی در
کلمات
دستور
نادیده
گرفته
میشود و
خطتیرههای
داخلی به
عنوان
زیرخط (underscore)
تفسیر
میشوند.
- ترتیب اجرای آرگومانهای برنامه:
به صورت
پیشفرض،
آرگومانهای
برنامه در
یک اجرای xorriso
به عنوان
دنبالهای
از دستورات
تفسیر
میشوند که
دقیقاً به
همان ترتیب
دادهشده
انجام
میگیرند.
این امر
ایجاب
میکند که
کاربر
دستورات
مربوط به
تنظیمات
دلخواه را
قبل از
دستوراتی
که قرار است
تحت تأثیر
آن تنظیمات
قرار
گیرند،
بنویسد.
بسیاری از
برنامههای
دیگر از
آرگومانهای
برنامه با
ترتیب
اختیاری
پشتیبانی
میکنند و
تنظیمات و
اقدامات را
با ترتیبی
به صلاحدید
خود انجام
میدهند.
برنامه xorriso
گزینهای
برای فعال
کردن چنین
رفتاری به
بهای از دست
رفتن قدرت
بیان دقیق
فراهم
میکند.
- -x
- فعالسازی
مرتبسازی
خودکار
آرگومانهای
برنامه به
ترتیبی که
(به احتمال
زیاد) معقول
است. این
دستور ممکن
است در هر
موقعیتی در
میان
دستوراتی
که به عنوان
آرگومانهای
برنامه
تحویل داده
میشوند،
قرار گیرد.
نکته: این گزینه تنها در صورتی کار میکند که به عنوان آرگومان برنامه و با یک خطتیره واحد (یعنی "-x") داده شود. در فایلهای راهاندازی، همراه با -options_from_file، در حالت گفتگو، به عنوان "x" و در نهایت به عنوان "--x" کار نخواهد کرد. این گزینه فقط روی دستوراتی که به عنوان آرگومان برنامه داده شدهاند تأثیر میگذارد. - -list_arg_sorting
- فهرست کردن
تمام
دستورات xorriso
به ترتیبی
که در صورت
فعال بودن
دستور -x
اعمال
میشود.
این فهرست همچنین میتواند بدون سوییچ -x برای کاربری که در مورد ترتیب چیدمان دستورات تأمل میکند مفید باشد. با این حال انحراف از ترتیب مرتبسازی فهرستشده ممکن است کاملاً منطقی باشد. - در اختیار گرفتن درایو مبدأ و مقصد:
تأثیر به دست آوردن یک درایو ممکن است به چندین دستور در بند بعدی «تأثیرگذاری بر رفتار بارگذاری تصویر» بستگی داشته باشد. در صورت تمایل، دستورات فعالکننده آنها باید قبل از دستوراتی که درایو را به دست میآورند اجرا شوند.
- -dev address
- تنظیم
درایو
ورودی و
خروجی روی
همان نشانی
و بارگذاری
تصویر ISO در
صورت وجود.
اگر تصویر ISO
وجود
نداشته
باشد، یک
تصویر خام
ایجاد
میشود. روش
گسترش
تصویر روی
رشد دادن (growing)
تنظیم
میشود.
این کار تنها تا زمانی مجاز است که هیچ تغییری در تصویر ISO بارگذاریشده فعلی معلق نباشد. اگر تغییراتی معلق باشد، ابتدا باید -commit یا -rollback اجرا شود.
رشته نشانی ویژه "-" به معنای خروجی استاندارد است که چندین محدودیت برای آن اعمال میشود. بند «درایوهای Libburn» را در بالا ببینید.
یک رشته نشانی خالی "" دستگاه فعلی را رها میکند بدون اینکه دستگاه جدیدی را در اختیار بگیرد. - -indev address
- تنظیم درایو ورودی و بارگذاری تصویر ISO در صورت وجود. اگر درایو ورودی جدید با -outdev متفاوت باشد، از حالت رشد دادن به اصلاح کردن (modifying) یا رشد کورکورانه (blind growing) جابجا میشود. بسته به تنظیم -grow_blindly تعیین میشود که کدام یک فعال گردد. همان قوانین و محدودیتهای -dev در اینجا نیز اعمال میشود.
- -outdev address
- تنظیم
درایو
خروجی و اگر
با درایو
ورودی
متفاوت
باشد،
جابجایی از
رشد دادن به
اصلاح کردن
یا رشد
کورکورانه
انجام
میشود.
برخلاف -dev و
-indev، این
اقدام
تصویر ISO
جدیدی
بارگذاری
نمیکند؛
بنابراین
حتی اگر
تغییرات
معلقی وجود
داشته باشد
نیز قابل
اجراست.
دستور -outdev میتواند بدون -dev یا -indev قبلی اجرا شود. در این صورت یک تصویر ISO خالی و بدون تغییرات معلق ایجاد میشود. این تصویر یا میتواند با کمک -map، -add و غیره پر شود یا اگر بعداً -dev یا -indev اجرا شوند، به آرامی کنار گذاشته شود.
رشته نشانی ویژه "-" به معنای خروجی استاندارد است که محدودیتهای متعددی بر آن اعمال میشود. بند «درایوهای Libburn» را در بالا ببینید.
رشته نشانی خالی "" درایو خروجی جاری را بدون دریافت درایو جدید رها میکند. هیچ عملیات نوشتنی بدون درایو خروجی امکانپذیر نیست. - -drive_class "harmless"|"banned"|"caution"|"clear_list" disk_pattern
- افزودن
الگوی مسیر
درایو به
یکی از
فهرستهای
ایمنی یا
خالی کردن
آن
فهرستها.
سه فهرست
تعریف شده
است که به
ترتیب زیر
آزمایش
میشوند:
اگر مسیر نشانی درایو با فهرست "harmless" مطابقت داشته باشد، درایو پذیرفته میشود. اگر دستگاه MMC نباشد، پیشوند "stdio:" به صورت خودکار به ابتدای آن اضافه میشود. این فهرست به صورت پیشفرض خالی است.
در غیر این صورت اگر مسیر با فهرست "banned" مطابقت داشته باشد، درایو توسط xorriso پذیرفته نمیشود بلکه منجر به یک رویداد خرابی (FAILURE) میگردد. این فهرست به صورت پیشفرض خالی است.
در غیر این صورت اگر مسیر با فهرست "caution" مطابقت داشته باشد و دستگاه MMC نباشد، نشانی آن باید دارای پیشوند "stdio:" باشد وگرنه رد خواهد شد. این فهرست به صورت پیشفرض دارای یک ورودی است: "/dev".
اگر مسیر درایو با هیچ فهرستی مطابقت نداشته باشد، "harmless" در نظر گرفته میشود. به صورت پیشفرض اینها تمامی مسیرهایی هستند که با پوشه "/dev" شروع نمیشوند.
یک مسیر با یک فهرست مطابقت دارد اگر یکی از مسیرهای والد آن یا خودش با یک ورودی فهرست مطابقت داشته باشد. پیشوندهای نشانی "stdio:" یا "mmc:" هنگام آزمایش مطابقت نادیده گرفته میشوند.
با شبهکلاس "clear_list" و شبهالگوهای "banned"، "caution"، "harmless" یا "all"، فهرستها میتوانند خالی شوند؛ مانند:
-drive_class clear_list banned
معمولاً فهرستهای -drive_class در یکی از فایلهای راهاندازی xorriso تعریف میشوند.
نکته: این یک ویژگی امنیتی نیست بلکه یک سپر محافظ برای کاربر ارشد (superuser) است تا از اشتباهات ناخواسته جلوگیری کند. برای مسدود کردن مطمئن دسترسی به یک فایل دستگاه، باید مجوزهای rw آن را در سیستمفایل لغو کنید. - -drive_access "exclusive"|"shared":"unrestricted"|"readonly"
- کنترل
اینکه آیا
سازوکارهای
قفل فایل
دستگاه
هنگام در
اختیار
گرفتن
درایو باید
استفاده
شوند یا
خیر، و
اینکه آیا
وضعیت یا
محتوای
رسانه درون
درایو ممکن
است تغییر
یابد یا
خیر.
مفیدترین و
بیخطرترین
حالتها،
تنظیم "shared:readonly"
و تنظیم
پیشفرض
"exclusive:unrestricted"
هستند.
حالت "exclusive" آزمونها و قفلها را هنگام تصاحب درایو فعال میکند. اعمال شدن سازوکارهای قفل و نوع آنها به سیستمعامل بستگی دارد. در GNU/Linux به صورت open(O_EXCL) و در FreeBSD به صورت flock(LOCK_EX) است.
حالت "shared" استفاده از این سازوکارها را غیرفعال میکند تا بتوان درایوهایی را که سوار شدهاند، توسط فرآیندی باز شدهاند یا توسط /dev/pktcdvd* محافظت میشوند تصاحب کرد.
حالت "unrestricted" تمامی عملیات فنی مناسب را روی درایو تصاحبشده فعال میسازد. حالت "shared:unrestricted" خطر خراب شدن رایتهای خود توسط سایر فرآیندها یا برعکس را به همراه دارد. بنابراین از "exclusive:unrestricted" استفاده کنید مگر اینکه مطمئن باشید "shared" ایمن است.
حالت "readonly" عملیاتی را که ممکن است کاربر همزمان درایو را غافلگیر کند، غیرفعال میکند. برای -outdev اینها شامل قالببندی، پاکسازی، نوشتن و بیرون دادن (eject) است. برای -indev بیرون دادن است. توجه داشته باشید که حتی خواندن و استعلام وضعیت درایو میتواند رایت در حال انجام روی CD-R[W] و DVD-R[W] را مختل کند. - -scsi_dev_family "default"|"sr"|"scd"|"sg"
- مختص GNU/Linux:
به صورت پیشفرض، xorriso سعی میکند نشانیهای درایو لینوکس را قبل از باز شدن به /dev/sr* نگاشت کند. این کار به خوبی با سایر کاربردهای درایوهای نوری مانند mount(8) هماهنگ است. اما بین سالهای ۲۰۱۰ و ۲۰۲۰، تمام /dev/sr*ها در یک قفل سراسری مشترک بودند که به تنها یک درایو اجازه پردازش دستور SCSI را میداد در حالی که بقیه باید منتظر اتمام آن میماندند. این امر در صورت نوشتن یا خواندن همزمان چند درایو، پهنای باند فاجعهباری به همراه داشت. قفل سراسری هرگز روی فایلهای دستگاه /dev/sg* و همچنین در صورت وجود پیشوند "stdio:" اعمال نمیشد.
بنابراین برای رایتهای همزمان در GNU/Linux 2.6 تا 5.5 توصیه میشود قبل از هر -dev، -indev یا -outdev دستور -scsi_dev_family "sg" اجرا شود. نشانیهای درایو میتوانند به صورت /dev/sr* داده شوند اما به عنوان /dev/sg* منطبق استفاده خواهند شد.
در صورت تمایل، میتوانید این دستور را در فایل راهاندازی سراسری مانند /etc/opt/xorriso/rc قرار دهید. - -grow_blindly "off"|predicted_nwa
- اگر predicted_nwa یک
عدد
غیرمنفی
باشد، در
صورتی که -indev و
-outdev روی
درایوهای
متفاوتی
تنظیم شده
باشند، رشد
کورکورانه
به جای
اصلاح کردن
انجام
میشود.
مقدار "off" یا
"-1" به حالت
اصلاح کردن
تغییر
وضعیت
میدهد که
پیشفرض
است.
مقدار predicted_nwa همان نشانی بلوکی است که نشست افزودنی رشد کورکورانه نهایتاً در آنجا قرار خواهد گرفت. اطمینان از این موقعیت نهایی و وجود نشستهای قدیمیتر بر عهده کاربر است. در غیر این صورت تصویر کلی ISO قابل سوار کردن نخواهد بود یا هنگام دسترسی به محتوای فایل خطاهای خواندن ایجاد میکند. برنامه xorriso نشست را در نشانی بهدستآمده از بررسی -outdev مینویسد و نه لزوماً در predicted_nwa.
در طول اجرای رشد کورکورانه، درایو ورودی قبل از شروع خروجی رها میشود. درایو خروجی پس از پایان نوشتن رها میگردد. - تأثیرگذاری بر رفتار بارگذاری تصویر:
دستورات زیر معمولاً باید پیش از بارگذاری تصویر با تصاحب درایو ورودی اجرا شوند. در موارد نادر مطلوب است که آنها را پس از بارگذاری تصویر فعال کرد.
- -read_speed code|number[k|m|c|d|b]
- تنظیم سرعت
خواندن.
مقدار
پیشفرض "none"
است که از
ارسال
دستور
تنظیم سرعت
به درایو
پیش از شروع
خواندن
خودداری
میکند.
کدهای سرعت ویژه دیگر عبارتند از:
مقدار "max" (یا "0") حداکثر سرعت اعلامشده توسط درایو را انتخاب میکند.
مقدار "min" (یا "-1") حداقل سرعت اعلامشده توسط درایو را انتخاب میکند.
سرعت میتواند در اعداد وابسته به رسانه یا به عنوان پهنای باند مورد نظر در ثانیه در قالب kB منطبق با MMC (= 1000) یا MB (= 1000 kB) ارائه شود. ضریب سرعت x رسانه میتواند به طور صریح با "c" برای CD، با "d" برای DVD و با "b" برای BD تنظیم شود؛ حرف "x" اختیاری است.
نمونههای سرعت:
706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD
17983k = 17983kB/s ~= 4b = 4xBD
اگر اشارهای به واحد سرعت متصل نشده باشد، رسانه موجود در -indev تصمیم خواهد گرفت. واحد پیشفرض CD = 176.4k است.
بسته به درایو، سرعتهای خواندن گزارششده میتوانند به طور فریبندهای کم یا زیاد باشند. بنابراین "min" نمیتواند بالاتر از سرعت 1x نوع رسانه درگیر شود. سرعت خواندن "max" نمیتواند کمتر از 52xCD، 24xDVD یا 20xBD بسته به نوع رسانه باشد.
درایوهای MMC معمولاً ایده خود را از سرعت فعال میکنند و مقدار سرعت ارائهشده توسط برنامه رایت را تنها به عنوان یک پیشنهاد در نظر میگیرند. درایوهای سازگار، سرعت زاویهای ثابت خود را به گونهای تنظیم میکنند که سرعت مورد نظر در لبه بیرونی رسانه به دست آید. اما اغلب فقط انتخاب بین بسیار آهسته و بسیار پر سر و صدا وجود دارد.
گاهی اوقات از هیچ تنظیم سرعتی پیروی نمیشود، اما سرعت بر اساس بسامد تقاضای برنامه خواننده تنظیم میشود. بنابراین xorriso امکان اعمال یک محدودیت نرمافزاری اضافی را با پیشوند "soft_force:" فراهم میکند. برنامه مراقبت خواهد کرد که سریعتر از سرعت soft_force نخواند. این ممکن است با تنظیم سرعت درایو روی مقدار بالاتر ترکیب شود. تنظیم "soft_force:0" این ویژگی را غیرفعال میکند.
پیشوند "soft_force:" سعی میکند زمان از دست رفته یا مازاد تا سقف ۰.۲۵ ثانیه را در دورههای انتظار بعدی تصحیح کند. این کار جریان کلی داده را هموار میسازد اما امکان دورههای کوتاه سرعت بالاتر را برای جبران زمانهای کوتاه سرعت پایین فراهم میکند. پیشوند "soft_corr:" این بازه گذشتهنگر را با دادن تعدادی میکروثانیه تنظیم میکند؛ حداکثر ۱ میلیارد = ۱۰۰۰ ثانیه. زمانهای بسیار کوتاه میتوانند باعث انحراف سرعت شوند، زیرا عدم دقتهای سیستماتیک تابع انتظار قابل جبران نیست.
مثالها (قابل ترکیب):
-read_speed 6xBD
-read_speed soft_force:4xBD -read_speed soft_corr:100000 - -load entity id
- بارگذاری
یک نشست ISO
خاص
(احتمالاً
قدیمی) از -dev
یا -indev.
معمولاً
تمام
نشستهای
موجود با
دستور -toc
نشان داده
میشوند.
پارامتر entity نوع آدرسدهی را نشان میدهد. پارامتر id نشانی خاص را مشخص مینماید. موجودیتهای زیر تعریف شدهاند:
مقدار "auto" با هر شناسهای آخرین نشست در -toc را آدرسدهی میکند. این حالت پیشفرض است.
مقدار "session" با شناسهای که عددی مطابق با خط "ISO session" در ستون "Idx" است.
مقدار "track" با شناسهای که عددی مطابق با خط "ISO track" در ستون "Idx" است.
مقدار "lba" یا "sbsector" با عددی مطابق با خط "ISO ..." در ستون "sbsector".
مقدار "volid" با یک الگوی جستجو برای متنی مانند ستون "Volume Id" در خط -toc مربوط به "ISO ...".
مقدار "at_time" با یک رشته زمانی که با دستور -alter_date توصیف شده است، آخرین نشست یا ترکی را انتخاب میکند که برچسب زمانی تغییر آن با زمان ارائهشده در همان ثانیه مطابقت دارد.
مقدار "before" با یک رشته زمانی، آخرین نشست یا ترکی را انتخاب میکند که برچسب زمانی آن قدیمیتر از زمان ارائهشده باشد، اما با موجودیتی با زمان دقیقاً دادهشده مطابقت ندارد.
مقدار "not_after" مانند "before" است اما همچنین با یک موجودیت با زمان دقیقاً دادهشده مطابقت دارد.
مقدار "after" با یک رشته زمانی، اولین نشست یا ترکی را انتخاب میکند که برچسب زمانی آن جدیدتر از زمان دادهشده باشد، اما با موجودیتی با زمان دقیقاً دادهشده مطابقت ندارد.
مقدار "not_before" مانند "after" است اما همچنین با موجودیتی با زمان دقیقاً دادهشده مطابقت دارد.
مقایسه موجودیتهای زمانی با دقت یک ثانیه انجام میشود؛ یعنی صدمثانیههای برچسبهای زمانی ISO 9660 نادیده گرفته میشوند. اگر -toc_info_type روی "creation_time" تنظیم شده باشد، مقایسه به جای برچسب زمانی تغییر، در برابر برچسب زمانی ایجاد ترک یا نشست انجام میشود. خروجی -pvd_info هر دو برچسب زمانی را به صورت "Creation Time:" و "Modif. Time :" نشان میدهد.
مقایسههای زمانی اولین و آخرین نشستهای منطبق را انتخاب میکنند. اگر توالی برچسبهای زمانی در یک درایو از نظر زمانی صعودی نباشد، انتخابها ممکن است بهترین گزینه نباشند. در این صورت به خروجی -toc_info_type "mtime" -toc نگاه کنید و موجودیت مورد نظر را با "session"، "track" یا "sbsector" انتخاب نمایید.
آدرسدهی به یک موجودیت ناموجود یا موجودیتی که یک تصویر ISO را نشان نمیدهد، یا درایو -indev را رها میکند یا حداقل به یک تصویر خام منجر میشود.
اگر در لحظه اجرای -load یک درایو ورودی تنظیم شده باشد، تصویر ISO آدرسدهیشده بلافاصله بارگذاری میشود. در غیر این صورت تنظیم تا -dev یا -indev بعدی معلق خواهد ماند. پس از اینکه تصویر یک بار بارگذاری شد، تنظیم برای -rollback تا -dev یا -indev بعدی معتبر است، جایی که به "auto" بازنشانی خواهد شد. - -displacement [-]lba
- جبران
جابجایی
تصویر نسبت
به نشانی
شروعی که
تصویر برای
آن آماده
شده است.
این تنها بر
بارگذاری
تصاویر ISO و
خواندن
فایلهای
آنها
تأثیر
میگذارد.
روش
چندنشستی
رشد دادن تا
زمانی که -displacement
غیرصفر
باشد مجاز
نیست؛ یعنی
-indev و -outdev باید
متفاوت
باشند.
جابجایی
قبل از
اینکه
درایو پس از
نوشتن
مجدداً به
دست آید به 0
بازنشانی
میشود.
مثالها:
اگر یک ترک CD از بلوک 123456 شروع شود و در یک فایل دیسک کپی شود که در آن از بلوک 0 آغاز میشود، این کپی میتواند با دستور زیر بارگذاری شود:
-displacement -123456
اگر یک تصویر ISO روی یک پارتیشن با آفست 640000 بلوک 512 بایتی نوشته شده باشد، میتواند با دستور زیر از دستگاه پایه بارگذاری شود:
-load sbsector 160000 -displacement 160000
(اگر نشانی شروع پارتیشن بر 4 بخشپذیر نباشد، باید به جای آن از یک دستگاه loop استفاده کنید.)
در هر دو مورد، نشستهای ISO باید مستقل باشند، یعنی نشستهای افزودنی به یک تصویر ISO در خارج از ترک یا پارتیشن خود نباشند. - -read_fs "any"|"norock"|"nojoliet"|"ecma119"
- مشخص کردن
اینکه چه
نوع درخت
سیستمفایلی
در صورت
وجود
بارگذاری
شود. اگر
خواسته
برآورده
نشود،
نامهای ECMA-119
بارگذاری
شده و طبق -ecma119_map
تبدیل
میشوند.
حالت "any" ابتدا تلاش میکند Rock Ridge را بخواند. اگر وجود نداشته باشد، Joliet امتحان میشود.
حالت "norock" گزینه Rock Ridge را امتحان نمیکند.
حالت "nojoliet" گزینه Joliet را امتحان نمیکند.
حالت "ecma119" نه Rock Ridge و نه Joliet را امتحان نمیکند. - -assert_volid pattern severity
- خودداری از
بارگذاری
تصاویر ISO با
شناسههای
جلدی که با
الگوی
جستجوی
دادهشده
مطابقت
ندارند.
هنگام
امتناع از
یک تصویر،
درایو
ورودی را
رها کرده و
رویدادی با
شدت
دادهشده
صادر کنید
(مانند FAILURE، به
-abort_on مراجعه
کنید). یک
الگوی
جستجوی
خالی هر
تصویری را
میپذیرد.
این دستور مانع ایجاد یک تصویر خالی از رسانههای ورودی خام نمیشود و تصویر از قبل بارگذاریشده را کنار نمیگذارد. - -in_charset character_set_name
- تنظیم مجموعه نویسهای که هنگام بارگذاری یک تصویر باید نام فایلها از آن تبدیل شوند. برای توضیحات بیشتر به بند «مجموعههای نویسه (Character sets)» مراجعه کنید. هنگام بارگذاری تصویر نوشتهشده پس از -commit، تنظیمات -out_charset در -in_charset کپی میشود.
- -auto_charset "on"|"off"
- فعال یا
غیرفعال
کردن ثبت و
تفسیر نام
مجموعه
نویسه
خروجی در یک
ویژگی xattr از
پوشه ریشه
تصویر. اگر
فعال باشد و
نام مجموعه
نویسه
ثبتشده
یافت شود،
از این نام
به عنوان
نام مجموعه
نویسه
ورودی
هنگام
خواندن
تصویر
استفاده
خواهد شد.
توجه داشته باشید که مجموعه نویسه خروجی پیشفرض، مجموعه نویسه محلی ترمینالی است که xorriso در آن اجرا میشود. پیش از انتساب این مجموعه نویسه محلی به تصویر ISO تولیدشده، بررسی کنید که آیا ترمینال به درستی تمام نام فایلهای مورد نظر، به ویژه نویسههای ملی خاص را نمایش میدهد یا خیر. - -hardlinks mode[:mode...]
- فعال یا
غیرفعال
کردن
بارگذاری و
ثبت
پیوندهای
سخت (hardlinks).
در حالت پیشفرض "off"، فایلهای iso_rr شمارههای inode خود را در زمان بارگذاری تصویر از دست میدهند. هر شیء فایلی iso_rr که در زمان تولید تصویر شماره inode ندارد، در صورتی که -compliance روی new_rr تنظیم شده باشد، یک شماره inode منحصربهفرد جدید دریافت میکند.
حالت "on" شمارههای inode را از تصویر بارگذاریشده در صورتی که چنین شمارههایی ثبت شده باشند حفظ میکند. هنگام ثبت نهایی یک نشست (commit)، خانوادههایی از فایلهای iso_rr را جستجو میکند که از همان فایل دیسک سرچشمه میگیرند، فیلتر محتوای یکسان دارند و دارای مشخصات یکسانی هستند. به تمام اعضای خانواده شماره inode یکسانی داده میشود. اینکه آیا این شمارهها در زمان mount رعایت میشوند یا خیر، به سیستمعامل بستگی دارد.
دستور -lsl در صورت فعال بودن "lsl_count"، تعداد پیوندهای سخت را نمایش میدهد. این امر میتواند پس از ایجاد تغییرات در تصویر ISO، دستور را به طور قابل توجهی کند کند؛ بنابراین پیشفرض "no_lsl_count" است.
دستورات -update و -update_r انشعابها و ادغامهای پیوندهای سخت را در سیستمفایلهایی که شمارههای دستگاه و inode پایدار دارند ردیابی میکنند. این امر میتواند باعث تغییرات خودکار لحظه آخری قبل از نوشته شدن نشست شود. دستور -hardlinks "perform_update" ممکن است برای انجام این تغییرات زودتر استفاده شود، مثلاً اگر نیاز به اعمال فیلترها روی تمام فایلهای بهروزرسانیشده دارید.
حالت "without_update" از پردازش پیوندهای سخت در حین دستورات بهروزرسانی خودداری میکند. اگر وضعیت سیستمفایل شما اجازه -disk_dev_ino "on" را نمیدهد از این حالت استفاده کنید.
دستورات xorriso که فایلها را از یک تصویر ISO استخراج میکنند سعی مینمایند فایلهای با شماره inode یکسان را پیوند سخت دهند. محدوده عادی این عملیات از بارگذاری تصویر تا بارگذاری تصویر بعدی است. میتوان نشانیهای پیوند سخت جمعآوریشده را با -hardlinks "discard_extract" رها کرد.
تعداد زیاد خانوادههای پیوند سخت ممکن است -temp_mem_limit را پر کند اگر هر دو گزینه -osirrox "sort_lba_on" و -hardlinks "cheap_sorted_extract" فعال نباشند. این گزینه پیوند سخت را به سایر فایلهای بازیابیشده توسط همان دستور استخراج منفرد محدود میکند. گزینه -hardlinks "normal_extract" انباشت گسترده و پرهزینه پیوندهای سخت را مجدداً فعال میسازد. - -acl "on"|"off"
- فعال یا غیرفعال کردن پردازش فهرستهای کنترل دسترسی (ACL). اگر فعال باشد، xorriso فهرستهای ACL را از اشیاء فایلی دیسک به دست میآورد، ACLها را با استفاده از فرمت خاص AAIP در libisofs در تصویر ISO ذخیره میکند، دادههای AAIP را از تصاویر ISO بارگذاری مینماید، ACL را هنگام مقایسه فایل آزمایش میکند و هنگام استخراج فایلها از تصاویر ISO، فهرستهای ACL را در فایلهای دیسک بازیابی مینماید. همچنین به دستورات -getfacl و -setfacl مراجعه کنید.
- -xattr "on"|"user"|"any"|"off"
- فعال یا
غیرفعال
کردن
پردازش
ویژگیهای
گسترشیافته
(xattr). اگر فعال
باشد، xorriso
ویژگیهای
xattr را مشابه ACL
مدیریت
میکند. به
دستورات -getfattr
و -setfattr و بند
بالا
درباره xattr
مراجعه
کنید.
حالتهای "on" و "user" تنها ویژگیهای مربوط به فضای نام "user" را میخوانند و مینویسند.
حالت "any" ویژگیهای تمامی فضاهای نام را پردازش میکند. این ممکن است به دسترسیهای مدیریتی نیاز داشته باشد، حتی اگر مالک فایل دیسک سعی در خواندن یا نوشتن ویژگیها داشته باشد.
توجه داشته باشید که تنظیم xattr در فضای نام "isofs." توسط دستورات دستکاری xattr در xorriso امکانپذیر نیست. - -lfa_flags mode[:mode...]
- فعالسازی،
غیرفعالسازی
یا
تأثیرگذاری
بر پردازش
ویژگیهای
فایل
لینوکس
همانطور
که در man 1 chattr شرح
داده شده
است.
حالت "on" پردازش واقعی ویژگیها را فعال میکند.
حالت "off" آن را غیرفعال مینماید.
حالت "auto_on" آن را تنها در صورتی فعال میکند که کتابخانه زیربنایی libisofs با پشتیبانی از ویژگیهای فایل لینوکس کامپایل شده باشد، که معمولاً در سیستمهای غیرلینوکسی چنین نیست. پردازش فعال بدون پشتیبانی libisofs باعث رویدادهای خرابی هنگام خواندن فایلهای دیسک میشود.
سایر حالتها رفتار را در صورت "on" بودن تعریف میکنند:
حالت "read" امکان دریافت این ویژگیها از فایلهای دیسک، ذخیره آنها در سیستمفایل در حال شکلگیری ISO 9660 به عنوان دادههای AAIP، وارد کردن آنها در هنگام بارگذاری سیستمفایل ISO حاوی چنین ویژگیهایی، و مقایسه آنها در طول مقایسه بین فایلهای روی دیسک و در ISO را فراهم میسازد.
حالت "no_read" خواندن ویژگیها از فایلهای دیسک و وارد کردن آنها در هنگام بارگذاری سیستمفایل ISO را غیرفعال میکند. اگر تنظیمات دیگر مانند -acl "on" یا -xattr "on" نیاز به ذخیره دادههای AAIP داشته باشند، ویژگیهای فایل ممکن است همچنان در ISO در حال شکلگیری ذخیره شوند. برای محروم کردن قطعی هرگونه ویژگی فایل، پیش از -commit دستور زیر را اجرا کنید:
-chattr_r --remove-lfa-flags / --
حالت "import_non_settable" دریافت ویژگیهای غیرقابلتنظیم را از دیسک و پیوست کردن ویژگیها به فایلها در تصویر ISO در حال شکلگیری حتی اگر تمام فلگهای ویژگی صفر باشند، فعال میسازد.
حالت "import_only_settable" باعث میشود که ویژگیهای غیرقابلتنظیم ("eEhINVZ") هنگام خواندن اشیاء فایلی از دیسک نادیده گرفته شوند. اگر فلگهای ویژگی باقیمانده همگی صفر باشند، هیچ اطلاعات ویژگی به فایل در ISO پیوست نمیشود. این امر موجب صرفهجویی در فضای ذخیرهسازی شده و یافتن ویژگیهای غیربدیهی را در تصویر ISO آسان میکند.
حالت "restore" بازیابی ویژگیها را هنگام بازیابی فایل مربوطه و مقایسه آنها را در طول مقایسه بین فایلهای روی دیسک و در ISO فعال میسازد. چندین حالت در زیر رفتار را هنگام بازیابی ویژگیها تغییر میدهند.
حالت "no_restore" بازیابی ویژگیها را غیرفعال میکند.
حالت "restore_su" بازیابی ویژگیهای "aij" را که تنها توسط دارنده دسترسیهای کاربر ارشد قابل تغییر هستند فعال میسازد. حالت "no_restore_su" بازیابی این ویژگیها را غیرفعال میکند. حالت "restore_su_auto" آن را تنها در صورتی فعال میسازد که شناسه کاربر موثر (euid) برابر 0 باشد.
ویژگی "i" (برای "تغییرناپذیر / immutable") تنها در صورتی در پوشهها بازیابی میشود که به تازگی توسط همان دستور بازیابی فایل xorriso ایجاد شده باشند. پوشهای که از قبل روی دیسک وجود داشته است، تغییرناپذیر نخواهد شد.
حالت "restore_only_known" بازیابی را به فلگهای ویژگی قابل تنظیم شناختهشده "aAcCdDFijmPsStTux" محدود میکند. حالت "restore_unknown" تلاش برای بازیابی فلگهای ناشناخته یا حتی مواردی را که غیرقابلتغییر شناخته شدهاند فعال میکند، اگر توسط حالتهای دیگر غیرفعال نشده باشند.
حالت "...=restore_mask" ویژگیهای خاصی را برای بازیابی فعال میکند. سایر موارد بازیابی نخواهند شد. فهرست حروف ویژگی مورد نظر پس از نویسه '=' میآید. یک فهرست خالی تمامی ویژگیها را فعال میکند، اگر توسط حالتهای دیگر غیرفعال نشده باشند. نویسه تکی "-" همانند "off" مانع از بازیابی تمامی ویژگیها میشود؛ به عنوان مثال:
-lfa_flags restore_mask=SdCiaj
حالت "=restore_error" رفتار را برای رویدادی که در آن بازیابی فلگهای ویژگی در سیستمفایل محلی با شکست مواجه میشود، تعیین میکند. کلمه کلیدی "silent" و سطوح شدت از "all" تا "fatal" در دسترس هستند. مقادیر "silent" و شدت "all" هرگونه پیام خطا و ملاحظات سقط ناشی از تلاشهای بازیابی فلگهای ویژگی را سرکوب میکنند. در غیر این صورت پیام خطا با شدت دادهشده صادر میشود. سپس بسته به تنظیم دستور -abort_on تعیین میشود که آیا بازیابی ادامه یابد یا سقط شود.
حالت "restore_single" در صورتی که تلاش برای تنظیم یکباره همه آنها با شکست مواجه شود، سعی میکند فلگهای ویژگی یک فایل را یکی یکی تنظیم کند. این تنها در صورتی رخ میدهد که شدت "=restore_error" و تنظیم دستور -abort_on خواستار لغو اجرای برنامه نباشند. توجه داشته باشید که برخی فلگها در برخی موقعیتها توسط برخی هستهها بی سر و صدا نادیده گرفته میشوند.
حالت "no_restore_single" این تلاش را برای به ثمر نشاندن حداقل برخی از فلگهای ویژگی غیرفعال میکند.
حالت "default" تنظیمات پیشفرض را مجدداً برقرار میسازد:
-lfa_flags off:read:restore:restore_su_auto:restore_only_known
-lfa_flags restore_mask=:restore_error=sorry:restore_single
از "default:on" برای به دست آوردن تنظیمات پیشفرض همراه با پردازش فعال استفاده کنید. - -projid mode[:mode...]
- فعالسازی،
غیرفعالسازی
یا
تأثیرگذاری
بر پردازش
شناسههای
پروژه به
سبک XFS.
حالت "on" ثبت و بازیابی شناسههای پروژه را فعال میکند.
حالت "off" آن را غیرفعال میسازد.
حالت "restore_0" بازیابی شناسه پروژه 0 را هنگام استخراج فایلها روی دیسک فعال میکند. مقدار پیشفرض "no_restore_0" است که در صورتی که فایل دارای شناسه پروژه 0 در سیستمفایل ISO باشد، تصمیمگیری درباره شناسه پروژه را به سیستمفایل محلی واگذار میکند.
حالت "+map" نگاشتهای بازههای شناسه پروژه در ISO به بازههای شناسه پروژه در دیسک را هنگام بازیابی فایلها تعریف میکند. قالب آن به صورت زیر است:
map+low_in_iso,high_in_iso=low_on_disk[,[high_on_disk]]
پارامترهای "low_in_iso" و "high_in_iso" بازه عددی را تعریف میکنند که نگاشت در زمان بازیابی از آن اتفاق میافتد. پارامتر "low_on_disk" نتیجه نگاشت "low_in_iso" است. شمارههای شناسه پروژه تا "high_in_iso" نگاشت میشوند به:
low_on_disk + (project_id - low_in_iso)
اگر عدد حاصل بالاتر از "high_on_disk" باشد، به "high_on_disk" نگاشت میشود. پارامتر "low_on_disk" بدون کامای پس از آن به معنای "low_on_disk,low_on_disk" است که کل بازه "_in_iso" را به عدد منفرد "low_on_disk" نگاشت میکند. پارامتر ",low_on_disk" بدون عدد بعدی به معنای "low_on_disk,4294967295" است.
چندین حالت "+map" ممکن است با یک یا چند دستور -projid داده شود؛ مانند:
-projid on:map+1,1=11,11:map+1000,1999=2000,
اولین تطابق در فهرست نگاشتها، نگاشت یک شناسه پروژه دادهشده در ISO را تعریف میکند.
شبهحالت "=map_test" میتواند برای آگاهی از نگاشت فعلی شماره پروژه ارائهشده استفاده شود. این شبهحالت فوراً نتیجه نگاشت را در کانال نتایج گزارش میدهد و تنظیمات جاری -projid را تغییر نمیدهد؛ مانند:
-projid map_test=1001
حالت "default" تمامی نگاشتهای تعریفشده را کنار میگذارد و -projid را روی "off:no_restore_0" تنظیم میکند. - -md5 "on"|"all"|"off"|"load_check_off"
- فعال یا
غیرفعال
کردن
پردازش
چکسامهای
MD5 برای کل
نشست و برای
تکتک
فایلهای
داده. در
صورت فعال
بودن،
تصاویر
دارای
برچسب
چکسام
تنها در
صورتی
بارگذاری
میشوند که
برچسبهای
ابربلوک و
درخت
دایرکتوری
به درستی
مطابقت
داشته
باشند.
چکسامهای
MD5 فایلهای
داده و کل
نشست از
تصویر
بارگذاری
میشوند
اگر وجود
داشته
باشند.
با دستورات -compare و -update، مقدار MD5 ثبتشده یک فایل برای جلوگیری از خواندن محتوا از تصویر استفاده خواهد شد. تنها محتوای فایل دیسک خوانده شده و با آن MD5 مقایسه میشود. این کار میتواند زمان زیادی را در صورتی که -disk_dev_ino "on" مناسب نباشد، ذخیره کند.
دستوراتی که فایلهای داده کامل را از ISO به هارد دیسک کپی میکنند، در صورت تنظیم -osirrox "check_md5_on"، جریان داده کپیشده را با MD5 ثبتشده تأیید خواهند کرد.
در زمان تولید تصویر، آنها برای هر فایلی که دادههایش در نشست جدید نوشته میشود محاسبه میگردند. چکسامهای فایلهایی که دادههایشان در نشستهای قدیمیتر قرار دارد در نشست جدید کپی میشوند. ابربلوک، درخت و کل نشست هر کدام یک برچسب چکسام دریافت میکنند.
حالت "all" علاوه بر این در طول تولید تصویر بررسی میکند که آیا چکسام یک فایل داده بین زمانی که خواندن آن آغاز شد و زمانی که پایان یافت تغییر کرده است یا خیر. این به معنای دو بار خواندن هر فایل است.
حالت "load_check_off" به همراه "on" یا "all"، مقادیر MD5 ثبتشده را بارگذاری میکند اما برچسبهای چکسام ثبتشده ابربلوک و درخت پوشه را آزمایش نمینماید. این امر در صورتی لازم است که growisofs به عنوان برنامه رایت استفاده شده باشد، زیرا برچسب چکسام ابربلوک اولین نشست را بازنویسی نمیکند. بنابراین هنگام اجرای گزینه -M در xorriso -as mkisofs، حالت load_check_off برقرار است.
این آزمایش میتواند با حالت "load_check_on" مجدداً فعال شود.
چکسامها میتوانند از طریق دستورات -check_md5، -check_md5_r، اقدامات find موسوم به get_md5، check_md5 و از طریق -check_media مورد استفاده قرار گیرند. - -for_backup
- فعالسازی
تمامی
ویژگیهای
اضافی که به
تولید یا
بازیابی
نسخههای
پشتیبان با
بالاترین
وفاداری به
مشخصات
فایل کمک
میکنند. در
حال حاضر
این یک
میانبر
برای
دستورات
زیر است:
-hardlinks on -acl on -xattr any -md5 on -projid on
و احتمالاً:
-lfa_flags default:on:import_only_settable
-lfa_flags restore_mask=aAcdDijmPsStTux
اگر یک نسخه پشتیبان با ویژگیهای xattr خارج از فضای نام کاربری را بازیابی میکنید، مطمئن شوید که سیستمعامل و سیستمفایل مقصد مفهوم این ویژگیها را میدانند. احتمالاً برای ثبت یا بازیابی چنین ویژگیهایی به امتیازات مدیریتی نیاز خواهید داشت. در زمان ثبت، xorriso سعی میکند کمبود امتیازات را تحمل کند و فقط آنچه را که خواندنی است ثبت نماید. اما در زمان بازیابی، کمبود امتیازات یا پیشنیازها باعث رویدادهای خرابی خواهد شد.
دستور -xattr "user" پس از دستور -for_backup، ویژگیهای غیرکاربری را از ثبت یا بازیابی مستثنی میکند.
دستور -lfa_flags توسط -for_backup تنها در صورتی اجرا میشود که libisofs زیربنایی با پشتیبانی از ویژگیهای فایل لینوکس کامپایل شده باشد، که معمولاً در سیستمهای غیرلینوکسی چنین نیست.
اگر -lfa_flags توسط -for_backup اجرا شود، ماسک بازیابی تمامی ویژگیهای قابل تنظیم شناختهشده را فعال میکند، به جز "C" و "F" که محدودیتهای خاصی دارند که xorriso هنوز نمیتواند در زمان بازیابی آنها را تشخیص دهد. دستور -lfa_flags "restore_mask=" پس از -for_backup تمامی ویژگیهای قابل تنظیم شناختهشده را فعال خواهد کرد. - -ecma119_map "stripped"|"unmapped"|"lowercase"|"uppercase"
- انتخاب روش
تبدیل نام
فایلها
هنگام
بارگذاری
یک نشست، در
صورتی که نه
از یک نام Rock Ridge
و نه از یک
نام Joliet
سرچشمه
گرفته
باشند.
حالت "stripped" پیشفرض است. نامها را همانطور که در ISO یافت میشوند نشان میدهد اما ";1" یا ".;1" انتهایی را در صورت وجود حذف میکند.
حالت "unmapped" نامها را همانطور که یافت میشوند بدون حذف نویسهها نشان میدهد. هشدار: چندنشستی "xyz;1" را به "xyz_1" تبدیل میکند و ممکن است ";1" جدید اضافه نماید.
حالت "lowercase" مانند "stripped" است اما حروف بزرگ را به حروف کوچک نگاشت میکند. این با رفتار پیشفرض mount در GNU/Linux سازگار است.
حالت "uppercase" مانند "stripped" است اما حروف کوچک را در صورت وجود به حروف بزرگ نگاشت میکند، علیرغم دستورالعملهای ECMA-119. - -joliet_map "stripped"|"unmapped"
- انتخاب روش
تبدیل نام
فایلها
هنگام
بارگذاری
یک نشست از
یک درخت Joliet.
حالت "stripped" پیشفرض است. در صورت وجود، ";1" یا ".;1" انتهایی را حذف میکند.
حالت "unmapped" نامها را همانطور که یافت میشوند بدون حذف نویسهها نشان میدهد. هشدار: چندنشستی "xyz;1" را به "xyz_1" تبدیل میکند و شاید ";1" جدیدی اضافه نماید. - -iso_nowtime "dynamic"|timestring
- انتخاب
اینکه آیا
برای
برچسبهای
زمانی
گرههای ISO 9660
بدون فایل
منبع دیسک و
به عنوان
پیشفرض
برای
برچسبهای
زمانی
ابربلوک،
از زمان
جاری ("dynamic")
استفاده
شود یا یک
نقطه زمانی
ثابت.
اگر یک رشته زمانی داده شود، برای چنین برچسبهای زمانی استفاده میشود. برای قالبهای رشته زمانی به دستور -alter_date مراجعه کنید. - -disk_dev_ino "on"|"ino_only"|"off"
- فعال یا
غیرفعال
کردن
پردازش
شمارههای
شناسایی
فایل
ثبتشده (dev_t و
ino_t). در صورت
فعال بودن،
به عنوان xattr
ذخیره
میشوند و
میتوانند
مقایسه
فایلها را
به طور
چشمگیری
سرعت بخشند.
گره ریشه یک
برچسب
زمانی شروع
سراسری
دریافت
میکند. اگر
در حین
مقایسه
فایلی با
برچسبهای
زمانی
جدیدتر در
تصویر ISO
یافت شود،
مشکوک به
داشتن
محتوای
ناسازگار
در نظر
گرفته
میشود.
اگر شمارههای دستگاه و inode سیستمفایلهای دیسک پایدار باشند و هیچ تغییر غیرعادی در برچسبهای زمانی یا ساعت سیستم رخ ندهد، تغییرات محتمل محتوا بدون خواندن آن محتوا قابل تشخیص است. در صورت تغییر هر یک از mtime، ctime، شماره دستگاه یا شماره inode، تغییر محتوای فایل فرض میشود.
حالت "ino_only" پیششرط پایداری شمارههای دستگاه را با پیششرط اینکه نقاط اتصال در درخت مقایسهشده همیشه به همان سیستمفایلها ختم شوند، جایگزین میکند. اگر حالت "on" همیشه همه فایلها را تغییریافته میبیند، از این حالت استفاده کنید.
مزیت سرعت تنها در صورتی ظاهر میشود که نشست بارگذاریشده نیز با -disk_dev_ino "on" تولید شده باشد.
توجه داشته باشید که -disk_dev_ino "off" تنها در صورتی کاملاً مؤثر است که -hardlinks نیز روی "off" باشد. - -file_name_limit [+]number
- تنظیم
حداکثر طول
مجاز برای
نام
فایلها در
بازه ۶۴ تا
۲۵۵.
مؤلفههای
مسیری که
طولانیتر
از عدد
دادهشده
باشند
بریده
میشوند و
۳۳ بایت آخر
آنها با یک
دونقطه ':' و
نمایش
هگزادسیمال
MD5 مربوط به
۴۰۹۵ بایت
اول کل نام
با اندازه
بیش از حد
بازنویسی
میشود.
نویسههای
ناقص
احتمالی UTF-8
بایتهای
ابتدایی
خود را با '_'
جایگزین
خواهند کرد.
مسیرهای iso_rr_paths با مؤلفههای طولانی همچنان میتوانند به مسیرهای فایل با مؤلفههای بریدهشده دسترسی داشته باشند.
اگر -file_name_limit در حالی که یک درخت ISO وجود دارد اجرا شود، نام فایلها در درخت ISO از نظر وجود نام فایلهای بریدهشده با محدودیت فعلی و تداخل نام بین فایلهای تازه بریدهشده و فایلهای موجود بررسی میشوند. در هر دو مورد، تنظیم با یک رویداد SORRY رد خواهد شد.
میتوان این ممنوعیت را با افزودن نویسه "+" به ابتدای آرگومان -file_name_limit لغو کرد. نام فایلهای بریدهشده ممکن است دوباره بریده شوند که بخش MD5 آنها را باطل میکند. نامهای بریدهشده متداخل منحصربهفرد میشوند که حداقل ۹ بایت دیگر از بخش نام باقیمانده را مصرف میکند.
اگر نوشتن xattr فعال باشد، طول در "isofs.nt" از پوشه ریشه ذخیره میشود. اگر خواندن xattr فعال باشد و "isofs.nt" پیدا شود، طول یافتشده در صورتی که کوچکتراز تنظیم فعلی -file_name_limit باشد، اعمال خواهد شد.
الگوهای نام فایل تنها در صورتی کار خواهند کرد که با نام بریدهشده مطابقت داشته باشند. این ممکن است در آینده تغییر کند.
فایلهای با نامهای بریدهشده در طول -update و -update_r بدون قید و شرط حذف و مجدداً اضافه میشوند. این ممکن است در آینده تغییر کند.
هستههای لینوکس حداقل تا نسخه 4.1 نامهای با طول ۲۵۴ و ۲۵۵ را نادرست نمایش میدهند. اگر انتظار چنین نامهایی را در یا زیر disk_paths دارید و قصد دارید ISO را با چنین هستههای لینوکسی سوار کنید، تنظیم -file_name_limit 253 را در نظر بگیرید. در غیر این صورت فقط از نامهای طولانیتر از ۲۵۳ نویسه اجتناب کنید. - -rom_toc_scan "on"|"force"|"off"[:"emul_off"][:"emul_wide"]
- درایوهای
فقطخواندنی
نوع واقعی
رسانه را
اعلام
نمیکنند
بلکه هر
رسانهای
را به عنوان
ROM (مانند DVD-ROM)
نشان
میدهند.
تاریخچه
نشستهای
رسانههای
چندنشستی MMC
ممکن است به
اولین و
آخرین نشست
بریده شود
یا حتی
کاملاً
نادرست
باشد.
(تاریخچه
شبیهسازیشده
رسانههای
قابل
بازنویسی
تحت تأثیر
این موضوع
قرار
نمیگیرد.)
برای داشتن شانس به دست آوردن تاریخچه نشستها و به ویژه نشانی آخرین نشست در صورت بروز خرابی، پویشی برای سرآیندهای سیستمفایل ISO 9660 وجود دارد که ممکن است کمک کند اما همچنین ممکن است نتایجی بدتر از جدول محتوای درایو به دست دهد. در پایان ممکن است باعث تلاش برای خواندن نشانیهای نامعتبر و در نتیجه رفتار نامناسب درایو شود. تنظیم "on" این پویش را برای رسانههای به اصطلاح فقطخواندنی فعال میکند.
برخی از سیستمعاملها قادر به سوار کردن جدیدترین نشست DVD یا BD چندنشستی نیستند. اگر در چنین سیستمی xorriso قابلیتهای MMC خود را نداشته باشد، همچنان ممکن است آن نشست را از یک جدول محتوای پویششده پیدا کند. تنظیم "force" با هر رسانهای مانند یک رسانه ROM با تنظیم "on" رفتار میکند.
از سوی دیگر، شبیهسازی تاریخچه نشست در رسانههای قابل بازنویسی میتواند مانع از خواندن رسانههای نیمهآسیبدیده شود. تنظیم "off:emul_off" پویش جدول محتوا را برای آن رسانهها غیرفعال میکند.
پویش جدول محتوا روی رسانههای قابل بازنویسی معمولاً فقط تا انتهای نشستی که توسط ابربلوک در بلوک 0 به آن اشاره شده است جستجو میکند. تنظیم "on:emul_wide" اجازه میدهد پویش تا انتهای رسانه ادامه یابد. این ممکن است پس از کپی کردن رسانه با -check_media patch_lba0=on هنگامی که آخرین نشست بارگذاری نشده بود، مفید باشد. - -calm_drive "in"|"out"|"all"|"revoke"|"on"|"off"|"never"
- کنترل کاهش
صدای درایو
تا زمانی که
واقعاً
دوباره
استفاده
شود. برخی
از درایوها
پس از اینکه
برای
خواندن یا
نوشتن
استفاده
شدند برای
مدت زمان
قابل توجهی
در حالت
آمادهباش
میمانند.
این امر
زمان
راهاندازی
برای
عملیات
بعدی درایو
را کاهش
میدهد اما
در صورتی که
انتظار
ورودی/خروجی
زودهنگام
با درایو
وجود
نداشته
باشد،
میتواند
پر سر و صدا
بوده و
انرژی هدر
دهد.
حالتهای "in"، "out" و "all" فوراً به ترتیب -indev، -outdev یا هر دو را آرام میکنند. حالت "revoke" بلافاصله هر دو درایو را به حالت آمادهباش درمیآورد.
حالت "on" باعث میشود که آرامسازی به صورت خودکار پس از هر -dev، -indev و -outdev انجام شود. حالت "off" این قابلیت را غیرفعال میکند اما همچنان درایو را هنگامی که بدون بیرون دادن رها میشود به طور خودکار آرام میسازد.
حالت "leave" تمامی آرامسازیهای خودکار درایو را غیرفعال میکند تا درایوها حتی پس از پایان اجرای برنامه xorriso در حالت آمادهباش بمانند.
درایوها پس از مدتی عدم فعالیت خود به خود کند میشوند. این حالت معمولاً در چند مرحله رخ میدهد. - -ban_stdio_write
- فقط استفاده از درایوهای نوری MMC را برای نوشتن مجاز بدانید. نوشتن نتیجه را در فایلهای از تقریباً هر نوع اختیاری ممنوع کنید. پس از تنظیم، این دستور قابل لغو نیست.
- -early_stdio_test "on"|"appendable_wo"|"off"
- اگر با "on"
فعال شود،
فایلهای
معمولی و
دستگاههای
بلوکی از
نظر
مجوزهای
دسترسی
مؤثر
آزمایش
میشوند.
این به
معنای تلاش
برای باز
کردن آن
فایلها
برای نوشتن
است که در
غیر این
صورت تنها
دیرتر و
تنها در
صورت نیاز
به نوشتن
واقعی
اتفاق
میافتد.
نتیجه آزمایش برای دستهبندی درایوهای ساختگی به عنوان قابل بازنویسی، فقطخواندنی، فقطنوشتنی یا خالی و بیفایده استفاده میشود. این ممکن است منجر به تشخیص زودهنگام مشکلات شدید شود و از برخی رویدادهای خطای با شدت کمتر جلوگیری کند.
حالت "appendable_wo" مانند "on" است با این ویژگی اضافی که فایلهای فقطنوشتنی غیرخالی به جای خام، به عنوان پیوستپذیر در نظر گرفته میشوند. - -data_cache_size number_of_tiles blocks_per_tile
- تنظیم
اندازه و
دانهبندی
(granularity) حافظه
پنهان داده
که هنگام
بارگذاری
تصاویر ISO و
هنگام
خواندن
محتوای
فایل از
تصاویر ISO
استفاده
میشود.
حافظه
پنهان شامل
چندین کاشی
است که هر
کدام از
چندین بلوک
تشکیل
شدهاند. یک
حافظه
پنهان
بزرگتر
نیاز به
خواندن
چندباره
کاشیها را
کاهش
میدهد.
کاشیهای
بزرگتر
ممکن است
پهنای باند
داده را از
درایو
بهبود
بخشند، اما
اگر
دادهها
روی رسانه
پراکنده
باشند،
میتوانند
باعث
هدررفت
شوند.
اندازههای حافظه پنهان بزرگتر به ویژه در بارگذاری تصویر از درایوهای MMC کمک میکنند. آنها یک جایگزین ضعیفتر برای گزینه -osirrox "sort_lba_on" هستند.
پارامتر blocks_per_tile باید توانی از 2 باشد؛ مانند 16، 32 یا 64. اندازه کلی حافظه پنهان نباید از 1 گیگابایت تجاوز کند. مقادیر پیشفرض را میتوان با پارامتر "default" به جای یکی یا هر دوی اعداد بازیابی کرد. در حال حاضر پیشفرض 32 کاشی با 32 بلوک = 2 مگابایت است. - درج فایلها در تصویر ISO:
دستورات
زیر دو نوع
آدرس فایلی
را انتظار
دارند:
disk_path مسیر یک
شیء در درخت
سیستمفایل
محلی است.
iso_rr_path نام Rock Ridge یک
شیء فایلی
در تصویر ISO
است. اگر هیچ
اطلاعات Rock Ridge
در تصویر ISO
بارگذاریشده
ثبت نشده
باشد،
نامهای ISO 9660
را خواهید
دید که
دارای طول و
مجموعه
نویسههای
محدود
هستند. اگر
قرار نباشد
اطلاعات Rock Ridge
در تصویر ISO
در حال
تولید
ذخیره شود،
نامهای
آنها به
چنین
نامهای
محدود ISO 9660 (یا
همان ECMA-119)
نگاشت
خواهند شد.
توجه داشته باشید که در تصویر ISO شما به اندازه کاربر ارشد (superuser) قدرتمند هستید. مجوزهای دسترسی فایلهای موجود در تصویر برای عملیات نوشتن شما اعمال نمیشود. آنها به گونهای در نظر گرفته شدهاند که در تصویر سوارشده فقطخواندنی اعمال شوند.
اگر iso_rr_path یک
فایل تازه
درجشده به
یک شیء
فایلی
موجود در
تصویر ISO ختم
شود،
مدیریت
تداخل زیر
رخ میدهد:
اگر هر دو
شیء پوشه
باشند، با
درج
بازگشتی
زیربخشها
از
سیستمفایل
به درون
تصویر ISO با
یکدیگر
ادغام
میشوند.
اگر سایر
انواع
فایلها
تداخل
داشته
باشند،
تنظیم
دستور -overwrite
تصمیمگیری
میکند.
تغییر نام
فایلها
دارای
مدیریت
تداخل
مشابهی
است، اما
پوشهها
تنها قابل
جایگزینی
هستند و نه
ادغام. توجه
داشته
باشید که
اگر پوشه
مقصد وجود
داشته
باشد،
دستور -mv
اشیاء مبدأ
را به جای
تلاش برای
جایگزینی
آن، درون
این پوشه
درج میکند.
از سوی
دیگر،
دستور -move
تلاش خواهد
کرد آن را
جایگزین
کند.
دستورات این بخش، تصویر ISO را تغییر میدهند و نه سیستمفایل محلی را.
- -disk_pattern "on"|"ls"|"off"
- تنظیم حالت
گسترش الگو
برای
پارامترهای
disk_path در چندین
دستور که از
این قابلیت
پشتیبانی
میکنند.
تنظیم "off" این قابلیت را برای تمامی دستوراتی که در این صفحه راهنما با "disk_path [***]" یا "disk_pattern [***]" مشخص شدهاند، غیرفعال میکند.
تنظیم "on" آن را برای تمامی آن دستورات فعال میسازد.
تنظیم "ls" آن را تنها برای دستوراتی که با "disk_pattern [***]" مشخص شدهاند فعال میکند.
پیشفرض "ls" است. - -add pathspec [...] | disk_path [***]
- درج
فایلها یا
درختهای
پوشه
دادهشده
از
سیستمفایل
به درون
تصویر ISO.
اگر -pathspecs روی "on" یا "as_mkisofs" تنظیم شده باشد، گسترش الگو همیشه غیرفعال است و نویسه '=' معنای ویژهای دارد؛ مسیر تصویر ISO را از مسیر دیسک جدا میکند:
iso_rr_path=disk_path
نویسه '=' در iso_rr_path باید با '\' اسکیپ شود (یعنی به صورت "\=").
با -pathspecs "on"، نویسه '\' نباید اسکیپ شود. نویسه '=' در disk_path نباید اسکیپ شود.
با -pathspecs "as_mkisofs"، تمامی نویسههای '\' باید در هر دو مسیر iso_rr_path و disk_path اسکیپ شوند. نویسه '=' ممکن است در disk_path اسکیپ شود یا نشود.
اگر iso_rr_path با '/' شروع نشود، مقدار -cd به ابتدای آن اضافه میشود. اگر disk_path با '/' شروع نشود، مقدار -cdx به ابتدای آن اضافه میشود.
اگر هیچ '=' داده نشود، کلمه هم به عنوان iso_rr_path و هم به عنوان disk_path استفاده میشود. در این حالت اگر کلمه با '/' شروع نشود، -cdx به ابتدای disk_path و -cd به ابتدای iso_rr_path افزوده خواهد شد.
اگر -pathspecs روی "off" تنظیم شود، در صورت فعال بودن گسترش -disk_pattern اعمال میگردد. کلمات حاصل هم به عنوان iso_rr_path و هم به عنوان disk_path استفاده میشوند. به کلمات مسیر نسبی، تنظیم -cdx برای disk_path و تنظیم -cd برای iso_rr_path پیشوند میشود. - -add_plainly mode
- اگر روی
حالت "unknown"
تنظیم شود،
هر کلمه
دستوری که
با "-" شروع
نشود و به
عنوان
دستور
شناختهشده
تلقی
نگردد،
مشمول یک
دستور
مجازی -add
خواهد شد؛
یعنی به
عنوان pathspec یا
به عنوان disk_path
استفاده
شده و به
تصویر
اضافه
میشود. در
صورت فعال
بودن،
گسترش -disk_pattern
روی disk_paths
اعمال
میگردد.
حالت "dashed" شبیه به "unknown" است اما کلمات دستوری ناشناخته را حتی اگر با "-" شروع شوند نیز اضافه میکند.
حالت "any" اعلام میکند که تمامی کلمات بعدی باید به عنوان pathspecs یا disk_paths اضافه شوند. این در حالت گفتگو کار نمیکند.
حالت "none" پیشفرض است. از درک هرگونه کلمه به عنوان فایلهای قابل افزودن جلوگیری میکند، مگر اینکه پارامترهای دستورات مناسب باشند. - -path_list disk_path
- مانند -add عمل میکند اما کلمات پارامتر را از فایل disk_path یا در صورتی که disk_path برابر "-" باشد از ورودی استاندارد میخواند. این فهرست باید دقیقاً شامل یک الگوی pathspec یا disk_path در هر خط باشد.
- -quoted_path_list disk_path
- مانند -path_list اما با قواعد خواندن ورودی نقلقولشده. خطوط به کلمات پارامتر برای -add تقسیم میشوند. فاصلههای سفید خارج از نقلقولها دور ریخته میشوند.
- -map disk_path iso_rr_path
- درج شیء فایلی disk_path در تصویر ISO به عنوان iso_rr_path. اگر disk_path یک پوشه باشد، کل زیردرخت آن درون تصویر ISO درج میشود.
- -map_single disk_path iso_rr_path
- مانند -map عمل میکند، اما اگر disk_path یک پوشه باشد، زیردرخت آن درج نمیشود.
- -map_l disk_prefix iso_rr_prefix disk_path [***]
- اجرای -map با هر یک از پارامترهای disk_path. مسیر iso_rr_path از روی disk_path با جایگزینی disk_prefix با iso_rr_prefix ساخته خواهد شد.
- -update disk_path iso_rr_path
- مقایسه شیء
فایلی disk_path با
شیء فایلی
iso_rr_path. اگر
مطابقت
نداشته
باشند،
دستکاریهای
لازم در
تصویر را
انجام دهید
تا iso_rr_path به یک
کپی منطبق
از disk_path تبدیل
شود. به
صورت
پیشفرض
این مقایسه
نیازمند
خواندن
طولانی
محتوا پیش
از
تصمیمگیری
است.
دستورات -disk_dev_ino
یا -md5 ممکن
است در
صورتی که در
زمان ضبط
نشست
بارگذاریشده
فعال بوده
باشند،
مقایسه را
تسریع کنند.
اگر disk_path یک پوشه باشد و iso_rr_path هنوز وجود نداشته باشد، کل زیردرخت درج خواهد شد. در غیر این صورت فقط ویژگیهای پوشه بهروزرسانی میشوند. - -update_r disk_path iso_rr_path
- مانند -update اما
به صورت
بازگشتی
کار
میکند؛
یعنی تمام
اشیاء
فایلی زیر
هر دو نشانی
مقایسه
میشوند که
آیا
همتایانی
زیر نشانی
دیگر دارند
و آیا هر دو
همتا
مطابقت
دارند یا
خیر. اگر
عدم تطابق
وجود داشته
باشد،
دستکاری
بهروزرسانی
لازم انجام
میشود.
توجه داشته باشید که نتیجه مقایسه ممکن است به دستور -follow بستگی داشته باشد. تنظیم آن باید همیشه همانند اولین افزودن disk_path به عنوان iso_rr_path باشد.
اگر iso_rr_path هنوز وجود نداشته باشد، اضافه میشود. اگر disk_path وجود نداشته باشد، iso_rr_path حذف میگردد. - -update_l disk_prefix iso_rr_prefix disk_path [***]
- اجرای -update_r با هر یک از پارامترهای disk_path. مسیر iso_rr_path از روی disk_path با جایگزینی disk_prefix با iso_rr_prefix ساخته خواهد شد.
- -update_li iso_rr_prefix disk_prefix iso_rr_path [***]
- اجرای -update_r با هر یک از پارامترهای iso_rr_path. مسیر disk_path از روی iso_rr_path با جایگزینی iso_rr_prefix با disk_prefix ساخته خواهد شد.
- -update_lxi disk_prefix iso_rr_prefix disk_path [***]
- اجرای -update_r با
هر یک از
پارامترهای
disk_path و با iso_rr_paths در
سیستمفایل
ISO که پس از
تعویض disk_prefix با
iso_rr_prefix از
پارامترهای
disk_path مشتق
شدهاند.
بنابراین
بر خلاف -update_l،
این دستور
عدم
تطابقهای
disk_path را تشخیص
داده و iso_rr_path
مربوطه را
حذف میکند.
توجه داشته باشید که مسیرهای نسبی disk_paths و الگوهای disk_path به عنوان زیرمسیرهای پوشه کاری دیسک فعلی -cdx تفسیر میشوند. مسیرهای iso_rr_paths مربوطه با تعویض disk_prefix با iso_rr_prefix قبل از وقوع گسترش الگو مشتق میشوند. پوشه فعلی -cdi هیچ تأثیری ندارد. - -cut_out disk_path byte_offset byte_count iso_rr_path
- نگاشت یک
بازه بایتی
از یک فایل
معمولی
دیسک یا از
یک فایل
دستگاه به
یک فایل
معمولی در
تصویر ISO.
فایل
نشاندادهشده
با disk_path باید
از دسترسی
خواندن
تصادفی
پشتیبانی
کند. یک
پیوند
نمادین
تنها در
صورتی کار
میکند که
توسط -follow "link" یا
"param" فعال
شده باشد.
برش دادن یک بازه بایتی ممکن است در صورتی لازم باشد که فایل دیسک بزرگتر از یک رسانه منفرد باشد، یا اگر از حد سنتی ۲ گیگابایت - ۱ برای سیستمعاملهای قدیمی یا حد ۴ گیگابایت - ۱ برای سیستمعاملهای جدیدتر تجاوز کند. هستههای معاصر لینوکس قادر به خواندن مناسب فایلهای بزرگتر یا مساوی ۴ گیگابایت - ۱ هستند.
یک راهحل برای چنین محدودیتهایی، پشتیبانگیری از قطعات فایل و ادغام آنها در زمان بازیابی است. یک اندازه قطعهبندی به خوبی آزمایششده 2047m است. درخواست byte_count بالاتر از مقدار موجود مجاز است. فایل حاصل به اندازه صحیح یک قطعه نهایی بریده میشود. درخواست byte_offset بالاتر از مقدار موجود هیچ فایلی در تصویر ISO تولید نمیکند بلکه یک رویداد SORRY صادر مینماید؛ مانند:
-cut_out /my/disk/file 0 2047m \
/file/part_1_of_3_at_0_with_2047m_of_5753194821 \
-cut_out /my/disk/file 2047m 2047m \
/file/part_2_of_3_at_2047m_with_2047m_of_5753194821 \
-cut_out /my/disk/file 4094m 2047m \
/file/part_3_of_3_at_4094m_with_2047m_of_5753194821
اگر پوشه /file هنوز وجود نداشته باشد، مجوزهای آن از پوشه /my/disk گرفته نمیشود بلکه از /my/disk/file با مجوز x اضافی برای کسانی که مجوز r دارند اخذ میشود.
در حالی که دستور -split_size بزرگتر از 0 تنظیم شده باشد، و اگر تمام قطعات یک فایل در همان پوشه ISO بدون هیچ فایل دیگری قرار داشته باشند و اگر نامها مانند بالا باشند، پوشه ISO آنها مانند یک فایل معمولی شناخته و مدیریت خواهد شد. این بر دستورات *compare-، *update- و وضعیتهای بازنویسی تأثیر میگذارد.
برای جزئیات به دستور -split_size مراجعه کنید.
یک کاربرد دیگر، کپی کردن محتوای یک فایل دستگاه به عنوان بازه یا به طور کامل درون سیستمفایل ISO در حال شکلگیری است. این واقعیت که byte_count مجاز است به طور غیرمعقولی بالا باشد، کپی کردن یک دستگاه کامل را امکانپذیر میسازد:
-cut_out /dev/sdd3 0 1000g /content_of_sdd3 - -cpr disk_path [***] iso_rr_path
- درج
فایلها یا
درختهای
پوشه
دادهشده
از
سیستمفایل
به درون
تصویر ISO.
قواعد تولید آدرسهای ISO مشابه دستور cp -r در پوسته است. با این حال در صورت نیاز، پوشههای iso_rr_path ایجاد میشوند. به ویژه اگر چندین disk_path وجود داشته باشد، یک iso_rr_path که هنوز وجود ندارد به عنوان پوشه مدیریت میشود. نامهای برگ چندین disk_path مانند پوشههای موجود به زیر آن پوشه پیوند زده میشوند.
اگر یک disk_path منفرد وجود داشته باشد، یک iso_rr_path ناموجود همان نوع disk_path را دریافت خواهد کرد.
اگر یک disk_path با '/' شروع نشود، -cdx به ابتدای آن اضافه میشود. اگر iso_rr_path با '/' شروع نشود، -cd به ابتدای آن افزوده خواهد شد. - -mkdir iso_rr_path [...]
- ایجاد پوشههای خالی در صورتی که هنوز وجود نداشته باشند. وجود به عنوان پوشه یک رویداد WARNING ایجاد میکند، وجود به عنوان فایل دیگر باعث یک رویداد FAILURE میشود.
- -lns target_text iso_rr_path
- ایجاد یک
پیوند
نمادین با
نشانی iso_rr_path که
به target_text اشاره
میکند.
مسیر iso_rr_path
نباید از
قبل وجود
داشته باشد.
نکته: دستور -clone معادل ISO یک پیوند سخت را تولید میکند. - -clone iso_rr_path_original iso_rr_path_copy
- ایجاد یک
کپی از شیء
فایلی ISO
موسوم به
iso_rr_path_original با
نشانی جدید
iso_rr_path_copy. اگر شیء
اصلی یک
پوشه باشد،
تمام
فایلها و
پوشههای
زیر آن کپی
میشوند.
اگر iso_rr_path_original یک
فایل
کاتالوگ
بوت باشد،
کپی
نمیشود
بلکه بی سر
و صدا
نادیده
گرفته
خواهد شد.
اشیاء فایلی کپیشده ISO دارای ویژگیهای یکسانی هستند. فایلهای داده کپیشده به همان منبع محتوای فایلهای اصلی خود اشاره میکنند. سپس میتوان کپیها را مستقل از نسخههای اصلی آنها دستکاری کرد.
این دستور در صورتی که نشانی iso_rr_path_copy از قبل در درخت ISO وجود داشته باشد، از اجرا خودداری میکند. - -cp_clone iso_rr_path_original [***] iso_rr_path_dest
- ایجاد کپی
از یک یا
چند شیء
فایلی ISO
مانند
دستور -clone. در
صورت
تداخل،
پوشهها با
پوشههای
موجود
ادغام
میشوند،
اما اشیاء
فایلی ISO
موجود
بازنویسی
نمیگردند.
قواعد تولید نشانیهای کپی همانند دستور -cpr (به بالا مراجعه کنید) یا دستور cp -r در پوسته است. بر خلاف -cpr، مسیر نسبی iso_rr_path_original مسیر -cd را دریافت خواهد کرد و نه مسیر -cdx را. پیش از -cp_clone دستور -mkdir iso_rr_path_dest را در نظر بگیرید تا نشانی کپی به تعداد پارامترهای iso_rr_path_original بستگی نداشته باشد. - تنظیمات برای درج فایل:
- -file_size_limit value [value [...]] --
- تنظیم
حداکثر
اندازه
مجاز برای
یک فایل
داده واحد.
مقادیر
برای تعیین
حد واقعی با
هم جمع
میشوند.
اگر تنها
مقدار "off"
باشد،
اندازه
فایل توسط
xorriso محدود
نمیشود.
پیشفرض
محدودیتی
معادل ۱۰۰
گستره (extent) است
که هر کدام
۴ گیگابایت
- ۲
کیلوبایت
هستند:
-file_size_limit 400g -200k --
هنگام سوار کردن سیستمفایلهای ISO 9660، سیستمعاملهای قدیمی فقط فایلهای تا ۲ گیگابایت - ۱ را میتوانند مدیریت کنند. سیستمعاملهای جدیدتر تا ۴ گیگابایت - ۱ مناسب هستند. شما به یک هسته لینوکس نسبتاً جدید نیاز دارید تا بایتهای نهایی یک فایل بزرگتر یا مساوی ۴ گیگابایت را در صورتی که اندازه آن با بلوکهای ۲۰۴۸ بایتی همتراز نباشد، به درستی بخوانید.
قابلیتهای خواندن داده خود xorriso تحت تأثیر محدودیتهای اندازه سیستمعامل قرار نمیگیرد. چنین محدودیتهایی فقط برای سوار کردن اعمال میشوند. با این وجود سیستمفایل مقصد یک -extract باید قادر به پذیرش اندازه فایل باشد.
نکته:
اجرای -compliance "iso_9660_level=1" یا "iso_9660_level=2" محدودیت اندازه فایل را روی ۴ گیگابایت - ۱ تنظیم میکند.
اجرای -compliance "default" محدودیت را در صورتی که کوچکتراز اندازه پیشفرض بوده باشد، به اندازه پیشفرض افزایش میدهد. - -not_mgt code[:code[...]]
- کنترل
رفتار
فهرستهای
استثنا (exclusion lists).
پردازش استثنا قبل از نگاشت disk_paths به تصویر ISO، قبل از مقایسه فایلهای دیسک با فایلهای تصویر و قبل از استخراج فایلهای تصویر به فایلهای دیسک رخ میدهد.
مسیرهای مطلق دیسک درگیر در چنین اقدامی با فهرست -not_paths مطابقت داده میشوند. نامهای برگ مسیرهای دیسک با الگوهای فهرست -not_leaf تطبیق داده میشوند. اگر تطابقی شناسایی شود، مسیر دیسک به عنوان یک فایل موجود در نظر گرفته نخواهد شد و به تصویر ISO اضافه نمیشود.
چندین کد تعریف شده است. تنظیمات _on/_off تا زمانی که توسط همتایان _off/_on خود لغو نشوند، باقی میمانند.
کد "erase" فهرستهایی را که توسط -not_paths و -not_leaf انباشته شدهاند خالی میکند.
کد "reset" مانند "erase" است اما رفتار پیشفرض را نیز مجدداً برقرار میسازد.
کد "off" پردازش استثنا را به طور موقت بدون باطل کردن فهرستها و تنظیمات غیرفعال میکند.
کد "on" پردازش استثنا را مجدداً فعال میسازد.
کد "param_off" پردازش استثنا را تنها برای مسیرهای زیر پارامتر disk_path دستورات اعمال میکند؛ یعنی disk_paths صریحاً دادهشده از پردازش استثنا معاف هستند.
کد "param_on" پردازش استثنا را هم برای پارامترهای دستور و هم برای فایلهای زیر چنین پارامترهایی اعمال میکند.
کد "subtree_off" همراه با "param_on" مسیرهای پارامتر را تنها در صورتی مستثنی میکند که دقیقاً با یک مورد -not_paths مطابقت داشته باشند.
کد "subtree_on" علاوه بر این، مسیرهای پارامتری را که به نشانی فایلی در زیر هر مورد -not_paths ختم میشوند، مستثنی میکند.
کد "ignore_off" با فایلهای دیسک مستثنیشده طوری رفتار میکند که گویی وجود ندارند؛ یعنی با -compare گزارش شده و با -update از تصویر حذف میشوند.
کد "ignore_on" فایلهای مستثنیشده را از فعالیتهای -compare یا -update دور نگه میدارد. - -not_paths disk_path [***]
- افزودن
مسیرهای
دادهشده
به فهرست
مسیرهای
دیسک مطلق
مستثنیشده.
اگر مسیر
دادهشده
نسبی باشد،
-cdx جاری برای
تشکیل یک
مسیر مطلق
به ابتدای
آن اضافه
میشود.
تطبیق الگو
در صورت
فعال بودن
در زمان
تعریف
اتفاق
میافتد و
نه در زمان
بررسی
استثناها.
به یاد داشته باشید که ممکن است مسیرهای جایگزینی برای همان فایل دیسک وجود داشته باشد. آزمایشهای استثنا به صورت لفظی انجام میشوند، به طوری که مانع از ورود فایلها به سیستمفایل ISO از طریق مسیرهای دیگر نمیشوند. بر این اساس یک استثنا مانع از بازنویسی فایل دیسک توسط استخراج فایل از طریق یک مسیر جایگزین غیرمستثنی نمیشود. بنابراین استثناها باید با پارامترهای واقعی disk_path دادهشده با دستورات هماهنگ شوند.
(فراموش نکنید که فهرست disk_paths را با "--" پایان دهید) - -not_leaf pattern
- افزودن یک الگوی واحد به سبک تجزیهکننده پوسته به فهرست استثناها برای نامهای برگ دیسک. این الگوها در زمان بررسی استثناها ارزیابی میشوند.
- -not_list disk_path
- خواندن خطوط از disk_path و استفاده از هر یک از آنها به عنوان پارامتر -not_paths در صورتی که حاوی نویسه / باشند، یا به عنوان الگوی -not_leaf.
- -quoted_not_list disk_path
- مانند -not_list اما با قواعد خواندن ورودی نقلقولشده. هر کلمه به عنوان یک پارامتر برای -not_paths یا -not_leaf مدیریت میشود.
- -follow occasion[:occasion[...]]
- فعال یا
غیرفعال
کردن حل
پیوندهای
نمادین و
نقاط اتصال
زیر disk_paths. این
برای
اقدامات -add،
-cut_out، *du*x-، *ls*x-، -findx، -concat
و برای
گسترش -disk_pattern
اعمال
میشود.
سه نوع تصمیم اصلی پیگیری وجود دارد:
گزینه link پرش از یک پیوند نمادین به شیء فایلی هدف آن به منظور خواندن است؛ یعنی نه برای دستور -concat. در صورت فعال بودن، با پیوندهای نمادین مانند اشیاء فایلی هدف آنها رفتار میشود، در غیر این صورت با پیوندهای نمادین به عنوان خودشان رفتار خواهد شد.
گزینه mount پرش از یک سیستمفایل به سیستمفایل زیرمجموعه دیگر است. در صورت فعال بودن، با پوشههای نقطه اتصال مانند هر پوشه دیگر رفتار میشود، در غیر این صورت اگر در پیمایش درخت پوشه مشاهده شوند، به عنوان پوشههای خالی در نظر گرفته خواهند شد.
گزینه concat پرش از یک پیوند نمادین به شیء فایلی هدف آن به منظور نوشتن است؛ یعنی برای دستور -concat. این یک خطر امنیتی است!
موارد با عمومیت کمتر نسبت به موارد فوق:
گزینه pattern پرش اتصال و پیوند است، اما فقط در حین گسترش -disk_pattern.
گزینه param پرش پیوند برای کلمات پارامتر است (پس از گسترش الگوی نهایی). در صورت فعال بودن، *ls*x- به جای خود پیوندها اهداف پیوند را نشان میدهد. دستورات *du*x-، -findx و -add اهداف پیوند را پردازش میکنند اما پیوندها را در درخت پوشه احتمالی زیر اهداف دنبال نخواهند کرد (مگر اینکه "link" فعال باشد). دستور -cut_out اهداف پیوند را پردازش میکند.
موارد را میتوان در فهرستی جداشده با دونقطه ترکیب کرد. تمامی موارد ذکرشده در فهرست به تصمیم پیگیری مثبت منجر میشوند.
گزینه off از هرگونه تصمیم پیگیری مثبت جلوگیری میکند. اگر هیچ مورد دیگری اعمال نمیشود از آن استفاده کنید.
میانبرها:
گزینه default معادل "pattern:mount:limit=100" است.
گزینه on همیشه مثبت تصمیم میگیرد. معادل "link:mount:concat" است.
موردی که یک رویداد نیست بلکه یک تنظیم اختیاری است:
گزینه limit=<number> که حداکثر تعداد پرشهای پیوند را تنظیم میکند. یک پرش پیوند شامل دنبالهای از پیوندهای نمادین و یک هدف نهایی از نوع متفاوت است. با این حال این پرشها میتوانند حلقه تشکیل دهند؛ مانند:
$ ln -s .. uploop
پرش پیوند دارای یک تشخیص حلقه داخلی است که پرش را در اولین تکرار یک هدف پیوند متوقف میکند. سپس با پیوند تکراری مانند خودش و نه هدف آن رفتار میشود. متأسفانه میتوان شبکههای پیوندی ایجاد کرد که قبل از تشخیص حلقههایشان بار کاری تصاعدی ایجاد میکنند. عدد ارائهشده با "=limit" میتواند این بار کاری را با خطر قطع توالی عمدی از پرشهای پیوند مهار کند. - -pathspecs "on"|"off"|"as_mkisofs"
- کنترل
تفسیر
پارامترها
با اقدامات
-add و -path_list در xorriso.
حالت "as_mkisofs" امکان استفاده از مشخصههای مسیر به شکل زیر را فراهم میسازد:
iso_rr_path=disk_path
همانند برنامه mkisofs -graft-points.
تمامی نویسههای '\' باید در هر دو مسیر iso_rr_path و disk_path اسکیپ شوند. نویسه '=' در iso_rr_path باید اسکیپ شود و در disk_path ممکن است اسکیپ شود یا نشود. این حالت گسترش -disk_pattern را برای دستور -add به طور موقت غیرفعال میکند.
حالت "on" تقریباً همان کار را انجام میدهد. اما '=' تنها باید در iso_rr_path اسکیپ شود و '\' اصلاً نباید اسکیپ شود. این امر این عیب را دارد که نمیتوان یک iso_rr_path را که به '\' ختم میشود بیان کرد.
حالت "off" مشخصههای مسیر به شکل target=source را غیرفعال کرده و گسترش -disk_pattern را مجدداً فعال میسازد. - -overwrite "on"|"nondir"|"off"
- مجاز یا
غیرمجاز
دانستن
بازنویسی
فایلهای
موجود در
تصویر ISO یا
در
سیستمفایل
محلی توسط
فایلهایی
با همان
نام.
با تنظیم "off"، تداخل نام با حداقل یک فایل غیرپوشهای باعث رویدادهای FAILURE میشود. تداخل دو پوشه منجر به ادغام فهرست فایلهای آنها میگردد.
با تنظیم "nondir"، تنها پوشهها با چنین رویدادهایی محافظت میشوند؛ سایر انواع فایلهای موجود قبل از افزودن فایل جدید با -rm مدیریت میشوند. تنظیم "on" امکان اجرای خودکار -rm_r را فعال میکند؛ یعنی یک فایل غیرپوشهای میتواند جایگزین یک پوشه موجود و تمام زیرمجموعههای آن شود.
اگر بازیابی فایلها در سیستمفایل دیسک توسط -osirrox فعال باشد، قاعده بازنویسی برای اشیاء فایلی مقصد روی دیسک نیز اعمال میشود، اما "on" به "nondir" تنزل مییابد. - -split_size number["k"|"m"]
- تنظیم
آستانه
برای تقسیم
خودکار
فایلهای
معمولی.
چنین
تقسیمی یک
فایل بزرگ
دیسک را روی
یک پوشه ISO با
چندین فایل
قطعه در آن
نگاشت
میکند. این
امر در
صورتی لازم
است که
اندازه
فایل دیسک
از -file_size_limit تجاوز
کند.
سیستمعاملهای
قدیمیتر
فایلهای
موجود در
سیستمفایلهای
سوارشده ISO 9660
را تنها در
صورتی
میتوانند
مدیریت
کنند که
کوچکتراز ۲
گیگابایت
یا در موارد
دیگر ۴
گیگابایت
باشند.
پیشفرض 0 است که فایلهای بزرگتر از -file_size_limit را با یک رویداد FAILURE مستثنی میکند. یک اندازه -split_size به خوبی آزمایششده 2047m است. اندازههای بالاتر از -file_size_limit مجاز نیستند.
پوشه تازه ایجادشده ISO مجوزهای خود را از فایل داده با مجوز x اضافی برای کسانی که مجوز r دارند به ارث میبرد.
در حالی که دستور -split_size بزرگتر از 0 تنظیم شده باشد، چنین پوشهای با قطعات فایل تقسیمشده توسط دستورات *compare-، *update- و در موقعیتهای بازنویسی مانند یک فایل معمولی شناخته و مدیریت خواهد شد. پارامترهای -osirrox شامل "concat_split_on" و "concat_split_off" وجود دارند که نحوه برخورد را در زمان بازیابی فایلها روی دیسک کنترل میکنند.
به منظور قابل شناسایی بودن، نام فایلهای قطعه باید تقسیم را با ۵ عدد توصیف کنند:
part_number,total_parts,byte_offset,byte_count,disk_file_size
که در قالب متنی زیر تعبیه شدهاند:
part_#_of_#_at_#_with_#_of_#
نویسههای مقیاسبندی مانند "m" یا "k" در نظر گرفته میشوند. تمامی ارقام به صورت دهدهی تفسیر میشوند، حتی اگر صفرهای ابتدایی وجود داشته باشد؛ مانند:
/file/part_1_of_3_at_0_with_2047m_of_5753194821
هیچ فایل دیگری در پوشه مجاز نیست. تمام قطعات باید حضور داشته باشند و شمارههای آنها باید معقول باشد؛ به عنوان مثال byte_count باید به عنوان پارامتر -cut_out معتبر باشد و محتوای آنها نباید همپوشانی داشته باشد. - دستکاریهای فایل (File manipulations):
دستورات زیر فایلها را در تصویر ISO دستکاری میکنند، فارغ از اینکه از تصویر بارگذاریشده سرچشمه گرفته باشند یا به تازگی درج شده باشند.
- -iso_rr_pattern "on"|"ls"|"off"
- تنظیم حالت
گسترش الگو
برای
پارامترهای
iso_rr_path در چندین
دستور که از
این قابلیت
پشتیبانی
میکنند.
تنظیم "off" گسترش الگو را برای تمامی دستوراتی که در این صفحه راهنما با "iso_rr_path [***]" یا "iso_rr_pattern [***]" مشخص شدهاند، غیرفعال میکند.
تنظیم "on" آن را برای تمامی آن دستورات فعال میسازد.
تنظیم "ls" آن را تنها برای دستوراتی که با "iso_rr_pattern [***]" مشخص شدهاند فعال میکند.
پیشفرض "on" است. - -rm iso_rr_path [***]
- حذف
فایلهای
دادهشده
از تصویر ISO.
نکته: این دستور هیچ فضایی را در رسانه -indev آزاد نمیکند، حتی اگر حذف روی همان رسانه ثبت نهایی (commit) شود.
اگر تصویر روی یک رسانه متفاوت در حالت اصلاح (modifying) نوشته شود، اندازه تصویر کاهش خواهد یافت. - -rm_r iso_rr_path [***]
- حذف فایلها یا درختهای پوشه دادهشده از تصویر ISO. همچنین نکته همراه دستور -rm را ببینید.
- -rmdir iso_rr_path [***]
- حذف پوشههای خالی.
- -move iso_rr_path iso_rr_path
- تغییر نام فایل دادهشده توسط اولین iso_rr_path (مبدأ) به دومین iso_rr_path (مقصد). از قواعد دستور mv در پوسته با جابجا نکردن فایل مبدأ به زیر یک پوشه مقصد موجود انحراف دارد. فایل مبدأ در صورت مجاز بودن با دستور -overwrite، چنین پوشهای را جایگزین خواهد کرد.
- -mv iso_rr_path [***] iso_rr_path
- تغییر نام
اشیاء
فایلی
دادهشده
در درخت ISO به
آخرین
پارامتر
فهرست. از
همان قواعد
دستور mv در
پوسته
استفاده
میکند.
اگر گسترش الگو فعال باشد و آخرین پارامتر شامل نویسههای عام باشد، باید دقیقاً با یک نشانی فایل موجود مطابقت داشته باشد، وگرنه دستور با یک رویداد FAILURE با شکست مواجه میشود. - -chown uid iso_rr_path [***]
- تنظیم مالکیت اشیاء فایلی در تصویر ISO. پارامتر uid ممکن است یک عدد دهدهی یا نام یک کاربر شناختهشده برای سیستمعامل باشد.
- -chown_r uid iso_rr_path [***]
- مانند -chown اما بر تمام فایلهای زیر پوشههای احتمالی تأثیر میگذارد.
- -chgrp gid iso_rr_path [***]
- تنظیم ویژگی گروه اشیاء فایلی در تصویر ISO. پارامتر gid ممکن است یک عدد دهدهی یا نام یک گروه شناختهشده برای سیستمعامل باشد.
- -chgrp_r gid iso_rr_path [***]
- مانند -chgrp اما بر تمام فایلهای زیر پوشههای احتمالی تأثیر میگذارد.
- -chmod mode iso_rr_path [***]
- معادل
دستور chmod
پوسته در
تصویر ISO.
پارامتر mode
یا یک عدد
هشتهشتی (octal)
است که با "0"
شروع
میشود یا
فهرستی
جداشده با
کاما از
عبارات به
شکل [ugoa]*[+-=][rwxst]*
است؛ مانند
go-rwx,u+rwx.
هویتها: u=کاربر، g=گروه، o=دیگران، a=همه
عملگرها: + افزودن مجوزهای دادهشده، - لغو مجوزهای دادهشده، = لغو تمامی مجوزهای قدیمی و سپس افزودن مجوزهای دادهشده.
مجوزها: r=خواندن، w=نوشتن، x=اجرا/بررسی، s=setuid|setgid، t=بیت چسبنده (sticky bit)
برای اعداد اکتال به man 2 stat مراجعه کنید. - -chmod_r mode iso_rr_path [***]
- مانند -chmod اما بر تمام فایلهای زیر پوشههای احتمالی تأثیر میگذارد.
- -setfacl acl_text iso_rr_path [***]
- پیوست کردن
ACL دادهشده
به مسیرهای
iso_rr_paths
دادهشده.
اگر
فایلها از
قبل دارای ACL
باشند، قبل
از اعمال
موارد جدید
حذف
میشوند.
اگر acl_text خالی
باشد، یا
شامل متن
"clear" یا متن
"--remove-all" باشد،
ACLهای موجود
حذف شده و
مورد جدیدی
پیوست
نمیشود. هر
محتوای
دیگر acl_text به
عنوان
فهرستی از
ورودیهای
ACL تفسیر
خواهد شد.
این ممکن
است در قالب
چندخطی
طولانی
خروجی
دادهشده
توسط -getfacl باشد
اما همچنین
میتواند
به شرح زیر
مخفف شود:
ورودیهای ACL با کاما یا خط جدید جدا میشوند. اگر ورودی متن خالی باشد یا با "#" شروع شود نادیده گرفته میشود. یک ورودی معتبر باید با حرفی از {ugom} برای "user"، "group"، "other" و "mask" شروع شود. باید شامل دو دونقطه ":" باشد. متن غیرخالی بین آن ":" یک شناسه کاربری یا شناسه گروه را نشان میدهد. پس از دومین ":" ممکن است حروفی از {rwx- #} وجود داشته باشد. سه حرف اول مجوز خواندن، نوشتن یا اجرا را میدهند. حروف "-"، " " و TAB نادیده گرفته میشوند. نویسه "#" باعث نادیده گرفته شدن بقیه ورودی میشود. حرف "X" یا هر حرف دیگری پشتیبانی نمیشود؛ مثالها:
g:toolies:rw,u:lisa:rw,u:1001:rw,u::wr,g::r,o::r,m::rw
group:toolies:rw-,user::rw-,group::r--,other::r--,mask::rw-
یک ورودی معتبر ممکن است دارای پیشوند "d"، چند نویسه بعدی و ":" باشد. این نشان میدهد که ورودی به جای ACL دسترسی، به ACL "پیشفرض" میرود؛ مثال:
u::rwx,g::rx,o::,d:u::rwx,d:g::rx,d:o::,d:u:lisa:rwx,d:m::rwx - -setfacl_r acl_text iso_rr_path [***]
- مانند -setfacl اما بر تمام فایلهای زیر پوشههای دادهشده تأثیر میگذارد.
- -setfacl_list disk_path
- خواندن
خروجی -getfacl_r یا
دستور
پوسته getfacl -R و
اعمال آن بر
روی iso_rr_paths
همانطور
که در خطوط
شروعشده
با "# file:" داده
شده است.
این کار
مالکیت،
گروه و ACL
فایلهای
دادهشده
را تغییر
خواهد داد.
اگر disk_path
برابر "-"
باشد، خطوط
از ورودی
استاندارد
خوانده
میشوند. خط
"@" به فهرست
پایان
میدهد، "@@@"
بدون تغییر
iso_rr_path معلق
خارج
میشود.
از آنجا که -getfacl و getfacl -R نویسه "/" ابتدایی را از مسیرهای فایل حذف میکنند، تنظیم -cd همیشه اهمیت دارد. - -setfattr [-]name value iso_rr_path [***]
- پیوست کردن
جفت xattr نام و
مقدار
دادهشده
به مسیرهای
iso_rr_paths
دادهشده.
اگر نام
دادهشده
دارای
پیشوند "-"
باشد، جفت
با آن نام
از فهرست xattr
حذف میشود.
اگر نام
برابر "--remove-all"
باشد،
تمامی
ویژگیهای
xattr فضای نام
کاربر در iso_rr_paths
دادهشده
حذف
میشوند. در
صورت حذف،
مقدار باید
متن خالی
باشد.
اینکه کدام نامها مجاز هستند به تنظیم دستور -xattr بستگی دارد. مقادیر "on" یا "user" آنها را به فضای نام "user" محدود میکند؛ یعنی نام باید شبیه "user.x" یا "user.whatever" باشد.
تنظیم -xattr "any" نامها را از تمامی فضاهای نام به جز "isofs" فعال میسازد.
مقادیر و نامها تحت پردازش ورودی عادی xorriso قرار میگیرند. همچنین دستور -backslash_codes را ببینید. بر خلاف دستور -setfattr_list، مقدار بایتی 0 را نمیتوان از طریق -setfattr بیان کرد. - -setfattr_r [-]name value iso_rr_path [***]
- مانند -setfattr اما بر تمام فایلهای زیر پوشههای دادهشده تأثیر میگذارد.
- -setfattr_list disk_path
- خواندن
قالب خروجی
-getfattr_r یا دستور
پوسته getfattr -Rd و
اعمال آن بر
روی iso_rr_paths
همانطور
که در خطوط
شروعشده
با "# file:" داده
شده است.
تمامی xattrهای
موجود قبلی
فضاهای نام
قابل قبول
قبل از
پیوست شدن xattr
جدید حذف
خواهند شد.
مجموعه
نامهای
قابل قبول
به تنظیم
دستور -xattr
بستگی دارد.
اگر disk_path برابر "-" باشد، خطوط از ورودی استاندارد خوانده میشوند.
از آنجا که -getfattr و getfattr -Rd نویسه "/" ابتدایی را از مسیرهای فایل حذف میکنند، تنظیم -cd همیشه اهمیت دارد.
خطوط ورودی خالی و خطوطی که با "#" شروع میشوند نادیده گرفته خواهند شد (به جز "# file:"). خط "@" به فهرست پایان میدهد، "@@@" بدون تغییر iso_rr_path معلق خارج میشود. سایر خطوط ورودی باید قالبی به شکل زیر داشته باشند:
name="value"
جداکننده "=" در نامها مجاز نیست. مقدار میتواند شامل هر نوع بایتی باشد. باید در علامت نقلقول قرار گیرد. فاصلههای سفید انتهایی پس از نقلقول پایان نادیده گرفته میشوند. بایتهای غیرقابلچاپ و نقلقولها باید به صورت \XYZ با کد ۸ بیتی اکتال XYZ نمایش داده شوند. از کد \000 برای بایتهای صفر استفاده کنید. - -chattr mode iso_rr_path [***]
- تنظیم یا
لغو
ویژگیهای
فایل
لینوکس
همانند
کاری که
برنامه chattr(1)
روی
فایلهای
دیسک انجام
میدهد.
اعمال این
دستور روی
فایلهایی
که نه پوشه
و نه فایل
داده
معمولی
هستند،
رویداد SORRY
تولید
میکند،
مگر اینکه
حالت "--remove-lfa-flags"
باشد.
اولین حرف رشته حالت تعیین میکند چه کاری باید انجام شود. سایر حروف نمادین فلگ ویژگی از مجموعه "aAcCdDeEFhiIjNmPsStTuVxZ" هستند، همانطور که در man 1 chattr شرح داده شده است. محدودیتی برای تنظیم یا لغو ویژگیها وجود ندارد، اما در زمان بازیابی، ویژگیهای غیرمعمول یا نامناسب ممکن است مشکلاتی ایجاد کنند.
اولین حرف '+' باعث میشود فلگهای ویژگی دادهشده تنظیم شوند. سایر ویژگیها همانطور که هستند باقی میمانند.
اولین حرف '-' باعث میشود فلگهای ویژگی دادهشده لغو شوند. سایر ویژگیها همانطور که هستند باقی میمانند. (توجه داشته باشید که '-' همچنین به عنوان حرف ویژگی نمادین پذیرفته میشود که هیچ اثری ندارد.)
یک حالت خاص رشته "--remove-lfa-flags" است که باعث حذف اطلاعات ویژگی فایل لینوکس از فایل میشود. آزمون find موسوم به -has_lfa_flags "-" پس از آن دیگر با فایل مطابقت نخواهد داشت.
اولین حرف '.' باعث میشود تمامی فلگهای ویژگی به جز موارد دادهشده لغو شوند. موارد دادهشده همانطور که هستند باقی میمانند. این قابلیت در برنامه chattr(1) وجود ندارد.
اولین حرف '=' باعث میشود فلگهای ویژگی دادهشده تنظیم شوند. بقیه لغو میگردند. حالت "=-" منجر به لغو تمامی فلگهای ویژگی میشود، اما آزمون find موسوم به -has_lfa_flags "-" بعد از آن با فایل مطابقت خواهد داشت.
مثال: -chattr +sDu /my/file /my/other_file -- - -chattr_r mode iso_rr_path [***]
- مانند -chattr اما بر تمامی فایلهای مناسب زیر پوشههای دادهشده نیز تأثیر میگذارد. به جز در حالت "--remove-lfa-flags"، پارامترهای دادهشده iso_rr_path باید پوشه یا فایلهای داده معمولی باشند وگرنه یک رویداد SORRY رخ خواهد داد. فایلهای زیر پوشههای دادهشده در صورتی که نوع آنها برای -chattr مناسب نباشد، بی سر و صدا نادیده گرفته میشوند.
- -set_projid number iso_rr_path [***]
- تنظیم شناسههای پروژه به سبک XFS همانند کاری که برنامههای xfs_quota(8) یا chattr(1) روی فایلهای دیسک انجام میدهند. محدوده مجاز اعداد 0 تا 4294967295 است. عدد 0 بدان معناست که فایل به هیچ پروژهای تعلق ندارد.
- -set_projid_r number iso_rr_path [***]
- مانند -projid اما بر تمامی فایلهای زیر پوشههای دادهشده نیز تأثیر میگذارد.
- -alter_date type timestring iso_rr_path [***]
- تغییر
ورودیهای
تاریخ
فایلها در
تصویر ISO. نوع
(type) ممکن است
یکی از
موارد زیر
باشد:
مقدار "a" زمان دسترسی را تنظیم کرده و ctime را بهروز میکند.
مقدار "m" زمان تغییر را تنظیم کرده و ctime را بهروز میکند.
مقدار "b" زمان دسترسی و زمان تغییر را تنظیم کرده و ctime را بهروز میکند.
مقادیر "a-c"، "m-c" و "b-c" زمانها را بدون بهروزرسانی ctime تنظیم میکنند.
مقدار "c" زمان ctime را تنظیم میکند.
پارامتر timestring ممکن است در قالبهای زیر باشد (همچنین بخش EXAMPLES را ببینید):
همانطور که توسط برنامه date انتظار میرود:
MMDDhhmm[[CC]YY][.ss]]
همانطور که توسط برنامه date تولید میشود:
[Day] MMM DD hh:mm:ss [TZON] YYYY
زمانهای نسبی شمارششده از زمان ساعت جاری:
+|-Number["s"|"h"|"d"|"w"|"m"|"y"]
که در آن "s" به معنای ثانیه، "h" ساعت، "d" روز، "w" هفته، "m"=30d و "y"=365.25d به اضافه 1d افزوده به حاصل ضرب است.
ثانیههای مطلق شمارششده از 1 ژانویه 1970 ساعت 00:00 GMT:
=Number
برچسبهای زمانی خود xorriso:
YYYY.MM.DD[.hh[mm[ss]]]
برچسبهای زمانی scdbackup:
YYMMDD[.hhmm[ss]]
که در آن "A0" سال 2000، "B0" سال 2010 و غیره است.
برچسبهای زمانی حجم ECMA-119:
YYYYMMDDhhmmsscc
اینها معمولاً به صورت GMT داده میشوند. پسوند "LOC" باعث تبدیل منطقه زمانی محلی میشود؛ مانند 2013010720574700 یا 2013010720574700LOC. دو رقم آخر cc (صدمثانیه) نادیده گرفته میشوند، اما برای قابل تشخیص کردن قالب باید وجود داشته باشند.
مثال:
-alter_date m-c 2013.11.27.103951 /file1 /file2 --
این دستور به طور پایدار برای کاتالوگ بوت اعمال نمیشود که در زمان -commit برچسبهای زمانی تازه دریافت میکند. دستور -volume_date "uuid" میتواند این مقدار زمانی را تنظیم کند. - -alter_date_r type timestring iso_rr_path [***]
- مانند -alter_date اما بر تمام فایلهای زیر پوشههای احتمالی تأثیر میگذارد.
- -hide hide_state iso_rr_path [***]
- جلوگیری از
نمایش نام
فایلهای
دادهشده
در
درختهای
پوشه ISO 9660 و/یا Joliet
و/یا HFS+ هنگام
نوشتن
تصویر.
محتوای
دادههای
چنین
فایلهای
مخفی در
تصویر حاصل
گنجانده
خواهد شد،
حتی اگر در
هیچ
پوشهای
نشان داده
نشوند. اما
برای یافتن
دادههای
بدون نام در
تصویر به
ابزارهای
خود نیاز
خواهید
داشت.
هشدار: دادههایی که از درخت ISO 9660 مخفی شدهاند، با روش نوشتن در حالت اصلاح (modifying) کپی نخواهند شد.
مقادیر ممکن hide_state عبارتند از: "iso_rr" برای مخفی کردن از درخت ISO 9660، "joliet" برای درخت Joliet، "hfsplus" برای HFS+ و "on" برای همه آنها. مقدار "off" به معنای قابلیت مشاهده در تمامی درختهای دایرکتوری است.
این مقادیر ممکن است ترکیب شوند؛ مانند: joliet:hfsplus
این دستور برای کاتالوگ بوت اعمال نمیشود؛ به جای آن از دستور زیر استفاده کنید:
-boot_image "any" "cat_hidden=on" - دستور پیمایش درخت find-:
- -find iso_rr_path [test [op] [test ...]] [-exec action [params]] --
- یک جایگزین
محدود برای
دستور find در
پوسته برای
تصویر ISO. این
دستور
اقدامی را
روی اشیاء
فایلی
منطبق در
مسیر iso_rr_path یا
زیر آن
انجام
میدهد.
اگر به عنوان آخرین دستور در خط استفاده نشود، فهرست پارامترها باید با "--" پایان یابد.
آزمونها اختیاری هستند. اگر حذف شوند، اقدام برای تمامی اشیاء فایلی اعمال میشود. اگر آزمونها داده شوند، با هم یک عبارت را تشکیل میدهند. این اقدام تنها در صورتی اعمال میشود که عبارت با شیء فایلی مطابقت داشته باشد. عملگر پیشفرض عبارت بین آزمونها -and است؛ یعنی عبارت تنها زمانی مطابقت دارد که تمام آزمونهای آن مطابقت داشته باشند.
آزمونهای موجود عبارتند از:
-name pattern : مطابقت در صورتی که الگو با نام برگ فایل مطابقت داشته باشد. اگر الگو شامل هیچیک از نویسههای "*?[" نباشد، بر اساس -file_name_limit بریده شده و بنابراین با نام بریدهشده در سیستمفایل ISO مطابقت خواهد داشت.
-wholename pattern : مطابقت در صورتی که الگو با مسیر فایل همانطور که توسط اقدام "echo" چاپ میشود مطابقت داشته باشد. نویسه '/' میتواند با نویسههای عام تطبیق داده شود. اگر قطعات الگو بین '/' شامل هیچیک از نویسههای "*?[" نباشند، بر اساس -file_name_limit بریده میشوند.
-disk_name pattern : مانند -name اما آزمایش نام برگ منبع فایل روی دیسک. تنها میتواند با فایلهای دادهای که از تصویر بارگذاریشده سرچشمه نمیگیرند یا برای پوشههای بالای چنین فایلهای دادهای مطابقت داشته باشد. در مورد پوشهها، اگر محتوای آنها از چندین منبع سرچشمه بگیرد، نتیجه میتواند بین اجراهای -find تغییر کند.
-disk_path disk_path : مطابقت در صورتی که disk_path دادهشده برابر با مسیر منبع فایل روی دیسک باشد. همان محدودیتهای -disk_name اعمال میشود.
-type type_letter : مطابقت با فایلهای از نوع دادهشده: "block"، "char"، "dir"، "pipe"، "file"، "link"، "socket"، "eltorito" و "Xotic" که با آنچه توسط انواع دیگر مطابقت ندارد مطابقت دارد.
تنها اولین حرف تفسیر میشود؛ مانند: -find / -type d
-size [+-][=]number[cwbdksmg] : مطابقت با فایلهای دارای رابطه مطابق با عدد اندازه دادهشده.
پیشوند، رابطه مورد نظر را تعریف میکند:
بدون پیشوند یا پیشوند "=" یعنی: فایل باید دقیقاً اندازه دادهشده را داشته باشد.
پیشوند "+" یعنی: فایل باید بزرگتر از اندازه دادهشده باشد.
پیشوند "+=" یعنی: فایل باید بزرگتر یا مساوی با حد اندازه دادهشده باشد.
پیشوند "-" یعنی: فایل باید کوچکتراز حد اندازه دادهشده باشد.
پیشوند "-=" یعنی: فایل باید کوچکتراز یا مساوی با حد اندازه دادهشده باشد.
پسوندها برای حفظ سازگاری با برنامه "find" خاص هستند:
بدون پسوند به معنای بلوکهای ۵۱۲ بایتی است، "c" به معنای تکبایت، "w" به معنای ۲ بایت، "b" به معنای ۵۱۲ بایت است. پسوندهای "k"، "M" و "G" به ترتیب به معنای 1024، 1024k و 1024M هستند. طبق معمول در xorriso، پسوندهای "d" و "s" به معنای ۵۱۲ و ۲۰۴۸ هستند و تمامی پسوندها هم با حروف بزرگ و هم با حروف کوچک شناخته میشوند.
به عنوان مثال مطابقت با فایلهای ۴ گیگابایت یا بزرگتر:
-size +=4g
-maxdepth number : تنها با فایلهایی مطابقت دارد که حداکثر در سطح عمق دادهشده نسبت به iso_rr_path که -find از آنجا شروع میشود قرار دارند. خود آن مسیر در عمق 0 است، فرزندان پوشه آن در 1، فرزندان پوشه آنها در 2 و به همین ترتیب.
-mindepth number : تنها با فایلهایی مطابقت دارد که حداقل در سطح عمق دادهشده قرار دارند.
-damaged : مطابقت با فایلهایی که از بلوکهای دادهای استفاده میکنند که توسط اجرای قبلی -check_media به عنوان آسیبدیده علامتگذاری شدهاند. اطلاعات آسیب هنگام بارگذاری یک تصویر ISO جدید از بین میرود.
توجه داشته باشید که عدم تطابق نشست MD5 تمامی فایلهای نشست را به عنوان آسیبدیده علامتگذاری میکند. اگر تفکیک دقیقتری مد نظر است، قبل از -check_media دستور -md5 off را اجرا کنید.
-pending_data : مطابقت با فایلهایی که محتوای خود را از خارج از تصویر ISO بارگذاریشده دریافت میکنند.
-lba_range start_lba block_count : مطابقت با فایلهایی که از بلوکهای داده در محدوده start_lba و start_lba+block_count-1 استفاده میکنند.
-has_acl : مطابقت با فایلهایی که دارای ACL غیربدیهی هستند.
-has_xattr : مطابقت با فایلهایی که دارای جفتهای نام-مقدار xattr از فضای نام کاربر هستند.
-has_any_xattr : مطابقت با فایلهایی که دارای هرگونه xattr غیر از ACL هستند.
-has_aaip : مطابقت با فایلهایی که دارای ACL یا هرگونه xattr هستند.
-has_lfa_flags flag_letters : مطابقت با فایلهایی که ویژگیهای فایل لینوکس به آنها پیوست شده است و تمام فلگهای منطبق با نویسههای موجود در رشته flag_letters برای آنها تنظیم شده است. نویسهها ممکن است صفر یا چند مورد از مجموعه "aAcCdDeEFhiIjNmPsStTuVxZ" باشند. نویسه '-' نادیده گرفته خواهد شد. رشته flag_letters برابر "-" با هر مجموعه ویژگی مطابقت دارد، اما با فایلی که هیچ ویژگی فایل لینوکس به آن پیوست نشده باشد مطابقت ندارد؛ به عنوان مثال جستجوی فایلهایی با هر دو فلگ 'i' (تغییرناپذیر) و 'd' (بدون dump) تنظیمشده:
-has_lfa_flags di
-has_some_lfa_flags_of flag_letters :
مشابه -has_lfa_flags اما مطابقت با فایلهایی که حداقل یکی از فلگهای منطبق با نویسههای موجود در رشته flag_letters برای آنها تنظیم شده است. رشته flag_letters برابر "-" هرگز با هیچ فایلی مطابقت ندارد؛ به عنوان مثال جستجوی فایلهایی که 'i' یا 'a' یا هر دوی آنها برایشان تنظیم شده است:
-has_some_lfa_flags_of ia
-has_projid number : مطابقت با فایلهایی که شماره شناسه پروژه به سبک XFS دادهشده را دارند.
-has_md5 : مطابقت با فایلهای دادهای که دارای چکسام MD5 هستند.
-has_hfs_crtp creator type : مطابقت با فایلهایی که سازنده (creator) و نوع HFS+ دادهشده به آنها پیوست شده است. اینها کدهای ۴ نویسهای هستند که در صورت فعال بودن -hfsplus ذخیره میشوند. از یک خطتیره تکی '-' به عنوان نویسه عام برای مطابقت با هر کدی استفاده کنید؛ مانند:
-has_hfs_crtp YYDN TEXT
-has_hfs_crtp - -
-has_hfs_bless blessing : مطابقت با فایلهایی که نشان موهبت (blessing) HFS+ دادهشده را دارند. این نشان ممکن است یکی از موارد زیر باشد: "ppc_bootdir"، "intel_bootfile"، "show_folder"، "os9_folder"، "osx_folder" یا "any". همچنین اقدام set_hfs_bless را ببینید.
-has_filter : مطابقت با فایلهایی که توسط -set_filter فیلتر شدهاند.
-hidden hide_state : مطابقت با فایلهایی که در درخت "iso_rr"، در درخت "joliet"، در درخت "hfsplus"، در تمام درختها ("on") مخفی هستند، یا در هیچ درختی مخفی نیستند ("off").
مواردی که در برخی درختها مخفی هستند با -not -hidden "off" مطابقت دارند.
-bad_outname namespace : مطابقت با فایلهایی با نامهایی که هنگام تبدیل رفت و برگشت بین مجموعه نویسه محلی و یکی از فضاهای نام "rockridge"، "joliet"، "ecma119" یا "hfsplus" تغییر میکنند.
تمامی قوانین قابل اعمال -compliance در نظر گرفته میشوند. قاعده "omit_version" همیشه فعال است، زیرا در غیر این صورت فضاهای نام "joliet" و "ecma119" باعث تغییر در هر نام غیرپوشهای میشوند. فعال کردن قوانین "no_force_dots" و "no_j_force_dots" را نیز در نظر بگیرید.
فضاهای نام از مجموعههای نویسه متفاوتی استفاده میکنند و محدودیتهای بیشتری را برای طول نام، نویسههای مجاز و مؤلفههای اجباری نام اعمال مینمایند. "rockridge" از مجموعه نویسه تعریفشده توسط -out_charset استفاده میکند، "joliet" از UCS-2BE استفاده میکند، "ecma119" از ASCII استفاده میکند و "hfsplus" از UTF-16BE بهره میبرد.
-name_limit_blocker length : مطابقت با نام فایلهایی که مانع از اجرای دستور -file_name_limit با طول دادهشده میشوند. خود این دستور تنها اولین فایل مشکلدار را گزارش میدهد.
-prune : اگر این آزمون حاصل شود و فایل آزمایششده یک پوشه باشد، -find به درون آن پوشه نفوذ نخواهد کرد. این آزمون به خودی خود همیشه مطابقت دارد.
-use_pattern "on"|"off" : این شبهآزمون تفسیر نویسههای عام را با آزمونهای -name، -wholename و -disk_name کنترل میکند. پیشفرض "on" است. اگر تفسیر با "off" غیرفعال شود، پارامترهای -name، -wholename و -disk_name باید به جای الگوی جستجو، به صورت لفظی مطابقت داشته باشند. این آزمون به خودی خود همیشه مطابقت دارد.
-or_use_pattern "on"|"off" : مانند -use_pattern اما به صورت خودکار آزمون را با -or به جای -and پیوست میکند. علاوه بر این خود آزمون هرگز مطابقت ندارد. بنابراین یک آزمون بعدی -or باعث میشود که عملوند دیگر آن انجام شود.
-decision "yes"|"no" : اگر به این آزمون برسد، ارزیابی بلافاصله پایان مییابد و اگر تصمیم "yes" یا "true" باشد، اقدام انجام میشود. عملگر -if را ببینید.
-true و -false : به ترتیب همیشه مطابقت دارند یا مطابقت ندارند. ارزیابی ادامه مییابد.
-sort_lba : همیشه مطابقت دارد. این باعث میشود که -find اقدام خود را به ترتیبی مرتبشده بر اساس آدرسهای بلوک تصویر ISO فایلها انجام دهد. ممکن است پهنای باند را با اقداماتی که دادهها را از درایوهای نوری میخوانند بهبود بخشد. اقدام همیشه مسیر مطلق را به عنوان پارامتر دریافت خواهد کرد.
عملگرهای موجود عبارتند از:
-not : مطابقت در صورتی که آزمون یا عبارت فرعی بعدی مطابقت نداشته باشد. چندین آزمون این کار را به طور خاص انجام میدهند: -undamaged، -lba_range با start_lba منفی، -has_no_acl، -has_no_xattr، -has_no_aaip، -has_no_filter.
-and : مطابقت در صورتی که هر دو آزمون یا عبارت مجاور مطابقت داشته باشند.
-or : مطابقت در صورتی که حداقل یکی از دو آزمون یا عبارت مجاور مطابقت داشته باشد.
-sub ... -subend یا ( ... ) : احاطه یک عبارت فرعی که ابتدا قبل از پردازش توسط عملگرهای مجاور ارزیابی میشود. تقدم عادی به صورت زیر است: -not، -or، -and.
-if ... -then ... -elseif ... -then ... -else ... -endif : احاطه یک یا چند عبارت فرعی. اگر عبارت -if مطابقت داشته باشد، عبارت -then به عنوان نتیجه کل عبارت تا -endif ارزیابی میشود. در غیر این صورت عبارت بعدی -elseif ارزیابی میشود و در صورت مطابقت، عبارت -then آن ارزیابی میگردد. در نهایت در صورت عدم مطابقت، عبارت -else ارزیابی میشود. ممکن است بیش از یک -elseif وجود داشته باشد. نه -else و نه -elseif اجباری نیستند. اگر -else وجود نداشته باشد و به آن برخورد شود، نتیجه عدم مطابقت است. عبارات شرطی کاربرد اصلی آزمون فوقالذکر -decision هستند.
اقدام
پیشفرض echo
است؛ یعنی
چاپ آدرس
فایل پیدا
شده. سایر
اقدامات
دستورات
خاص xorriso
هستند که
روی
فایلهای
یافتشده
انجام
میشوند.
این
دستورات
ممکن است
پارامترهای
خاصی داشته
باشند.
توضیحات
خاص آنها
را نیز
ببینید.
دستورات chown و
chown_r مالکیت
را تغییر
میدهند و
شناسه
کاربر را به
عنوان
پارامتر
دریافت
میکنند؛
مانند: -exec chown thomas --
دستورات chgrp و
chgrp_r ویژگی
گروه را
تغییر
میدهند و
شناسه گروه
را به عنوان
پارامتر
دریافت
میکنند؛
مانند: -exec chgrp_r staff --
دستورات chmod و
chmod_r مجوزهای
دسترسی را
تغییر
میدهند و
یک رشته
حالت را به
عنوان
پارامتر
دریافت
میکنند؛
مانند: -exec chmod a-w,a+r --
دستورات alter_date
و alter_date_r
برچسبهای
زمانی را
تغییر
میدهند.
آنها یک
نویسه نوع و
یک رشته
زمانی را به
عنوان
پارامتر
دریافت
میکنند؛
مانند: -exec alter_date "m"
"Dec 30 19:34:12 2007" --
اقدام set_to_mtime
مقادیر ctime و atime
را روی
مقدار
یافتشده
در mtime تنظیم
میکند.
اقدام lsdl
اطلاعات
فایل را
مانند
دستور ls -dl
پوسته چاپ
میکند.
اقدام show_time
برچسب
زمانی نوع
دادهشده و
مسیر فایل
را چاپ
میکند. بر
خلاف lsdl،
زمان همیشه
دقیق تا
ثانیه نشان
داده
میشود. این
اقدام متن
نوع را به
عنوان
پارامتر
دریافت
میکند.
برای
درخواست atime، ctime
یا mtime باید با
یکی از حروف
'a'، 'c' یا 'm' شروع
شود. حروف 'u'
یا 'U' ممکن
است برای
درخواست UTC
به جای زمان
محلی اضافه
شوند. حرف 's'
ممکن است
برای
درخواست
برچسبهای
زمانی قابل
مرتبسازی
به شکل YYYY.MM.DD.hhmmss
مانند 2025.10.03.183911
اضافه شود.
توجه داشته
باشید که
برای
قابلیت
مرتبسازی
الفبایی
اسکی، سال 10000
به صورت "999A" و
سال 1- به
صورت "001-"
نمایش داده
میشود؛
مانند: -exec show_time mus --
اقدام compare
دستور -compare را
با نشانی
فایل
یافتشده
به عنوان iso_rr_path
و نشانی
فایل
مربوطه در
زیر
پارامتر disk_path_start
انجام
میدهد.
برای این
کار iso_rr_path
دستور -find با
disk_path_start جایگزین
میشود؛
مانند: -find /thomas -exec compare
/home/thomas --
اقدام update
دستور -update را
با نشانی
فایل
یافتشده
به عنوان iso_rr_path
انجام
میدهد.
نشانی فایل
مربوطه
مانند
اقدام "compare"
در بالا
تعیین
میشود.
اقدام update_merge
مانند update است
اما در
صورتی که
فایل
یافتشده
روی دیسک
وجود
نداشته
باشد، آن را
حذف
نمیکند.
این اقدام
میتواند
چندین بار
اجرا شود و
در مورد
تمام
فایلهای
بازدیدشده
ثبت میکند
که آیا
همتای
آنها روی
دیسک توسط
یکی از
اجراهای update_merge
دیده شده
است یا خیر.
در نهایت،
یک اجرای -find
با اقدام
"rm_merge" ممکن
است تمام
فایلهایی
را که هیچ
همتایی روی
دیسک
ندیدهاند
حذف کند. تا
"rm_merge" یا "clear_merge"
بعدی، تمام
فایلهای
تازه
درجشده به
عنوان
دارای
همتای دیسک
علامتگذاری
میشوند.
اقدام rm
مسیر iso_rr_path
یافتشده
را از تصویر
حذف میکند
در صورتی که
پوشهای با
فایلهای
درون آن
نباشد؛
یعنی این "rm"
شامل "rmdir" نیز
میشود.
اقدام rm_r
مسیر iso_rr_path
یافتشده
را از تصویر
حذف
میکند، از
جمله کل
درختهای
پوشه.
اقدام rm_merge
مسیر iso_rr_path
یافتشده
را در صورتی
که توسط یک
یا چند
اقدام قبلی
"update_merge" بازدید
شده باشد و
در هیچیک
از آنها
همتایی روی
دیسک ندیده
باشد، حذف
میکند.
علامتگذاری
ناشی از
اقدامات update
در هر صورت
حذف میشود.
اقدام clear_merge
علامتگذاری
احتمالی
ناشی از
اقدام "update_merge"
را حذف
میکند.
اقدام report_damage
فایلها را
بر اساس
اینکه آیا
با بلوک
دادهای که
به عنوان
آسیبدیده
علامتگذاری
شده است
برخورد
میکنند یا
خیر
دستهبندی
مینماید.
نتیجه
همراه با
نشانی
اولین بایت
آسیبدیده،
حداکثر
گستره
آسیبها،
اندازه
فایل و مسیر
فایل چاپ
میشود.
اقدام report_lba
فایلهایی
را که به
بلوکهای
داده تصویر
مرتبط
هستند چاپ
میکند. این
اقدام
نشانی بلوک
منطقی،
شماره
بلوک،
اندازه
بایتی و
مسیر هر
فایل را
اعلام
مینماید.
در صورتی که
فایل بیش از
یک بخش
داشته باشد
ممکن است
بیش از یک خط
برای هر
فایل گزارش
شود. در این
حالت هر خط
دارای
شماره
گستره
متفاوتی در
ستون "xt" است.
اقدام report_sections
مانند report_lba اما
اندازههای
بایتی
بخشهای
خاص را به
جای اندازه
کلی بایتی
فایل بیان
میکند.
اقدام getfacl
مجوزهای
دسترسی را
در قالب
متنی ACL در
کانال
نتایج چاپ
میکند.
اقدام setfacl پس
از حذف
موارد
موجود،
فهرستهای ACL
را پیوست
میکند. ACL
جدید در
قالب متنی
همانطور
که با دستور
-setfacl تعریف شده
است ارائه
میشود؛
مانند: -exec setfacl
u:lisa:rw,u::rw,g::r,o::-,m::rw --
اقدام getfattr
جفتهای
نام-مقدار xattr
را در کانال
نتایج چاپ
میکند.
انتخاب
فضاهای نام
به تنظیم
دستور -xattr
بستگی دارد:
"off"، "on" یا "user"
آن را به
فضای نام "user"
محدود
میکند و "any"
تنها فضای
نام "isofs" را
نادیده
میگیرد.
اقدام get_any_xattr
جفتهای
نام-مقدار xattr
را از هر
فضای نامی
به جز ACL در
کانال
نتایج چاپ
میکند. این
بیشتر برای
اشکالزدایی
فضای نام "isofs"
است.
اقدام list_extattr mode
اسکریپتی
را در کانال
نتایج چاپ
میکند که
از دستور setextattr
در FreeBSD برای
تنظیم
جفتهای
نام-مقدار xattr
فایل در
فضای نام
کاربر
استفاده
میکند.
پارامتر mode
قالب خروجی
نامها و
مقادیر را
کنترل
میکند.
حالت
پیشفرض "e"
نویسههای
بیخطر را
در
علامتهای
نقلقول
پوسته چاپ
میکند اما
متون با
اکتال 001 تا 037 و
0177 تا 0377 را با
یک دستور
داخلی echo -e
نمایش
میدهد.
حالت "q" هر
نویسهای
را در
علامتهای
نقلقول
پوسته چاپ
میکند. این
ممکن است
برای
ترمینال
ایمن نباشد
اما باید در
فایلهای
اسکریپت
کار کند.
حالت "r" از
علامتهای
نقلقول
استفاده
نمیکند
(ناایمن).
حالت "b"
کدگذاری
بکاسلش را
چاپ میکند
(برای تجزیه
پوسته
مناسب
نیست)؛
مانند: -exec list_extattr e --
دستور -backslash_codes بر
خروجی
تأثیری
ندارد.
اقدام lsattrd
فلگهای
ویژگی فایل
لینوکس را
مانند
دستور -lsattrd
نشان
میدهد.
اقدام chattr mode
دستور -chattr را
با حالت
دادهشده
اعمال
میکند. بر
خلاف دستور
-chattr، این
اقدام بی سر
و صدا هر
فایلی را که
از نوع "dir" یا
"file" نباشد
نادیده
میگیرد؛
مانند: -exec chattr +sDu --
اقدام get_projid
شماره
شناسه
پروژه به
سبک XFS را
نشان
میدهد.
اقدام get_projid_minmax
در پایان
اجرای -find،
کمترین و
بیشترین
شمارههای
شناسه
پروژه به
سبک XFS را در
میان
فایلهایی
که توسط
آزمونهای
find مطابقت
داده
شدهاند
نشان
میدهد.
اقدام set_projid number
دستور -set_projid را
با شماره
دادهشده
اعمال
میکند.
محدوده
اعداد 0 تا 4294967295
است؛ مانند:
-exec set_projid 1001 --
اقدام get_md5
مجموع MD5 را
در صورت ثبت
شدن به
همراه مسیر
فایل چاپ
میکند.
اقدام check_md5
مجموع MD5 را
در صورت ثبت
و بارگذاری
با محتوای
فایل
مقایسه
کرده و در
صورت عدم
تطابق
گزارش
میدهد؛
مانند: -find / -not -pending_data -exec
check_md5 FAILURE --
اقدام make_md5 یک
فایل داده
را به مجموع
MD5 محتوای آن
مجهز
میکند.
برای
ارتقای
فایلهای
موجود در
تصویر
بارگذاریشده
به پوشش
کامل MD5 با commit
بعدی همراه
با -md5 "on" مفید
است؛ مانند:
-find / -type f -not -has_md5 -exec make_md5 --
اقدام setfattr
جفتهای
نام و مقدار
xattr را تنظیم
یا حذف
میکند؛
مانند: -find / -has_xattr -exec setfattr
--remove-all '' --
اقدام set_hfs_crtp
ویژگیهای
سازنده و
نوع HFS+ را
اضافه،
تغییر یا
حذف
میکند؛
مانند: -exec set_hfs_crtp YYDN TEXT
یا -find /my/dir -prune -exec set_hfs_crtp --delete -
اقدام get_hfs_crtp
ویژگیهای
سازنده و
نوع HFS+ را در
صورتی که
فایل اصلاً
چنین
ویژگیهایی
داشته
باشد،
همراه با iso_rr_path
چاپ
میکند؛
مانند: -exec get_hfs_crtp
اقدام set_hfs_bless
موهبتهای
HFS+ را اعمال
یا حذف
میکند.
آنها
نقشهایی
هستند که
میتوانند
به حداکثر
چهار پوشه و
یک فایل
داده نسبت
داده شوند:
"ppc_bootdir"، "intel_bootfile"،
"show_folder"، "os9_folder"،
"osx_folder". آنها
ممکن است به
صورت "p"، "i"،
"s"، "9" و "x"
مخفف شوند.
هر چنین
نقشی
حداکثر
میتواند
به یک شیء
فایلی نسبت
داده شود.
"intel_bootfile" موردی
است که برای
یک فایل
داده اعمال
میشود. همه
موارد دیگر
برای
پوشهها
اعمال
میشوند.
اجرای -find به
محض صدور
اولین
موهبت به
پایان
میرسد.
دارنده
قبلی موهبت
در آن زمان
آن را از دست
خواهد داد.
هیچ شیء
فایلی
نمیتواند
بیش از یک
موهبت
داشته
باشد؛
مانند: -find /my/blessed/directory -exec
set_hfs_bless p علاوه بر
این موهبت
"none" یا "n"
وجود دارد
که هرگونه
موهبت را از
فایلهای
یافتشده
لغو میکند.
این اجرای -find
با رسیدن به
اولین
تطابق
متوقف
نخواهد شد؛
مانند: -find / -has_hfs_bless any -exec
set_hfs_bless none
اقدام get_hfs_bless
نقش موهبت HFS+
و iso_rr_path را در
صورت وجود
موهبت چاپ
میکند؛
مانند: -exec get_hfs_bless
اقدام set_filter
فیلترها را
اعمال یا
حذف
میکند؛
مانند: -exec set_filter --zisofs --
اقدام mkisofs_r
قوانین mkisofs -r را
برای شیء
فایلی
اعمال
میکند:
شناسه
کاربر و
شناسه گروه 0
میشوند،
تمام
مجوزهای r
اعطا شده و
تمام
مجوزهای w رد
میشوند.
اگر هرگونه
مجوز x وجود
داشته
باشد، هر سه
مجوز x اعطا
میگردند.
بیتهای s و t
حذف
میشوند.
اقدام sort_weight یک
شماره وزن LBA
را به
فایلهای
معمولی
نسبت
میدهد. این
عدد ممکن
است در بازه
2147483648- تا 2147483647 باشد.
هرچه
بالاتر
باشد،
نشانی بلوک
دادههای
فایل در
تصویر ISO در
حال
شکلگیری
کمتر خواهد
بود. در حال
حاضر
کاتالوگ
بوت دارای
وزن
سختکدشده
۱ میلیارد
است.
معمولاً
باید بلوک
با کمترین
نشانی ممکن
را اشغال
کند.
فایلهای
دادهای که
توسط -indev یا -dev
بارگذاری
میشوند
بسته به
نشانی بلوک
خود وزنی
بین 1 تا 2 به
توان 28 = 268,435,456
دریافت
میکنند.
این امر در
صورت اعمال
روش اصلاح،
آنها را
تقریباً در
همان ترتیب
نگه
میدارد.
فایلهای
دادهای که
توسط
دستورات
دیگر اضافه
میشوند
وزن اولیه 0
دریافت
میکنند.
فایلهای
تصویر بوت
دارای وزن
پیشفرض 2
هستند؛
مانند: -exec sort_weight 3 --
اقدام show_stream
زنجیره
جریان
محتوای یک
فایل داده
را نشان
میدهد.
اقدام show_stream_id
مانند show_stream
است، اما
بین نوع
جریان و
اولین ":" در
کروشه
شمارههای
شناسه libisofs را
نیز چاپ
میکند: [fs_id,dev_id,ino_id].
اقدام hide
فایل را به
یکی از
وضعیتهای
مخفی "on"،
"iso_rr"، "joliet"، "hfsplus"
یا "off"
میبرد.
آنها ممکن
است ترکیب
شوند؛
مانند joliet:hfsplus یا
-find / -disk_name *_secret -exec hide on
اقدام print_outname در
خط اول نام
فایل را
همانطور
که توسط مدل
برنامه ثبت
شده است چاپ
میکند، و
در خط دوم
نام فایل را
پس از تبدیل
رفت و برگشت
بین مجموعه
نویسه محلی
و یکی از
فضاهای نام
"rockridge"، "joliet"، "ecma119"
یا "hfsplus". خط
سوم خروجی
"--" است.
تبدیل نام
احتمال
تداخل نام
در فضای نام
مقصد را در
نظر
نمیگیرد.
چنین
تداخلهایی
به احتمال
زیاد در "joliet"
و "ecma119" رخ
میدهند،
جایی که با
تغییرات
خودکار نام
فایل حل
میشوند؛
مانند: -find / -bad_outname joliet -exec
print_outname joliet
اقدام estimate_size
تخمین
کمینه و
بیشینهای
از تعداد
بلوکهایی
را که
فایلهای
یافتشده
با هم در
تصویر ISO در
حال تولید
اشغال
میکنند
چاپ میکند.
این امر
ابربلوک،
پوشههای
موجود در
مسیر -find یا
پرکردن
تصویر (padding) را
در نظر
نمیگیرد.
اقدام find
اجرای
دیگری از -find
را روی
نشانی فایل
منطبق
انجام
میدهد.
همان
پارامترهای
-find به جز iso_rr_path را
میپذیرد؛
مانند: -find / -name '???' -type d -exec
find -name '[abc]*' -exec chmod a-w,a+r --
- فیلترها برای محتوای فایل داده:
فیلترها
ممکن است
بین
فایلهای
داده در
تصویر ISO و
منبع
محتوای
آنها در
خارج از
تصویر نصب
شوند. آنها
همچنین
میتوانند
برعکس بین
محتوای
داده در
تصویر و
فایلهای
مقصد روی
دیسک
استفاده
شوند.
فیلترهای
داخلی
عبارتند از
"--zisofs" و "--zisofs-decode".
اولی باید
از طریق -set_filter
اعمال شود،
دومی در
صورتی که
محتوای
فشردهشده
zisofs با فایلی
در هنگام
بارگذاری
تصویر ISO
شناسایی
شود به صورت
خودکار
اعمال
میگردد.
یک جفت
فیلتر
داخلی دیگر
"--gzip" و "--gunzip" با
پسوند ".gz"
است. آنها
رفتاری
مشابه gzip و gunzip
خارجی
دارند اما
از ایجاد
فرآیند
جدید (fork) برای
هر تکفایل
خودداری
میکنند؛
بنابراین
در صورت
وجود
فایلهای
کوچک متعدد
بسیار
سریعتر
هستند.
- -external_filter name option[:option] program_path [arguments] --
- ثبت یک
فیلتر
محتوا با
مرتبط
ساختن یک
نام با مسیر
برنامه،
آرگومانهای
برنامه و
برخی
گزینههای
رفتاری. پس
از ثبت،
میتواند
برای چندین
فایل داده
در تصویر ISO
اعمال شود،
فارغ از
اینکه
محتوای
آنها در
تصویر ISO
بارگذاریشده
یا در
سیستمفایل
محلی قرار
دارد.
فرآیندهای
فیلتر
خارجی ممکن
است با
خواندن
محتوای
اصلی از stdin و
نوشتن هر
آنچه
میخواهند
در stdout،
محتوای
فایل
ساختگی
تولید کنند.
آنها باید
خروجی
یکسانی را
در ورودی
یکسان در
اجراهای
مکرر تحویل
دهند.
گزینهها عبارتند از:
مقدار "default" به این معنی است که گزینه دیگری مد نظر نیست.
گزینه "...=suffix" یک پسوند نام فایل را تنظیم میکند. اگر خالی نباشد، به نام فایل اضافه میشود یا از آن حذف میگردد.
گزینه "remove_suffix" پسوند نام فایل را به جای افزودن آن حذف میکند.
گزینه "if_nonempty" فایلهای با اندازه 0 را فیلترنشده باقی میگذارد.
گزینه "if_reduction" فیلتر کردن را امتحان میکند و اگر اندازه محتوا کاهش نیافت آن را لغو مینماید.
گزینه "if_block_reduction" در صورتی که تعداد بلوکهای ۲ کیلوبایتی کاهش نیافت، فیلتر را لغو میکند.
گزینه "...=used" نادیده گرفته میشود. دستور -status آن را با تعداد فایلهایی که در حال حاضر فیلتر برای آنها اعمال شده است نشان میدهد.
مثالها:
-external_filter bzip2 suffix=.bz2:if_block_reduction \
/usr/bin/bzip2 --
-external_filter bunzip2 suffix=.bz2:remove_suffix \
/usr/bin/bunzip2 -- - -unregister_filter name
- حذف یک ثبت نام -external_filter. این تنها در صورتی امکانپذیر است که فیلتر برای هیچ فایلی در تصویر ISO اعمال نشده باشد.
- -close_filter_list
- ممنوعیت غیرقابللغو دستورات -concat "pipe"، -external_filter و -unregister_filter، اما نه -set_filter. از این دستور برای جلوگیری از فیلتر کردن خارجی به طور کلی یا زمانی که تمام فیلترهای مورد نظر ثبت شدهاند و حالت -concat "pipe" باید غیرمجاز باشد، استفاده کنید. فیلترهای خارجی ممکن است در زمان کامپایل xorriso نیز به طور کامل ممنوع شوند. به صورت پیشفرض اگر xorriso تحت مجوز setuid اجرا شود، ممنوع هستند.
- -set_filter name iso_rr_path [***]
- اعمال یک -external_filter
یا یک فیلتر
داخلی بر
روی
فایلهای
داده
دادهشده
در تصویر ISO.
اگر پسوند
فیلتر خالی
نباشد،
برای نام
فایل اعمال
خواهد شد.
تغییر نام
تنها در
صورتی رخ
میدهد که
فیلتر
واقعاً
پیوست شود و
توسط
گزینههای
آن لغو
نشود. به
صورت
پیشفرض
فایلهایی
که از قبل
دارای
پسوند
هستند
فیلتر
نمیشوند.
سایر
فایلها
پسوند را به
نام خود
پیوست
خواهند کرد.
اگر فیلتر
دارای
گزینه "remove_suffix"
باشد، تنها
در صورتی
اعمال
میشود که
پسوند وجود
داشته باشد
و بتوان آن
را حذف کرد.
نام بزرگتر
از حد مجاز
یا تداخل
ناشی از
تغییر
پسوند مانع
از فیلتر
شدن میشود.
با اکثر انواع فیلتر، این دستور بلافاصله فیلتر را یک بار برای هر فایل اجرا میکند تا اندازه خروجی تعیین شود. عملیات خواندن محتوا مانند -extract، -compare و تولید تصویر، اجراهای فیلتر بیشتری را انجام میدهند و محتوای فیلترشده را تحویل میدهند.
در زمان تولید تصویر، خروجی فیلتر همچنان باید همانند خروجی اولین اجرا باشد. فیلتر کردن برای تولید تصویر در مورد فایلهای تصویر ISO بارگذاریشده در صورتی که روش نوشتن رشد دادن در حال اجرا باشد (یعنی -indev و -outdev یکسان باشند) اتفاق نمیافتد.
نام فیلتر رزروشده "--remove-all-filters" فیلتر کردن را لغو میکند. این کار تغییر نام پسوندها را نیز لغو خواهد کرد. از "--remove-all-filters+" برای جلوگیری از هرگونه تغییر نام پسوند استفاده کنید.
پیوست کردن یا جدا کردن فیلترها وضعیت -changes_pending را تغییر نخواهد داد. اگر دستکاریهای فیلتر باید تنها تغییرات در یک اجرای نوشتن باشند، دستور -changes_pending "yes" را به طور صریح اجرا کنید. - -set_filter_r name iso_rr_path [***]
- مانند -set_filter اما بر تمامی فایلهای داده زیر پوشههای احتمالی تأثیر میگذارد.
- نوشتن نتیجه، کنترل درایو:
(همچنین بند مربوط به تنظیمات را در زیر ببینید)
- -rollback
- تصویر ISO دستکاریشده را کنار گذاشته و آن را مجدداً از -indev بارگذاری کنید. (در صورتی که پایان فوری برنامه مد نظر باشد از -rollback_end استفاده کنید.)
- -changes_pending "no"|"yes"|"mkisofs_printed"|"show_status"
- اجراهای
نوشتن تنها
در صورتی
انجام
میشوند که
تغییری در
تصویر از
زمان
بارگذاری
یا ایجاد
تصویر خام
ایجاد شده
باشد.
برعکس،
برنامه
زمانی که به
طور عادی
پایان
مییابد
(یعنی نه با
لغو و نه با
دستور -rollback_end)،
یک اجرای
نوشتن را
برای
تغییرات
معلق آغاز
میکند.
دستور -changes_pending میتواند برای لغو وضعیت تعیینشده خودکار استفاده شود. این عمدتاً برای تنظیم وضعیت "yes" با وجود اینکه هیچ تغییر واقعی ایجاد نشده است مفید است. توالی -changes_pending "no" -end معادل دستور -rollback_end است. وضعیت "mkisofs_printed" توسط دستور شبیهسازی -as mkisofs در صورت وجود گزینه -print-size ایجاد میشود.
شبهوضعیت "show_status" میتواند برای چاپ وضعیت فعلی در کانال نتایج استفاده شود.
بارگذاری یا دستکاریهای تصویر که پس از این دستور رخ میدهند، وضعیت تغییر تصویر را مجدداً به طور خودکار بهروزرسانی خواهند کرد. - -commit
- انجام
عملیات
نوشتن. پس
از آن، اگر -outdev
قابل
خواندن
باشد، آن را
به -dev جدید
تبدیل کرده
و تصویر را
از آنجا
بارگذاری
کنید. به
حالت رشد
دادن (growing)
تغییر
وضعیت دهید.
(یک دستور -outdev
بعدی حالت
اصلاح یا
رشد
کورکورانه
را فعال
خواهد کرد.)
دستور -commit در
پایان
برنامه در
صورت وجود
دستکاریهای
معلق به
صورت
خودکار
انجام
میشود.
بنابراین برای انجام عملیات نوشتن نهایی بدون -dev جدید و بدون بارگذاری مجدد تصویر، دستور -end را اجرا کنید. اگر میخواهید بدون بارگذاری تصویر ادامه دهید، دستور -commit_eject "none" را اجرا کنید. برای بیرون دادن دیسک پس از نوشتن بدون بارگذاری تصویر، از -commit_eject "all" استفاده نمایید. برای جلوگیری از نوشتن نهایی، -rollback_end را اجرا کنید.
نوشتن میتواند مدت زمان قابل توجهی طول بکشد. در چندین نوع رسانه غیرعادی نیست که برای چند دقیقه اول هیچ پیشرفتی قابل مشاهده نباشد یا اینکه درایو برای چند دقیقه پس از انتقال تمام دادهها روی رسانه کار کند. رابطه xorriso و درایوها کلاینت-سرور است. درایوها آزادی عمل زیادی در مورد نحوه برخورد با رسانهها دارند. برخی از ترکیبات درایو و رسانه با وجود وعدههای سازندگان آنها اصلاً کار نمیکنند. اگر نوشتن ناموفق بود، رسانه یا درایو دیگری را امتحان کنید. دلیل چنین شکستی به ندرت در کد برنامههای مختلف رایت است اما میتوانید مواردی را که در زیر در بخش SEE ALSO فهرست شدهاند امتحان کنید. - -eject "in"|"out"|"all"
- بیرون دادن رسانه موجود در -indev، -outdev یا هر دو درایو به ترتیب. نکته: هنوز امکان بیرون دادن مؤثر فایلهای دیسک وجود ندارد.
- -commit_eject "in"|"out"|"all"|"none"
- ترکیب -commit و -eject. پس از پایان نوشتن، -outdev را به -dev جدید تبدیل نکنید و هیچ تصویر ISO را بارگذاری ننمایید؛ بلکه -indev و/یا -outdev را بیرون دهید. هر درایو بیروندادهنشده را رها کنید.
- -blank mode
- آمادهسازی
رسانه برای
نوشتن از
ابتدا (اگر -dummy
فعال
نباشد).
این تنها بر -outdev تأثیر میگذارد و نه -indev. اگر هر دو درایو یکسان باشند و تصویر ISO تغییر یافته باشد، این دستور منجر به یک رویداد FAILURE میشود. حالتهای تعریفشده عبارتند از:
as_needed, fast, all, deformat, deformat_quickest
حالت "as_needed" رسانههای استفادهشده CD-RW، DVD-RW و رسانههای با قابلیت بازنویسی استفادهشده را با اعمال -blank "fast" مدیریت میکند. این حالت -format "full" را برای DVD-RAM و BD-RE هنوز فرمتنشده اعمال مینماید. سایر رسانهها در وضعیت خام با متانت نادیده گرفته میشوند. رسانههایی که نمیتوانند برای نوشتن از ابتدا آماده شوند باعث رویداد FAILURE میشوند.
حالت "fast" رسانههای CD-RW و DVD-RW فرمتنشده را قابل استفاده مجدد میکند یا تصاویر ISO قابل بازنویسی را باطل میسازد. حالت "all" ممکن است دقیقتر کار کند و به زمان بیشتری نیاز داشته باشد.
حالت "deformat" رسانههای DVD-RW با قابلیت بازنویسی را به انواع بدون فرمت تبدیل میکند.
حالت "deformat_quickest" روش سریعتری برای حذف فرمت یا پاکسازی DVD-RW است اما رسانههایی تولید میکند که تنها برای یک نشست منفرد مناسب هستند. برخی از درایوها این وضعیت را با ارائه ندادن قابلیت 21h اعلام میکنند، اما برخی از درایوها به هر حال آن را ارائه میدهند. اگر قابلیت 21h وجود نداشته باشد، در صورتی که دستور -close روی "on" تنظیم نشده باشد، xorriso از نوشتن روی DVD-RW خودداری خواهد کرد.
گزارشهای پیشرفت ارائهشده توسط برخی از درایوها در حین پاکسازی کاملاً غیرواقعی هستند. موفقیت یا شکست را از درصدهای گزارششده استنتاج نکنید. اگر رویداد SORRY یا بدتر رخ نداده باشد، پاکسازی موفقیتآمیز بوده است.
حالت ممکن است با "force:" به عنوان پیشوند همراه شود تا ارزیابی وضعیت رسانه توسط libburn را نادیده بگیرد؛ مانند "force:fast". با این وجود پاکسازی تنها در صورتی موفقیتآمیز خواهد بود که درایو مایل به انجام آن باشد. - -format mode
- تبدیل DVD-RW
بدون فرمت
به
رسانههای
با قابلیت
بازنویسی،
فرمتدهی
اولیه DVD+RW،
فرمت
رسانههای
BD-RE یا BD-R تازه
خریداریشده،
و فرمت مجدد
DVD-RAM یا BD-RE.
حالتهای تعریفشده عبارتند از:
as_needed, full, fast, by_index_<num>, fast_by_index_<num>,
by_size_<num>, fast_by_size_<num>, without_spare
حالت "as_needed" رسانههای DVD-RW، DVD-RAM، BD-RE هنوز فرمتنشده یا BD-R خام بدون فرمت را فرمت میکند. سایر رسانهها دستنخورده باقی میمانند.
حالت "full" اقدام به فرمت (یا فرمت مجدد) DVD-RW، DVD+RW، DVD-RAM، BD-RE یا BD-R خام بدون فرمت میکند.
حالت "fast" همان کار "full" را انجام میدهد اما سعی میکند سریعتر باشد.
حالت "_by_index" فرمتی را از فهرست توصیفکنندههای ارائهشده توسط دستور -list_formats انتخاب میکند. شماره شاخص از آن فهرست باید به کلمه حالت اضافه شود؛ مانند: "by_index_3".
حالت "_fast_by_index" همان کار "_by_index" را انجام میدهد اما سعی میکند سریعتر باشد.
حالت "_by_size" فرمتی را از فهرست توصیفکننده انتخاب میکند که حداقل اندازه دادهشده را فراهم کند. این اندازه باید به کلمه حالت اضافه شود؛ مانند: "by_size_4100m". این برای رسانههای دارای مدیریت نقص (Defect Management) اعمال میشود. در BD-RE فرمت 0x31 را که فاقد مدیریت نقص است انتخاب نخواهد کرد.
حالت "_fast_by_size" همان کار "_by_size" را انجام میدهد اما سعی میکند سریعتر باشد.
حالت "without_spare" بزرگترین فرمت را از فهرست توصیفکننده انتخاب میکند که هیچ ناحیه یدکی برای مدیریت نقص ارائه ندهد. در BD-RE این فرمت 0x31 خواهد بود. رسانه BD-R با این حالت فرمت نخواهد شد. DVD-RAM و سایر رسانهها به بزرگترین اندازه ارائهشده فرمت خواهند شد.
اقدام فرمتبندی در صورت فعال بودن -dummy تأثیری روی رسانهها ندارد.
فرمتبندی معمولاً در طول عمر یک رسانه تنها یک بار مورد نیاز است، اگر اصلاً نیاز باشد. اما دلایل فرمت مجدد عبارتند از:
DVD-RW توسط -blank بدون فرمت شده باشد،
DVD+RW دارای خطاهای خواندن باشد (فرمت مجدد قبل از نوشتن بعدی)،
DVD-RAM یا BD-RE بخواهند میزان ذخیره نقص خود را تغییر دهند.
رسانه BD-R ممکن است بدون فرمت نوشته شود یا قبل از اولین استفاده فرمت گردد. فرمتبندی مدیریت نقص را فعال میکند که تلاش مینماید نقاط بد روی رسانه را در طول فرآیند نوشتن شناسایی و ترمیم کند، به بهای نصف شدن سرعت حتی با رسانههای بینقص.
گزارشهای پیشرفت صادرشده توسط برخی درایوها در حین فرمت کاملاً غیرواقعی هستند. موفقیت یا شکست را از درصدهای گزارششده نتیجهگیری نکنید. فرمتبندی در صورتی که هیچ رویداد SORRY یا بدتر رخ نداده باشد موفقیتآمیز بوده است. در مواجهه با پیشرفت ظاهراً منجمد صبور باشید. - -list_formats
- ارائه
فهرستی از
توصیفکنندههای
فرمت
گزارششده
توسط درایو
خروجی برای
رسانه جاری.
این فهرست
شماره شاخص
را پس از "Format
idx"، کد فرمت
MMC، اندازه
اعلامشده
در بلوکها
(مانند "2236704s") و
همان
اندازه را
در مگابایت
اعلام
میکند.
کدهای فرمت MMC متنوع هستند. مهمترین آنها عبارتند از: "00h" فرمت کلی، "01h" فضای ذخیره را برای DVD-RAM افزایش میدهد، "26h" برای DVD+RW، "30h" برای BD-RE با فضای ذخیره، "31h" برای BD-RE بدون فضای ذخیره، "32h" برای BD-R. اندازه فرمت کوچکتر با DVD-RAM، BD-RE یا BD-R به معنای فضای ذخیره بیشتر است. - -list_speeds
- ارائه
فهرستی از
مقادیر
سرعت
گزارششده
توسط
درایوها با
رسانههای
بارگذاریشده.
این فهرست
سرعتهای
خواندن
درایو
ورودی و
درایو
خروجی را
اعلام
میکند.
علاوه بر
این
سرعتهای
نوشتن
درایو
خروجی را
نشان
میدهد.
فهرست سرعتهای نوشتن لزوماً به این معنا نیست که رسانه قابل نوشتن است یا اینکه این سرعتها واقعاً قابل دستیابی هستند. به ویژه فهرستهای گزارششده با درایو خالی یا با رسانههای ROM آشکارا سرعتهایی را برای سایر رسانهها تبلیغ میکنند.
استفاده از مقادیر سرعت خارج از محدوده فهرستشده اجباری نیست. درایو قرار است سرعت ایمنی را انتخاب کند که تا حد امکان به سرعت مورد نظر نزدیک باشد.
در پایان فهرست، "Write speed L" و "Write speed H" بهترین حدسها برای حد پایین و بالای سرعت نوشتن هستند. "Write speed l" و "Write speed h" ممکن است فقط در CD ظاهر شوند و در نهایت فهرست سایر پیشنهادات سرعت را لغو کنند.
تنها در صورتی که درایو اطلاعات سرعت متناقضی را گزارش کند، "Write speed 0" ظاهر میشود که نتیجه انتخاب سرعت توسط دستور -speed 0 را در صورت انحراف از "Write speed H" اعلام میکند.
مقادیر "Read speed L" و "Read speed H" حداقل و حداکثر سرعتهای خواندن را همانطور که توسط درایو گزارش شدهاند اعلام میکنند. آنها توسط -read_speed "min" یا "max" انتخاب میشوند اگر از محدودیتهای داخلی فراتر روند یا کمتر شوند. این محدودیتها عبارتند از: "1x"، "52xCD"، "24xDVD" و "20xBD". - -list_profiles "in"|"out"|"all"
- ارائه فهرستی از انواع رسانههای پشتیبانیشده توسط -indev، -outdev یا هر دو به ترتیب. نوعی که در حال حاضر شناسایی شده است با متن "(current)" مشخص میشود.
- -truncate_overwritable entity id adjust
- در رسانه با
قابلیت
بازنویسی،
توصیفکنندههای
حجم یک نشست
موجود را در
توصیفکنندههای
کلی در LBA 0 به
بعد کپی
کنید. این
کار تمام
نشستهایی
را که
جدیدتر از
نشست
فعالشده
هستند
غیرقابلدسترس
میسازد.
دلیل این
کار خطاهای
خواندن در
نشستهای
جدیدتر و
تمایل به
نوشتن مجدد
یا صرف نظر
کردن از
آنهاست.
این عملیات تنها در صورتی مجاز است که هیچ تغییری در سیستمفایل بارگذاریشده معلق نباشد. اگر -indev در اختیار گرفته شده باشد، قبل از شروع عملیات نوشتن آزاد میشود و تنها در صورت موفقیت مجدداً در اختیار گرفته خواهد شد.
پارامترهای "entity" و "id" همان معنای دستور -load را دارند. آنها نشست ISO موجود را انتخاب میکنند که باید به جوانترین نشست قابل دسترس تبدیل شود. نامهای موجود entity عبارتند از: "session"، "track"، "lba"، "sbsector" و "volid". مقدار "auto" کاربرد چندانی ندارد. پارامتر id یک عدد یا متن جستجو است که برای موجودیت دادهشده مناسب باشد.
پارامتر "adjust" اندازه ادعاشده نشست فعالشده را کنترل میکند. متن "new" به معنای اندازه نشست تازه فعالشده است همانطور که قبل از این دستور بود؛ یعنی فضای نشستهای جدیدتر غیرقابلدسترس هنگام الحاق نشستهای بیشتر مجدداً استفاده خواهد شد.
مقدار "old" به معنای اندازه تا انتهای جوانترین نشست قبلی است؛ یعنی "old" فضای نشستهای جدیدتر غیرقابلدسترس را برای استفاده مجدد آزاد نمیکند.
یک عدد همراه با پیشوند "+" تعداد بایتهایی را که باید به "new" اضافه شوند مشخص میکند. یک عدد بدون "+" تعداد کل بایتها را تعیین میکند. در هر صورت نتیجه نباید کوچکتراز "new" باشد. اعداد ممکن است دارای پسوند واحد باشند: "d"=512، "k"=1024، "s"=2048، "m"=1024k، "g"=1024m.
معمولاً توصیفکنندههای حجم در بلوک ۱۶ به بعد باید خواندنی باشند. تنها با موجودیت "lba" یا "sbsector" و حالت تنظیم "new" امکان آدرسدهی یک نشست وجود دارد اگر بلوک ۱۶ به بعد هیچ توصیفکننده حجم معتبری به دست ندهد.
مثالها:
فعالسازی نشست 4 و مجاز شمردن بازنویسی بلوکهای نشستهای جدیدتر:
-truncate_overwritable session 4 new
فعالسازی نشست 4 و ادعای بلوکهای نشستهای جدیدتر به عنوان بخش بیاستفاده نشست 4:
-truncate_overwritable session 4 old
اجازه دادن به نشست 4 برای ادعای ۵۰۰ مگابایت اضافی به عنوان دادههای بیاستفاده:
-truncate_overwritable session 4 +500m - -close_damaged "as_needed"|"force"
- تلاش برای
بستن ترک و
نشست بعدی
در صورتی که
درایو
رسانه را
آسیبدیده
گزارش کرده
باشد. این
ممکن است
برای
رسانههای
CD-R، CD-RW، DVD-R، DVD-RW، DVD+R،
DVD+R DL یا BD-R اعمال
شود. این
موضوع با
پیامهای
هشدار
هنگام
تصاحب
درایو، و با
یادداشت "but next
track is damaged" همراه
با خط "Media status :"
در دستور -toc
نشان داده
میشود.
تنظیم دستور -close تعیین میکند که آیا رسانه پیوستپذیر باقی میماند یا خیر.
حالت "as_needed" در رسانههایی که آسیبدیده گزارش نشدهاند با متانت از کار امتناع میکند. حالت "force" عملیات بستن را حتی با رسانههایی که آسیبندیده به نظر میرسند امتحان میکند.
قبل از اجرای این دستور هیچ تغییری در تصویر نباید معلق باشد. پس از تلاش برای بستن، هر دو درایو رها میشوند. - تنظیمات برای نوشتن نتیجه:
اطلاعات Rock Ridge به صورت پیشفرض تولید خواهد شد. فهرستهای ACL مطابق با تنظیم دستور -acl نوشته میشوند.
- -joliet "on"|"off"
- اگر با "on" فعال شود، درخت Joliet را علاوه بر درخت ISO 9660 + Rock Ridge تولید میکند.
- -hfsplus "on"|"off"
- اگر با "on"
فعال شود،
یک
سیستمفایل
HFS+ را درون
تصویر ISO 9660
تولید کرده
و آن را با
ورودیهای
نقشه
پارتیشن
اپل (APM) در
ناحیه
سیستم (System Area)،
یعنی ۳۲
کیلوبایت
اول تصویر،
علامتگذاری
میکند.
این ممکن است با دادههای ارسالشده توسط -boot_image system_area= تداخل داشته باشد. ۸ بایت اول ناحیه سیستم توسط مقادیر زیر بازنویسی میشود: { 0x45, 0x52, 0x08 0x00, 0xeb, 0x02, 0xff, 0xff } که میتوانند به عنوان کد ماشین x86 بدون اثرات منفی اجرا شوند. بنابراین اگر یک MBR با این ویژگی ترکیب شود، ۸ بایت اول آن نباید شامل دستورات اساسی باشد.
بلوکهای بعدی ۲ کیلوبایتی در ناحیه سیستم توسط ورودیهای APM اشغال خواهند شد. اولین مورد، بخشی از تصویر ISO را قبل از فراداده سیستمفایل HFS+ پوشش میدهد. دومی محدوده فراداده HFS+ تا انتهای دادههای محتوای فایل را علامتگذاری میکند. اگر دادههای تصویر ISO بیشتری به دنبال آن بیاید، یک ورودی پارتیشن سوم تولید میشود. سایر ویژگیهای xorriso ممکن است نیاز به ورودیهای APM بیشتری ایجاد کنند.
سیستمفایل HFS+ برای نشستهای افزودنی تولیدشده توسط روش چندنشستی رشد دادن مناسب نیست. با این وجود یک تصویر ISO موجود میتواند پایهای برای یک تصویر جدید تولیدشده توسط روش اصلاح (modifying) باشد. اگر -hfsplus در زمان اجرای -indev یا -dev فعال باشد، ویژگیهای AAIP از تصویر ورودی بارگذاری شده و برای اطلاعات مربوط به سازنده HFS، نوع فایل یا موهبت (blessing) بررسی میشوند. در صورت یافت شدن، به عنوان تنظیمات برای تولید تصویر بعدی فعال میگردند. بنابراین توصیه میشود قبل از -indev یا -dev دستور -hfsplus "on" را اجرا کنید.
اطلاعات مربوط به سازنده HFS، نوع و موهبتها توسط xorriso در صورتی که -hfsplus در زمان -commit فعال باشد، ذخیره میشود. این اطلاعات به عنوان کپی در خارج از پارتیشن HFS+، بلکه همراه با اطلاعات Rock Ridge ذخیره میگردند. برنامه xorriso هیچ اطلاعاتی را از فرادادههای HFS+ نمیخواند.
توجه داشته باشید که HFS+ به حروف کوچک و بزرگ حساس نیست (case-insensitive)، اگرچه میتواند نام فایلها را با حروف بزرگ و کوچک ثبت کند. بنابراین نام فایلها از درخت نام iso_rr ممکن است در درخت نام HFS+ تداخل داشته باشند. در این حالت با افزودن نویسههای زیرخط و شمارش اعداد تغییر مییابند. در مورد نامهای بسیار طولانی، ممکن است لازم باشد آنها را به "..._MANGLED" نگاشت کرد.
هشدار:
پیادهسازی HFS+ در libisofs دارای محدودیت ۱۲۵,۸۲۹,۱۲۰ بایت برای اندازه کل درخت پوشه است. این مقدار برای حدود ۳۰۰,۰۰۰ فایل با طول نام عادی کافی است. اگر از این حد تجاوز شود، یک رویداد FAILURE صادر شده و تولید ISO انجام نخواهد شد. - -rockridge "on"|"off"
- حالت "off" تولید اطلاعات Rock Ridge را برای اشیاء فایلی ISO 9660 غیرفعال میکند. قابلیتهای چندنشستی xorriso به شدت به وفاداری نامگذاری Rock Ridge بستگی دارد؛ بنابراین انحراف از تنظیم پیشفرض "on" اکیداً نهی میشود.
- -compliance rule[:rule...]
- تنظیم
انطباق با
مشخصات ISO 9660/ECMA-119
و
افزونههای
معاصر آن.
در برخی
موارد برای
دور زدن
اشکالات
سیستم
خواننده
مورد نظر یا
به دست
آوردن
ویژگیهای
اضافی
غیررسمی،
انحراف
اندک ارزش
دارد.
چندین قانون قابل تنظیم وجود دارد که هر کدام دارای یک کلمه کلیدی هستند. اگر با این دستور ذکر شوند، قانون آنها به فهرست تسهیلات اضافه میشود. این فهرست میتواند با قوانین "strict" یا "clear" پاک شود. میتوان آن را با "default" به تنظیمات شروع بازنشانی کرد. هر یک از قوانین تسهیل زیر را میتوان به صورت جداگانه با افزودن "off_" در صورتی که پس از نویسه '=' پارامتری دریافت نکند، لغو کرد؛ مانند "deep_paths_off".
کلمات کلیدی قوانین عبارتند از:
گزینه "iso_9660_level="number سطح 1 را با نامهای ECMA-119 به شکل 8.3 و -file_size_limit <= 4g - 1، یا سطح 2 با نامهای ECMA-119 تا طول 32 و همان -file_size_limit، یا سطح 3 با نامهای ECMA-119 تا طول 32 و -file_size_limit >= 400g -200k انتخاب میکند. در صورت لزوم -file_size_limit تنظیم میشود. برعکس، دستور -file_size_limit در صورتی که حد را روی ۴ گیگابایت یا بزرگتر تنظیم کند، iso_9660_level=3 را فعال میسازد.
گزینه "allow_dir_id_ext" به نامهای ECMA-119 پوشهها اجازه میدهد مانند سایر انواع فایل دارای پسوند نام باشند. با این حال نقطهها را اجباری نمیکند و شماره نسخه را حذف مینماید. این یک سنت بد از mkisofs است که ECMA-119 را نقض میکند. به ویژه سطح 1 ISO فقط ۸ نویسه را در نام پوشه مجاز میداند و نه 8.3 را.
گزینه "omit_version" نسخهها (";1") را به نام فایلهای ECMA-119 و Joliet اضافه نمیکند.
گزینه "only_iso_version" نسخهها (";1") را به نام فایلهای Joliet اضافه نمیکند.
گزینه "deep_paths" به مسیرهای فایل ECMA-119 عمیقتر از ۸ سطح اجازه میدهد.
گزینه "long_paths" به مسیرهای فایل ECMA-119 طولانیتر از ۲۵۵ نویسه اجازه میدهد.
گزینه "long_names" تا ۳۷ نویسه را با نامهای فایل ECMA-119 مجاز میسازد.
گزینه "no_force_dots" به نام فایلهای ECMA-119 که نقطهای ندارند، نقطه اضافه نمیکند.
گزینه "no_j_force_dots" به نام فایلهای Joliet که نقطهای ندارند، نقطه اضافه نمیکند.
گزینه "lowercase" نویسههای کوچک را در نام فایلهای ECMA-119 مجاز میسازد.
گزینه "7bit_ascii" تقریباً تمام نویسههای ۷ بیتی را در نام فایلهای ECMA-119 مجاز میداند. نویسههای 0x0 و '/' مجاز نیستند. اگر "lowercase" فعال نباشد، حروف کوچک به حروف بزرگ تبدیل میشوند.
گزینه "full_ascii" تمامی نویسههای ۸ بیتی به جز 0x0 و '/' را در نام فایلهای ECMA-119 مجاز میداند.
گزینه "untranslated_names" ممکن است برای برنامههای خواننده ناآگاه که به محدودیت حداکثر ۳۷ نویسه در نام فایلهای ECMA-119 متکی هستند خطرناک باشد. این قانون نامهای فایل ECMA-119 را تا ۹۶ نویسه بدون تبدیل نویسه مجاز میداند. اگر نام فایلی نویسههای بیشتری داشته باشد، تولید تصویر به عمد با شکست مواجه خواهد شد.
گزینه "untranslated_name_len="number قابلیت untranslated_names را با محدودیت کوچکتری برای طول نام فایلها فعال میکند. عدد 0 این ویژگی را غیرفعال میسازد، 1- حداکثر محدودیت طول را انتخاب میکند، اعداد بزرگتر از 0 محدودیت طول مورد نظر را تعیین مینمایند.
گزینه "joliet_long_names" نامهای برگ Joliet را تا ۱۰۳ نویسه به جای ۶۴ نویسه مجاز میداند.
گزینه "joliet_long_paths" مسیرهای Joliet طولانیتر از ۲۴۰ نویسه را مجاز میسازد.
گزینه "joliet_utf16" نامهای Joliet را به جای UCS-2 با UTF-16BE کدگذاری میکند. تفاوت در نویسههایی است که در UCS-2 وجود ندارند و در UTF-16 با ۲ کلمه ۱۶ بیتی کدگذاری میشوند. هر دو کلمه از یک زیرمجموعه رزروشده از UCS-2 سرچشمه میگیرند.
گزینه "relaxed_pvd_atts="mode کنترل میکند که آیا قوانین سختگیرانه برای مجموعههای نویسه مجاز در فیلدهای متنی توصیفکننده حجم اصلی (PVD) در ISO 9660 اعمال شوند یا خیر. پیشفرض حالت "vol" است. فیلدهای Volume Id و Volume Set Id بر اساس مشخصات به "d-characters" محدود شدهاند؛ یعنی مجموعه [0-9A-Z_]. این محدودیت با حالتهای "vol" یا "on" برداشته میشود، اما با "nonvol" برداشته نمیشود. فیلدهای Copyright File، Abstract File و Biblio File به [0-9A-Z_] به اضافه حداکثر یک '.' و حداکثر یک ';' محدود شدهاند که نباید قبل از نقطه بیاید. فیلدهای Publisher Id، Application Id، System Id و Data Preparer Id به "a-characters" محدود شدهاند، یعنی مجموعه: [ !"%&'()*+,./0-9:;<=>?A-Z_-]. این محدودیتها با حالتهای "nonvol" یا "on" برداشته میشوند، اما با "vol" برداشته نمیشوند. حالت "off" قوانین را برای هر دو گروه فیلدهای ذکرشده اعمال میکند. اعمال با "off"، "vol" یا "nonvol" با نگاشت حروف [a-z] به [A-Z] و سایر نویسههای غیرمجاز به '_' انجام میشود. نکته: نویسههای '[' و ']' بخشی از مجموعههای مجاز نیستند بلکه در اینجا مانند عبارات باقاعده به عنوان جداکنندههای مجموعه استفاده شدهاند.
گزینه "always_gmt" برچسبهای زمانی را در قالب GMT با منطقه زمانی 0 ذخیره میکند.
گزینه "rrip_tf_long" استفاده از فرم طولانی برچسبهای زمانی RockRidge را اجباری میکند. این فرم توسط هستههای لینوکس قدیمیتر از 6.16 شناخته نمیشود.
گزینه "rrip_tf_short" پیشفرض است. استفاده از فرم کوتاه برچسبهای زمانی RockRidge را امکانپذیر میسازد که نمیتواند زمانهای پس از پایان سال ۲۱۵۵ را بیان کند اما توسط طیف وسیعی از سیستمعاملها پشتیبانی میشود. فرم کوتاه برای تمام فایلها یا پوشههایی استفاده میشود که دارای atime، ctime و mtime قبل از ۱ ژانویه ۲۱۵۰ ساعت 00:00 UTC باشند.
گزینه "rrip_tf_y1900" برچسبهای زمانی Rock Ridge را به حداقل ۱ ژانویه ۱۹۰۰ ساعت 00:00 UTC محدود میکند. این ممکن است مطلوب باشد زیرا هسته لینوکس حداقل تا نسخه 6.16 زمانهای قبل از سال ۱۹۰۰ را به اشتباه به عنوان ۱ ژانویه ۱۹۷۰ ساعت 00:00:00 UTC نمایش میدهد.
گزینه "rrip_tf_year0" پیشفرض است. نوشتن برچسبهای زمانی RockRidge قبل از سال ۱۹۰۰ میلادی تا سال 0 (= ۱ قبل از میلاد) را فعال میسازد. چنین برچسبهای زمانی در فرم طولانی نوشته خواهند شد.
گزینه "rec_mtime" با ورودیهای پوشه غیر RockRidge، زمان mtime فایل دیسک را ثبت میکند و نه زمان ایجاد تصویر را. این برای درخت ECMA-119 (ISO 9660 ساده)، برای درخت Joliet و برای درخت توصیفکننده حجم بهبودیافته (یا همان ISO 9660:1999) از ویرایش چهارم ECMA-119 اعمال میشود. "rec_mtime" پیشفرض است. در صورت غیرفعال شدن، با شبیهسازی -as mkisofs هنگامی که با یک pathspec برخورد میشود، به طور خودکار مجدداً فعال میگردد.
گزینه "new_rr" از Rock Ridge نسخه 1.12 استفاده میکند (مناسب برای GNU/Linux اما نه برای FreeBSD قدیمیتر یا برای Solaris). این گزینه شامل "aaip_susp_1_10_off" است که ممکن است توسط "aaip_susp_1_10" بعدی تغییر یابد.
پیشفرض "old_rr" است که از Rock Ridge نسخه 1.10 استفاده میکند. این گزینه همچنین شامل "aaip_susp_1_10" است که ممکن است توسط "aaip_susp_1_10_off" بعدی تغییر یابد.
گزینه "aaip_susp_1_10" به AAIP اجازه میدهد تا به عنوان یک افزونه غیررسمی RRIP نوشته شود به جای یک افزونه رسمی تحت SUSP-1.12.
گزینه "no_emul_toc" مقدار ۶۴ کیلوبایت را با اولین نشست روی رسانه با قابلیت بازنویسی ذخیره میکند اما تصویر را از نمایش تاریخچه نشست خود ناتوان میسازد.
گزینه "iso_9660_1999" باعث تولید یک درخت پوشه اضافی میشود که از یک توصیفکننده حجم بهبودیافته (یا همان ISO 9660:1999) بر اساس ویرایش چهارم ECMA-119 آغاز میگردد. این گزینه میتواند نام فایلهای طولانی را برای خوانندگانی که Rock Ridge را درک نمیکنند ثبت کند.
گزینه "old_empty" از روش قدیمی اختصاص نشانیهای بلوک در محدوده [0,31] به فایلهای بدون محتوای دادهای اختصاصی استفاده میکند. روش جدید داشتن یک بلوک اختصاصی است که تمام چنین فایلهایی به آن اشاره خواهند کرد.
گزینه "max_ce_entries="number حداکثر تعداد ورودیهای SUSP CE و بنابراین نواحی ادامهدار را تعیین میکند. هر ناحیه ادامهدار حداکثر میتواند ۲۰۴۸ بایت داده SUSP (Rock Ridge یا AAIP) را نگهداری کند. ناحیه اول میتواند کوچکترا باشد. هنگام تولید سیستمفایل ISO اگر از حداکثر تعداد تجاوز شود، یا xattr و ACL از فایل آسیبدیده حذف میشوند یا خطایی گزارش شده و از تولید تصویر جلوگیری به عمل میآید. لینوکس هنگام مواجهه با سی و دومین ورودی CE یک فایل، آن را بی سر و صدا نادیده میگیرد. (راهحل این است که سیستمفایل را با گزینه "norock" سوار کنید.) بنابراین تنظیم پیشفرض ۳۱ است. حداقل ۱، حداکثر ۱۰۰۰۰۰ است. اگر حدی بالاتر از ۳۱ انتخاب شود و از ۳۱ عبور کند، پیام هشدار گزارش میشود.
گزینه "max_ce_drop="mode رفتار را هنگامی که از حد =max_ce_entries تجاوز میشود تنظیم میکند. حالت "off" باعث ایجاد پیام خطا شده و مانع از تولید تصویر میشود. حالتهای "xattr" و "xattr_acl" یک هشدار گزارش میدهند، تمام xattrهای فضاهای نام غیر از "isofs" را از فایل مربوطه حذف میکنند و سپس دوباره تلاش مینمایند. اگر باز هم از حد فراتر رود، حالت "xattr_acl" تمام ACL را از فایل حذف کرده و دوباره امتحان میکند. اگر باز هم از حد تجاوز کند، پیام خطا گزارش شده و مانع از تولید تصویر میشود.
تنظیمات پیشفرض به صورت زیر است:
"clear:iso_9660_level=3:only_iso_version:deep_paths:long_paths:
no_j_force_dots:relaxed_pvd_atts=vol:always_gmt:rec_mtime:
old_rr:max_ce_entries=31:max_ce_drop=xattr_acl"
نکته: اصطلاح "نام ECMA-119" به معنای نامها و ویژگیهای ساده ISO 9660 است که در صورتی که خواننده Rock Ridge را نادیده بگیرد قابل مشاهده خواهند بود. - -rr_reloc_dir name
- مشخص کردن
نام پوشه
جابجایی که
زیردرختهای
پوشه عمیق
در صورتی که
-compliance روی "deep_paths_off"
یا "long_paths_off"
تنظیم شده
باشد، در آن
قرار
میگیرند.
یک پوشه
عمیق
پوشهای
است که
زنجیرهای
از ۸ پوشه
والد (شامل
ریشه) در
بالای خود
داشته
باشد، یا
پوشهای که
حاوی فایلی
با مسیر ECMA-119
با بیش از
۲۵۵ نویسه
باشد.
کل درخت پوشه هنگامی که به عنوان درخت Rock Ridge تفسیر شود در عمق اصلی خود ظاهر خواهد شد. اگر تنها اطلاعات ECMA-119 در نظر گرفته شود، به صورت بازآراییشده ظاهر خواهد شد.
پوشه جابجایی پیشفرض، پوشه ریشه است. با ارائه یک نام غیرخالی با -rr_reloc_dir، یک پوشه در پوشه ریشه ممکن است این نقش را به دست آورد. اگر آن پوشه از قبل در زمان -commit وجود نداشته باشد، ایجاد شده و برای Rock Ridge به عنوان یک اثر ساختگی جابجایی علامتگذاری میشود. حداقل در GNU/Linux در تصاویر Rock Ridge سوارشده نمایش داده نخواهد شد.
نام نباید شامل نویسه '/' باشد و نباید طولانیتر از ۲۵۵ بایت باشد. - -volid_for fs_types text
- مشخص کردن
شناسه حجم (Volume
ID) برای یک یا
چند نوع
سیستمفایل.
یک تصویر ISO 9660 ساختهشده توسط xorriso ممکن است چهار سیستمفایل مختلف را برای سوار کردن ارائه دهد: ISO 9660 موسوم به ECMA-119 (معمولاً با Rock Ridge)، Joliet، ISO 9660:1999 و HFS+. پارامتر fs_types انواعی را انتخاب میکند که شناسه حجم برای آنها باید توسط دستور -volid_for تنظیم شود. این یک فهرست جداشده با کاما از کلمات کلیدی "ecma119"، "joliet"، "iso_9660_1999" و "hfsplus" است. کلمه کلیدی "all" تمام چهار نوع را انتخاب میکند؛ مانند:
-volid_for joliet "Joliet Volume Id"
-volid_for ecma119,iso_9660_1999 "LONGER_ISO_VOLUME_ID"
برنامه xorriso هر متن شناسه حجم تا ۳۲ نویسه را میپذیرد، اما طبق مشخصاتی که به ندرت رعایت میشوند، قوانین سختگیرانهتری اعمال میگردد:
استاندارد ECMA-119 نویسههای ASCII از [A-Z0-9_] را طلب میکند؛ مانند: "IMAGE_23" برنامه xorriso در صورتی که متن ارائهشده مطابقت نداشته باشد هشدار میدهد. اگر -compliance روی relaxed_pvd_atts="off" یا "nonvol" تنظیم شده باشد، متن به نویسههای منطبق با مشخصات نگاشت میشود.
استاندارد Joliet تعداد ۱۶ نویسه UCS-2 را مجاز میداند. متون طولانیتر باعث هشدار شده و بریده میشوند.
استاندارد ISO 9660:1999 نویسههای اختیاری از مجموعه نویسه خروجی را مجاز میداند.
سیستمفایل HFS+ نویسههای UTF-16BE را که باید برای نام فایل مناسب باشند مجاز میداند.
توجه داشته باشید که شناسه حجم ممکن است هنگامی که رسانه در یک سیستم کامپیوتری درج میشود، به طور خودکار به عنوان نام نقطه اتصال استفاده گردد.
اگر یک تصویر ISO در حالی بارگذاری شود که شناسه حجم روی مقدار پیشفرض "ISOIMAGE" یا روی "" تنظیم شده باشد، شناسههای حجم تصویر بارگذاریشده به شناسههای حجم مؤثر برای انواع سیستمفایل مربوطه برای اجرای نوشتن بعدی تبدیل خواهند شد. اما به محض اینکه دستورات -volid_for یا -volid پس از آن اجرا شوند، این شناسههای معلق توسط تنظیمات جدید بازنویسی میشوند. این نکته را هنگام تنظیم شناسه حجم "ISOIMAGE" قبل از اجرای -dev، -indev یا -rollback در نظر بگیرید. اگر بر شناسه حجم "ISOIMAGE" اصرار دارید، آن را پس از آن دستورات دوباره تنظیم کنید. - -volid text
- مشخص کردن شناسه حجم برای تمامی انواع سیستمفایل؛ یعنی اجرای -volid_for "all" با متن پارامتر دادهشده.
- -volset_id text
- تنظیم رشته شناسه مجموعه حجم (volume set ID) که باید با -commit بعدی نوشته شود. تا ۱۲۸ نویسه d مجاز است (قاعده -compliance "relaxed_pvd_atts=" را ببینید). این تنظیم با بارگذاری تصویر بازنویسی میشود.
- -publisher text
- تنظیم رشته شناسه ناشر که باید با -commit بعدی نوشته شود. این ممکن است شخص یا سازمانی را که مشخص کرده چه چیزی باید ضبط شود، شناسایی کند. تا ۱۲۸ نویسه a مجاز است. این تنظیم با بارگذاری تصویر بازنویسی میشود.
- -application_id text
- تنظیم رشته
شناسه
برنامه که
باید با -commit
بعدی نوشته
شود. این
ممکن است
مشخصات
نحوه ضبط
دادهها را
مشخص کند.
تا ۱۲۸
نویسه a
مجاز است.
این تنظیم
با
بارگذاری
تصویر
بازنویسی
میشود.
متن ویژه "@xorriso@" به رشته شناسه xorriso تبدیل میشود که معمولاً به عنوان -preparer_id نوشته میشود. این یک سنت نادرست است که شناسه برنامه به عنوان -application_id نوشته شود. - -system_id text
- تنظیم رشته شناسه سیستم که باید با -commit بعدی نوشته شود. این ممکن است سیستمی را شناسایی کند که میتواند محتوای ناحیه سیستم را در بلوکهای 0 تا 15 تصویر تشخیص دهد و روی آن عمل کند. تا ۳۲ نویسه a مجاز است. این تنظیم با بارگذاری تصویر بازنویسی میشود.
- -volume_date type timestring
- تنظیم یکی
از چهار
برچسب
زمانی کلی
برای نوشتن
تصویر بعدی.
انواع
موجود
عبارتند از:
"c" زمانی که حجم ایجاد شد.
"m" زمانی که حجم آخرین بار اصلاح شد.
"x" زمانی که اطلاعات موجود در حجم منقضی میشود.
"f" زمانی که حجم از آن زمان به بعد عملاً معتبر است.
"all_file_dates" مقادیر mtime، atime و ctime تمام فایلها و پوشهها را روی زمان دادهشده تنظیم میکند. اگر رشته زمانی "set_to_mtime" باشد، atime و ctime هر فایل و پوشه روی مقدار یافتشده در mtime آنها تنظیم میشود. این اقدامات تا زمان شروع تولید واقعی ISO به تعویق میافتند. تا آن زمان میتوان آنها را با "all_file_dates" همراه با رشته زمانی خالی یا رشته زمانی "default" لغو کرد. برچسبهای زمانی فایل کاتالوگ بوت El Torito هنگام تولید ISO تازهسازی میشوند. آنها میتوانند تحت تأثیر "uuid" قرار گیرند.
گزینه "uuid" یک رشته زمانی تنظیم میکند که زمانهای "c" و "m" را به صورت لفظی بازنویسی کرده و زمان کاتالوگ بوت El Torito را تنظیم مینماید. باید شامل ۱۶ رقم دهدهی باشد که YYYYMMDDhhmmsscc را تشکیل میدهند، با YYYY بین 0000 تا 9999. منطقه زمانی GMT است. قرار است با این خط GRUB مطابقت داشته باشد:
search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
رشتههای زمانی برای سایر انواع ممکن است همانند دستور -alter_date ارائه شوند. برخی از آنها مستعد محاسبات منطقه زمانی هستند. رشتههای زمانی "default" یا "overridden" باعث تنظیمات پیشفرض میشوند: "c" و "m" زمان جاری ایجاد تصویر را نشان میدهند. "x" و "f" به عنوان ناچیز علامتگذاری میشوند. گزینه "uuid" غیرفعال خواهد شد.
در زمان -commit، برخی برچسبهای زمانی روی حداکثر مقدار زمان مؤثر ایجاد و تغییر حجم نوشتهشده تنظیم میشوند: کاتالوگ بوت El Torito، ابربلوک HFS+، و زمان تغییر فایل ECMA-119 در صورت -compliance "no_rec_mtime". شناسه isohybrid MBR از "uuid" در صورت وجود محاسبه میشود، در غیر این صورت از تاریخ مؤثر تغییر حجم. - -copyright_file text
- تنظیم نام فایل حق نشر که باید با -commit بعدی نوشته شود. این باید مسیر ISO 9660 فایلی در تصویر باشد که شامل بیانیه حق نشر است. تا ۳۷ نویسه d به اضافه '.' و ';' مجاز است. این تنظیم با بارگذاری تصویر بازنویسی میشود.
- -abstract_file text
- تنظیم نام فایل چکیده که باید با -commit بعدی نوشته شود. این باید مسیر ISO 9660 فایلی در تصویر باشد که شامل بیانیهای چکیده درباره محتوای تصویر است. تا ۳۷ نویسه d به اضافه '.' و ';' مجاز است. این تنظیم با بارگذاری تصویر بازنویسی میشود.
- -biblio_file text
- تنظیم نام فایل کتابشناسی که باید با -commit بعدی نوشته شود. این باید مسیر ISO 9660 فایلی در تصویر باشد که حاوی رکوردهای کتابشناختی است. تا ۳۷ نویسه d به اضافه '.' و ';' مجاز است. این تنظیم با بارگذاری تصویر بازنویسی میشود.
- -preparer_id text
- تنظیم رشته
شناسه
تهیهکننده
که باید با -commit
بعدی نوشته
شود. این
ممکن است
شخص یا
موجودیت
دیگری را که
آمادهسازی
دادههای
مورد نظر
برای ثبت را
کنترل
میکند،
شناسایی
نماید.
معمولاً
این باید
شناسه xorriso
باشد و نه
شخص یا
برنامهای
که xorriso را
اجرا
میکند.
لطفاً از
تغییر آن
خودداری
کنید. تا
۱۲۸ نویسه a
مجاز است.
متن ویژه "@xorriso@" به رشته شناسه xorriso تبدیل میشود که در شروع برنامه پیشفرض است. برخلاف سایر رشتههای شناسه، این تنظیم تحت تأثیر بارگذاری تصویر قرار نمیگیرد. - -application_use character|0xXY|disk_path
- مشخص کردن
محتوای
فیلد Application Use که
حداکثر
میتواند
۵۱۲ بایت
داشته باشد.
اگر پارامتر این دستور خالی باشد، فیلد با ۵۱۲ بایت صفر پر میشود. اگر یک نویسه واحد باشد، ۵۱۲ بار تکرار میشود. اگر با "0x" شروع شود و با دو رقم هگزادسیمال دنبال گردد، ارقام به عنوان مقدار بایتی خوانده شده و ۵۱۲ بار تکرار میشوند. هر متن پارامتر دیگر به عنوان disk_path برای باز کردن یک فایل داده و خواندن حداکثر ۵۱۲ بایت از آن استفاده میشود. اگر فایل کوچکتراز ۵۱۲ بایت باشد، بایتهای باقیمانده روی صفر دودویی تنظیم میشوند. این تنظیم تحت تأثیر بارگذاری تصویر قرار نمیگیرد. - -out_charset character_set_name
- تنظیم مجموعه نویسهای که نام فایلها هنگام نوشتن تصویر باید به آن تبدیل شوند. برای توضیحات بیشتر به بند «مجموعههای نویسه (Character sets)» مراجعه کنید. هنگام بارگذاری تصویر نوشتهشده پس از -commit، تنظیمات -out_charset در -in_charset کپی خواهد شد.
- -uid uid
- شناسه کاربر که برای تمام فایلها هنگام نوشتن درخت ISO جدید روی رسانه استفاده میشود.
- -gid gid
- شناسه گروه که برای تمام فایلها هنگام نوشتن درخت ISO جدید روی رسانه استفاده میشود.
- -zisofs parameter[:parameters]
- تنظیم
پارامترهای
سراسری
برای
فشردهسازی
zisofs. این قالب
داده توسط
برخی
هستههای
لینوکس
شناخته شده
و به صورت
شفاف از
حالت فشرده
خارج
میشود. این
ویژگی باید
از طریق
دستور -set_filter با
فیلتر
داخلی "--zisofs"
اعمال گردد.
نکته: این دستور تنها زمانی مجاز است که هیچ فیلتر --zisofs برای هیچ فایلی اعمال نشده باشد.
پارامترها عبارتند از:
گزینه "[level=[0-9" فشردهسازی zlib: مقدار 0=هیچ، 1=سریع، ...، 9=کند.
گزینه "block_size="32k|64k|128k اندازه بلوکهای فشردهسازی نسخه 1 را تنظیم میکند.
گزینه "by_magic=on" یک آزمایش پرهزینه را در زمان تولید تصویر فعال میکند که فایلهای دیسک را بررسی مینماید که آیا قبلاً با zisofs فشرده شدهاند یا خیر (مثلاً توسط برنامه mkzftree). گزینه "by_magic=v2" پردازش فایلهای فشردهشده با zisofs2 را علاوه بر نسخه 1 فعال میکند. گزینه "by_magic=off" هر دو را غیرفعال میسازد.
گزینه "version_2="off|as_needed|on فشردهسازی توسط نسخه آزمایشی zisofs2 را کنترل میکند که میتواند فایلهای با اندازه ۴ گیگابایت یا بزرگتر را کدگذاری کند. هسته لینوکس (تا نسخه 5.9) هنوز این فرمت را نمیشناسد و پیام خطایی صادر خواهد کرد؛ مانند:
isofs: Unknown ZF compression algorithm: PZ فایلها در شکل فشردهشده خود با سرآیند zisofs2، فهرست اشارهگرهای بلوک و دادههای فشرده ظاهر خواهند شد. فرمت zisofs2 توسط xorriso در فایلهای تصاویر بارگذاریشده شناسایی میشود و به فیلترهای --zisofs-decode مجهز میگردد، مگر اینکه محدودیتهای تعداد اشارهگرهای بلوک مانع از این کار شود. حالت "off" فشردهسازی را به فایلهای کوچکتراز ۴ گیگابایت محدود میکند. حالت "as_needed" از zisofs2 برای فایلهای بزرگتر استفاده میکند. حالت "on" از zisofs2 برای تمامی فایلهای فشرده zisofs استفاده مینماید.
گزینه "susp_z2="off|on تولید ورودیهای SUSP با عنوان "Z2" به جای "ZF" را با فایلهای فشرده zisofs2 کنترل میکند. هستههای لینوکس ناآگاه قرار است ورودیهای "Z2" را بی سر و صدا نادیده بگیرند.
گزینه "block_size_v2="32k|64k|128k|256k|512k|1m اندازه بلوکهای فشردهسازی را برای zisofs2 تنظیم میکند.
گزینه "bpt_target="-1|>0 تعداد اشارهگرهای بلوک را برای هر فایل تنظیم میکند که به اندازه کافی کم در نظر گرفته میشود تا کاهش اندازه بلوک را توجیه کند. اگر این عدد بزرگتر از 0 باشد، اندازههای بلوک کوچکتراز تنظیمات =block_size یا =block_size_v2 آزمایش میشوند که آیا بیش از تعداد دادهشده اشارهگر بلوک تولید نمیکنند یا خیر. اگر چنین باشد، کوچکترین اندازه بلوک مناسب اعمال میشود. مقدار bpt_target=-1 این تنظیم خودکار اندازه بلوک را غیرفعال میکند.
گزینه "max_bpt="1k...128g حد حافظه اشارهگر بلوک تخصیصیافته کلی را تعیین میکند. اشارهگرهای بلوک حافظه مجازی را اشغال میکنند در حالی که یک فایل از حالت فشرده خارج میشود و در حالی که فایلی که قرار است فشرده شود، منتظر ایجاد سیستمفایل ISO است. یک اشارهگر ۸ بایت حافظه اشغال میکند و بایتهای غیرفشرده block_size یا block_size_v2 را مدیریت مینماید. در صورت سرریز حد max_bpt هنگام افزودن فیلترهای فشردهسازی، برنامه سعی میکند با کنار گذاشتن تمام اشارهگرهای بلوک بافرشده فیلترهای --zisofs قبلاً اضافهشده ادامه دهد. اشارهگرهای بلوک دور ریختهشده باعث اجرای خواندن و فشردهسازی اضافی فایل ورودی در حین تولید سیستمفایل ISO میشوند.
گزینه "max_bpt_f="1k...128g محدودیت اندازه حافظه فهرست اشارهگر بلوک یک فایل منفرد را تنظیم میکند. مقدار max_bpt_f هرگز بزرگتر از max_bpt نیست.
گزینه "bpt_free_ratio="-1|0.0...1.0 آستانهای را برای جابجایی به دور ریختن اشارهگر بلوک در حین فشردهسازی تنظیم میکند. اگر کمتر از کسر دادهشده از حافظه =max_bpt_f آزاد باشد، اشارهگرهای بلوک فیلترهای فشردهسازی بلافاصله پس از اضافه شدن دور ریخته میشوند. مقدار 1- این ویژگی را غیرفعال میکند.
مقدار "default" برابر است با: "level=6:block_size=32k:by_magic=off:version_2=off:block_size_v2=128k:susp_z2=off:max_bpt=256m:max_bpt_f=256m:bpt_free_ratio=-1". - -speed code|number[k|m|c|d|b]
- تنظیم سرعت
رایت.
پیشفرض "max"
(یا "0") =
حداکثر
سرعت
اعلامشده
توسط درایو
است. کدهای
سرعت ویژه
دیگر
عبارتند از:
"min" (یا "-1") حداقل سرعت اعلامشده توسط درایو را انتخاب میکند.
"none" از ارسال دستور تنظیم سرعت به درایو پیش از شروع رایت خودداری میکند.
سرعت میتواند در اعداد وابسته به رسانه یا به عنوان پهنای باند مورد نظر در ثانیه در قالب kB منطبق با MMC (= 1000) یا MB (= 1000 kB) ارائه شود. ضریب سرعت x رسانه میتواند به طور صریح با "c" برای CD، با "d" برای DVD و با "b" برای BD تنظیم شود؛ حرف "x" اختیاری است؛ مانند:
706k = 706kB/s = 4c = 4xCD
5540k = 5540kB/s = 4d = 4xDVD
8992k = 8992kB/s ~= 2b = 2xBD اگر اشارهای به واحد سرعت متصل نشده باشد، رسانه موجود در -outdev تصمیم خواهد گرفت. واحد پیشفرض CD = 176.4k است. درایوهای MMC معمولاً ایده خود را از سرعت فعال میکنند و مقدار سرعت ارائهشده توسط برنامه رایت را تنها به عنوان سقف برای تصمیمگیری خود در نظر میگیرند. - -stream_recording "on"|"off"|"full"|"data"|number
- تنظیم "on"
تلاش
میکند
مدیریت
نقصها را
در DVD-RAM، BD-RE یا BD-R
دور بزند.
مدیریت نقص
رسانههای
نیمهآسیبدیده
را قابل
استفاده
نگه
میدارد
اما سرعت
نوشتن را به
نصف سرعت
اسمی کاهش
میدهد حتی
اگر رسانه
در شرایط
عالی باشد.
در صورت
بینقص
بودن
رسانه،
میتوان از
-stream_recording "on" برای
به دست
آوردن سرعت
کامل
استفاده
کرد.
حالت "full" سرعت کامل را با تمام عملیات نوشتن امتحان میکند، در حالی که "on" این کار را تنها بالاتر از نشانی بایتی 32s انجام میدهد. میتوان عددی حداقل 16s را برای تنظیم حد نشانی خود تعیین کرد.
حالت "data" باعث میشود که سرعت کامل از زمان نوشته شدن ابربلوک و ورودیهای پوشه و آغاز نوشتن بلوکهای محتوای فایل شروع شود. - -dvd_obs "default"|"32k"|"64k"|"obs_pad"|"bdr_obs_exempt"
- مختص GNU/Linux:
تنظیم
تعداد
بایتهایی
که باید با
هر عملیات
نوشتن به
رسانههای
DVD یا BD منتقل
شوند. مقدار
۶۴
کیلوبایت
ممکن است
پهنای باند
را در
سیستمهای
گذرگاهی که
مشکلات
تأخیر
دارند
بهبود بخشد.
پیشفرض به
نوع رسانه،
دستور -stream_recording و
گزینههای
زمان
کامپایل
بستگی دارد.
در تمامی سیستمها: گزینه "obs_pad" دادههای آخرین عملیات نوشتن یک نشست DVD-R[W] DAO یا نشست BD-R را تا اندازه کامل یک قطعه خروجی تراز میکند. این پرکردن باید به طور خودکار برای سایر انواع رسانههای DVD و BD اعمال شود. اعمال خودکار آن برای BD-R به "bdr_obs_exempt" بستگی دارد. این گزینه میتواند با "no_obs_pad" غیرفعال شود. گزینه "bdr_obs_exempt" رسانههای BD-R را از پرکردن پایان تراکنش غیرمشروط خودکار معاف میکند. این گزینه میتواند با "no_obs_exempt" غیرفعال شود. این ویژگی از نسخه 1.5.6 معرفی شده است. - -modesty_on_drive parameter[:parameters]
- کنترل
اینکه آیا
باید از پر
شدن کامل
بافر درایو
جلوگیری
شود یا خیر.
پارامتر "on"
(یا "1") مانع
از تلاش
برنامه
برای نوشتن
روی درایو
رایت
میشود در
حالی که
بافر آن در
خطر پر شدن
فراتر از یک
حد معین
است. اگر از
این حد
فراتر رود،
برنامه تا
زمانی که پر
شدن بافر به
یک درصد کم
دادهشده
برسد منتظر
میماند.
این امر میتواند بار سیستمعامل و کنترلکننده درایو را کاهش دهد و بنابراین به دستیابی به پهنای باند ورودی بهتر در صورتی که دیسک و رایتر روی کنترلکنندههای مستقل نباشند کمک کند. همچنین ممکن است به مشکلات پهنای باند رایتهای همزمان روی رایترهای مختلف با هستههای لینوکس مانند 3.16 کمک نماید. از سوی دیگر خطر تخلیه بافر (buffer underflow) و در نتیجه کاهش سرعت نوشتن را افزایش میدهد. پارامترهای "off" یا "0" این ویژگی را غیرفعال میکنند. آستانه شروع انتظار با پارامتر "max_percent=" داده میشود. پارامتر "min_percent=" آستانه از سرگیری انتقال را تعریف میکند. درصدهای مجاز در محدوده ۲۵ تا ۱۰۰ هستند. اعداد در این محدوده بدون نام پیشوند به عنوان "on:min_percent=" تفسیر میشوند؛ مانند: -modesty_on_drive 75 پارامتر "timeout_sec=" تعیین میکند که پس از چه مدت انتظار ناموفق، این ویژگی به دلیل عدم کارایی باید غیرفعال شود. پارامتر "min_usec=" دوره خواب اولیه را به میکروثانیه تعریف میکند. پارامتر "max_usec=" حداکثر زمان خواب را تعیین مینماید. پیشفرض:
-modesty_on_drive off:min_percent=90:max_percent=95:timeout_sec=120:min_usec=5000:max_usec=25000 - -use_immed_bit "on"|"off"|"default"
- کنترل اینکه آیا چندین دستور طولانی SCSI باید با بیت Immed اجرا شوند یا خیر، که باعث میشود دستورات زودتر به پایان برسند در حالی که عملیات درایو همچنان ادامه دارد. برنامه xorriso سپس نشانگر پیشرفت را استعلام میکند تا زمانی که درایو گزارش دهد که دوباره آماده است. اگر این ویژگی خاموش باشد، پاکسازی و فرمتبندی هیچ نشانگر پیشرفتی را نمایش نخواهند داد.
- -stdio_sync "on"|"off"|"end"|number
- تنظیم تعداد بایتهایی که پس از آنها باید خروجی به درایوهای ساختگی :stdio تحمیل شود. این کار از مسدود شدن حافظه با حجم زیادی از دادههای معلق برای دستگاههای کند جلوگیری میکند. مقدار پیشفرض "on" همان "16m" است. خروجی اجباری میتواند با "off" غیرفعال شود یا با "end" به تعویق بیفتد تا تمام دادهها تولید شوند. اگر عددی انتخاب شود، باید حداقل 64k باشد.
- -dummy "on"|"off"
- اگر "on" باشد، رایت را شبیهسازی کنید یا اگر شبیهسازی امکانپذیر نباشد با یک رویداد FAILURE رد نمایید؛ نه پاکسازی کنید و نه فرمت.
- -fs number["k"|"m"]
- تنظیم اندازه بافر fifo که جریان داده را از تولید تصویر ISO تا رایت رسانه هموار میسازد. پیشفرض ۴ مگابایت، حداقل ۶۴ کیلوبایت و حداکثر ۱ گیگابایت است. عدد ممکن است با حرف "k" یا "m" دنبال شود.
- -close "on"|"off"|"as_needed"
- اگر روی "on" تنظیم شود، رسانه نوشتهشده را به عنوان غیرقابلالحاق علامتگذاری کنید. این تأثیری روی انواع رسانههای با قابلیت بازنویسی نخواهد داشت. تنظیم "on" برعکس گزینه -multi در cdrecord است و یکی از جنبههای گزینه -dvd-compat در growisofs به شمار میرود. اگر روی "off" تنظیم شود، رسانه را برای یک نشست الحاقی قابل نوشتن نگه دارید. اگر روی "as_needed" تنظیم شود، تنها در صورتی از "on" استفاده کنید که پیشبینی شود "off" با رسانه دادهشده و وضعیت آن با شکست مواجه میشود.
- -write_type "auto"|"tao"|"sao/dao"
- تنظیم نوع نوشتن برای اجرای رایت بعدی. مقدار "auto" حالت SAO را با رسانههای CD خام، DAO را با DVD-R[W] خام اگر -close روی "on" باشد، و در غیر این صورت CD TAO یا نوع نوشتن معادل رسانه خاص DVD/BD را انتخاب خواهد کرد. انتخاب صریح TAO یا SAO/DAO ممکن است در صورتی که نوع نوشتن مورد نظر با وضعیت رسانه دادهشده امکانپذیر نباشد، باعث شکست رایت شود.
- -padding number["k"|"m"]|"included"|"appended"
- پیوست کردن تعداد بایتهای اضافی دادهشده به جریان تصویر. این یک راهحل سنتی برای یک اشکال سنتی در درایورهای خواندن دستگاههای بلوکی است. تنها برای ضبطهای CD در حالت TAO مورد نیاز است. از آنجا که به سختی میتوان پیشبینی کرد که یک تصویر روی چه رسانهای قرار میگیرد، xorriso مقدار سنتی 300k پرکردن را به صورت پیشفرض به تمام تصاویر اضافه میکند. برای تصاویری که هرگز به CD منتقل نمیشوند، استفاده از -padding 0 ایمن است. معمولاً پرکردن به عنوان بخشی از تصویر ISO نوشته نمیشود بلکه پس از پایان تصویر پیوست میگردد (حالت "appended"). در دستور شبیهسازی -as "mkisofs" و دستور -jigdo پرکردن به عنوان بخشی از تصویر نوشته میشود (حالت "included").
- -perform_opc "on"|"off"|"as_growisofs"
- کنترل اینکه آیا قبل از شروع نوشتن به صراحت به درایو دستور داده شود که کالیبراسیون بهینه توان (OPC) را انجام دهد یا خیر. بسیاری از درایوها حتی بدون چنین دستوری کالیبراسیون توان خود را انجام میدهند. حالت "off" انجام OPC را به صلاحدید درایو واگذار میکند (پیشفرض). حالت "on" به درایو دستور میدهد که روی هر رسانهای OPC انجام دهد. حالت "as_growisofs" به درایو دستور میدهد که تنها با DVD-R و DVD-RW بدون فرمت و تنها در صورتی که درایو هیچ ورودی جدول OPC ارائه ندهد، OPC را انجام دهد. این کاری است که growisofs به صورت پیشفرض انجام میدهد.
- تصاویر ISO قابل راهاندازی (Bootable ISO images):
برخلاف
مشخصات
منتشرشده،
بسیاری از
BIOSها رکورد El Torito
را از اولین
نشست روی
رسانه
بارگذاری
میکنند و
نه از آخرین
نشست که به
صورت
پیشفرض
سوار
میشود. این
امر در
رسانههای
قابل
بازنویسی
مشکلی
ایجاد
نمیکند،
زیرا برای
خوانندگان
ناآگاه به
عنوان یک
نشست منفرد
به نظر
میرسند.
اما در
رسانههای
چندنشستی
CD-R[W]، DVD-R[W] و DVD+R، این
به این
معناست که
کل سیستم
قابل
راهاندازی
باید از قبل
در اولین
نشست قرار
داشته باشد
و آخرین
نشست
همچنان
باید تمام
فایلهایی
را که سیستم
راهاندازیشده
پس از سوار
کردن تصویر
ISO انتظار
دارد، در بر
داشته باشد.
اگر مشخص
باشد که
تصویر
راهانداز
از ISOLINUX یا GRUB روی
رسانه وجود
دارد،
توصیه
میشود
هنگام
نوشتن نشست
بعدی آن را
وصله (patch) کنید.
اما نباید
به توانایی
تأثیرگذاری
بر قابلیت
راهاندازی
نشستهای
موجود متکی
بود، مگر
اینکه
بتوان
رسانههای
با قابلیت
بازنویسی
را فرض کرد.
معمولاً
تصاویر
راهانداز
فایلهای
دادهای
درون
سیستمفایل
ISO هستند. با
مسیر ویژه
"--interval:appended_partition_NNN:all::"
میتوان به
یک پارتیشن
پیوستشده
اشاره کرد.
عدد NNN شماره
پارتیشن را
همانطور
که با دستور
متناظر -append_partition
استفاده
شده است،
ارائه
میدهد؛
مانند:
-append_partition 2 0xef /tmp/efi.img
-boot_image any efi_path=--interval:appended_partition_2:all::
سازوکارهای
راهاندازی
وجود دارند
که از رکورد
El Torito استفاده
نمیکنند
بلکه از
بایتهای
اول تصویر
شروع
میشوند: PC-BIOS MBR
یا EFI GPT برای
دستگاههای
شبیه به
هارد دیسک،
ورودیهای
پارتیشن APM
برای مکها
که انتظار
تصاویر بوت
HFS+ را دارند،
سرآیند حجم
MIPS برای
رایانههای
قدیمی SGI،
بلوک بوت DEC
برای MIPS DECstation
قدیمی،
برچسب دیسک
SUN برای
ماشینهای
SPARC، بخش بوت HP-PA
برای
ماشینهای HP
PA-RISC، بخش بوت DEC Alpha
SRM برای
ماشینهای
قدیمی DEC Alpha.
چندین
دستور زیر
مسیرهای
دیسک را به
عنوان
ورودی
انتظار
دارند اما
رشتههای
توصیفی را
نیز برای
خواننده
بازه libisofs
میپذیرند
که قادر است
دادهها را
از
فایلهای
دیسک یا -indev
برش دهد و
بخشهایی
از محتوا را
صفر کند:
دستور -append_partition،
مشخصات بوت
system_area=، grub2_mbr=، prep_boot_part=،
efi_boot_part=.
رشته
توصیفی
شامل
مؤلفههای
زیر است که
با دونقطه ':'
جدا
شدهاند:
"--interval:"Flags":"Interval":"Zeroizers":"Source
مؤلفه "--interval"
بیان
میکند که
این یک مسیر
ساده دیسک
نیست بلکه
یک رشته
توصیفی
خواننده
بازه است.
مؤلفه Flags
تفسیرهای
بعدی را
تغییر
میدهد:
گزینه "local_fs"
تقاضای
خواندن از
یک فایل
مشخصشده
توسط مسیر
در Source را دارد.
گزینه "imported_iso"
تقاضای
خواندن از -indev
را دارد. این
تنها در
صورتی کار
میکند که -outdev
با -indev یکسان
نباشد.
مؤلفه Source
نادیده
گرفته
میشود.
گزینه "appended_partition_NNN"
با یک عدد
دهدهی NNN
تنها برای
مشخصات بوت
-boot_image که
مسیرهای
تصویر بوت El Torito
را اعلام
میکنند
کار میکند:
bin_path=، efi_path=. عدد،
شماره
پارتیشن را
همانطور
که با دستور
مربوطه -append_partition
استفاده
شده است
میدهد.
مؤلفه Interval
شامل دو عدد
نشانی بایت
است که با
نویسه "-" از
هم جدا
شدهاند؛
به عنوان
مثال "0-429" به
معنای
خواندن
بایتهای 0
تا 429 است.
مؤلفه Zeroizers
شامل صفر یا
چند رشته
جداشده با
کاما است.
آنها
تعریف
میکنند که
کدام بخش از
دادههای
خواندهشده
باید صفر
شوند. شماره
بایت 0 به
معنای بایت
خواندهشده
از نشانی
شروع Interval است.
هر رشته
ممکن است
یکی از
موارد زیر
باشد:
گزینه "zero_mbrpt"
تقاضا دارد
که در صورت
وجود امضای
MBR یعنی 0x55 0xaa در
بایتهای 510
و 511، جدول
پارتیشن MBR
صفر شود.
گزینه "zero_gpt"
تقاضا دارد
که سرآیند GPT
در
بایتهای 512
تا 1023 بررسی
شده، و آن
سرآیند و
بلوکهای
جدول
پارتیشن آن
صفر شوند.
گزینه "zero_apm"
تقاضا دارد
که بلوک APM 0
بررسی شده و
بلوکهای
جدول
پارتیشن آن
صفر شوند.
مقدار Start_byte"-"End_byte
تقاضا دارد
که
بایتهای
خواندهشده
از شماره Start_byte
شروع شده و
پس از End_byte
خاتمه
یابند، صفر
شوند.
مؤلفه Source
مسیر فایل
با فلگ "local_fs"
است و با فلگ
"imported_iso" نادیده
گرفته
میشود.
شمارههای
بایت ممکن
است با یک
پسوند از {k,m,g,t,s,d}
مقیاسبندی
شوند که به
معنای ضرب
در {1024, 1024k, 1024m, 1024g, 2048, 512}
است. عدد
پایان
مقدار
مقیاسبندیشده،
آخرین بایت
محدوده
مقیاسبندیشده
را نشان
میدهد؛
مانند "0d-0d" که
برابر "0-511"
است.
مثالها:
"local_fs:0-32767:zero_mbrpt,zero_gpt,440-443:/tmp/template.iso"
"imported_iso:45056d-47103d::"
- -boot_image "any"|"isolinux"|"grub"
-
"discard"|"keep"|"patch"|"replay"|"show_status"|
bootspec|"next"
تعریف تجهیزات سیستمفایل در حال شکلگیری با نقاط ورودی بوت. در سیستمهایی که از طریق BIOS یا EFI بوت میشوند، این مجموعهای از تصاویر بوت El Torito، احتمالاً کد بوت MBR، و احتمالاً جداول پارتیشن از نوع MBR، GPT یا APM است. چنین مجموعههای فایلی توسط سیستمهای بوتلودر مانند ISOLINUX یا GRUB تولید میشوند.
هر دستور -boot_image دو پارامتر دارد: نوع و تنظیم. بیش از یک دستور -boot_image ممکن است برای تعریف مدیریت یک یا چند تصویر بوت استفاده شود. ترتیب اهمیت دارد. انواع isolinux و grub ویژگیهای شناختهشده را مدیریت میکنند. نوع any هیچ فرضی درباره منشأ تصاویر بوت نمیکند.
هنگام بارگذاری یک سیستمفایل ISO، ناحیه سیستم و تصاویر بوت El Torito نیز بارگذاری میشوند. رفتار پیشفرض این است که تصاویر بوت بارگذاریشده El Torito نوشته نشوند و محتوای ناحیه سیستم بارگذاریشده بدون تغییر نوشته شود.
گزینه discard کاتالوگ بوت El Torito و تصاویر بوت آن را کنار میگذارد، فارغ از اینکه از سیستمفایل ISO بارگذاری شده باشند یا با دستورات تعریف شده باشند. هرگونه گزینه بوت مربوط به BIOS یا EFI لغو میشود. با این وجود، دادههای ناحیه سیستم بارگذاریشده و پارتیشنهای پیوستشده احتمالاً تعریفشده معتبر باقی میمانند. در صورت تمایل، آنها باید با دستورات زیر پاک شوند:
-boot_image any system_area=/dev/zero
-append_partition all revoke -
گزینه keep تصاویر بوت El Torito را بدون تغییر حفظ یا کپی میکند و یک کاتالوگ جدید مینویسد.
گزینه patch در صورتی که تصاویر بوت El Torito موجود به نظر برسد حاوی جدول اطلاعات بوت هستند، وصلهکاری را روی آنها اعمال میکند. جدول اطلاعات بوت زمانی نیاز به وصله دارد که تصویر بوت به تازگی به تصویر ISO وارد شود یا اگر تصویر موجود جابجا گردد. این کار در صورتی که نوع "isolinux" یا "grub" داده شود به طور خودکار انجام میشود، اما با "any" انجام نمیشود. اگر وصلهکاری فعال باشد، تصاویر بوت از نشستهای قبلی بررسی میشوند که آیا حاوی جدول اطلاعات بوت هستند یا خیر. اگر نباشند، بدون وصله باقی میمانند. این بررسی خطاناپذیر نیست؛ بنابراین اگر میدانید تصاویر نیازی به وصلهکاری ندارند، از "any" "keep" استفاده کنید. دستور "grub" "patch" تصاویر EFI (با platform_id=0xef) را وصله نمیزند.
گزینه replay نسخه مدرنتری از "patch" است که نه تنها به تجهیزات بوت موجود El Torito توجه دارد بلکه تدابیر بوت قابل شناسایی در ناحیه سیستم را نیز مدیریت میکند. هرگونه تنظیم موجود -boot_image از جمله ناحیه سیستم را دور میاندازد و دستورات پیشنهادی توسط دستور -report_el_torito "cmd" را اجرا مینماید.
باید مراقبت ویژهای در دستکاری فایلها در سیستمفایل ISO در حال شکلگیری که توسط -report_el_torito "cmd" ذکر شدهاند به عمل آید. مسیرهای آنها در زمان بارگذاری تصویر ISO ذخیره میشوند. به طور کلی -boot_image "any" "replay" باید پس از انجام تمام دستکاریهای فایل اعمال شود. تمام مسیرهای فایل از دستورات -report_el_torito باید همچنان به فایلهای دادهای ختم شوند که برای دستورات مربوطه خود مناسب هستند.
اثرات تغییرات مسیر فایل پس از -boot_image "any" "replay" میتواند تعجبآور باشد؛ به عنوان مثال حذف یا جایگزینی تصویر بوت با جدول اطلاعات بوت برای BIOS سنتی منجر به یک تصویر بوت مخفی با محتوای موجود در زمان "replay" میشود. انجام همین کار با تصویر بوت برای EFI منجر به خطایی در زمان -commit یا تبدیل محتوای فایل جدید به تصویر بوت EFI میشود. به دلایل تاریخی، replay تمام تنظیمات احتمالاً انجامشده -append_partition را لغو نمیکند بلکه تنها آنهایی را که تصویر ISO بارگذاریشده کاندیداهایی برایشان فراهم میکند، بازنویسی مینماید.
گزینه show_status آنچه را که درباره تصاویر بوت بارگذاریشده و سرنوشت تعیینشده آنها مشخص است چاپ میکند.
مثالها:
حذف El Torito:
-boot_image any discard
حذف El Torito، ناحیه سیستم و پارتیشنهای پیوستشده:
-boot_image any discard
-boot_image any system_area=/dev/zero
-append_partition all revoke -
نگهداری موارد قابل شناسایی پس از لغو تنظیمات احتمالاً انجامشده -append_partition برای اطمینان از دریافت تنها پارتیشنها از ISO بارگذاریشده:
-append_partition all revoke -
-boot_image any replay
تنظیم مجدد El Torito فقط برای GRUB:
-boot_image grub patch
تنظیم مجدد El Torito فقط برای ISOLINUX:
-boot_image isolinux patch
یک bootspec
کلمهای به
شکل name=value است.
برای توصیف
پارامترهای
یک ویژگی
بوت
استفاده
میشود.
نامهای
"dir"، "bin_path" و "efi_path"
به تصاویر
قابل
راهاندازی
El Torito ختم
میشوند.
نام "system_area" یک
فایل
دادهشده
را به عنوان
MBR یا سرآیند
دیگر دیسک
فعال
میکند.
در تمامی
انواع
رسانهها
این کار
درون نشست
اول
امکانپذیر
است. در
نشستهای
بعدی یک
تصویر بوت
موجود
میتواند
با یک تصویر
جدید
جایگزین
شود، اما
بسته به نوع
رسانه این
ممکن است
تأثیر کمی
در زمان بوت
داشته باشد.
بالا را
ببینید.
تصاویر بوت El
Torito باید با
روشهای
عادی به
تصویر ISO
اضافه شوند
(بارگذاری
تصویر، -map، -add،
...). در مورد ISOLINUX،
فایلها
باید در
پوشه /isolinux یا /boot/isolinux
در تصویر ISO
قرار داشته
باشند. در
این صورت
کافی است از
متن "dir=/isolinux" یا
"dir=/boot/isolinux" به
عنوان bootspec
استفاده
کنید؛
مانند:
-boot_image isolinux dir=/boot/isolinux که
این
تنظیمات
منفرد را
تجمیع
میکند:
-boot_image isolinux bin_path=/boot/isolinux/isolinux.bin
-boot_image isolinux cat_path=/boot/isolinux/boot.cat
-boot_image isolinux load_size=2048
-boot_image any boot_info_table=on
یک فایل
کاتالوگ
بوت El Torito با
نشانی cat_path= با
اولین -boot_image "any"
"next" یا در
زمان -commit در
تصویر ISO درج
میشود. اگر
فایلی با
همان نام از
قبل وجود
داشته
باشد،
مشمول
پردازش
عادی -overwrite و -reassure
خواهد بود.
این
کاتالوگ
تصاویر بوت
را فهرست
میکند و
توسط بخش
بوت خوانده
میشود تا
یکی از
تصاویر بوت
را انتخاب
نماید. اما
اصلاً لازم
نیست که در
درخت پوشه
ظاهر شود.
میتوان آن
را در تمام
درختها با
cat_hidden=on مخفی
کرد. سایر
مقادیر
ممکن
عبارتند از
"iso_rr"، "joliet"، "hfsplus"
و پیشفرض
"off".
برچسبهای
زمانی فایل
کاتالوگ
بوت در زمان
commit تازه
میشوند.
دستور -volume_date "uuid"
میتواند
برای تنظیم
مقدار
آنها
استفاده
شود.
گزینه bin_path= یک
فایل تصویر
بوت El Torito را
نشان
میدهد، یک
برنامه
دودویی که
باید توسط
بخش بوت
سختافزار
(مانند BIOS) در
زمان بوت
راهاندازی
شود. شناسه
پلتفرم
پیشفرض 0x00 = legacy 80x86
BIOS است.
گزینه efi_path= یک
فایل تصویر
بوت El Torito را
نشان
میدهد که
برای بوت EFI
آماده است.
این
معمولاً یک
تصویر
سیستمفایل
FAT است که
بزرگتر از
۶۵۵۳۵ بلوک
۵۱۲ بایتی (=
۳۲ مگابایت -
۵۱۲) نیست.
مقدار load_size آن
به صورت
خودکار
تعیین
میشود،
هیچ جدول
اطلاعات
بوت نوشته
نمیشود،
هیچ رسانه
بوتی
شبیهسازی
نمیشود،
شناسه
پلتفرم 0xef
است.
گزینه emul_type=
میتواند
یکی از "no_emulation"،
"hard_disk" یا "diskette"
باشد. این
گزینه کد
شبیهسازی
رسانه بوت
یک تصویر
بوت را
کنترل
میکند.
مقدار
پیشفرض
"no_emulation" برای ISOLINUX،
GRUB و FreeBSD cdboot مناسب
است.
گزینه load_size=
مقداری است
که به تصویر
بوت بستگی
دارد.
پیشفرض
برای BIOS
قدیمی ۲۰۴۸
است که با
انتظارات
اکثر
تصاویر بوت
BIOS مطابقت
دارد. مقدار
ویژه "full" به
معنای
اندازه
کامل فایل
تصویر بوت
است که به
مضربی از
۲۰۴۸ بایت
گرد شده است.
حداکثر
۳۳,۵۵۲,۳۸۴
بایت است. با
تصاویر بوت
EFI اندازه
بار همیشه
اندازه
کامل تصویر
است.
تصاویری که
از حداکثر
اندازه
تجاوز کنند
اندازه 0 یا 1
دریافت
میکنند که
طبق مشخصات
UEFI به معنای
"تا انتهای
دستگاه"
است.
گزینه boot_info_table=on
باعث
وصلهکاری
نشانی در
بایتهای ۸
تا ۶۳ تصویر
بوت میشود
که توسط "any"
"bin_path=" داده
شده است.
مقدار "boot_info_table=off"
این
وصلهکاری
را غیرفعال
میکند.
گزینه grub2_boot_info=on
باعث
وصلهکاری
نشانی در
بایت ۲۵۴۸
تصویر بوت
میشود که
توسط "any" "bin_path="
داده شده
است. نشانی
به عنوان یک
عدد ۶۴ بیتی
little-endian نوشته
میشود. این
نشانی بلوک
۲
کیلوبایتی
محتوای
تصویر بوت
است که در ۴
ضرب شده و
سپس با ۵ جمع
شده است.
مقدار "grub2_boot_info=off"
این
وصلهکاری
را غیرفعال
میکند.
گزینه platform_id=
شناسه
پلتفرم
تصویر بوت
را با یک عدد
هگزادسیمال
یا دهدهی
تعریف
میکند. "0x00"
برابر با 80x86 PC-BIOS
است، "0x01"
برابر PowerPC، "0x02"
برابر Mac و "0xef"
برابر EFI
(دهدهی "239")
است.
گزینه id_string=text|56_hexdigits
رشته شناسه
بخش
کاتالوگ
بوت را که
تصویر بوت
در آن فهرست
خواهد شد،
تعریف
میکند. اگر
مقدار شامل
۵۶ نویسه [0-9A-Fa-f]
باشد، به ۲۸
بایت تبدیل
میشود، در
غیر این
صورت ۲۸
نویسه اول
رشته شناسه
میشوند.
رشته شناسه
اولین
تصویر بوت
به شناسه
کلی
کاتالوگ
تبدیل
میشود. به
۲۴ نویسه
محدود است.
سایر id_strings به
شناسههای
بخش تبدیل
میشوند.
گزینه sel_crit=hexdigits
معیارهای
انتخاب
تصویر بوت
را تعریف
میکند. تا
۲۰ بایت از
نویسههای
دادهشده [0-9A-Fa-f]
خوانده
میشود.
آنها به
ورودی
تصویر بوت
در کاتالوگ
نسبت داده
میشوند.
گزینه next به
تعریف یک
تصویر بوت
پایان
میدهد و یک
تصویر جدید
را آغاز
میکند. هر
مشخصه bootspec
بعدی بر روی
تصویر جدید
تأثیر
میگذارد.
اولین "next"
تصاویر بوت
بارگذاریشده
و کاتالوگ
آنها را
دور
میاندازد.
گزینه system_area=disk_path
حداکثر
۳۲۷۶۸ بایت
را از فایل
دیسک
دادهشده
در همان
ابتدای
تصویر ISO کپی
میکند. این
ناحیه
سیستم برای
نرمافزار
بوت وابسته
به سیستم
رزرو شده
است؛ مثلاً
یک MBR که
میتواند
برای بوت از
فلش USB یا
هارد دیسک
استفاده
شود. برخلاف
تصویر بوت El
Torito، فایل disk_path
نیازی نیست
به تصویر ISO
اضافه شود.
در
موقعیتهای
چندنشستی،
ناحیه
سیستم
موجود به
صورت
پیشفرض
حفظ میشود.
در این
حالت، مسیر
دیسک ویژه
"." از
خواندن
فایل دیسک
جلوگیری
میکند اما
با این حال
باعث
تنظیمات در
دادههای
ناحیه
سیستم
بارگذاریشده
میشود.
چنین
تنظیماتی
ممکن است
توسط
دستورات -boot_image
دستور داده
شوند. مقدار
ویژه "system_area=/dev/zero"
باعث تولید
۳۲
کیلوبایت
از
بایتهای
صفر میشود.
از این برای
دور
انداختن
جداول
پارتیشن که
با تصویر ISO
بارگذاری
شدهاند
استفاده
کنید. این
تنظیم در
روش اصلاح
(Modifying)، زمانی
که -indev و -outdev هر دو
استفاده
میشوند و
یک درایو
نیستند،
پیشفرض
است. اگر
واقعاً
نیاز به کپی
ناحیه
سیستم بدون
تغییر از -indev
به -outdev دارید،
از "system_area=--interval:imported_iso:0s-15s::"
استفاده
کنید.
دستور -boot_image isolinux
system_area= شامل
"partition_table=on" است. در
این حالت،
مسیر دیسک
باید به یکی
از
فایلهای SYSLINUX
مانند isohdp[fp]x*.bin یا
فایلی که از
یکی از
آنها مشتق
شده است ختم
شود؛ مثلاً
به ۵۱۲ بایت
اول از یک
تصویر ISOLINUX isohybrid ISO.
تصاویر بوت El
Torito (شامل dir=، bin_path=،
efi_path=) ممکن است
سپس با isolinux
partition_entry=gpt_basdat یا isolinux
partition_entry=gpt_hfsplus، و با
isolinux partition_entry=apm_hfsplus
تقویت شوند.
تصویر بوت
در یک GPT
نامعتبر به
عنوان
پارتیشن Basic Data
یا GPT HFS+، و در یک
APM معتبر به
عنوان
پارتیشن HFS+
ذکر خواهد
شد. سه
پارتیشن
اول GPT نیز با
پارتیشنهای
MBR
علامتگذاری
میشوند.
پارتیشن MBR
از نوع 0xEF
همان چیزی
است که
عملاً توسط
میانافزار
EFI برای بوت
از فلش USB
استفاده
میشود.
دستور -boot_image any
gpt_disk_guid=value کنترل
میکند که
آیا GPT در حال
شکلگیری
یک GUID دیسک به
صورت
تصادفی
تولیدشده
دریافت کند
یا اینکه GUID
توسط کاربر
ارائه شود.
مقدار "random"
پیشفرض
است. مقدار
"volume_date_uuid" یک GUID با
کیفیت
پایین از
مقدار
تنظیمشده
توسط -volume_date "uuid"
تولید
میکند. یک
رشته از ۳۲
رقم
هگزادسیمال،
یا یک رشته GUID
منطبق با RFC 4122
میتواند
برای تنظیم
مستقیم GUID
دیسک
استفاده
شود. UEFI تجویز
میکند که
سه مؤلفه
اول رشته RFC 4122 GUID
در نمایش
دودویی
جابجا شوند
(byte-swapped): به عنوان
مثال
gpt_disk_guid=2303cd2a-73c7-424a-a298-25632da7f446
برابر است
با gpt_disk_guid=2acd0323c7734a42a29825632da7f446.
شناسههای
GUID پارتیشن
با ایجاد
تغییر اندک
در GUID دیسک
تولید
میشوند.
دستور -boot_image any
part_like_isohybrid=on گزینه
-boot_image isolinux partition_entry= را
حتی اگر هیچ
-boot_image isolinux system_area= داده
نشده باشد
فعال
میکند. هیچ
پارتیشن MBR
از نوع 0xee
ظاهر
نمیشود،
حتی اگر GPT
تولید شود.
شکافهای
بین
پارتیشنهای
GPT و APM با
پارتیشنهای
بیشتر پر
نخواهند شد.
پارتیشنهای
پیوستشده
در صورتی که
سایر
پارتیشنهای
APM ظاهر
شوند، در APM
ذکر
میگردند.
دستور -boot_image any
iso_mbr_part_type=number نوع
پارتیشن MBR
را که
نشاندهنده
ISO است یا
حداقل از آن
محافظت
میکند،
تنظیم
مینماید.
عدد ممکن
است 0x00 تا 0xff
باشد. متن
"default" انواع
پیشفرض
موارد
مختلف را
برای ایجاد
پارتیشن ISO MBR
مجدداً
فعال
میکند. اگر
چنین
پارتیشنی
توسط
تنظیمات
دیگر ظاهر
نشود یا اگر
نوع
پارتیشن به
طور اجباری
مانند 0xee
برای MBR
محافظتی GPT
یا 0x96 برای CHRP
تجویز شده
باشد،
بیاثر است.
اگر به جای
آن type_guid با یک
رشته
هگزادسیمال
۳۲ رقمی
داده شود،
در صورتی که
سیستمفایل
ISO به عنوان
پارتیشن در
GPT ظاهر شود،
به عنوان
نوع
پارتیشن
استفاده
خواهد شد. در
MBR، شناسه
C12A7328-F81F-11D2-BA4B-00A0C93EC93B به 0xef
نگاشت
خواهد شد. هر
GUID دیگر به 0x83
نگاشت
خواهد شد.
گزینه grub2_mbr=disk_path
مانند "any" system_area=
با
وصلهکاری
اضافی برای
MBRهای مدرن GRUB
کار میکند.
نشانی شروع
محتوای
اولین
تصویر بوت
به تعداد
بلوکهای
۵۱۲ بایتی
تبدیل شده و
آفست ۴ به آن
اضافه
میشود.
نتیجه به
عنوان یک
عدد ۶۴ بیتی
little-endian در نشانی
بایتی 0x1b0
نوشته
میشود. این
ویژگی را
میتوان با
grub2_mbr= با مسیر
دیسک خالی،
یا با ارسال
یک disk_path از طریق
system_area= لغو کرد.
گزینه partition_table=on
باعث
میشود یک
جدول
پارتیشن
ساده در
بایتهای
۴۴۶ تا ۵۱۱
ناحیه
سیستم
نوشته شود.
با نوع "isolinux"
پارتیشنی
را نشان
میدهد که
از بایت 0
شروع
میشود و
باعث
میشود LBA
اولین
تصویر بوت
در MBR نوشته
شود. برای
اولین نشست
این تنها در
صورتی کار
میکند که
"system_area=" و "bin_path=" یا
"dir=" نیز داده
شده باشند.
با انواع "any"
و "grub" یک
پارتیشن
منفرد را
نشان
میدهد که
از بایت ۵۱۲
شروع شده و
در جایی که
تصویر ISO
پایان
مییابد
خاتمه
مییابد.
این با یا
بدون system_area= یا
تصویر بوت
کار میکند.
مشخصات بوت
chrp_boot_part=، prep_boot_part= و efi_boot_part=
این ورودی
را در جدول
پارتیشن MBR
بازنویسی
میکنند.
اگر انواع
"isolinux" یا "grub"
روی "patch"
تنظیم
شوند، "partition_table=on"
بدون تصویر
بوت جدید
فعال
میشود. در
این حالت
ناحیه
سیستم
موجود
بررسی
میشود که
آیا دارای
آدرسها و
اندازههایی
است که گویی
توسط "partition_table=on"
پردازش شده
است یا خیر.
اگر چنین
باشد، این
پارامترها
هنگام
نوشتن
ناحیه
سیستم جدید
بهروزرسانی
میشوند.
گزینه appended_part_as=gpt
پارتیشنهای
ناشی از -append_partition
را در GPT به
جای MBR
علامتگذاری
میکند. در
این حالت MBR
یک پارتیشن
منفرد از
نوع 0xee را
نشان
میدهد که
تمام
دادههای
خروجی را
پوشش
میدهد.
تعداد
پارتیشنهای
قابل الحاق
با GPT برابر ۸
است به جای ۴
در MBR.
گزینه appended_part_as=mbr
پیشفرض
است.
پارتیشنهای
الحاقی در GPT
تنها در
صورتی
علامتگذاری
میشوند که
GPT به دلیل
تنظیمات
دیگر تولید
شود. اگر به
طور صریح
داده شود،
این تنظیم
"gpt" و "apm" را
پاک میکند.
با این وجود
"apm" ممکن است
به "mbr" اضافه
شود.
گزینه appended_part_as=apm
پارتیشنهای
ناشی از -append_partition
را علاوه بر
"mbr" یا "gpt" در APM
نیز
علامتگذاری
میکند.
شماره
پارتیشن در
APM تحت تأثیر
پارامتر partition_number
در -append_partition قرار
نخواهد
گرفت. به
صورت
پیشفرض
پارتیشنهای
الحاقی در APM
تنها در
صورتی
علامتگذاری
میشوند که
APM به دلیل
سایر
گزینهها
همراه با
part_like_isohybrid="on" تولید
شود.
دو تنظیم
بعدی تنها
در صورتی
اعمال
میشوند که
پارتیشنها
توسط دستور
-append_partition الحاق
شوند و GPT
اصلاً ظاهر
شود، مثلاً
توسط appended_part_as=gpt:
گزینه appended_gpt_with_gaps=on
شانس
دریافت
شمارههای
پارتیشن
ارائهشده
با دستور -append_partition
را در GPT
افزایش
میدهد.
ممکن است
برخی از
بخشهای
تصویر حاصل
را بدون
ادعا توسط
پارتیشنها
در GPT در حال
شکلگیری
رها کند.
سیستمفایل
ISO 9660 با یک
پارتیشن GPT
تنها در
صورتی
علامتگذاری
میشود که
هیچیک از
پارتیشنهای
الحاقی
دارای
شماره
پارتیشن ۱
نباشند و
اگر هیچ
دستور
دیگری باعث
ایجاد
پارتیشن در
داخل
سیستمفایل
ISO 9660 در حال
شکلگیری
نشود و اگر
partition_offset=16 باشد.
گزینه appended_gpt_with_gaps=off
باعث رفتار
پیشفرض
درج
پارتیشنهای
پرکننده
شکاف
میشود تا
هیچ بخشی از
تصویر در
حال
شکلگیری
پس از بلوک
۱۶ توسط
پارتیشنهای
GPT بدون ادعا
نماند. این
تنها در
صورتی
اتفاق
میافتد که
پارتیشنها
الحاق شوند
و یک GPT معتبر
ظاهر شود.
دستوراتی
که GPT
نامعتبر به
سبک isohybrid تولید
میکنند،
پر کردن
شکاف را
غیرفعال
میسازند.
گزینه chrp_boot_part=on
باعث ایجاد
یک پارتیشن
منفرد در MBR
میشود که
کل تصویر ISO
را پوشش
میدهد و
دارای نوع 0x96
است. این با
هر ویژگی
دیگری که
ورودیهای
پارتیشن MBR
را تولید
میکند
سازگار
نیست. این
گزینه GPT را
غیرقابلشناسایی
میکند.
گزینه prep_boot_part=disk_path
محتوای یک
فایل داده
را درون
تصویر درج
کرده و آن را
با یک
پارتیشن MBR
از نوع 0x41
علامتگذاری
میکند.
بخشهای
تصویر ISO قبل
و بعد از این
پارتیشن
توسط
پارتیشنهای
MBR دیگر پوشش
داده
خواهند شد.
فایل داده
قرار است
حاوی کد
اجرایی ELF
باشد.
گزینه efi_boot_part=disk_path
محتوای یک
فایل داده
را درون
تصویر درج
کرده و آن را
با یک
پارتیشن GPT
علامتگذاری
میکند. اگر
chrp_boot_part=on نباشد،
اولین
پارتیشن در
MBR نوع 0xee خواهد
داشت تا
وجود GPT را
اعلام کند.
فایل داده
قرار است
حاوی یک
سیستمفایل
FAT باشد. به
جای disk_path
میتوان از
کلمه efi-boot-image--
استفاده
کرد. این
کلمه در GPT
محتوای
اولین
تصویر بوت El Torito
EFI را به
عنوان
پارتیشن
سیستم EFI
نشان
میدهد.
تصاویر بوت
EFI توسط
مشخصه bootspec با efi_path=
معرفی
میشوند.
تصویر بوت EFI
آسیبدیده
نمیتواند
در HFS+ ظاهر
شود زیرا در
خارج از
پارتیشن HFS+
ذخیره شده
است.
گزینه partition_offset=2kb_block_adr
باعث ایجاد
جدول
پارتیشن با
یک پارتیشن
منفرد
میشود که
از نشانی
بلوک
دادهشده
آغاز
میگردد.
این بر حسب
بلوکهای
۲۰۴۸ بایتی
شمارش
میشود و نه
بلوکهای
۵۱۲ بایتی.
اگر نشانی
بلوک
غیرصفر
باشد باید
حداقل ۱۶
باشد. آفست
پارتیشن
غیرصفر
باعث تولید
دو ابربلوک
و دو مجموعه
درخت
دایرکتوری
میشود.
تصویر سپس
هم از شروع
مطلق خود و
هم از شروع
پارتیشن
قابل سوار
کردن است.
مقدار آفست
یک تصویر ISO
هنگام
افزودن یک
نشست جدید
حفظ
میشود؛
بنابراین
مقدار
تعریفشده
در اینجا
تنها در
صورتی
اعمال
میشود که
یک تصویر ISO
جدید نوشته
شود.
گزینه partition_hd_cyl=number
تعداد هدها
در هر
سیلندر را
برای جدول
پارتیشن
مشخص
میکند. عدد 0
مقدار
پیشفرض را
انتخاب
میکند.
حداکثر ۲۵۵
است.
گزینه partition_sec_hd=number
تعداد
بخشها در
هر هد را
برای جدول
پارتیشن
مشخص
میکند. عدد 0
مقدار
پیشفرض را
انتخاب
میکند.
حداکثر ۶۳
است.
حاصلضرب
partition_sec_hd * partition_hd_cyl * 512
اندازه
سیلندر است.
برای
امکانپذیر
ساختن
همترازی
دقیق باید
بر ۲۰۴۸
بخشپذیر
باشد. با
پارتیشنهای
الحاقی و
"appended_part_as=gpt"
محدودیتی
برای تعداد
سیلندرها
وجود
ندارد؛ در
غیر این
صورت
حداکثر
۱۰۲۴
سیلندر
میتواند
وجود داشته
باشد. اگر
اندازه
سیلندر
برای ماندن
در زیر حد
بسیار کوچک
باشد،
مقادیر
مناسب partition_hd_cyl با
partition_sec_hd برابر ۳۲
یا ۶۳
انتخاب
میشوند.
اگر تصویر
بزرگتر از
۸,۴۲۲,۶۸۶,۷۲۰
بایت باشد،
محدودیتهای
اندازه
سیلندر
برای MBR قابل
تحقق نیست.
گزینه partition_cyl_align=mode
همترازی
اندازه
تصویر را با
یک عدد صحیح
از
سیلندرها
کنترل
میکند.
توسط
مشخصات isohybrid
تجویز شده
است و به نظر
میرسد
برنامه fdisk را
راضی
میکند.
اندازه
سیلندر
باید بر
۲۰۴۸
بخشپذیر
باشد.
تصاویر
بزرگتر از
۸,۳۲۳,۵۹۶,۲۸۸
بایت
نمیتوانند
در جدول
پارتیشن MBR
همتراز
شوند. حالت
"auto" پیشفرض
است.
همترازی
با پرکردن
تنها با "isolinux"
"partition_table=on" اتفاق
میافتد.
حالت "on"
باعث
همترازی
با پرکردن
همراه با
"partition_table=on" برای
هر نوع
میشود.
حالت "all"
مانند "on"
است اما
پارتیشنهای
ناشی از -append_partition
را نیز به یک
اندازه
همتراز پر
میکند.
حالت "off"
همترازی
را برای هر
نوعی
غیرفعال
میکند.
گزینه mbr_force_bootable=mode
در صورتی که
گزینههایی
مانند partition_table= یا
grub2_mbr= تولید یک MBR
قابل
راهاندازی
را نشان
دهند، یک
پارتیشن MBR
را با فلگ
"bootable/active" اجباری
میکند. این
گزینهها
معمولاً
باعث
میشوند که
در صورت
وجود یک
پارتیشن MBR
از نوعی غیر
از 0xee یا 0xef، فلگ
تنظیم شود.
اگر چنین
پارتیشنی
وجود
نداشته
باشد، هیچ
فلگ بوتی
تنظیم
نمیشود،
مگر اینکه
mbr_force_bootable="on" ایجاد
یک پارتیشن
ساختگی از
نوع 0x00 را که
فقط اولین
بلوک تصویر
ISO را پوشش
میدهد،
اجباری کند.
اگر هیچ MBR
قابل بوتی
مشخص نشده
باشد و
پارتیشنی
توسط -append_partition
ایجاد شود،
mbr_force_bootable="on" باعث
ایجاد فلگ
بوت میشود
همانطور
که با یک MBR
قابل بوت
انجام
میداد.
گزینه gpt_iso_bootable=on
باعث
میشود بیت
۲ از
فلگهای
پارتیشن GPT
برای
پارتیشن ISO 9660
در صورت
ظاهر شدن
چنین
پارتیشن GPT
تنظیم شود.
این بیت به
عنوان "Legacy BIOS bootable"
مشخص شده
است اما
اهمیت
واقعی آن
نامشخص است.
برخی BIOSهای
آگاه از GPT
ممکن است
بخواهند آن
را در برخی
پارتیشنها
ببینند.
حالت "off" این
تنظیم را
لغو میکند.
گزینه gpt_iso_not_ro=on
باعث
میشود بیت
۶۰ از
فلگهای
پارتیشن GPT
برای
پارتیشن ISO 9660
در صورت
ظاهر شدن
چنین
پارتیشن GPT
تنظیم نشود.
این بیت به
عنوان "Read-only"
مشخص شده و
بنابراین
مناسب است،
اما در
پارتیشنهای
دیسک GPT
غیرمعمول
است. حالت "off"
این تنظیم
را لغو کرده
و باعث
تنظیم بیت
فقطخواندنی
میشود.
گزینه mips_path=iso_rr_path
یک فایل
داده را در
تصویر به
عنوان فایل
بوت MIPS Big Endian
اعلام
میکند و
باعث تولید
یک سرآیند
حجم MIPS Big Endian
میشود. این
گزینه با
تولید سایر
بلوکهای
بوت مانند MBR
ناسازگار
است. ۵۱۲
بایت اول هر
داده
ارائهشده
توسط system_area= را
بازنویسی
خواهد کرد.
تا ۱۵ فایل
بوت را
میتوان با
mips_path= اعلام
کرد.
گزینه mipsel_path=iso_rr_path
یک فایل
داده را در
تصویر به
عنوان فایل
بوت MIPS Little Endian
اعلام
میکند. این
گزینه با
سایر
بلوکهای
بوت
ناسازگار
است. ۵۱۲
بایت اول هر
داده
ارائهشده
توسط system_area= را
بازنویسی
خواهد کرد.
تنها یک
فایل بوت
منفرد را
میتوان با
mipsel_path= اعلام
نمود.
گزینه sparc_label=text
باعث تولید
یک برچسب
دیسک SUN با
متن
دادهشده
به عنوان
برچسب ASCII
میشود.
پارتیشنهای
۲ تا ۸ ممکن
است توسط
تصاویر
الحاقی
اشغال شوند.
پارتیشن ۱
همیشه
تصویر ISO
خواهد بود.
دستور -append_partition را
ببینید. ۵۱۲
بایت اول هر
داده
ارائهشده
توسط system_area=
بازنویسی
خواهد شد.
گزینه grub2_sparc_core=iso_rr_path
باعث
میشود
نشانی
محتوا و
اندازه
فایل
دادهشده
پس از برچسب
دیسک SUN
نوشته شود.
هر دو عدد بر
حسب بایت
شمارش
میشوند.
نشانی به
عنوان یک
عدد ۶۴ بیتی
big-endian در بایت 0x228
نوشته
میشود.
اندازه به
عنوان یک
عدد ۳۲ بیتی
big-endian در بایت 0x230
نوشته
میشود.
گزینه hppa_cmdline=text
خط فرمان PALO
را برای HP-PA
تنظیم
میکند. به
صورت
پیشفرض تا
۱۰۲۳ نویسه
مجاز است. با
hppa_hdrversion=4 محدودیت
۱۲۷ است.
توجه داشته
باشید که
پنج مشخصه
اول hppa_ bootspecs در
صورت
استفاده از
هر یک از
آنها
اجباری
هستند؛
تنها hppa_hdrversion=
مجاز است
حذف شود.
گزینه hppa_bootloader=iso_rr_path
مسیر
دادهشده
را به عنوان
فایل
بوتلودر HP-PA
تعیین
میکند.
گزینه hppa_kernel_32=iso_rr_path
مسیر
دادهشده
را به عنوان
فایل هسته
۳۲ بیتی HP-PA
تعیین
میکند.
گزینه hppa_kernel_64=iso_rr_path
مسیر
دادهشده
را به عنوان
فایل هسته
۶۴ بیتی HP-PA
تعیین
میکند.
گزینه hppa_ramdisk=iso_rr_path
مسیر
دادهشده
را به عنوان
فایل RAM disk در HP-PA
تعیین
میکند.
گزینه hppa_hdrversion=number
بین سرآیند
PALO نسخه ۵
(پیشفرض) و
نسخه ۴
انتخاب
میکند.
گزینه alpha_boot=iso_rr_path
یک فایل
داده در
تصویر را به
عنوان DEC Alpha SRM Secondary Bootstrap
Loader اعلام
میکند و
باعث تولید
یک بخش بوت
میشود که
به آن اشاره
میکند. این
گزینه با
تولید سایر
بلوکهای
بوت مانند MBR
ناسازگار
است.
دستورات
mips_discard، mipsel_discard،
sparc_discard، hppa_discard و
alpha_discard هرگونه
اعلان فایل
بوت
انجامشده
برای mips/mipsel، sparc، hppa
یا alpha را به
ترتیب لغو
میکنند.
این کار
ممنوعیت
تولید سایر
بلوکهای
بوت را
برمیدارد.
گزینه hfsplus_serial=hexstring
رشتهای از
۱۶ رقم "0" تا
"9" و حروف "a"
تا "f" را
تنظیم
میکند که
به عنوان
شماره
سریال
منحصربهفرد
یک
سیستمفایل
HFS+ در حال
شکلگیری
استفاده
خواهد شد.
گزینه hfsplus_block_size=number
اندازه
بلوک تخصیص
را که هنگام
تولید
سیستمفایلهای
HFS+ استفاده
میشود
تنظیم
میکند.
مقادیر
۵۱۲، ۲۰۴۸
یا 0 مجاز
هستند؛
مقدار 0
اجازه
میدهد
برنامه
تصمیم
بگیرد.
گزینه apm_block_size=number
اندازه
بلوک را که
هنگام
توصیف
پارتیشنها
توسط یک
نقشه
پارتیشن
اپل
استفاده
میشود
تنظیم
میکند.
مقادیر
۵۱۲، ۲۰۴۸
یا 0 مجاز
هستند. توجه
داشته
باشید که
اندازه ۵۱۲
با تولید GPT
سازگار
نیست و
اندازه
۲۰۴۸ حداقل
توسط
هستههای
قدیمیتر
لینوکس به
صورت t hfsplus- قابل
سوار کردن
نخواهد
بود.
- -append_partition partition_number type_code disk_path
- باعث الحاق
یک تصویر
سیستمفایل
آمادهشده
به تصویر ISO و
توصیف آن
توسط یک
ورودی جدول
پارتیشن در
یک بلوک بوت
در ابتدای
تصویر ISO در
حال تولید
میشود.
ورودی
پارتیشن
اندازه
فایل
ارسالی
گردشده به
مضرب بعدی
۲۰۴۸ بایت
یا مضرب
بعدی
اندازه
سیلندر را
خواهد داشت.
مراقب
اجراهای
چندنشستی
بعدی
باشید؛
پارتیشن
الحاقی
بازنویسی
خواهد شد.
پارتیشنها
ممکن است با
انواع جدول
پارتیشن MBR، GPT
و برچسب
دیسک SUN
الحاق شوند.
علاوه بر MBR و GPT
امکان
علامتگذاری
آنها در APM
نیز وجود
دارد.
با MBR: پارامتر partition_number ممکن است ۱ تا ۴ باشد. شماره ۱ کل تصویر ISO را در فضای بدون ادعا قبل از پارتیشن ۱ قرار میدهد. بنابراین همراه با اکثر ویژگیهای MBR در xorriso، شماره ۲ طبیعیترین انتخاب خواهد بود. پارامتر type_code ممکن است "FAT12"، "FAT16"، "Linux" یا یک عدد هگزادسیمال بین 0x00 تا 0xff باشد. همه این اعداد نتایج قابل استفادهای به دست نمیدهند. برای فهرستی از کدهای نوع پارتیشن MBR، اینترنت را برای "Partition Types" جستجو کنید یا دستور fdisk موسوم به "L" را اجرا نمایید. همچنین type_code میتواند یک GUID نوع به عنوان رشته هگزادسیمال ساده یا به عنوان متن ساختاریافته باشد. در صورت ذکر پارتیشن در GPT از آن استفاده خواهد شد. در MBR، شناسه C12A7328-F81F-11D2-BA4B-00A0C93EC93B به 0xef نگاشت خواهد شد. هر GUID دیگر به 0x83 نگاشت میشود. در APM، شناسه 48465300-0000-11AA-AA11-00306543ECAC به نوع پارتیشن "Apple_HFS" و هر مورد دیگر به "Data" نگاشت خواهد شد. اگر دستور دیگری باعث تولید GPT شود، پارتیشنهای الحاقی در آنجا نیز ذکر خواهند شد.
گزینه GPT میتواند با دستور زیر اجباری شود:
-boot_image "any" "appended_part_as=gpt" پارامتر partition_number ممکن است ۱ تا ۸ باشد. اما بر خلاف پارتیشنهای MBR تضمین نمیشود که پارتیشن GPT حاصل این شماره را داشته باشد. مهمتر از شماره پارتیشن مورد نظر این خواهد بود که سیستمفایل ISO حاصل بدون شکاف با جدول GPT و پارتیشنهای آن پوشش داده شود و پارتیشنها در جدول بر اساس نشانی بلوک مرتب شوند. اگر partition_number بالاتر از تعداد پارتیشنهای قبلی باشد، تعداد مناسبی از ورودیهای پارتیشن خالی درج میشود تا partition_number مورد نظر به دست آید. اگر تعداد پارتیشنهای قبلی بسیار زیاد باشد، یک پیام NOTE درباره عدم توانایی در دستیابی به partition_number و درباره شماره اختصاصیافته واقعی اطلاع میدهد. شانس به دست آوردن شماره پارتیشن مورد نظر با دستور -boot_image "any" "appended_gpt_with_gaps=on" به شدت افزایش مییابد. کد type_code ممکن است همانطور باشد که با MBR توصیف شد.
گزینه SUN Disk Label توسط -boot_image any sparc_label= انتخاب میشود. پارامتر partition_number ممکن است ۲ تا ۸ باشد. شماره ۱ همیشه تصویر ISO خواهد بود. نشانیهای شروع پارتیشن با ۳۲۰ کیلوبایت تراز میشوند. کد type_code اهمیت ندارد؛ مقدار 0x0 را ارسال کنید. مسیر دیسک "." باعث میشود که پارتیشن به یک کپی از پارتیشن معتبر پایینتر بعدی تبدیل شود.
در MBR، GPT و SUN به طور یکسان: مسیر disk_path باید بایتهای داده لازم را در زمان commit فراهم کند. اجرای -append_partition با شماره پارتیشنی که قبلاً در یک دستور -append_partition قبلی استفاده شده بود خطایی ایجاد نمیکند بلکه تنظیمات قبلی را بی سر و صدا بازنویسی مینماید. شبهکد نوع "revoke" یا یک disk_path خالی مانع از الحاق پارتیشن میشود. شبهشماره پارتیشن "all" ممکن است در این حالت برای لغو تمام تنظیمات قبلی -append_partition استفاده شود. - استخراج قالب Jigdo (Jigdo Template Extraction):
از man genisoimage:
«جیگدو (Jigdo)
ابزاری
برای کمک به
توزیع
فایلهای
بزرگ مانند
تصاویر CD و DVD
است؛ برای
جزئیات
بیشتر به
http://atterer.net/jigdo مراجعه
کنید.
تصاویر ISO
دیسکهای CD و
DVD دبیان به
فرمت jigdo در وب
منتشر
میشوند تا
به کاربران
نهایی
امکان
دانلود
کارآمدتر
آنها را
بدهند.»
برنامه xorriso
میتواند
یک فایل jigdo. و
یک فایل template. را
همراه با یک
تصویر ISO
تکنشستی
تولید کند.
فایل jigdo. شامل
چکسامها
و آدرسهای
فایلی
نمادین است.
فایل template. شامل
تصویر
فشردهشده ISO
با
برچسبهای
مرجع به جای
بایتهای
محتوای
فایلهای
فهرستشده
است.
ورودی این
فرآیند
آرگومانهای
عادی برای
یک نشست xorriso
روی یک -outdev خام
است، و یک
فایل
چکسام که
آن دسته از
فایلهای
دادهای را
فهرست
میکند که
ممکن است در
فایل jigdo.
فهرست شده و
در فایل template. به
طور خارجی
به آنها
ارجاع داده
شود. هر فایل
تعیینشده
در فایل
چکسام با
یک خط متنی
واحد نمایش
داده
میشود:
چکسام به
صورت ارقام
هگزادسیمال،
۲ فاصله،
اندازه به
عنوان ۱۲
رقم دهدهی
یا فاصله، ۲
فاصله،
نشانی
فایلی
نمادین.
نوع چکسام
توسط -jigdo "checksum_algorithm"
با مقادیر
"md5" (۳۲ رقم
هگزادسیمال)
یا "sha256" (۶۴
رقم
هگزادسیمال)
انتخاب
میشود.
همچنین
برای خطوط
نشانی فایل
در فایل jigdo.
استفاده
خواهد شد.
پیشفرض "md5"
است. نشانی
فایل در یک
خط فایل
چکسام
باید همان
نام پایه (basename)
مسیر disk_path
فایلی را
داشته باشد
که قرار است
با آن
مطابقت کند.
مسیر پوشه
نشانی فایل
برای نگاشت
To=From
تعیینکننده
است، نه
برای
شناسایی
فایل. پس از
نگاشت To=From،
نشانی فایل
در فایل jigdo.
نوشته
میشود.
ابزارهای
بازیابی Jigdo
این
نشانیها
را به
آدرسهای
منبع داده
واقعاً
قابل دسترس
تبدیل
میکنند که
میتوانند
از آنها
بخوانند.
اگر فهرست
پارامترهای
jigdo خالی
نباشد، xorriso
از نوشتن
روی
مقصدهای
غیرخام
خودداری
خواهد کرد،
شبیهسازی
چندنشستی
را غیرفعال
میکند و
پرکردن (padding) به
عنوان بخشی
از تصویر ISO
شمارش
خواهد شد.
- -jigdo parameter_name value
- پاک کردن فهرست پارامترهای Jigdo Template Extraction یا افزودن یک پارامتر به آن فهرست. نامهای مستعار همان گزینههای متناظر genisoimage هستند. آنها به عنوان نام پارامتر نیز پذیرفته میشوند. به ویژه توسط دستور شبیهسازی -as mkisofs شناخته میشوند. پارامتر clear با هر مقداری کل فهرست را خالی میکند. هیچ فایل jigdo. و template. تولید نخواهد شد. گزینه checksum_algorithm الگوریتم چکسامی را انتخاب میکند که باید برای ورودیهای فایل داده در فایل jigdo. استفاده شود و در فایل چکسام انتظار میرود. مقادیر "md5" یا "sha256" مجاز هستند. پیشفرض "md5" است. نام مستعار: jigdo-checksum-algorithm- گزینه template_path مسیر disk_path را برای فایل template. با کپی تصویر ISO سوراخشده و فشردهشده تنظیم میکند. نام مستعار: jigdo-template- گزینه jigdo_path مسیر disk_path را برای فایل jigdo. با چکسامها و آدرسهای دانلود برای پر کردن حفرهها در template. تنظیم میکند. نام مستعار: jigdo-jigdo- گزینه checksum_path مسیر disk_path را تنظیم میکند که در آن فایل چکسام با آدرسهای فایلی نمادین و چکسامها مطابق با checksum_algorithm پیدا شود. نام مستعار: md5_path، -checksum-list، -md5-list گزینه min_size حداقل اندازه را برای یک فایل داده تعیین میکند تا در فایل jigdo. فهرست شود و یک حفره در فایل template. باشد. نام مستعار: jigdo-min-file-size- گزینه exclude یک الگوی عبارت منظم را اضافه میکند که با مسیر مطلق disk_path هر فایل داده مقایسه خواهد شد. تطابق باعث میشود که فایل در هر صورت در template. باقی بماند. نام مستعار: jigdo-exclude- گزینه demand_checksum یک الگوی عبارت منظم اضافه میکند که با مسیر مطلق disk_path هر فایل دادهای که در فایل فهرست چکسام مطابق با "checksum_path" یافت نشد مقایسه خواهد شد. تطابق باعث یک رویداد MISHAP میشود. نام مستعار: demand_md5، -jigdo-force-checksum، -jigdo-force-md5 گزینه mapping یک جفت رشته به شکل To=From به فهرست پارامترها اضافه میکند. اگر یک فایل داده در فایل jigdo. فهرست شود، با نشانی فایل از خط آن در فایل چکسام به آن ارجاع داده میشود. این نشانی فایل بررسی میشود که آیا با رشته From شروع میشود یا خیر. اگر چنین باشد، این رشته با رشته To و یک نویسه ':' جایگزین میشود، قبل از اینکه به فایل jigdo. برود. رشته From باید با یک نویسه '/' پایان یابد. نام مستعار: jigdo-map- گزینه compression یکی از "bzip2" یا "gzip" را برای فشردهسازی فایل قالب انتخاب میکند. فایل jigdo بدون فشردهسازی خروجی داده میشود. نام مستعار: jigdo-template-compress- گزینه checksum_iso یک یا چند مورد از "md5"، "sha1"، "sha256" یا "sha512" را برای چکسامهای کمکی "Image Hex#" در فایل jigdo انتخاب میکند؛ مانند "md5,sha1,sha512". مقدار "all" تمام الگوریتمهای موجود را انتخاب مینماید. توجه داشته باشید که MD5 همیشه فعال میماند. نام مستعار: checksum_algorithm_iso- گزینه checksum_template مانند checksum_iso اما برای "Template Hex#" است. نام مستعار: checksum_algorithm_template-
- مجموعههای نویسه (Character sets):
نام
فایلها
رشتههایی
از
بایتهای
غیرصفر با ۸
بیت برای هر
کدام هستند.
متأسفانه
همان رشته
بایت ممکن
است در
پایانههای
مختلف ملی
به عنوان
نویسههای
ملی متفاوت
ظاهر شود.
معانی
کدهای بایت
در
مجموعههای
نویسه (character sets)
تعریف
شدهاند که
دارای نام
هستند.
دستور iconv -l در
پوسته
آنها را
فهرست
میکند.
فرض بر این
است که نام
فایلها
روی هارد
دیسک با
مجموعه
نویسه محلی
(local character set)
کدگذاری
شدهاند که
برای
ارتباط با
کاربر نیز
استفاده
میشود.
کدهای بایت
۳۲ تا ۱۲۶
مجموعه
نویسه محلی
باید با
نویسههای
US-ASCII با همان کد
مطابقت
داشته
باشند.
استانداردهای
ISO-8859 و UTF-8 این
تقاضا را
برآورده
میسازند.
به صورت
پیشفرض،
xorriso از
مجموعه
نویسهای
استفاده
میکند که
توسط دستور
پوسته "locale" با
آرگومان "charmap"
اعلام
میشود. این
ممکن است
تحت تأثیر
متغیرهای
محیطی LC_ALL، LC_CTYPE
یا LANG قرار
گیرد و باید
با
انتظارات
پایانه
مطابقت
داشته باشد.
در برخی
شرایط ممکن
است لازم
باشد آن را
با دستور -local_charset
تنظیم کرد.
مجموعههای
نویسه محلی
تا زمانی که
فقط از
نویسههای
الفبایی-عددی
انگلیسی
برای نام
فایلها
استفاده
میشود یا
تا زمانی که
تمام
نویسندگان
و
خوانندگان
رسانه از
همان
مجموعه
نویسه محلی
استفاده
میکنند
نباید
اهمیت
داشته
باشند. خارج
از این
محدودیتها
ممکن است
لازم باشد
به xorriso اجازه
داده شود تا
کدهای بایت
را از و به
سایر
مجموعههای
نویسه
تبدیل کند.
فرض بر این
است که
نامهای
فایل Rock Ridge در
سیستمفایلهای
ISO توسط
مجموعه
نویسه
ورودی (input character set)
کدگذاری
شدهاند.
نامهای
فایل Rock Ridge که
با
سیستمفایلهای
ISO نوشته
میشوند
توسط
مجموعه
نویسه
خروجی (output character set)
کدگذاری
خواهند شد.
این
مجموعهها
میتوانند
به طور
مستقل توسط
دستورات -in_charset
و -out_charset تعریف
شوند.
معمولاً در
صورت لزوم
هر دو یکسان
خواهند بود.
برخلاف
مجموعه
نویسه
محلی، این
دو مجموعه
نویسه ممکن
است از US-ASCII
انحراف
داشته
باشند.
مجموعههای
نویسه
خروجی برای
Joliet و HFS+ تحت
تأثیر این
دستورات
قرار
نمیگیرند.
Joliet از مجموعه
نویسه
خروجی UCS-2 یا UTF-16
استفاده
میکند. HFS+ از
UTF-16 استفاده
مینماید.
مجموعه
نویسه
خروجی
پیشفرض،
مجموعه
نویسه محلی
پایانهای
است که xorriso در
آن اجرا
میشود.
بنابراین
به صورت
پیشفرض
هیچ تبدیلی
بین
نامهای
سیستمفایل
محلی و
نامهای Rock Ridge
در حال
شکلگیری
در تصویر رخ
نمیدهد.
وضعیت مبهم
باقی
میماند و
خواننده
باید حدس
بزند چه
مجموعه
نویسهای
استفاده
شده است.
با دستور -auto_charset
میتوان
نام مجموعه
نویسه
خروجی را به
تصویر نسبت
داد. این کار
وضعیت را
بدون ابهام
میسازد.
اما اگر
مجموعه
نویسه
پایانه شما
با مجموعه
نویسه
نامهای
فایل محلی
مطابقت
نداشته
باشد، این
ویژگی
میتواند
کاملاً
اشتباه
باشد و در
زمان
خواندن
مشکلاتی
ایجاد کند.
برای
جلوگیری از
این امر
لازم است
بررسی شود
که آیا
پایانه به
درستی تمام
نام
فایلهای
مورد نظر،
به ویژه
نویسههای
ملی خاص را
نمایش
میدهد یا
خیر.
برای
اجباری
کردن ثبت یک
نام مجموعه
نویسه خاص
بدون هیچ
تبدیلی در
زمان تولید
تصویر، -charset و
-local_charset را روی
نام مورد
نظر تنظیم
کنید و -backslash_codes را
برای
جلوگیری از
نمایش
نویسههای
نامناسب در
پایانه خود
فعال
سازید.
- -charset character_set_name
- تنظیم مجموعه نویسهای که نام فایلها هنگام بارگذاری یک تصویر باید از آن تبدیل شوند و هنگام نوشتن یک تصویر به آن تبدیل گردند.
- -local_charset character_set_name
- بازنویسی فرض سیستم درباره نام مجموعه نویسه محلی. در صورت لزوم، باید تنظیم -backslash_codes روی "on" در نظر گرفته شود تا از ارسال کدهای باینری خطرناک به پایانه جلوگیری به عمل آید.
- پردازش استثناها (Exception processing):
از آنجا که
وظایف xorriso
گوناگون و
مستعد نفوذ
عوامل
خارجی
هستند،
ممکن است
نیاز به
گزارش و
مدیریت
رویدادهای
مشکلدار
توسط xorriso پیش
آید.
این
رویدادها
هنگام
شناسایی
توسط یکی از
ماژولهای
نرمافزاری
دستهبندی
شده و به
ماژولهای
گزارشدهی
و ارزیابی
که درباره
واکنشها
تصمیمگیری
میکنند
ارجاع داده
میشوند.
کلاسهای
رویداد بر
اساس شدت
مرتب
شدهاند:
"NEVER" انتهای
بالای طیف
شدت.
"ABORT" برنامه
در حال لغو
شدن و در
مسیر پایان
است.
"FATAL" هدف اصلی
اجرا با
شکست مواجه
شد یا یک
منبع مهم به
طور
غیرمنتظره
از کار
افتاد.
"FAILURE" بخش مهمی
از کار
نتوانست
انجام شود.
"MISHAP" یک FAILURE که در
حین تولید
تصویر ISO
قابل تحمل
است.
"SORRY" بخش
کماهمیتتری
از کار
نتوانست
انجام شود.
"WARNING" شرایطی
مشکوک به
این است که
مد نظر
کاربر
نبوده است.
"HINT"
پیشنهادی
به کاربر
برای
چگونگی
دستیابی به
نتایج بهتر.
"NOTE"
اطلاعاتی
بیخطر
درباره
شرایط قابل
توجه.
"UPDATE" پیام
آرامبخش
در طول
عملیات
طولانیمدت.
"DEBUG" پیامی که
فقط مورد
علاقه
توسعهدهندگان
برنامه
خواهد بود.
"ERRFILE" نام
فایلی برای
-errfile_log در صورت
فعال بودن.
"ALL" انتهای
پایین طیف
شدت.
- -abort_on severity
- تنظیم آستانه شدت رویدادها برای لغو (abort) برنامه. مقادیر مفید: "NEVER"، "ABORT"، "FATAL"، "FAILURE"، "MISHAP"، "SORRY". ممکن است علیرغم تنظیم با این دستور، لغو برنامه به هر حال ضروری شود. انتظار نداشته باشید که رویدادهای "ABORT" زیادی قابل چشمپوشی باشند. یک ویژگی خاص این دستور این است که اگر به عنوان آرگومان شروع برنامه داده شود، به صورت پیشدستانه کار میکند؛ یعنی اولین تنظیم -abort_on در میان آرگومانهای شروع زمانی اعمال میشود که اولین عملیات xorriso آغاز میگردد. تنها "-abort_on" با خطتیره "-" به این صورت شناخته میشود.
- -return_with severity exit_value
- تنظیم آستانه و exit_value که در پایان برنامه در صورت عدم وقوع سقط بازگردانده میشود. این به منظور اجازه دادن به xorriso برای ادامه کار پس از مشکلات اما دریافت یک مقدار خروج نشاندهنده شکست از برنامه است. یک مقدار کمتر از آستانه -abort_on تا حد "WARNING" مفید است. پارامتر exit_value ممکن است 0 (نشاندهنده موفقیت برای اجراکننده برنامه) یا عددی بین ۳۲ تا ۶۳ باشد. برخی exit_values دیگر توسط xorriso در صورتی که تصمیم به لغو اجرای برنامه بگیرد استفاده میشوند: 1=سقط ناشی از سیگنال خارجی 2=هیچ آرگومان برنامهای داده نشد 3=ایجاد شیء اصلی xorriso با شکست مواجه شد 4=شکست در شروع کتابخانههای libburnia-project.org 5=سقط برنامه در حین پردازش آرگومانها 6=سقط برنامه در حین پردازش گفتگو
- -report_about severity
- تنظیم آستانه برای گزارش رویدادها. مقادیر مفید: "SORRY"، "WARNING"، "HINT"، "NOTE"، "UPDATE"، "DEBUG"، "ALL". فارغ از اینکه چه چیزی با -report_about تنظیم شده است، اگر پیامها به آستانه شدت -abort_on برسند همیشه گزارش میشوند. پیامهای رویداد به کانال اطلاعات "I" ارسال میشوند که معمولاً stderr است اما ممکن است توسط دستور -pkt_output تغییر یابد. پیامهای اطلاعاتی که به هیچ رویدادی تعلق ندارند شدت "NOTE" دریافت میکنند. اولین تنظیم -report_about در میان آرگومانهای شروع از همان ابتدای عملیات اعمال میگردد.
- -signal_handling mode
- کنترل نصب یک مدیریتکننده سیگنال (signal handler) که باید به سیگنالهای خارجی (مثلاً از برنامه "kill" یا کلیدهای Ctrl+C) یا به سیگنالهای ناشی از خطاهای شدید برنامه واکنش نشان دهد. حالت "on" پیشفرض است. از مدیریتکننده سیگنال libburn استفاده میکند که پیامهای نامناسب تولید میکند اما تلاش زیادی برای آزادسازی درایوهای نوری قبل از پایان xorriso به خرج میدهد. حالت "off" به عنوان اولین -signal_handling در میان آرگومانهای شروع، از تمام اقدامات احتیاطی سیگنال خود xorriso جلوگیری میکند. تنظیمات مدیریتکننده سیگنال به ارث رسیده همانطور که هستند باقی میمانند. حالت "sig_dfl" از مدیریت پیشفرض ارائهشده توسط سیستم برای سیگنالها استفاده میکند که معمولاً یک سقط ناگهانی برنامه است. برای جلوگیری از گیر کردن درایوها، مدیریتکننده libburn در حین رایت، پاکسازی و فرمتبندی در درایوهای MMC استفاده میشود. حالت "sig_ign" سعی میکند تا حد امکان انواع سیگنالها را نادیده بگیرد. این خطر را به همراه دارد که xorriso از پایان کار خودداری کند تا زمانی که kill -9 خارجی انجام شود.
- -error_behavior occasion behavior
- کنترل رفتار برنامه در مواقع رویداد مشکل. در حال حاضر این گزینه برای موقعیتهای "image_loading" که هنگام خواندن یک درخت تصویر از دستگاه ورودی رخ میدهد، و "file_extraction" که با دستورات osirrox مانند -extract ارائه میشود، اعمال میگردد. با "image_loading" سه رفتار در دسترس است: "best_effort" پس از رویدادهایی با شدت کمتر از FAILURE در صورتی که آستانه دستور -abort_on اجازه دهد، به خواندن ادامه میدهد. "failure" خواندن درخت تصویر را در اولین رویداد با حداقل شدت SORRY متوقف میکند. این رویداد FAILURE اختصاصی خود را صادر میکند (پیشفرض). "fatal" مانند "failure" عمل میکند اما رویداد اختصاصی را به صورت FATAL صادر مینماید. با موقعیت "file_extraction" سه رفتار وجود دارد: "keep" فایلهای استخراجشده ناقص را روی دیسک نگه میدارد (پیشفرض). "delete" فایلهایی را که در حین استخراج محتوا با خطا مواجه شدهاند حذف میکند. "best_effort" در صورتی که محتوای فایل از تصویر ISO بارگذاریشده سرچشمه گرفته باشد و فیلتر نشده باشد، تلاش برای بازیابی را از طریق -extract_cut آغاز میکند.
- کنترل حالت گفتگو (Dialog mode control):
- -dialog "on"|"off"|"single_line"
- فعال یا غیرفعال کردن ورود به حالت گفتگو پس از پردازش تمام آرگومانهای برنامه. در حالت گفتگو خطوط ورودی از طریق readline یا از stdin درخواست میشوند. اگر هنگام شروع گفتگو هیچ شدت -abort_on تنظیم نشده باشد، مقدار "NEVER" تنظیم میشود تا در اکثر موارد ورودی اشتباه یا سایر مشکلات از لغو جلوگیری به عمل آید. قبل از شروع گفتگو پیشفرض "FAILURE" است که مثلاً با دستورات ناشناخته لغو میشود. حالت "on" از ورود نویسههای خط جدید درون علامتهای نقلقول و ادامه خط با بکاسلش انتهایی خارج از نقلقول پشتیبانی میکند. حالت "single_line" چنین نمیکند.
- -page length width
- توصیف پایانه برای صفحهبند متن. همچنین بند بالا، صفحهبند نتایج را ببینید. اگر طول پارامتر غیرصفر باشد، پس از آن تعداد خطوط پایانه از کاربر درخواست ورودی میشود. طول صفر صفحهبندی را غیرفعال میکند. پارامتر width تعداد نویسهها در هر خط پایانه است. عرض معمول پایانه ۸۰ است.
- -use_readline "on"|"off"
- اگر "on" باشد، از readline برای گفتگو استفاده کنید؛ در غیر این صورت از stdin ساده استفاده نمایید.
- -reassure "on"|"tree"|"off"
- اگر "on" باشد، از کاربر برای "y" یا "n" سوال بپرسید: قبل از حذف یا بازنویسی هر فایلی در تصویر ISO، قبل از بازنویسی هر فایل دیسک در طول عملیات بازیابی، قبل از بازگرداندن تغییرات معلق تصویر، قبل از ثبت تغییرات تصویر روی رسانه، قبل از تغییر درایو ورودی، قبل از پاکسازی یا فرمتبندی رسانه، قبل از پایان برنامه. با تنظیم "tree" اعلان اطمینانبخش برای یک پوشه احتمالی تنها یک بار ظاهر میشود و نه برای هر فایل در کل زیردرخت آن. تنظیم "off" بی سر و صدا هر نوع شیء فایلی تصویر را حذف کرده و اقدامات غیرقابلبازگشت بالا را انجام میدهد. برای تولید واقعی اعلانهای کاربر، دستور -dialog باید روی "on" تنظیم شود. توجه داشته باشید که این اعلان در موقعیتهایی که حذف فایل توسط دستور -overwrite ممنوع است ظاهر نمیشود. توجه داشته باشید که اشیاء فایلی بلافاصله پس از تأیید از تصویر ISO حذف میشوند. در صورت بروز به هم ریختگی شدید، استفاده از -rollback را برای لغو کل نشست در نظر بگیرید.
- اقدامات استعلام مربوط به درایو و رسانه:
- -devices
- نمایش فهرستی از درایوهای MMC در دسترس با نشانیهای فایلهای دستگاه استاندارد libburn آنها. این تنها زمانی امکانپذیر است که هیچ تغییری در تصویر ISO معلق نباشد. پس از اجرای این دستور، هیچ درایو جاری و هیچ تصویر بارگذاریشدهای وجود ندارد. برای قابل مشاهده بودن، یک دستگاه باید مجوزهای rw را با فایل دستگاه استاندارد libburn خود ارائه دهد. بنابراین ممکن است فقط کاربر ارشد (root) قادر به دیدن تمام درایوها باشد. درایوهایی که توسط فرآیندهای دیگر اشغال شدهاند نشان داده نمیشوند.
- -device_links
- مانند -devices اما با ارائه درایوها با آدرسهای پیوندهای نمادین که به فایلهای واقعی دستگاه اشاره میکنند. سیستمهای مدرن GNU/Linux ممکن است آدرسهای درایو را از بوتی به بوت دیگر جابجا کنند. دیمن udev قرار است پیوندهایی ایجاد کند که همیشه به همان درایو اشاره کنند، صرف نظر از آدرس سیستمی آن. دستور -device_links نشانی چنین پیوندهایی را در صورتی که با "/dev/dvd" یا "/dev/cd" شروع شوند نشان میدهد. تقدم به صورت زیر است: "dvdrw"، "cdrw"، "dvd"، "cdrom"، "cd".
- -toc
- نمایش جدول محتوای خاص رسانه. این تاریخچه نشست رسانه است و نه درخت پوشه تصویر ISO. در مورد رسانههای قابل بازنویسی که تصویر ISO معتبری دارند، ممکن است فقط یک نشست واحد نشان داده شود. اما اگر اولین نشست روی رسانه با قابلیت بازنویسی توسط xorriso نوشته شده باشد، یک تاریخچه نشست کامل قابل شبیهسازی است. درایوی که قادر به نوشتن نیست ممکن است هر رسانهای را به عنوان CD-ROM یا DVD-ROM با تنها یک یا دو نشست نشان دهد. برخی درایوها و رسانههای فقطخواندنی هیچ تاریخچه نشست قابل استفادهای را نشان نمیدهند. دستور -rom_toc_scan ممکن است کمک کند. اگر دستگاه ورودی و دستگاه خروجی هر دو در اختیار گرفته شده و یکسان نباشند، هر دو جدول محتوا نشان داده میشوند.
- -toc_of "in"|"out"|"all"[":short"]
- مانند دستور -toc اما با انتخاب صریح اینکه جدول محتوای کدام درایو نشان داده شود. مقدار "in" درایو -indev یا -dev را نشان میدهد، "out" درایو -outdev یا -dev را نشان میدهد، "all" همان خروجی -toc را نشان میدهد. اگر "short:" به کلمه انتخاب درایو اضافه شود، فقط خلاصه کوتاهی از وضعیت درایو و محتوای رسانه چاپ میشود. بر خلاف -toc، این دستور در صورتی که درایو مورد نظر در اختیار گرفته نشده باشد، رویداد FAILURE صادر نمیکند.
- -toc_info_type typetext
- انتخاب اینکه چه اطلاعاتی در ستون سمت راست -toc و -toc_of نشان داده شود. نوع "volid" پیشفرض است. شناسههای حجم نشستهای ISO فهرستشده را نشان میدهد. نوع "creation_time" یا "ctime" زمانهای ایجاد را انتخاب میکند. نوع "modification_time" یا "mtime" زمانهای تغییر را انتخاب میکند. افزودن "gmt_" به متن نوع زمان باعث میشود اطلاعات زمانی در قالب ECMA-119 به شکل YYYYMMDDhhmmsscc در منطقه زمانی GMT نشان داده شوند. در غیر این صورت به عنوان برچسبهای زمانی YYYY.MM.DD.hhmmss در منطقه زمانی محلی سیستم نمایش داده میشوند.
- -assess_indev_features "plain"|"cmd"|"as_mkisofs"|"replay"
- بررسی سیستمفایل روی -indev از نظر وجود Rock Ridge، Joliet یا توصیفکننده حجم بهبودیافته (یا همان ISO 9660:1999) بر اساس ویرایش چهارم ECMA-119، و ردپای سایر گزینههای نوشتن که به نظر میرسد هنگام ایجاد سیستمفایل استفاده شدهاند. توجه داشته باشید که این دستور درخت HFS+ احتمالی را شناسایی و گزارش نمیکند. حالت "cmd" دستورات xorriso را که تنظیمات شناساییشده را فعال میکنند فهرست میکند. حالت "as_mkisofs" گزینههای شبیهسازی -as mkisofs را فهرست میکند که تنظیمات غیرپیشفرض شناساییشده را فعال مینمایند. حالت "replay" دستوراتی را که توسط حالت "cmd" فهرست شدهاند اجرا میکند. حالت "plain" پس از یک سرآیند "Indev feature: " جفتهای نام-مقدار ارائهشده توسط تابع libisofs iso_read_image_feature_named() را فهرست میکند.
- -mount_cmd drive entity id path
- صدور یک خط فرمان مناسب برای سوار کردن نشست ISO مشخصشده توسط drive، entity و id. نتیجه در GNU/Linux و FreeBSD یا NetBSD متفاوت خواهد بود. پارامتر drive میتواند "indev" یا "outdev" برای نشان دادن درایوهای قبلاً در اختیار گرفتهشده باشد، یا میتواند مسیر یک درایو هنوز در اختیار گرفتهنشده باشد. برای معنای entity و id به دستور -load مراجعه کنید. پارامتر path به عنوان نقطه اتصال استفاده خواهد شد و باید از قبل به عنوان یک پوشه روی دیسک وجود داشته باشد. این دستور در کانال نتایج چاپ میشود. دستور -mount را برای اجرای مستقیم ببینید.
- -mount_opts option[:option...]
- تنظیم گزینههایی که بر -mount و -mount_cmd تأثیر میگذارند. در حال حاضر تنها گزینه "exclusive" (پیشفرض) و همتای آن "shared" وجود دارد. دومی باعث میشود xorriso درایو مربوطه را با دستور -mount رها نکند. در GNU/Linux گزینه سوار کردن "loop" را اضافه میکند که ممکن است سوار کردن چندین نشست از همان دستگاه بلوکی را به طور همزمان امکانپذیر سازد. البته نباید روی رسانه نوری سوارشده نوشت. قبل از بیرون دادن مطمئن شوید که تمام نشستها umount شدهاند.
- -session_string drive entity id format
- چاپ متنی در کانال نتایج که طبق format و پارامترهای نشست آدرسدهیشده ترکیب شده است. قالبهای "linux:"path یا "freebsd:"path خروجی -mount_cmd را برای سیستمعاملهای دادهشده تولید میکنند. در سایر متون xorriso نامهای پارامتر زیر را جایگزین خواهد کرد: "%device%" با مسیر دستگاه قابل سوار شدن نشانی درایو جایگزین میشود. "%sbsector%" با بخش شروع نشست جایگزین میشود. "%track%"، "%session%" و "%volid%" با شماره ترک، شماره نشست یا شناسه حجم نشست نشاندادهشده جایگزین میشوند.
- -print_size
- چاپ مصرف قابل پیشبینی بلوکهای ۲۰۴۸ بایتی توسط -commit بعدی. این میتواند مدتی طول بکشد زیرا یک -commit آماده میشود و تنها در آخرین لحظه توسط این دستور لغو میگردد. اگر هیچ گزینه -jigdo تنظیم نشده باشد و دستور -as "mkisofs" استفاده نشده باشد، پرکردن (به طور پیشفرض 300 kB) به عنوان بخشی از اندازه تصویر محاسبه نمیشود. اگر یک فایل تصویر بوت El Torito از قبل مشخص شده باشد، دستور -print_size به صورت خودکار -boot_image "any" "next" را اجرا میکند. این بدان معناست که ویژگیهای آن تصویر بوت نمیتواند توسط دستورات بعدی ویرایش شود.
- -tell_media_space
- چاپ فضای موجود در رسانه خروجی و فضای آزاد پس از کم کردن مصرف قابل پیشبینی توسط -commit بعدی. توجه داشته باشید که عنوان پیشبینی "After commit :" گمراهکننده است. این فضایی است که همچنان میتواند در این نشست پر شود بدون اینکه باعث شکست -commit بعدی به دلیل سرریز رسانه شود. فضای آزاد پس از -commit بعدی ممکن است چندین مگابایت کوچکترا باشد.
- -pvd_info
- چاپ رشتههای شناسه مختلف و برچسبهای زمانی که میتوان در تصاویر ISO بارگذاریشده یافت. برخی از شناسهها ممکن است با دستوراتی مانند -volid یا -publisher تغییر یابند. برای این شناسهها -pvd_info آنچه را که با -commit بعدی نوشته میشود گزارش میدهد. برچسبهای زمانی در قالب ECMA-119 به صورت YYYYMMDDhhmmsscc و در منطقه زمانی GMT نشان داده میشوند.
- -report_el_torito mode
- با حالت plain گزارشی درباره اطلاعات یافتشده در کاتالوگ بوت El Torito تصویر ISO بارگذاریشده چاپ کنید. با حالت help متنی را چاپ کنید که معنای خطوط ارائهشده توسط "plain" را توضیح میدهد. حالت cmd سعی میکند دستورات xorriso را که برای تولید تجهیزات بوت یافتشده لازم است چاپ کند: شناسههای دیسک، تصاویر بوت El Torito، و ناحیه سیستم. حالت as_mkisofs سعی میکند گزینههای xorriso -as mkisofs را که برای تولید تجهیزات یافتشده لازم است چاپ کند. اگر تجهیزات CHRP شناسایی شوند، حالتهای cmd و as_mkisofs برخی از دستورات یا گزینههای تسهیل را که توسط دستور -assess_indev_features شناسایی میشوند صادر میکنند. به یاد داشته باشید که مسیرهای فایل نشاندادهشده در خطوط گزارش و دستورات مستقیماً پس از بارگذاری تصویر ثبت شدهاند. دستکاریهای بعدی که این مسیرها را حذف کنند بر خطوط گزارش یا دستورات تأثیری نخواهند داشت.
- -report_system_area mode
- با حالت plain گزارشی درباره اطلاعات یافتشده در ناحیه سیستم تصویر ISO بارگذاریشده چاپ کنید. با حالت help متنی را چاپ کنید که معنای خطوط ارائهشده توسط "plain" را توضیح میدهد. حالتهای cmd و as_mkisofs مانند دستور -report_el_torito کار میکنند. با حالت gpt_disk_guid شناسه GUID دیسک GPT مربوط به ISO بارگذاریشده را در قالب متنی RFC 4122 در کانال نتایج چاپ کنید. با حالت gpt_crc_of:disk_path حداکثر ۳۲ کیلوبایت از فایل دیسک با مسیر دادهشده پس از دونقطه بخوانید. عدد CRC منطبق با GPT را محاسبه کرده و در کانال نتایج چاپ کنید؛ مانند "0x690fd979". مسیر دیسک ویژه "-" باعث خواندن از ورودی استاندارد میشود. با حالت make_guid یک GUID شبهتصادفی در قالب متنی RFC 4122 در کانال نتایج چاپ کنید.
- ناوبری در تصویر ISO و سیستمفایل دیسک:
- -cd iso_rr_path
- تغییر پوشه کاری جاری در تصویر ISO. این مسیر به ابتدای iso_rr_paths که با '/' شروع نمیشوند اضافه میشود. میتوان پوشه کاری را روی مسیری تنظیم کرد که هنوز در تصویر ISO وجود ندارد. پوشههای والد لازم زمانی ایجاد میشوند که اولین شیء فایلی در آن پوشه مجازی درج شود. در صورت تمایل به اجبار برای وجود پوشه از قبل در اولین درج، از -mkdir استفاده کنید.
- -cdx disk_path
- تغییر پوشه کاری جاری در سیستمفایل محلی. به ابتدای disk_paths که با '/' شروع نمیشوند اضافه میشود.
- -pwd
- اعلام پوشه کاری جاری در تصویر ISO.
- -pwdx
- اعلام پوشه کاری جاری در سیستمفایل محلی.
- -ls iso_rr_pattern [***]
- فهرست کردن فایلها در تصویر ISO که با الگوهای پوسته مطابقت دارند (یعنی با نویسههای عام '*'، '?' و '[a-z]'). اگر الگویی با '/' شروع نشود، با نشانیهای نسبی به -cd مقایسه میشود. پوشهها با محتوای خود فهرست میشوند و نه به عنوان تکمورد فایلی. گسترش الگو ممکن است با دستور -iso_rr_pattern غیرفعال شود.
- -lsd iso_rr_pattern [***]
- مانند -ls اما پوشهها را به عنوان خودشان فهرست میکند و نه با محتوای آنها. این شبیه دستور ls -d پوسته است.
- -lsl iso_rr_pattern [***]
- مانند -ls اما برخی از ویژگیهای فایل را نیز فهرست میکند. قالب خروجی شبیه دستور ls -ln پوسته است. نوع فایل 'e' کاتالوگ بوت El Torito را نشان میدهد. اگر فایل دارای ACL غیربدیهی باشد، یک '+' به اطلاعات مجوز اضافه میشود. اگر فایل مخفی باشد، 'I' برای "iso_rr"، 'J' برای "joliet"، 'A' برای "hfsplus" و 'H' برای مخفیسازی چندگانه اضافه میشود. همراه با ACL به صورت 'i'، 'j'، 'a' و 'h' خواهد بود.
- -lsdl iso_rr_pattern [***]
- مانند -lsd اما برخی از ویژگیهای فایل را نیز فهرست میکند. قالب خروجی شبیه دستور ls -dln پوسته است.
- -lsx disk_pattern [***]
- فهرست کردن فایلها در سیستمفایل محلی که با الگوهای پوسته مطابقت دارند. الگوهایی که با '/' شروع نمیشوند نسبت به -cdx استفاده میشوند. پوشهها با محتوای خود فهرست میشوند. گسترش الگو با -disk_pattern قابل غیرفعال شدن است.
- -lsdx disk_pattern [***]
- مانند -lsx اما پوشهها را به عنوان خودشان فهرست میکند و نه با محتوای آنها. شبیه به دستور ls -d پوسته.
- -lslx disk_pattern [***]
- مانند -lsx اما برخی از ویژگیهای فایل را نیز فهرست میکند. قالب خروجی شبیه به دستور ls -ln پوسته است.
- -lsdlx disk_pattern [***]
- مانند -lsdx اما برخی از ویژگیهای فایل را نیز فهرست میکند. قالب خروجی شبیه به دستور ls -dln پوسته است.
- -getfacl iso_rr_pattern [***]
- چاپ مجوزهای دسترسی فایلهای دادهشده در تصویر ISO با استفاده از قالب دستور getfacl در پوسته. اگر فایلی ACL نداشته باشد، از تنظیمات -chmod ساخته میشود. یک فایل ممکن است در صورتی که در حین فعال بودن دستور -acl به تصویر وارد شده باشد، ACL واقعی داشته باشد.
- -getfacl_r iso_rr_pattern [***]
- مانند -getfacl اما به صورت بازگشتی کل درختهای فایلی زیر پوشههای احتمالی را فهرست میکند.
- -getfattr iso_rr_pattern [***]
- چاپ ویژگیهای xattr فایلهای دادهشده در تصویر ISO. اگر فایلی چنین ویژگیهایی نداشته باشد، چیزی برای آن چاپ نمیشود. انتخاب فضاهای نام به تنظیم دستور -xattr بستگی دارد.
- -getfattr_r iso_rr_pattern [***]
- مانند -getfattr اما به صورت بازگشتی کل درختهای فایلی زیر پوشهها را فهرست میکند.
- -lsattr iso_rr_pattern [***]
- چاپ ویژگیهای فایل لینوکس برای فایلهای دادهشده همانطور که برنامه lsattr(1) با فایلهای دیسک انجام میدهد. معنای حروف فلگ نشان داده شده در man 1 chattr به استثنای '-' که به عنوان جایگزین برای فلگ تنظیمنشده نشان داده میشود، شرح داده شده است. فایلهای دادهشده حتی اگر هیچ ویژگی فایل لینوکس به آنها پیوست نشده باشد یک خط چاپ دریافت خواهند کرد که در آن تمام فلگها به صورت '-' نشان داده میشوند.
- -lsattrd iso_rr_pattern [***]
- مانند -lsattr اما در صورتی که iso_rr_path به یک پوشه ختم شود، ویژگیهای پوشه را به جای ویژگیهای فایلهای درون پوشه فهرست میکند.
- -get_projid iso_rr_pattern [***]
- چاپ شناسههای پروژه به سبک XFS برای اشیاء فایلی دادهشده. روی دیسک این اطلاعات میتواند توسط برنامههای lsattr(1) یا xfs_quota(8) بررسی شود.
- -get_projid_r iso_rr_pattern [***]
- مانند -get_projid اما به صورت بازگشتی کل درختهای فایلی زیر پوشهها را فهرست میکند.
- -du iso_rr_pattern [***]
- فهرست کردن بازگشتی اندازه پوشهها و فایلها در تصویر ISO که با یکی از الگوها مطابقت دارند؛ شبیه به دستور du -k در پوسته.
- -dus iso_rr_pattern [***]
- فهرست کردن اندازه پوشهها و فایلها در تصویر ISO که با یکی از الگوها مطابقت دارند؛ شبیه به دستور du -sk در پوسته.
- -dux disk_pattern [***]
- فهرست کردن بازگشتی اندازه پوشهها و فایلها در سیستمفایل محلی که با یکی از الگوها مطابقت دارند؛ شبیه به دستور du -k در پوسته.
- -dusx disk_pattern [***]
- فهرست کردن اندازه پوشهها و فایلها در سیستمفایل محلی که با یکی از الگوها مطابقت دارند؛ شبیه به دستور du -sk در پوسته.
- -findx disk_path [test [op] [test ...]] [-exec action [params]] --
- مانند -find اما
روی
سیستمفایل
محلی عمل
میکند و نه
روی تصویر ISO.
دستور -findx
مشمول
تنظیمات -follow
است. دستور -findx
همان
آزمونهای
-find را
میپذیرد،
اما تنها
موارد زیر
مانند آنچه
با -find شرح
داده شد کار
میکنند:
-bad_outname، -decision، -disk_name، -disk_path، -has_acl،
-has_any_xattr، -has_lfa_flags، -has_some_lfa_flags_of،
-has_projid، -has_xattr، -lba_range، -maxdepth، -mindepth،
-name، -or_use_pattern، -prune، -size، -true، -type،
-use_pattern، -wholename سایر موارد به -false پیشفرض میشوند زیرا برای فایلهای دیسک قابل اعمال نیستند. آزمون -type همان پارامترهای -find را میپذیرد. علاوه بر این نوع "mountpoint" (یا "m") را میشناسد که با زیرپوشههایی که روی دستگاه متفاوتی نسبت به والد خود قرار دارند مطابقت دارد. این نوع هرگز با disk_path ارائهشده به عنوان نشانی شروع برای -findx مطابقت ندارد. آزمون -lba_range تنها در صورتی مطابقت دارد که پارامتر start_lba آن 0 باشد. آزمونهای -has_lfa_flags و -has_some_lfa_flags_of در صورتی که -lfa_flags روی on:import_only_settable تنظیم شده باشد، فلگهای ویژگی غیرقابلتنظیم را نادیده میگیرند. دستور -findx اقدامات -exec را مانند -find میپذیرد. اما به جز چند اقدام زیر، همیشه اقدام "echo" را انجام میدهد: اقدام in_iso در صورتی که همتای آن در تصویر ISO وجود داشته باشد، مسیر را گزارش میکند؛ برای این کار disk_path با iso_rr_path جایگزین میشود؛ مانند: -findx /home/thomas -exec in_iso /thomas_on_cd -- اقدام not_in_iso در صورتی که همتای آن در تصویر ISO وجود نداشته باشد، مسیر را گزارش میکند. قالب گزارش مانند دستور -compare است. اقدام add_missing iso_rr_path_start همتا را در صورتی که هنوز در تصویر ISO وجود نداشته باشد اضافه میکند و آن را برای "rm_merge" به عنوان غیرقابلحذف علامتگذاری مینماید؛ مانند: -findx /home/thomas -exec add_missing /thomas_on_cd -- اقدام is_full_in_iso گزارش میدهد که آیا همتا در تصویر ISO حاوی فایل است یا خیر. برای استفاده با -type "m" برای گزارش نقاط اتصال. اقدام empty_iso_dir تمام فایلها را از همتا در تصویر ISO حذف میکند. برای استفاده با -type "m" برای کوتاه کردن نقاط اتصال. اقدام print_outname در خط اول نام فایل یافتشده روی دیسک، و در خط دوم نام فایل پس از تبدیل رفت و برگشت بین مجموعه نویسه محلی و یکی از فضاهای نام را چاپ میکند. خط سوم خروجی "--" است. اقدام estimate_size تخمینی از تعداد بلوکهایی را که فایلهای یافتشده با هم در تصویر ISO در حال تولید اشغال میکنند چاپ مینماید. اقدام getfacl مجوزهای دسترسی را در قالب متنی ACL چاپ میکند. اقدام getfattr جفتهای نام-مقدار xattr را در کانال نتایج چاپ میکند. اقدام get_any_xattr جفتهای نام-مقدار xattr را از تمام فضاهای نام بدون در نظر گرفتن تنظیم دستور -xattr چاپ میکند. اقدام list_extattr mode اسکریپتی را در کانال نتایج چاپ میکند که از دستور setextattr در FreeBSD برای تنظیم جفتهای نام-مقدار xattr استفاده مینماید. اقدام lsattrd فلگهای ویژگی فایل لینوکس را همانند دستور -lsattrd در کانال نتایج چاپ میکند. اقدام get_projid شماره شناسه پروژه به سبک XFS را چاپ میکند. اقدام get_projid_minmax در پایان کمترین و بیشترین شمارههای شناسه پروژه را چاپ مینماید. - -compare disk_path iso_rr_path
- مقایسه ویژگیها و محتوای احتمالی فایل داده یک شیء فایلی در سیستمفایل محلی با یک شیء فایلی در تصویر ISO. مسیر iso_rr_path ممکن است به شیء فایلی تصویری اشاره کند که هنوز commit نشده است؛ یعنی محتوای داده آن هنوز در سیستمفایل محلی قرار دارد. چنین محتوایی مستعد تغییرات ناشی از عوامل خارجی است. اگر iso_rr_path خالی باشد، از disk_path به عنوان مسیر در تصویر ISO نیز استفاده میشود. ویژگیهای متفاوت به طور دقیق گزارش میشوند، محتوای متفاوت خلاصه میشود. هر دو در کانال نتایج. در صورت عدم وجود تفاوت هیچ خط نتیجهای صادر نمیشود.
- -compare_r disk_path iso_rr_path
- مانند -compare اما به صورت بازگشتی کار میکند؛ یعنی تمام اشیاء فایلی زیر هر دو نشانی مقایسه میشوند که آیا همتایانی زیر نشانی دیگر دارند و آیا هر دو همتا مطابقت دارند یا خیر.
- -compare_l disk_prefix iso_rr_prefix disk_path [***]
- اجرای -compare_r با هر یک از پارامترهای disk_path. مسیر iso_rr_path از روی disk_path با جایگزینی disk_prefix با iso_rr_prefix ساخته خواهد شد.
- -show_stream iso_rr_path [***]
- نمایش
زنجیره
جریان
محتوای
فایلهای
داده در
تصویر ISO.
زنجیره
شامل iso_rr_name و یک
یا چند
جریان است
که با
علامتهای
" < " جدا
شدهاند.
توصیف
جریان شامل
یک یا چند
متن است که
با
نویسههای
":" از هم جدا
شدهاند.
اولین متن
نوع جریان
را اعلام
میکند،
متنهای
بعدی
ویژگیهای
فردی آن را
شرح
میدهند.
انواع
پرکاربرد
عبارتند از:
disk:'disk_path' برای اشیاء سیستمفایل محلی.
image:'iso_rr_path' برای اشیاء فایلی تصویر ISO.
cout:'disk_path offset count' برای فایلهای -cut_out.
extf:'filter_name' برای فیلترهای خارجی.
zisofs:algorithm:block_size-- برای فیلترهای فشردهسازی zisofs.
zisofs-decode:algorithm:block_size-- برای فیلترهای از حالت فشرده خارجسازی zisofs.
gzip-- برای فیلترهای فشردهسازی داخلی gzip.
gunzip-- برای فیلترهای بازگشایی فشردهسازی داخلی gzip. مثال:
'/abc/xyz.gz' < extf:'gzip' < disk:'/home/me/x' - -show_stream_r iso_rr_path [***]
- مانند -show_stream اما به صورت بازگشتی عمل میکند.
- ارزیابی قابلیت خواندن و بازیابی (Evaluation of readability and recovery):
غیرمعمول نیست که رسانههای نوری خطاهای خواندن تولید کنند. دلایل ممکن است گوناگون باشد و توسط تصحیح خطایی که توسط درایوها انجام میشود و بر اساس دادههای اضافی روی رسانه است پنهان شود. اگر یک درایو دادهها را بازگرداند، میتوان کاملاً اطمینان داشت که معتبر هستند. اما در سطحی از مشکلات خواندن، تصحیح خطا با شکست مواجه میشود و انتظار میرود درایو خطا را نشان دهد. برنامه xorriso میتواند یک رسانه را برای بلوکهای داده قابل خواندن پویش کند، آنها را بر اساس سرعت خواندنشان دستهبندی نماید، آنها را در یک فایل ذخیره کند و بلوکهای با موفقیت ذخیرهشده را برای تلاشهای بعدی روی همان رسانه پیگیری نماید. با دستور -md5 چکسامها ممکن است با فایلهای داده و کل نشستها ثبت شوند. این چکسامها تنها از طریق indev و یک تصویر بارگذاریشده قابل دسترسی هستند. آنها مستقل از نوع رسانه کار میکنند و میتوانند خطاهای انتقال را تشخیص دهند.
- -check_media [option [option ...]] --
- تلاش برای خواندن بلوکهای داده از درایو indev، کپی اختیاری آنها در یک فایل دیسک، و در نهایت گزارش کیفیت مشاهدهشده. چندین گزینه ممکن است برای تغییر رفتار پیشفرض استفاده شود. پارامترهای دادهشده با این دستور تنظیمات پیشفرض را که ممکن است توسط دستور -check_media_defaults تغییر کرده باشند بازنویسی میکنند. برای توصیف گزینههای موجود به آنجا مراجعه کنید. فهرست نتیجه بازههای بلوکهای ۲ کیلوبایتی را با نشانی شروع، تعداد بلوکها و کیفیت اعلام میکند. کیفیتهایی که با "+" شروع میشوند دادههای خواندنی معتبر فرض میشوند. کیفیتهای با "-" دادههای غیرقابلخواندن یا خراب هستند. عدد "0" نشاندهنده کیفیتهایی است که توسط اجرای بررسی پوشش داده نشدهاند یا به طور معمول مجاز به غیرقابلخواندن بودن هستند (مانند شکافهای بین ترکها). به عنوان جایگزین امکان گزارش فایلهای آسیبدیده به جای بلوکها وجود دارد. اگر -md5 روی "on" باشد، حالت پیشفرض what=tracks به دنبال برچسبهای چکسام libisofs برای دادههای نشست ISO میگردد و آنها را در برابر چکسامهای محاسبهشده از جریان داده بررسی میکند.
- -check_media_defaults [option [option ...]] --
- پیشتنظیم
گزینهها
برای
اجراهای
-check_media، -extract_cut و
استخراج
فایل best_effort.
گزینههای
ارائهشده
با -check_media
گزینههای
پیشتنظیم
را
بازنویسی
میکنند.
دستور -extract_cut
برخی از
گزینهها
را به صورت
خودکار
بازنویسی
میکند. یک
گزینه شامل
یک کلمه
کلیدی، یک
نویسه "=" و
یک مقدار
است.
گزینهها
ممکن است
یکدیگر را
بازنویسی
کنند؛
بنابراین
ترتیب
آنها
اهمیت دارد.
تنظیم
پیشفرض در
شروع
برنامه به
شرح زیر
است:
use=indev what=tracks min_lba=-1 max_lba=-1 retry=default
time_limit=28800 item_limit=100000 data_to='' event=ALL
abort_file=/var/opt/xorriso/do_abort_check_media
sector_map='' map_with_volid=off patch_lba0=off report=blocks
bad_limit=invalid slow_limit=1.0 chunk_size=0s async_chunks=0 گزینه "reset=now" این پیشفرضهای شروع را بازیابی میکند. گزینههای غیرپیشفرض عبارتند از: گزینه report="files" فایلهایی را که از بلوکهای آسیبدیده استفاده میکنند فهرست میکند (نه با use=outdev). قالب آن مانند find -exec report_damage است. عدم تطابق نشست MD5 تمام فایلهای نشست را آسیبدیده علامتگذاری میکند. گزینه report="blocks_files" ابتدا بلوکهای آسیبدیده و سپس فایلهای آسیبدیده را فهرست میکند. گزینه use="outdev" از درایو خروجی به جای درایو ورودی میخواند. این امر از بارگذاری درخت تصویر ISO از رسانه جلوگیری میکند. گزینه use="sector_map" هیچ رسانهای را نمیخواند بلکه فایل دادهشده با گزینه =sector_map را بارگذاری کرده و این نتیجه مجازی را پردازش میکند. گزینه what="disc" محدوده بار مفید یک رسانه را بدون در نظر گرفتن شکافهای ترک پویش میکند. گزینه what="image" شبیه به "disc" است، اما پویش را به محدوده تصویر ISO 9660 در صورت وجود محدود میکند. گزینه min_lba=limit تمام بلوکهای با آدرس کمتر از حد را نادیده میگیرد. گزینه max_lba=limit به what=disc جابجا شده و تمام بلوکهای بالاتر از حد را نادیده میگیرد. گزینه chunk_size=size تعداد بایتهایی را که باید در یک عملیات خواندن سطح پایین خوانده شوند تنظیم میکند. این مقدار به بلوکهای کامل ۲۰۴۸ بایتی گرد میشود. عدد 0 به معنای اندازه خودکار است. گزینه retry="on" تلاشهای مجدد خواندن را با حداقل اندازه تکه معقول زمانی که تکه خواندن عادی خطای خواندن تولید میکند، اجباری میکند. این اندازه با فایلهای CD و stdio برابر 1s است، با DVD برابر 16s (۱ بلوک ECC) و با BD برابر 32s (۱ کلاستر). به صورت پیشفرض تلاشهای مجدد فقط با رسانههای CD فعال هستند. "retry=off" تلاش مجدد را برای همه انواع رسانهها ممنوع میکند. گزینه abort_file=disk_path مسیر فایلی را میدهد که ممکن است اجرای پویش را متوقف کند. سقط زمانی اتفاق میافتد که فایل وجود داشته باشد و mtime آن قدیمیتر از زمان شروع اجرا نباشد. از دستور پوسته "touch" برای راهاندازی این مورد استفاده کنید. گزینه time_limit=seconds تعداد ثانیههایی را مشخص میکند که پس از آن پویش باید لغو شود. برای پویش بدون نظارت رسانهها مفید است. مقدار 1- به معنای زمان نامحدود است. گزینه item_limit=number تعداد موارد فهرست گزارش را که پس از آن باید سقط شود مشخص میکند. مقدار 1- به معنای تعداد نامحدود است. گزینه data_to=disk_path بلوکهای معتبر را در فایل دادهشده کپی میکند که باید از نوشتن با دسترسی تصادفی پشتیبانی کند، مگر اینکه disk_path برابر "-" باشد که به معنای خروجی استاندارد است. در حالت دوم تنظیمات patch_lba0= غیر از "off" منجر به شکست میشوند. علاوه بر این پیامهای نتیجه معمول -check_media به کانال اطلاعات هدایت میشوند. گزینه event=severity شدت دادهشده را برای یک رویداد مشکل تنظیم میکند که در صورت غیرقابلخواندن بودن بلوکهای داده یا عدم تطابق با چکسامهای MD5 ثبتشده در پایان اجرای بررسی صادر میشود. شدت "ALL" این رویداد را غیرفعال میکند. گزینه sector_map=disk_path سعی میکند فایل دادهشده توسط disk_path را به عنوان بیتمپ بخش بخواند و پس از اجرای پویش چنین فایل نقشهای را ذخیره کند. این بیتمپ نشان میدهد که کدام بلوکها در اجراهای قبلی با موفقیت خوانده شدهاند. گزینه map_with_volid="on" ترکها را بررسی میکند که آیا تصاویر ISO هستند یا خیر و شناسههای حجم آنها را در TOC قابل خواندن توسط انسان در =sector_map چاپ میکند. گزینه patch_lba0="on" در فایل =data_to یک کپی از سر نشست بارگذاریشده فعلی را به ابتدای آن فایل منتقل کرده و آن را وصله میکند تا در آن موقعیت معتبر باشد. گزینه patch_lba0="force" عملیات patch_lba0="on" را حتی اگر xorriso معتقد باشد که دادههای کپیشده معتبر نیستند، انجام میدهد. گزینه bad_limit=threshold بالاترین کیفیتی را که باید به عنوان آسیب در نظر گرفته شود تنظیم میکند. یکی از موارد زیر را انتخاب کنید: "good"، "md5_match"، "slow"، "partial"، "valid"، "untested"، "md5_mismatch"، "invalid"، "tao_end"، "off_track" یا "unreadable". گزینه slow_limit=threshold آستانه زمانی را برای اینکه یک تکه خواندن منفرد کند در نظر گرفته شود تعیین میکند. ممکن است یک عدد کسری مانند 0.1 یا 1.5 باشد. گزینه async_chunks=number پردازش ناهمگام MD5 را در صورتی که عدد ۲ یا بزرگتر باشد فعال میکند. - -check_md5 severity iso_rr_path [***]
- مقایسه محتوای داده فایلهای دادهشده در تصویر بارگذاریشده با چکسامهای MD5 ثبتشده آنها در صورت وجود و بارگذاری شدن. در صورت عدم تطابق رویدادی با شدت دادهشده صادر میشود. شدت ALL آن رویداد را سرکوب میکند. این دستور تطابق و عدم تطابق فایلهای داده را در کانال نتایج گزارش میدهد. اگر هیچ iso_rr_path داده نشود، کل نشست بارگذاریشده با مجموع MD5 آن مقایسه میشود.
- -check_md5_r severity iso_rr_path [***]
- مانند -check_md5 اما تمام فایلهای داده زیر مسیرهای دادهشده را بررسی میکند. فقط فایلهای دادهای که مطابقت ندارند گزارش خواهند شد.
- دستورات بازیابی ISO به دیسک osirrox:
به طور معمول xorriso تنها در فایلهای دیسکی مینویسد که به عنوان درایوهای ساختگی stdio: یا فایلهای گزارش ارائه شدهاند. اما همتای آن osirrox قادر است اشیاء فایلی را از تصاویر ISO استخراج کرده و اشیاء فایلی را روی دیسک ایجاد، بازنویسی یا حذف کند. استثناهای فایل دیسک توسط -not_mgt، -not_leaf و -not_paths اعمال میشوند. آزمایشهای استثنا با مسیرها و نامهای فایلهای دیسک انجام میشوند. پارامترهای مستثنیشده disk_path دستورات استخراج باعث ایجاد رویدادهای SORRY میشوند. مسیرهای دادهشده به طور ضمنی در درختان زیر پارامترهای disk_path بی سر و صدا مستثنی میگردند. اگر اشیاء فایل دیسک از قبل وجود داشته باشند، تنظیمات -overwrite و -reassure اعمال میشوند. اما -overwrite "on" تنها رفتار -overwrite "nondir" را فعال میکند؛ یعنی پوشهها نمیتوانند حذف شوند. مجوزهای دسترسی فایلها در تصویر ISO مانع بازیابی نمیشوند. مجوزهای پوشه روی دیسک باید rwx را مجاز بدانند.
- -osirrox setting[:option:...]
- تنظیم off دستکاری سیستمفایل دیسک را غیرفعال میکند. این پیشفرض است مگر اینکه برنامه با نام برگ osirrox شروع شده باشد. در غیر این صورت قابلیت بازیابی فایلها میتواند صریحاً توسط -osirrox on فعال شود. این قابلیت میتواند با -osirrox banned به طور غیرقابللغو غیرفعال گردد. تنظیم blocked مانند off است اما تنها میتواند با تنظیم unblock لغو شود. فعال کردن بازیابی فایلهای خاص با device_files به طور بالقوه خطرناک است. در صورت عدم فعالسازی، فایلهای دستگاه در تصویر ISO در طول عملیات بازیابی نادیده گرفته میشوند. گزینه concat_split_on پیشفرض است. بازیابی پوشههای فایل تقسیمشده را به عنوان فایلهای داده در صورتی که پوشه شامل مجموعه کاملی از فایلهای قطعه -cut_out باشد، فعال میسازد. با گزینه concat_split_off با چنین پوشههایی مانند هر پوشه دیگر تصویر ISO رفتار میشود. گزینه auto_chmod_off پیشفرض است. اگر auto_chmod_on تنظیم شود، محدودیتهای دسترسی برای پوشههای دیسک در صورتی که آن پوشهها متعلق به کاربر مؤثری باشد که xorriso را اجرا میکند دور زده میشوند. این امر با اعطای موقت مجوز rwx به مالک صورت میپذیرد. گزینه sort_lba_on ممکن است عملکرد خواندن را با درایوهای نوری بهبود بخشد. میتواند تعداد زیادی پیوند سخت را بدون خالی کردن -temp_mem_limit بازیابی کند. پیشفرض sort_lba_off است. گزینه o_excl_on پیشفرض است مگر اینکه برنامه با نام "osirrox" شروع شده باشد. در GNU/Linux سعی میکند از استفاده از درایوهایی که سوار شدهاند یا توسط برنامههای دیگر libburn استفاده میشوند خودداری کند. گزینه strict_acl_off پیشفرض است. در FreeBSD وجود ACLهای پوشه "default" را در تصویر ISO تحمل میکند. گزینه check_md5_off بررسی MD5 را در حین کپی در دیسک غیرفعال میکند. گزینه پیشفرض check_md5_on در صورتی که -md5 روی "on" باشد آن را فعال میسازد. گزینه sparse= تولید فایلهای پراکنده (sparse files) را در حین استخراج فایلها از سیستمفایل ISO کنترل میکند. پیشفرض sparse=off است. یک عدد مثبت مانند sparse=1m حداقل نیاز برای طول دنبالهای از بایتهای صفر را تعیین میکند که باید توسط یک شکاف نمایش داده شوند.
- -extract iso_rr_path disk_path
- کپی اشیاء فایلی در iso_rr_path و زیر آن به آدرسهای متناظر در disk_path و زیر آن. این برعکس -map یا -update_r است. اگر iso_rr_path یک پوشه باشد و disk_path یک پوشه موجود باشد، هر دو درخت ادغام خواهند شد. ویژگیهای پوشه تنها در صورتی استخراج میشوند که پوشه دیسک به تازگی توسط عملیات کپی ایجاد شده باشد. فایلهای دیسک تنها در صورتی حذف میشوند که قرار باشد با اشیاء فایلی از تصویر ISO جایگزین گردند. تا حد امکان ویژگیهای بیشتری همراه با اشیاء فایلی بازیابیشده کپی میشوند.
- -extract_single iso_rr_path disk_path
- مانند -extract اما اگر iso_rr_path یک پوشه باشد، زیردرخت آن بازیابی نمیشود.
- -extract_l iso_rr_prefix disk_prefix iso_rr_path [***]
- اجرای -extract با هر یک از پارامترهای iso_rr_path. مسیر disk_path از روی iso_rr_path با جایگزینی iso_rr_prefix با disk_prefix تشکیل خواهد شد.
- -extract_cut iso_rr_path byte_offset byte_count disk_path
- کپی یک بازه بایتی از یک فایل داده از یک تصویر ISO به یک فایل دیسک تازه ایجادشده. هدف اصلی ارائه روشی برای مدیریت فایلهای بزرگ است در صورتی که توسط mount -t iso9660 پشتیبانی نشوند یا اگر سیستمفایل دیسک مقصد نتواند فایلهای بزرگ را ذخیره کند. اگر بایتهای داده iso_rr_path در تصویر ISO بارگذاریشده ذخیره شده باشند، و هیچ فیلتری اعمال نشده باشد، و byte_offset مضربی از ۲۰۴۸ باشد، اجرای ویژهای از -check_media انجام میشود.
- -cpx iso_rr_path [***] disk_path
- کپی اشیاء فایلی تکبرگ از تصویر ISO به نشانی دادهشده توسط disk_path. اگر بیش از یک iso_rr_path داده شود، disk_path باید یک پوشه یا ناموجود باشد. در حالت اخیر ایجاد شده و فایلهای استخراجشده در آن با همان نامهای برگ نصب میشوند. پوشهها به عنوان iso_rr_path تنها با -osirrox "concat_split_on" مجاز هستند و فقط در صورتی که واقعاً مجموعه کاملی از قطعات فایل تقسیمشده -cut_out را نمایش دهند.
- -cpax iso_rr_path [***] disk_path
- مانند -cpx اما با بازیابی mtime و atime مانند تصویر ISO و تلاش برای تنظیم مالکیت و گروه مانند تصویر ISO.
- -cp_rx iso_rr_path [***] disk_path
- مانند -cpx اما استخراج کل درختهای پوشه از تصویر ISO را نیز انجام میدهد. مسیرهای دیسک حاصل مانند دستور cp -r در پوسته تعیین میشوند.
- -cp_rax iso_rr_path [***] disk_path
- مانند -cp_rx اما با بازیابی mtime و atime مانند تصویر ISO و تلاش برای تنظیم مالکیت و گروه مانند تصویر ISO.
- -paste_in iso_rr_path disk_path byte_offset byte_count
- خواندن محتوای یک فایل داده ISO و نوشتن آن در یک فایل داده یا فایل دستگاه روی دیسک که از byte_offset شروع میشود. حداکثر به میزان byte_count بایت بنویسید. فایل نشاندادهشده توسط disk_path باید از دسترسی نوشتن تصادفی پشتیبانی کند. این برعکس دستور -cut_out است.
- -concat mode [target | lim prog [args [...]] lim] iso_rr_path [***]
- کپی محتوای
داده یک یا
چند فایل
داده تصویر
ISO در یک شیء
فایل دیسک،
در یک
توصیفکننده
فایل، یا
راهاندازی
یک برنامه و
کپی
دادهها در
ورودی
استاندارد
آن. مورد
اخیر مشمول
محدودیتهای
امنیتی
برای
فیلترهای
خارجی است.
حالتهای
overwrite و append در
مقصدی
مینویسند
که توسط
پارامتر
دوم داده
شده است.
این ممکن
است مسیر یک
شیء فایل
دیسک باشد،
یا "-" که به
معنای
خروجی
استاندارد
است، یا
متنی به شکل
number/dev/fd/ که در آن number
یک
توصیفکننده
فایل باز
است. یک
فایل مقصد
موجود قبل
از شروع
نوشتن حذف
نمیشود.
حالت overwrite قبل
از نوشتن در
آنها،
فایلهای
داده
معمولی را
به اندازه 0
کوتاه
میکند؛
مانند:
-concat append /home/me/accumulated_text /my/iso/text -- حالت pipe به عنوان پارامتر دوم یک کلمه جداکننده را انتظار دارد که پایان فهرست آرگومانهای برنامه را مشخص میکند. آرگومان سوم مسیر دیسک به برنامه است. باید حداقل یک '/' داشته باشد. متغیر PATH$ اعمال نمیشود؛ مانند:
-iso_rr_pattern on \
-concat pipe + /usr/bin/wc + "/my/iso/files*" -- پارامترهای بعدی در تمام حالتها مسیرهای iso_rr_paths فایلهای داده هستند. محتوای آنها در کپی به هم پیوسته میشود. - -extract_boot_images disk_path
- کپی تجهیزات بوت روی دیسک، که لزوماً به عنوان فایلهای داده در سیستمفایل ISO نمایش داده نمیشوند. دادهها در فایلهای مختلفی در یک پوشه دیسک نوشته میشوند که ممکن است از قبل وجود داشته باشد یا والد آن باید وجود داشته باشد تا بتواند ایجاد شود. در صورت عدم وجود اطلاعات مربوطه در سیستمفایل ISO، فایلها ممکن است وجود نداشته باشند. فایلهای موجود بازنویسی نمیشوند بلکه باعث یک رویداد شکست میشوند. همان دادهها ممکن است در فایلهای مختلفی ظاهر شوند؛ مثلاً تصویر بوت El Torito برای EFI اغلب همان دادههای پارتیشن EFI در MBR یا GPT است. فایل "eltorito_catalog.img" حاوی کاتالوگ بوت El Torito است. فایلهای "eltorito_img*_*.img" حاوی تصاویر بوت El Torito هستند. فایل "mbr_code_isohybrid.img" حاوی الگوی ISOLINUX MBR است. فایل "mbr_code_grub2.img" حاوی الگوی GRUB2 MBR است. فایل "systemarea.img" کل ۳۲ کیلوبایت ناحیه سیستم را در صورتی که همه صفر نباشند در بر دارد. فایلهای "mbr_part*_efi.img" حاوی تصاویر پارتیشن EFI از جدول پارتیشن MBR هستند. فایلهای "mbr_part*_prep.img" حاوی تصاویر پارتیشن PReP هستند. فایلهای "gpt_part*_efi.img" حاوی تصاویر پارتیشن EFI از GPT هستند. فایلهای "gpt_part*_hfsplus.img" حاوی تصاویر پارتیشن HFS+ از GPT هستند.
- -mount drive entity id path
- تولید همان خط به عنوان -mount_cmd و سپس اجرای آن به عنوان یک اجرای برنامه خارجی پس از رها کردن درایو مشخصشده. همچنین -mount_opts را ببینید. این نیازمند فعال بودن -osirrox است و معمولاً تنها برای کاربر ارشد موفق خواهد شد.
- شبیهسازیهای سازگاری دستور (Command compatibility emulations):
نوشتن ISO 9660 روی CD به طور سنتی توسط برنامه mkisofs به عنوان تولیدکننده تصویر ISO 9660 و cdrecord به عنوان برنامه رایت انجام میشود. برنامه xorriso تلاشی برای شبیهسازی جامع آنها نمیکند. با این وجود آماده است تا برخی از وظایف اصلی خود را تحت کنترل دستوراتی انجام دهد که در برنامههای مذکور اقدامات قابل مقایسهای را آغاز میکنند.
- -as personality option [options] --
- اجرای
فهرست
گزینهها
با طول
متغیر به
عنوان
شبیهسازی
پراکنده از
برنامهای
که با کلمه
personality مشخص شده
است. شخصیت
"mkisofs"
گزینههای
فهرستشده
با دستور
زیر را
میپذیرد:
-as mkisofs -help -- از جمله آنها: -R (همیشه فعال)، -r، -J، -o، -M، -C، -dir-mode، -file-mode، -path-list، -m، -exclude-list، -f، -print-size، -pad، -no-pad، -V، -v، -version، -graft-points، -z، -no-emul-boot، -b، -c، -boot-info-table، -boot-load-size، -input-charset، -G، -output-charset، -U، -hide، -hide-joliet، -hide-list، -hide-joliet-list، مسیرهای فایل و مشخصههای مسیر. بسیاری از گزینهها پشتیبانی نمیشوند و منجر به شکست شبیهسازی mkisofs میگردند. گزینههای پشتیبانیشده به تفصیل در xorrisofs.info و در man xorrisofs مستند شدهاند. برخلاف شخصیت "cdrecord"، هیچ -commit خودکاری در انتهای فهرست گزینههای "mkisofs" وجود ندارد. تنظیمات پرحرفی -v (= "UPDATE") و -quiet (= "SORRY") باقی میمانند. فایل خروجی تا زمانی که مواردی مانند -commit، -rollback، -dev یا پایان xorriso رخ دهد باقی میماند. گزینههایی که بر تمام اشیاء فایلی در تصویر ISO تأثیر میگذارند، مانند -r یا -dir-mode، تنها برای فایلهایی اعمال خواهند شد که در زمان پایان دستور -as در تصویر ISO وجود دارند. اگر فایلها به تصویر اضافه شوند، -pacifier روی "mkisofs" تنظیم میشود و -stdio_sync روی "off" پیشفرض میگردد اگر چنین تنظیمی هنوز انجام نشده باشد. گزینه -graft-points معادل -pathspecs on است. توجه داشته باشید که مشخصههای مسیر بدون "=" به شکل متفاوتی نسبت به دستور -add در xorriso تفسیر میشوند. پوشهها با پوشه ریشه تصویر ISO ادغام میشوند، سایر انواع فایل در آن پوشه ریشه نگاشت میگردند. اگر مشخصههای مسیر داده شوند و هیچ فایل خروجی قبل یا در حین فهرست گزینههای "mkisofs" انتخاب نشده باشد، خروجی استاندارد (-outdev "-") اعمال خواهد شد. اگر -o به یک فایل معمولی اشاره کند، هنگام شروع نوشتن نهایی به اندازه 0 بایت کوتاه میشود. نوشتن در stdout تنها در صورتی امکانپذیر است که -as "mkisofs" در میان آرگومانهای شروع بوده باشد یا اگر سایر آرگومانهای شروع درایو خروجی را به خروجی استاندارد هدایت کرده باشند. گزینه -print-size مانع از تولید خودکار تصویر در پایان برنامه میشود. پرکردن (Padding) به عنوان بخشی از تصویر ISO شمارش میشود اگر گزینه emul-toc-- داده نشده باشد. اگر هیچ -iso-level داده نشود، سطح 1 هنگام افزودن اولین فایل یا پوشه به تصویر انتخاب میشود. گزینه -root پشتیبانی میشود. گزینه -old-root توسط دستورات -mkdir، -cp_clone، -find update_merge و -find rm_merge در xorriso پیادهسازی شده است. گزینههای غیر اصلی mkisofs عبارتند از quoted_path_list--، --hardlinks، --acl، --xattr، --md5 و stdio_sync--. آنها مانند دستورات xorriso با همان نام و پارامتر سختکدشده "on" کار میکنند. شخصیتهای "xorrisofs"، "genisoimage" و "genisofs" نامهای مستعار برای "mkisofs" هستند. اگر xorriso با یکی از نامهای برگ "xorrisofs"، "genisofs"، "mkisofs" یا "genisoimage" شروع شود، دستور -read_mkisofsrc را انجام میدهد و -as "genisofs" را به ابتدای آرگومانهای برنامه اضافه میکند. گزینه no_rc-- به عنوان اولین آرگومان چنین شروع برنامهای مانع از تفسیر فایلهای راهاندازی میشود. بخش FILES را در زیر ببینید.
شخصیت
"cdrecord"
گزینههای
فهرستشده
با دستور
زیر را
میپذیرد:
-as cdrecord -help -- از جمله
آنها: -v، dev=،
speed=، blank=، fs=، -eject، -atip،
padsize=، tsize=، -isosize، -multi،
-msinfo، --grow_overwriteable_iso،
write_start_address=، مسیر
فایل منبع
ترک یا "-"
برای ورودی
استاندارد
به عنوان
منبع ترک.
بیشتر
گزینههای
دیگر cdrecord و cdrskin را
نادیده
میگیرد
اما روی -audio، -scanbus
و حالتهای
پاکسازی
ناشناخته
برای xorriso رد
میشود.
محدوده
تنها یک ترک
داده واحد
در هر نشست
است که باید
روی
رسانههای
خام، قابل
بازنویسی
یا
پیوستپذیر
نوشته شود.
رسانه در
صورتی که
بستن قابل
اعمال باشد
و گزینه -multi
وجود
نداشته
باشد بسته
میشود. اگر
درایو
ورودی
تصاحب شده
باشد، رها
میشود.
پارامتر dev=
باید به
عنوان
نشانی
دستگاه xorriso
داده شود.
اگر منبع
ترک داده
شود، یک -commit
خودکار در
انتهای
فهرست
گزینههای
"cdrecord" رخ
میدهد.
گزینه grow_overwriteable_iso--
شبیهسازی
چندنشستی
را در
رسانههای
با قابلیت
بازنویسی
فعال
میکند. یک
شبیهساز cdrecord
بسیار
دقیقتر
مبتنی بر libburn
برنامه cdrskin
است.
شخصیتهای
"xorrecord"، "wodim" و
"cdrskin"
نامهای
مستعار
برای "cdrecord"
هستند. اگر
xorriso با یکی از
این نامها
شروع شود،
به طور
خودکار -as "cdrskin"
را به
ابتدای
آرگومانهای
برنامه
اضافه
میکند.
- -read_mkisofsrc
- تلاش یک به
یک برای باز
کردن
فایلهای
زیر جهت
خواندن:
./.mkisofsrc , $MKISOFSRC , $HOME/.mkisofsrc , $(dirname $0)/.mkisofsrc در صورت موفقیت، محتوای فایل را مطابق با man mkisofs CONFIGURATION تفسیر کرده و به این دستور پایان دهید. فایلهای دیگر را امتحان نکنید. خواننده در حال حاضر جفتهای NAME=VALUE زیر را تفسیر میکند: APPI (-application_id) , PUBL (-publisher) , SYSI (-system_id) , VOLI (-volid) , VOLS (-volset_id) هر خط دیگر بی سر و صدا نادیده گرفته خواهد شد. - -genisoimage_completion "on"|"off"
- فعال یا غیرفعال کردن تکمیل گزینههای genisoimage در طول شبیهسازی -as mkisofs. اگر با "on" فعال شود، آرگومانهای گزینه ناشناخته که با خطتیره '-' شروع میشوند با گزینههای شناختهشده genisoimage مقایسه میگردند. اگر آرگومان دادهشده با شروع دقیقاً یک گزینه genisoimage مطابقت داشته باشد، با آن گزینه جایگزین میشود. اگر غیرفعال باشد، هیچ تکمیلی رخ نمیدهد.
- -pacifier behavior_code
- کنترل
رفتار
نشانگرهای
پیشرفت UPDATE در
طول عملیات
نوشتن.
کدهای
رفتار زیر
تعریف
شدهاند:
"xorriso" قالب
پیشفرض
است:
Writing: sector XXXXX of YYYYYY [fifo active, nn% fill] "cdrecord" به شکل زیر است:
X of Y MB written (fifo nn%) [buf mmm%] "mkisofs" به شکل زیر است:
nn% done, estimate finish Tue Jul 15 20:13:28 2008 تواتر پیامها میتواند با "interval=number" تنظیم شود که در آن number ثانیههای بین دو پیام را مشخص میکند (۰.۱ تا ۶۰.۰). - -scdbackup_tag list_path record_name
- تنظیم پارامتر "name" برای یک رکورد چکسام scdbackup. در یک برچسب چکسام scdbackup به برچسب نشست -md5 اضافه میشود اگر تصویر از LBA 0 شروع شود. اگر list_path خالی نباشد، رکورد به فایل داده ارائهشده توسط این مسیر نیز اضافه خواهد شد. برنامه scdbackup_verify برچسب و رکورد فایل را شناسایی و تأیید خواهد کرد. یک record_name خالی این ویژگی را غیرفعال میکند.
- قابلیتهای اسکریپتنویسی، گفتوگو و کنترل برنامه (Scripting, dialog and program control features):
- -no_rc
-
تنها در صورتی که به عنوان اولین آرگومان برنامه استفاده شود، این دستور از خواندن و تفسیر فایلهای راهاندازی جلوگیری میکند. بخش فایلها (FILES) در زیر را ببینید. - -options_from_file fileaddress
- ورودی
نقلقولشده
را از fileaddress
میخواند و
آن را مانند
خطوط
گفتوگو
اجرا
میکند.
خطوط خالی و
خطوطی که با
# آغاز
میشوند
نادیده
گرفته
میشوند. به
طور معمول
یک خط باید
شامل یک
دستور xorriso و
تمام
پارامترهای
آن باشد. با
این حال،
خطوط را
میتوان با
یک بکاسلش
پایانی
ادغام کرد.
همچنین بخش «پردازش دستورات»، پاراگراف «ورودی نقلقولشده» را ببینید. - -help
-
متن راهنما را چاپ میکند. - -version
- نام و نسخه برنامه، نسخه مؤلفهها، و مجوز را چاپ میکند.
- -list_extras code
- مشخص
میکند که
آیا
ویژگیهای
اضافی خاصی
در زمان
کامپایل
فعال
شدهاند و
آیا محیط
واسطهای
سیستمی
لازم را
ارائه داده
است یا خیر.
استفاده از
ویژگیهای
فعال ممکن
است در زمان
اجرا با
شکست مواجه
شود، زیرا
سیستم
واسطهای
لازم را
فراهم
نمیکند یا
فایلسیستم
محلی
مربوطه
ویژگی مورد
نظر را
ارائه
نمیدهد.
کد "all" تمام ویژگیها و یک سربرگ را فهرست میکند. سایر کدها یک ویژگی منفرد را انتخاب میکنند. کد "codes" آنها را فهرست میکند. آنها نامهای مشترکی با دستورات مربوطه دارند (به آن بخش نیز مراجعه کنید):
"acl" نشان میدهد آیا xorriso دارای تطبیقدهنده برای ACLهای فایلسیستمهای محلی است یا خیر.
"xattr" نشان میدهد آیا xorriso دارای تطبیقدهنده برای صفات گسترده (EA) فایلسیستمهای محلی است یا خیر.
"lfa_flags" نشان میدهد آیا xorriso دارای تطبیقدهنده برای صفات فایل محلی لینوکس است یا خیر (man 1 chattr را ببینید).
"projid" نشان میدهد آیا xorriso دارای تطبیقدهنده برای شناسههای پروژه به سبک XFS محلی است یا خیر.
"jigdo" نشان میدهد آیا ساخت فایلهای Jigdo امکانپذیر است یا خیر.
"zisofs" نشان میدهد آیا فیلترهای zisofs و gzip داخلی فعال هستند یا خیر.
"external_filter" نشان میدهد آیا فرآیندهای فیلتر خارجی مجاز هستند یا خیر، و اینکه آیا در صورت تفاوت شناسه کاربری واقعی و شناسه کاربری مؤثر مجاز میباشند یا خیر.
"dvd_obs" نشان میدهد آیا خروجی 64 کیلوبایتی به رسانه DVD پیشفرض است یا خیر.
"use_readline" نشان میدهد آیا readline ممکن است در حالت گفتوگو فعال شود یا خیر.
- -history textline
- خط textline را در تاریخچه libreadline کپی میکند.
- -status mode|filter
- تنظیمات
فعلی xorriso را
چاپ میکند.
حالتها:
short... فقط تنظیمات مهم یا تغییر یافته را چاپ میکند
long ... تمام تنظیمات از جمله پیشفرضها را چاپ میکند
long_history مانند long به همراه خطوط تاریخچه
فیلترها با '-' آغاز میشوند و به صورت لفظی با خطوط خروجی -status:long_history مقایسه میگردند. یک خط تنها در صورتی چاپ میشود که ابتدای آن با متن فیلتر مطابقت داشته باشد. بدون نویسههای عمومی (wildcard). - -status_history_max number
- حداکثر تعداد خطوط تاریخچه را که باید با -status "long_history" گزارش شوند تعیین میکند.
- -list_delimiter word
- جداکننده
لیست را
برای
استفاده به
جای "--"
تعیین
میکند.
باید یک
کلمه منفرد
باشد،
نباید خالی
باشد،
نباید
بلندتر از 80
نویسه
باشد، و
نباید حاوی
علائم
نقلقول
باشد.
به منظور اختصار، در سرتاسر این متن از جداکننده لیست با عنوان "--" یاد میشود. - -sh_style_result "on"|"off"
- خروجی
نتیجه برخی
از دستورات
بازرسی
فایلسیستم
را بیشتر
شبیه به
خروجی
دستورات
معادل
پوسته (shell)
میکند.
مهمترین
تأثیر آن
جلوگیری از
قرار دادن
آدرس
فایلها
داخل علائم
نقلقول در
دستورات
زیر است:
-pwd -pwdx -ls -lsd -lsl -lsdl -lsx -lsdx -lslx -lsdlx
-du -dus -dux -dusx -findx -find
این کار نمایش نام فایلهایی را که حاوی نویسههای خط جدید هستند مبهم میکند. از سوی دیگر باید ادغام xorriso در اسکریپتهای پوستهای که از قبل از دستورات پوسته مربوطه استفاده میکنند را تسهیل کند. - -backslash_codes "on"|"off"|mode[:mode]
- تفسیر
نمایشهای
نمادین
نویسههای
خاص را با
ورودی
نقلقولشده،
یا با
آرگومانهای
برنامه، یا
با خروجی
متنی
برنامه
فعال یا
غیرفعال
میکند. در
صورت فعال
بودن،
تبدیلهای
زیر اعمال
میشوند:
\a=زنگ(007) \b=پسبر/backspace(010) \e=گریز/Escape(033) \f=برگهبر/formfeed(014)
\n=خطجدید(012) \r=بازگشتسطر/carriage_return(015) \t=تب(011)
\v=تبعمودی(013) \\=بکاسلش(134) \[0-7][0-7][0-7]=کد_هشتهشتی
\x[0-9a-f][0-9a-f]=کد_شانزدهشانزدهی \cC=کنترل-C
تبدیلها میتوانند با ورودی نقلقولشده در 3 حالت رخ دهند:
"in_double_quotes" فقط داخل نقلقول جفتی " تبدیل میکند.
"in_quotes" داخل نقلقولهای " و ' تبدیل میکند.
"with_quoted_input" داخل و خارج نقلقولها تبدیل میکند.
با آرگومانهای شروع برنامه، این حالت وجود دارد:
"with_program_arguments" آرگومانهای برنامه را تبدیل میکند.
حالت "encode_output" نویسههای خروجی را کدگذاری میکند. این حالت "encode_results" را با "encode_infos" ترکیب میکند. داخل علامتهای نقلقول تکی یا جفتی، کدگذاری برای نویسههای 8 بیتی هشتهشتی 001 تا 037، 177 تا 377 و بکاسلش(134) اعمال میشود. خارج از علامتهای نقلقول برخی از نویسههای کنترلی بیخطر ASCII بدون کدگذاری باقی میمانند: زنگ(007)، پسبر(010)، تب(011)، خطجدید(012)، برگهبر(014)، بازگشتسطر(015).
حالت "off" پیشفرض است و هرگونه تبدیل را غیرفعال میکند. حالت "on" برابر با "with_quoted_input:with_program_arguments:encode_output" است. - -temp_mem_limit number["k"|"m"]
- حداکثر
اندازه
حافظه موقت
مورد
استفاده
برای بافر
وابسته به
تصویر را
تعیین
میکند. در
حال حاضر
این مورد
برای بسط
الگو،
مرتبسازی
LBA، و
بازیابی
پیوندهای
سخت اعمال
میشود.
پیشفرض 16m = 16 MiB، حداقل 64k = 64 kiB، حداکثر 1024m = 1 GiB است. - -print text
- یک خط متنی را در کانال نتیجه چاپ میکند که به طور پیشفرض stdout است.
- -print_info text
- یک خط متنی را در کانال اطلاعات چاپ میکند که به طور پیشفرض stderr است.
- -print_mark text
- یک خط متنی را در کانال نشانهگذاری چاپ میکند که به طور پیشفرض به هر دو کانال، نتیجه و اطلاعات هدایت میشود. یک متن خالی هیچ خروجی نخواهد داشت.
- -prompt text
- متن را در ابتدای خط خروجی نمایش میدهد و منتظر میماند تا کاربر کلید Enter را فشار دهد یا خطی را از طریق stdin ارسال کند.
- -sleep seconds
- قبل از اجرای دستور بعدی به تعداد ثانیههای دادهشده منتظر میماند. انتظار دقت بهتری از 1/100 ثانیه نداشته باشید.
- -errfile_log mode path|channel
-
اگر رویدادهای مشکل به فایلهای ورودی از فایلسیستم مربوط باشند، disk_path آنها میتواند در یک فایل یا در کانالهای خروجی R یا I ثبت شود.
حالت میتواند "plain" یا "marked" باشد. حالت دوم باعث ایجاد خطوط نشانهگذاری میشود که زمان شروع لاگ، شروع نشست رایت، پایان نشست رایت، پایان لاگ یا پایان برنامه را ارائه میدهند. در حالت "plain"، فقط مسیرهای فایل ثبت میشوند.
اگر path برابر "-" یا "-R" باشد، لاگ به کانال نتیجه هدایت میشود. مسیر "-I" آن را به کانال پیامهای اطلاعاتی هدایت میکند. هر متنی که با "-" شروع نشود به عنوان مسیری برای یک فایل جهت الحاق خطوط لاگ استفاده میشود.
فایلهای مشکلدار را میتوان چندین بار در طول یک اجرای برنامه ثبت کرد. اگر اجرای برنامه متوقف شود، فهرست ممکن است کامل نباشد زیرا برخی از فایلهای ورودی ممکن است اصلاً پردازش نشده باشند.
مسیرهای errfile به عنوان پیامهایی با شدت بسیار پایین "ERRFILE" منتقل میشوند. این انتقال با -report_about "ALL" قابل مشاهده است. - -session_log path
- اگر path خالی
نباشد،
آدرس یک
فایل متنی
ساده را
ارائه
میدهد که
یک رکورد
لاگ پس از
هر نشست به
آن الحاق
میگردد. از
این لاگ
میتوان
برای تعیین
start_lba یک نشست
برای
گزینههای
مونت -o sbsector= (در GNU/Linux)
یا -s (در FreeBSD) از
روی تاریخ
یا شناسه
دیسک (volume ID)
استفاده
کرد.
قالب رکورد عبارت است از: timestamp start_lba size volume-id
سه مورد اول کلمات منفرد هستند، بقیه خط شناسه دیسک است. - -scsi_log "on"|"off"
- حالت "on"
گزارشگیری
بسیار
باجزئیات
از دستورات
SCSI و
پاسخهای
درایو را
فعال
میکند.
پیامهای
گزارش به stderr
چاپ
میشوند،
نه به
هیچیک از
کانالهای
خروجی xorriso.
یک ویژگی خاص این دستور آن است که اولین تنظیم -scsi_log در میان آرگومانهای شروع، از همان ابتدا که نخستین عملیاتهای xorriso آغاز میشوند اعمال میگردد. تنها "-scsi_log" با خط تیره "-" به این صورت شناسایی میشود. - -end
-
برنامه را پس از نوشتن تغییرات معلق به پایان میرساند. - -rollback_end
- تغییرات معلق را نادیده میگیرد و دور میریزد. برنامه را بلافاصله پایان میدهد.
- # any text
- تنها در حالت گفتوگو یا اجرای فایل، و تنها به عنوان اولین نویسه غیرفاصلهای در خط: خط را اجرا نمیکند بلکه آن را در تاریخچه readline ذخیره مینماید.
- پشتیبانی از برنامههای فرانتاند از طریق stdin و stdout (Support for frontend programs via stdin and stdout):
- -pkt_output "on"|"off"
- خروجی متنی
روی stdout را
تجمیع
میکند و هر
خط را با یک
نشانگر
کانال
دستهبندی
مینماید:
'R:' برای خطوط نتیجه،
'I:' برای یادداشتها و پیامهای خطا،
'M:' برای متنهای -mark.
بعدی یک عدد دهدهی است که در حال حاضر فقط بیت 0 آن معنا دارد. 0 به معنای عدم وجود خط جدید در انتهای محموله است، 1 به این معنی است که نویسه خط جدید در انتهای خط خروجی متعلق به محموله است. پس از یک دونقطه دیگر و یک فاصله، متن محموله قرار دارد.
مثال:
I:1: enter option and parameters : - -logfile channel fileaddress
- خروجی یک کانال را در فایل دادهشده کپی میکند. کانال میتواند یکی از این موارد باشد: "." برای تمام کانالها، "I" برای پیامهای اطلاعات، "R" برای خطوط نتیجه، "M" برای متنهای -mark.
- -mark text
- اگر text خالی نباشد، هر بار که xorriso برای خط گفتوگوی بعدی آماده است یا قبل از اینکه xorriso دستوری را که در اعلان صفحهبند (pager prompt) وارد شده اجرا کند، روی کانال "M" خروجی داده میشود.
- -msg_op opcode parameter_text
- این دستور
استخراج
اطلاعات
خاص از
خروجی
پیامهای
سایر
دستورات را
تسهیل
میکند. این
دستور
دسترسی به
تابع C API به
نام Xorriso_parse_line() و
غربالگر
پیام (message sieve) را
که توسط C API
ارائه شده
فراهم
میسازد.
لطفاً به
توضیحات
آنها در
فایل xorriso.h
مراجعه
کنید. علاوه
بر این به
تفسیر
کدهای شدت
پیامهای
اطلاعاتی
کمک میکند.
کاربران هدف، برنامههای فرانتاند هستند که xorriso را در حالت گفتوگو اجرا میکنند.
خروجی نتیجه این دستور توسط غربالگر پیام گرفته نمیشود.
کدهای عملیاتی (opcodes) زیر تعریف شدهاند:
start_sieve
غربالگر پیام را بر اساس Xorriso_sieve_big() نصب میکند و نظارت بر پیامهای برنامه را آغاز مینماید. متن parameter_text معنایی ندارد.
show_sieve
فهرستی از نامهای قوانین فیلتر را نمایش میدهد. متن parameter_text معنایی ندارد. این فهرست با خطی شامل مقدار بازگشتی Xorriso_sieve_get_result() با بیت پرچم bit3 آغاز میشود. اگر این مقدار بزرگتر از 0 باشد، خط بعدی تعداد نامها را اعلام میکند. خطوط بعدی هر کدام یک نام را نشان میدهند.
read_sieve
از parameter_text به عنوان نام یک قانون فیلتر استفاده میکند و نتیجه ثبتشده بعدی آن را استعلام مینماید. برای فهرستی از نامها و رشتههای پاسخ به Xorriso_sieve_big() مراجعه کنید.
رشتههای ثبتشده روی کانال نتیجه قرار میگیرند. آنها در خطوطی قرار میگیرند که ساختار آنها را بیان میکند. خط اول مقدار بازگشتی Xorriso_sieve_get_result() را بیان میکند. خط بعدی تعداد رشتهها را اعلام مینماید. هر رشته با خطی شروع میشود که تعداد خطوط آن رشته را نشان میدهد. سپس این خطوط میآیند. آنها باید با یک نویسه خط جدید بین هر کدام به یکدیگر متصل شوند. در نهایت تعداد نتایج ثبتشده هنوز در دسترس از نام دادهشده خروجی داده میشود.
clear_sieve
تمام رشتههای ثبتشده را دور میریزد و به نظارت بر پیامهای برنامه ادامه میدهد. متن parameter_text معنایی ندارد.
end_sieve
غربالگر را به همراه قوانین فیلتر آن دور میریزد و نظارت بر پیامهای برنامه را متوقف میکند. متن parameter_text معنایی ندارد.
parse
متنی را از ورودی گفتوگو میخواند و آن را به Xorriso_parse_line() ارسال میکند. کلمه parameter_text باید از چندین کلمه جدا شده با فاصله تشکیل شود. استفاده از هر دو نوع علامت نقلقول ضروری خواهد بود.
مثال: "'ISO session :' '' 0 0 1"
پنج کلمه پارامتر عبارتند از: prefix، separators، max_words، flag، number_of_input_lines. چهار مورد اول به Xorriso_parse_line() تحویل داده میشوند. تعداد خطوط ورودی منهای یک به xorriso میگوید چند نویسه خط جدید بخشی از متن ورودی هستند.
تعداد خطوط متنی اعلامشده از ورودی گفتوگو خوانده میشود، با یک نویسه خط جدید بین هر کدام به هم متصل میگردد، و به عنوان خط پارامتر به Xorriso_parse_line() ارسال میشود. توجه داشته باشید که خطوط جدید خارج از علائم نقلقول در صورتی که پارامتر separators خالی باشد، به عنوان جداکننده تفسیر میشوند.
رشتههای تجزیهشده روی کانال نتیجه قرار میگیرند. آنها در خطوطی قرار میگیرند که ساختار آنها را بیان میکند. خط اول مقدار بازگشتی Xorriso_parse_line() را بیان میکند. خط بعدی تعداد رشتهها را اعلام میکند. هر رشته با خطی شروع میشود که تعداد خطوط آن رشته را نشان میدهد. سپس این خطوط میآیند. آنها باید با یک نویسه خط جدید بین هر کدام به هم متصل شوند.
اگر -backslash_codes "encode_output" فعال باشد، رشتهها به گونهای کدگذاری میشوند که گویی در نقلقول محصور شدهاند. به ویژه هر رشته به صورت یک خط نتیجه منفرد خروجی داده خواهد شد.
parse_bulk
مانند "parse"، اما با این تفاوت که کلمه پنجم پارامتر به جای number_of_input_lines، پارامتر number_of_input_texts است. قبل از هر متن ورودی باید خطی باشد که number_of_input_lines را مانند "parse" اعلام میکند. سپس تعداد خطوط متنی اعلامشده میآید.
تمام متون ورودی قبل از شروع چاپ خطوط نتیجه خوانده میشوند. این امر در xorriso حافظه مصرف میکند. بنابراین number_of_input_texts نباید بیش از حد بزرگ باشد. از سوی دیگر، تراکنشهای بزرگ دستورات، متون ورودی و نتایج در صورتی که تأخیر اتصال (latency) یک مسئله باشد مطلوب هستند.
parse_silently
مانند "parse" اما هیچ پیام اعلانی (prompt) صادر نمیکند. برای انسانها گیجکننده است.
parse_bulk_silently
مانند "parse_bulk" اما هیچ پیام اعلانی صادر نمیکند. برای انسانها گیجکننده است.
compare_sev
پارامتر parameter_text باید حاوی دو متن شدت جدا شده با ویرگول باشد، همانطور که توسط این برنامه صادر میشود؛ مانند "SORRY,UPDATE". همچنین پاراگراف «پردازش استثناها» را ببینید.
این دو متن شدت مقایسه میشوند و یک عدد در کانال نتیجه چاپ میگردد. این عدد در صورت برابر بودن هر دو شدت 0 است. اگر شدت اول کمتر از دوم باشد، برابر با -1 است. اگر شدت اول بالاتر از دوم باشد، برابر با 1 است.
مثال بالا یعنی "SORRY,UPDATE" خروجی 1 را به همراه خواهد داشت.
list_sev
فهرستی از تمام نامهای شدت که با فاصله از هم جدا شدهاند را در کانال نتیجه چاپ میکند. مرتبشده از شدت کم به زیاد. - -named_pipe_loop mode[:mode] disk_path_stdin disk_path_stdout disk_path_stderr
- به طور موقت
ورودی
استاندارد،
خروجی
استاندارد
و خطای
استاندارد
را با
لولههای
نامگذاریشده
(named pipes) جایگزین
میکند.
وارد حالت
گفتوگو
بدون readline
میشود.
حالتهای تعریفشده عبارتند از:
"cleanup" فایلهای لوله ارائهشده را پس از پایان حلقه حذف میکند.
"keep" آنها را حذف نمیکند. این حالت پیشفرض است.
"buffered" تمام خطوط را از لوله ورودی تا زمان EOF میخواند، پیش از آنکه لولههای خروجی را باز کرده و خطوط ورودی را پردازش نماید.
"direct" لولههای خروجی را پس از خوانده شدن اولین خط ورودی باز میکند. هر خط بلافاصله پس از خوانده شدن اجرا میشود. این حالت پیشفرض است.
سه پارامتر دیگر یا باید مسیرهای دیسک به لولههای نامگذاریشده موجود باشند، یا "-" باشند تا کانال ورودی/خروجی استاندارد مربوطه بدون جایگزینی باقی بماند.
برنامه xorriso لوله stdin را باز میکند، خطوط گفتوگو را از آن میخواند و اجرا میکند تا زمانی که فرستنده لوله را ببندد. لولههای خروجی بسته به حالت "buffered" یا "direct" باز میشوند. پس از اجرای تمام خطوط، xorriso سمت خود از لولهها را میبندد و وارد یک چرخه جدید از باز کردن، خواندن و اجرا میشود.
اگر یک خط ورودی فقط شامل کلمه "end_named_pipe_loop" باشد، آنگاه -named_pipe_loop پایان مییابد و دستورات بعدی xorriso ممکن است از منابع دیگر اجرا شوند. - -launch_frontend program [arguments ...] --
- برنامهای
را که به
عنوان
پارامتر
اول داده
شده است
راهاندازی
میکند.
پارامترهای
دیگر را به
عنوان
آرگومانهای
برنامه
ارسال
مینماید.
حالت
گفتوگوی xorriso
را فعال
میکند.
دو شیء لوله بینام ایجاد میشوند. ورودی استاندارد xorriso به خروجی استاندارد برنامه اجراشده متصل میگردد. خروجی استاندارد و خطای استاندارد xorriso به ورودی استاندارد آن برنامه متصل میشوند.
برنامه xorriso زمانی که برنامه اجراشده پایان یابد یا اگر اصلاً نتواند راهاندازی شود، متوقف خواهد شد. در هر دو حالت یک مقدار خروجی غیر صفر را برمیگرداند. اگر فرانتاند قبل از پایان کار خود -end یا -rollback_end را ارسال کند، مقدار خروجی صفر خواهد بود.
این دستور ممکن است در زمان کامپایل کاملاً ممنوع شده باشد. اگر xorriso با مجوزهای setuid اجرا شود، به طور پیشفرض ممنوع است.
نام برنامه در دایرکتوریهای $PATH جستجو نخواهد شد. برای روشن شدن این موضوع، باید حداقل شامل یک نویسه /- باشد. بهترین حالت یک مسیر مطلق است.
مثال:
xorriso -launch_frontend "$(which xorriso-tcltk)" -stdio --
برنامه فرانتاند ابتدا باید از طریق خروجی استاندارد خود این دستورات را ارسال کند:
-mark 0 -pkt_output on -msg_op start_sieve - -reassure off
باید برای رمزگشایی -pkt_output و واکنش به پیامهای -mark آماده باشد. بهترین کار این است که شماره -mark پس از هر دنباله دستور ارسالی افزایش یابد و سپس منتظر بماند تا شماره جدید در یک پیام mark ظاهر شود:
...some...commands... -mark <incremented_number>
علاوه بر این، موارد زیر توصیه میشوند:
-report_about UPDATE -abort_on NEVER
-iso_rr_pattern off -disk_pattern off
بررسی نسخه xorriso باید انجام شود تا اطمینان حاصل گردد که تمام ویژگیهای مورد نظر حضور دارند.
دستور -launch_frontend در هر اجرای xorriso تنها یک بار کار میکند. اگر هیچ پارامتر دستوری ارسال نشود یا اگر program یک متن خالی باشد، هیچ برنامهای راهاندازی نخواهد شد اما با این حال -launch_frontend به طور برگشتناپذیری غیرفعال میشود. - -prog text
- از text به عنوان نام این برنامه در پیامهای بعدی استفاده میکند.
- -prog_help text
- از text به عنوان نام این برنامه استفاده کرده و -help را اجرا میکند.
- ملاحظات تکرارپذیری ساخت (Reproducibility considerations):
نسخههای
پایدار xorriso
آماده
شدهاند تا
در اجراهای
مکرر از
فایلهای
ورودی
یکسان با
فراداده
فایل یکسان
و همان
دستورات xorriso،
بایتهای
یکسانی از
فایلسیستم
ISO 9660 را تولید
کنند. تنها
استثنا
بایتهایی
هستند که به
زمان فعلی
اجرای xorriso
بستگی
دارند.
این مقادیر
وابسته به
زمان را
میتوان با
دستورات -volume_date
"uuid"، -boot_image "any"
"gpt_disk_guid="، -volume_date
"all_file_dates"، و -iso_nowtime
روی مقادیر
ثابتی
تنظیم کرد.
به جای
تنظیم
تکتک
آنها،
میتوان
همه آنها را
با متغیر
محیطی SOURCE_DATE_EPOCH
تحت تأثیر
قرار داد.
متغیر SOURCE_DATE_EPOCH
متعلق به
مشخصات reproducible-builds.org
است. فرض بر
این است که
یا
تعریفنشده
باشد یا
شامل یک عدد
دهدهی
باشد که
ثانیههای
سپریشده
از ۱ ژانویه
۱۹۷۰ را
بیان
میکند. اگر
حاوی یک عدد
باشد، از آن
به عنوان
مقدار زمان
برای تنظیم
پیشفرض -volume date
"uuid" استفاده
میشود، -boot_image
"any" "gpt_disk_guid=" را به
"volume_date_uuid" تنظیم
میکند، -volume_date
"all_file_dates" را به
"set_to_mtime"، و -iso_nowtime را
مقداردهی
میکند.
فایلهای
راهاندازی
و دستورات xorriso
میتوانند
اثر SOURCE_DATE_EPOCH را
لغو کنند (override
نمایند).
نسخههای
مختلف xorriso
ممکن است از
ورودیها و
دستورات
یکسان،
نتیجه
یکسانی
ایجاد کنند
یا نکنند.
تکرارپذیری
ممکن است به
دلیل رفع
اشکالها
یا بهبود
ویژگیها
بین
نسخهها
جلوگیری
شود.
برنامه xorriso
اطلاعات
نسخه خود را
به طور
پیشفرض در
فیلد Preparer Id از
توصیفگر
جلد اولیه (Primary
Volume Descriptor) در ISO 9660
قرار
میدهد. این
امر ممکن
است به
منظور
تعریف واضح
اینکه کدام
نسخه xorriso باید
برای
بازتولید
استفاده
شود مطلوب
باشد. اما
ممکن است
نامطلوب
نیز باشد،
زیرا دامنه
گستردهتری
از
نسخههای xorriso
نباید از
تلاش برای
بازتولید
کنار
گذاشته
شوند.
اگر
میخواهید
در زمان
اولین
ساخت،
مقدار
پیشفرض را
لغو کنید،
از دستور -preparer_id
با متنی غیر
از "@xorriso@"
استفاده
کنید. این
دستور
همچنین
ممکن است
برای تنظیم
صریح شناسه
آمادهساز
همانطور
که در یک
فایلسیستم
ISO 9660 یافت
میشود
استفاده
شود که قرار
است توسط
نسخه
متفاوتی از
xorriso بازتولید
گردد. شناسه
آمادهساز
را میتوان
با دستور -pvd_info
استعلام
کرد.
اگر
تکرارپذیری
نتایج xorriso
مورد نظر
است،
اقدامات
احتیاطی -
مانند
تنظیم SOURCE_DATE_EPOCH -
باید از قبل
در اجرای
اصلی xorriso
انجام شود.
تمام
فایلهای
ورودی،
دستورات xorriso
استفادهشده
در توالی
دقیق، نسخه
xorriso، و مقدار
احتمالی
تنظیمشده
SOURCE_DATE_EPOCH باید
برای
استفاده
مجدد بعدی
نگهداری یا
ثبت شوند.
مثالها (EXAMPLES)
مرور کلی مثالها (Overview of examples):
کسب
اطلاعات
درباره
درایوهای
موجود به
عنوان
کاربر ارشد
(superuser)
پاک کردن
رسانه و
ساخت یک
تصویر ISO
جدید در
اجرای
دستهای (batch)
یک نشست
گفتوگو
برای انجام
تقریباً
همان کار
دستکاری یک
تصویر ISO
موجود بر
روی همان
رسانه
کپی کردن
تصویر ISO
تغییریافته
از یک رسانه
به
رسانهای
دیگر
آوردن یک
درخت ISOLINUX
آمادهشده
به روی
رسانه و
قابل
راهاندازی
کردن آن
تغییر درخت
نام
فایلهای
موجود از ISO-8859-1
به UTF-8
کار بر روی
امکانات
ذخیرهسازی
غیر از
درایوهای
نوری
رایت یک
فایل تصویر
ISO موجود بر
روی رسانه
اجرای
چندنشستی
(multi-session) طبق
سنتهای cdrtools
اجازه دادن
به xorriso برای
کار در
زیربنای growisofs
تنظیم
آستانهها
برای
پرگویی،
مقدار خروج
و توقف
برنامه
نمونههایی
از
رشتههای
زمانی
ورودی
پشتیبانگیری
افزایشی از
چند درخت
دایرکتوری
بازیابی
درختهای
دایرکتوری
از یک نشست
خاص ISO به
دیسک
تلاش برای
بازیابی
بلوکها از
یک رسانه
آسیبدیده
کسب اطلاعات درباره درایوهای موجود به عنوان کاربر ارشد (As superuser learn about available drives)
در
لینوکس، FreeBSD
یا NetBSD اعطای
مجوزهای rw به
آن دسته از
کاربران یا
گروههایی
را که باید
بتوانند از
درایوها با
xorriso استفاده
کنند مد نظر
قرار دهید.
در سولاریس
از pfexec
استفاده
کنید. محدود
کردن
امتیازات
xorriso به "base,sys_devices" و
اعطای مجوز r
به کاربر یا
گروه را در
نظر بگیرید.
$ xorriso -device_links
1 -dev '/dev/cdrom1' rwrw-- : 'TSSTcorp' 'DVD-ROM SH-D162C
1 -dev '/dev/cdrw' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S223B'
2 -dev '/dev/cdrw3' rwrw-- : 'HL-DT-ST' 'BDDVDRW_GGC-H20L'
پاک کردن رسانه و ساخت یک تصویر ISO جدید در اجرای دستهای (Blank medium and compose a new ISO image as batch run)
درایو /dev/sr2 را
در اختیار
میگیرد،
رسانه را
برای نوشتن
یک تصویر
جدید آماده
میکند،
تصویر را با
فایلهای
موجود در
دایرکتوریهای
دیسک سخت /home/me/sounds
و /home/me/pictures پر
میکند.
به دلیل
اینکه
گزینه -dialog "on"
داده نشده
است،
برنامه سپس
با نوشتن
نشست روی
رسانه به
پایان
میرسد.
$ xorriso -outdev /dev/sr2 \
-blank as_needed \
-map /home/me/sounds /sounds \
-map /home/me/pictures /pictures
تصویر ISO
ممکن است به
شیوهای
دقیقتر
مانند زیر
شکل داده
شود: حذف
برخی موارد
ناخواسته
با پاک کردن
آنها از
درخت
دایرکتوری
تصویر.
معرفی مجدد
برخی موارد
دلخواه.
$ cd /home/me
$ xorriso -outdev /dev/sr2 \
-blank as_needed \
-map /home/me/sounds /sounds \
-map /home/me/pictures /pictures \
-rm_r \
/sounds/indecent \
'/pictures/*private*' \
/pictures/confidential \
-- \
-cd / \
-add pictures/confidential/work* --
توجه داشته
باشید که
'/pictures/*private*' یک الگو
برای iso_rr_paths است
در حالی که
pictures/confidential/work* توسط
پوسته با
آدرسهای
موجود روی
دیسک سخت
بسط
مییابد.
دستورات -add و -map
قواعد
پارامتر
متفاوتی
دارند اما
در نهایت
اثر یکسانی
دارند: آنها
فایلها را
در تصویر
قرار
میدهند.
یک نشست گفتوگو برای انجام تقریباً همان کار (A dialog session doing about the same)
برخی
تنظیمات از
قبل به
عنوان
آرگومان
شروع داده
شدهاند.
سایر
فعالیتها
به عنوان
ورودی
گفتوگو
انجام
میشوند.
صفحهبند (pager)
روی 20 سطر و 80
نویسه
تنظیم
میشود.
درایو به
جای -outdev توسط
دستور -dev در
اختیار
گرفته
میشود تا
پیامی در
مورد
محتوای
فعلی آن
مشاهده شود.
با دستور -blank
این محتوا
برای
رونویسی
آماده
میشود و
تصویر ISO
بارگیریشده
خالی
میگردد.
برای اینکه
بتوان
رسانه را
خارج (eject) کرد،
نشست باید
به طور صریح
اعمال (commit) شود.
$ xorriso -dialog on -page 20 80 -disk_pattern on
enter option and arguments :
-dev /dev/sr2
enter option and arguments :
-blank as_needed
enter option and arguments :
-map /home/me/sounds /sounds -map /home/me/pictures /pictures
enter option and arguments :
-rm_r /sounds/indecent /pictures/*private* /pictures/confidential
enter option and arguments :
-cdx /home/me/pictures -cd /pictures
enter option and arguments :
-add confidential/office confidential/factory
enter option and arguments :
-du /
enter option and arguments :
-commit_eject all -end
دستکاری یک تصویر ISO موجود بر روی همان رسانه (Manipulate an existing ISO image on the same medium)
بارگیری
تصویر از
درایو. حذف
(یعنی پنهان
کردن)
دایرکتوری
/sounds و
زیرمجموعههای
آن. تغییر
نام
دایرکتوری
/pictures/confidential به /pictures/restricted.
تغییر
مجوزهای
دسترسی
دایرکتوری
/pictures/restricted. افزودن
درختهای
دایرکتوری
جدید /sounds و /movies.
رایت روی
همان
رسانه،
بررسی
اینکه آیا
درخت
میتواند
بارگیری
شود، و خروج
رسانه (eject).
$ xorriso -dev /dev/sr2 \
-rm_r /sounds -- \
-mv \
/pictures/confidential \
/pictures/restricted \
-- \
-chmod go-rwx /pictures/restricted -- \
-map /home/me/prepared_for_dvd/sounds_dummy /sounds \
-map /home/me/prepared_for_dvd/movies /movies \
-commit -eject all
کپی کردن تصویر ISO تغییریافته از یک رسانه به رسانهای دیگر (Copy modified ISO image from one medium to another)
تصویر را
از درایو
ورودی
بارگیری
کنید. همان
دستکاریهای
مثال قبلی
را انجام
دهید. درایو
خروجی را در
اختیار
گرفته و آن
را پاک کنید.
تصویر
تغییریافته
را به عنوان
اولین و
تنها نشست
روی درایو
خروجی رایت
نمایید.
$ xorriso -indev /dev/sr2 \
-rm_r /sounds -- \
...
-outdev /dev/sr0 -blank as_needed \
-commit -eject all
آوردن یک درخت ISOLINUX آمادهشده به روی رسانه و قابل راهاندازی کردن آن (Bring a prepared ISOLINUX tree onto medium and make it bootable)
کاربر از
قبل یک درخت
فایل مناسب
روی دیسک
ایجاد کرده
و فایلهای
ISOLINUX را در
زیردایرکتوری
./boot/isolinux از آن
درخت کپی
کرده است.
اکنون xorriso
میتواند
یک رسانه
قابل
راهاندازی
El Torito را رایت
کند:
$ xorriso -outdev /dev/sr0 -blank as_needed \
-map /home/me/ISOLINUX_prepared_tree / \
-boot_image isolinux dir=/boot/isolinux
تغییر درخت نام فایلهای موجود از ISO-8859-1 به UTF-8 (Change existing file name tree from ISO-8859-1 to UTF-8)
این مثال
فرض میکند
که تصویر ISO
موجود با
مجموعه
نویسه ISO-8859-1
نوشته شده
است اما
خوانندگان
انتظار UTF-8 را
دارند.
اکنون یک
نشست جدید
با نام
فایلهای
تبدیلشده
اضافه
میشود.
دستور -changes_pending "yes"
نوشتن را
علیرغم عدم
وجود
هرگونه
دستور
دستکاری
فعال
میکند.
برای
جلوگیری از
هرگونه
نقاط ضعف
مجموعه
نویسه
محلی، این
دستور
وانمود
میکند که
از قبل از
مجموعه هدف
نهایی UTF-8
استفاده
میکند.
بنابراین
نام
فایلهای
عجیبی ممکن
است در
پیامها
ظاهر شوند
که توسط
دستور -backslash_codes
برای
ترمینال
امن خواهند
شد.
$ xorriso -in_charset ISO-8859-1 -local_charset UTF-8 \
-out_charset UTF-8 -backslash_codes on -dev /dev/sr0 \
-changes_pending yes -commit -eject all
کار بر روی امکانات ذخیرهسازی غیر از درایوهای نوری (Operate on storage facilities other than optical drives)
عملیات
خواندن و
نوشتن کامل
با
فایلهای
معمولی و
دستگاههای
بلوکی
امکانپذیر
است:
$ xorriso -dev /tmp/regular_file ...
مسیرهای
زیر /dev
معمولاً به
پیشوند "stdio:"
نیاز دارند:
$ xorriso -dev stdio:/dev/sdb ...
اگر قرار
است /dev/sdb به طور
مکرر
استفاده
شود و /dev/sda دیسک
سیستم است،
قرار دادن
خطوط زیر را
در یک فایل
راهاندازی
xorriso در نظر
بگیرید.
آنها به شما
امکان
میدهند از
/dev/sdb بدون
پیشوند
استفاده
کنید و دیسک
/dev/sda را از xorriso
محافظت
مینمایند:
-drive_class banned /dev/sda*
-drive_class harmless /dev/sdb
سایر انواع
فایلهای
قابل نوشتن
فقط به صورت
فقطنوشتنی
پشتیبانی
میشوند:
$ xorriso -outdev /tmp/named_pipe ...
در میان
درایوهای
فقطنوشتنی،
خروجی
استاندارد
قرار دارد:
$ xorriso -outdev - \
...
| gzip >image.iso.gz
رایت یک فایل تصویر ISO موجود بر روی رسانه (Burn an existing ISO image file to medium)
در واقع
این روش با
هر نوع
دادهای
کار
میکند، نه
فقط تصاویر
ISO:
$ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed image.iso
اجرای چندنشستی طبق سنتهای cdrtools (Perform multi-session runs as of cdrtools traditions)
بین هر دو
فرآیند
میتوان
انتقال یا
فیلتر کردن
دلخواهی را
انجام داد.
اولین نشست
مانند زیر
نوشته
میشود:
$ xorriso -as mkisofs prepared_for_iso/tree1 | \
xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
نشستهای
بعدی مانند
زیر نوشته
میشوند
(اجرای dd فقط
برای این
است که به
دیمنها
فرصت
مداخله
داده نشود):
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \
xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
همیشه سینی
درایو را
بین
نشستها
خارج (eject) کنید.
اجرای xorriso -as mkisofs
نشستهای
قبلی را از
طریق
درایور CD-ROM
مسیر /dev/sr0
میخواند.
این درایور
ممکن است تا
زمانی که
رسانه
مجدداً
بارگیری
نشود از
محتوای
تغییریافته
آگاه نباشد.
در این حالت
نشست قبلی
به درستی
توسط xorriso
ارزیابی
نخواهد شد و
نشست جدید
تنها شامل
فایلهای
تازه
اضافهشده
خواهد بود.
برخی
سیستمها
صبر کافی در
بارگیری
خودکار
سینی
ندارند و
برخی
دیمنها
ممکن است با
نخستین
تلاش
خواندن
درایور CD-ROM از
یک رسانه
تازه
بارگیریشده
تداخل
ایجاد کنند.
هنگام
بارگیری
دستی سینی،
۱۰ ثانیه پس
از متوقف
شدن چشمک
زدن درایو
صبر کنید.
یک روش
خودکار و
ایمن، یک
اجرای
جداگانه از
xorriso برای
بارگیری
سینی همراه
با انتظار
مناسب، و
سپس اجرای
بعدی dd به
نظر میرسد
که در برابر
هرگونه
مشکل ناشی
از ارزیابی
وضعیت
درایو
تغییریافته
توسط
دیمنها
مقاومت
ایجاد کند.
اگر این
کمکی نکرد،
یک اجرای "sleep
10" بین xorriso و dd
قرار دهید.
این مثال
فقط برای
رسانههای
چندنشستی
(multi-session) کار
میکند.
گزینه cdrskin با
عنوان --grow_overwriteable_iso
را به تمام
اجراهای -as cdrecord
اضافه کنید
تا تقلید
چندنشستی
روی
رسانههای
قابل
بازنویسی
فعال شود.
اجازه دادن به xorriso برای کار در زیربنای growisofs (Let xorriso work underneath growisofs)
برنامه growisofs
انتظار یک
برنامه
قالببندی ISO
را دارد که
گزینههای -C
و -M را درک
کند. اگر xorriso
با نام "xorrisofs"
شروع شود،
برای این
کار مناسب
است.
$ export MKISOFS="xorrisofs"
$ growisofs -Z /dev/dvd /some/files
$ growisofs -M /dev/dvd /more/files
اگر "xorrisofs" در
سیستم شما
در دسترس
نیست، باید
پیوندی
ایجاد کنید
که به
باینری xorriso
اشاره کند و
به growisofs بگویید
از آن
استفاده
نماید.
مثلاً با:
$ ln -s $(which xorriso) "$HOME/xorrisofs"
$ export MKISOFS="$HOME/xorrisofs"
میتوان از
تقلید mkisofs با
آرگومان "--"
خارج شد و از
تمام
دستورات xorriso
استفاده
کرد. برنامه
growisofs
گزینههایی
را که با "-o"
شروع
میشوند
قبول
نمیکند
اما -outdev باید
روی "-"
تنظیم شود.
بنابراین
در عوض از
"outdev" استفاده
کنید:
$ growisofs -Z /dev/dvd -- outdev - -update_r /my/files /files
$ growisofs -M /dev/dvd -- outdev - -update_r /my/files /files
برنامه growisofs
قابلیتهای
رایت عالی
با DVD و BD دارد.
با این حال
تاریخچه
نشست را روی
رسانههای
قابل
بازنویسی
شبیهسازی
نمیکند.
تنظیم آستانهها برای پرگویی، مقدار خروج و توقف برنامه (Adjust thresholds for verbosity, exit value and program abort)
بسیار
پرگو
باشید، در
صورت
مواجهه با
شدت "FAILURE" با
کد ۳۲ خارج
شوید،
زودتر از
موعد متوقف
نشوید بلکه
به اجبار تا
انتهای
دستورات
ادامه دهید.
$ xorriso ... \
-report_about UPDATE \
-return_with FAILURE 32 \
-abort_on NEVER \
...
نمونههایی از رشتههای زمانی ورودی (Examples of input timestrings)
همانطور
که توسط
برنامه date
چاپ میشود:
'Thu Nov 8 14:51:13 CET 2007'
همان بدون
بخشهای
نادیدهگرفتهشده:
'Nov 8 14:51:13 2007'
همان به
صورتی که
توسط date
انتظار
میرود: 110814512007.13
چهار هفته
در آینده: +4w
زمان فعلی: +0
سه ساعت قبل:
-3h
ثانیهها
از ۱ ژانویه
۱۹۷۰: =1194531416
پشتیبانگیری افزایشی از چند درخت دایرکتوری (Incremental backup of a few directory trees)
این دستور
درختهای
دایرکتوری
/projects و /personal_mail را در
تصویر ISO
تغییر
میدهد تا
به کپیهای
دقیق
معادلهای
دیسکی خود
تبدیل شوند.
اشیاء فایل
ISO ایجاد،
حذف یا صفات
آنها بر این
اساس تنظیم
میشوند.
مجوزهای
دسترسی ACL،
صفات xattr،
پیوندهای
سخت و
چکسامهای
MD5 ثبت
خواهند شد.
مقایسه
شتابیافته
به قیمت
اندازه
پشتیبان به
طور بالقوه
بزرگتر
فعال
میشود. فقط
رسانههایی
با شناسه
دیسک مورد
انتظار یا
رسانههای
خالی
پذیرفته
میشوند.
فایلهایی
با نامهای
منطبق با *.o
یا *.swp به طور
صریح
مستثنی
میگردند.
پس از اتمام
نوشتن،
نشست جدید
توسط MD5
ثبتشده
خود بررسی
میشود.
$ xorriso \
-abort_on FATAL \
-for_backup -disk_dev_ino on \
-assert_volid 'PROJECTS_MAIL_*' FATAL \
-dev /dev/sr0 \
-volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \
-not_leaf '*.o' -not_leaf '*.swp' \
-update_r /home/thomas/projects /projects \
-update_r /home/thomas/personal_mail /personal_mail \
-commit -toc -check_md5 FAILURE -- -eject all
برای
استفاده
چندین بار
روی همان
رسانه، هر
زمان که
بهروزرسانی
دو درخت
دیسک به
رسانه مورد
نظر باشد. با
یک رسانه
خالی شروع
کنید و آن را
تا زمانی
بهروزرسانی
کنید که
اجرا به
دلیل کمبود
فضای
باقیمانده
روی رسانه
قدیمی به
زیبایی
متوقف شود.
این امر در
صورتی
منطقی است
که
پشتیبانگیری
کامل ظرفیت
باقیمانده
قابل توجهی
را روی
رسانه باقی
بگذارد و
تغییرات
مورد
انتظار
بسیار
کوچکتر از
نسخه
پشتیبان
کامل باشند.
برای اعمال
فشردهسازی
zisofs بر روی آن
دسته از
فایلهای
داده که به
تازگی از
فایلسیستم
محلی کپی
شدهاند،
این
دستورات را
بلافاصله
قبل از -commit
وارد کنید:
-hardlinks perform_update \
-find / -type f -pending_data -exec set_filter --zisofs -- \
دستورات -disk_dev_ino
و -for_backup به
شمارههای
پایدار
دستگاه و inode
روی دیسک
بستگی
دارند. بدون
آنها، یک
اجرای
بهروزرسانی
ممکن است از
-md5 "on" برای
تطبیق
مجموعهای MD5
ثبتشده با
محتوای
فایل فعلی
روی دیسک
سخت
استفاده
کند. این کار
معمولاً
بسیار
سریعتر از
حالت
پیشفرض
است که هر دو
محتوا را
مستقیماً
مقایسه
میکند.
با گزینه mount
با عبارت -o
"sbsector=" در GNU/Linux یا
-s در FreeBSD یا NetBSD،
دسترسی به
درختهای
نشستی که
نسخههای
پشتیبان
قدیمیتر
را نشان
میدهند
امکانپذیر
است. در
رسانههای
CD، دستور mount
گنو/لینوکس
شماره
نشستها را
مستقیماً
با گزینه
"session=" خود
میپذیرد.
رسانههای
چندنشستی و
بیشتر
رسانههای
قابل
بازنویسی
نوشتهشده
توسط xorriso
میتوانند
sbsectorهای
نشستهای
خود را با
دستور -toc در
xorriso اعلام
کنند. دستور
زیر که بعد
از -commit
استفاده
میشود،
دستور mount
متناظر را
برای نشست
تازه
نوشتهشده
چاپ میکند
(در اینجا
برای نقطه
اتصال /mnt):
-mount_cmd "indev" "auto" "auto" /mnt
دستورات -mount_cmd و
-mount همچنین
قادرند
دستورات mount
را برای
نشستهای
قدیمیتر
در جدول
محتویات (table-of-content)
تولید کنند.
مثلاً به
عنوان
کاربر ارشد:
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
مثال بالا
نتیجهای
مشابه با -root / -old-root
/ با mkisofs ایجاد
میکند.
برای
انباشته
شدن
درختهای
نشست در
نشستهای
جدید،
بگذارید
تمام
دستورات -update
از یک
دایرکتوری
والد مشترک
استفاده
کنند و پس از
اتمام
بهروزرسانی
آن را
شبیهسازی
(clone) کنید:
-update_r /home/thomas/projects /current/projects \
-update_r /home/thomas/personal_mail /current/personal_mail \
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \
درخت
کلونشده
نامی مانند
/2011_02_12_155700 خواهد
داشت.
نشستها در رسانههای چندنشستی با چندین مگابایت از بلوکهای استفادهنشده از یکدیگر جدا میشوند. بنابراین با نشستهای کوچک، ظرفیت داده خالص میتواند بسیار کمتر از ظرفیت کلی رسانه شود. اگر فضای باقیمانده روی یک رسانه برای شکاف بعدی کافی نباشد، انتظار میرود درایو رسانه را به طور خودکار ببندد.
بهتر است
از
جدیدترین
پشتیبان
خود برای -update_r
استفاده
نکنید.
حداقل دو
رسانه
داشته
باشید که به
صورت
متناوب از
آنها
استفاده
میکنید.
بنابراین
فقط
نسخههای
پشتیبان
قدیمیتر
در معرض خطر
عملیات
نوشتن جدید
قرار
میگیرند،
در حالی که
جدیدترین
نسخه
پشتیبان با
خیالی
آسوده روی
رسانهای
دیگر ذخیره
شده است.
همیشه یک
رسانه خالی
آماده برای
انجام یک
نسخه
پشتیبان
کامل داشته
باشید تا در
صورتی که
تلاش برای
بهروزرسانی
به دلیل عدم
کفایت
ظرفیت
باقیمانده
ناموفق
ماند، از آن
استفاده
کنید. البته
این شکست
رسانه
قدیمی را
خراب
نخواهد
کرد.
بازیابی درختهای دایرکتوری از یک نشست خاص ISO به دیسک (Restore directory trees from a particular ISO session to disk)
این روش
جایگزینی
برای سوار
کردن رسانه
و استفاده
از
عملیاتهای
معمولی
فایل است.
ابتدا
بررسی کنید
چه
نشستهای
پشتیبانی
روی رسانه
قرار دارند:
$ xorriso -outdev /dev/sr0 -toc
سپس
بازیابی ACL، xattr
و پیوندهای
سخت را فعال
کنید. نشست
مورد نظر را
بارگیری
کرده و
درختهای
فایل را روی
دیسک کپی
کنید. از
ایجاد /home/thomas/restored
بدون مجوز rwx
خودداری
نمایید.
$ xorriso -for_backup \
-load volid 'PROJECTS_MAIL_2008_06_19*' \
-indev /dev/sr0 \
-osirrox on:auto_chmod_on \
-chmod u+rwx / -- \
-extract /projects /home/thomas/restored/projects \
-extract /personal_mail /home/thomas/restored/personal_mail \
-rollback_end
دستور
پایانی -rollback_end
از نمایش
پیام خطایی
مبنی بر
نادیده
گرفته شدن
تصویر
تغییریافته
جلوگیری
میکند.
تلاش برای بازیابی بلوکها از یک رسانه آسیبدیده (Try to retrieve blocks from a damaged medium)
$ xorriso -abort_on NEVER -indev /dev/sr0 \
-check_media time_limit=1800 report=blocks_files \
data_to="$HOME"/dvd_copy sector_map="$HOME"/dvd_copy.map
--
این کار را
میتوان
چندین بار
تکرار کرد،
در صورت
لزوم با -eject یا
با سایر
درایوهای -indev.
برای
آدرسهایی
که میتوان
روی "$HOME"/dvd_copy با
گزینه مونت -o
sbsector= یا -s
استفاده
کرد، بخش
خوانا برای
انسان را در
"$HOME"/dvd_copy.map
ببینید.
فایلها (FILES)
نامهای مستعار برنامه (Program alias names):
نصب
معمولی xorriso
سه پیوند یا
نسخه کپی
ایجاد
میکند که
بر اساس نام
برنامه خود
تنظیمات
خاصی را از
پیش انتخاب
مینمایند:
xorrisofs برنامه
xorriso را با
تقلید -as mkisofs
آغاز
میکند.
xorrecord برنامه
xorriso را با
تقلید -as cdrecord
آغاز
میکند.
osirrox با -osirrox "on:o_excl_off"
شروع
میشود که
به دستورات
بعدی اجازه
میدهد
فایلها را
از تصویر ISO
به دیسک کپی
کرده و
دستور -mount را
روی یک یا
چند نشست
موجود ISO
اعمال
نمایند.
فایلهای راهاندازی (Startup files):
اگر -no_rc به
عنوان
اولین
آرگومان
داده نشده
باشد،
آنگاه xorriso در
هنگام
راهاندازی
تلاش
میکند
خطوط را از
فایلهای
زیر بخواند
و اجرا کند:
/etc/default/xorriso
/etc/opt/xorriso/rc
/etc/xorriso/xorriso.conf
$HOME/.xorrisorc
فایلها با
توالی
ذکرشده در
بالا
خوانده
میشوند،
اما وجود
هیچیک از
آنها
الزامی
نیست. قالب
خطوط در ذیل
دستور -options_from_file
شرح داده
شده است.
اگر تقلید mkisofs
توسط نام
برنامه
"xorrisofs"، "mkisofs"،
"genisoimage"، یا "genisofs"
فعال شده
باشد، در
ادامه -read_mkisofsrc
اجرا
میشود که
فایلهای .mkisofsrc
را
میخواند.
به آن بخش
مراجعه
نمایید.
فایلهای کنترل زمان اجرا (Runtime control files):
تنظیم
پیشفرض -check_media
abort_file= عبارت
است از:
/var/opt/xorriso/do_abort_check_media
محیط (ENVIRONMENT)
متغیرهای
محیطی زیر
بر رفتار
برنامه
تأثیر
میگذارند:
HOME برای یافتن
فایلهای
راهاندازی
xorriso و mkisofs
استفاده
میشود.
SOURCE_DATE_EPOCH متعلق به
مشخصات
سامانه reproducible-builds.org
است.
پاراگراف
«ملاحظات
تکرارپذیری
ساخت» در
بالا را
ببینید.
همچنین ببینید (SEE ALSO)
- برای تقلید mkisofs در xorriso:
- xorrisofs(1)
- برای تقلید cdrecord در xorriso:
- xorrecord(1)
- برای سوار کردن (mount) تصاویر ISO 9660 تولیدشده توسط xorriso (-t iso9660):
- mount(8)
- کتابخانه Libreadline، یک تسهیلات راحت برای خط ورودی:
- readline(3)
- سایر برنامههایی که تصاویر ISO 9660 تولید میکنند:
- mkisofs(8), genisoimage(1)
- سایر برنامههایی که نشستها را روی رسانههای نوری رایت میکنند:
- growisofs(1), cdrecord(1), wodim(1), cdrskin(1)
- مجوزهای ACL، صفات xattr، صفات فایل لینوکس، شناسههای پروژه:
- getfacl(1), setfacl(1), getfattr(1), setfattr(1), lsattr(1), chattr(1), ext4(5), xfs_quota(8)
- چکسامهای MD5:
- md5sum(1)
- در FreeBSD دستورات مربوط به xattr و MD5 تفاوت دارند:
- getextattr(8), setextattr(8), md5(1)
اشکالات (BUGS)
برای
گزارش
اشکالات،
درخواست
کمک یا
پیشنهاد
بهبود برای
xorriso، لطفاً
به فهرست
پستی عمومی
<bug-xorriso@gnu.org> نامه
الکترونیکی
بفرستید.
اگر حریم
خصوصی
بیشتری مد
نظر است، به
<scdbackup@gmx.net> ایمیل
ارسال
نمایید.
لطفاً آنچه
را که
انتظار
دارید xorriso
انجام دهد،
آرگومانهای
برنامه یا
دستورات
گفتوگویی
که با آن سعی
در دستیابی
به هدف
داشتید،
پیامهای
xorriso، و نتیجه
نامطلوب
اجرای
برنامه خود
را شرح دهید.
انتظار
داشته
باشید که
قبل از
ارائه
راهحلها،
سؤالات
بیشتری از
شما پرسیده
شود.
نویسندگان (AUTHORS)
Thomas Schmitt <scdbackup@gmx.net>
برای libburnia-project.org
حق نشر (COPYRIGHT)
حق نشر (c) 2007 - 2026
متعلق به Thomas Schmitt
است.
اجازه
توزیع
آزادانه
این متن
داده شده
است. این متن
فقط باید
همگام با
ویژگیهای
فنی xorriso
تغییر یابد.
اگر از این
مجوز برای
تولید
نسخههای
تغییریافته
از xorriso
استفاده
میکنید،
مجاز هستید
این متن را
تحت همان
مجوز
ویرایش
نمایید.
تشکر و قدردانی (CREDITS)
برنامه xorriso
تا حدی بر
اساس
کارهای Vreixo Formoso
است که
کتابخانه libisofs
را همراه با
Mario Danic (که
همچنین
رهبری تیم libburnia
را بر عهده
دارد) ارائه
میدهد. Vladimir Serbinenko
کد
فایلسیستم
HFS+ و دانش
مربوطه را
ارائه
نموده است.
با تشکر از Andy
Polyakov که گسترش
تقلیدشده (emulated
growing) را ابداع
کرد، و از Derek Foreman
و Ben Jansens که
روزگاری libburn
را
پایهگذاری
کردند.
با احترام
به Joerg Schilling که
ابزار cdrtools او
به مدت ده
سال به من
خدمت کرد.
| Version 1.5.8, Apr 01, 2026 |