Mkisofs linux ��� ������� ����������� iso

Символы Unicode: о чём должен знать каждый разработчик

Если вы пишете международное приложение, использующее несколько языков, то вам нужно кое-что знать о кодировке. Она отвечает за то, как текст отображается на экране. Я вкратце расскажу об истории кодировки и о её стандартизации, а затем мы поговорим о её использовании. Затронем немного и теорию информатики.

Введение в кодировку

Компьютеры понимают лишь двоичные числа — нули и единицы, это их язык. Больше ничего. Одно число называется байтом, каждый байт состоит из восьми битов. То есть восемь нулей и единиц составляют один байт. Внутри компьютеров всё сводится к двоичности — языки программирования, движений мыши, нажатия клавиш и все слова на экране. Но если статья, которую вы читаете, раньше была набором нулей и единиц, то как двоичные числа превратились в текст? Давайте разберёмся.

Краткая история кодировки

На заре своего развития интернет был исключительно англоязычным. Его авторам и пользователям не нужно было заботиться о символах других языков, и все нужды полностью покрывала кодировка American Standard Code for Information Interchange (ASCII).

ASCII — это таблица сопоставления бинарных обозначений знакам алфавита. Когда компьютер получает такую запись:

то с помощью ASCII он преобразует её во фразу «Hello world».

Один байт (восемь бит) был достаточно велик, чтобы вместить в себя любую англоязычную букву, как и управляющие символы, часть из которых использовалась телепринтерами, так что в те годы они были полезны (сегодня уже не особо). К управляющим символам относился, например 7 (0111 в двоичном представлении), который заставлял компьютер издавать сигнал; 8 (1000 в двоичном представлении) — выводил последний напечатанный символ; или 12 (1100 в двоичном представлении) — стирал весь написанный на видеотерминале текст.

В те времена компьютеры считали 8 бит за один байт (так было не всегда), так что проблем не возникало. Мы могли хранить все управляющие символы, все числа и англоязычные буквы, и даже ещё оставалось место, поскольку один байт может кодировать 255 символов, а для ASCII нужно только 127. То есть неиспользованными оставалось ещё 128 позиций в кодировке.

Вот как выглядит таблица ASCII. Двоичными числами кодируются все строчные и прописные буквы от A до Z и числа от 0 до 9. Первые 32 позиции отведены для непечатаемых управляющих символов.

Проблемы с ASCII

Позиции со 128 по 255 были пустыми. Общественность задумалась, чем их заполнить. Но у всех были разные идеи. Американский национальный институт стандартов (American National Standards Institute, ANSI) формулирует стандарты для разных отраслей. Там утвердили позиции ASCII с 0 по 127. Их никто не оспаривал. Проблема была с остальными позициями.

Вот чем были заполнены позиции 128-255 в первых компьютерах IBM:

Какие-то загогулины, фоновые иконки, математические операторы и символы с диакретическим знаком вроде é. Но разработчики других компьютерных архитектур не поддержали инициативу. Всем хотелось внедрить свою собственную кодировку во второй половине ASCII.

Все эти различные концовки назвали кодовыми страницами.

Что такое кодовые страницы ASCII?

Здесь собрана коллекция из более чем 465 разных кодовых страниц! Существовали разные страницы даже в рамках какого-то одного языка, например, для греческого и китайского. Как можно было стандартизировать этот бардак? Или хотя бы заставить его работать между разными языками? Или между разными кодовыми страницами для одного языка? В языках, отличающихся от английского? У китайцев больше 100 000 иероглифов. ASCII даже не может всех их вместить, даже если бы решили отдать все пустые позиции под китайские символы.

Эта проблема даже получила название Mojibake (бнопня, кракозябры). Так говорят про искажённый текст, который получается при использовании некорректной кодировки. В переводе с японского mojibake означает «преобразование символов».

Пример бнопни (кракозябров).

Безумие какое-то.

Именно! Не было ни единого шанса надёжно преобразовывать данные. Интернет — это лишь монструозное соединение компьютеров по всему миру. Представьте, что все страны решили использовать собственные стандарты. Например, греческие компьютеры принимают только греческий язык, а английские отправляют только английский. Это как кричать в пустой пещере, тебя никто не услышит.

ASCII уже не удовлетворял жизненным требованиям. Для всемирного интернета нужно было создать что-то другое, либо пришлось бы иметь дело с сотнями кодовых страниц.

��� Если только ������ вы не хотели ��� бы ��� читать подобные параграфы. �֎֏0590֐��׀ׁׂ׃ׅׄ׆ׇ

Так появился Unicode

Unicode расшифровывают как Universal Coded Character Set (UCS), и у него есть официальное обозначение ISO/IEC 10646. Но обычно все используют название Unicode.

Этот стандарт помог решить проблемы, возникавшие из-за кодировки и кодовых страниц. Он содержит множество кодовых пунктов (кодовых точек), присвоенных символам из языков и культур со всего мира. То есть Unicode — это набор символов. С его помощью можно сопоставить некую абстракцию с буквой, на которую мы хотим ссылаться. И так сделано для каждого символа, даже египетских иероглифов.

Кто-то проделал огромную работу, сопоставляя каждый символ во всех языках с уникальными кодами. Вот как это выглядит:

Префикс U+ говорит о том, что это стандарт Unicode, а число — это результат преобразования двоичных чисел. Стандарт использует шестнадцатеричную нотацию, которая является упрощённым представлением двоичных чисел. Здесь вы можете ввести в поле что угодно и посмотреть, как это будет преобразовано в Unicode. А здесь можно полюбоваться на все 143 859 кодовых пунктов.

Уточню на всякий случай: речь идёт о большом словаре кодовых пунктов, присвоенных всевозможным символам. Это очень большой набор символов, не более того.

Осталось добавить последний ингредиент.

Unicode Transform Protocol (UTF)

UTF — протокол кодирования кодовых пунктов в Unicode. Он прописан в стандарте и позволяет кодировать любой кодовый пункт. Однако существуют разные типы UTF. Они различаются количеством байтов, используемых для кодировки одного пункта. В UTF-8 используется один байт на пункт, в UTF-16 — два байта, в UTF-32 — четыре байта.

Но если у нас есть три разные кодировки, то как узнать, какая из них применяется в конкретном файле? Для этого используют маркер последовательности байтов (Byte Order Mark, BOM), который ещё называют сигнатурой кодировки (Encoding Signature). BOM — это двухбайтный маркер в начале файл, который говорит о том, какая именно кодировка тут применена.

В интернете чаще всего используют UTF-8, она также прописана как предпочтительная в стандарте HTML5, так что уделю ей больше всего внимания.

Этот график построен в 2012-м, UTF-8 становилась доминирующей кодировкой. И всё ещё ею является.

Что такое UTF-8 и как она работает?

UTF-8 кодирует с помощью одного байта каждый кодовый пункт Unicode с 0 по 127 (как в ASCII). То есть если вы писали программу с использованием ASCII, а ваши пользователи применяют UTF-8, они не заметят ничего необычного. Всё будет работать как задумано. Обратите внимание, как это важно. Нам нужно было сохранить обратную совместимость с ASCII в ходе массового внедрения UTF-8. И эта кодировка ничего не ломает.

Как следует из названия, кодовый пункт состоит из 8 битов (один байт). В Unicode есть символы, которые занимают несколько байтов (вплоть до 6). Это называют переменной длиной. В разных языках удельное количество байтов разное. В английском — 1, европейские языки (с латинским алфавитом), иврит и арабский представлены с помощью двух байтов на кодовый пункт. Для китайского, японского, корейского и других азиатских языков используют по три байта.

Если нужно, чтобы символ занимал больше одного байта, то применяется битовая комбинация, обозначающая переход — он говорит о том, что символ продолжается в нескольких следующих байтах.

И теперь мы, как по волшебству, пришли к соглашению, как закодировать шумерскую клинопись (Хабр её не отображает), а также значки emoji!

Подытожив сказанное: сначала читаем BOM, чтобы определить версию кодировки, затем преобразуем файл в кодовые пункты Unicode, а потом выводим на экран символы из набора Unicode.

Напоследок про UTF

Коды являются ключами. Если я отправлю ошибочную кодировку, вы не сможете ничего прочесть. Не забывайте об этом при отправке и получении данных. В наших повседневных инструментах это часто абстрагировано, но нам, программистам, важно понимать, что происходит под капотом.

Как нам задавать кодировку? Поскольку HTML пишется на английском, и почти все кодировки прекрасно работают с английским, мы можем указать кодировку в начале раздела .

Важно сделать это в самом начале , поскольку парсинг HTML может начаться заново, если в данный момент используется неправильная кодировка. Также узнать версию кодировки можно из заголовка Content-Type HTTP-запроса/ответа.

Если HTML-документ не содержит упоминания кодировки, спецификация HTML5 предлагает такое интересное решение, как BOM-сниффинг. С его помощью мы по маркеру порядка байтов (BOM) можем определить используемую кодировку.

Это всё?

Unicode ещё не завершён. Как и в случае с любым стандартом, мы что-то добавляем, убираем, предлагаем новое. Никакие спецификации нельзя назвать «завершёнными». Обычно в год бывает 1-2 релиза, найти их описание можно здесь.

Если вы дочитали до конца, то вы молодцы. Предлагаю сделать домашнюю работу. Посмотрите, как могут ломаться сайты при использовании неправильной кодировки. Я воспользовался этим расширением для Google Chrome, поменял кодировку и попытался открывать разные страницы. Информация была совершенно нечитаемой. Попробуйте сами, как выглядит бнопня. Это поможет понять, насколько важна кодировка.

Заключение

При написании этой статьи я узнал о Майкле Эверсоне. С 1993 года он предложил больше 200 изменений в Unicode, добавил в стандарт тысячи символов. По состоянию на 2003 год он считался самым продуктивным участником. Он один очень сильно повлиял на облик Unicode. Майкл — один из тех, кто сделал интернет таким, каким мы его сегодня знаем. Очень впечатляет.

Надеюсь, мне удалось показать вам, для чего нужны кодировки, какие проблемы они решают, и что происходит при их сбоях.

Источник

Mkisofs linux ��� ������� ����������� iso

mkisofs может создавать записи протокола System Use Sharing Protocol (SUSP) , определяемые протоколом Rock Ridge Interchange Protocol. Эта возможность используется для дальнейшего описания файлов в файловой системе iso9660 на узлах unix, и обеспечивает существование такой информации, как длинные имена файлов, атрибуты uid/gid, права posix, символьные ссылки, блочные и символьные устройства.

Если указаны опции командной строки для активации Joliet или HFS, то mkisofs создаст дополнительные метаданные файловой системы для Joliet или HFS. Содержание файла в этом случае обращается к соответственным блокам данным на носителе. Будет генерироваться чистая файловая система ISO9660, если только не указаны опции командной строки для эмуляции гибридной системы Joliet или HFS.

mkisofs умеет создавать настоящие (или разделяемые ) гибридные файловые системы HFS. Файлы видны и как файлы HFS на Macintosh, и как файлы ISO9660 на других системах. HFS (Hierarchical File System», иерархическая файловая система) является основной файловой системой для компьютеров Macintosh.

Также mkisofs умеет создавать для каждого файла расширения Apple Entensions to ISO9660 . Эти расширения обеспечивают наличие у каждого файла параметров CREATOR, TYPE и нескольких флагов поиска при доступе с Macintosh. Смотрите далее раздел ФОРМАТЫ ФАЙЛОВ HFS ДЛЯ MACINTOSH.

mkisofs делает «слепок» дерева каталогов с указанной директории и создает бинарный файл, соответствующий файловой системе ISO9660 или HFS, готовый для записи на блочное устройство.

Каждый файл, записанный в файловой системе iso9660, должен иметь имя в формате 8.3 (8 символов, точка и 3 символа, все в верхнем регистре), даже если используется протокол Rock Ridge. Эти имена используются в системах, не умеющих работать с расширениями Rock Ridge (например, MS-DOS), где в любом каталоге файлы должны иметь разные названия. mkisofs обычно пытается создать корректные названия, принудительно изменяя имя файла из формата unix в верхний регистр и при необходимости обрезая его, но часто даже такая операция приводит к тому, что получаются несколько файлов с одинаковыми именами. mkisofs для каждого имени файла назначает некоторое «весовое значение» (приоритет), и если два файла все равно имеют одинаковые имена, то файл с более низким приоритетом переименовывается так, что в конце его имени появляется трехзначное число, обеспечивающее уникальность всех имен. Наример, если имеются два файла — foo.bar и foo.bar.

будет записан как FOO000.BAR;1 , а файл foo.bar будет записан как FOO.BAR;1 .

При использовании разных опций HFS mkisofs будет пытаться распознать файлы, сохраненные в форматах Apple/Unix и будет копировать информацию и ссылки на файлы, как и всю остальную информацию. Смотрите далее раздел ФОРМАТЫ ФАЙЛОВ HFS ДЛЯ MACINTOSH для более подробной информации о поддерживаемых форматах mkisofs.

Заметим, что программа mkisofs сама по себе не предназначена для прямой записи на приводы CD-R/RW. Большинство пишуших приводов имеют свои наборы команд, серьезно отличающихся у разных производителей, поэтому для записи диска требуется особая утилита.

Такой утилитой является, например, программа cdrecord, с помощью которой можно записывать компакт диски. Последнюю версию cdrecord можно скачать с ftp://ftp.fokus.gmd.de/pub/unix/cdrecord

Также вы должны помнить, что большинство приводов очень трепетно относятся к задержкам. Если вы начали записывать диск, то буфер данных не должен опустеть, так как это приведет к сбою записи и испорченной болванке. Поэтому крайне важно обеспечить постоянный поток данных на привод, чтобы корректно записать весь диск.

pathspec является путем в дереве каталогов, от которого начнет создаваться файловая система iso9660. Может быть указано несколько путей, mkisofs совместит файлы во всех указанных каталогах и сформирует единый образ диска.

Если указана опция -graft-points , то можно подключать файлы в точки, отличные от корневого каталога образа, а также можно подключать файлы под другим именем. Легче всего показать это на паре примеров. Предположим, что имеется файл ../old.lis, и необходимо включить его в образ диска, тогда указание:

включит файл old.lis в образ диска, как файл /foo/bar/old.lis, а

включит файл old.lis в образ диска, как /foo/bar/xxx. Такой тип синтаксиса может использоваться и с каталогами. mkisofs будет создавать любые каталоги, требуемые для существования точек подключения на образе диска — каталоги, даже и не появляющиеся ни в одном из указанных путей подключения файлов. По умолчанию эти каталоги создаются от имени пользователя, запустившего mkisofs с правами 0555. Если необходимы другие права или владельцы промежуточных каталогов, то смотрите опции -uid, -gid, -dir-mode, -file-mode и -new-dir-mode.

mkisofs может быть запущено на системах Win9X/NT4 при сборке в cygwin от Cygnus (доступно тут: http://sourceware.cygnus.com/cygwin/). Так что почти все указания в этом руководстве на Unix могут быть заменены и на Win32 .

ОПЦИИ

5000) . Этого не случится, если будет использоваться опция -no-cache-inodes , но недостатком будет то, что mkisofs не сможет определять жесткие ссылки, и поэтому образ диска будет больше по размеру. -b eltorito_boot_image Определяет путь и имя файлы образа загрузки для создания загрузочного диска «El Torito». Путь должен быть относителен исходного пути, указанного в mkisofs. Эта опция требуется для создания загрузочных компакт дисков «El Torito». Образ загрузки должен иметь точный размер 1.2, 1.44 или 2.88 Мб флоппи дисков, а mkisofs будет использовать этот размер при создании файловой системы iso9660. Предполагается, что первые 512 байтов сектора должны считываться с загрузочного образа (обычно эмулируется простая флоппи дискета). Это должно сработать, например для образов загрузки на основе загрузочных дискет LILO. -eltorito-alt-boot Запуск с новым набором параметров загрузки «El Torito». Позволяет иметь на диске более одного вида загрузки, на одном диске можно разместить максимум 63 записи загрузки El Torito. -B img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e Определяет разделяемый запятыми список образов загрузки, требуемых для создания загрузочного диска для систем sparc. В этом списке могут быть пустые места, отделенные запятыми. Опция требуется для создания загрузочного диска для систем Sun sparc. Если указаны опции -B или -sparc-boot то первый сектор итогового образа будет содержать метку диска Sun. Эта метка диска определяет часть 0 для образа iso9660, часть 1 . часть 7 для загрузочных образов, указанных в этой опции. Байты 512 . 8191 внутри каждого из дополнительных образов диска должны содержать первичные загрузочные записи для соответствующей архитектуры sparc. Остальная часть каждого образа обычно содержит файловую систему ufs, используемую изначально ядром на стадии загрузки.

Реализованный метод загрузки является методом загрузки SunOS 4.x и SunOS 5.x. Однако, он не зависит от внутреннего содержания SunOS, а только от свойств Open Boot prom. Поэтому он должен быть корректно используемым на любом типе ОС, загружающихся на системе sparc.

Если используется особое имя файла . то актуальный и все последующие загрузочные разделы распределяются на предыдущем разделе. Если mkisofs вызывается с -G image -B . то все загрузочные разделы распределяются на предыдущем разделе, содержащем образ файловой системы iso9660 и общий загрузочный образ, расположенный в первых 16 секторах диска, используемый во всех архитектурах. -G generic_boot_image Определяет путь и имя файла общего загрузочного образа, используемого для создания обычного загрузочного диска. Файл generic_boot_image будет размещен на первых 16 секторах компакт диска. Первые 16 секторов расположены перед основным описателем тома iso9660. Если эта опция используется вместе с -sparc-boot то метка диска Sun перепишет первые 512 байтов обычного образа загрузки. -hard-disk-boot определяет, что загрузочный образ, используемый для создания загрузочного компакт диска «El Torito», является образом жесткого диска. Такой образ должен начинаться с основной загрузочной записи (MBR), содержащей только один раздел. -no-emul-boot Определяет, что используемый образ загрузки для создания загрузочного диска «El Torito» является образом без эмуляции (‘no emulation’). Система будет загружать и исполнять этот образ, не выполняя никаких операций по эмуляции диска. -no-boot Указывает, что созданный компакт диск «El Torito» должен быть помечен, как незагружаемый. Система будет обеспечивать эмуляцию диска для образа, но загружаться в системе будет обычное устройство. -boot-load-seg segment_address Определяет загрузочный адрес сегмента образа загрузки для компакт диска без эмуляции «El Torito». -boot-load-size load_sectors Определяет номер «виртуальных» (по 512 байт) секторов для загрузки в режиме без эмуляции. По умолчанию загружается весь файл загрузки целиком. Некоторые BIOS могут воспринимать их с ошибкой, если их количество не будет кратно 4. -boot-info-table Определяет, что таблица размером в 56 байт с информацией о разметке компакт диска будет исправлена по сдвигу шаблона 8 в файле загрузки. Если задана эта опция, то файл загрузки изменяется прямо в исходной файловой системе, так что убедитесь, что у вас есть копия этого файла. Смотрите в разделе ИНФОРМАЦИОННАЯ ТАБЛИЦА ЗАГРУЗКИ EL TORITO подробное описание этой таблицы. -C last_sess_start,next_sess_start Эта опция требуется, когда mkisofs используется для создания CDextra, образа второй сессии или более высокоуровневой сессии при записи на много-сессионный диск. За опцией -C идут два номера, разделенные запятой. Сначала идет номер первого сектора в последней сессии диска, которую необходимо дописать. Вторым номером идет начальный номер сектора новой сессии. Такую пару чисел можно получить, исполнив cdrecord -msinfo . Если опция -C используется вместе с опцией -M то mkisofs будет создавать образ файловой системы, являющейся продолжением предыдущей сессии. Если опция -C используется без опции -M то mkisofs будет создавать образ файловой системы, являющейся второй сессией на CDextra. Это много-сессионный диск, содержащий аудио данные в первой сессии, и образ файловой системы ISO9660 во второй сессии. -c boot_catalog Определяет путь и имя файла каталога загрузки, испольуземого при создании загрузочного диска «El Torito». Путь должен быть указан относительно исходного пути запуска mkisofs. Эта опция требуется для создания загрузочного диска. Этот файл будет вставлен в получаемое дерево, а не будет создан в исходной файловой системе, поэтому убедитесь, чтобы его имя не конфликтовало с уже существующим файлом, который в таком случае будет удален. Обычно выбирают имя «boot.catalog». -check-oldnames Проверяет все имена файлов, импортируемые из старой сессии, для совместимости с действительными правилами имен файлов mkisofs для iso9660. Если эта опция не указана, то будут проверяться только имена с длиной более 31 символа, так как только они серьезно нарушают стандарт iso9660. -check-session FILE Проверяет все старые сессии на совместимость с реальными правилами имен файлов mkisofs для iso9660. Это опция высокого уровня, являющая комбинацией такий опций: -M FILE -C 0,0 -check-oldnames Для параметра FILE смотрите описание опции -M. -copyright FILE Определяет имя файла прав и лицензий. Параметр также может быть задан в файле .mkisofsrc через COPY=filename. Если указано в обоих местах, то приоритетным считается значение в командной строке. -d Исключать завершающую точку из файлов, не имеющих точек вообще.
Это является нарушением стандарта ISO9660, но работает на многих системах. Использовать осторожно. -D Не использовать глубокое перераспределение каталогов, в вместо этого просто упаковать их в том виде, что мы их видим.
Это является нарушением стандарта ISO9660, но работает на многих системах. Использовать осторожно. -dir-mode mode Переопределяет режим каталогов, используемых для создания образа в mode . Указание этой опции автоматически включает расширения Rock Ridge. -f Следовать по символьным ссылка при создании файловой системы. Если эта опция не указана, то символьные ссылки будут добавлены, используя Rock Ridge (если они активированы), иначе файл будет проигнорирован. -file-mode mode Переопределяет режим обычных файлов, используемых при создании образа в mode . Указание этой опции автоматически включает расширения Rock Ridge. -gid gid Переопределяет gid, считываемый из исходных файлов в значение gid . Указание этой опции автоматически включает расширения Rock Ridge. -gui Переключает поведение на GUI. Пока эта опция просто выводит более подробные сообщения, а в будущем она будет иметь другое значение. -graft-points Позволяет использовать точки подключения для имен файлов. Если использована эта опция, то проверябтся все имена для точек подключения. Имя файла разделяется на первом знаке равенства «=», не предваренным обратными слэшами. Все обычные вхождения символов ‘\\’ и ‘=’ должны предваряться символами ‘\\’, если было указано -graft-points . -hide glob Спрятать glob от просмотра в каталоге типа ISO9660 или Rock Ridge. glob является шаблоном оболочки, совпадающий с любым типом имен файлов или путей. Множественные точки glob могут быть спрятаны. Если glob совпадает с каталогом, то содержание каталога будет спрятано. Для совпадения с именем каталога, убежитесь, что имя файла не завершается на символ ‘/’. Все спрятанные файлы все равно будут записаны на исходящий файл образа диска. Должно использоваться вместе с опцией -hide-joliet -hide-list file Файл, содержащий список glob для записи, как и указано выше. -hidden glob Добавить атрибут каталога hidden (спрятанный) файловой системы ISO9660 для glob . Этот атрибут предотвращает glob от показа в системах, основанных на DOS, если только не указывается флаг /A. glob являтся шаблоном оболочки, совпадающий со всем именем файла или полным путем. Для того, чтобы он совпал с именем каталога, убедитесь, что полное имя файла не включает в себя завершающий символ ‘/’. Несколько файлов могут быть спрятанными одновременно. -hidden-list file Файл, содержащий список glob для проставления им атрибута hidden. -hide-joliet glob Спрятать glob от показа в каталоге Joliet. glob являтся шаблоном оболочки, совпадающий со всем именем файла или полным путем. Несколько файлов могут быть спрятанными одновременно. Если glob совпадает с каталогом, то все содержание каталога станет спрятанным. Для того, чтобы совпасть с именем каталога, убедитесь, что полное имя файла не включает в себя завершающий символ ‘/’. Все спрятанные файлы все равно будут записываться в исходящий образ диска. Для этого необходимо использовать опцию -hide . -hide-joliet-list file Файл, содержащий список glob для проставления им атрибута hidden. -hide-joliet-trans-tbl Спрятать файлы TRANS.TBL в дереве Joliet. Эти файлы обычно не имеют ососбого значения в формате Joliet, так как они просто перечисляют настоящее имя файла и имя формата ISO9660, которые могут отличаться от имени в формате Joliet. -hide-rr-moved Переименовать каталог RR_MOVED в .rr_moved в дереве каталогов Rock Ridge. Вообще абсолютно спрятать каталог RR_MOVED из дерева Rock Ridge — невозможно. Эта опция просто пытается улучшить вид дерева для понимания его предназначения. Если вы вообще не хотите иметь у себя каталог RR_MOVED , то используйте опцию -D . Заметим, что в случае указания опции -D полученная файловая система не будет совместимой с форматом ISO9660 level-1, и не будет читаема в системе MS-DOS. Также смотрите раздел ПРИМЕЧАНИЯ для более подробной информации по каталогу RR_MOVED . -l Разрешает полные имена файлов длиной 31 символ. Обычно это имена ISO9660 в формате 8.3, совместимые с MS-DOS, с учетом того, что стандарт ISO9660 вообще допускает имена файлов до 31 символа. Если вы используете эту опцию, то диск будет сложно использовать в системе MS-DOS, но на других системах все будет в порядке (например, на Amiga). Использовать осторожно. -input-charset charset Входяий набор символов, используемый в локальных именах файлов. Для получения списка корректных названий набором, исполните mkisofs -input-charset help. Для получения распределения 1:1 можно использовать значения по умолчанию в качестве набора символов. Значениями по умолчанию являются cp437 для систем DOS и iso8859-1 для всех других систем. Смотрите далее раздел НАБОРЫ СИМВОЛОВ для более подробной информации. -output-charset charset Исходящий набор символов, определяющий символы, используемые в именах Rock Ridge. По умолчанию идентично входящему набору символов. Смотрите далее раздел НАБОРЫ СИМВОЛОВ для более подробной информации. -iso-level level Определяет уровень соответствия iso9660. Корректные номера: 1..3.

Читайте также:  Install windows on mac free download

На уровне 1 файлы могут состоять из одной части и имена имеют формат 8.3.

На уровне 2 файлы могут состоять из одной части.

На уровне 3 нет никаких ограничений.

На всех уровнях iso9660 все имена файлов должны состоять только из символов в верхнем регистре, цифр и подчеркивания (_). Максимальная длина имени файла ограничена до 31 символа, глубина каталогов ограничена до 8 уровней, максимальная длина полного имени файла ограничена до 255 символов. -J Создает записи каталогов Joliet в дополнение к обычным именам файлов iso9660. Очень полезно для дисков, используемых на машинах Windows-NT или Windows-95. Имена файлов Joliet указаны в уникоде и каждый компонент имени пути может быть длиной до 64 символа уникода. Заметим, что Joliet не является стандартом — компакт диски, использующие только расширения Joliet, а не стандартные методы Rock Ridge обычно используются только на системе Win32 от Microsoft. Более того — то, что имена файлов ограничены до 64 символов и то, что Joliet использует кодировку UTF-16 для символов уникода, вносит серьезные проблемы при взаимодействии с разными системами. -jcharset charset аналогично использованию опций -input-charset charset и -J . Смотрите далее раздел НАБОРЫ СИМВОЛОВ для более подробной информации. -L Разрешить именам файлов ISO9660 начинаться с точки. Обычно начальная точка заменяется на символ подчеркивания для большей совместимости с MS-DOS.
Это является нарушением стандарта ISO9660, но работает на многих системах. Использовать осторожно. -log-file log_file Перенаправляет все сообщения об ошибках, предупреждения и простые сообщения на log_file вместо устройства стандартных ошибок stderr. -m glob Не включает glob в создаваемый образ диска CDROM. glob является стандартным шаблоном оболочки, совпадающем с именами файлов (не с полным именем файлов, как в опции -x ). Технически glob сравнивается с частью d->d_name элемента каталога. Множественные glob могут быть исключены. Например:

mkisofs -o rom -m ‘*.o’ -m core -m foobar

исключит все файлы, заканчивающиеся на «.o», называющиеся «core» или «foobar» из файлов, копируемых на CDROM. Заметим, что если существует каталог, называемый «foobar», то и он (и все его содержиме и подкаталоги) также будет исключено.

ПРИМЕЧАНИЕ: Описание опций -m и -x должно быть обновлено, они ошибочны. Обе опции теперь идентичны и используют имена файлов. Исключаемый файл — это либо совпавший последний компонент или полное имя файла. -exclude-list file Файл, содержащий список glob для исключения по правилам, описанным выше. -max-iso9660-filenames Разрешает использовать 37 символов в именах файлов iso9660. Эта опция принудительно включает опцию -N option, так как дополнительное пространство забирается из места, зарезервированного для номеров версии ISO-9660.
Это является нарушением стандарта ISO9660, но при этом работает на многих системах. И так как некоторые приложения для совместимости требуют обеспечения буферного пространства по меньшей мере в 37 символов, то диски, созданные с использованием этой опции, могут приводить к ошибке переполнения буфера при чтении на некоторых операционных системах. Использовать с максимальной осторожностью. -M path или -M device Определяет пусть к существующему образу iso9660 для совмещения. Альтернативная форма использует определитель устройства SCSI, использующий тот же синтаксис, что и параметр dev= для команды cdrecord. Исходящие данные из программы mkisofs будут новой сессией, которую надо будет записать в конец существующего образа, указанного в -M. Обычно это требует наличия возможности много-сессионной записи от привода и собственно диска, на который вы будете записывать образ. Эта опция может использоваться только вместе с опцией -C. -N Разрешить номера версий в именах файлов ISO9660.
Это является нарушением станадрта ISO9660, но все равно номера версий практически нигде не используются. Использовать осторожно. -new-dir-mode mode Режим, используемый при создании новых каталогов в образе файловой системы iso. По умолчанию используется режим 0555. -nobak -no-bak Не включать в образ файловой системы iso9660 резервные файлы. Если указана опция -no-bak то все файлы, содержащие символы ‘

‘ или ‘#’, или заканчивающиеся на ‘.bak’, не будут включены в создаваемый образ (обычно это резервные файлы, автоматически создаваемые текстовыми редакторами в системе unix). -force-rr Не использовать автоматическое распознавание атрибутов Rock Ridge для предыдущей сессии. Помогает найти не вполне корректные записи iso9660, созданные программами типа NERO при записи дисков. -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 ). -no-split-symlink-fields Не разделять поля SL, а вместо этого начать новую область продолжения (continuation area, CE). Конечно, при этом пропадет некоторое свободное пространство, но драйвера cdrom для SunOS 4.1.4 и Solaris 2.5.1 имеют ошибку при чтении разделенных полей SL (может сбрасываться символ `/’). -o filename Имя файла, куда будет записываться образ файловой системы iso9660. Это может быть обычный дисковый файл, ленточное устройство или напрямую имя устройства — привода записи на диски. Если не указано имя файла, то по умолчанию будет использоваться стандартный вывод stdout. Заметим, что вывод может также быть особым блочным устройством обычного диска, в этом случае раздел диска может быть подключен и проверен на правильность создания образа. -pad Заполняет остаток образа ISO9660 до 16 секторов 32Кб). Если общий размер не будет кратен 16 секторам, то используется соответствующее число секторов для дополнения до нужной цифры. Если используется опция -B то также будет заполняться концовка загрузочных разделов.

Такое заполнение требуется, так как во многих операционных системах (в том числе и в Linux) существует ошибка ввода/вывода файловой системы при упреждающем чтении. Такие сбои выражаются в ошибке чтения одного или нескольких файлов, расположенных в конце трека. Они обычно бывают на дисках, записанных в режиме Track-at-Once, или на сборном диске, где записан музыкальный трек после трека обычных данных.

Для избежания проблем с ошибками ввода/вывода файловой системы на последнем файле опция -pad является активной опцией по умолчанию. -no-pad Не осуществлять заполнение концовки образа ISO9660 до 16 секторов (32Кб). -path-list file Файл, содержащий список каталогов pathspec и имен файлов для добавления в файловую систему ISO9660. Этот список путей обрабатывается после всего, что есть в командной строке. Если аргумент равен — , то список считывается со стандартного ввода stdin. Должен существовать по меньшей мере один путь pathspec заданный также и в командной строке. -P publisher_id Определяет строку текста, записываемую в заголовок тома. Ей описывается издатель компакт диска, обычно с указанием обратного адреса и телефонов. Также остается место (128 символов) для информации. Параметр также может быть задан в файле .mkisofsrc через PUBL=. Если указано в обоих местах, то приоритетным считается значение в командной строке. -p preparer_id Определяет строку текста, записываемую в заголовок тома. Ей описывается ответственный за подготовку компакт диска, обычно с указанием обратного адреса и телефонов. Также остается место (128 символов) для информации. Параметр также может быть задан в файле .mkisofsrc через PREP=. Если указано в обоих местах, то приоритетным считается значение в командной строке. -print-size Выводит предположительный размер файловой системы и завершает работу. Эта опция требуется для режима Disk-At-Once и для некоторых приводов CD-R при прямом перенаправлении данных на cdrecord. В этом случае требуется знать размер файловой системы перед созданием компакт диска. Опция -print-size позволяет получить этот размер из условного запуска программы перед реальной записью на CD. Старые версии mkisofs выводили эту информацию (среди прочей) на stderr . Но так как обрабатывать вывод данных достаточно сложно, это число теперь можно получить прямо на stdout. Если вам нравится писать скрипты, то перенаправьте stderr или выделите номер из stdout . Это может быть сделано примерно так:

cdblocks=` mkisofs -print-size -quiet . `

mkisofs . | cdrecord . tsize=$s — -quiet Заставляет mkisofs выводить как можно меньше сообщений. Не будут выводиться проценты записи на диск. -R Создает записи SUSP и RR при использовании протокола Rock Ridge для дальнейшего описания файлов на файловой системе iso9660. -r Аналогично опции -R, но владельцы файлов и режимы определяются в более логичные значения. uid и gid устанавливаются в ноль, так как они в основном полезны только на системе создателя файлов, но не для остальных пользователей. Устанавливают биты чтения на всех файлах, так что все каталоги и файлы читаемы для всех. Если хотя бы для одного файла был установлен бит исполнения, то они ставятся на все файлы. Если хотя бы на одном каталоге был определен бит поиска, то они ставятся на все каталоги, так что везде можно будет осуществлять поиск. Все биты записи сбрасываются, так как в любом случае CD-Rom будет подключен в режиме только-для-чтения. Если установлены какие либо особые биты режимов, то они очищаются, так как блокировки файлов на файловой системе только для чтения бесполезны и даже вредны, а биты set-id вовсе нежелательны для uid 0 или gid 0. При использовании на Win32, бит исполнения устанавливается для всех файлов. Это является следствем недостатка прав файлов в системе Win32 и на уровне эмуляции Cygwin POSIX. Смотрите также -uid -gid, -dir-mode, -file-mode и -new-dir-mode. -relaxed-filenames Опция -relaxed-filenames поволяет включать в имена файлов ISO9660 цифры, символы в верхнем регистре и все остальные 7-битные символы ASCII (все, за исключением символов в нижнем регистре).
Это является нарушением стандарта ISO9660, но работает на многих системах. Использовать осторожно. -sort sort file Упорядочить расположение файлов на носителе. Упорядочение контролируется файлом, содержащем пары имен файлов и весовых значений шаблона сортировки. Если весовое значение выше, то файл будет расположен ближе к началу носителя, если ниже — то ближе к концу. В строке между именами файлов и их весом должен быть только один пробел или символ табуляции, а также вес должен быть последними символами в строке. Имя файла считается от начала строки до последнего пробела или символа табуляции в строке — не включая последний. Это позволяет указывать с именах файлов пробелы. Смотрите для более подробной информации README.sort. -sysid ID Определяет системный идентификатор ID. Параметр также может быть задан в файле .mkisofsrc через SYSI=system_id. Если указано в обоих местах, то приоритетным считается значение в командной строке. -T Создает файл TRANS.TBL в каждом каталоге на диске CDROM, используемый на системах, не совместимых с Rock Ridge, для помощи в определении корректных имен файлов. В этом файле присутствует информация, указывающая на главный и второстепенный номера блока и символьных устройств, а каждая символьная ссылка содержит имя файла. -table-name TABLE_NAME альтернативное имя файла таблицы преобразований (см. выше). Реализуется с опцией -T . Если создается много-сессионный образ, то нужно использовать имя файла из предыдущей сессии. -ucs-level level Определить уровень совместимости уникода на Joliet SVD. По умолчанию уровень 3. Этой опцией уровень может быть установлен в 1..3. -uid uid Переопределяет uid файлов в значение uid . Указание этой опции автоматически включает использоваение расширений Rock Ridge. -use-fileversion Опция -use-fileversion позволяет mkisofs использовать номера версий файлов из файловой системы. Если опция не указана, то mkisofs создает версию 1 для всех файлов. Версиями файлов являются строки в диапазоне от ;1 до ;32767 Эта опция активна по умолчанию на VMS. -U Разрешает «непереводимые» имена файлов, совершенно нарушая форматы iso9660, описанные выше. Принудительно активирует флаги -d, -l, -L, -N, -relaxed-filenames, -allow-lowercase, -allow-multidot и -no-iso-translate. Позволяет иметь одну точку в имени файла, а также символы в верхнем регистре. Это полезно только на системе HP-UX, где встроенная файловая система CDFS не распознает НИКАКИЕ расширения. Использовать максимально осторожно. -no-iso-translate Не переводить символы ‘#’ и ‘

Читайте также:  Почему не ставлю windows 10

‘, являющие некорректными для имен файлов iso9660. Эти символы, хотя и некорректны, но тем не менее часто используются в системах Microsoft.
Это является нарушением стандарта ISO9660, но работает на многих системах. Использовать осторожно. -V volid Определяет идентификатор тома ID (имя, метка) для записи в главный блок. Параметр также может быть задан в файле .mkisofsrc через VOLI=id. Если указано в обоих местах, то приоритетным считается значение в командной строке. Заметим, что если указана метка тома, то именно это название будет использовано как точка подключения, используемая системой управления томами Solaris; и это имя будет определено, как имя диска на системах Microsoft Win32 или Apple Mac. -volset ID Определяет название набора дисков. Параметр также может быть задан в файле .mkisofsrc через VOLS=volset_id. Если указано в обоих местах, то приоритетным считается значение в командной строке. -volset-size # Определяет размер набора дисков #. Размер набора дисков — это число компакт дисков в одном комплекте. Опуия -volset-size может использоваться для создания дисков, являющихся частью, например, некоторого «Набора Установочных Дисков Операционной Системы». Опция -volset-size должна быть указана до опции -volset-seqno в каждой командной строке. -volset-seqno # Устанавливает номер тома в наборе дисков в #. Номер тома в наборе дисков являтеся порядковым номером компакт диска в наборе. Опция -volset-size должна быть указана до опции -volset-seqno в каждой командной строке. -v Verbose execution. If given twice on the command line, extra debug information will be printed. -x path Не записывать путь path на образ диска CDROM. Путь path должен являться полным именем, получающемся из сложения пути, заданного в командной строке аргументов и пути относительно данного каталога. Могут исключаться несколько путей. Например:

mkisofs -o cd -x /local/dir1 -x /local/dir2 /local

ПРИМЕЧАНИЕ: Описания опций -m и -x должны быть обновлены — они некорректны. Обе опции работают идентично, используют шаблоны имен файлов. Файл исключается, если либо последний компонент удовлетворяет шаблону, либо если под шаблон подходит весь полный путь. -z Создает особые записи RRIP для прозрачно сжатых файлов. Подходит только для узлов, поддерживащих прозрачную декомпрессию, например Linux 2.4.14 и старше. Необходимо указать опции -R или -r для включения RockRidge, а создавать сжатые файлы — используя утилиту mkzftree перед запуском mkisofs.

ОПЦИИ

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. Для того, чтобы сравнивать шаблоны с именами каталогов, убедитесь, что путь не включает в себя завершающий символ ‘/’. -hide-hfs-list file Файл, содержащий список glob , которые необходимо спрятать, как показано выше. -hfs-volid hfs_volid Имя тома для раздела HFS. Это имя, назначаемое диску в системе Macintosh и заменяющее volid , используемое в опции -V . -icon-position Использовать информацию о расположении пиктрограмм (если они существуют) из файла Apple/Unix. Пиктограммы будут появляться так, как они появлялись бы на рабочем столе Macintosh. Расположние и размер папок на экране, позиции скроллинга, вид папки (как пиктограммы, маленькие пиктограммы и т.п.) также будет сохранено. Вероятно, эта опция в будущем станет активной по умолчанию. (Alpha). -root-info file Определяет расположение, размер на экране, позиции скроллинга, вид папки и т.п. для корневой папки на томе HFS. Смотрите файл README.rootinfo. (Alpha) -prep-boot FILE Файл образа загрузки PReP. Их разрешено иметь до 4 штук. Смотрите файл README.prep_boot (Alpha). -input-hfs-charset charset Входящие наборы символов, определяющие символы, используемые в именах файлов HFS при использовании с опцией -mac-name . Набором символов по умолчанию является cp10000 (Mac Roman). Смотрите далее разделы НАБОРЫ СИМВОЛОВ и ИМЕНА ФАЙЛОВ HFS MACINTOSH для более подробной информации. -output-hfs-charset charset Исходящие наборы символов, определяющие символы, используемые в именах файлов HFS. По умолчанию равен входящему набору символов. Смотрите далее раздел НАБОРЫ СИМВОЛОВ для более подробной информации. -hfs-unlock По умолчанию mkisofs будет создавать тома HFS, которые блокированы (locked). Эта опция оставляет том незаблокированным так, что другие приложения (например, hfsutils) могут изменять том. Смотрите далее раздел ПРОБЛЕМЫ/ОГРАНИЧЕНИЯ HFS для особых предупреждений при использовании этой опции. -hfs-bless folder_name «Благословляет» указанный каталог (папку). Обычно это системная папка System Folder используемая при создании загрузочных дисков HFS. Имя каталога должно быть полным путем таким, как его видит mkisofs , то есть например, если заданное имя ./cddata и требуемый каталог называется System Folder, то полный путь будет «./cddata/System Folder» (помните об использовании кавычек для имен, содержащих пробелы). —cap Искать файлы Macintosh формата AUFS CAP. Поиск идет только для форматов файлов CAP Apple/Unix. Поиск других возможных форматов файлов Apple/Unix отключен, только если не указаны другие опции, начинающиеся с двойного дефиса. —netatalk Искать файлы Macintosh формата NETATALK —double Искать файлы Macintosh формата AppleDouble —ethershare Искать файлы Macintosh формата Helios EtherShare —ushare Искать файлы Macintosh формата IPT UShare —exchange Искать файлы Macintosh формата PC Exchange —sgi Искать файлы Macintosh формата SGI —xinet Искать файлы Macintosh формата XINET —macbin Искать файлы Macintosh формата MacBinary —single Искать файлы Macintosh формата AppleSingle —dave Искать файлы Macintosh формата Thursby Software Systems DAVE —sfm Искать файлы Microsoft’s Services для Macintosh (только NT) (Alpha)

НАБОРЫ СИМВОЛОВ

Современнные операционные системы UNIX используют кодировку UTF-8 для файловых имен. Эта кодировка позволяет использовать полный набор символов уникода. Каждый 32-битный символ представляется одним или несколькими 8-битными символами. Если символ входит в кодировку ISO-8859-1 (используемой в Центральной Европе и Северной Америке), то он один в один совпадает с символом уникода. Коды символов, которые нельзя представить в виде одного байта в UTF-8 (обычно если значение > 0x7F), используют управляющие последовательности, указывающие на несколько 8-битных символов.

Если бы все операционные системы использовали кодировку UTF-8 то mkisofs не требовалось бы указывать типы кодировок в именах файлов. К сожалению, Apple использует совершенно нестандартные кодировки, а Microsoft использует уникод, не совместимый с интерфейсом имен файлов POSIX.

Для всех операционных систем, не поддерживающих кодировку UTF-8 , действительныо показываемый символ, представляемый каждый байтом, зависит от набора символов (character set) или от кодовой страницы (codepage) (это название появилось и используется в Microsoft) используемой локальной операционной системой — символы в наборе будут отражать региональные настройки или родной язык пользователя.

Обычно коды символов 0x00-0x1f являются управляющими символами, коды 0x20-0x7f являются стандартными 7-битными символами ASCII, а уже 0x80-0xff (на PC и Mac) используются для остальных символов. К сожалению, все это не соответствует стандартам ISO, по которому резервируется диапазон 0x80-0x9f только для управляющих символов, а для остальных символов выделяется диапазон 0xa0-0xff.

Так как нужно определить значительно больше, чем 256 символов/букв, то только небольшое их количество будет представлено в наборе символов. Тем не менее один символ может определять разные буквы/символы в разных наборах символах. Таким образом имя файла, созданное например в Центральной Европе, будет показано совсем по другомму на компьютере в Восточной Европе.

Для еще большего усложнения ситуации разные операционные системы используют разные наборы символов для одних и тех же регионов и языков. Например, код символа для «маленькой e с сильным акцентом» может быть равен 0x82 на PC, 0x8e на Macintosh и 0xe9 на системе UNIX. Заметим, что в то время, как кодировки, используемые на PC или Mac, считаются нестандартными, уникод обозначает этот символ, как 0x00000000e9 — что собственно является значением для этого символа в большинстве систем UNIX.

Пока все операционные системы не начнут использовать наборы символов уникода как основу для имен файлов для универсальности, может быть необходимо указывать, в каком именно наборе символов находятся имена файлов, и в каком наборе символов они должны быть записаны на компакт диск.

Существуют четыре опции, определяющие используемые вами наборы символов: -input-charset Определяет локальный набор символов, используемый вами на машине. Любые преобразования наборов символов, имеющие место, будут использовать именно этот набор символов, как точку отсчета. По умолчанию вхоящий набор символов равен cp437 на системах, основанных на DOS, или iso8859-1 на всех остальных системах.

Если указана опция -J то будет использоваться уникод, эквивалентный входящим символам в каталоге Joliet. Использование опции -jcharset аналогично опциям -input-charset и -J.

-output-charset Определяет набор символов, используемый для имен Rock Ridge на компакт диске. По умолчанию равен входящему набору символов. Обычно бывает полезна только на не-Unix платформах, например при использовании mkisofs на машине Microsoft Win32 для создания дисков Rock Ridge. Если вы используете mkisofs на машине Unix, то исходящий набор символов будет равен входящему. -input-hfs-charset Определяет набор символов HFS, используемый для имен файлов HFS, переведенных с любого из форматов файлов Apple/Unix. Полезна только при использовании с опцией -mac-name. Смотрите раздел ИМЕНА ФАЙЛОВ HFS MACINTOSH для более подробной информации. По умолчанию равен cp10000 (Mac Roman). -output-hfs-charset Определяет набор символов HFS, используемый для создания имен файлов HFS при использовании входящего набора символов. В большинстве случаев будет определяться их набора символов, заданного опцией -input-charset. По умолчанию равно входящему набору символов HFS.

Существует несколько наборов символов, встроенных в mkisofs . Для получения списка используйте опцию mkisofs -input-charset help.

Дополнительные наборы символов могут быть считаны из файла для любых опций набора символов, указывая имя файла как аргумент опций. Заданный файл будет считываться только если его имя не совпадает со встроенными наборами символов.

Формат файлов набора символов аналогичен формату файлов с http://www.unicode.org/Public/MAPPINGS . Форматом таких файлов является:

Столбец #1 код входящего байта (в шестнадцатеричном 0xXX)

Столбец #2 уникод (в шестнадцатеричном 0xXXXX)

Остаток строки игнорируется.

Любые пустые строки, строки без двух (с большим числом) колонок или строки комментария (начинающиеся с символа решетки #) игнорируются без всяких предупреждений. Любые пропущенные входящие коды распределяются на символ уникода 0x0000.

Заметим, что нет поддержки для 16-битного уникода (UTF-16) или 32-битного уникода (UTF-32) так как они не являются совместимыми с форматом POSIX. Должна быть поддержка только для уникода UTF-8, совместимого с именами файлов POSIX и поддерживаемого всеми современными реализациями UNIX, например Solaris.

Обычное распределение один в один может быть определено, используя ключевое слово default как аргумент к любой из опций набора символов. Это является поведением по умолчанию старых версий (v1.12) программы mkisofs .

Имена файлов ISO9660, создаваемые из входящих имен файлов, не конвертируются из входящего набора символов. Набор символов ISO9660 является очень ограниченным подмножеством символов ASCII, поэтому любое преобразование будет бессмысленным.

Любой символ, который mkisofs не сможет преобразовать, будет заменен на символ подчеркивания ‘_’.

ТИП/СОЗДАТЕЛЬ HFS

Данные CREATOR и TYPE хранятся во всех файлах Apple/Unix. Для всех других файлов можно определить CREATOR и TYPE на основе расширений файлов, используя файл распределений (mapping) (опция -map ) и/или используя magic number (обычно это подпись (signature) в первых нескольких байтах) файла (опция -magic ) Если заданы обе эти опции, то важна очередь их указания в командной строке. Если раньше задана опция -map , то сначала проверяется расширение файла и только потом — magic number. Однако, если ранее задана опция -magic , то сначала проверяется magic number и только потом — расширение.

Если не используется ни расширение, ни magic number, а также не найдено никакое соответствие в атрибутах CREATOR и TYPE, то при запуске .mkisofsrc для файлов можно использовать опции -hfs-creator и/или -hfs-type иначе по умолчанию CREATOR и TYPE будут установлены в ‘unix’ и ‘TEXT’.

Формат файла распределений mapping аналогичен формату файлов afpfile используемых aufs . Такой файл имеет пять столбцов для определения расширения , типа соответствия файла , CREATOR , TYPE и Комментария .

Строки, начинающиеся с символа решетки ‘#’ являются строками комментариев и игнорируются. В качестве примера приведем такой фрагмент:

# Пример файла распределения
#
# 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 определяет расширение имен файлов Unix. По умолчанию не поставленное в соответствие ни с каким расширением файла строка обозначается символом «*». Колонка Xlate определяет тип текстового соответствия среди файлов Unix и Macintosh. Игнорируется mkisofs , но сохраняется для соответствия aufs (1). Хотя mkisofs не изменяет содержимого файлов, но если бинарный файл имеет поле TYPE установленное как ‘TEXT’, то он может быть некорректно распознан на Macintosh. Поэтому лучшим выбором по умолчанию для поля TYPE может быть ‘. ‘ Ключевые слова CREATOR и TYPE должны быть длиной ровно в 4 символа и должны быть заключены в одинарные кавычки. Поле комментария заключено в двойные кавычки — оно игнорируется mkisofs , но сохраняется для совместимости с aufs .

Формат файла magic file практически идентичен файлу magic (4) используемого командой Linux file (1) — процедурами для чтения и декодирования файла magic , основанного на командах Linux file (1).

Этот файл имеет четыре колонки, разделенные символами табуляци для This file has four tab separated columns for the сдвиг , типа , проверки и сообщения байта .

Строки, начинающиеся с символов ‘#’ являются комментарием и игнорируются. Примером файла могут послужить следующие строки:

# Пример файла 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 сообщение для начального сдвига должно быть равным 4 символам для записи CREATOR и затем 4 символа для записи TYPE — и между ними пустой символ. Любой другой символ в этой строке игнорируется. Строки, продолжающиеся на другой строке (начинающиеся с ‘>’) также игнорируются, так как используется только начальный сдвиг строк.

Использование опции -magic может значительно увеличить время работы программы, так как каждый файл должен быть открыт и считан в поиске его magic number.

В целом для всех файлов по умолчанию CREATOR установлено в ‘unix’ и по умолчанию TYPE устанавливается в ‘TEXT’. Они могут быть изменены, используя записи в файле .mkisofsrc или используя опции -hfs-creator и/или -hfs-type .

Если файл является файлом одного из известных форматов Apple/Unix (и этот формат был выбран), то значения CREATOR и TYPE будут взяты из значений, хранящихся в файле Apple/Unix.

Все другие файлы могут определить свои записи CREATOR и TYPE из своего расширения имени файла (опция -map ), или из своего волшебного номера magic number (опция -magic ). Если используются по умолчанию значения из файла распределения , то эти значения переопределяют значения CREATOR и TYPE по умолчанию.

Полную базу данных значений CREATOR/TYPE можно найти по адресу: http://www.angelfire.com/il/szekely/index.html

ФОРМАТ

Например, файл Macintosh может содержать изображение формата JPEG, причем само изображение хранится в ветви Data, а уменьшенная пиктограмма изображения содержится в ветви Resource. Обычно именно информация в ветви Data полезна при кроссплатформенном использовании.

Тем не менее, для сохранения файла Macintosh на файловой системе Unix был найден метод для работы с двумя ветвлениями и дополнительными атрибутами (относящиеся к информации поиска finder ). К сожалению, кажется что любой программный пакет, сохраняющий файлы Macintosh на системе Unix, выбирает свой собственный метод хранения.

Форматы Apple/Unix, которые поддерживает (частично) mkisofs : CAP AUFS format Часть Data хранится в файле. Часть Resource находится в подкаталоге .resource с таким же именем файла, что и Data. Информация поиска finder нахдится в подкаталоге .finderinfo с таким же именем файла. AppleDouble/Netatalk Часть Data хранится в файле. Часть Resource хранится в файле с таким же именем, но с приставкой «%». Информация поиска finder хранится в том же файле «%». Netatalk использует такой же формат, но часть Resource и информация о поиске finder хранится в подкаталоге .AppleDouble с таким же именем, что и ветвь Data. AppleSingle Структура данных похожа на вышеупомянутую, за исключением того, что обе ветви и информация finder хранится в одном файле. Helios EtherShare Часть Data хранится в файле. Часть Resource и информация поиска finder хранятся вместе в подкаталоге .rsrc с таким же именем файла, что и часть Data. IPT UShare Очень похоже на формат EtherShare, но информация поиска finder хранится по другому. MacBinary Обе части и информация поиска finder хранятся в одном файле. Apple PC Exchange Используется Macintoshe для хранения файлов Apple на дисках DOS (FAT). Часть Data хранится в файле. Часть Resource хранится в подкаталоге resource.frk (или RESOURCE.FRK). Информация поиска finder хранится в виде одной записи в файле finder.dat (или FINDER.DAT). Для каждого каталога, хранящего Data, есть свой отдельный файл finder.dat. Примечание: mkisofs должна знать размеры кластера FAT на том диске, где хранятся файлы PC Exchange (или с которого они копируются). Этот размер задается опцией -cluster-size. Размер кластера или распределения можно найти, используя, например, утилиту DOS CHKDSK . Может не работать с файлами PC Exchange v2.2 или выше (доступными с MacOS 8.1). Носители DOS, содержащие файлы PC Exchange должны быть подключены как типа msdos (не vfat !) при использовании в Linux. SGI/XINET Используется компьютерами SGI при подключении дисков HFS. Часть Data хранится в файле. Часть Resource хранится в подкаталоге .HSResource с таким же именем файла. Информация поиска finder хранится как одна запись в файле .HSancillary. Для каждого каталога данных есть свой файл .HSancillary. Thursby Software Systems DAVE Позволяет Macintosh хранить файлы Apple на серверах SMB. Часть Data хранится в файле. Часть Resource хранится в подкаталоге resource.frk. Используется формат AppleDouble для хранения данных Resource. Services for Macintosh Формат файлов сохраняется серверами NT на файловых системах NTFS. Часть Data хранится в виде «имя_файла». Часть Resource хранится как поток NTFS, называемый «имя_файла:AFP_Resource». Информация поиска finder хранится в виде потока NTFS, называемого «имя_файла:Afp_AfpInfo». Эти потоки обычно невидимы для пользователя. Предупреждение: mkisofs только частично поддерживает формат SFM. Если файл или каталог HFS хранится на сервере NT, содержащем некорректные символы NT в его имени, то NT преобразет эти символы в Private Use Unicode. Такими символами являются: » * / ? | а также пробел или точка, если они являются последними символами в имени файла, символы с кодами от 0x01 до 0x1f (управляющие символы) и символ логитипа Apple. К сожалению, эти частные символы уникода не читаются исполняемыми файлами mkisofs на NT. Поэтому любые имена файлов или каталогов, содержащие эти символы, будут проигнорированы = включая и содержимое любого каталога.

Читайте также:  Для чайников как настроить windows

mkisofs попытается установить параметры CREATOR, TYPE, дату и все остальные возможные флаги из информации finder. Дополнительно (если существует) будет определено имя файла Macintosh из информации finder, иначе имя файла Macintosh будет основано на имени файла Unix — смотрите ниже соответствующий раздел ИМЕНА ФАЙЛОВ HFS MACINTOSH.

При использовании опции -apple флаги TYPE и CREATOR хранятся в дополнительном поле System Use (или SUSP) в записи каталога ISO9660 Directory Record — практически в таком же виде, как и атрибуты Rock Ridge. Фактически (для облегчения работы) расширения Apple добавляются в начало существующих атрибутов Rock Ridge (то есть при определении расширений Apple вы определяете и расширения Rock Ridge).

Расширения Apple требуют наличия ветви Resource, хранящейся в ассоциированном с ней файлом формата ISO9660. Это в целом обычный файл в формате файловой системы ISO9660, за исключением того, что в записи каталога Directory Record установлен флаг связанного файла (бит 2). Этот файл имеет такое же имя, что и часть Data (файл, видимый на машинах не-Apple). Ассоциированные файлы обычно игнорируются другими ОС.

При использовании с опцией -hfs флаги TYPE и CREATOR, а также другая информация поиска finder, хранятся в отдельном каталоге HFS, невидимом на томе ISO9660. Каталог HFS имеет данные, ссылающиеся на файлы частей Data и Resource, описанные выше.

Во многих случаях лучше использовать опцию -hfs вместо опции -apple так как последняя разрешает использование в именах файлов ограниченных символов ISO9660. Однако, расширения Apple дают преимущество в виде более эффективной упаковке файлов на диске и при ней на компакт диске можно разместить большее количество файлов — что важно, так как общий размер исходных файлов ограничен до 650(700)Мб.

ИМЕНА ФАЙЛОВ HFS MACINTOSH

Aufs избегает использования таких символов, используя двоеточие «:» с последующим кодом символа в виде двух шестнадцатеричных цифр. Netatalk и EtherShare используют похожую схему, но используют «%» вместо «:».

Если mkisofs не может найти имя файла HFS, то используется имя Unix, с символами %xx или :xx (xx == два шестнадцатеричных разряда), преобразованными в один код символа. Если «xx» не являются шестнадцатеричными разрядами ([0-9a-fA-F]), то они оставляются как есть — хотя все последующие двоеточия «:» преобразуются в «%», так как двоеточие является разделителем каталогов HFS. Тут необходима осторожность, так как простой файл Unix с именем %xx или :xx также будет преобразован. Например:

This:2fFile преобразуется в This/File

This:File преобразуется в This%File

This:t7File преобразуется в This%t7File

Хотя имена файлов HFS вроде бы поддерживают символы в верхнем и нижнем регистре, в целом файловая система является регистронезависимой. Т.е. имена файлов «aBc» и «AbC» эквивалентны. Если в каталоге найден файл с идентичным именем HFS, то mkisofs попытается (где возможно) изменить имя на уникальное — добавлением к имени файла подчеркивания ‘_’.

Если имя файла уже HFS существует, то mkisofs может использовать это имя как начальную точку для имен файлов ISO9660, Joliet и Rock Ridge, используя опцию -mac-name. Обычные файлы Unix без имен HFS все равно будут использовать свои имена Unix. Например:

Если файл MacBinary (или PC Exchange ) хранится с именем someimage.gif.bin на файловой системе Unix, но содержит файл HFS, называемый someimage.gif , то именно это имя появится на HFS-части компакт диска. Однако, так как mkisofs использует имена Unix как начальную точку для имен, то имя файла формата ISO9660 вероятнее всего будет SOMEIMAG.BIN а в формате Joliet/Rock Ridge — someimage.gif.bin . Хотя действительными данными файла (в нашем примере) будет изображение в формате GIF. Эта опция будет использовать имя файла HFS как начальную точку, поэтому имя файла в формате ISO9660 вероятнее всего будет SOMEIMAG.GIF а в Joliet/Rock Ridge — someimage.gif .

Использование опции -mac-name в текущей версии не работает при использовании с опцией -T так как имена Unix будут использовать файл TRANS.TBL, а не имена Macintosh.

Набор символов для преобразования любых имен файлов HFS в имена файлов Joliet/Rock Ridge пол умолчанию установлен в cp10000 (Mac Roman). Набор символов может быть определен, используя опцию -input-hfs-charset. Также встроенными наборами символов HFS являются: cp10006 (MacGreek), cp10007 (MacCyrillic), cp10029 (MacLatin2), cp10079 (MacIcelandandic) и cp10081 (MacTurkish).

Примечание: коды символов, используемые именами файлов HFS, взятые из разных форматов Apple/Unix не будут преобразованы, так как считается, что они уже находятся в корректном наборе символов Apple. Будут преобразованы только имена Joliet/Rock Ridge, полученные из имен файлов HFS.

Существующий код mkisofs отфильтровывает все некорректные символы в именах файлов ISO9660 и Joliet, а так как mkisofs работает напрямую с именами Unix, то он оставляет имена файлов Rock Ridge как есть. Так как символ ‘/’ является корректным символом в именах файлов HFS, то опция -mac-name преобразует ‘/’ в ‘_’ в именах файлов Rock Ridge.

Если используются расширения Apple, то только имена файлов в формате ISO9660 будут видны на Macintosh. Тем не мене, так как драйвера Macintosh ISO9660 могут использовать имена файлов Уровня 2, то вы можете использовать опции типа -allow-multidot без всяких проблем на Macintosh — хотя все еще заботясь о корректности имен. Например, this.file.name будет преобразовано в THIS.FILE — то есть в файл только с одной точкой ‘.’, также имя файла abcdefgh будет видно как ABCDEFGH а имя abcdefghi будет видно как ABCDEFGHI. то есть с одной точкой ‘.’ в конце — причем непонятно, то ли это проблема Macintosh, то ли с mkisofs/mkhybrid. Все имена файлов будут видны в верхнем регистре на Macintosh. Конечно, комьютеры с DOS/Win3.X не смогут видеть имена файлов Уровня 2.

ОПРЕДЕЛЯЕМЫЕ ПИКТОГРАММЫ ТОМА/ПАПКИ HFS

mount -t hfs /dev/fd0 /mnt/floppy

Дискета будет подключена по умолчанию, как файловая система CAP. Затем запустим mkisofs, используя команду типа:

mkisofs —cap -o output source_dir /mnt/floppy

Если вы не используете Linux, то можно использовать hfsutils для копирования файла пиктограммы с дискеты. Однако нужно быть крайне осторожным, так как файл содержит управляющий символ, то есть:

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.

Вероятно, вы захотите спрятать файлв изображений из дерева файлов ISO9660 и Joliet.

Для установки файла пиктограммы для компакт диска Joliet следуйте инструкциям тут: http://www.fadden.com/cdrfaq/faq03.html#4

ДРАЙВЕР ЗАГРУЗКИ HFS

Загрузочный диск HFS требует наличия драйвера Apple CD-ROM (или совместимого), загрузочного раздела HFS и нужных для загрузки файлов System, Finder и т.п.

Драйвер можно получить с любого другого загрузочного компакт диска Macintosh, используя утилиту apple_driver. Этот файл можно использовать потом с опцией -boot-hfs-file.

Раздел HFS (т.е. в нашем случае — гибридный диск) должен содержать корректную папку System Folder, опять же — ее можно взять с другого компакт диска или просто с диска.

Для того, чтобы раздел стал загрузочным, у него должен быть установлен загрузочный блок (boot block). Загрузочный блок — это первые два блока раздела. Для не-загрузочных разделов загрузочные блоки заполнены нулями. Обычно при копировании файла System на раздел на диске Macintosh загрузочные блоки заполняются нужными значениями — к сожалению, я не знаю точной спецификации для загрузочных блоков, так что будем полагать, что заполняются они корректно и правильно.

Также утилита apple_driver извлекает загрузочные блоки из первого раздела HFS, находящегося на заданном компакт диске, и они используется для разделов HFS, создаваемых mkisofs .

ПОЖАЛУЙСТА, УЧТИТЕ! Использование драйвера с компакт дисков Apple и копирование программ Apple на ваш компьютер является нарушением «Лицензионного соглашения о программном обеспечении» с Apple Computer, Inc.

ИНФОРМАЦИОННАЯ ТАБЛИЦА ЗАГРУЗКИ EL TORITO

Формат этой таблицы таков (все целые значения находятся в по разделу 7.3.1 в формате «little endian»):

32-битная контрольная сумма является суммой всех 32 битных слов в файле загрузки, начиная с 64-го байта. Все адреса линейных блоков (linear block address, LBA) заданы в виде секторов компакт диска (обычно это 2048 байтов).

НАСТРОЙКА

mkisofs также может быть настроен во время сборки с уже определенными настройками по умолчанию для многих вышеуказанных опций. Смотрите соответствующий файл defaults.h.

ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ

Для создания образа файловой системы vanilla ISO-9660 в файле cd.iso , где каталог cd_dir будет корневым каталогом компакт диска, исполните:

% mkisofs -o cd.iso cd_dir

Для создания диска с расширениями Rock Ridge с корневым каталогом cd_dir исполните:

% mkisofs -o cd.iso -R cd_dir

Для создания диска с расширениями Rock Ridge с корневым каталогом cd_dir , где все файлы имеют по меньшей мере права на чтения и принадлежат суперпользователю root , исполните:

% mkisofs -o cd.iso -r cd_dir

Для создания гибридного диска HFS с расширениями Joliet и Rock Ridge с корневым каталогом cd_dir исполните:

% mkisofs -o cd.iso -R -J -hfs cd_dir

Для создания гибридного диска HFS из корневого каталога cd_dir , содержащего файлы Netatalk Apple/Unix files:

% mkisofs -o cd.iso —netatalk cd_dir

Для создания гибридного диска HFS из корневого каталога cd_dir , задавая всем файлам значение полей CREATOR и TYPES, основанное на расширениях имен файлов, указанным в файле соответствий «mapping», исполните:

% mkisofs -o cd.iso -map mapping cd_dir

Для создания диска с ‘Apple Extensions to ISO9660’, с корневых каталогов cd_dir и another_dir. Файлы во всех известных форматах Apple/Unix декодированы, а все другие файлы имеют уже определенную информацию CREATOR и TYPE, основанную на их волшебном номере magic number, указанном в файле «magic»:

% mkisofs -o cd.iso -apple -magic magic -probe \

В следующем примере показано, как разместить на компакт диске разные файлы с одним именем README, имеющими разное содержание при просмотре в форматах дисков ISO9660/RockRidge, Joliet или HFS.

Реальное содержимое каталога:

% ls -F
README.hfs README.joliet README.unix cd_dir/

Следующая команда размещает содержимое каталога cd_dir на диске вместе со всеми тремя файлами README — но только один из них будет виден в каждой из трех файловых систем:

% 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.hfs будет виден как файл README на диске HFS, а другие два файла README будут спрятаны. Аналогично — для дисков Joliet и ISO9660/RockRidge.

Вообще возможно наблюдать много разных странностей при чрезмерном использовании комбинаций опций hide .

АВТОРЫ

Eric Youngdale или написал первые версии (1993 . 1998) утилиты mkisofs. Права на старые версии утилиты mkisofs принадлежат Yggdrasil Computing, Incorporated. Joerg Schilling написал библиотеку транспорта SCSI и его адаптацию для mkisofs и новые части утилиты (начиная с 1999), поэтому теперь права укажем так: mkisofs Copyright (C) 1999, 2000, 2001 Joerg Schilling.

HFS hybrid code Copyright (C) James Pearson 1997, 1998, 1999, 2000, 2001
libhfs code Copyright (C) 1996, 1997 Robert Leslie
libfile code Copyright (C) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.

ЗАМЕЧАНИЯ

Mkisofs может быть корректно и безопасно установлено с флагом suid root. Это может потребоваться для разрешения mkisofs чтения предыдущих сессий при создании много-сессионного образа диска.

Если mkisofs создает образ файловой системы с атрибутами Rock Ridge, а глубина каталогов относительно корневого каталога слишком велика для формата ISO-9660, то mkisofs все равно будет создавать более глубокие подкаталоги. Это приведет к созданию каталога RR_MOVED в корневом каталоге компакт диска. Избежать этого невозможно.

НАЙДЕННЫЕ ОШИБКИ

Эта проблема существует при чтении старых сессий при добавлении данных в много-сессионном режиме. * Не совсем корректно считывает перемещенные каталоги в много-сессионном режиме при добавлении данных.

Любой глубокий перемещенный каталог будет утерян для тех новых сессий, не вкючивших в себя какие-либо его изменения.

Повторим: создается первая сессия с перемещением глубокого каталога, затем добавляется новая сессия с одним лишь каталогом, отличающимся от пути старого каталога. * Не использует уже существующий каталог RR_MOVED при создании много-сессионного диска из TRANS.TBL * Не создает запись whole_name для каталога RR_MOVED в режиме много-сессионного диска.

Также могут быть и другие ошибки. Пожалуйста, сообщайте о них автору.

ПРОБЛЕМЫ/ОГРАНИЧЕНИЯ HFS

Хотя имена файлов HFS должны поддерживать нижний и верхний регистры символов, файловая система в целом является регистронезависимой. То есть имена файлов «aBc» и «AbC» являются идентичными. Если в каталоге найден файл с уже существующем именем HFS, то mkisofs попытается там, где это возможно, содать уникальное имя файла добавлением символов подчеркивания ‘_’ в одно из имен.

В имена файлов/каталогов HFS, у которых совпадают первые 31 символ имени, будут подставляться _N’ (N == десятичное число) подстановок для последних нескольких символов для создания уникальных имен.

Тут необходимо помнить об осторожном обращении с добавлениями в структуру (grafting) файлов и каталогов Apple/Unix (смотрите выше методы и синтаксис). Невозможно использовать новое имя для закодированного файла/каталога Apple/Unix. То есть если закодированный файл Apple/Unix с именем «oldname» должен быть добавлен к образу диска, то нельзя использовать команду типа: mkisofs -o output.raw -hfs -graft-points newname=oldname cd_dir

mkisofs не сможет воспринять «oldname». Хотя можно встраивать файлы и каталоги Apple/Unix, пока не будет попыток определить им новое имя так, как указано в примере выше.

При создании тома HFS с много-сессионными опциями, -M и -C , только файлы в последней сессии будут добавлены в том HFS. Т.е. mkisofs не может добавлять существующие файлы из предыдущих сессий в том HFS.

Символьные ссылки (как и все другие нестандартные файлы) не будут добавляться в каталог HFS.

Гибридные тома могут быть больше чистых томов ISO9660, содержащих идентичные данные.

Итоговый гибридный том может быть доступен на машине Unix использованием процедур hfsutils. Хотя никаких изменений с томом нельзя будет сделать, если он создан как заблокированный. Опция -hfs-unlock создает не заблокированный итоговый образ — но все равно никаких изменений его содержания не может быть сделано (только если вы точно не знаете, что делаете), так как фактически это «не настоящий» том HFS.

Использование опции -mac-name пока не работает вместе с опцией -T — будут использоваться имена Unix из файла TRANS.TBL, а не имена Macintosh.

Хотя mkisofs не изменяет содержимого файла, но если бинарный файл имеет установленный атрибут TYPE как ‘TEXT’, то он может быть некорректно считываться на Macintosh. Поэтому лучшим выбором для определения значения TYPE по умолчанию будет ‘. ‘

Опция -mac-boot-file вообще может не работать.

Может не работать с файлами PC Exchange v2.2 или выше (доступно начинания с MacOS 8.1). Носители DOS, содержащие файлы PC Exchange должны быть подключены с типом msdos (а не vfat !) при использовании на Linux.

Формат SFM поддерживается только частично — смотрите раздел ФОРМАТЫ ФАЙЛОВ HFS ДЛЯ MACINTOSH.

Невозможно использовать опции -sparc-boot или -generic-boot вместе с опциями -boot-hfs-file или -prep-boot .

СМ. ТАКЖЕ


ПЛАНИРУЕМЫЕ УЛУЧШЕНИЯ


ДОСТУПНОСТЬ

mkzftree можно получить, как компонент пакета zisofs-tools с адреса: ftp://ftp.kernel.org/pub/linux/utils/fs/zisofs/

СПИСКИ РАССЫЛКИ


ОТВЕТСТВЕННЫЙ ЗА ПОДДЕРЖКУ


ОТВЕТСТВЕННЫЙ ЗА ПОДДЕРЖКУ HFS MKHYBRID

Если у вас есть вопросы по поддержке — то отправляйте их на:

Если вы нашли серьезную ошибку в программе, то отправьте сообщение на адрес:

Для подписки на список рассылки, используйте эти адреса:

Источник

Оцените статью