MKISOFS
Секция 8: Команды администратора ОС Linux
НАЗВАНИЕ
mkisofs - Создает файловую систему ISO9660.
СИНТАКСИС
mkisofs
[
-absrac
FILE
]
[
-allow-lowercase
]
[
-allow-mulido
]
[
-biblio
FILE
]
[
-b
elorio_boo_image
]
[
-elorio-al-boo
]
[
-B
sparc_boo_image_lis
]
[
-G
generic_boo_image
]
[
-gui
]
[
-C
#,#
]
[
-hard-disk-boo
]
[
-no-emul-boo
]
[
-no-boo
]
[
-boo-load-seg
]
[
-boo-load-size
]
[
-boo-info-able
]
[
-c
boo_caalog
]
[
-check-oldnames
]
[
-copyrigh
FILE
]
[
-A
applicaion_id
]
[
-f
]
[
-d
]
[
-D
]
[
-hide
glob
]
[
-hide-lis
file
]
[
-hidden
glob
]
[
-hidden-lis
file
]
[
-hide-jolie
glob
]
[
-hide-jolie-lis
file
]
[
-hide-jolie-rans-bl
]
[
-hide-rr-moved
]
[
-iso-level
level
]
[
-J
]
[
-jcharse
charse
]
[
-l
]
[
-L
]
[
-log-file
log_file
]
[
-max-iso9660-filenames
]
[
-M
pah | device
]
[
-nobak
]
[
-no-bak
]
[
-no-spli-symlink-componens
]
[
-no-spli-symlink-fields
]
[
-pad
]
[
-pah-lis
file
]
[
-p
preparer
]
[
-prin-size
]
[
-P
publisher
]
[
-quie
]
[
-r
]
[
-R
]
[
-relaxed-filenames
]
[
-sor
sor file
]
[
-sysid
ID
]
[
-T
|
-able-name
TABLE_NAME
]
[
-ucs-level
level
]
[
-use-fileversion
]
[
-U
]
[
-no-iso-ranslae
]
[
-v
]
[
-V
volid
]
[
-volse
ID
]
[
-volse-size
#
]
[
-volse-seqno
#
]
[
-x
pah
]
[
-exclude-lis
file
]
[
-z
]
[
-m
glob
]
[
-hfs
|
-apple
]
[
-map
mapping_file
]
[
-magic
magic_file
]
[
-probe
]
[
-no-deskop
]
[
-mac-name
]
[
-boo-hfs-file
driver_file
[
-par
]
[
-auo
AuoSar_file
]
[
-cluser-size
size
]
[
-hide-hfs
glob
]
[
-hide-hfs-lis
file
]
[
-hfs-volid
hfs_volid
]
[
-icon-posiion
]
[
-roo-info
FILE
[
-prep-boo
FILE
]
[
-hfs-creaor
CREATOR
]
[
-hfs-ype
TYPE
]
[
--cap
]
[
--neaalk
]
[
--double
]
[
--ehershare
]
[
--ushare
]
[
--exchange
]
[
--sgi
]
[
--xine
]
[
--macbin
]
[
--single
]
[
--dave
]
[
--sfm
]
-o
filename
pahspec [pahspec]
ОПИСАНИЕ
mkisofs - это эффективная премастеринг-программа для создания гибридной файловой системы ISO9660/JOLIET/HFS.
mkisofs способна создавать записи
Sysem Use Sharing Proocol (SUSP), определенные
протоколом обмена информацией
Rock Ridge Inerchange Proocol.
Они используются для дальнейшего описания файлов в файловой системе iso9660 для хоста unix и предоставляют такую информацию, как длинные имена файлов, uid/gid, права доступа posix, символьные ссылки, блочные и символьные устройства.
Если определены опции гибридных командных строк Jolie или HFS ,
mkisofs создаст дополнительные метаданные файловой системы для Jolie или HFS. Содержимое файла в этом случае обратится к тем же блокам данных на носителях, что создаст чистую файловую систему ISO9660, если не заданы опции гибридных командных строк Jolie или HFS.
mkisofs может создать
истинную
(или
общую)
гибридную файловую систему HFS. Те же файлы будут представлены как HFS-файлы при входе с Macinosh, и как ISO9660-файлы при входе с других машин. HFS замещает
иерархическую файловую систему и является собственной файловой системой в компьютерах Macinosh.
В качестве альтернативы
mkisofs может создать
Apple Exensions o ISO9660 (расширения Apple для ISO9660) для каждого файла. Эти расширения обеспечивают каждый файл CREATOR, TYPE и некоторыми флагами-определителями при входе с Macinosh. См. раздел
ФОРМАТЫ ФАЙЛОВ HFS MACINTOSH ниже.
mkisofs берет snapsho из заданного дерева каталога и создает двоичный образ, который будет передан в файловую систему ISO9660 или HFS после записи в блочное устройство.
Каждый файл, записанный в файловую систему iso9660, должен иметь имя в формате 8.3 (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-опции,
mkisofs попытается распознать файлы, хранящиеся в наборе форматов файлов Apple/Unix, и скопирует ветви данных daa и ресурсов resource, как и любое подходящее средства поиска информации finder info. Подробнее о форматах, которые поддерживаются mkisofs - в разделе
ФОРМАТЫ ФАЙЛОВ HFS MACINTOSH ниже.
Заметим, что
mkisofs не создана для связи напрямую с устройством записи. Большинство устройств записи имеют частные наборы команд, которые различаются у разработчиков, поэтому требуется специальный инструмент для программирования физического диска.
Утилита
cdrecord способна программировать физический диск.
Также заметим, что большинство устройств записи компакт-дисков очень "щепетильно" относится к синхронизации. Если начато программирование диска, их буфера нельзя оставлять пустыми до окончания программирования, иначе это приведет к разрушению диска. Так, критическую ситуацию вызовет передача непрерывного потока данных на устройство записи во время записи диска.
pahspec - это путь дерева каталога, который должен быть скопирован в файловую систему iso9660. Может быть определено несколько путей, и
mkisofs объединит файлы, найденные во всех компонентах этих путей, в форму содержимого диска cdrom.
Если определена опция
-graf-poins, возможно прикрепить пути к точкам вне каталога roo, а файлы или каталоги - к содержимому диска cdrom с теми же именами, что и в исходной файловой системе. Проще всего проиллюстрировать это следующими примерами. Предположим, что существует локальный файл ../old.lis exiss, который необходимо включить в содержимое диска cdrom.
foo/bar/=../old.lis
включит файл old.lis в содержимое cdrom в /foo/bar/old.lis, а
foo/bar/xxx=../old.lis
включит его в содержимое cdrom в /foo/bar/xxx. Тот же синтаксис можно использовать и для каталогов.
mkisofs
будет создавать любые каталоги таким образом, чтобы в содержимом диска cdrom существовали точки приращения - каталоги не должны появляться ни в одном из путей. Любые каталоги, созданные "на лету", будут иметь права доступа 0555, и их владельцем станет пользователь, запустивший mkisofs. Если требуются другие права доступа или владельцы промежуточных каталогов, проще всего создать настоящие каталоги в пути так, как их не смогла бы создать mkisofs.
mkisofs
также будет работать на машинах Win9X/NT4 при компиляции с Cygnus cygwin
Поэтому большинство ссылок на этой странице к Unix может быть заменено Win32.
ОПЦИИ
- -absrac FILE
- Определить абстрактное имя файла. Этот параметр также может быть установлен в файл
.mkisofsrc с ABST=filename. Если он определен и там, и там, используется версия командной строки.
- -A applicaion_id
- Определить строку текста, которая будет записана в заголовок тома. Это описание приложения, которое должно быть на диске. На нем есть пространство для 128 символов. Данный параметр также может быть установлен в файл
.mkisofsrc с APPI=id. Если он определен и там, и там, используется версия командной строки.
- -allow-lowercase
- Опция позволяет символам в нижнем регистре появляться в именах файлов iso9660.
Это нарушает стандарт ISO9660, но работает на некоторых системах. Использовать осторожно.
- -allow-mulido
- Опция позволяет нескольким точкам появлятся в именах файлов iso9660. Она не влияет на первую точку - для этого можно использовать опцию
-L.
Это нарушает стандарт ISO9660, но работает на некоторых системах. Использовать осторожно.
- -biblio FILE
- Определить библиографическое имя файла. Этот параметр также может быть установлен в файл
.mkisofsrc с BIBLO=filename. Если он определен и там, и там, используется версия командной строки.
- -b elorio_boo_image
- Определить путь и имя файла загрузочного модуля, которые будут использоваться при создании самозагружаемого компакт-диска &quo;El Torio&quo;. Путь должен быть сходен с исходным путем, определенным для
mkisofs.
Эта опция должна создать самозагружаемый компакт-диск &quo;El Torio&quo;. Загрузочный модуль должен полностью заполнять дискету размером 1.2, 1.44 или 2.88 МБ, а
mkisofs использует этот размер при создании выхода файловой системы iso9660. Подразумевается, что первые 512 байт сектора должны читаться из загрузочного модуля (это эмулирует нормальный дисковод для дискет). Подобное будет происходить если, например, загрузочный модуль является загрузочной дискетой, использующей LILO.
- -elorio-al-boo
- Начать с новой установки параметров загрузки &quo;El Torio&quo;. Это позволит иметь более одной загрузки El Torio на компакт-диске. На одном компакт-диск может быть максимум 63 записи El Torio.
- -B img_sun4,img_sun4c,img_sun4m,img_sun4d,img_sun4e
- Определить разделенный запятыми список загрузочных модулей, необходимый для создания самозагружаемого компакт-диска для систем sparc. В списке могут быть пустые поля. Эта опция требуется для создания самозагружаемого компакт-диска для sparc-систем Sun.
Если определена опция
-B
или
-sparc-boo, первый сектор полученного в результате загрузочного модуля будет содержать метку диска Sun. Эта метка определяет сектор 0 для загрузочного модуля iso9660 и сектор 1 ... сектор 7 для модулей начальной загрузки, определяемых этой опцией. Смещение байтов 512...8191 внутри каждого из вспомогательных модулей начальной загрузки должно содержать основную загрузку, которая работает для соответствующей архитектуры sparc. Остальные модули обычно содержат файловую систему ufs, которая используется в основном в стадии загрузки ядра.
Разработанный метод начальной загрузки - это метод, найденный с помощью SunOS 4.x и SunOS 5.x. Однако он зависит не от внутренней организации SunOS, а только от свойств ППЗУ Open Boo. Поэтому он должен работать на любой операционной системе, загружающей систему sparc.
Если используется специальное имя файла
..., текущий и все последующие загрузочные разделы отображаются в предыдущем разделе. Если
mkisofs вызывается с помощью
-G image -B ..., все загрузочные разделы отображаются в разделе, содержащем модуль начальной загрузки файловой системы iso9660, и для всех архитектур используется типовой модуль начальной загрузки, размещенный в первых 16 секторах диска.
- -G generic_boo_image
- Определить путь и файловое имя типового модуля начальной загрузки для использования при создании типового самозагружаемого компакт-диска.
Модуль
generic_boo_image будет помещен в первые 16 секторов компакт-диска. Эти сектора расположены перед дескриптором основного тома iso9660. Если использовать эту опцию вместе с опцией
-sparc-boo, метка диска Sun будет перекрывать первые 512 байт типового модуля начальной загрузки.
- -hard-disk-boo
- Определить, что модуль начальной загрузки должен использоваться для создания самозагружаемых компакт-дисков &quo;El Torio&quo; как загрузочный модуль жесткого диска. Модуль жесткого диска должен начинаться с головной записи загрузки, содержащей один раздел.
- -no-emul-boo
- Определить, что модуль начальной загрузки должен использоваться для создания самозагружаемых компакт-дисков &quo;El Torio&quo; как загрузочный модуль "без эмуляции" ('no emulaion'). Система будет загружаться и выполнять этот модуль, не производя эмуляцию диска.
- -no-boo
- Определить, что созданный компакт-диск &quo;El Torio&quo; должен быть помечен как незагружаемый. Система создаст для загрузочного модуля эмулируемый диск, но будет загружать стандартное загрузочное устройство.
- -boo-load-seg segmen_address
- Определить адрес сегмента загрузки соответствующего модуля для компакт-дисков
&quo;El Torio&quo; без эмуляции.
- -boo-load-size load_secors
- Определить количество &quo;виртуальных&quo; (512-байтных) секторов, которые должны быть загружены в режиме "без эмуляции". По умолчанию загружается весь загрузочный файл. В некоторых
BIOS могут возникать проблемы, если он не кратен 4.
- -boo-info-able
- Определить, что 56-байтная таблица с информацией о размещении CD-ROM будет вставлена в смещение 8 в загрузочном файле. Когда опция задана, загрузочный файл изменяется в исходной файловой системе, поэтому следует сделать копию, если этот файл не может быть легко восстановлен. Описание таблицы дано в разделе
ИНФОРМАЦИЯ О ЗАГРУЗКЕ EL TORITO.
- -C las_sess_sar,nex_sess_sar
- Эта опция требуется, когда
mkisofs используется для создания загрузочного модуля второго сеанса или сеанса более высокого уровня для многосеансового диска.
Опция
-C принимает пару чисел, разделенных запятой. Первое число - это номер
первого сектора в последнем сеансе диска, к которому он должен быть приобщен. Второе число - это номер стартового сектора нового сеанса. Ожидаемая пара номеров может быть найдена по вызову
cdrecord -msinfo ... Опция
-C может использоваться только вместе с опцией
-M.
- -c boo_caalog
- Определить путь и имя файла загрузочного каталога, который будет использоваться при создании самозагружаемого компакт-диска &quo;El Torio&quo;. Имя пути должно быть связано с исходным путем, определенным к
mkisofs.
Эта опция необходима для создания самозагружаемого компакт-диска. Файл будет вставлен в выходное дерево без создания в исходной файловой системе, поэтому необходимо убедиться, что заданное файловое имя не противоречит существующему файлу, иначе оно будет исключено. Обычно выбирается имя типа &quo;boo.caalog&quo;.
- -check-oldnames
- Проверить все файловые имена, импортированные из предыдущего сеанса, на согласование с действующими mkisofs
правилами номинации файлов iso9660. Если такой опции не существует, проверяются только имена длиной более 31, если эти файлы противоречат стандарту iso9660.
- -copyrigh FILE
- Определить файловое имя-копирайт. Этот параметр также может быть установлен в файл
.mkisofsrc со значением COPY=filename. Если он задан и там, и там, используется версия командной строки.
- -d
- Опустить конечный период в файлах без периода.
Это противоречит стандарту ISO9660, но может работать на многих системах. Использовать осторожно.
- -D
- Не использовать глубинное перемещение каталогов - вместо этого упаковывать их в том виде, в котором они отображаются.
Это противоречит стандарту ISO9660, но может работать на многих системах. Использовать осторожно.
- -f
- Следовать за символьными ссылками при создании файловой системы. Когда опция не используется, в символьные ссылки можно войти с помощью Rock Ridge, если они отключены, в противном случае файл будет проигнорирован.
- -gui
- Подключить поведение для GUI. Это позволит сделать выводные данные более полными.
- -graf-poins
- Позволить использование точки приращения для имен файлов. Если опция используется, то все имена файлов проверяются на наличие точек приращения. Имя разделяется в первом непереключенном знаке равенства. Все местонахождения символов '\\' и '=' должны быть переключаемы с помощью '\\', если определена опция
-graf-poins.
- -hide glob
- Скрыть
glob в каталогах ISO9660 или Rock Ridge.
glob - это командный шаблон универсального типа, который должен согласовываться с любой частью файлового имени или пути. Могут быть скрыты и несколько глобов.
Если
glob совпадает с каталогом, то содержимое каталога будет скрыто. Все скрытые файлы по-прежнему будут записываться на выход загрузочного файла компакт-диска. Эту опцию следует использовать с опцией
-hide-jolie
- -hide-lis file
- Файл, содержащий список глобов, скрытых, как сказано выше.
- -hidden glob
- Добавить скрытый (существующий) атрибут каталога ISO9660 для
glob.
Этот атрибут предотвратит
glob от занесения в список на системах, использующий DOS, если для листинга не используется флаг /A.
glob - это командный шаблон универсального типа, который должен согласовываться с любой частью файлового имени или пути. Могут быть скрыты и несколько глобов.
- -hidden-lis file
- Файл, содержащий список глобов, которые должны быть скрыты, как сказано выше.
- -hide-jolie glob
-
Скрыть
glob в каталоге Jolie.
glob - это командный шаблон универсального типа, который должен согласовываться с любой частью файлового имени или пути. Могут быть скрыты и несколько глобов.
Если
glob совпадает с каталогом, то содержимое каталога будет скрыто. Все скрытые файлы по-прежнему будут записываться на выход загрузочного файла компакт-диска. Эту опцию следует использовать с опцией
-hide.
- -hide-jolie-lis file
-
- Файл, содержащий список глобов, которые должны быть скрыты, как сказано выше.
- -hide-jolie-rans-bl
- Скрыть файлы
TRANS.TBL в дереве Jolie. Обычно эти файлы не имеют значения для Jolie, если они содержат реальное имя и имя ISO9660, которые могут отличаться от имени
Jolie.
- -hide-rr-moved
- Переименовать каталог
RR_MOVED
в
.rr_moved в дереве Rock Ridge. Полностью скрыть каталог
RR_MOVED из дерева Rock Ridge невозможно. Эта опция делает видимое дерево более доступным для тех, кто не понимает, для чего предназначен данный каталог. Если каталог
RR_MOVED не нужен, следует использовать опцию
-D. Заметим, что если определена опция
-D, конечная файловая система будет несовместима с уровнем 1 ISO9660 и нечитаема в MS-DOS.
- -l
- Разрешить файловые имена величиной в 31 символ. Имена ISO9660 будут в формате 8.3, совместимом с MS-DOS, даже если стандарт ISO9660 допускает имена до 31 символа. При применении этой опции могут возникнуть трудности с использованием диска на системе MS-DOS, но он может работать на других системах (например, Amiga). Использовать осторожно.
- -iso-level level
- Установить уровень согласованности iso9660. Допустимые уровни: 1...3.
На уровне 1 файлы могут состоять из одной секции и имен файлов, ограниченных 8.3 символами.
На уровне 2 файлы могут состоять из одной секции.
На уровне 3 ограничений нет.
На уровнях iso9660 все имена файлов должны быть в нижнем регистре, могут содержать цифры и подчеркивания (_). Максимальная длина имени ограничена 31 символом, уровень вложенных каталогов ограничен 8, а максимальная длина пути не может превышать 255 символов.
- -J
- Создать записи каталога Jolie дополнительно к регулярным именам файлов iso9660. Это особенно необходимо в тех случаях, когда диски будут использоваться на машинах Windows-NT или Windows-95. Имена файлов Jolie задаются в Unicode, и каждый компонент пути может достигать 64 символов Unicode.
- -jcharse charse
- Локальный набор символов, который будет использоваться для преобразования локальных имен файлов в записи каталога
Jolie Unicode. Для получения списка допустимых имен наборов символов нужно вызвать
mkisofs -jcharse help. Чтобы получить изображение 1:1, в качестве имени можно использовать
defaul (значение по умолчанию). Начальные значения по умолчанию - это
cp437 на DOS-системах и
iso8859-1 - на всех остальных. Если определена опция
-jcharse, подразумевается опция
-J.
- -L
- Разрешить именам файлов ISO9660 начинаться с периода. Обычно точка в начале заменяется подчеркиванием для совместимости с MS-DOS.
Это противоречит стандарту ISO9660, но может работать на многих системах. Использовать осторожно.
- -log-file log_file
- Переадресовать все информационные сообщения, сообщения об ошибках и предупреждения в
log_file вместо стандартной ошибки.
- -m glob
- Исключить запись
glob на CDROM.
glob - это командный шаблон универсального типа, который должен согласовываться с любой частью файлового имени или пути (но не как с опцией
-x). Технически
glob не согласуется с частью
d-&g;d_name записи каталога. Могут быть скрыты и несколько глобов.
Пример:
mkisofs -o rom -m '*.o' -m core -m foobar
может исключить все файлы, оканчивающиеся &quo;.o&quo;, вызвав &quo;core&quo; или &quo;foobar&quo; для копирования их на CDROM. Заметим, что если присутствует каталог &quo;foobar&quo;, он также будет исключен вместе с содержимым.
ПРИМЕЧАНИЕ: Должно быть обновлено описание опций -m и -x, так как оно неверно. Сейчас они идентичны и используют подстановку имени файла. Файл исключается, если согласуется либо последний компонент, либо весь путь.
- -exclude-lis file
- Файл, содержащий список глобов, должен быть исключен, как показано выше.
- -max-iso9660-filenames
- Разрешить 37 символов в именах файлов iso9660.
Эта опция принудительно вызывает опцию
-N, если лишнее пространство для имени берется из пространства, зарезервированного для номеров версий
ISO-9660.
Это противоречит стандарту ISO9660, но может работать на многих системах. Хотя согласуемое приложение нуждается в обеспечении пространства буфера как минимум 37 символами, диски, созданные с помощью этой опции, могут вызвать переполнение буфера в считывающей операционной системе. Использовать крайне осторожно.
- -M pah
-
или
- -M device
- Определить путь для объединения существующих загрузочных модулей iso9660. Альтернативная форма берет спецификатор устройства SCSI, который использует тот же синтаксис, что и параметр
dev= из
cdrecord.
На выходе
mkisofs будет новый сеанс, который должен быть записан в конец загрузочного модуля, определенного в -M. Как правило, это требует возможности нескольких сеансов для регистратора и драйвера cdrom, куда будет записываться этот модуль. Опция может использоваться только в конъюнкции с опцией
-C.
- -N
- Опустить номера версий из имен файлов ISO9660.
Это противоречит стандарту ISO9660, но номера версий никто не использует. Применять осторожно.
- -nobak
-
- -no-bak
- Не включать резервные копии файлов в файловую систему iso9660.
Если определена опция
-no-bak, не будут включаться файлы, содержащие символы '~' или '#' или оканчивающиеся на '.bak' (для редакторов под unix это типичные резервные копии файлов).
- -no-rr
- Не использовать атрибуты Rock Ridge из предыдущих сеансов. Это поможет избежать проблем в том случае, если
mkisofs найдет нелегальные сигнатуры Rock Ridge в старом сеансе.
- -no-spli-symlink-componens
- Не разбивать компоненты SL - вместо этого начать новую область продолжения Coninuaion Area (CE). Из-за этого может пропасть часть пространства, но в cdrom-драйвере SunOS 4.1.4 есть ошибка в считывании разделенных компонентов SL (link_size = componen_size вместо link_size += componen_size).
- -no-spli-symlink-fields
- Не разбивать поля SL - вместо этого начать новую область продолжения Coninuaion Area (CE). Из-за этого может пропасть часть пространства, но в cdrom-драйверах SunOS 4.1.4 и Solaris 2.5.1 есть ошибки в считываении разделенных полей SL (может быть отброшена `/').
- -o filename
- - это имя файла, в который должен быть записан загрузочный модуль файловой системы iso9660. Это может быть дисковый файл, ленточный накопитель, или имя файла передается непосредственно в имя записывающего устройства оптического диска. Заметим, что выходом также может быть специальное блоковое устройство для регулярного дисковода, и в этом случае можно подсоединить раздел диска и проверить его, чтобы убедиться, что премастеринг был проведен успешно.
- -pad
- Заполнить конец ISO9660 16-ю секторами (32 Кб). Если полный размер не состоит из 16 секторов, то требуется добавить несколько секторов. Когда используется опция
-B, происходит заполнение концов разделов начальной загрузки.
Заполнение необходимо, так как многие операционные системы (например, Linux) создают неполадки в опережающем чтении в своих вводах-выводах файловой системы. Эти неполадки вызывают ошибки в чтении одного или нескольких файлов, размещенных в конце дорожки. Как правило, они возникают, если компакт-диск записан в режиме Track a Once или как смешанный, где за аудиодорожкой идет дорожка данных.
- -pah-lis file
- Файл, содержащий список каталогов и файловых имен pahspec, которые должны быть добавлены в файловую систему ISO9660. Этот список
обрабатывается после любых данных, появившихся в командной строке. Если введен аргумент
-, то список читается из стандартного входа. В командной строке должен быть задан как минимум один
pahspec.
- -P publisher_id
- Определить текстовую строку, которая будет записана в заголовок тома. Она должна описывать издателя CDROM, включая почтовый адрес и телефон. Для этой информации на диске существует пространство в 128 символов. Этот параметр также может быть установлен в файл
.mkisofsrc с PUBL=. Если он определен и там, и там, используется версия командной строки.
- -p preparer_id
- Определить текстовую строку, которая будет записана в заголовок тома. Она должна описывать издателя CDROM, включая почтовый адрес и телефон. Для этой информации на диске существует пространство в 128 символов. Этот параметр также может быть установлен в файл
.mkisofsrc с PREP=. Если он определен и там, и там, используется версия командной строки.
- -prin-size
- Выдать предполагаемый размер файловой системы и выйти. Эта опция необходима для режима
Disk A Once и ряда дисков CD-R при конвейерной пересылке непосредственно в
cdrecord.
В этом случае требуется знать размер файловой системы до фактического создания компакт-диска. Опция -prin-size позволяет получить этот размер из &quo;dry-run&quo; до того, как будет записан компакт-диск.
- -quie
- Делает
mkisofs менее подробным. Данные о ходе выполнения выдаваться не будут.
- -R
- Создать записи SUSP и RR, используя протокол Rock Ridge для последующего описания файлов в файловой системе iso9660.
- -r
- Это напоминает опцию -R, но принадлежность файла и режимы установлены на более действенные значения. Идентификаторы uid и gid установлены в ноль, так как они обычно необходимы только в авторской системе и не нужны клиенту. Биты чтения файла установлены в rue, поэтому файлы и каталоги глобально читаемы на клиенте. Если для файла установлен какой-либо бит выполнения, следует установить все биты выполнения, чтобы программы стали глобально выполнимыми на клиенте. Если для каталога установлен какой-либо бит поиска, следует установить все биты поиска, чтобы каталоги были доступны для поиска на клиенте. Все биты записи очищены, так как CD-Rom в любом случае будет установлен только для чтения. Если установлены какие-либо биты специального режима, их следует очистить, так как в файловой системе только для чтения блокировки файлов бесполезны, а биты установки идентификаторов нежелательны для uid 0 или gid 0. При использовании в Win32 бит выполнения устанавливается на
все файлы. Это результат недостатка файловых полномочий в Win32 и уровня эмуляции Cygwin POSIX.
- -relaxed-filenames
- Опция
-relaxed-filenames позволяет файловым именам ISO9660 включать цифры, символы в верхнем регистре и все остальные 7-битные символы ASCII (кроме символов в нижнем регистре).
Это противоречит стандарту ISO9660, но может работать на многих системах. Использовать осторожно.
- -sor sor file
- Отсортировать размещения файлов на носителях. Сортировка управляется файлом, содержащим пары имен файлов и сортировку весовых коэффициентов смещения. Если коэффициент высок, файл будет размещен ближе к началу носителя, а если низок, то он будет размещен ближе к концу. Между именем файла и весом может быть только один пробел или символ табуляции, и вес должен стоять последним в строке. Имя файла включает любые символы, кроме последнего пробела или табуляции в строке. Это позволит включить символы пробелов в имя файла. Подробнее см. README.sor.
- -sysid ID
- Определить системный идентификатор. Параметр также может быть установлен в файл
.mkisofsrc с SYSI=sysem_id. Если он определен и там, и там, используется версия командной строки.
- -T
- Создать файл TRANS.TBL в каждом каталоге на CDROM, который может использоваться на восприимчивых системах (не Rock Ridge) для присвоения корректных имен файлов. Также в файле существует информация, отображающая максимальные и минимальные номера блоков и символьных устройств, и каждой символьной ссылке дано имя файлом ссылки.
- -able-name TABLE_NAME
- Файловое имя альтернативной таблицы преобразований (см. выше). Подразумевает опцию
-T. При создании многосеансового загрузочного модуля необходимо использовать то же имя, что и в предыдущем сеансе.
- -ucs-level level
- Установить уровень соответствия Unicode в Jolie SVD. По умолчанию, уровень соответствия равен 3. С помощью этой опции он может быть установлен от 1 до 3.
- -use-fileversion
- Опция
-use-fileversion позволяет mkisofs использовать номера версий файлов из файловой системы. Если опция не определена,
mkisofs создаст версию 1 для всех файлов. Версии файлов - это строки в диапазоне от
;1 до
;32767
Эта опция установлена по умолчанию на VMS.
- -U
- Разрешить файловые имена &quo;Unranslaed&quo; (непреобразованные), что полностью противоречит стандарту iso9660, описанному выше. Действует на флаги -d, -l, -L, -N, -relaxed-filenames,
-allow-lowercase, -allow-mulido и -no-iso-ranslae. Разрешает использовать более одного символа '.' в имени файла, а также имена в смешанном регистре. Это можно применять на системе HP-UX, где встроенные файловые системы CDFS не распознают расширения ANY. Использовать крайне осторожно.
- -no-iso-ranslae
- Не преобразовывать символы '#' и '~', запрещенные в именах файлов iso9660. Эти символы часто используются в системах Microsof.
Это противоречит стандарту ISO9660, но может работать на многих системах. Использовать осторожно.
- -V volid
- Определить идентификатор тома (имя или метку тома), который должен быть записан в главный блок. Этот параметр также может быть установлен в файл
.mkisofsrc с VOLI=id. Если он определен и там, и там, используется версия командной строки. Заметим, что если тому назначен идентификатор, то он будет именем, которое станет точкой монтировки, используемой системой управления томами Solaris, и именем, назначенным диску на платформе Windows или Mac.
- -volse ID
- Определить идентификатор набора томов.
Этот параметр также может быть установлен в файл
.mkisofsrc с VOLS=volse_id. Если он определен и там, и там, используется версия командной строки.
- -volse-size #
- Установить размер набора томов в #. Размер - это количество компакт-дисков в наборе. Опция
-volse-size может использоваться для создания компакт-дисков, которые являются частью так называемого Operaion Sysem insallaion se of CD's
(набора компакт-дисков для инсталляции операционной системы). Опция
-volse-size должна быть определена до
-volse-seqno в каждой командной строке.
- -volse-seqno #
- Установить последовательность томов в наборе в #. Последовательность - это порядковый номер компакт-диска в наборе. Опция
-volse-size должна быть определена до
-volse-seqno в каждой командной строке.
- -v
- Выполнение в полном объеме. Если задано дважды в командной строке, будет дополнительно выдана информация об отладке.
- -x pah
- Исключить
pah из записи на CDROM.
pah (путь) - это полное имя пути, которое следует из связывания имени пути, данное как аргумент командной строки, и пути к каталогу. Могут исключаться также множественные пути.
Пример:
mkisofs -o cd -x /local/dir1 -x /local/dir2 /local
ПРИМЕЧАНИЕ: Должно быть обновлено описание опций -m и -x, так как оно неверно. Сейчас они идентичны и используют подстановку имени файла. Файл исключается, если согласуется либо последний компонент, либо весь путь.
- -z
- Создать специальные записи SUSP для прозрачно сжатых файлов. Это необходимо только для хостов, которые поддерживают прозрачную декомпрессию. Пока таких хостов не существует, и опция введена как экспериментальная, но ее могут использовать ALPHA-корректировки для Linux.
ОПЦИИ HFS
- -hfs
- Создать гибридный ISO9660/HFS компакт-диск. Эта опция должна использоваться совместно с
-map и/или различными опциями
с двойным тире, приведенными ниже.
- -apple
- Создать компакт-диск ISO9660 с расширениями Apple. Близко к опции
-hfs, за исключением того, что вместо создания гибридного тома HFS расширения Apple добавляются к ISO9660.
- -map mapping_file
- Использовать
mapping_file для установки информации CREATOR (создатель) и TYPE (тип) для файла, основанного на расширении файлового имени. Имя отображается только в том случае, если не является одним из известных форматов файлов Apple/Unix. См. раздел
HFS CREATOR/TYPE ниже.
- -magic magic_file
- Информация CREATOR и TYPE устанавливается при помощи
магического числа файла (обычно это несколько первых байт).
magic_file используется только в том случае, если не является одним из известных форматов файлов Apple/Unix, или расширение файлового имени не отображается при помощи опции
-map. Подробнее см. раздел
HFS CREATOR/TYPE ниже.
- -hfs-creaor CREATOR
- Установить по умолчанию CREATOR для всех файлов. Должен содержать точно 4 символа. Подробнее см. раздел
HFS CREATOR/TYPE ниже.
- -hfs-ype TYPE
- Установить по умолчанию TYPE для всех файлов. Должен содержать точно 4 символа. Подробнее см. раздел
HFS CREATOR/TYPE ниже.
- -hfs-ype TYPE
- -probe
- Искать содержимое файлов для всех известных форматов Apple/Unix. Подробнее об этих форматах см. раздел
ФОРМАТ ФАЙЛОВ HFS MACINTOSH ниже.
Однако единственный способ проверить файлы
MacBinary и
AppleSingle - это открыть и прочитать их. В то же время, опция
может увеличить время обработки. Лучше использовать одну или несколько опций
с двойным тире (ниже), если используются известные форматы Apple/Unix.
- -no-deskop
- Не создавать (пустые) файлы рабочего стола. Новые файлы рабочего стола HFS будут созданы при использовании компакт-диска на Macinosh (и хранения его в системной папке). По умолчанию, пустые файлы рабочего стола добавляются в том HFS.
- -mac-name
- Использовать имя файла HFS как исходную точку для файловых имен ISO9660, Jolie и Rock Ridge. Подробнее см. раздел
ИМЕНА ФАЙЛОВ HFS MACINTOSH ниже.
- -boo-hfs-file driver_file
- Инсталлировать
driver_file, который
может сделать компакт-диск самозагружаемым на Macinosh. См. раздел
ЗАГРУЗОЧНЫЙ ДРАЙВЕР HFS
ниже (Alpha).
- -par
- Сформировать таблицу разделов HFS. По умолчанию она не создается, но ряду старых версий CDROM-драйверов Macinosh требуется таблица разделов HFS на CDROM для распознавания гибридного CDROM.
- -auo AuoSar_file
- Заставить компакт-диск HFS использовать возможность автозапуска QuickTime 2.0 для запуска приложения или документа. Заданное файловое имя должно быть именем документа или приложения, размещенного на верхнем уровне компакт-диска, и не должно быть менее 12 символов (Alpha).
- -cluser-size size
- Установить в байтах размер кластера или единиц распределения файлов PC Exchange. Предполагает опцию
--exchange. См. раздел
ФОРМАТЫ ФАЙЛОВ HFS MACINTOSH ниже.
- -hide-hfs glob
- Скрыть
glob из тома HFS. Файл или каталог по-прежнему будет существовать в каталоге
ISO9660 и/или Jolie.
glob - это командный шаблон универсального типа, который должен согласовываться с любой частью файлового имени или пути. Множественные глобы могут быть исключены.
Пример:
mkisofs -o rom -hfs -hide-hfs '*.o' -hide-hfs foobar
будет исключать из тома HFS все файлы, оканчивающиеся на &quo;.o&quo; или названные &quo;foobar&quo;. Заметим, что если существует каталог
&quo;foobar&quo;, он будет исключен вместе с содержимым.
glob также может быть именем пути, согласующимся с исходными каталогами, заданным в командной строке. Пример:
mkisofs -o rom -hfs -hide-hfs src/hml src
будет исключать из каталога &quo;src&quo; только файлы или каталоги, названные &quo;hml&quo;. Любой другой файл или каталог &quo;hml&quo; в дереве исключаться не будет. Использовать с опциями
-hide и/или
-hide-jolie.
- -hide-hfs-lis file
- Файл, содержащий список глобов, которые должны быть скрыты, как показано выше.
- -hfs-volid hfs_volid
- Название тома для разбиения HFS на разделы. Это имя, назначенное диску на Macinosh, которое замещает
volid, использовавший опцию
-V.
- -icon-posiion
- Использовать информацию о позиции пиктограммы (при наличии) из файла Apple/Unix. Пиктограммы будут появляться на тех же позициях, что и на рабочем столе Macinosh. Расположение и экранный размер папки, ее позиции прокрутки, вид просмотра (как пиктограммы, маленькие пиктограммы и т.д.) также сохраняются. В будущем опция может быть установлена по умолчанию
(Alpha).
- -roo-info file
- Установить размещение, экранный размер, позиции прокрутки, вид папки и т.д. для папки roo тома HFS. Подробнее см. README.rooinfo
(Alpha).
- -prep-boo FILE
- Модуль начальной загрузки PReP. Допускается максимум 4. См. README.prep_boo (Alpha).
- --cap
- Искать файлы AUFS CAP Macinosh. Ищет только форматы файлов CAP Apple/Unix. Поиск остальных возможных форматов Apple/Unix отключен, пока не определены другие опции
с двумя тире.
- --neaalk
- Искать файлы
NETATALK Macinosh
- --double
- Искать файлы AppleDouble Macinosh
- --ehershare
- Искать файлы Helios EherShare Macinosh
- --ushare
- Искать файлы IPT UShare Macinosh
- --exchange
- Искать файлы PC Exchange Macinosh
- --sgi
- Искать файлы SGI Macinosh
- --xine
- Искать файлы XINET Macinosh
- --macbin
- Искать файлы MacBinary Macinosh
- --single
- Искать файлы AppleSingle Macinosh
- --dave
- Искать файлы Thursby Sofware Sysems DAVE Macinosh
- --sfm
- Искать службы Microsof для файлов Macinosh (только NT) (Alpha)
HFS CREATOR/TYPE
Файл Macinosh имеет две функции, одна из которых, CREATOR (создатель), определяет приложение, которое создало файл, а другое, TYPE (тип) - данные, содержащиеся в файле.
Обе функции состоят из 4 символьных строк. Обычно они позволяют пользователю Macinosh двойным нажатием мыши на файл запустить правильное приложение. CREATOR и TYPE конкретного файла могут быть найдены на Macinosh при помощи, например, ResEdi или чего-то подобного.
Информация CREATOR и TYPE хранится во всех по-разному закодированных файлах Apple/Unix. Для других файлов возможно занести CREATOR и TYPE в расширение файлового имени, используя файл
отображения (опция
-map) и/или используя
магическое число
(обычно это
сигнатура в нескольких первых байтах) файла (опция
-magic). Если заданы обе опции, важен их порядок в командной строке. Когда первой задана
-map, она попытается подобрать соответствующее
расширение имени файла до подбора магического числа. Когда первой задана
-magic, она попытается подобрать магическое число до подбора расширения имени файла.
Если не используется ни то, ни другое, или совпадений нет, то для всех регулярных файлов CREATOR и TYPE могут быть установлены по умолчанию путем использования данных из файла
.mkisofsrc или опции
-hfs-creaor и/или
-hfs-ype, иначе CREATOR и TYPE по умолчанию будут 'unix' и 'TEXT'.
Формат файла отображения
(mapping) аналогичен формату
afpfile, используемому
aufs. Этот файл имеет пять столбцов для
расширения,
преобразования
файла,
CREATOR,
TYPE
и
комментариев. Строки, начинающиеся с символа '#', - это комментарии; они игнорируются. Например, файл может выглядеть так:
# Пример имени файла отображения
|
#
|
# EXTN | XLae | CREATOR | TYPE | Commen
|
.if | Raw | '8BIM' | 'TIFF' | &quo;Phooshop TIFF image&quo;
|
.hqx | Ascii | 'BnHq' | 'TEXT' | &quo;BinHex file&quo;
|
.doc | Raw | 'MSWD' | 'WDBN' | &quo;Word file&quo;
|
.mov | Raw | 'TVOD' | 'MooV' | &quo;QuickTime Movie&quo;
|
* | Ascii | 'x' | 'TEXT' | &quo;Tex file&quo;
|
Где:
-
Первый столбец
EXTN обозначает, что расширение имени файла Unix должно быть отображено. По умолчанию, отображение для любого неподходящего расширения имени файла выделяется символом &quo;*&quo;.
-
Столбец
Xlae обозначает, что тип текстового преобразования из файла Unix в
Macinosh игнорируется
mkisofs, но совместим с
aufs(1).
Хотя
mkisofs не изменяет содержимое файла, двоичный файл, чей TYPE установлен как 'TEXT', может неверно читаться на Macinosh. Поэтому лучше установить TYPE по умолчанию на '????'.
-
Ключевые слова
CREATOR
и
TYPE должны состоять из 4 символов и заключаться в одинарные кавычки.
- Поле комментариев Commen заключается в двойные кавычки; оно игнорируется
mkisofs, но совместимо с
aufs.
Формат файла
magic практически идентичен файлу
magic(4), используемому командой Linux
file(1); подпрограммы для чтения и декодирования файла
magic используют команду Linux
file(1).
Этот файл имеет четыре разделенных табуляцией столбца для
bye
offse (смещение байт),
ype (тип),
es (тест)
и
message (сообщение). Строки, начинающиеся с символа '#', - это комментарии; они игнорируются. Например, файл может выглядеть так:
# Пример файла magic
|
#
|
# off | ype | es | message
|
0 | sring | GIF8 | 8BIM GIFf GIF image
|
0 | beshor | 0xffd8 | 8BIM JPEG image daa
|
0 | sring | SIT! | SIT! SIT! SuffI Archive
|
0 | sring | \037\235 | LZIV ZIVU sandard unix compress
|
0 | sring | \037\213 | GNUz ZIVU gzip compressed daa
|
0 | sring | %! | ASPS TEXT Posscrip
|
0 | sring | \004%! | ASPS TEXT PC Posscrip wih a ^D o sar
|
4 | sring | moov | x MooV QuickTime movie file (moov)
|
4 | sring | mda | x MooV QuickTime movie file (mda)
|
Формат файла описан на man-странице
magic(4). Единственное различие в том, что для каждого компонента файла magic
message для исходного смещения
должно состоять из 4 символов для CREATOR, за которыми идут 4 символа для TYPE - пробел между ними необязателен. Все остальные символы в строке игнорируются. Строки продолжения (начинающиеся с '&g;') также игнорируются; таким образом, используются только строки исходного смещения.
Использование опции
-magic может значительно увеличить время обработки, так как в поисках магического числа придется открывать и читать каждый файл.
В целом, для всех файлов CREATOR по умолчанию - 'unix', а
TYPE по умолчанию - 'TEXT'. Это можно изменить, используя данные из файла
.mkisofsrc или опцию
-hfs-creaor и/или
-hfs-ype.
Если файл записан в одном из известных форматов Apple/Unix (и этот формат был выбран), то CREATOR и TYPE берутся из значений, хранящихся в файле Apple/Unix.
Остальные файлы могут получить свои наборы CREATOR и TYPE из собственного расширения файлового имени (опция
-map) или из магического числа (опция
-magic). Если используется подбор по умолчанию в файле
mapping, то эти значения отменяют CREATOR и TYPE по умолчанию.
ФОРМАТЫ ФАЙЛОВ HFS MACINTOSH
Файлы Macinosh имеют две части, называемые ветви
Daa (данные) и
Resource (ресурсы). Любая из них может быть пуста. Unix (и многие другие ОС) могут работать только с файлами, имеющими одну часть (ветвь). В дополнение к этому файлы Macinosh имеют ряд связанных с ними атрибутов - вероятно, гораздо более важных, чем TYPE и CREATOR. Unix "не знает" об их типе.
Таким образом, файл Macinosh может быть файлом JPEG, где изображение хранится в ветви Daa, а эскиз рабочего стола - в ветви Resource. Как правило, информация в ветви данных используется всеми платформами.
Поэтому чтобы сохранить файл Macinosh в файловой системе Unix, необходимо найти способ работы с обеими ветвями и дополнительными атрибутами (к которым можно обращаться как к средству поиска информации
Finder
info). К сожалению, каждый программный пакет, хранящий файлы Macinosh на Unix, выбирает свой способ хранения.
Форматы Apple/Unix, поддерживаемые
mkisofs (частично):
- формат CAP AUFS
-
Ветвь Daa сохранена в файле. Ветвь Resource сохранена в подкаталоге .resource с тем же именем файла, что и Daa. Finder info сохранена в подкаталоге .finderinfo с тем же именем файла.
- AppleDouble/Neaalk
-
Ветвь Daa сохранена в файле. Ветвь Resource сохранена в файле с тем же именем и приставкой &quo;%&quo;. Finder info также сохранена в этом файле
&quo;%&quo;. Neaalk использует тот же формат, но ветвь resource/finderinfo сохранена в подкаталоге .AppleDouble с тем же именем, что и у ветви daa.
- AppleSingle
-
Структуры данных близки к вышеперечисленным, за исключением того, что обе ветви и средство поиска хранятся в одном файле.
- Helios EherShare
- Ветвь Daa сохранена в файле. Ветвь Resource и Finder info сохранены вместе в подкаталоге .rsrc с тем же именем, что и у ветви daa.
- IPT UShare
-
Очень похоже на формат EherShare, но finder info хранится несколько иначе.
- MacBinary
-
Обе ветви и finder info хранятся в одном файле.
- Apple PC Exchange
-
Используется Macinosh для хранения файлов Apple на дисках DOS (FAT).
Ветвь Daa сохранена в файле. Ветвь Resource - в подкаталоге
resource.frk (или RESOURCE.FRK). Finder info - как одна запись в файле finder.da (или FINDER.DAT). Для каждого каталога данных существует свой finder.da.
-
Примечание:
mkisofs должна знать собственный FAT-размер кластера диска, на котором находятся файлы PC Exchange (или откуда они были скопированы). Этот размер задается опцией
-cluser-size. Размер кластера или едниц распределения можно найти с помощью утилиты DOS
CHKDSK.
- Может не работать с PC Exchange v2.2 или с файлами более высокого уровня (доступных MacOS 8.1). Носители DOS, содержащие файлы PC Exchange, должны быть подключены как тип
msdos
(а не
vfa) при использовании Linux.
- SGI/XINET
- Использовался машинами SGI при подключении дисков HFS. Ветвь Daa сохранена в файле. Ветвь Resource - в подкаталоге .HSResource с тем же именем. Finder info - как одна запись в файле .HSancillary. Для каждого каталога ветви Daa существует отдельный .HSancillary.
- Thursby Sofware Sysems DAVE
- Позволяет Macinosh хранить файлы Apple на серверах SMB. Daa сохранена в файле. Ветвь Resource - в подкаталоге
resource.frk. Использует формат AppleDouble для хранения ветви resource.
- Сервисы для Macinosh
- Формат файлов, сохраненных серверами NT в файловых системах NTFS. Ветвь Daa сохранена в &quo;filename&quo;. Ветвь Resource сохранена как поток NTFS, названный &quo;filename:AFP_Resource&quo;. Finder info сохранена как поток NTFS, названный &quo;filename:Afp_AfpInfo&quo;. Эти потоки обычно видны пользователю.
- Предупреждение: mkisofs только частично поддерживает формат SFM. Если файл HFS или папка, сохраненные на сервере NT, содержат
запрещенные символы NT в имени, то NT преобразует их в символы
Privae Use Unicode: &quo; * / &l; &g; ? |, а также пробел или период, если это последний символ в имени файла, символьные коды от 0x01
до 0x1f (управлящие) и логотип Apple.
- К сожалению, эти собственные символы Unicode не читаются программой
mkisofs, выполняемой NT. Поэтому любое имя файла или каталога с этими символами будет игнорироваться (включая содержимое каталога).
mkisofs попытается установить CREATOR, TYPE, dae и, возможно, другие флаги из finder info. Дополнительно из нее устанавливается имя файла Macinosh (если существует), иначе имя Macinosh будет основываться на файловом имени Unix - см. раздел
ИМЕНА ФАЙЛОВ HFS MACINTOSH ниже.
Когда используется опция
-apple, TYPE и CREATOR сохраняются в необязательном поле Sysem Use или SUSP в записи каталога ISO9660 - практически так же, как и атрибуты Rock Ridge. Для упрощения процедуры расширения Apple добавляются в начало существующих атрибутов Rock Ridge (то есть расширениями Apple получаются вместе с расширениями Rock Ridge).
Расширения Apple требуют, чтобы ветвь resource сохранялась как
присоединенный файл ISO9660. Он сохраняется как обычный файл в системе ISO9660, за исключением того, что флаг этого файла устанавливается в запись каталога (бит 2). Файл назван аналогично ветви daa (его видят все машины, кроме Apple). Присоединенные файлы игнорируются остальными ОС.
Когда используется опция
-hfs, TYPE и CREATOR и остальная finder info сохраняются в отдельном каталоге HFS, не видимом в томе ISO9660. Каталог HFS обращается к файлам ветвей daa и resource, описанным выше.
В большинстве случаев лучше использовать опцию
-hfs вместо
-apple, так как последняя опускает ограниченные символы ISO9660, разрешенные в файловых именах. Однако преимущество расширений Apple в том, что файлы эффективнее упаковываются на диске, и возможно поместить больше файлов на диск - это важно, когда общий размер исходных файлов приближается к 650 Mб.
ИМЕНА ФАЙЛОВ HFS MACINTOSH
Там, где возможно, файловое имя HFS, сохраненное с файлом Apple/Unix, используется для HFS-части компакт-диска. Однако не все кодировки Apple/Unix сохраняют файловое имя HFS с finderinfo. В этих случаях используется файловое имя Unix со специальными экранными символами. Они включают '/' и коды символов более 127.
Aufs экранирует эти символы, используя &quo;:&quo;, за которым следует код символа из двух шестнадцатеричных цифр. Neaalk и EherShare имеют сходную схему, но используют &quo;%&quo; вместо &quo;:&quo;.
Если mkisofs не может найти файловое имя HFS, то она использует имя Unix с любыми символами %xx или :xx (xx == две шестнадцатеричные цифры), преобразованный в один код символа. Если &quo;xx&quo; не состоят из двух шестнадцатеричных цифр ([0-9a-fA-F]), они оставляются без внимания, хотя любые оставшиеся &quo;:&quo; преобразуются в &quo;%&quo;, так как двоеточие - это разделитель каталогов HFS. Следует соблюдать осторожность, так как обычный файл Unix с %xx или :xx также будет преобразован, то есть:
This:2fFile | преобразуется в This/File
|
|
This:File | преобразуется в This%File
|
|
This:7File | преобразуется в This%7File
|
Хотя файловые имена HFS должны поддерживать символы в обоих регистрах, файловая система к регистру нечувствительна, то есть имена &quo;aBc&quo; и &quo;AbC&quo; воспринимается как одно и то же имя. Если файл найден в каталоге с тем же именем HFS, то
mkisofs попытается по возможности создать уникальное имя, добавив к одному из имен файла символы '_'.
Если для файла существует имя HFS, то mkisofs может использовать это имя как начальную точку для файловых имен ISO9660, Jolie и Rock Ridge, применяя опцию
-mac-name. Обычные файлы Unix без имени HFS по-прежнему будут использовать свое имя Unix, то есть:
если файл
MacBinary
(или
PC
Exchange) сохранен как
someimage.gif.bin в файловой системе Unix, но содержит файл HFS, названный
someimage.gif, то это будет имя, которое появится на HFS-части компакт-диска. Однако так как mkisofs использует имя Unix как начальную точку для других имен, то созданное имя ISO9660 может быть
SOMEIMAG.BIN, а Jolie/Rock Ridge -
someimage.gif.bin, хотя фактическими данными здесь будет изображение GIF. Эта опция будет использовать файловое имя НFS как начальную точку, и имя ISO9660 может быть
SOMEIMAG.GIF, а Jolie/Rock Ridge -
someimage.gif.
Опция
-mac-name сейчас не будет работать вместе с опцией
-T - в файле TRANS.TBL будет использоваться имя Unix, а не Macinosh.
Существующий код mkisofs будет отфильтровывать все запрещенные символы для файловых имен ISO9660 И Jolie filenames, но так как mkisofs должна работать непосредственно с именами Unix, она оставит имена Rock Ridge как есть.
'/' является запрещенным символом для имени HFS, поэтому опция
-mac-name преобразует '/' в a '_' в файловых именах Rock Ridge.
Если используются расширения Apple, то на Macinosh будут появляться только файловые имена ISO9660. Однако так как ISO9660 драйверы Macinosh могут использовать имена файлов
уровня 2, можно использовать опции типа
-allow-mulido, не конфликтуя с Macinosh. При этом такие имена, как
his.file.name будут преобразованы в
THIS.FILE, то есть с одной точкой, имя
abcdefgh будет отображаться как
ABCDEFGH, а
abcdefghi - как
ABCDEFGHI., то есть с точкой в конце - возможно, это проблема Macinosh или mkisofs/mkhybrid. При просмотре на Macinosh все файловые имена будут в нижнем регистре. Машины DOS/Win3.X не смогут распознавать имена уровня 2.
ПОЛЬЗОВАТЕЛЬСКИЕ ПИКТОГРАММЫ HFS "ТОМ"/"ПАПКА"
Чтобы присвоить компакт-диску HFS пользовательскую пиктограмму, следует убедиться, что папка roo (верхнего уровня) включает стандартный файл Macinosh пиктограммы тома. Для присвоения тому пользовательской пиктограммы на Macinosh нужно вставкой заменить пиктограмму тома в его поле &quo;Ge Info&quo;. Будет создан невидимый файл 'Icon\r' ('\r' - это символ "возврат каретки") в папке roo. Аналогично присваивается пользовательская пиктограмма папки - невидимый файл 'Icon\r' уже существует в ней. Простейший способ, применяемый mkisofs для создания пользовательской пиктограммы, - это отформатировать пустой гибкий диск HFS на Mac и вставить пиктограмму в поле &quo;Ge Info&quo;. При использовании Linux с инсталлированным модулем HFS подключить гибкий диск следующим образом:
moun - hfs /dev/fd0 /mn/floppy
Диск будет подключен по умолчанию как файловая система CAP. Затем запустить mkisofs:
mkisofs --cap -o oupu source_dir /mn/floppy
Если Linux не используется для копирования файла пиктограммы с гибкого диска можно применить hfsuils. Здесь следует соблюдать осторожность, так как файл пиктограммы содержит управляющий символ.
hmoun /dev/fd0
hdir -a
hcopy -m Icon^V^M icon_dir/icon
Здесь '^V^M' - это управляющий символ V, за которым следует управляющий символ M. Затем запустить
mkisofs:
mkisofs --macbin -o oupu source_dir icon_dir
Процедура создания/использования пользовательских пиктограмм папок сходна: вставить пиктограмму в поле папки &quo;Ge Info&quo; и передать получившийся в результате файл 'Icon\r' в соответствующий каталог в исходном дереве mkisofs.
Можно скрыть файлы пиктограмм из деревьев ISO9660 и Jolie.
ЗАГРУЗОЧНЫЙ ДРАЙВЕР HFS
Возможно создать гибридный самозагружаемый компакт-диск на Macinosh.
Самозагружаемый HFS компакт-диск требует драйвер Apple CD-ROM (или сходный), загрузочный раздел HFS и необходимые системные, поисковые и т.д. файлы.
Драйвер может быть получен с любого другого загрузочного CD-ROM Macinosh при помощи утилиты
apple_driver. Затем этот файл может быть использован с опцией
-boo-hfs-file.
Раздел HFS (здесь: гибридный диск) должен содержать подходящую системную папку с другого CD-ROM или диска.
Для того, чтобы раздел стал самозагружаемым, на нем должен быть установлен
блок загрузки. Это первые два блока раздела. Для несамозагружаемого раздела блок загрузки заполнен нулями. Обычно, когда системный файл копируется в раздел с диска Macinosh, этот блок заполняется обязательными установками.
Поэтому утилита
apple_driver извлекает блок загрузки из первого раздела HFS, обнаруженного на данном CD-ROM, что используется для раздела HFS, созданного
mkisofs.
ИНФОРМАЦИЯ О ЗАГРУЗКЕ EL TORITO
Когда задана опция
-boo-info-able,
mkisofs изменит загрузочный файл, определенный опцией
-b путем вставки 56-байтной &quo;boo informaion able&quo; (таблицы с информацией о загрузке) в смещение 8 в файле. Изменение производится в исходной файловой системе, поэтому следует сделать копию, если этот файл не может быть легко восстановлен. Этот файл содержит указатели, которые не могут легко или надежно обрабатываться во время загрузки.
Таблица имеет формат, приведенный ниже; все целые числа - в формате секции 7.3.1 (&quo;lile endian&quo;).
-
Offse Name Size Meaning
8 bi_pvd 4 byes LBA of primary volume descripor
12 bi_file 4 byes LBA of boo file
16 bi_lengh 4 byes Boo file lengh in byes
20 bi_csum 4 byes 32-bi checksum
24 bi_reserved 40 byes Reserved
То есть:
-
Смещение Имя Размер Значение
8 bi_pvd 4 байта ЛАБ дескриптора основного тома
12 bi_file 4 байта ЛАБ загрузочного файла
16 bi_lengh 4 байта Длина загрузочного файла в байтах
20 bi_csum 4 байта 32-битная контрольная сумма
24 bi_reserved 40 байт Резерв
32-битная контрольная сумма - это сумма всех 32-битных слов в загрузочном файле, начинающихся со смещения 64 байта. Все ЛАБы (линейные адресации блоков) даются в секторах компакт-диска (обычно 2048 байт).
КОНФИГУРАЦИЯ
mkisofs
ищет файл
.mkisofsrc сперва в текущем рабочем каталоге, затем в пользовательском, а затем в каталоге, где хранятся двоичные файлы
mkisofs. Предполагается, что этот файл содержит добавочные строки в форме
TAG=значение, и таким образом можно задавать какие-либо опции. Регистр данного тега значения не имеет. Некоторые поля в заголовке тома не могут быть установлены в командной строке, но могут быть изменены с помощью этой функции. В файл можно также поместить комментарии, используя для этого строки, начинающиеся с символа #.
- APPI
- Идентификатор приложения должен описывать приложение, которое будет на диске. Для этого отведено пространство в 128 символов. Может быть отменен посредством опции командной строки
-A.
- COPY
- Информация о копирайте - как правило, имя файла на диске, содержащего сведения об авторских правах. Для этого отведено пространство в 37 символов. Может быть отменен посредством опции командной строки
-copyrigh.
- ABST
- Информация о реферате - как правило, имя файла на диске, содержащего реферат. Для этого отведено пространство в 37 символов. Может быть отменен посредством опции командной строки
-absrac.
- BIBL
- Библиографическая информация - как правило, имя файла на диске, содержащего библиографическое описание. Для этого отведено пространство в 37 символов. Может быть отменен посредством опции командной строки
-bilio.
- PREP
- Должен описывать изготовителя CDROM, включая адрес и номер телефона. Для этого на диске отведено пространство в 128 символов. Может быть отменен посредством опции командной строки
-p.
- PUBL
- Должен описывать издателя CDROM, включая адрес и номер телефона. Для этого на диске отведено пространство в 128 символов. Может быть отменен посредством опции командной строки
-P.
- SYSI
- Системный идентификатор. Для этого на диске отведено пространство в 32 символа. Может быть отменен посредством опции командной строки
-sysid.
- VOLI
- Идентификатор тома. Для этого на диске отведено пространство в 32 символа. Может быть отменен посредством опции командной строки
-V.
- VOLS
- Имя группового тома. Для этого на диске отведено пространство в 32 символа. Может быть отменен посредством опции командной строки
-volse.
- HFS_TYPE
- TYPE по умолчанию для файлов Macinosh. Должен содержать 4 символа. Может быть отменен посредством опции командной строки
-hfs-ype.
- HFS_CREATOR
- CREATOR по умолчанию для файлов Macinosh. Должен содержать 4 символа. Может быть отменен посредством опции командной строки
-hfs-creaor.
mkisofs может быть сконфигурирована во время компиляции со значениями по умолчанию для большинства этих полей. См. файл defauls.h.
ПРИМЕРЫ
Чтобы создать образ файловой системы vanilla ISO-9660 в файле
cd.iso, где каталог
cd_dir будет каталогом roo компакт-диска, нужно вызвать:
% mkisofs -o cd.iso cd_dir
Чтобы создать гибридный компакт-диск HFS с расширениями Rock Ridge исходного каталога
cd_dir:
% mkisofs -o cd.iso -R cd_dir
Чтобы создать гибридный компакт-диск HFS с расширениями Rock Ridge исходного каталога
cd_dir, где файлы имеют читаемые полномочия и принадлежат
roo, нужно вызвать:
% mkisofs -o cd.iso -r cd_dir
Чтобы создать гибридный компакт-диск HFS с расширениями Jolie и Rock Ridge исходного каталога
cd_dir:
% mkisofs -o cd.iso -R -J -hfs cd_dir
Чтобы создать гибридный компакт-диск HFS из исходного каталога
cd_dir, содержащего файлы
Neaalk Apple/Unix:
% mkisofs -o cd.iso --neaalk cd_dir
Чтобы создать гибридный компакт-диск HFS из исходного каталога
cd_dir, где CREATOR и TYPES всех файлов, основанные на расширениях их имен, перечислены в файле
&quo;mapping&quo;.:
% mkisofs -o cd.iso -map mapping cd_dir
Чтобы создать компакт-диск с 'Apple Exensions o ISO9660' из исходных каталогов
cd_dir и
anoher_dir., где файлы во всех известных форматах Apple/Unix декодируются, а CREATOR и TYPE всех остальных файлов, основанные на их магическом числе, заданы в файле &quo;magic&quo;:
% mkisofs -o cd.iso -apple -magic magic -probe \
cd_dir anoher_dir
В следующем примере на компакт-диск помещаются разные файлы с одним и тем же именем README, но различным содержанием для просмотра
ISO9660/RockRidge, Jolie или компакт-диском HFS.
Текущие каталоги содержат:
% ls -F
README.hfs README.jolie README.unix cd_dir/
Следующая команда помещает содержимое каталога
cd_dir на компакт-диск вместе с тремя файлами README, но только один из них видим каждой из трех файловых систем:
% mkisofs -o cd.iso -hfs -J -r \
-hide README.hfs -hide README.jolie \
-hide-jolie README.hfs -hide-jolie README.unix \
-hide-hfs README.jolie -hide-hfs README.unix \
README=README.hfs README=README.jolie \
README=README.unix cd_dir
то есть файл README.hfs будет виден на компакт-диске HFS как README, а остальные два файла README - скрыты. То же для компакт-дисков Jolie и
ISO9660/RockRidge.
СМ. ТАКЖЕ
cdrecord(1)
magic(5),
apple_driver(8)
Указатель
- НАЗВАНИЕ
-
- СИНТАКСИС
-
- ОПИСАНИЕ
-
- ОПЦИИ
-
- ОПЦИИ HFS
-
- HFS CREATOR/TYPE
-
- ФОРМАТЫ ФАЙЛОВ HFS MACINTOSH
-
- ИМЕНА ФАЙЛОВ HFS MACINTOSH
-
- ПОЛЬЗОВАТЕЛЬСКИЕ ПИКТОГРАММЫ HFS "ТОМ"/"ПАПКА"
-
- ЗАГРУЗОЧНЫЙ ДРАЙВЕР HFS
-
- ИНФОРМАЦИЯ О ЗАГРУЗКЕ EL TORITO
-
- КОНФИГУРАЦИЯ
-
- ПРИМЕРЫ
-
- СМ. ТАКЖЕ
-