| MKISOFS(8) | System Manager's Manual | MKISOFS(8) |
نام (NAME)
mkisofs - ایجاد یک ایمیج سیستمفایل ترکیبی ISO-9660/JOLIET/HFS/UDF همراه با ویژگیهای اختیاری Rock Ridge.
خلاصه دستور (SYNOPSIS)
mkisofs [ options ] [ -o filename ]
pathspec [pathspec ...]
mkisofs [ options ] [ -o filename ] -find
[find expression]
توضیحات (DESCRIPTION)
دستور mkisofs در عمل یک برنامه پیشمسترینگ (pre-mastering) برای تولید یک سیستمفایل ترکیبی ISO-9660/JOLIET/HFS/UDF است.
سیستمفایلهای ISO-9660/JOLIET/UDF به حداکثر اندازه 8 TB محدود هستند. حداکثر اندازه یک فایل منفرد 8 TB است (فایلهای منفرد در UDF در حال حاضر تقریباً به 200 GB محدود هستند). اگر مایلید فایلهایی بزرگتر از 2 GB داشته باشید، باید -iso-level 3 یا بالاتر را مشخص کنید. اگر یک سیستمفایل ترکیبی HFS ایجاد شود، در هر صورت حداکثر اندازه فایل برای فایلها در ساختار ترکیبی HFS برابر با 2 GB است.
پشتیبانی از سیستمفایل ترکیبی (Hybrid filesystem support)
mkisofs قادر است رکوردهای پروتکل اشتراکگذاری استفاده از سیستم (SUSP) مشخصشده توسط پروتکل تبادل راک ریج (Rock Ridge Interchange Protocol) را تولید کند. این قابلیت برای توصیف بیشتر فایلها در سیستمفایل ISO-9660 برای یک میزبان UNIX به کار میرود و اطلاعاتی مانند نامهای طولانیتر فایل، uid/gid، مجوزهای POSIX، پیوندهای نمادین، پیوندهای سخت و دستگاههای بلوکی و نویسهای را ارائه میدهد.
اگر گزینههای خط فرمان ترکیبی Joliet، HFS یا UDF مشخص شوند، mkisofs متادیتای جداگانه و اضافی سیستمفایل را برای Joliet، HFS یا UDF ایجاد خواهد کرد. محتوای فایل در این حالت به همان بلوکهای داده روی رسانه ارجاع میدهد. اگر گزینههای خط فرمان ترکیبی Joliet، HFS یا UDF داده نشوند، یک سیستمفایل خالص ISO-9660 تولید خواهد شد.
mkisofs میتواند یک سیستمفایل ترکیبی HFS واقعی (یا اشتراکی) (به صورت true یا shared) تولید کند. همان فایلها هنگامی که از یک Macintosh دسترسی پیدا شوند به عنوان فایلهای HFS، و زمانی که از سایر ماشینها دسترسی پیدا شوند به عنوان فایلهای ISO-9660 دیده میشوند. HFS مخفف Hierarchical File System است و سیستمفایل بومی مورد استفاده در رایانههای Macintosh تا Mac OS 9 میباشد.
به عنوان جایگزین، mkisofs میتواند افزونههای اپل برای ISO-9660 (Apple Extensions to ISO-9660) یا UDF را برای هر فایل تولید کند. این افزونهها برای هر فایل هنگام دسترسی از یک Macintosh، مقادیر CREATOR، TYPE و فلگهای خاص Finder را فراهم میکنند. بخش HFS MACINTOSH FILE FORMATS در ادامه را ببینید.
توضیحات عملکردی (Functional description)
mkisofs یک تصویر لحظهای (snapshot) از یک درخت دایرکتوری دادهشده تهیه میکند و یک ایمیج باینری تولید میکند که هنگام نوشته شدن بر روی یک دستگاه بلوکی، متناظر با یک سیستمفایل ISO-9660 یا Joliet/HFS/UDF خواهد بود.
هر فایلی که در سیستمفایل ISO-9660 نوشته میشود باید نام فایلی در قالب 8.3 (۸ نویسه، نقطه، ۳ نویسه، همگی با حروف بزرگ) داشته باشد، حتی اگر ویژگیهای Rock Ridge در حال استفاده باشند. این نام فایل در سیستمهایی به کار میرود که قادر به بهرهگیری از افزونههای Rock Ridge نیستند (مانند MS-DOS)، و هر نام فایل در هر دایرکتوری باید با سایر نامهای فایل در همان دایرکتوری متفاوت باشد. mkisofs عموماً تلاش میکند با تبدیل اجباری نام فایل UNIX به حروف بزرگ و کوتاه کردن آن در صورت نیاز، نامهای درستی بسازد، اما در مواردی که نامهای کوتاه شده همگی منحصربهفرد نباشند، این کار اغلب نتایج نامطلوبی در پی دارد. mkisofs به هر نام فایل وزنهایی اختصاص میدهد، و اگر دو نام یافت شوند که در غیر این صورت یکسان هستند، نام دارای اولویت کمتر تغییر نام داده میشود تا یک عدد ۳ رقمی به عنوان پسوند داشته باشد (که منحصربهفرد بودن آن عدد تضمین شده است). یک نمونه از این مورد فایلهای foo.bar و foo.bar.~1~ است؛ فایل foo.bar.~1~ به صورت FOO000.BAR;1 و فایل foo.bar به صورت FOO.BAR;1 نوشته خواهد شد.
هنگام استفاده با گزینههای گوناگون HFS یا UDF، mkisofs تلاش خواهد کرد فایلهای ذخیرهشده در چندین قالب فایل Apple/Unix را شناسایی کند و انشعابهای داده و منبع (data and resource forks) و همچنین هرگونه اطلاعات مرتبط Finder را رونوشت کند. برای اطلاعات بیشتر درباره قالبهایی که mkisofs پشتیبانی میکند، بخش HFS MACINTOSH FILE FORMATS در ادامه را ببینید.
توجه داشته باشید که mkisofs برای برقراری ارتباط مستقیم با دستگاههای رایتر رسانههای نوری طراحی نشده است. بیشتر رایترها مجموعهدستورهای اختصاصی دارند که از سازندهای به سازنده دیگر متفاوت است، و شما برای رایت واقعی دیسک به ابزاری تخصصی مانند cdrecord نیاز دارید.
ابزار cdrecord ابزاری است که توانایی رایت یک دیسک واقعی را دارد. آخرین نسخه cdrecord از https://sourceforge.net/projects/cdrtools/files یا https://sourceforge.net/projects/cdrtools/files/alpha در دسترس است.
همچنین باید بدانید که اکثر رایترهای CD درباره زمانبندی بسیار حساس هستند. هنگامی که رایت دیسک را آغاز میکنید، نباید اجازه دهید بافر آنها پیش از پایان کار خالی شود، وگرنه کار شما با یک دیسک خراب به پایان خواهد رسید. بنابراین بسیار حیاتی است که بتوانید در تمام مدت زمان رایت دیسک، جریان پیوسته داده به رایتر را حفظ کنید.
مدیریت نامهای مسیر (Dealing with path names)
pathspec مسیر درخت دایرکتوری است که باید در سیستمفایل ISO-9660 رونوشت شود. میتوان چندین مسیر را مشخص کرد و mkisofs فایلهای یافتشده در تمام بخشهای مسیر مشخصشده را ادغام خواهد کرد تا ایمیج cdrom شکل گیرد.
اگر گزینه -graft-points مشخص شده باشد، پیوند زدن (graft) مسیرها در نقاطی غیر از دایرکتوری ریشه امکانپذیر است، و میتوان فایلها یا دایرکتوریها را با نامهایی متفاوت از آنچه در سیستمفایل مبدأ دارند روی ایمیج cdrom پیوند زد. توضیح این موضوع با چند مثال آسانتر است. فرض کنیم یک فایل محلی با نام ../old.lis وجود دارد و میخواهید آن را در ایمیج cdrom بگنجانید.
foo/bar/=../old.lis
فایل old.lis را در ایمیج cdrom در مسیر /foo/bar/old.lis میگنجاند، در حالی که
foo/bar/xxx=../old.lis
فایل old.lis را در ایمیج cdrom در مسیر /foo/bar/xxx قرار خواهد داد. همین شیوه نحو را میتوان برای دایرکتوریها نیز به کار برد. mkisofs هر دایرکتوری مورد نیازی را ایجاد میکند تا نقاط پیوند روی ایمیج cdrom وجود داشته باشند؛ نیازی نیست این دایرکتوریها در یکی از مسیرها ظاهر شوند. به طور پیشفرض، هر دایرکتوری که در حین اجرا به این صورت ایجاد شود، مجوزهای 0555 خواهد داشت و به نظر میرسد متعلق به کاربری است که mkisofs را اجرا میکند. اگر مجوزها یا مالکان دیگری برای دایرکتوریهای میانی میخواهید، گزینههای زیر را ببینید: -uid، -gid، -dir-mode، -file-mode و -new-dir-mode.
دستور mkisofs همچنین در صورت کامپایل با cygwin شرکت Cygnus (قابل دریافت از http://sourceware.cygnus.com/cygwin) روی ماشینهای Win9x/NTx نیز اجرا خواهد شد. بنابراین بیشتر ارجاعات موجود در این صفحه راهنما به Unix برای Win32 یا Win64 نیز صدق میکند.
گزینهها (OPTIONS)
- -abstract FILE
- نام فایل
چکیده را در
توصیفگر
جلد اصلی
مشخص
میکند. روی
دیسک ۳۷
نویسه فضا
برای
اطلاعات
وجود دارد.
مدخل
مربوطه در Joliet
به ۱۸ نویسه
محدود است.
این
پارامتر
همچنین
میتواند
در فایل .mkisofsrc
با ABST=filename تنظیم
شود. اگر در
هر دو مکان
مشخص شده
باشد، نسخه
خط فرمان
استفاده
میشود.
این بر عهده کاربر mkisofs است که فایلی با نام مناسب را در درخت سیستمفایل ایجاد شده بگنجاند.
- -A application_id
- -appid application_id
- یک رشته متنی را مشخص میکند که در سرآیند جلد نوشته خواهد شد. این رشته باید برنامهای را که روی دیسک قرار خواهد گرفت توصیف کند. روی دیسک ۱۲۸ نویسه فضا برای اطلاعات وجود دارد. مدخل مربوطه در Joliet به ۶۴ نویسه محدود است. این پارامتر همچنین میتواند در فایل .mkisofsrc با APPI=id تنظیم شود. اگر در هر دو مکان مشخص شده باشد، نسخه خط فرمان استفاده میشود.
- -allow-leading-dots
- -ldots
- اجازه
میدهد
نامهای
فایل ISO-9660 با
یک نقطه
شروع شوند.
معمولاً یک
نقطه
ابتدایی
برای حفظ
سازگاری با
MS-DOS با یک
زیرخط (underscore)
جایگزین
میشود.
این کار استاندارد ISO-9660 را نقض میکند، اما در بسیاری از سیستمها کار میکند. با احتیاط استفاده کنید. - -allow-lowercase
- این گزینه
اجازه
میدهد
حروف کوچک
انگلیسی در
نامهای
فایل ISO-9660 ظاهر
شوند.
این کار استاندارد ISO-9660 را نقض میکند، اما در برخی سیستمها کار میکند. با احتیاط استفاده کنید. - -no-allow-lowercase
- اثر گزینه -allow-lowercase را بازنشانی میکند و حتی زمانی که از -U، -untranslated-filenames یا -iso-level 4 برای مجاز کردن نامهای فایل با حروف کوچک استفاده شده باشد نیز عمل میکند.
- -allow-multidot
- این گزینه
اجازه
میدهد بیش
از یک نقطه
در نامهای
فایل ISO-9660 وجود
داشته باشد.
نقطه
ابتدایی
تحت تأثیر
این گزینه
قرار
نمیگیرد؛
آن
میتواند
بهطور
جداگانه با
استفاده از
گزینه -allow-leading-dots
مجاز شود.
این کار استاندارد ISO-9660 را نقض میکند، اما در بسیاری از سیستمها کار میکند. با احتیاط استفاده کنید. - -biblio FILE
- نام فایل
کتابشناختی
را در
توصیفگر
جلد اصلی
مشخص
میکند. روی
دیسک ۳۷
نویسه فضا
برای
اطلاعات
وجود دارد.
مدخل
مربوطه در Joliet
به ۱۸ نویسه
محدود است.
این
پارامتر
همچنین
میتواند
در فایل .mkisofsrc
با BIBLO=filename تنظیم
شود. اگر در
هر دو مکان
مشخص شده
باشد، نسخه
خط فرمان
استفاده
میشود.
این بر عهده کاربر mkisofs است که فایلی با نام مناسب را در درخت سیستمفایل ایجاد شده بگنجاند.
- -cache-inodes
- شمارههای
inode و دستگاه
را برای
یافتن
پیوندهای
سخت به
فایلها در
حافظه موقت
(cache) نگه
میدارد.
اگر mkisofs یک
پیوند سخت
(فایلی با
چندین نام)
پیدا کند،
آنگاه فایل
فقط یک بار
روی CD ظاهر
خواهد شد.
این کار به
صرفهجویی
در فضا روی CD
کمک میکند.
گزینه -cache-inodes
روی
سیستمعاملهای
شبه یونیکس
پیشفرض
است. هنگام
استفاده از
این گزینه
روی یک
سیستمفایل
بدون
شمارههای
inode یکتا دقت
کنید، زیرا
ممکن است
باعث شود
فایلهایی
با محتوای
نادرست روی
CD قرار
گیرند.
گزینه -duplicates-once را برای روشی که روی سیستمفایلهای بدون شمارههای inode یکتا کار میکند ببینید.
اگر inodeها کش نشوند، mkisofs به نسخه قدیمی Rrip Version-1.10 بازمیگردد (ببینید -rrip110) و mkisofs قادر نخواهد بود شمارههای inode صحیح را برای فایلهای با اندازه صفر ایجاد کند.
- -no-cache-inodes
- شمارههای
inode و دستگاه
را کش
نمیکند.
این گزینه
هر زمان که
یک
سیستمفایل
شمارههای
inode یکتا
نداشته
باشد مورد
نیاز است.
این گزینه
در
نسخههای
قدیمی Cygwin
پیشفرض
است. از
آنجا که
سیستمعامل
مایکروسافت
که در زیر Cygwin
اجرا
میشود از
شمارههای
inode ۶۴ بیتی
برای NTFS
استفاده
میکند،
شمارههای
inode یکتا در
محدوده ۳۲
بیتی ندارد.
نسخههای
قدیمی Cygwin با
استفاده از
یک
الگوریتم
درهمسازی،
شمارههای
inode جعلی ۳۲
بیتی تولید
میکنند و
بنابراین
شمارههای
غیریکتا
ایجاد
میکنند.
اگر mkisofs
شمارههای
inode را در
نسخههای
قدیمی Cygwin کش
کند، فرض
خواهد کرد
که برخی
فایلها با
وجود
متفاوت
بودن،
یکسان
هستند.
نتیجه در
این حالت،
فایلهایی
خواهند بود
که در صورت
وجود تعداد
قابل توجهی
از
فایلهای
گوناگون
(بیش از
حدود ۵۰۰۰)
درون درختی
که قرار است
بایگانی
شود،
محتوای
نادرستی
خواهند
داشت. این
اتفاق در
صورت
استفاده از
گزینه -no-cache-inodes
رخ
نمیدهد،
اما عیب آن
این است که
mkisofs دیگر
نمیتواند
پیوندهای
سخت را
تشخیص دهد و
ایمیج CD
حاصل ممکن
است
بزرگتر از
حد انتظار
باشد.
اگر inodeها کش نشوند، mkisofs به نسخه قدیمی Rrip Version-1.10 بازمیگردد (ببینید -rrip110) و mkisofs قادر نخواهد بود شمارههای inode صحیح را برای فایلهای با اندازه صفر ایجاد کند.
- -duplicates-once
- به mkisofs میگوید که از یک چکسام خلاصه پیام (message digest checksum) برای شناسایی فایلهای یکسان بهعنوان فایلهای ظاهراً پیوند سخت شده استفاده کند. این قابلیت به mkisofs اجازه میدهد حتی زمانی که روی پلتفرمهای غیر پازیکس مانند DOS اجرا میشود، شمارههای inode و پیوندهای سخت را بایگانی کند.
- -b eltorito_boot_image
- -eltorito-boot eltorito_boot_image
- مسیر و نام
فایل ایمیج
بوت را که
هنگام ساخت
یک CD بوتیبل
"El Torito"
استفاده
میشود،
مشخص
میکند.
مسیر باید
نسبت به
مسیر مبدأ و
در داخل
درخت مبدأ
مشخصشده
برای mkisofs
باشد. این
گزینه برای
ساخت یک CD
بوتیبل "El Torito"
الزامی است.
ایمیج بوت
باید
دقیقاً به
اندازه یکی
از
فلاپیهای
۱۲۰۰، ۱۴۴۰
یا ۲۸۸۰
کیلوبایتی
باشد، و mkisofs
هنگام
ایجاد
سیستمفایل
خروجی ISO-9660 از
این اندازه
استفاده
خواهد کرد.
فرض بر این
است که
اولین
سکتور ۵۱۲
بایتی باید
از ایمیج
بوت خوانده
شود (اساساً
یک درایو
فلاپی
معمولی را
شبیهسازی
میکند).
برای مثال،
اگر ایمیج
بوت یک
فلاپی بوت
باشد، این
کار خواهد
کرد.
اگر ایمیج بوت تصویری از یک فلاپی نیست، باید یکی از گزینههای زیر را اضافه کنید: -hard-disk-boot یا -no-emul-boot. اگر سیستم نباید از دیسک شبیهسازیشده بوت شود، از -no-boot استفاده کنید.
بیش از یک مدخل بوت را میتوان مشخص کرد؛ برای چگونگی تعیین مدخلهای بوت بیشتر، -eltorito-platform و -eltorito-alt-boot را ببینید. نخستین مدخل بوت، مدخل بوت پیشفرض است. مدخلهای بوت اضافی اعضایی برای یک پیکربندی چندبوتی (multi boot) هستند.
اگر گزینه -sort مشخص نشده باشد، ایمیجهای بوت با اولویت پایین (+2) به ابتدای رسانه مرتب میشوند. اگر این را نمیخواهید، باید وزن مرتبسازی 0 را برای ایمیجهای بوت مشخص کنید.
- -eltorito-alt-boot
- با یک
مجموعه
جدید از
پارامترهای
بوت "El Torito"
شروع
میکند. این
امکان را
میدهد که
بیش از یک
مدخل بوت El Torito
روی یک CD
وجود داشته
باشد.
حداکثر ۶۳
مدخل بوت El Torito
را میتوان
روی یک CD
قرار داد.
گزینه -eltorito-alt-boot یک مدخل بوت جدید با همان platform id را شروع میکند، اما بدون بخش بوت جدید، مگر زمانی که پس از اولین مدخل بوت که همان مدخل بوت پیشفرض است ظاهر شود.
- -eltorito-platform id
- شناسه پلتفرم (platform id) مربوط به "El Torito" را برای یک رکورد بوت یا بخشی از رکوردهای بوت تنظیم میکند. پارامتر id میتواند یکی از موارد زیر باشد:
- x86
- این مقدار پیشفرض platform id است و مدخلها را برای پلتفرم PC مشخص میکند. اگر هیچ گزینه -eltorito-platform پیش از اولین گزینه -eltorito-boot ظاهر نشود، مدخل بوت پیشفرض به یک مدخل برای پلتفرم x86 PC تبدیل میشود.
- PPC
- مدخلهای بوت برای پلتفرم Power PC.
- Mac
- مدخلهای بوت برای پلتفرم Apple Mac.
- efi
- مدخلهای بوت برای رایانههای شخصی مبتنی بر EFI.
- #
- یک مقدار عددی که هر شناسه پلتفرمی را مشخص میکند.
اگر گزینه -eltorito-platform پیش از اولین گزینه -eltorito-boot ظاهر شود، platform id را برای مدخل بوت پیشفرض تنظیم میکند.
اگر گزینه -eltorito-platform پس از یک گزینه -eltorito-boot ظاهر شود و platform id را به مقداری متفاوت از مقدار قبلی تنظیم کند، مجموعه جدیدی از مدخلهای بوت را آغاز میکند.
دومین مدخل بوت و هر platform id جدید، یک سرآیند بخش جدید ایجاد میکند و تعداد مدخلهای بوت مجاز در هر CD را یک عدد کاهش میدهد.
- errctl= name
- errctl= error control spec
- محتوای
فایل name را
به تعاریف
کنترل خطا
اضافه
میکند یا error
control spec را به
تعاریف
کنترل خطا
میافزاید.
استفاده از
بیش از یک
فایل کنترل
خطا و بیش
از یک error control spec و
همچنین
ترکیبی از
هر دو شکل
ممکن است.
دلیل استفاده از کنترل خطا، بیصدا کردن mkisofs در مورد وضعیتهای خطایی است که مشخص شده تأثیری بر کیفیت سیستمفایل ایجاد شده ندارند، یا دستور دادن به mkisofs برای لغو عملیات (abort) در برخی وضعیتهای خطای خاص بهجای تلاش برای ادامه ایجاد سیستمفایل است.
یک دلیل رایج برای استفاده از کنترل خطا، فرونشاندن هشدارهای مربوط به رشد فایلهای گزارش (log) در هنگام پشتیبانگیری از یک سیستمفایل زنده است. دلیل معمول دیگر برای استفاده از کنترل خطا، دستور دادن به mkisofs برای لغو عملیات در صورتی است که مثلاً یک فایل نتواند بایگانی شود، بهجای اینکه به بایگانی کردن سایر فایلها از یک فهرست ادامه دهد.
فایل کنترل خطا شامل مجموعهای از خطوط است که هر کدام با فهرستی از وضعیتهای خطایی که باید نادیده گرفته شوند آغاز میشود، پس از آن فاصله خالی (white space) و سپس یک الگوی نام فایل قرار میگیرد (برای اطلاعات بیشتر match(1) یا patmatch(3) را ببینید). مشخصه error control spec از نحو یکسانی با یک خط منفرد از فایل کنترل خطا استفاده میکند. اگر الگوی نام فایل نیاز دارد که با فاصله خالی شروع شود، از یک بکاسلش برای گریز دادن ابتدای نام فایل استفاده کنید. امکان وجود نویسههای خط جدید در الگوی نام فایل وجود ندارد. هر زمان که یک وضعیت خطا رخ دهد، mkisofs خطوط موجود در فایل کنترل خطا را از بالا بررسی میکند. اگر وضعیت خطای جاری در یک خط از فایل کنترل خطا فهرست شده باشد، آنگاه mkisofs بررسی میکند که آیا الگوی موجود در ادامه خط با نام فایل جاری مطابقت دارد یا خیر. در این صورت، mkisofs از مشخصه کنترل خطای جاری برای مهار وضعیت خطای فعلی استفاده میکند.
فهرست وضعیتهای خطایی که باید مدیریت شوند میتواند از یک یا چند شناسه (که در این صورت با نویسه '|' جدا میشوند) از فهرست زیر استفاده کند:
- ABORT
- اگر این فراوضعیت در یک وضعیت خطا گنجانده شود، mkisofs بهجای اینکه وضعیت را نادیده بگیرد و بیصدا کند، در اسرع وقت پس از مشاهده این وضعیت خطا متوقف میشود (خارج میشود). این فلگ وضعیت خطا فقط میتواند همراه با یک وضعیت خطای دیگر یا فهرستی از وضعیتهای خطا (که با نویسه '|' جدا شدهاند) استفاده شود.
- WARN
- اگر این فراوضعیت در یک وضعیت خطا گنجانده شود، mkisofs هشدار مربوط به وضعیت خطا را چاپ میکند، اما وضعیت خطا بر کد خروج mkisofs تأثیری نخواهد گذاشت و آمار خطا (که در پایان چاپ میشود) خطاهای مربوطه را در بر نمیگیرد. این فلگ وضعیت خطا فقط میتواند همراه با یک وضعیت خطای دیگر یا فهرستی از وضعیتهای خطا (که با نویسه '|' جدا شدهاند) استفاده شود. فراوضعیت WARN اولویت کمتری نسبت به ABORT دارد.
- ALL
- این یک میانبر برای تمامی وضعیتهای خطای زیر است.
- STAT
- فرونشاندن هشدارهایی مبنی بر اینکه mkisofs نتوانسته است روی یک فایل stat(2) انجام دهد.
- GETACL
- فرونشاندن هشدارها درباره فایلهایی که mkisofs در بازیابی اطلاعات ACL آنها با مشکل روبهرو شده است.
- OPEN
- فرونشاندن هشدارها درباره فایلهایی که باز نشدند.
- READ
- فرونشاندن هشدارهای مربوط به خطاهای خواندن روی فایلها.
- WRITE
- فرونشاندن هشدارهای مربوط به خطاهای نوشتن روی فایلها.
- READLINK
- فرونشاندن هشدارهای خطاهای readlink(2) روی پیوندهای نمادین.
- GROW
- فرونشاندن هشدارها درباره فایلهایی که اندازه آنها در حین بایگانی شدن افزایش یافته است.
- SHRINK
- فرونشاندن هشدارها درباره فایلهایی که اندازه آنها در حین بایگانی شدن کاهش یافته است.
- MISSLINK
- فرونشاندن هشدارها درباره فایلهایی که mkisofs نتوانسته تمام پیوندهای سخت آنها را بایگانی کند.
- NAMETOOLONG
- فرونشاندن هشدارها درباره فایلهایی که نتوانستند بایگانی شوند زیرا نام فایل برای قالب بایگانی بیش از حد طولانی است.
- FILETOOBIG
- فرونشاندن هشدارها درباره فایلهایی که نتوانستند بایگانی شوند زیرا اندازه فایل برای قالب بایگانی بیش از حد بزرگ است.
- SPECIALFILE
- فرونشاندن هشدارها درباره فایلهایی که نتوانستند بایگانی شوند زیرا نوع فایل توسط قالب بایگانی پشتیبانی نمیشود.
- GETXATTR
- فرونشاندن هشدارها درباره فایلهایی که mkisofs نتوانسته اطلاعات صفت گسترشیافته فایل را بازیابی کند.
- SETTIME
- فرونشاندن هشدارها درباره فایلهایی که mkisofs نتوانسته اطلاعات زمان را در حین استخراج تنظیم کند.
- SETMODE
- فرونشاندن هشدارها درباره فایلهایی که mkisofs نتوانسته حالتهای دسترسی را در حین استخراج تنظیم کند.
- SECURITY
- فرونشاندن هشدارها درباره فایلهایی که در حین استخراج نادیده گرفته شدهاند زیرا یک خطر امنیتی تلقی شدهاند. این موضوع در حال حاضر برای تمام فایلهایی صدق میکند که حاوی توالی '/../' هستند، زمانی که -.. مشخص نشده باشد.
- LSECURITY
- فرونشاندن هشدارها درباره پیوندهایی که در حین استخراج نادیده گرفته شدهاند زیرا یک خطر امنیتی تلقی شدهاند. این موضوع در حال حاضر برای تمام نامهای پیوندی صدق میکند که با '/' شروع میشوند یا حاوی توالی '/../' هستند، هنگامی که -secure-links مشخص شده باشد. در این حالت، mkisofs تلاش میکند نام پیوند را با الگوی موجود در فایل کنترل خطا تطبیق دهد.
- SAMEFILE
- فرونشاندن هشدارها درباره پیوندهایی که در حین استخراج نادیده گرفته شدهاند زیرا مبدأ و مقصد پیوند به همان فایل اشاره میکنند. اگر mkisofs این فایلها را نادیده نمیگرفت، به حذف کامل فایل منجر میشد. در این حالت، mkisofs تلاش میکند نام پیوند را با الگوی موجود در فایل کنترل خطا تطبیق دهد.
- BADACL
- فرونشاندن هشدارهای مربوط به مشکلات تبدیل فهرست کنترل دسترسی (ACL).
- SETACL
- فرونشاندن هشدارها درباره فایلهایی که mkisofs نتوانسته اطلاعات ACL را در حین استخراج تنظیم کند.
- SETXATTR
- فرونشاندن هشدارها درباره فایلهایی که mkisofs نتوانسته اطلاعات صفت گسترشیافته فایل را در حین استخراج تنظیم کند.
اگر یک وضعیت خطای خاص نادیده گرفته شود، آنگاه این وضعیت خطا نه تنها به شیوهای بیصدا مدیریت میشود، بلکه از آمار خطایی که در پایان اجرای mkisofs چاپ میشود نیز حذف خواهد شد.
هنگام استفاده از کنترل خطا بسیار مراقب باشید، زیرا ممکن است هر وضعیت خطایی را نادیده بگیرید. اگر وضعیتهای خطای نادرست را نادیده بگیرید، ممکن است دیگر نتوانید مشکلات واقعی را مشاهده کنید.
توجه داشته باشید که در حال حاضر فقط برچسبهای OPEN، READ، GROW، SHRINK، توسط mkisofs بررسی میشوند.
- -B img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
- -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
- فهرستی از
ایمیجهای
راهانداز
(boot images) جداشده
با کاما را
مشخص
میکند که
برای ساخت
یک سیدی
قابل
راهاندازی
برای
سیستمهای
sparc مورد نیاز
است.
پارتیشن ۰
برای ایمیج
ISO-9660 استفاده
میشود و
نخستین
فایل ایمیج
به پارتیشن
۱ نگاشت
میشود.
ممکن است
فیلدهای
خالی در این
فهرست
جداشده با
کاما وجود
داشته باشد.
حداکثر
تعداد
پارتیشنهای
ممکن ۸ است،
بنابراین
مشخص کردن
بیش از ۷
ایمیج
پارتیشن
غیرممکن
است. این
گزینه برای
ساخت یک
سیدی قابل
راهاندازی
برای
سیستمهای
Sun sparc الزامی
است. اگر
گزینهٔ -B
یا -sparc-boot مشخص
شده باشد،
نخستین
سکتور از
ایمیج حاصل
شامل یک
برچسب دیسک
سان (Sun disk label)
خواهد بود.
این برچسب
دیسک، برش ۰
را برای
ایمیج ISO-9660 و
برش ۱ ... برش ۷
را برای
ایمیجهای
راهاندازی
که با این
گزینه مشخص
شدهاند
تعیین
میکند.
آفست بایتی
۵۱۲ ... ۸۱۹۱
درون هر یک
از
ایمیجهای
راهانداز
اضافی باید
شامل یک
راهانداز
اولیه باشد
که برای
معماری
مناسب sparc کار
کند.
باقیماندهٔ
هر ایمیج
معمولاً
شامل یک
سیستمفایل
ufs است که
برای
مرحلهٔ
راهاندازی
اولیهٔ
هسته (کرنل)
استفاده
میشود.
روش راهاندازی پیادهسازیشده، همان روش راهاندازی موجود در SunOS 4.x و SunOS 5.x است. با این حال، به سازوکارهای داخلی SunOS وابسته نبوده و تنها به ویژگیهای Open Boot prom متکی است. به همین دلیل، باید برای هر سیستمعاملی که روی یک سیستم sparc راهاندازی میشود قابل استفاده باشد.
برای اطلاعات بیشتر، بخش NOTES در ادامه را نیز ببینید.
اگر از نام فایل ویژهٔ ... استفاده شود، پارتیشن راهانداز فعلی و تمام پارتیشنهای بعدی به پارتیشن قبلی نگاشت میشوند. اگر mkisofs با -G image -B ... فراخوانی شود، همهٔ پارتیشنهای راهانداز به پارتیشنی نگاشت میشوند که شامل ایمیج سیستمفایل ISO-9660 است و از ایمیج راهانداز عمومی (generic boot image) که در ۱۶ سکتور نخست دیسک قرار دارد، برای همهٔ معماریها استفاده میشود.
- -G generic_boot_image
- مسیر و نام فایل ایمیج راهانداز عمومی را برای استفاده هنگام ساخت یک سیدی قابل راهاندازی عمومی مشخص میکند. generic_boot_image در ۱۶ سکتور نخست سیدی قرار داده خواهد شد. ۱۶ سکتور نخست، سکتورهایی هستند که پیش از توصیفگر حجم اولیهٔ ISO-9660 قرار دارند. اگر این گزینه همراه با گزینهٔ -sparc-boot استفاده شود، برچسب دیسک سان روی ۵۱۲ بایت اول ایمیج راهانداز عمومی جایگزین خواهد شد.
- -hard-disk-boot
- مشخص میکند که ایمیج راهانداز استفادهشده برای ساخت سیدیهای قابل راهاندازی «El Torito» یک ایمیج دیسک سخت است. ایمیج دیسک سخت باید با یک رکورد راهانداز اصلی (MBR) آغاز شود که شامل یک پارتیشن تکی است.
- -ignore-error
- نادیده گرفتن خطاها. mkisofs بهطور پیشفرض هنگام مواجهه با چندین خطا، از جمله خطاهای خواندن، متوقف میشود. با فعال بودن این گزینه، mkisofs تلاش میکند به کار خود ادامه دهد. با احتیاط استفاده شود.
- -no-emul-boot
- مشخص میکند که ایمیج راهانداز استفادهشده برای ساخت سیدیهای قابل راهاندازی «El Torito» یک ایمیج «بدون شبیهسازی» (no emulation) است. سیستم این ایمیج را بدون انجام هیچگونه شبیهسازی دیسک، بارگذاری و اجرا خواهد کرد.
- -no-boot
- مشخص میکند که سیدی ایجادشدهٔ «El Torito» باید به عنوان غیرقابل راهاندازی علامتگذاری شود. سیستم یک درایو شبیهسازیشده برای ایمیج فراهم میکند، اما از یک دستگاه راهانداز استاندارد بوت خواهد شد.
- -boot-load-seg segment_address
- نشانی سگمنت بارگذاری ایمیج راهانداز را برای سیدیهای «El Torito» در حالت بدون شبیهسازی مشخص میکند.
- -boot-load-size load_sectors
- تعداد سکتورهای «مجازی» (۵۱۲ بایتی) را برای بارگذاری در حالت بدون شبیهسازی مشخص میکند. مقدار پیشفرض، بارگذاری تمام فایل راهانداز است. برخی از بایوسها (BIOS) در صورتی که این مقدار مضربی از ۴ نباشد، ممکن است با مشکل مواجه شوند.
- -boot-info-table
- مشخص میکند که یک جدول ۵۶ بایتی حاوی اطلاعات چینش (layout) سیدیرام در آفست ۸ در فایل راهانداز تزریق (patch) خواهد شد. اگر این گزینه داده شود، فایل راهانداز در سیستمفایل مبدأ تغییر مییابد، بنابراین اگر این فایل به سادگی قابل بازتولید نیست، حتماً یک نسخهٔ پشتیبان از آن تهیه کنید! برای توضیح این جدول، به بخش EL TORITO BOOT INFO TABLE مراجعه کنید.
- -C last_sess_start,next_sess_start
- -cdrecord-params last_sess_start,next_sess_start
- این گزینه زمانی مورد نیاز است که mkisofs برای ایجاد یک CDextra یا ایمیج یک نشست دوم یا نشستی با سطح بالاتر برای یک دیسک چندنشستی (multi-session) استفاده میشود. گزینهٔ -C یک جفت عدد جداشده با کاما را دریافت میکند. عدد اول، شمارهٔ سکتور نخستین سکتور در آخرین نشست دیسک است که باید به آن افزوده شود. عدد دوم، شمارهٔ سکتور آغازین نشست جدید است. این جفت عدد مورد انتظار را میتوان با فراخوانی cdrecord -msinfo ... به دست آورد. اگر گزینهٔ -C همراه با گزینهٔ -M استفاده شود، mkisofs یک ایمیج سیستمفایل ایجاد میکند که در نظر گرفته شده ادامهای بر نشست قبلی باشد. اگر گزینهٔ -C بدون گزینهٔ -M استفاده شود، mkisofs یک ایمیج سیستمفایل ایجاد میکند که برای استفاده در نشست دوم یک CDextra در نظر گرفته شده است. این یک سیدی چندنشستی است که دادههای صوتی را در نشست نخست و یک سیستمفایل ISO-9660 را در نشست دوم نگه میدارد.
- -c boot_catalog
- -eltorito-catalog boot_catalog
- مسیر و نام
فایل فهرست
راهانداز
(boot catalog) را برای
استفاده
هنگام ساخت
یک سیدی
قابل
راهاندازی
«El Torito» مشخص
میکند. نام
مسیر باید
نسبت به
مسیر مبدأ
مشخصشده
برای mkisofs
باشد. این
گزینه برای
ساخت یک
سیدی قابل
راهاندازی
الزامی است.
این فایل در
درخت خروجی
درج خواهد
شد و در
سیستمفایل
مبدأ ایجاد
نمیشود،
بنابراین
مطمئن شوید
که نام فایل
مشخصشده
با یک فایل
موجود
تداخل
نداشته
باشد، زیرا
در این صورت
فایل موجود
مستثنی
خواهد شد.
معمولاً
نامی مانند
"boot.catalog" انتخاب
میشود.
اگر گزینهٔ -sort مشخص نشده باشد، فهرست راهانداز با اولویت پایین (+1) به ابتدای رسانه مرتب میشود. اگر این رفتار را نمیپسندید، باید وزن مرتبسازی 0 را برای فهرست راهانداز مشخص کنید.
- -check-oldnames
- تمام نامهای فایل واردشده از نشست قدیمی را از نظر تطابق با قوانین واقعی نامگذاری فایل ISO-9660 در mkisofs بررسی میکند. اگر این گزینه مشخص نشود، تنها نامهایی با طول بیشتر از ۳۱ کاراکتر بررسی میشوند، زیرا این فایلها نقض صریح استاندارد ISO-9660 هستند.
- -check-session FILE
- تمام نشستهای قدیمی را از نظر تطابق با قوانین واقعی نامگذاری فایل ISO-9660 در mkisofs بررسی میکند. این یک گزینهٔ سطح بالاست که ترکیبی از گزینههای زیر است: -M FILE -C 0,0 -check-oldnames برای پارامتر FILE توضیحات گزینهٔ -M را ببینید.
- -copyright FILE
- نام فایل حق
نشر (Copyright) را در
توصیفگر
حجم اولیه
مشخص
میکند. روی
دیسک برای
۳۷ کاراکتر
اطلاعات
فضا وجود
دارد. مدخل
مربوط به Joliet
به ۱۸
کاراکتر
محدود است.
این
پارامتر
همچنین
میتواند
در فایل .mkisofsrc
با عبارت COPY=filename
تنظیم شود.
اگر در هر
دو مکان
مشخص شده
باشد،
نسخهٔ خط
فرمان
استفاده
میشود.
قرار دادن فایلی با نام مناسب در درخت سیستمفایل ایجادشده، بر عهدهٔ کاربر mkisofs است.
- -d
- -omit-period
- حذف نقطهٔ
پایانی از
فایلهایی
که نقطه
ندارند.
این کار استاندارد ISO-9660 را نقض میکند، اما روی بسیاری از سیستمها کار میکند. با احتیاط استفاده شود. - -D
- -disable-deep-relocation
- از تغییر
مکان عمیق
دایرکتوریها
(deep directory relocation) در Rock Ridge
استفاده
نکن، و در
عوض
دایرکتوریها
را دقیقاً
به همان
شکلی که در
درخت
دایرکتوری
اصلی هستند
بستهبندی
کن.
این گزینه در نسخههای قدیمی mkisofs برای جلوگیری از پدیدار شدن دایرکتوری مرئی rr_moved مورد نیاز بود. از اوت ۲۰۰۶، mkisofs بهدرستی دایرکتوری rr_moved را از سیستمفایل Rock Ridge پنهان میکند.
اگر ISO-9660:1999 انتخاب نشده باشد، این کار استاندارد ISO-9660 را نقض میکند، اما روی بسیاری از سیستمها کار میکند. با احتیاط استفاده شود.
- -data-change-warn
- اگر
اندازهٔ یک
فایل در حین
آرشیو شدن
تغییر کند،
با این
وضعیت تنها
به عنوان یک
هشدار
برخورد کن
که باعث
توقف mkisofs
نمیشود.
اگر این
وضعیت توسط
قاعدهٔ
دیگری از یک
گزینهٔ errctl=
نادیده
گرفته نشده
باشد، یک
پیام هشدار
همچنان
نوشته
میشود.
گزینهٔ -data-change-warn
طوری عمل
میکند که
گویی آخرین
گزینهٔ
کنترل خطا
این بوده
است:
errctl="WARN|GROW|SHRINK *"
- -debug
- مقدار اشکالزدایی را یک واحد افزایش میدهد.
- -dir-mode mode
- حالت
(مجوزهای)
دایرکتوریهای
استفادهشده
برای ایجاد
ایمیج را به
mode تغییر
میدهد
(رونویسی
میکند).
برای
چگونگی
تعیین یک mode
متفاوت که
برای
دایرکتوریهای
ناموجود در
درخت
مشخصشده
توسط مسیر
مبدأ به کار
میرود، به
-new-dir-mode مراجعه
کنید. مشخص
کردن
گزینهٔ -dir-mode
افزونههای
Rock Ridge را
بهطور
خودکار
فعال
میکند.
- -dvd-audio
- تولید
سیستمفایل
UDF سازگار با
DVD-Audio. این کار
با
مرتبسازی
ترتیب
محتوای
فایلهای
مناسب
انجام
میشود.
مرتبسازی
تنها در
صورتی کار
میکند که
نامهای
فایل DVD-Audio فقط
شامل
کاراکترهای
بزرگ باشند.
توجه داشته باشید که برای به دست آوردن یک ایمیج سیستمفایل سازگار با DVD-Audio، باید یک درخت دایرکتوری سازگار با DVD-Audio آماده کنید. این بدان معناست که باید دایرکتوری AUDIO_TS (تماماً حروف بزرگ) در دایرکتوری ریشهٔ دیویدی حاصل و همچنین دایرکتوری VIDEO_TS را داشته باشید. دایرکتوری AUDIO_TS باید شامل تمام فایلهای مورد نیاز (نام فایلها باید تماماً با حروف بزرگ باشند) برای یک سیستمفایل DVD-Audio سازگار باشد.
- -dvd-hybrid
- معادل انتخاب همزمان هر دو گزینهٔ -dvd-audio و -dvd-video است.
- -dvd-video
- تولید
سیستمفایل
UDF سازگار با
DVD-Video. این کار
با
مرتبسازی
ترتیب
محتوای
فایلهای
مناسب و در
صورت نیاز
با افزودن
فاصلهگذاری
(padding) بین
فایلها
انجام
میشود.
مرتبسازی
تنها در
صورتی کار
میکند که
نامهای
فایل DVD-Video فقط
شامل
کاراکترهای
بزرگ باشند.
توجه داشته باشید که برای به دست آوردن یک ایمیج سیستمفایل سازگار با DVD-Video، باید یک درخت دایرکتوری سازگار با DVD-Video آماده کنید. این بدان معناست که باید دایرکتوری VIDEO_TS (تماماً حروف بزرگ) در دایرکتوری ریشهٔ دیویدی حاصل و همچنین دایرکتوری AUDIO_TS را داشته باشید. دایرکتوری VIDEO_TS باید شامل تمام فایلهای مورد نیاز (نام فایلها باید تماماً با حروف بزرگ باشند) برای یک سیستمفایل DVD-Video سازگار باشد.
- -f
- -follow-links
- هنگام
تولید
سیستمفایل،
از تمام
پیوندهای
نمادین
پیروی کن.
هنگامی که
این گزینه
استفاده
نشود، در
صورت فعال
بودن Rock Ridge،
پیوندهای
نمادین با
استفاده از
آن درج
میشوند،
در غیر این
صورت فایل
نادیده
گرفته
خواهد شد.
همچنین گزینهٔ -posix-L را ببینید.
- -file-mode mode
- حالت (مجوزهای) فایلهای عادی استفادهشده برای ایجاد ایمیج را به mode تغییر میدهد (رونویسی میکند). مشخص کردن این گزینه افزونههای Rock Ridge را بهطور خودکار فعال میکند.
- -find
- این گزینه
به عنوان یک
جداکننده
عمل میکند.
اگر
استفاده
شود، تمام
گزینههای
mkisofs باید در
سمت چپ
گزینهٔ -find
باشند. در
سمت راست
گزینهٔ -find ،
mkisofs تنها نحو
خط فرمان find
را
میپذیرد.
عبارت find به عنوان یک فیلتر بین منبع نامهای فایل و مصرفکننده، که همان موتور بایگانی است، عمل میکند. اگر عبارت find به عنوان TRUE ارزیابی شود، فایل مربوطه برای پردازش انتخاب میشود، در غیر این صورت حذف (نادیده گرفته) میشود.
برای راحتتر کردن ارزیابی عبارت find ، mkisofs مؤلفههای اصلی (primaries) اضافی find را پیادهسازی میکند که اثرات جانبی بر فرادادههای فایل دارند. Mkisofs این مؤلفههای اصلی اضافی find را پیادهسازی میکند:
- -help
- نحوهای در دسترس find(1) را فهرست میکند.
- -chgrp gname
- این مؤلفه همیشه به عنوان true ارزیابی میشود؛ گروه فایل را به gname تنظیم میکند.
- -chmod mode
- این مؤلفه همیشه به عنوان true ارزیابی میشود؛ مجوزهای دسترسی فایل را به mode تنظیم میکند. مجوزهای هشتهشتی (اکتال) و نمادین برای mode همانند chmod(1) پذیرفته میشوند.
- -chown uname
- این مؤلفه همیشه به عنوان true ارزیابی میشود؛ مالک فایل را به uname تنظیم میکند.
- -false
- این مؤلفه همیشه به عنوان false ارزیابی میشود؛ اجازه میدهد نتیجهٔ کل عبارت با نتیجهٔ بخشی از عبارت متفاوت شود.
- -true
- این مؤلفه همیشه به عنوان true ارزیابی میشود؛ اجازه میدهد نتیجهٔ کل عبارت با نتیجهٔ بخشی از عبارت متفاوت شود.
خط فرمان:
mkisofs -o o.iso -find . ( -type d -ls -o false ) -o ! -type d
همهٔ دایرکتوریها را فهرست کرده و تمام موارد غیر دایرکتوری را در ایمیج o.iso قرار میدهد.
خط فرمان:
mkisofs -o o.iso -find . ( -type d -chown root -o true )
همهٔ دایرکتوریها را به گونهای آرشیو میکند که گویی در آرشیو متعلق به root هستند، و تمام موارد غیر دایرکتوری همانگونه که در سیستمفایل هستند آرشیو میشوند.
توجه داشته باشید که مؤلفههای اصلی -ls، -exec و -ok در صورتی که stdin یا stdout تغییر مسیر داده نشده باشند، قابل استفاده نیستند.
- -gid gid
- مقدار gid خواندهشده از فایلهای مبدأ را به مقدار gid تغییر میدهد (رونویسی میکند). مشخص کردن این گزینه افزونههای Rock Ridge را بهطور خودکار فعال میکند.
- -gui
- تغییر رفتار برای یک رابط گرافیکی (GUI). این گزینه در حال حاضر خروجی را پرگوتر (verbose) میکند اما ممکن است در آینده اثرات دیگری نیز داشته باشد.
- -graft-points
- اجازه میدهد از نقاط پیوند (graft points) برای نامهای فایل استفاده شود. اگر این گزینه استفاده شود، همهٔ نامهای فایل برای نقاط پیوند بررسی میشوند. نام فایل در محل نخستین علامت مساوی فرار دادهنشده تقسیم میشود. در صورت مشخص شدن -graft-points، تمام رخدادهای کاراکترهای '\\' و '=' باید با '\\' فرار داده شوند.
- -hide glob
- الگوی glob را از دیده شدن در دایرکتوری ISO-9660 یا Rock Ridge پنهان میکند. glob یک الگوی نویسه عام (wildcard) به سبک پوسته است که باید با هر بخشی از نام فایل یا مسیر مطابقت داشته باشد. میتوان چندین الگوی glob را پنهان کرد. اگر glob با یک دایرکتوری مطابقت داشته باشد، محتوای آن دایرکتوری پنهان خواهد شد. برای تطابق با نام دایرکتوری، مطمئن شوید که نام مسیر شامل کاراکتر انتهایی '/' نباشد. تمام فایلهای پنهانشده همچنان در فایل ایمیج سیدی خروجی نوشته خواهند شد. باید همراه با گزینهٔ -hide-joliet استفاده شود. برای جزئیات بیشتر به README.hide مراجعه کنید.
- -hide-list file
- فایلی شامل فهرستی از globها برای پنهان شدن همانند بالا.
- صفت دایرکتوری مخفی (حضور) ISO-9660 را برای glob اضافه میکند. این صفت در صورتی که فلگ /A برای فهرستگیری استفاده نشود، از فهرست شدن glob در سیستمهای مبتنی بر DOS جلوگیری میکند. glob یک الگوی نویسه عام به سبک پوسته است که باید با هر بخشی از نام فایل یا مسیر مطابقت داشته باشد. برای تطابق با نام یک دایرکتوری، مطمئن شوید که نام مسیر شامل کاراکتر انتهایی '/' نباشد. میتوان چندین الگوی glob را مخفی کرد.
- -hidden-list file
- فایلی شامل فهرستی از globها برای دریافت صفت مخفی همانند بالا.
- -hide-joliet glob
- الگوی glob را از دیده شدن در دایرکتوری Joliet پنهان میکند. glob یک الگوی نویسه عام به سبک پوسته است که باید با هر بخشی از نام فایل یا مسیر مطابقت داشته باشد. میتوان چندین الگوی glob را پنهان کرد. اگر glob با یک دایرکتوری مطابقت داشته باشد، محتوای آن دایرکتوری پنهان خواهد شد. برای تطابق با نام دایرکتوری، مطمئن شوید که نام مسیر شامل کاراکتر انتهایی '/' نباشد. تمام فایلهای پنهانشده همچنان در فایل ایمیج سیدی خروجی نوشته خواهند شد. باید همراه با گزینهٔ -hide استفاده شود. برای جزئیات بیشتر به README.hide مراجعه کنید.
- -hide-joliet-list file
- فایلی شامل فهرستی از globها برای پنهان شدن همانند بالا.
- -hide-joliet-trans-tbl
- فایلهای TRANS.TBL را از درخت Joliet پنهان میکند. این فایلها معمولاً در دنیای Joliet مفهومی ندارند، زیرا نام واقعی و نام ISO-9660 را فهرست میکنند که هر دو ممکن است با نام Joliet متفاوت باشند.
- -hide-rr-moved
- تغییر نام دایرکتوری RR_MOVED به .rr_moved در درخت Rock Ridge. این گزینه زمانی معرفی شد که mkisofs قادر به پنهان کردن دایرکتوری در درخت Rock Ridge نبود. این نسخه از mkisofs همیشه بهطور خودکار دایرکتوری RR_MOVED را در درخت Rock Ridge پنهان میکند. اگر لازم است که اصلاً هیچ دایرکتوری RR_MOVED وجود نداشته باشد (حتی در درخت ISO-9660)، باید از گزینهٔ -D استفاده کنید. توجه داشته باشید در صورتی که گزینهٔ -D مشخص شده باشد، سیستمفایل حاصل با سطح ۱ استاندارد ISO-9660 سازگار نخواهد بود و در MS-DOS قابل خواندن نیست. همچنین برای اطلاعات بیشتر دربارهٔ دایرکتوری RR_MOVED به بخش NOTES مراجعه کنید.
- -hide-udf glob
- الگوی glob را از دیده شدن در دایرکتوری UDF پنهان میکند. glob یک الگوی نویسه عام به سبک پوسته است که باید با هر بخشی از نام فایل یا مسیر مطابقت داشته باشد. میتوان چندین الگوی glob را پنهان کرد. اگر glob با یک دایرکتوری مطابقت داشته باشد، محتوای آن دایرکتوری پنهان خواهد شد. برای تطابق با نام دایرکتوری، مطمئن شوید که نام مسیر شامل کاراکتر انتهایی '/' نباشد. تمام فایلهای پنهانشده همچنان در فایل ایمیج سیدی خروجی نوشته خواهند شد. باید همراه با گزینهٔ -hide استفاده شود. برای جزئیات بیشتر به README.hide مراجعه کنید.
- -hide-udf-list file
- فایلی شامل فهرستی از globها برای پنهان شدن همانند بالا.
- -hide-ignorecase
- -exclude-ignorecase
- نادیده گرفتن بزرگی و کوچکی حروف در نامهای فایل همراه با گزینههای -hide* و همراه با گزینهٔ -exclude-list.
- -input-charset charset
- مجموعهنویسه
(charset) ورودی را
که
مشخصکننده
نویسههای
استفادهشده
در نام
فایلهای
محلی است،
تنظیم
میکند.
برای
دریافت
فهرستی از
نامهای
معتبر
مجموعهنویسه،
دستور زیر
را اجرا
کنید: mkisofs -input-charset help
برای
دریافت
نگاشت
یکبهیک
(1:1)،
میتوانید
از default
بهعنوان
نام
مجموعهنویسه
استفاده
کنید. اگر
مجموعهنویسه
ورودی از locale
موجود در
متغیرهای
محیطی
تنظیم نشده
باشد،
مقادیر
اولیه
پیشفرض
عبارتند از:
cp437 در
سیستمهای
مبتنی بر DOS و
iso8859-1 در سایر
سیستمها.
برای
جزئیات
بیشتر به
بخش CHARACTER SETS در
زیر مراجعه
کنید.
اگر -input-charset مشخص نشده باشد، بر اساس locale در متغیرهای محیطی تنظیم خواهد شد. اگر مایل به غیرفعال کردن این تنظیم خودکار هستید، از یک رشته خالی بهعنوان نام locale استفاده کنید.
- -output-charset charset
- مجموعهنویسه خروجی را که تعیینکننده نویسههای مورد استفاده در نام فایلهای Rock Ridge خواهد بود، تنظیم میکند. مقدار پیشفرض آن همان مجموعهنویسه ورودی است. برای جزئیات بیشتر به بخش CHARACTER SETS در زیر مراجعه کنید.
- -iso-level level
- سطح تطابق
با
استاندارد
ISO-9660 را تنظیم
میکند.
مقادیر
معتبر
اعداد 1..3 و 4
هستند.
در سطح 1، فایلها فقط میتوانند از یک بخش (section) تشکیل شوند و نام فایلها به قالب 8.3 نویسه محدود هستند.
در سطح 2، فایلها فقط میتوانند از یک بخش تشکیل شوند.
در سطح 3، هیچ محدودیتی (به جز محدودیتهای استاندارد ISO-9660:1988) اعمال نمیشود. با شروع از این سطح، mkisofs با پیادهسازی فایلهای چندبخشی (multi-extent) در ISO-9660، به فایلها اجازه میدهد بزرگتر از 4 گیگابایت نیز باشند.
در تمامی سطوح ISO-9660 از 1 تا 3، همه نامهای فایلها به حروف بزرگ انگلیسی، اعداد و زیرخط (_) محدود هستند. حداکثر طول نام فایل به 31 نویسه، سطح تو در تویی دایرکتوریها به 8 و حداکثر طول مسیر به 255 نویسه محدود است.
سطح 4 رسماً وجود ندارد اما mkisofs آن را به استاندارد ISO-9660:1999 که نگارش 2 از ISO-9660 است نگاشت میکند.
در سطح 4، یک توصیفگر ارتقایافته حجم با شماره نگارش و شماره نگارش ساختار فایل تنظیمشده روی 2 صادر میشود. دایرکتوریها میتوانند بیش از 8 سطح تو در تویی داشته باشند، نیازی نیست نام فایل حاوی نقطه باشد و نقطه دیگر مفهوم خاصی ندارد، نام فایلها شماره نگارش ندارند، و حداکثر طول برای فایلها و دایرکتوریها به 207 افزایش مییابد. اگر Rock Ridge استفاده شود، حداکثر طول نام ISO-9660 به 197 کاهش مییابد.
هنگام ساخت ایمیجهای نگارش 2، mkisofs یک توصیفگر ارتقایافته حجم صادر میکند که شبیه توصیفگر اولیه حجم (PVD) به نظر میرسد اما کمی تفاوت دارد. مراقب باشید از نرمافزارهای معیوب برای بوتیبل کردن ایمیجهای ISO-9660 که فرض میکنند کپی دوم PVD وجود دارد و این کپی مفروض PVD را به یک El Torito VD وصله میکنند، استفاده نکنید.
- -J
- علاوه بر نام فایلهای معمولی ISO-9660، رکوردهای دایرکتوری Joliet را نیز ایجاد میکند. این گزینه اساساً زمانی مفید است که قرار باشد دیسکها در سیستمهای Windows-NT یا Windows-95 استفاده شوند. نام فایلهای Joliet در قالب یونیکد مشخص میشوند و هر مؤلفه مسیر میتواند تا 64 نویسه یونیکد باشد. توجه داشته باشید که Joliet استاندارد نیست؛ دیسکهای CD که فقط از پسوندهای Joliet استفاده میکنند و فاقد پسوندهای استاندارد Rock Ridge هستند، معمولاً تنها در سیستمهای مایکروسافت Win32 قابل استفادهاند. علاوهبر این، محدود بودن نام فایلها به 64 نویسه و استفاده Joliet از کدگذاری UTF-16 برای نویسههای یونیکد باعث بروز مشکلات تعاملپذیری میشود.
- -joliet-long
- اجازه میدهد نام فایلهای Joliet تا 103 نویسه یونیکد باشند. این کار مشخصات Joliet را نقض میکند، اما ظاهراً کار میکند. با احتیاط استفاده شود. عدد 103 به این ترتیب به دست آمده است: حداکثر طول رکورد دایرکتوری (254)، منهای طول رکورد دایرکتوری (33)، منهای اطلاعات پسوند استفاده از سیستم CD-ROM XA (14)، تقسیم بر اندازه نویسه در کدگذاری UTF-16 (2).
- -jcharset charset
- معادل استفاده همزمان از گزینههای -input-charset charset و -J است. برای جزئیات بیشتر به بخش CHARACTER SETS در زیر مراجعه کنید.
- -l
- -full-iso9660-filenames
- امکان استفاده از نام فایلهای کامل ۳۱ نویسهای را فراهم میکند. بهطور معمول، نام فایل در ISO-9660 در قالب 8.3 که با MS-DOS سازگار است قرار میگیرد، هرچند استاندارد ISO-9660 نام فایلهای تا 31 نویسه را مجاز میداند. اگر از این گزینه استفاده کنید، ممکن است استفاده از دیسک در یک سیستم MS-DOS دشوار شود، اما این گزینه در برخی سیستمهای دیگر (مانند Amiga) بسیار مفید است. با احتیاط استفاده شود.
- -L
- گزینهای منسوخشده که توسط POSIX.1-2001 رزرو شده است؛ بهجای آن از -allow-leading-dots استفاده کنید. این گزینه با انتشار mkisofs-3.02 معناشناسی POSIX.1-2001 را به دست خواهد آورد.
- -log-file log_file
- تمام پیامهای خطا، هشدار و اطلاعاتی را بهجای خروجی خطای استاندارد (stderr) به log_file هدایت میکند.
- -long-rr-time
- از قالب
زمانی بلند
ISO-9660 برای
برچسبهای
زمانی فایل
در Rock Ridge
استفاده
میکند. این
قالب زمانی
امکان
نمایش
سالهای 0
تا 9999 را با
دقت 10
میلیثانیه
فراهم
میکند.
قالب زمانی کوتاه ISO-9660 فقط اجازه نمایش سالهای 1900 تا 2155 را با دقت 1 ثانیه میدهد.
- -m glob
- از نوشته
شدن glob بر
روی CDROM
جلوگیری
(استثنا)
میکند. glob
یک الگوی
عمومی (wildcard) به
سبک شل است
که باید با
بخشی از نام
فایل
مطابقت
داشته باشد
(نه با
مسیر، بر
خلاف گزینه
-x). از نظر
فنی، glob با
بخش d->d_name از
مدخل
دایرکتوری
مطابقت
داده
میشود.
میتوان
چندین
الگوی glob را
برای
مستثنی
کردن مشخص
کرد. مثال:
mkisofs -o rom -m '*.o' -m core -m foobar
تمام فایلهایی را که به «.o» ختم میشوند یا نام آنها «core» یا «foobar» است، از کپی شدن در CDROM مستثنی میکند. توجه داشته باشید که اگر دایرکتوری به نام «foobar» داشته باشید، آن دایرکتوری نیز (و البته تمام زیرمجموعههای آن) مستثنی خواهد شد.
نکته: توضیحات گزینههای -m و -x هر دو باید بهروزرسانی شوند، چرا که نادرست هستند. اکنون هر دو گزینه یکسان کار میکنند و از تطبیق الگو (globbing) نام فایل استفاده میکنند. اگر مؤلفه آخر یا کل مسیر مطابقت داشته باشد، فایل مستثنی میشود.
- -exclude-list file
- فایلی شامل فهرستی از الگوهای glob که باید همانند بالا مستثنی شوند.
- -max-iso9660-filenames
- امکان
داشتن ۳۷
نویسه در
نام
فایلهای ISO-9660
را مجاز
میداند.
این گزینه،
گزینه -N را
اجباری
میکند،
زیرا فضای
نام اضافی
از فضای
رزروشده
برای شماره
نگارشهای
ISO-9660 گرفته
میشود.
این کار استاندارد ISO-9660 را نقض میکند، اما بر روی بسیاری از سیستمها کار میکند. اگرچه یک برنامه منطبق بر استاندارد باید فضای بافری حداقل 37 نویسه را فراهم کند، دیسکهای ایجادشده با این گزینه ممکن است باعث سرریز بافر در سیستمعامل خواننده دیسک شوند. با نهایت احتیاط استفاده شود. - -M path
- یا
- -M device
- یا
- -dev device
- مسیر یک ایمیج موجود ISO-9660 را برای ادغام مشخص میکند. شکل جایگزین، یک مشخصکننده دستگاه SCSI دریافت میکند که از همان ساختار پارامتر dev= در cdrecord استفاده میکند. خروجی mkisofs یک نشست (session) جدید خواهد بود که باید در انتهای ایمیج مشخصشده در -M نوشته شود. بهطور معمول این کار مستلزم قابلیت multi-session برای دستگاه رایت و درایو cdrom است که تلاش دارید این ایمیج را روی آن بنویسید. این گزینه فقط در ترکیب با گزینه -C میتواند استفاده شود.
- -modification-date date-spec
- مقدار modification date
(تاریخ
تغییر) را
در
توصیفگر
اولیه حجم (PVD)
روی مقداری
متفاوت از
زمان فعلی
تنظیم
میکند. این
گزینه
مثلاً
اجازه
میدهد یک UUID
مشخص برای
grub تنظیم
شود.
قالب date-spec به این صورت است:
yyyy[mm[dd[hh[mm[ss]]]]][.hh][+-ghgm]
فیلدها عبارتند از: year (سال)، month (ماه)، day of month (روز ماه)، hour (ساعت)، minute (دقیقه)، second (ثانیه)، hundreds of a second (صدم ثانیه)، GMT offset in hours and minutes (انحراف از GMT بر حسب ساعت و دقیقه). زمان بهصورت زمان محلی تفسیر میشود.
فیلدهای سال و انحراف از GMT چهار رقمی هستند و تمام فیلدهای دیگر دو رقم میگیرند. انحراف از GMT میتواند بین -12 تا +13 ساعت در گامهای 15 دقیقهای باشد. مناطق شرق گرینویچ دارای مقادیر مثبت هستند. این مقدار، مجموع انحراف منطقه زمانی و اثرات تغییر ساعت تابستانی است. مقادیر حذفشده با کمترین مقادیر ممکن جایگزین میشوند. اگر انحراف از GMT مشخص نشود، از مقدار زمان محلی ارائهشده محاسبه میشود.
بین سال و ماه و همچنین بین ماه و روز ماه، یک جداکننده از میان '/' و '-' میتواند قرار گیرد. در این حالت، سال میتواند یک عدد دو رقمی با مقادیر 69..99 به نشانه 1969..1999 و مقادیر 00..68 به نشانه 2000..2068 باشد. بین تاریخ و زمان، قرار دادن یک فاصله اختیاری مجاز است. بین ساعت و دقیقه و همچنین بین دقیقه و ثانیه، استفاده از جداکننده اختیاری ':' مجاز است. این قابلیت به mkisofs امکان میدهد قالب تاریخ پرکاربرد POSIX ایجادشده توسط دستور زیر را تجزیه کند:
date "+%Y-%m-%d %H:%M:%S %z"
توجه داشته باشید که محدوده ممکن برای date-spec در برنامههای ۳۲ بیتی به مقادیر تا تاریخ 2038 Jan 19 04:14:07 GMT محدود است.
- -N
- -omit-version-number
- شماره
نگارشها
را از نام
فایلهای ISO-9660
حذف میکند.
این کار استاندارد ISO-9660 را نقض میکند، اما در عمل هیچکس از شماره نگارشها استفاده نمیکند. با احتیاط استفاده شود. - -new-dir-mode mode
- حالت (mode) مورد استفاده هنگام ایجاد دایرکتوریهای جدید در ایمیج فایلسیستم iso را تعیین میکند. حالت پیشفرض در صورت عدم وجود گزینه -dir-mode برابر با 0555 است.
- -nobak
- -no-bak
- فایلهای پشتیبان (backup) را در فایلسیستم ISO-9660 لحاظ نمیکند. اگر گزینه -no-bak مشخص شده باشد، فایلهایی که حاوی نویسههای '~' یا '#' هستند یا به '.bak' ختم میشوند لحاظ نخواهند شد (اینها معمولاً فایلهای پشتیبان ویرایشگرها در یونیکس هستند).
- -no-limit-pathtables
- یک فایلسیستم ISO-9660 شامل جداول مسیری (path tables) است که حاوی فهرستی از دایرکتوریها هستند. این فهرست ممکن است شامل دایرکتوریهای زیادی باشد اما تنها 65535 مورد از آنها میتوانند دایرکتوری والد (parent) باشند. هنگامی که گزینه -no-limit-pathtables استفاده شود، دایرکتوریهای والد دیگر در دایرکتوری ریشه ادغام (fold) میشوند و فایلسیستم حاصل دیگر بر روی DOS قابل استفاده نخواهد بود.
- -no-long-rr-time
- از قالب زمانی کوتاه ISO-9660 برای برچسبهای زمانی فایل در Rock Ridge استفاده میکند. این قالب زمانی امکان نمایش سالهای 1990 تا 2155 را با دقت یک ثانیه فراهم میکند.
- -force-rr
- از تشخیص خودکار ویژگیهای Rock Ridge برای نشستهای قبلی استفاده نمیکند. این کار به نمایش رکوردهای پسوند معیوب ISO-9660 همانند موارد ایجادشده توسط NERO burning ROM کمک میکند.
- -no-rr
- از ویژگیهای Rock Ridge نشستهای قبلی استفاده نمیکند. این گزینه میتواند از بروز مشکل در مواردی که mkisofs امضاهای غیرمجاز Rock Ridge را در یک نشست قدیمی پیدا میکند جلوگیری کند.
- -no-split-symlink-components
- مؤلفههای
SL را تقسیم
نمیکند،
بلکه
بهجای آن
یک ناحیه
ادامه (Continuation Area
یا CE) جدید
آغاز
میکند. این
کار ممکن
است مقداری
فضا هدر
دهد، اما
درایور cdrom در
SunOS 4.1.4 دارای
باگی در
خواندن
مؤلفههای
تقسیمشده
SL است (link_size = component_size
بهجای link_size +=
component_size).
توجه داشته باشید که این گزینه توسط اریک یانگدیل (Eric Youngdale) در سال 1997 معرفی شد. این که آیا این گزینه اصلاً منطقی است یا خیر جای تردید دارد. هنگامی که این گزینه معرفی شد، mkisofs یک باگ جدی داشت که اگر یک پیوند نمادین حاوی '/../' بود، امضاهای CE معیوب ایجاد میکرد. این باگ امضای CE در mkisofs در مه 2003 برطرف شد.
- -no-split-symlink-fields
- فیلدهای SL
را تقسیم
نمیکند،
بلکه
بهجای آن
یک ناحیه
ادامه (Continuation Area
یا CE) جدید
آغاز
میکند. این
کار ممکن
است مقداری
فضا هدر
دهد، اما
درایور cdrom در
SunOS 4.1.4 و Solaris 2.5.1 در
خواندن
فیلدهای
تقسیمشده
SL دارای باگ
است (یک '/'
ممکن است
حذف شود).
توجه داشته باشید که این گزینه توسط اریک یانگدیل (Eric Youngdale) در سال 1997 معرفی شد. این که آیا این گزینه اصلاً منطقی است یا خیر جای تردید دارد. هنگامی که این گزینه معرفی شد، mkisofs یک باگ جدی داشت که اگر یک پیوند نمادین حاوی '/../' بود، امضاهای CE معیوب ایجاد میکرد. این باگ امضای CE در mkisofs در مه 2003 برطرف شد.
- -o filename
- نام فایلی است که ایمیج فایلسیستم ISO-9660 باید در آن نوشته شود. این میتواند یک فایل روی دیسک، درایو نوار (tape) یا مستقیماً متناظر با نام دستگاه رایتر دیسک نوری باشد. در صورت عدم تعیین، از خروجی استاندارد (stdout) استفاده میشود. توجه داشته باشید که خروجی میتواند یک دستگاه ویژه بلوکی (block special device) برای درایو دیسک معمولی نیز باشد؛ در این حالت میتوان پارتیشن دیسک را سوار (mount) و بررسی کرد تا از انجام صحیح فرایند premastering اطمینان حاصل شود.
- -pad
- انتهای کل
ایمیج را به
اندازه ۱۵۰
سکتور (۳۰۰
کیلوبایت)
فاصلهگذاری
(pad) میکند.
اگر گزینه
-B استفاده
شده باشد،
یک پدینگ در
انتهای
پارتیشن ISO-9660 و
قبل از شروع
پارتیشنهای
بوت اضافه
میشود.
اندازه این
پدینگ
بهگونهای
انتخاب
میشود که
اولین
پارتیشن
بوت از
شماره
سکتوری
آغاز شود که
مضربی از 16
باشد.
این پدینگ به این دلیل لازم است که بسیاری از سیستمعاملها (مانند لینوکس) در ورودی/خروجی فایلسیستم خود دارای باگهای خواندن پیشدستانه (read ahead) هستند. این باگها منجر به خطاهای خواندن در یک یا چند فایل مستقر در انتهای یک تِرَک میشوند. این خطاها معمولاً زمانی رخ میدهند که CD در حالت Track at Once نوشته شود یا دیسک بهصورت CD با حالت ترکیبی (mixed mode) نوشته شود که در آن تِرَک صوتی پس از تِرَک داده قرار میگیرد.
برای جلوگیری از مشکلات خطای ورودی/خروجی (I/O) در آخرین فایل فایلسیستم، گزینه -pad بهعنوان پیشفرض در نظر گرفته شده است.
- -no-pad
- انتهای ایمیج را به اندازه 150 سکتور (300 کیلوبایت) پد نمیکند و پارتیشنهای بوت را مجبور به شروع از مضربی از 16 سکتور نمیسازد.
- -path-list file
- فایلی شامل فهرستی از دایرکتوریها و نام فایلهای pathspec که باید به فایلسیستم ISO-9660 اضافه شوند. این فهرست مشخصات مسیر، پس از مواردی که در خط فرمان ذکر شدهاند پردازش میشود. اگر آرگومان - باشد، فهرست از ورودی استاندارد (stdin) خوانده میشود.
- -P
- گزینهای منسوخشده که توسط POSIX.1-2001 رزرو شده است؛ بهجای آن از -publisher استفاده کنید. این گزینه با انتشار mkisofs-3.02 معناشناسی POSIX.1-2001 را خواهد داشت.
- -publisher publisher_id
- رشته متنی را مشخص میکند که در سرآیند حجم (volume header) نوشته خواهد شد. این رشته باید ناشر CDROM را شرح دهد، معمولاً همراه با نشانی پستی و شماره تماس. فضایی برای ۱۲۸ نویسه اطلاعات روی دیسک وجود دارد. مدخل مربوطه در Joliet به ۶۴ نویسه محدود است. این پارامتر میتواند در فایل .mkisofsrc نیز با PUBL= تنظیم شود. اگر در هر دو مکان مشخص شده باشد، نسخه خط فرمان استفاده میشود.
- -p preparer_id
- -preparer preparer_id
- رشته متنی را مشخص میکند که در سرآیند حجم نوشته خواهد شد. این رشته باید آمادهکننده CDROM را شرح دهد، معمولاً همراه با نشانی پستی و شماره تماس. فضایی برای ۱۲۸ نویسه اطلاعات روی دیسک وجود دارد. مدخل مربوطه در Joliet به ۶۴ نویسه محدود است. این پارامتر میتواند در فایل .mkisofsrc نیز با PREP= تنظیم شود. اگر در هر دو مکان مشخص شده باشد، نسخه خط فرمان استفاده میشود.
- -posix-H
- هنگام تولید فایلسیستم، تمام پیوندهای نمادین مشاهدهشده در خط فرمان را دنبال میکند.
- -posix-L
- هنگام تولید فایلسیستم، تمام پیوندهای نمادین را دنبال میکند. زمانی که این گزینه استفاده نشود، در صورت فعال بودن Rock Ridge، پیوندهای نمادین با استفاده از آن درج میشوند، در غیر این صورت فایل نادیده گرفته خواهد شد.
- -posix-P
- هنگام تولید فایلسیستم، پیوندهای نمادین را دنبال نمیکند (این حالت پیشفرض است). اگر گزینه -posix-P پس از گزینههای -posix-H یا -posix-L مشخص شود، اثر آن گزینهها بازنشانی خواهد شد.
- -print-size
- اندازه
تخمینی
فایلسیستم
را بهصورت
مضربی از
اندازه
سکتور (۲۰۴۸
بایت) چاپ
میکند و
خارج
میشود. این
گزینه برای
حالت Disk At Once و با
برخی
درایوهای CD-R
هنگام
ارسال
مستقیم
خروجی از
طریق لوله (pipe)
به cdrecord مورد
نیاز است.
در این حالت
لازم است
اندازه
فایلسیستم
پیش از رایت
واقعی CD
مشخص باشد.
گزینه -print-size
این امکان
را میدهد
که این
اندازه از
طریق یک
«اجرای
آزمایشی» (dry-run)
پیش از
نوشتن
واقعی CD به
دست آید.
نگارشهای
قدیمی mkisofs
این
اطلاعات را
(در کنار
سایر
اطلاعات) در
stderr
مینوشتند.
از آنجا که
تجزیه آن
دشوار بود،
اکنون این
عدد بدون
هیچ
اطلاعات
دیگری در stdout
نیز چاپ
میشود. اگر
میخواهید
یک اسکریپت
شل ساده
بنویسید،
stderr را هدایت
کرده و عدد
را از stdout
دریافت
کنید. این
کار را
میتوان به
این صورت
انجام داد:
cdblocks=` mkisofs -print-size -quiet ... `
mkisofs ... | cdrecord ... tsize=${cdblocks}s -
- -quiet
- باعث میشود mkisofs خروجی متنی کمتری داشته باشد. هیچ خروجی پیشرفتی ارائه نخواهد شد.
- -R
- -rock
- با استفاده از پروتکل Rock Ridge، رکوردهای SUSP و RR را برای توصیف بیشتر فایلها در فایلسیستم ISO-9660 تولید میکند. پروتکل Rock Ridge برای افزودن فرادادههای فایلی مشابه POSIX مانند دسترسیها (permissions)، برچسبهای زمانی گسترشیافته، شناسههای کاربر/گروه، تعداد پیوندها، شمارههای inode و پیوندهای نمادین لازم است. پروتکل Rock Ridge امکان بایگانی درختهای سلسلهمراتبی با عمق نامحدود را فراهم میسازد.
- -r
- -rational-rock
- این گزینه مانند گزینه -R است، اما مالکیت و حالتهای (modes) فایل روی مقادیر کاربردیتری تنظیم میشوند. شناسههای uid و gid روی صفر تنظیم میشوند، زیرا آنها معمولاً فقط روی سیستم نویسنده دیسک مفید هستند و برای کلاینت فایدهای ندارند. تمام بیتهای خواندن فایل فعال میشوند تا فایلها و دایرکتوریها بهطور همگانی در کلاینت قابل خواندن باشند. اگر هر بیت اجرایی برای یک فایل تنظیم شده باشد، تمام بیتهای اجرا فعال میشوند تا فایلهای اجرایی برای همگان در کلاینت قابل اجرا باشند. اگر هر بیت جستجو برای یک دایرکتوری تنظیم شده باشد، تمام بیتهای جستجو تنظیم میشوند تا دایرکتوریها در کلاینت بهطور عمومی قابل پیمایش و جستجو باشند. تمام بیتهای نوشتن پاک میشوند، زیرا CD-ROM در هر حال بهصورت فقطخواندنی سوار (mount) خواهد شد. اگر هر یک از بیتهای حالت خاص تنظیم شده باشد، پاک میشوند، زیرا قفلهای فایل در یک فایلسیستم فقطخواندنی مفید نیستند و بیتهای set-id نیز برای uid 0 یا gid 0 مطلوب نمیباشند. هنگامی که در Win32 استفاده شود، بیت اجرا روی تمام فایلها تنظیم میشود. این موضوع نتیجه عدم وجود دسترسیهای فایل در Win32 و لایه شبیهساز POSIX در Cygwin است. همچنین گزینههای -uid، -gid، -dir-mode، -file-mode و -new-dir-mode را ببینید.
- -relaxed-filenames
- گزینه -relaxed-filenames
اجازه
میدهد نام
فایلهای ISO-9660
شامل
ارقام،
حروف بزرگ
انگلیسی و
سایر
نویسههای
۷ بیتی ASCII
باشند (یا
بهعبارتی
هر چیزی به
جز حروف
کوچک
انگلیسی).
این کار استاندارد ISO-9660 را نقض میکند، اما بر روی بسیاری از سیستمها کار میکند. با احتیاط استفاده شود. - -root dir
- همه
فایلها و
دایرکتوریها
را به dir در
ایمیج
منتقل
میکند. این
کار اساساً
همانند
استفاده از
-graft-points و
افزودن dir
به ابتدای
هر مشخصه
مسیر (pathspec)
است، اما
استفاده از
آن آسانتر
است.
dir در واقع میتواند چندین سطح عمق داشته باشد. این دایرکتوری با همان مجوزهای سایر نقاط پیوند (graft points) ایجاد میشود.
- -rrip110
- ایمیجهای
سیستمفایل
ISO-9660 را منطبق
با
استاندارد
قدیمی Rrip
نگارش ۱.۱۰
مربوط به
سال ۱۹۹۳
ایجاد
میکند. این
گزینه ممکن
است در
صورتی لازم
باشد که
سیستمهایی
را بشناسید
که پروتکل Rrip
را به درستی
پیادهسازی
نکردهاند
و مایلید
سیستمفایل
توسط چنین
سیستمی
خوانده شود.
در حال حاضر
چنین
سیستمی
شناخته شده
نیست.
اگر یک سیستمفایل با -rrip110 ایجاد شده باشد، ویژگیهای Rock Ridge شامل اطلاعات شماره inode نخواهند بود.
- -rrip112
- ایمیجهای سیستمفایل ISO-9660 را منطبق با استاندارد جدید Rrip نگارش ۱.۱۲ مربوط به سال ۱۹۹۴ ایجاد میکند؛ این حالت پیشفرض است.
- -old-root dir
- این گزینه
هنگام
نوشتن یک
ایمیج
چندنشستی
(multisession) و در
حالتی که
نشست قبلی
(یا حتی
قدیمیتر)
با -root dir.
نوشته شده
باشد،
ضروری است.
استفاده از
نام
دایرکتوریای
که در نشست
قبلی یافت
نشود باعث
میشود mkisofs
با یک خطا
متوقف شود.
بدون این گزینه، mkisofs قادر به یافتن فایلهای تغییرنیافته نخواهد بود و مجبور میشود دادههای آنها را مجدداً درون ایمیج بنویسد.
گزینههای -root و -old-root برای استفاده در کنار یکدیگر به منظور پشتیبانگیری افزایشی (incremental backups) در نظر گرفته شدهاند. برای مثال نشست اولیه از این دستور استفاده میکند: mkisofs -root backup_1 dirs. پشتیبانگیری افزایشی بعدی با mkisofs -root backup_2 -old-root backup_1 dirs. یک تصویر لحظهای (snapshot) دیگر از این دایرکتوریها تهیه میکند. تصویر لحظهای اول در backup_1 و تصویر لحظهای دوم در backup_2 یافت خواهد شد، اما تنها فایلهای تغییریافته یا جدید باید در نشست دوم نوشته شوند.
بدون این گزینهها، فایلهای جدید افزوده شده و فایلهای قدیمی حفظ میشدند، اما فایلهای قدیمی در صورت تغییر بازنویسی میشدند. بازیابی فایلها با کپی کردن کل دایرکتوری از CD به سیستم نیز فایلهایی را که عمداً حذف شده بودند بازیابی میکرد. دسترسی به چندین نگارش قدیمیتر یک فایل نیازمند پشتیبانی سیستمعامل برای انتخاب نشستهایی است که باید سوار (mount) شوند.
- -short-rr-time
- از قالب زمانی کوتاه ISO-9660 برای برچسبهای زمانی فایل در Rock Ridge استفاده میکند. این قالب زمانی امکان نمایش سالهای ۱۹۹۰ تا ۲۱۵۵ را با دقت یک ثانیه فراهم میسازد.
- -s sector type
- -sectype sector type
- نوع سکتور (sector type) مورد استفاده برای فایل خروجی با سیستمفایل ISO-9660 را تعیین میکند. sector type میتواند یکی از موارد زیر باشد:
- data
- این حالت پیشفرض است. این حالت منجر به سکتورهای داده استاندارد CD-ROM با ۲۰۴۸ بایت در هر سکتور میشود.
- xa1
- نوع سکتور
را روی حالت
CD-ROM XA mode 1 با ۲۰۵۶
بایت در هر
سکتور
تنظیم
میکند. این
نوع سکتور،
نوع رسمی
برای CDهای
چندنشستی
است و باید
همراه با
گزینه -XA از
mkisofs استفاده
شود. این
گزینه برای
نوشتن Kodak Photo CD و Kodak
Picture CD الزامی
است. از
گزینه -xa1 در
cdrecord استفاده
کنید تا به
cdrecord بگویید
سکتورهای CD-ROM XA
mode 1 را بنویسد.
برای
رسانههای
DVD یا BluRay
استفاده
نشود.
- raw
- نوع سکتور را روی سکتورهای صوتی خام با ۲۳۵۲ بایت در هر سکتور تنظیم میکند. این مقدار برای بهبودهای آینده رزرو شده است. برای رسانههای DVD یا BluRay استفاده نشود.
- -sort sort file
- محل قرارگیری فایلها را بر روی رسانه مرتبسازی میکند. مرتبسازی توسط فایلی کنترل میشود که شامل جفتهایی از نام فایل و وزن آفست مرتبسازی است. اگر وزن بالاتر باشد، فایل نزدیکتر به ابتدای رسانه قرار میگیرد؛ اگر وزن کمتر باشد، فایل نزدیکتر به انتهای رسانه جای خواهد گرفت. تنها باید یک نویسه فاصله (space) یا تب بین نام فایل و وزن وجود داشته باشد و وزن باید آخرین نویسهها در یک سطر باشد. نام فایل شامل تمام نویسهها تا آخرین نویسه فاصله یا تب در یک سطر در نظر گرفته میشود (خود آن فاصله یا تب را شامل نمیشود). این امر به این دلیل است که نویسههای فاصله بتوانند درون یا در انتهای یک نام فایل قرار گیرند. این گزینه ترتیب نام فایلهایی را که در دایرکتوری ISO-9660 ظاهر میشوند مرتب نمیکند. بلکه ترتیبی را که دادههای فایل درون ایمیج CD نوشته میشوند مرتب میسازد — که میتواند برای بهینهسازی چیدمان دادهها روی یک CD مفید باشد. برای جزئیات بیشتر به README.sort مراجعه کنید.
- -isort sort file
- مشابه -sort است اما بزرگی و کوچکی حروف نام فایلها در sort file نادیده گرفته میشود.
- -sparc-boot img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
- گزینه -B در بالا را ببینید.
- -sparc-label label
- نام برچسب دیسک Sun را برای برچسب دیسکی که با گزینه -sparc-boot ایجاد میشود تنظیم میکند.
- -split-output
- ایمیج خروجی را به چندین فایل با حجم تقریبی ۱ گیگابایت تقسیم میکند. این ویژگی به ایجاد ایمیجهای ISO-9660 در اندازه DVD بر روی سیستمعاملهای فاقد پشتیبانی از فایلهای حجیم کمک میکند. دستور Cdrecord در صورت نوشتن بر روی DVD، بیش از یک فایل را در یک قطعه (track) واحد ادغام خواهد کرد. برای کارکرد -split-output، گزینه -o filename باید مشخص شود. ایمیجهای خروجی حاصل بدین صورت نامگذاری خواهند شد: filename_00،filename_01،filename_02...
- -stream-media-size #
- عملیات
جریاندهی
(streaming) را
انتخاب
کرده و
اندازه
رسانه را به
# سکتور
تنظیم
میکند. این
گزینه به
شما امکان
میدهد تا
خروجی
برنامه tar را
با لوله (pipe) به
mkisofs ارسال
کنید و بدون
نیاز به یک
فایل آرشیو
tar واسط، یک
سیستمفایل
ISO-9660 ایجاد
نمایید. اگر
این گزینه
مشخص شده
باشد، mkisofs از
stdin
میخواند و
فایلی با
نام STREAM.IMG
ایجاد
میکند.
حداکثر
اندازه
فایل (با
احتساب
فاصلهگذاری/padding)
۲۰۰ سکتور
کمتر از
اندازه
رسانه
مشخصشده
است. اگر -no-pad
مشخص شده
باشد،
اندازه
فایل ۵۰
سکتور کمتر
از اندازه
رسانه
تعیینشده
خواهد بود.
اگر اندازه
فایل
کوچکتر
باشد، mkisofs
فاصلهگذاری
(padding) اضافه
خواهد کرد.
این کار
ممکن است
کمی طول
بکشد.
گزینه -stream-media-size فقط سیستمفایلهای ساده ISO-9660 ایجاد میکند و نباید همراه با گزینههای چندنشستی (multi-session) یا سیستمفایل ترکیبی (hybrid) استفاده شود.
- -stream-file-name name
- نام فایل مورد استفاده با -stream-media-size # را به مقداری متفاوت از STREAM.IMG تنظیم میکند. اگر از این گزینه استفاده شود، سیستمفایل به گونهای ساخته میشود که گویی -iso-level 4 مشخص شده است.
- -sunx86-boot UFS-img,,,AUX1-img
- یک فهرست
جداشده با
کاما از
ایمیجهای
سیستمفایل
را که برای
ساخت یک CD
قابل بوت
برای
سیستمهای
Solaris x86 لازم است
مشخص
میکند.
توجه داشته باشید که پارتیشن ۱ برای ایمیج ISO-9660 استفاده میشود و پارتیشن ۲ کل دیسک است، بنابراین پارتیشنهای ۱ و ۲ نباید توسط دادههای پارتیشن خارجی استفاده شوند. نخستین فایل ایمیج به پارتیشن ۰ نگاشت میشود. ممکن است فیلدهای خالی در فهرست جداشده با ویرگول وجود داشته باشد، و ورودیهای فهرست برای پارتیشن ۱ و ۲ باید خالی باشند. حداکثر تعداد پارتیشنهای پشتیبانیشده ۸ است (اگرچه جدول پارتیشن Solaris x86 میتواند تا ۱۶ پارتیشن را پشتیبانی کند)، بنابراین تعیین بیش از ۶ ایمیج پارتیشن غیرممکن است. این گزینه برای ساخت CD قابل بوت برای سیستمهای Solaris x86 الزامی است.
اگر گزینه -sunx86-boot مشخص شده باشد، اولین سکتور ایمیج حاصل شامل یک برچسب PC fdisk با یک پارتیشن fdisk از نوع Solaris 0x82 خواهد بود که از آفست ۵۱۲ شروع شده و کل CD را در بر میگیرد. علاوه بر این، برای پارتیشن fdisk نوع Solaris 0x82، یک برچسب دیسک SVr4 در آفست ۱۰۲۴ در سکتور اول CD قرار دارد. این برچسب دیسک، slice 0 را برای اولین ایمیج سیستمفایل (معمولاً نوع UFS) که برای بوت کردن PC استفاده میشود و slice 1 را برای ایمیج ISO-9660 مشخص میکند. برش ۲ (Slice 2) کل CD را در بر میگیرد و slice 3 ... slice 7 ممکن است برای ایمیجهای سیستمفایل اضافی که با این گزینه مشخص شدهاند استفاده شوند.
یک CD بوت Solaris x86 از یک بوت اولیه به اندازه ۱۰۲۴ بایت استفاده میکند که از حالت بوت El-Torito no-emulation بهره میبرد و یک بوت عمومی ثانویه که در سکتورهای ۱..۱۵ سیدی قرار دارد. به همین دلیل، هر دو گزینه -b bootimage -no-emul-boot و -G genboot باید مشخص شوند.
- -sunx86-label label
- نام برچسب دیسک SVr4 را برای برچسب دیسک SVr4 که با گزینه -sunx86-boot ایجاد میشود تنظیم میکند.
- -sysid ID
- شناسه سیستم را مشخص میکند. بر روی دیسک فضایی برای ۳۲ نویسه اطلاعات وجود دارد. این پارامتر همچنین میتواند در فایل .mkisofsrc با مقدار SYSI=system_id تنظیم شود. اگر در هر دو جا مشخص شده باشد، نگارش خط فرمان استفاده میشود.
- -T
- -translation-table
- یک فایل TRANS.TBL در هر دایرکتوری روی CD-ROM تولید میکند که میتواند در سیستمهای فاقد قابلیت Rock Ridge برای کمک به تعیین نامهای صحیح فایلها استفاده شود. همچنین اطلاعاتی در این فایل وجود دارد که شمارههای ماژور (major) و مینور (minor) را برای دستگاههای بلوکی و کاراکتری نشان میدهد و برای هر پیوند نمادین نیز نام فایل مقصد پیوند مشخص شده است.
- -table-name TABLE_NAME
- نام جایگزین برای فایل جدول ترجمه (به بالا مراجعه کنید). متضمن گزینه -T است. اگر در حال ایجاد یک ایمیج چندنشستی هستید، باید از همان نامی که در نشست قبلی به کار بردهاید استفاده کنید.
- -ucs-level level
- سطح انطباق با یونیکد را در Joliet SVD تنظیم میکند. سطح پیشفرض ۳ است. با استفاده از این گزینه میتوان آن را روی ۱..۳ تنظیم کرد.
- -UDF
- یک ساختار ترکیبی (hybrid) UDF را در ایمیج سیستمفایل تولیدشده لحاظ میکند. از آنجا که mkisofs همواره یک سیستمفایل ISO-9660 ایجاد میکند، ایجاد ایمیجهای صرفاً UDF امکانپذیر نیست. توجه داشته باشید که UDF علاوه بر فضای مورد نیاز برای ساختارهای داده واقعی UDF، فضای بین سکتور حدود ۲۰ تا سکتور ۲۵۶ در ابتدای دیسک را هدر میدهد.
- -udf
- سیستمفایل UDF معقولسازیشده با کاربر و گروه تنظیمشده روی ۰ و با مجوزهای سادهشده. برای اطلاعات بیشتر گزینه -r را ببینید.
- -udf-symlinks
- پشتیبانی از پیوندهای نمادین در سیستمفایلهای UDF. این حالت پیشفرض است.
- -no-udf-symlinks
- عدم پشتیبانی از پیوندهای نمادین در سیستمفایلهای UDF.
- -uid uid
- مقدار uid خواندهشده از فایلهای مبدأ را به مقدار uid بازنویسی میکند. مشخص کردن این گزینه به طور خودکار افزونههای Rock Ridge را فعال میکند.
- -use-fileversion
- گزینه -use-fileversion به mkisofs اجازه میدهد از شمارههای نگارش فایل برگرفته از سیستمفایل استفاده کند. اگر این گزینه مشخص نشود، mkisofs شماره نگارش ۱ را برای همه فایلها ایجاد میکند. نگارشهای فایل رشتههایی در محدوده ;1 تا ;32767 هستند. این گزینه در VMS پیشفرض است.
- -U
- -untranslated-filenames
- امکان استفاده از نام فایلهای «ترجمهنشده» را فراهم میکند که کاملاً ناقض استانداردهای ISO-9660 شرح داده شده در بالا است. گزینههای -d، -l، -N، -allow-leading-dots، -relaxed-filenames، -allow-lowercase، -allow-multidot و -no-iso-translate را به اجبار فعال میکند. این گزینه وجود بیش از یک نویسه '.' را در نام فایل و همچنین نام فایلهای حاوی حروف بزرگ و کوچک ترکیبی را مجاز میداند. این ویژگی در سیستم HP-UX مفید است، جایی که سیستمفایل داخلی CDFS هیچ پسوندی را تشخیص نمیدهد. با احتیاط بسیار زیاد استفاده شود.
- -no-iso-translate
- نویسههای
'#' و '~' را که
برای نام
فایلهای ISO-9660
نامعتبر
هستند
ترجمه و
تبدیل
نمیکند.
این
نویسهها
با وجود
نامعتبر
بودن، اغلب
توسط
سیستمهای
مایکروسافت
استفاده
میشوند.
این کار استاندارد ISO-9660 را نقض میکند، اما بر روی بسیاری از سیستمها کار میکند. با احتیاط استفاده شود. - -V volid
- شناسه جلد (نام جلد یا برچسب) را برای نوشتن در بلوک اصلی (master block) مشخص میکند. بر روی دیسک فضایی برای ۳۲ نویسه اطلاعات وجود دارد. این پارامتر همچنین میتواند در فایل .mkisofsrc با مقدار VOLI=id تنظیم شود. اگر در هر دو جا مشخص شده باشد، نگارش خط فرمان استفاده میشود. توجه داشته باشید که اگر یک شناسه جلد اختصاص دهید، این همان نامی است که به عنوان نقطه سوار کردن (mount point) توسط سیستم مدیریت جلد Solaris استفاده میشود و نامی است که در پلتفرم Microsoft Win32 یا Apple Mac به دیسک اختصاص داده میشود.
- -volset ID
- شناسه مجموعه جلد را مشخص میکند. بر روی دیسک فضایی برای ۱۲۸ نویسه اطلاعات وجود دارد. ورودی مرتبط Joliet به ۶۴ نویسه محدود است. این پارامتر همچنین میتواند در فایل .mkisofsrc با مقدار VOLS=volset_id تنظیم شود. اگر در هر دو جا مشخص شده باشد، نگارش خط فرمان استفاده میشود.
- -volset-size #
- اندازه
مجموعه جلد
را روی #
تنظیم
میکند.
اندازه
مجموعه جلد
تعداد
CDهایی است
که در یک
مجموعه جلد
CD قرار
دارند. یک
مجموعه
جلد،
مجموعهای
از یک یا
چند جلد است
که
مجموعهای
از فایلها
بر روی
آنها ضبط
شده است.
مجموعههای جلد برای استفاده در ایجاد مجموعهای از CDهای شمارهگذاریشده که مثلاً بخشی از یک مجموعه CD نصب سیستمعامل هستند، در نظر گرفته نشدهاند. در عوض، مجموعههای جلد برای ضبط یک درخت دایرکتوری بزرگ که در یک جلد جا نمیشود استفاده میشوند. هر جلد از یک مجموعه جلد، حاوی توصیفی از تمام دایرکتوریها و فایلهایی است که روی جلدهایی ضبط شدهاند که شماره توالی آنها کمتر یا مساوی با اندازه مجموعه جلد اختصاصیافته برای جلد فعلی است.
دستور mkisofs در حال حاضر از مقدار -volset-size بزرگتر از ۱ پشتیبانی نمیکند.
گزینه -volset-size در هر خط فرمان باید قبل از -volset-seqno مشخص شود.
- -volset-seqno #
- شماره توالی مجموعه جلد را به # تنظیم میکند. شماره توالی مجموعه جلد، شماره شاخص CD فعلی در یک مجموعه CD است. گزینه -volset-size در هر خط فرمان باید قبل از -volset-seqno مشخص شود.
- -v
- -verbose
- اجرای پرگو (همراه با جزئیات). اگر دو بار در خط فرمان داده شود، اطلاعات اشکالزدایی اضافی چاپ خواهد شد.
- -x path
- مسیر path را
از نوشته
شدن در CD-ROM
مستثنی
میکند. path
باید مسیر
کاملی باشد
که از الحاق
مسیر
دادهشده
به عنوان
آرگومان خط
فرمان و
مسیر نسبی
به این
دایرکتوری
حاصل
میشود.
چندین مسیر
میتوانند
مستثنی
شوند. مثال:
mkisofs -o cd -x /local/dir1 -x /local/dir2 /local
نکته: توضیحات گزینههای -m و -x هر دو باید بهروزرسانی شوند، آنها نادرست هستند. هر دو اکنون به صورت یکسان عمل کرده و از تطبیق الگو (globbing) نام فایل استفاده میکنند. اگر بخش آخر یا کل مسیر مطابقت داشته باشد، فایل مستثنی میشود.
- -XA
- ویژگیهای دایرکتوری ISO از نوع XA را همراه با اطلاعات مالک و حالت اصلی تولید میکند. این گزینه برای ایجاد CDهای چندنشستی استاندارد و سازگار، مانند مواردی که توسط Kodak Photo CD و Kodak Picture CD استفاده میشوند، الزامی است. یک CD سازگار با XA از سکتورهای CD-ROM XA mode 1 استفاده میکند؛ برای اطلاعات بیشتر گزینه -sector xa2 را ببینید.
- -xa
- ویژگیهای دایرکتوری ISO از نوع XA را همراه با اطلاعات معقولسازیشده مالک و حالت تولید میکند. شناسه کاربر و شناسه گروه روی ۰ تنظیم میشوند. برای اطلاعات بیشتر -XA را ببینید.
- -z
- رکوردهای ویژه RRIP را برای فایلهای به صورت شفاف فشردهشده تولید میکند. این مورد فقط برای میزبانهایی که از فشردهسازیزدایی شفاف پشتیبانی میکنند، مانند لینوکس 2.4.14 یا بالاتر، کاربرد و اهمیت دارد. شما باید گزینههای -R یا -r را برای فعالسازی RockRidge مشخص کنید و قبل از اجرای mkisofs، فایلهای فشردهشده را با استفاده از ابزار mkzftree تولید نمایید. توجه داشته باشید که فشردهسازی شفاف یک افزونه غیر استاندارد Rock Ridge است. دیسکهای حاصل تنها در صورت استفاده در لینوکس به صورت شفاف قابل خواندن هستند. در سایر سیستمعاملها برای خارج کردن فایلها از حالت فشرده باید mkzftree را به صورت دستی فراخوانی کنید.
گزینههای HFS (HFS OPTIONS)
- -hfs
- یک سیدی ترکیبی (hybrid) از نوع ISO-9660/HFS ایجاد میکند. این گزینه باید همراه با گزینههای -map، -magic و/یا گزینههای مختلف خط تیره دوگانه (double dash) ارائهشده در زیر استفاده شود.
- -no-hfs
- سیدی ترکیبی ISO-9660/HFS را ایجاد نمیکند، حتی اگر سایر گزینهها بر انجام این کار دلالت داشته باشند.
- -apple
- یک سیدی ISO-9660 با پسوندهای اپل (Apple) ایجاد میکند. مشابه گزینه -hfs است، با این تفاوت که بهجای ایجاد یک حجم ترکیبی HFS، پسوندهای اپل به ISO-9660 اضافه میشوند. نسخههای قبلی mkisofs در صورتی که -apple مشخص شده بود، ویژگیهای Rock Ridge را بهطور پیشفرض شامل میشدند. این نسخه از mkisofs دیگر این کار را انجام نمیدهد. اگر مایل به داشتن ویژگیهای Rock Ridge هستید، باید آن را بهطور جداگانه مشخص کنید.
- -map mapping_file
- از mapping_file برای تنظیم اطلاعات CREATOR و TYPE یک فایل بر اساس پسوند نام فایل استفاده میکند. یک نام فایل تنها در صورتی نگاشت میشود که یکی از قالبهای فایل شناختهشده Apple/Unix نباشد. بخش HFS CREATOR/TYPE در زیر را ببینید.
- -magic magic_file
- اطلاعات CREATOR و TYPE با استفاده از عدد جادویی (magic number) یک فایل (معمولاً چند بایت اول فایل) تنظیم میشود. از magic_file تنها زمانی استفاده میشود که یک فایل یکی از قالبهای فایل شناختهشده Apple/Unix نباشد، یا پسوند نام فایل با استفاده از گزینه -map نگاشت نشده باشد. برای جزئیات بیشتر، بخش HFS CREATOR/TYPE در زیر را ببینید.
- -hfs-creator CREATOR
- مقدار پیشفرض CREATOR را برای تمام فایلها تنظیم میکند. باید دقیقاً ۴ نویسه باشد. برای جزئیات بیشتر بخش HFS CREATOR/TYPE در زیر را ببینید.
- -hfs-type TYPE
- مقدار پیشفرض TYPE را برای تمام فایلها تنظیم میکند. باید دقیقاً ۴ نویسه باشد. برای جزئیات بیشتر بخش HFS CREATOR/TYPE در زیر را ببینید.
- -probe
- محتوای فایلها را برای تمام قالبهای فایل شناختهشده Apple/Unix جستجو میکند. برای اطلاعات بیشتر درباره این قالبها، بخش HFS MACINTOSH FILE FORMATS در زیر را ببینید. با این حال، تنها راه بررسی فایلهای MacBinary و AppleSingle باز کردن و خواندن آنها است. بنابراین این گزینه ممکن است زمان پردازش را افزایش دهد. در صورتی که قالبهای Apple/Unix مورد استفاده شناختهشده باشند، بهتر است از یک یا چند گزینه خط تیره دوگانه (double dash) ارائهشده در زیر استفاده شود.
- -no-desktop
- فایلهای (خالی) Desktop را ایجاد نمیکند. فایلهای جدید HFS Desktop هنگامی که سیدی در مکینتاش استفاده شود ایجاد خواهند شد (و در System Folder ذخیره میشوند). بهطور پیشفرض، فایلهای خالی Desktop به حجم HFS اضافه میشوند.
- -mac-name
- از نام فایل HFS بهعنوان نقطه شروع برای نامهای فایل ISO-9660، Joliet و Rock Ridge استفاده میکند. برای اطلاعات بیشتر بخش HFS MACINTOSH FILE NAMES در زیر را ببینید.
- -boot-hfs-file driver_file
- فایل راهانداز driver_file را نصب میکند که ممکن است سیدی را روی مکینتاش قابل بوت کند. بخش HFS BOOT DRIVER در زیر را ببینید. (آلفا).
- -part
- یک جدول پارتیشن HFS تولید میکند. بهطور پیشفرض، هیچ جدول پارتیشنی تولید نمیشود، اما برخی از راهاندازهای قدیمیتر CDROM مکینتاش برای تشخیص یک CDROM ترکیبی به یک جدول پارتیشن HFS روی CDROM نیاز دارند.
- -auto AutoStart_file
- سیدی HFS را وادار میکند تا از قابلیت Autostart در QuickTime 2.0 برای اجرای یک برنامه یا سند استفاده کند. نام فایل ارائهشده باید نام یک سند یا برنامه باشد که در بالاترین سطح سیدی قرار دارد. نام فایل باید کمتر از ۱۲ نویسه باشد. (آلفا).
- -cluster-size size
- اندازه بر حسب بایت کلاستر یا واحدهای تخصیص فایلهای PC Exchange را تنظیم میکند. مستلزم گزینه --exchange است. بخش HFS MACINTOSH FILE FORMATS در زیر را ببینید.
- -hide-hfs glob
- الگوی glob را
از حجم HFS
پنهان
میکند.
فایل یا
دایرکتوری
همچنان در
دایرکتوری
ISO-9660 و/یا Joliet وجود
خواهد داشت.
glob یک الگوی
نویسه
عمومی (wildcard) به
سبک شل است
که باید با
هر بخشی از
نام فایل
مطابقت
داشته باشد.
میتوان
چندین glob را
مستثنی کرد.
مثال:
mkisofs -o rom -hfs -hide-hfs '*.o' -hide-hfs foobar
تمام فایلهایی که به «.o» ختم میشوند یا نام آنها «foobar» است را از حجم HFS مستثنی میکند. توجه داشته باشید که اگر دایرکتوری به نام «foobar» داشته باشید، آن هم (و البته تمام فرزندان آن) مستثنی خواهد شد. glob همچنین میتواند یک نام مسیر نسبت به دایرکتوریهای مبدأ مشخصشده در خط فرمان باشد. مثال:
mkisofs -o rom -hfs -hide-hfs src/html src
تنها فایل یا دایرکتوری با نام «html» را از دایرکتوری «src» مستثنی میکند. هر فایل یا دایرکتوری دیگری به نام «html» در ساختار درختی مستثنی نخواهد شد. باید همراه با گزینههای -hide و/یا -hide-joliet استفاده شود. برای تطبیق نام یک دایرکتوری، مطمئن شوید که نام مسیر شامل نویسه «/» انتهایی نباشد. برای جزئیات بیشتر README.hide را ببینید.
- -hide-hfs-list file
- فایلی شامل فهرستی از globها برای پنهانسازی همانند بالا.
- -hfs-volid hfs_volid
- نام حجم برای پارتیشن HFS. این نامی است که روی مکینتاش به دیسک اختصاص داده میشود و جایگزین volid استفادهشده در گزینه -V میشود.
- -icon-position
- در صورت وجود، از اطلاعات موقعیت آیکون فایل Apple/Unix استفاده میکند. آیکونها در همان موقعیتی ظاهر میشوند که در میزکار مکینتاش ظاهر میشدند. مکان و اندازه پوشه روی صفحه نمایش، موقعیتهای پیمایش آن و نمای پوشه (مشاهده بهصورت آیکونها، آیکونهای کوچک و غیره) نیز حفظ میشوند. این گزینه ممکن است در آینده بهطور پیشفرض تنظیم شود. (آلفا).
- -root-info file
- مکان، اندازه روی صفحه نمایش، موقعیتهای پیمایش، نمای پوشه و غیره را برای پوشه ریشه یک حجم HFS تنظیم میکند. برای اطلاعات بیشتر README.rootinfo را ببینید. (آلفا).
- -prep-boot FILE
- فایل تصویر بوت PReP. تا ۴ مورد مجاز است. README.prep_boot را ببینید. (آلفا).
- -chrp-boot
- یک بوت CHRP در پارتیشن بوت ۱ ایجاد میکند. برای اطلاعات بیشتر گزینه -prep-boot را ببینید.
- -input-hfs-charset charset
- مجموعه نویسه ورودی که نویسههای مورد استفاده در نامهای فایل HFS را در صورت استفاده با گزینه -mac-name تعریف میکند. مجموعه نویسه پیشفرض cp10000 (Mac Roman) است: cp10000 (Mac Roman). برای جزئیات بیشتر بخشهای مجموعههای نویسه (CHARACTER SETS) و HFS MACINTOSH FILE NAMES در زیر را ببینید.
- -output-hfs-charset charset
- مجموعه نویسه خروجی که نویسههای مورد استفاده در نامهای فایل HFS را تعریف میکند. مقدار پیشفرض آن همان مجموعه نویسه ورودی است. برای جزئیات بیشتر بخش مجموعههای نویسه (CHARACTER SETS) در زیر را ببینید.
- -hfs-unlock
- بهطور پیشفرض، mkisofs یک حجم HFS ایجاد میکند که قفلشده (locked) است. این گزینه حجم را بدون قفل میگذارد تا سایر برنامهها (مانند hfsutils) بتوانند حجم را تغییر دهند. برای هشدارهای مربوط به استفاده از این گزینه، بخش HFS PROBLEMS/LIMITATIONS در زیر را ببینید.
- -hfs-bless folder_name
- دایرکتوری (پوشه) دادهشده را «تبرک» (Bless) میکند. این معمولاً System Folder است و در ایجاد سیدیهای بوتشدنی HFS استفاده میشود. نام دایرکتوری باید نام کامل مسیری باشد که mkisofs آن را میبیند؛ برای مثال اگر مسیر دادهشده ./cddata باشد و پوشه مورد نظر System Folder نام داشته باشد، نام کامل مسیر «./cddata/System Folder» خواهد بود (به یاد داشته باشید که اگر نام دارای فاصله است از علامت نقلقول استفاده کنید).
- -hfs-parms PARAMETERS
- پارامترهای خاصی را که برای ایجاد سیستم فایل HFS استفاده میشوند، بازنویسی (Override) میکند. بعید است در شرایط عادی استفاده شود. برای جزئیات، فایل منبع libhfs_iso/hybrid.h را ببینید.
- --cap
- بهدنبال فایلهای مکینتاش AUFS CAP میگردد. تنها قالبهای فایل Apple/Unix از نوع CAP را جستجو میکند. جستجو برای سایر قالبهای ممکن فایل Apple/Unix غیرفعال میشود، مگر اینکه گزینههای خط تیره دوگانه دیگری ارائه شده باشند.
- --netatalk
- بهدنبال فایلهای مکینتاش NETATALK میگردد.
- --double
- بهدنبال فایلهای مکینتاش AppleDouble میگردد.
- بهدنبال فایلهای مکینتاش Helios EtherShare میگردد.
- بهدنبال فایلهای مکینتاش IPT UShare میگردد.
- --exchange
- بهدنبال فایلهای مکینتاش PC Exchange میگردد.
- --sgi
- بهدنبال فایلهای مکینتاش SGI میگردد.
- --xinet
- بهدنبال فایلهای مکینتاش XINET میگردد.
- --macbin
- بهدنبال فایلهای مکینتاش MacBinary میگردد.
- --single
- بهدنبال فایلهای مکینتاش AppleSingle میگردد.
- --dave
- بهدنبال فایلهای مکینتاش Thursby Software Systems DAVE میگردد.
- --sfm
- بهدنبال فایلهای Services for Macintosh شرکت مایکروسافت میگردد (فقط NT) (آلفا).
- --osx-double
- بهدنبال فایلهای مکینتاش MacOS X AppleDouble میگردد.
- --osx-hfs
- بهدنبال فایلهای مکینتاش MacOS X HFS میگردد.
مجموعههای نویسه (CHARACTER SETS)
mkisofs نامهای فایل را به شیوهای سازگار با POSIX بهعنوان رشتههایی از نویسههای ۸ بیتی پردازش میکند. برای نمایش تمام کدگذاریها برای تمام زبانها، نویسههای ۸ بیتی کافی نیستند. یونیکد (Unicode) یا ISO-10646 کدگذاریهای نویسهای را تعریف میکنند که برای نمایش تمام زبانهای شناختهشده حداقل به ۲۱ بیت نیاز دارند. آنها میتوانند با کدگذاریهای UTF-32، UTF-16 یا UTF-8 نمایش داده شوند. UTF-32 از یک کدگذاری ساده ۳۲ بیتی استفاده میکند اما بهنظر میرسد چندان رایج نیست. UCS-2 توسط مایکروسافت در Win32 استفاده میشود. این کدگذاری مشابه UTF-16 است با این عیب که تنها از یک زیرمجموعه ۱۶ بیتی از تمام کدها پشتیبانی میکند (مگر زمانی که جانشینها [surrogates] استفاده شوند) و نویسههای ۱۶ بیتی با رابط سیستم فایل POSIX سازگار نیستند.
سیستمعاملهای مدرن یونیکس ممکن است از کدگذاری UTF-8 برای نامهای فایل استفاده کنند. این کدگذاری امکان استفاده از مجموعه کد کامل یونیکد را فراهم میکند. هر نویسه ۳۲ بیتی با یک یا چند نویسه ۸ بیتی نمایش داده میشود. اگر نویسهای با ISO-8859-1 (مورد استفاده در اروپای مرکزی و آمریکای شمالی) کدگذاری شده باشد، بهصورت ۱:۱ به یک نویسه یونیکد کدگذاریشده با UTF-32 یا UTF-16 نگاشت میشود. اگر نویسهای در 7-Bit ASCII (مورد استفاده در ایالات متحده و سایر کشورهای با مجموعه نویسه محدود) کدگذاری شده باشد، بهصورت ۱:۱ به یک نویسه یونیکد کدگذاریشده با UTF-32، UTF-16 یا UTF-8 نگاشت میشود. کدهای نویسهای که نمیتوانند بهصورت یک تکبایت در UTF-8 نمایش داده شوند (معمولاً اگر مقدار > 0x7F باشد) از دنبالههای گریز (escape sequences) استفاده میکنند که به بیش از یک نویسه ۸ بیتی نگاشت میشوند.
اگر همه سیستمعاملها از کدگذاری UTF-8 استفاده میکردند، mkisofs نیازی به بازکدگذاری نویسهها در نامهای فایل نداشت. متأسفانه اپل از کدگذاریهای کاملاً غیراستاندارد استفاده میکند و مایکروسافت از یک کدگذاری یونیکد استفاده میکند که با رابط نام فایل POSIX سازگار نیست.
برای تمام سیستمعاملهای فاقد کدگذاری UTF-8، نویسه واقعی که هر بایت نشان میدهد به مجموعه نویسه (character set) یا صفحه کد (codepage) (نامی که توسط مایکروسافت استفاده میشود) مورد استفاده توسط سیستمعامل محلی بستگی دارد - نویسهها در یک مجموعه نویسه، منطقه یا زبان طبیعی استفادهشده توسط کاربر را منعکس میکنند.
معمولاً کدهای نویسهای 0x00-0x1f نویسههای کنترلی هستند، کدهای 0x20-0x7f نویسههای ۷ بیتی ASCII هستند و (روی PCها و مکها) 0x80-0xff برای سایر نویسهها استفاده میشوند. متأسفانه حتی این موضوع نیز از استانداردهای ISO پیروی نمیکند که محدوده 0x80-0x9f را برای نویسههای کنترلی رزرو کرده و تنها به 0xa0-0xff برای سایر نویسهها اجازه میدهد.
از آنجا که بسیار بیشتر از ۲۵۶ نویسه/نماد در حال استفاده وجود دارد، تنها زیرمجموعه کوچکی در یک مجموعه نویسه نمایش داده میشوند. بنابراین یک کد نویسه یکسان ممکن است در مجموعههای نویسه مختلف نمایانگر نویسه متفاوتی باشد. از این رو، یک نام فایل که برای مثال در اروپای مرکزی ایجاد شده است، ممکن است هنگام مشاهده روی دستگاهی مثلاً در اروپای شرقی همان نویسه را نمایش ندهد.
برای پیچیدهتر کردن موضوع، سیستمعاملهای مختلف از مجموعههای نویسه متفاوتی برای منطقه یا زبان استفاده میکنند. برای مثال، کد نویسه برای «e کوچک با اکسان اگو» ممکن است روی یک PC کد نویسه 0x82، روی یک مکینتاش کد 0x8e و روی یک سیستم یونیکس کد 0xe9 باشد. توجه داشته باشید در حالی که کدگذاریهای استفادهشده روی PC یا مک غیراستاندارد هستند، یونیکد این نویسه را بهصورت 0x00000000e9 کدگذاری میکند که اساساً همان مقدار استفادهشده توسط اکثر سیستمهای یونیکس است.
تا زمانی که همه سیستمعاملها و برنامهها از مجموعه نویسه یونیکد بهعنوان مبنایی برای نامهای فایل به شیوهای یکتا استفاده نکنند، ممکن است لازم باشد مشخص کنید که نامهای فایل شما از چه مجموعه نویسهای استفاده میکنند و نامهای فایل با چه مجموعه نویسهای باید روی سیدی ظاهر شوند.
چهار گزینه برای مشخص کردن مجموعههای نویسهای که میخواهید استفاده کنید وجود دارد:
- -input-charset
- مجموعه
نویسه محلی
را که روی
دستگاه
میزبان خود
استفاده
میکنید
تعریف
میکند. هر
تبدیل
مجموعه
نویسهای
که صورت
گیرد، از
این مجموعه
نویسه
بهعنوان
نقطه شروع
استفاده
خواهد کرد.
مجموعههای
نویسه
ورودی
پیشفرض
عبارتند از
cp437 روی
سیستمهای
مبتنی بر DOS و
iso8859-1 روی سایر
سیستمها.
اگر گزینه -J مشخص شده باشد، معادلهای یونیکدِ مجموعه نویسه ورودی در دایرکتوری Joliet استفاده خواهند شد. استفاده از گزینه -jcharset همانند استفاده از گزینههای -input-charset و -J است.
- -output-charset
- مجموعه نویسهای را تعریف میکند که برای نامهای Rock Ridge روی سیدی استفاده خواهد شد. مقدار پیشفرض آن همان مجموعه نویسه ورودی است. تنها در صورتی احتمالاً مفید است که روی یک پلتفرم غیریونیکس استفاده شود؛ برای مثال استفاده از mkisofs روی یک دستگاه Microsoft Win32 برای ایجاد سیدیهای Rock Ridge. اگر از mkisofs روی یک دستگاه یونیکس استفاده میکنید، احتمالاً مجموعه نویسه خروجی همانند مجموعه نویسه ورودی خواهد بود.
- -input-hfs-charset
- مجموعه نویسه HFS مورد استفاده برای نامهای فایل HFS رمزگشاییشده از هر یک از قالبهای مختلف فایل Apple/Unix را تعریف میکند. فقط زمانی مفید است که با گزینه -mac-name استفاده شود. برای اطلاعات بیشتر HFS MACINTOSH FILE NAMES را ببینید. مقدار پیشفرض آن cp10000 (Mac Roman) است.
- -output-hfs-charset
- مجموعه نویسه HFS مورد استفاده برای ایجاد نامهای فایل HFS از مجموعه نویسه ورودی در حال استفاده را تعریف میکند. در اکثر موارد این همان مجموعه نویسه ارائهشده با گزینه -input-charset خواهد بود. مقدار پیشفرض آن همان مجموعه نویسه ورودی HFS است.
مجموعه نویسه پیشفرض درون mkisofs تعبیه شده است. تعدادی مجموعه نویسه بیشتر از سیستم فایل توسط mkisofs از یک دایرکتوری بهصورت نسبی نسبت به مسیر نصب خوانده میشوند. برای دریافت فهرست، از mkisofs -input-charset help استفاده کنید.
مجموعههای نویسه اضافی از iconv(1) میتوانند در سیستمهایی که از iconv(1) پشتیبانی میکنند استفاده شوند. در این حالت، دستور iconv -l را اجرا کنید تا فهرستی از مجموعههای نویسه معتبر این روش کدگذاری را دریافت کنید. برای تحمیل یک کدگذاری مبتنی بر iconv(1)، بهجای name از iconv:name برای مجموعه نویسه استفاده کنید.
در صورت استفاده از مجموعههای نویسه غیرمبتنی بر iconv(1)، مجموعههای نویسه اضافی را میتوان با دادن نام فایل بهعنوان آرگومان به هر یک از گزینههای مجموعه نویسه، از فایل خواند. هر زمان که نام ارائهشده حاوی نویسه «/» باشد، مجموعه نویسه مورد نظر از یک فایل خوانده خواهد شد.
قالب فایلهای مجموعه نویسه همانند فایلهای نگاشت ارائهشده در http://www.unicode.org/Public/MAPPINGS است. قالب این فایلها بهصورت زیر است:
ستون
شماره ۱: کد
بایت ورودی
(در مبنای ۱۶
بهصورت 0xXX)
ستون شماره
۲: یونیکد (در
مبنای ۱۶
بهصورت 0xXXXX)
بقیه خط
نادیده
گرفته
میشود.
هر خط خالی، خطی بدون دو (یا بیشتر) ستون در قالب بالا، یا خطوط توضیحات (که با نویسه # شروع میشوند) بدون هیچ هشداری نادیده گرفته میشوند. هر کد ورودی ناموجود به نویسه یونیکد 0x0000 نگاشت میشود.
توجه داشته باشید که هیچ پشتیبانی برای کدگذاری یونیکد ۱۶ بیتی (UTF-16) یا یونیکد ۳۲ بیتی (UTF-32) وجود ندارد، زیرا این کدگذاری با POSIX سازگار نیست. باید از کدگذاری یونیکد UTF-8 پشتیبانی شود که با نامهای فایل POSIX سازگار است و توسط پیادهسازیهای مدرن یونیکس مانند سولاریس پشتیبانی میشود.
یک نگاشت مجموعه نویسه ۱:۱ را میتوان با استفاده از کلمه کلیدی default بهعنوان آرگومان به هر یک از گزینههای مجموعه نویسه تعریف کرد. این رفتار نسخههای قدیمیتر (v1.12) برنامه mkisofs است.
نامهای فایل ISO-9660 تولیدشده از نامهای فایل ورودی، از مجموعه نویسه ورودی تبدیل نمیشوند. مجموعه نویسه ISO-9660 زیرمجموعه بسیار محدودی از نویسههای ASCII است، بنابراین هرگونه تبدیل بیفایده خواهد بود.
هر نویسهای که mkisofs نتواند تبدیل کند با یک نویسه «_» جایگزین خواهد شد.
سازنده/نوع HFS (HFS CREATOR/TYPE)
یک فایل مکینتاش دو ویژگی وابسته دارد که مشخص میکنند کدام برنامه فایل را ایجاد کرده است؛ CREATOR و اینکه چه دادههایی در فایل قرار دارد؛ TYPE. هر دوی اینها رشتههایی (دقیقاً) ۴ حرفی هستند. معمولاً این به کاربر مکینتاش اجازه میدهد تا با دوبار کلیک روی یک فایل، برنامه مناسب را اجرا کند و غیره. CREATOR و TYPE یک فایل مشخص را میتوان با استفاده از ابزاری مانند ResEdit (یا مشابه آن) در مکینتاش پیدا کرد.
اطلاعات CREATOR و TYPE در تمام انواع فایلهای کدگذاریشدهٔ Apple/Unix ذخیره میشوند. برای سایر فایلها میتوان CREATOR و TYPE را بر اساس پسوند نام فایل با استفاده از یک فایل نگاشت (mapping) (گزینهٔ -map) و/یا با استفاده از magic number (معمولاً یک امضا (signature) در چند بایت اول) یک فایل (گزینهٔ -magic) تعیین کرد. اگر هر دوی این گزینهها مشخص شوند، ترتیب آنها در خط فرمان اهمیت دارد. اگر گزینهٔ -map ابتدا داده شود، تطبیق پسوند نام فایل پیش از تطبیق magic number انجام میشود. با این حال، اگر گزینهٔ -magic ابتدا داده شود، تطبیق magic number پیش از تطبیق پسوند نام فایل بررسی خواهد شد.
اگر از فایل نگاشت یا magic استفاده نشود، یا تطبیقی پیدا نشود، میتوان CREATOR و TYPE پیشفرض را برای تمام فایلهای عادی با استفاده از ورودیها در فایل .mkisofsrc یا با استفاده از گزینههای -hfs-creator و/یا -hfs-type تنظیم کرد؛ در غیر این صورت، CREATOR و TYPE پیشفرض برابر با 'unix' و 'TEXT' خواهند بود.
قالب فایل mapping مشابه همان قالب afpfile است که توسط aufs به کار میرود. این فایل دارای پنج ستون برای extension، file translation، CREATOR، TYPE و Comment است. خطوطی که با نویسهٔ '#' آغاز میشوند خطوط توضیحی هستند و نادیده گرفته میشوند. یک فایل نمونه بدین صورت خواهد بود:
| # Example filename mapping file | ||||
| # | ||||
| # EXTN | XLate | CREATOR | TYPE | Comment |
| .tif | Raw | '8BIM' | 'TIFF' | "Photoshop TIFF image" |
| .hqx | Ascii | 'BnHq' | 'TEXT' | "BinHex file" |
| .doc | Raw | 'MSWD' | 'WDBN' | "Word file" |
| .mov | Raw | 'TVOD' | 'MooV' | "QuickTime Movie" |
| * | Ascii | 'ttxt' | 'TEXT' | "Text file" |
که در آن:
- ستون نخست EXTN پسوند نام فایل یونیکس را برای نگاشت مشخص میکند. نگاشت پیشفرض برای هر پسوند نام فایلی که تطبیق پیدا نکند با نویسهٔ "*" تعیین میشود.
- ستون Xlate نوع تبدیل متن بین فایل یونیکس و مکینتاش را مشخص میکند؛ این مقدار توسط mkisofs نادیده گرفته میشود، اما برای سازگاری با aufs(1) نگه داشته شده است. اگرچه mkisofs محتوای فایل را تغییر نمیدهد، اما اگر TYPE یک فایل دودویی روی 'TEXT' تنظیم شده باشد، ممکن است در مکینتاش به نادرستی خوانده شود. بنابراین انتخاب بهتر برای TYPE پیشفرض ممکن است '????' باشد.
- کلمات کلیدی CREATOR و TYPE باید ۴ نویسه طول داشته باشند و در نقلقول تکی (single quotes) قرار گیرند.
- فیلد comment در نقلقول دوگانه (double quotes) قرار میگیرد - این فیلد توسط mkisofs نادیده گرفته میشود، اما برای سازگاری با aufs حفظ شده است.
قالب فایل magic تقریباً با فایل magic(4) مورد استفاده توسط دستور file(1) لینوکس یکسان است - توابع مربوط به خواندن و رمزگشایی فایل magic بر اساس دستور file(1) لینوکس پیادهسازی شدهاند.
این فایل دارای چهار ستون است که با tab از هم جدا شدهاند: byte offset، type، test و message. خطوطی که با نویسهٔ '#' شروع میشوند خطوط توضیحی هستند و نادیده گرفته میشوند. یک فایل نمونه بدین صورت خواهد بود:
| # Example magic file | |||
| # | |||
| # off | type | test | message |
| 0 | string | GIF8 | 8BIM GIFf GIF image |
| 0 | beshort | 0xffd8 | 8BIM JPEG image data |
| 0 | string | SIT! | SIT! SIT! StuffIt Archive |
| 0 | string | \037\235 | LZIV ZIVU standard unix compress |
| 0 | string | \037\213 | GNUz ZIVU gzip compressed data |
| 0 | string | %! | ASPS TEXT Postscript |
| 0 | string | \004%! | ASPS TEXT PC Postscript with a ^D to start |
| 4 | string | moov | txtt MooV QuickTime movie file (moov) |
| 4 | string | mdat | txtt MooV QuickTime movie file (mdat) |
قالب این فایل در صفحهٔ راهنمای magic(4) شرح داده شده است. تنها تفاوت در اینجا این است که برای هر ورودی در فایل magic، مقدار message برای آفست اولیه باید شامل ۴ نویسه برای CREATOR و به دنبال آن ۴ نویسه برای TYPE باشد - فاصلههای خالی (white space) بین آنها اختیاری است. هر نویسهٔ دیگری در این خط نادیده گرفته میشود. خطوط ادامه (که با '>' شروع میشوند) نیز نادیده گرفته میشوند؛ یعنی فقط خطوط آفست اولیه به کار میروند.
استفاده از گزینهٔ -magic ممکن است زمان پردازش را بهمیزان قابلتوجهی افزایش دهد، زیرا هر فایل برای یافتن magic number آن باید باز و خوانده شود.
بهطور خلاصه، برای تمام فایلها، CREATOR پیشفرض 'unix' و TYPE پیشفرض 'TEXT' است. این مقادیر را میتوان با استفاده از ورودیهای درون فایل .mkisofsrc یا با استفاده از گزینههای -hfs-creator و/یا -hfs-type تغییر داد.
اگر فایلی در یکی از قالبهای شناختهشدهٔ Apple/Unix باشد (و آن قالب انتخاب شده باشد)، مقادیر CREATOR و TYPE از مقادیر ذخیرهشده در فایل Apple/Unix برگرفته میشوند.
برای سایر فایلها میتوان CREATOR و TYPE را از پسوند نام فایل آنها (گزینهٔ -map) یا از magic number آنها (گزینهٔ -magic) تنظیم کرد. اگر از تطبیق پیشفرض در فایل نگاشت (mapping) استفاده شود، این مقادیر بر CREATOR و TYPE پیشفرض اولویت یافته و جایگزین آنها میشوند.
یک پایگاه دادهٔ کامل از CREATOR/TYPE را میتوان در نشانی زیر یافت: http://www.angelfire.com/il/szekely/index.html
قالبهای فایل مکینتاش HFS (HFS MACINTOSH FILE FORMATS)
فایلهای مکینتاش دارای دو بخش به نامهای Data fork و Resource fork هستند. هر یک ممکن است خالی باشد. یونیکس (و بسیاری از سیستمهای عامل دیگر) تنها میتوانند با فایلهایی کار کنند که یک بخش (یا fork) دارند. علاوه بر این، فایلهای مکینتاش تعدادی مشخصه مرتبط با خود دارند - که شاید مهمترین آنها TYPE و CREATOR باشند. باز هم، یونیکس هیچ مفهومی از این گونه مشخصهها ندارد.
برای نمونه، یک فایل مکینتاش ممکن است یک تصویر JPEG باشد که در آن تصویر در Data fork ذخیره شده و تصویر بندانگشتی میزکار در Resource fork ذخیره شده است. معمولاً این اطلاعاتِ درون Data fork است که در میان پلتفرمهای مختلف مفید و قابل استفاده است.
بنابراین برای ذخیرهٔ یک فایل مکینتاش در یک سیستم فایل یونیکس، باید راهی پیدا شود تا بتوان با هر دو fork و مشخصههای اضافی (که به آنها finder info گفته میشود) کار کرد. متأسفانه به نظر میرسد هر بستهٔ نرمافزاری که فایلهای مکینتاش را روی یونیکس ذخیره میکند، یک روش ذخیرهسازی کاملاً متفاوت را برگزیده است.
قالبهای Apple/Unix که mkisofs (بهطور ناقص) پشتیبانی میکند عبارتند از:
- CAP AUFS format
- بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork در زیرپوشهٔ .resource با همان نام فایل Data fork قرار میگیرد. اطلاعات finder info در زیرپوشهٔ .finderinfo با همان نام فایل ذخیره میشود.
- AppleDouble/Netatalk
- بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork در فایلی با همان نام که پیشوند "%" دارد ذخیره میشود. اطلاعات finder info نیز در همان فایل "%" ذخیره میشود. نرمافزار Netatalk از همین قالب استفاده میکند، اما Resource fork/finderinfo در زیرپوشهٔ .AppleDouble با همان نام فایل Data fork ذخیره میشود.
- AppleSingle
- ساختارهای داده مشابه موارد بالا است، با این تفاوت که هر دو fork و اطلاعات finder info در یک فایل ذخیره میشوند.
- Helios EtherShare
- بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork و finder info با هم در زیرپوشهٔ .rsrc با همان نام فایل Data fork ذخیره میشوند.
- IPT UShare
- بسیار شبیه به قالب EtherShare است، اما اطلاعات finder info اندکی متفاوت ذخیره میشود.
- MacBinary
- هر دو fork و اطلاعات finder info در یک فایل ذخیره میشوند.
- Apple PC Exchange
- توسط مکینتاشها برای ذخیرهٔ فایلهای Apple روی دیسکهای DOS (FAT) استفاده میشود. بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork در زیرپوشهٔ resource.frk (یا RESOURCE.FRK) قرار میگیرد. اطلاعات finder info بهصورت یک رکورد در فایل finder.dat (یا FINDER.DAT) ذخیره میشود. برای هر پوشهٔ Data fork یک finder.dat جداگانه وجود دارد.
- نکته: mkisofs باید اندازهٔ کلاستر بومی FAT دیسکی را که فایلهای PC Exchange روی آن قرار دارند (یا از آن کپی شدهاند) بداند. این اندازه با گزینهٔ -cluster-size مشخص میشود. اندازهٔ کلاستر یا تخصیص را میتوان با استفاده از ابزار کمکی DOS به نام CHKDSK پیدا کرد.
- ممکن است با فایلهای PC Exchange نگارش ۲.۲ یا بالاتر (موجود در MacOS 8.1) کار نکند. رسانههای DOS حاوی فایلهای PC Exchange در هنگام استفاده در لینوکس باید با نوع msdos (نه vfat) سوار (mount) شوند.
- SGI/XINET
- توسط دستگاههای SGI هنگام سوار کردن دیسکهای HFS استفاده میشود. بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork در زیرپوشهٔ .HSResource با همان نام قرار دارد. اطلاعات finder info بهصورت یک رکورد در فایل .HSancillary ذخیره میشود. برای هر پوشهٔ Data fork یک .HSancillary جداگانه وجود دارد.
- Thursby Software Systems DAVE
- به مکینتاشها اجازه میدهد فایلهای Apple را روی سرورهای SMB ذخیره کنند. بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork در زیرپوشهٔ resource.frk قرار میگیرد. برای ذخیرهٔ Resource fork از قالب AppleDouble استفاده میکند.
- Services for Macintosh
- قالب فایلهای ذخیرهشده توسط سرورهای NT در سیستم فایلهای NTFS است. بخش Data fork بهصورت "filename" ذخیره میشود. بخش Resource fork بهصورت یک stream (جریان) در NTFS به نام "filename:AFP_Resource" ذخیره میشود. اطلاعات finder info بهصورت یک stream در NTFS به نام "filename:Afp_AfpInfo" ذخیره میشود. این جریانها معمولاً برای کاربر نامرئی هستند.
- هشدار: mkisofs فقط بهطور ناقص از قالب SFM پشتیبانی میکند. اگر یک فایل یا پوشهٔ HFS ذخیرهشده روی سرور NT حاوی یک نویسهٔ غیرمجاز NT در نام خود باشد، آنگاه NT این نویسهها را به نویسههای Private Use Unicode تبدیل میکند. این نویسهها عبارتند از: " * / < > ? | و همچنین یک فاصله یا نقطه اگر آخرین نویسهٔ نام فایل باشد، کدهای نویسهٔ 0x01 تا 0x1f (نویسههای کنترلی) و لوگوی اپل (Apple).
- متأسفانه این نویسههای خصوصی یونیکد برای فایل اجرایی mkisofs NT قابل خواندن نیستند. بنابراین هر نام فایل یا پوشهای که حاوی این نویسهها باشد نادیده گرفته خواهد شد - از جمله محتویات هر چنین پوشهای.
- MacOS X AppleDouble
- هنگامی که فایلهای HFS/HFS+ توسط MacOS X روی یک سیستم فایل غیر HFS (مانند UFS، NFS و غیره) کپی یا ذخیره میشوند، فایلها در قالب AppleDouble ذخیره میگردند. بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork در فایلی با همان نام که پیشوند "._" دارد ذخیره میشود. اطلاعات finder info نیز در همان فایل "._" ذخیره میگردد.
- MacOS X HFS (Alpha)
- این در واقع یک کدگذاری Apple/Unix نیست، بلکه فایلهای واقعی HFS/HFS+ در یک سیستم MacOS X هستند. بخش Data fork در یک فایل ذخیره میشود. بخش Resource fork در یک فایل شبهفایل (pseudo file) با همان نام و پسوند '/rsrc' ذخیره میشود. اطلاعات finderinfo تنها از طریق یک فراخوانی کتابخانهای MacOS X در دسترس است.
- نکات: (همچنین README.macosx را ببینید)
- فقط هنگام استفاده روی MacOS X کار میکند.
- اگر فایلی با یک Resource fork به طول صفر و finderinfo خالی یافت شود، فرض میشود که هیچ کدگذاری Apple/Unix ندارد - بنابراین TYPE و CREATOR را میتوان با استفاده از روشهای دیگر تنظیم کرد.
دستور mkisofs تلاش خواهد کرد تا CREATOR، TYPE، تاریخ و احتمالاً سایر پرچمها را از finder info تنظیم کند. علاوه بر این، در صورت وجود، نام فایل مکینتاش از finder info تنظیم میشود؛ در غیر این صورت، نام مکینتاش بر اساس نام فایل یونیکس تنظیم خواهد شد - بخش نامهای فایل مکینتاش HFS (HFS MACINTOSH FILE NAMES) در زیر را ببینید.
هنگام استفاده از گزینهٔ -apple، مقادیر TYPE و CREATOR در فیلد اختیاری System Use یا SUSP در رکورد دایرکتوری ISO-9660 ذخیره میشوند - تقریباً به همان روشی که ویژگیهای Rock Ridge ذخیره میگردند. در واقع برای آسانتر کردن کار، افزونههای Apple در ابتدای ویژگیهای موجود Rock Ridge اضافه میشوند (یعنی برای دریافت افزونههای Apple، افزونههای Rock Ridge را نیز دریافت میکنید).
افزونههای Apple نیازمند آن هستند که resource fork بهعنوان یک فایل وابسته (associated) در ISO-9660 ذخیره شود. این دقیقاً مانند هر فایل عادی ذخیرهشده در سیستم فایل ISO-9660 است، به جز اینکه پرچم فایل وابسته در رکورد دایرکتوری (بیت ۲) تنظیم شده است. این فایل همان نام data fork را دارد (فایلی که توسط دستگاههای غیر Apple دیده میشود). فایلهای وابسته معمولاً توسط سایر سیستمهای عامل نادیده گرفته میشوند.
هنگام استفاده از گزینهٔ -hfs، مقادیر TYPE و CREATOR به همراه سایر finder info، در یک دایرکتوری جداگانهٔ HFS ذخیره میشوند که در حجم ISO-9660 قابل مشاهده نیست. دایرکتوری HFS به همان فایلهای data fork و resource fork که در بالا توضیح داده شد اشاره میکند.
در بیشتر موارد، بهتر است از گزینهٔ -hfs بهجای گزینهٔ -apple استفاده شود، زیرا گزینهٔ دوم نویسههای محدود مجاز ISO-9660 را بر نام فایلها تحمیل میکند. با این حال، افزونههای Apple این مزیت را دارند که فایلها با کارایی بیشتری روی دیسک بستهبندی میشوند و ممکن است بتوان فایلهای بیشتری را روی یک CD جا داد - امری که وقتی حجم کل فایلهای مبدأ به ۶۵۰ مگابایت نزدیک میشود، اهمیت دارد.
نامهای فایل مکینتاش HFS (HFS MACINTOSH FILE NAMES)
در صورت امکان، نام فایل HFS که همراه با یک فایل Apple/Unix ذخیره شده است برای بخش HFS دیسک نوری (CD) استفاده میشود. با این حال، همهٔ کدگذاریهای Apple/Unix نام فایل HFS را همراه با finderinfo ذخیره نمیکنند. در این موارد، نام فایل یونیکس استفاده میشود - با نویسههای ویژهٔ گریز دادهشده (escaped). نویسههای ویژه شامل '/' و نویسههایی با کد بیشتر از ۱۲۷ هستند.
ابزار Aufs این نویسهها را با استفاده از ":" و به دنبال آن کد نویسه بهصورت دو رقم هگزادسیمال (hex) گریز میدهد. ابزارهای Netatalk و EtherShare طرحی مشابه دارند، اما بهجای ":" از "%" استفاده میکنند.
اگر mkisofs نتواند یک نام فایل HFS پیدا کند، از نام یونیکس استفاده میکند و هر نویسهٔ %xx یا :xx (که در آن xx بیانگر دو رقم هگزادسیمال است) را به یک کد نویسهٔ واحد تبدیل میکند. اگر "xx" ارقام هگزادسیمال ([0-9a-fA-F]) نباشند، دستنخورده رها میشوند - هرچند هر ":" باقیمانده به "%" تبدیل میشود زیرا دو نقطه (colon) جداکنندهٔ پوشه در HFS است. باید احتیاط کرد، زیرا یک فایل یونیکس معمولی با %xx یا :xx نیز تبدیل خواهد شد. به عنوان مثال:
| This:2fFile | converted to This/File |
| This:File | converted to This%File |
| This:t7File | converted to This%t7File |
اگرچه به نظر میرسد نامهای فایل HFS از حروف بزرگ و کوچک پشتیبانی میکنند، اما سیستم فایل نسبت به بزرگی و کوچکی حروف حساس نیست (case insensitive)؛ یعنی نامهای فایل "aBc" و "AbC" یکسان هستند. اگر فایلی با همان نام HFS در یک دایرکتوری پیدا شود، آنگاه mkisofs در صورت امکان تلاش خواهد کرد تا با افزودن نویسههای '_' به یکی از نامهای فایل، یک نام یکتا ایجاد کند.
اگر یک نام فایل HFS برای فایلی وجود داشته باشد، آنگاه mkisofs میتواند با استفاده از گزینهٔ -mac-name از این نام بهعنوان نقطهٔ آغازین برای نامهای فایل ISO-9660، Joliet و Rock Ridge استفاده کند. فایلهای عادی یونیکس بدون نام HFS همچنان از نام یونیکس خود استفاده خواهند کرد. به عنوان مثال:
اگر یک فایل MacBinary (یا PC Exchange) بهصورت someimage.gif.bin روی سیستم فایل یونیکس ذخیره شده باشد، اما حاوی یک فایل HFS به نام someimage.gif باشد، آنگاه این نامی است که در بخش HFS سیدی ظاهر خواهد شد. با این حال، از آنجا که mkisofs از نام یونیکس بهعنوان نقطهٔ آغازین برای نامهای دیگر استفاده میکند، نام ISO-9660 تولیدشده احتمالاً SOMEIMAG.BIN و نام Joliet/Rock Ridge آن someimage.gif.bin خواهد بود، هرچند دادههای واقعی (در این مورد) یک تصویر GIF است. این گزینه از نام فایل HFS بهعنوان نقطهٔ شروع استفاده میکند و نام ISO-9660 احتمالاً SOMEIMAG.GIF و Joliet/Rock Ridge آن someimage.gif خواهد بود.
استفاده از گزینهٔ -mac-name در حال حاضر با گزینهٔ -T کار نخواهد کرد - نام یونیکس در فایل TRANS.TBL استفاده خواهد شد، نه نام مکینتاش.
مجموعه نویسهٔ (character set) مورداستفاده برای تبدیل هر نام فایل HFS به یک نام فایل Joliet/Rock Ridge بهطور پیشفرض cp10000 (Mac Roman) است. مجموعه نویسهٔ مورد استفاده را میتوان با استفاده از گزینهٔ -input-hfs-charset مشخص کرد. سایر مجموعههای نویسهٔ داخلی HFS عبارتند از: cp10006 (MacGreek)، cp10007 (MacCyrillic)، cp10029 (MacLatin2)، cp10079 (MacIcelandic) و cp10081 (MacTurkish).
نکته: کدهای نویسهٔ مورداستفاده در نامهای فایل HFS برگرفته از قالبهای مختلف Apple/Unix تبدیل نخواهند شد، زیرا فرض میشود که در مجموعه نویسهٔ صحیح Apple هستند. تنها نامهای Joliet/Rock Ridge مشتقشده از نامهای فایل HFS تبدیل خواهند شد.
کد موجود mkisofs هر نویسهٔ غیرمجاز را برای نامهای فایل ISO-9660 و Joliet فیلتر میکند، اما از آنجا که mkisofs انتظار دارد مستقیماً با نامهای یونیکس سروکار داشته باشد، نامهای Rock Ridge را دستنخورده باقی میگذارد. اما از آنجا که '/' یک نویسهٔ مجاز در نام فایل HFS است، گزینهٔ -mac-name نویسهٔ '/' را در نامهای فایل Rock Ridge به '_' تبدیل میکند.
اگر از افزونههای Apple استفاده شود، تنها نامهای فایل ISO-9660 در مکینتاش ظاهر میشوند. با این حال، از آنجا که درایورهای ISO-9660 مکینتاش میتوانند از نامهای فایل Level 2 استفاده کنند، میتوانید بدون مشکل از گزینههایی مانند -allow-multidot در مکینتاش استفاده کنید - با این حال همچنان در نامگذاری دقت کنید؛ برای نمونه، this.file.name به THIS.FILE تبدیل میشود؛ یعنی تنها یک '.' خواهد داشت. همچنین نام فایل abcdefgh بهصورت ABCDEFGH دیده میشود، اما abcdefghi بهصورت ABCDEFGHI. دیده خواهد شد؛ یعنی با یک '.' در انتها - مشخص نیست این مشکل مکینتاش است یا مشکل mkisofs/mkhybrid. تمام نامهای فایل هنگام مشاهده در مکینتاش با حروف بزرگ خواهند بود. البته دستگاههای DOS/Win3.X قادر به مشاهدهٔ نامهای فایل Level 2 نخواهند بود...
آیکونهای سفارشی حجم/پوشه HFS (HFS CUSTOM VOLUME/FOLDER ICONS)
برای دادن یک آیکون سفارشی به یک CD با قالب HFS، اطمینان حاصل کنید که پوشهٔ ریشه (سطح بالا) حاوی یک فایل آیکون استاندارد حجم مکینتاش باشد. برای اختصاص یک آیکون سفارشی به یک حجم در مکینتاش، باید یک آیکون روی آیکون حجم در جعبهٔ "Get Info" آن حجم چسبانده (paste) شود. این کار یک فایل نامرئی به نام 'Icon\r' ('\r' نویسهٔ بازگشت به ابتدای خط یا همان carriage return است) در پوشهٔ ریشه ایجاد میکند.
یک آیکون سفارشی برای پوشه بسیار شبیه به این است - یک فایل نامرئی به نام 'Icon\r' درون خود پوشه قرار دارد.
احتمالاً سادهترین راه برای ایجاد یک آیکون سفارشی که mkisofs بتواند از آن استفاده کند، قالببندی (format) یک دیسکت فلاپی خالی HFS در مکینتاش و چسباندن (paste) یک آیکون در جعبهٔ "Get Info" آن است. در صورت استفاده از لینوکس با ماژول نصبشدهٔ HFS، فلاپی را با دستوری شبیه به این سوار (mount) کنید:
mount -t hfs /dev/fd0 /mnt/floppy
فلاپی بهطور پیشفرض بهعنوان یک سیستم فایل CAP سوار خواهد شد. سپس mkisofs را با دستوری شبیه به این اجرا کنید:
mkisofs --cap -o output source_dir /mnt/floppy
اگر از لینوکس استفاده نمیکنید، میتوانید از hfsutils برای کپی کردن فایل آیکون از فلاپی استفاده کنید. با این حال باید مراقب بود، زیرا فایل آیکون حاوی یک نویسهٔ کنترلی است؛ به عنوان مثال:
hmount /dev/fd0
hdir -a
hcopy -m Icon^V^M icon_dir/icon
که در آن '^V^M' کلید control-V و به دنبال آن control-M است. سپس mkisofs را با استفاده از دستوری شبیه به این اجرا کنید:
mkisofs --macbin -o output source_dir icon_dir
مراحل ایجاد/استفاده از آیکونهای سفارشی پوشه بسیار شبیه است - یک آیکون را در جعبهٔ "Get Info" پوشه بچسبانید و فایل حاصله 'Icon\r' را به دایرکتوری مربوطه در درخت مبدأ mkisofs منتقل کنید.
ممکن است بخواهید فایلهای آیکون را از درختهای ISO-9660 و Joliet پنهان کنید.
برای اختصاص دادن یک آیکون سفارشی به یک CD با قالب Joliet، دستورالعملهای موجود در نشانی زیر را دنبال کنید: http://www.fadden.com/cdrfaq/faq03.html#[3-21]
درایور راهاندازی HFS (HFS BOOT DRIVER)
ممکن است بتوان دیسک ترکیبی (hybrid CD) را روی یک مکینتاش (Macintosh) قابل راهاندازی (بوت) کرد.
یک CD با فایلسیستم HFS قابل راهاندازی، به یک درایور Apple CD-ROM (یا سازگار با آن)، یک پارتیشن HFS قابل راهاندازی و فایلهای ضروری System، Finder و غیره نیاز دارد.
درایور را میتوان با استفاده از ابزار apple_driver از هر CD-ROM دیگر مکینتاش که قابلیت راهاندازی دارد به دست آورد. این فایل سپس میتواند با گزینه -boot-hfs-file استفاده شود.
پارتیشن HFS (یعنی در مورد ما، دیسک ترکیبی) باید حاوی یک پوشه System Folder مناسب، باز هم از یک CD-ROM یا دیسک دیگر باشد.
برای اینکه یک پارتیشن قابل راهاندازی باشد، باید بلاک راهاندازی (boot block) آن تنظیم شده باشد. بلاک راهاندازی در دو بلاک اول یک پارتیشن قرار دارد. برای یک پارتیشن غیرقابل راهاندازی، بلاک راهاندازی پر از صفر است. به طور معمول، هنگامی که یک فایل System در یک پارتیشن روی دیسک مکینتاش کپی میشود، بلاک راهاندازی با تعدادی از تنظیمات الزامی پر میشود - متأسفانه من مشخصات کامل بلاک راهاندازی را نمیدانم، بنابراین حدس میزنم که موارد زیر به درستی کار کنند.
بنابراین، ابزار apple_driver همچنین بلاک راهاندازی را از اولین پارتیشن HFS که روی CD-ROM دادهشده پیدا میکند استخراج مینماید و این بلاک برای پارتیشن HFS ایجادشده توسط mkisofs استفاده میشود.
- لطفاً توجه داشته باشید (PLEASE NOTE)
- با استفاده از درایور یک Apple CD و کپی کردن نرمافزار Apple بر روی CD خود، شما موظف به رعایت توافقنامههای مجوز نرمافزار Apple Computer, Inc. خواهید بود.
جدول اطلاعات راهاندازی ال توریتو (EL TORITO BOOT INFORMATION TABLE)
هنگامی که گزینه -boot-info-table داده شود، mkisofs فایل راهاندازی تعیینشده توسط گزینه -b را با درج یک «جدول اطلاعات راهاندازی» ۵۶ بایتی در آفست ۸ فایل تغییر میدهد. این تغییر در فایلسیستم منبع انجام میشود، بنابراین اگر این فایل به راحتی قابل بازتولید نیست، حتماً از یک نسخه کپی استفاده کنید! این فایل حاوی اشارهگرهایی است که ممکن است در زمان راهاندازی به راحتی یا به طور مطمئن قابل دستیابی نباشند.
قالب این جدول به شرح زیر است؛ تمام اعداد صحیح در قالب بخش 7.3.1 (به اصطلاح «little endian») هستند.
Offset Name Size Meaning 8 bi_pvd 4 bytes LBA of primary volume descriptor 12 bi_file 4 bytes LBA of boot file 16 bi_length 4 bytes Boot file length in bytes 20 bi_csum 4 bytes 32-bit checksum 24 bi_reserved 40 bytes Reserved
چکسام ۳۲ بیتی، مجموع تمام کلمات ۳۲ بیتی در فایل راهاندازی است که از آفست بایتی ۶۴ شروع میشوند. تمام آدرسهای بلوک خطی (LBAs) بر حسب سکتورهای CD (به طور معمول ۲۰۴۸ بایت) داده میشوند.
پیکربندی (CONFIGURATION)
mkisofs به دنبال فایل .mkisofsrc میگردد؛ ابتدا در دایرکتوری کاری جاری، سپس در دایرکتوری خانگی کاربر، و سپس در دایرکتوریای که باینری mkisofs در آن ذخیره شده است. فرض میشود این فایل حاوی مجموعهای از خطوط به صورت TAG=value باشد، و از این طریق میتوانید گزینههای خاصی را مشخص کنید. بزرگی و کوچکی حروف برچسب (tag) اهمیتی ندارد. برخی از فیلدها در سربرگ جلد (volume header) در خط فرمان قابل تنظیم نیستند، اما میتوان آنها را از طریق این امکان تغییر داد. توضیحات (کامنتها) را میتوان با استفاده از خطوطی که با کاراکتر هش (#) شروع میشوند در این فایل قرار داد.
- APPI
- شناسه برنامه (application identifier) باید برنامهای را که روی دیسک قرار خواهد گرفت توصیف کند. روی دیسک فضایی برای ۱۲۸ کاراکتر اطلاعات وجود دارد. ورودی مربوط به Joliet به ۶۴ کاراکتر محدود شده است. میتواند با استفاده از گزینه خط فرمان -A بازنویسی شود.
- COPY
- اطلاعات حق نشر (copyright)، اغلب نام فایلی روی دیسک که حاوی تذکر حق نشر است. روی دیسک فضایی برای ۳۷ کاراکتر اطلاعات وجود دارد. ورودی مربوط به Joliet به ۱۸ کاراکتر محدود شده است. میتواند با استفاده از گزینه خط فرمان -copyright بازنویسی شود.
- ABST
- اطلاعات چکیده (abstract)، اغلب نام فایلی روی دیسک که حاوی چکیده است. روی دیسک فضایی برای ۳۷ کاراکتر اطلاعات وجود دارد. ورودی مربوط به Joliet به ۱۸ کاراکتر محدود شده است. میتواند با استفاده از گزینه خط فرمان -abstract بازنویسی شود.
- BIBL
- اطلاعات کتابشناختی (bibliographic)، اغلب نام فایلی روی دیسک که حاوی کتابشناسی است. روی دیسک فضایی برای ۳۷ کاراکتر اطلاعات وجود دارد. ورودی مربوط به Joliet به ۱۸ کاراکتر محدود شده است. میتواند با استفاده از گزینه خط فرمان -bilio بازنویسی شود.
- PREP
- این مورد باید آمادهکننده CDROM را توصیف کند، معمولاً همراه با آدرس پستی و شماره تلفن. روی دیسک فضایی برای ۱۲۸ کاراکتر اطلاعات وجود دارد. ورودی مربوط به Joliet به ۶۴ کاراکتر محدود شده است. میتواند با استفاده از گزینه خط فرمان -p بازنویسی شود.
- PUBL
- این مورد باید ناشر CDROM را توصیف کند، معمولاً همراه با آدرس پستی و شماره تلفن. روی دیسک فضایی برای ۱۲۸ کاراکتر اطلاعات وجود دارد. ورودی مربوط به Joliet به ۶۴ کاراکتر محدود شده است. میتواند با استفاده از گزینه خط فرمان -publisher بازنویسی شود.
- SYSI
- شناسه سیستم (System Identifier). روی دیسک فضایی برای ۳۲ کاراکتر اطلاعات وجود دارد. میتواند با استفاده از گزینه خط فرمان -sysid بازنویسی شود.
- VOLI
- شناسه جلد (Volume Identifier). روی دیسک فضایی برای ۳۲ کاراکتر اطلاعات وجود دارد. میتواند با استفاده از گزینه خط فرمان -V بازنویسی شود.
- VOLS
- نام مجموعه جلد (Volume Set Name). روی دیسک فضایی برای ۱۲۸ کاراکتر اطلاعات وجود دارد. ورودی مربوط به Joliet به ۶۴ کاراکتر محدود شده است. میتواند با استفاده از گزینه خط فرمان -volset بازنویسی شود.
- HFS_TYPE
- مقدار TYPE پیشفرض برای فایلهای مکینتاش. باید دقیقاً ۴ کاراکتر باشد. میتواند با استفاده از گزینه خط فرمان -hfs-type بازنویسی شود.
- HFS_CREATOR
- مقدار CREATOR پیشفرض برای فایلهای مکینتاش. باید دقیقاً ۴ کاراکتر باشد. میتواند با استفاده از گزینه خط فرمان -hfs-creator بازنویسی شود.
mkisofs همچنین میتواند در زمان کامپایل با مقادیر پیشفرض برای بسیاری از این فیلدها پیکربندی شود. فایل defaults.h را ببینید.
مثالها (EXAMPLES)
برای ایجاد یک ایمیج فایلسیستم استاندارد (vanilla) ISO-9660 در فایل cd.iso، به طوری که دایرکتوری cd_dir به دایرکتوری ریشه ایمیج ISO دیسک تبدیل شود، دستور زیر را اجرا کنید:
% mkisofs -o cd.iso cd_dir
برای ایجاد یک CD با افزونههای Rock Ridge از دایرکتوری منبع cd_dir:
% mkisofs -o cd.iso -R cd_dir
برای ایجاد یک CD با افزونههای Rock Ridge از دایرکتوری منبع cd_dir به طوری که تمام فایلها حداقل مجوز خواندن داشته باشند و مالک تمام فایلها root باشد، دستور زیر را اجرا کنید:
% mkisofs -o cd.iso -r cd_dir
برای نوشتن مستقیم یک آرشیو tar روی یک CD که بعداً شامل یک فایلسیستم ساده ISO-9660 به همراه آرشیو tar خواهد بود، دستور زیر را اجرا کنید:
% star -c . | mkisofs -stream-media-size 333000 | \
cdrecord dev=b,t,l -dao tsize=333000s -
برای ایجاد یک CD ترکیبی HFS با افزونههای Joliet و Rock Ridge از دایرکتوری منبع cd_dir:
% mkisofs -o cd.iso -R -J -hfs cd_dir
برای ایجاد یک CD ترکیبی HFS از دایرکتوری منبع cd_dir که حاوی فایلهای Netatalk Apple/Unix است:
% mkisofs -o cd.iso --netatalk cd_dir
برای ایجاد یک CD ترکیبی HFS از دایرکتوری منبع cd_dir، و اختصاص CREATOR و TYPE به تمام فایلها صرفاً بر اساس پسوند نام فایل آنها که در فایل "mapping" فهرست شده است:
% mkisofs -o cd.iso -map mapping cd_dir
برای ایجاد یک CD با «Apple Extensions to ISO-9660» از دایرکتوریهای منبع cd_dir و another_dir. فایلها در تمام قالبهای شناختهشده Apple/Unix رمزگشایی میشوند و به سایر فایلها بر اساس عدد جادویی (magic number) آنها که در فایل "magic" آمده است، CREATOR و TYPE اختصاص داده میشود:
% mkisofs -o cd.iso -apple -magic magic -probe \
cd_dir another_dir
مثال زیر فایلهای مختلفی را روی CD قرار میدهد که همگی نام README دارند، اما وقتی به عنوان CD از نوع ISO-9660/RockRidge، Joliet یا HFS دیده میشوند، محتویات متفاوتی دارند.
دایرکتوری جاری شامل موارد زیر است:
% ls -F
README.hfs README.joliet README.unix cd_dir/
دستور زیر محتویات دایرکتوری cd_dir را به همراه سه فایل README روی CD قرار میدهد - اما از هر یک از سه فایلسیستم تنها یکی از آنها دیده خواهد شد:
% mkisofs -o cd.iso -hfs -J -r -graft-points \
-hide README.hfs -hide README.joliet \
-hide-joliet README.hfs -hide-joliet README.unix \
-hide-hfs README.joliet -hide-hfs README.unix \
README=README.hfs README=README.joliet \
README=README.unix cd_dir
یعنی فایل README.hfs روی دیسک HFS به صورت README دیده میشود و دو فایل دیگر README پنهان خواهند شد. به طور مشابه برای دیسکهای Joliet و ISO-9660/RockRidge نیز همینگونه است.
احتمالاً با ترکیب گزینههای پنهانسازی (hide)، انواع نتایج عجیب ممکن است رخ دهد...
برای ایجاد یک DVD-Audio از دایرکتوری منبع سازگار با DVD-Audio به نام DVD:
% mkisofs -o dvda.iso -dvd-audio DVD
نویسنده (AUTHOR)
Eric Youngdale <ericy@gnu.ai.mit.edu> یا <eric@andante.org> نسخههای اولیه (۱۹۹۳ ... ۱۹۹۸) ابزار mkisofs را نوشت. حق نشر نسخههای قدیمی ابزار mkisofs متعلق به Yggdrasil Computing, Incorporated است. Joerg Schilling کتابخانه انتقال SCSI و لایه انطباق آن با mkisofs و بخشهای جدیدتر ابزار (از سال ۱۹۹۷ به بعد) را نوشت. Joerg Schilling از سال ۱۹۹۹ نگهدارنده اصلی است، که این امر حق نشر mkisofs را متعلق به Copyright (C) 1997-2014 Joerg Schilling میسازد.
حق نشر کد دیسک ترکیبی HFS متعلق به Copyright (C) James Pearson 1997 ... 2001 است.
حق نشر کد libhfs متعلق به Copyright (C) 1996, 1997 Robert Leslie است.
حق نشر کد libfile متعلق به Copyright (C) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995 است.
نکات (NOTES)
Mkisofs میتواند با خیال راحت به صورت suid root نصب شود. این ممکن است برای اینکه به mkisofs اجازه داده شود تا هنگام ایجاد یک ایمیج چندنشستی (multi session) نشست قبلی را بخواند، مورد نیاز باشد.
ابزار mkisofs بر پایه ابزارهای استاندارد mk*fs برای یونیکس نیست، زیرا ما باید یک کپی کامل از یک فایلسیستم موجود روی دیسک را در فایلسیستم ISO-9660 تولید کنیم. نام mkisofs احتمالاً تا حدودی یک نامگذاری نامناسب است، چرا که نه تنها فایلسیستم را ایجاد میکند، بلکه آن را پر از داده نیز مینماید. با این حال، نام ابزار مناسب برای یک ابزار یونیکس که فایلسیستمهای پرشده ایجاد میکند - یعنی mkproto - چندان شناختهشده نیست.
اگر mkisofs در حال ایجاد یک ایمیج فایلسیستم با ویژگیهای Rock Ridge باشد و سطح تو در تویی دایرکتوریهای درخت دایرکتوری منبع برای ISO-9660 بیش از حد باشد، mkisofs انتقال دایرکتوریهای عمیق (deep directory relocation) را انجام خواهد داد. این کار منجر به ایجاد دایرکتوریای به نام RR_MOVED در دایرکتوری ریشه CD میشود. شما نمیتوانید در درخت دایرکتوری که با ISO-9660 قابل مشاهده است از این دایرکتوری اجتناب کنید، اما این دایرکتوری به طور خودکار در درخت Rock Ridge پنهان میشود.
پشتیبانی از راهاندازی sparc که با گزینه -sparc-boot پیادهسازی شده است، کاملاً الزامات رسمی راهاندازی CD در Sparc را از Boot prom در سیستمهای Sun Sparc دنبال میکند. برخی از توزیعهای لینوکس برای سیستمهای Sparc از بارگذار راهاندازی به نام SILO استفاده میکنند که متأسفانه با راهاندازی CD در Sparc سازگار نیست. باعث تأسف و آزاردهنده است که نویسندگان SILO خودِ SILO را اصلاح نمیکنند، بلکه در عوض یک «وصله (patch)» کاملاً غیرضروری برای mkisofs ارائه میدهند که شامل کدهای منبع بسیار بیشتری نسبت به آنچه رفع مشکل در SILO نیاز داشت، میباشد.
اشکالات (BUGS)
- •
- هنگام
افزودن
داده در
حالت
چندنشستی
(multi-session)،
دایرکتوریهای
منتقلشده
را به درستی
نمیخواند.
اگر نشست جدید شامل دایرکتوری عمیق نباشد، هر دایرکتوری عمیق منتقلشده از دست میرود.
روش تکرار: ایجاد اولین نشست با جابهجایی دایرکتوری عمیق، سپس افزودن نشست جدید با یک دایرکتوری منفرد که با مسیر عمیق قدیمی تفاوت دارد.
- •
- هنگام انجام حالت چندنشستی از طریق TRANS.TBL، از RR_MOVED دوباره استفاده نمیکند.
ممکن است اشکالات دیگری نیز وجود داشته باشد. لطفاً آنها را به نویسنده گزارش دهید.
مشکلات/محدودیتهای HFS (HFS PROBLEMS/LIMITATIONS)
من مجبور شدهام فرضیات متعددی درباره نحوه کارکرد روالهای اصلاحشده libhfs در نظر بگیرم، با این حال ممکن است شرایطی وجود داشته باشد که یا به آنها فکر نکردهام، یا با مواردی برخورد کنید که این فرضیات نقض شوند. بنابراین نمیتوانم تضمین کنم که mkisofs طبق انتظار عمل خواهد کرد (اگرچه تا کنون به مشکل بزرگی برخورد نکردهام). بیشتر ویژگیهای HFS به خوبی کار میکنند، با این حال، برخی از آنها به طور کامل آزمایش نشدهاند. این موارد با عنوان Alpha در بالا مشخص شدهاند.
اگرچه به نظر میرسد نامفایلهای HFS از حروف بزرگ و کوچک پشتیبانی میکنند، اما فایلسیستم به بزرگی و کوچکی حروف حساس نیست (case insensitive). یعنی نامفایلهای "aBc" و "AbC" یکسان هستند. اگر فایلی با همان نام HFS در یک دایرکتوری پیدا شود، آنگاه mkisofs در صورت امکان تلاش خواهد کرد تا با افزودن کاراکترهای '_' به یکی از نامفایلها، یک نام یکتا ایجاد کند.
نام فایلها/دایرکتوریهای HFS که در ۳۱ کاراکتر اول مشترک هستند، چند کاراکتر آخر آنها با '_N' (N == عدد دهدهی) جایگزین میشود تا نامهای یکتا ایجاد شوند.
هنگام پیوند زدن یا مونتاژ کردن («grafting») فایلها یا دایرکتوریهای Apple/Unix باید دقت شود (برای روش و نحو مربوطه، بخشهای بالا را ببینید). استفاده از یک نام جدید برای یک فایل/دایرکتوری کدگذاریشده Apple/Unix امکانپذیر نیست. به عنوان مثال اگر قرار است یک فایل کدگذاریشده Apple/Unix با نام "oldname" به CD اضافه شود، نمیتوانید از خط فرمان زیر استفاده کنید:
- mkisofs -o output.raw -hfs -graft-points newname=oldname cd_dir
ابزار mkisofs قادر به رمزگشایی "oldname" نخواهد بود. با این حال، تا زمانی که تلاش نکنید مانند بالا نام جدیدی به آنها بدهید، میتوانید فایلها یا دایرکتوریهای کدگذاریشده Apple/Unix را graft کنید.
هنگام ایجاد یک جلد HFS با گزینههای چندنشستی، -M و -C، تنها فایلهای موجود در آخرین نشست در جلد HFS قرار خواهند گرفت. یعنی mkisofs نمیتواند فایلهای موجود از نشستهای قبلی را به جلد HFS اضافه کند
با این حال، اگر هر نشست با گزینه -part ایجاد شود، در این صورت هنگام متصل شدن (mount) روی مک، هر نشست به صورت جلدهای مجزا ظاهر خواهد شد. در این حالت، ارزش دارد که از گزینه -V یا -hfs-volid برای دادن یک نام جلد یکتا به هر نشست استفاده شود، در غیر این صورت هر «جلد» با نام یکسان روی Desktop ظاهر خواهد شد.
پیوندهای نمادین (همانند سایر فایلهای غیرعادی) به دایرکتوری HFS اضافه نمیشوند.
جلدهای ترکیبی ممکن است بزرگتر از جلدهای خالص ISO-9660 حاوی همان دادهها باشند. در برخی موارد (مانند جلدهایی به اندازه DVD) جلد ترکیبی ممکن است به طور قابل توجهی بزرگتر باشد. هرچه یک جلد HFS بزرگتر شود، اندازه بلوک تخصیص (کوچکترین مقدار فضایی که یک فایل میتواند اشغال کند) نیز افزایش مییابد. برای یک CD با حجم 650Mb، بلوک تخصیص 10Kb است و برای یک DVD با حجم 4.7Gb حدود 70Kb خواهد بود.
حداکثر تعداد فایلها در یک جلد HFS حدود ۶۵۵۰۰ عدد است - اگرچه محدودیت واقعی تا حدودی کمتر از این خواهد بود.
جلد ترکیبی حاصل را میتوان در یک ماشین یونیکس با استفاده از روالهای hfsutils مورد دسترسی قرار داد. با این حال، هیچ تغییری نمیتوان در این جلد ایجاد کرد زیرا به عنوان locked (قفلشده) تنظیم شده است. گزینه -hfs-unlock یک ایمیج خروجی ایجاد میکند که قفل نیست - با این حال نباید هیچ تغییری در محتویات جلد ایجاد شود (مگر اینکه واقعاً بدانید چه کار میکنید) چرا که این یک جلد HFS «واقعی» نیست.
استفاده از گزینه -mac-name در حال حاضر با گزینه -T کار نخواهد کرد - نام یونیکس در فایل TRANS.TBL استفاده خواهد شد، نه نام مکینتاش.
اگرچه mkisofs محتویات یک فایل را تغییر نمیدهد، اگر یک فایل باینری TYPE آن روی 'TEXT' تنظیم شده باشد، ممکن است در مکینتاش به نادرستی خوانده شود. بنابراین یک انتخاب بهتر برای TYPE پیشفرض ممکن است '????' باشد.
گزینه -mac-boot-file ممکن است اصلاً کار نکند...
ممکن است با فایلهای PC Exchange نسخه 2.2 یا بالاتر (موجود در MacOS 8.1) کار نکند. رسانههای DOS حاوی فایلهای PC Exchange در هنگام استفاده از لینوکس باید با نوع msdos (نه vfat) سوار (mount) شوند.
قالب SFM فقط به صورت جزئی پشتیبانی میشود - بخش HFS MACINTOSH FILE FORMATS در بالا را ببینید.
امکان استفاده همزمان از گزینههای -sparc-boot یا -generic-boot همراه با گزینههای -boot-hfs-file و -prep-boot یا -chrp-boot وجود ندارد.
mkisofs باید قادر به ایجاد ایمیجهای ترکیبی HFS با حجم بیش از 4Gb باشد، اگرچه این مورد به طور کامل آزمایش نشده است.
همچنین ببینید (SEE ALSO)
cdrecord(1), mkzftree(1), sfind(1), magic(5), apple_driver(8).
بهبودهای آینده (FUTURE IMPROVEMENTS)
نوعی رابط کاربری گرافیکی (GUI).
در دسترس بودن (AVAILABILITY)
mkisofs به عنوان بخشی از بسته cdrecord از آدرس زیر در دسترس است: https://sourceforge.net/projects/cdrtools/files
hfsutils از ftp://ftp.mars.org/pub/hfs
mkzftree به عنوان بخشی از بسته zisofs-tools از آدرس زیر در دسترس است: ftp://ftp.kernel.org/pub/linux/utils/fs/zisofs
فهرستهای پستی (MAILING LISTS)
اگر میخواهید به طور فعال در توسعه mkisofs مشارکت داشته باشید، میتوانید از طریق این نشانی اینترنتی به فهرست پستی توسعهدهندگان بپیوندید:
https://lists.sourceforge.net/lists/listinfo/cdrtools-developers
نگهدارنده (MAINTAINER)
Joerg Schilling Seestr. 110 D-13353 Berlin Germany
نگهدارنده HFS MKHYBRID (HFS MKHYBRID MAINTAINER)
James Pearson
j.pearson@ge.ucl.ac.uk
اگر سوالات پشتیبانی دارید، آنها را به این آدرس ارسال کنید:
cdrtools-support@lists.sourceforge.net
اگر قطعاً اشکالی پیدا کردهاید، به این آدرس نامه بفرستید:
cdrtools-developers@lists.sourceforge.net
یا joerg.schilling@fokus.fraunhofer.de
برای عضویت، از این پیوندها استفاده کنید:
https://lists.sourceforge.net/lists/listinfo/cdrtools-developers
یا
https://lists.sourceforge.net/lists/listinfo/cdrtools-support
پایداری رابط (INTERFACE STABILITY)
رابطهای ارائهشده توسط mkisofs برای پایداری بلندمدت طراحی شدهاند. از آنجا که mkisofs به رابطهای ارائهشده توسط سیستمعامل زیربنایی وابسته است، پایداری رابطهای ارائهشده توسط mkisofs به پایداری رابطهای سیستمعامل بستگی دارد. رابطهای تغییریافته در سیستمعامل ممکن است رابطهای تغییریافتهای را در mkisofs تحمیل کنند.
| 2017/12/10 | Version 3.02 |