The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

mkisofs ()
  • mkisofs (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • >> mkisofs (8) ( Русские man: Команды системного администрирования )
  • mkisofs (8) ( Linux man: Команды системного администрирования )
  •  

    НАЗВАНИЕ

    mkisofs - создает гибридную файловую систему ISO9660/JOLIET/HFS, возможно с атрибутами Rock Ridge.  

    СИНТАКСИС

    mkisofs [ -abstract FILE ] [ -allow-lowercase ] [ -allow-multidot ] [ -biblio FILE ] [ -cache-inodes ] [ -no-cache-inodes ] [ -b eltorito_boot_image ] [ -eltorito-alt-boot ] [ -B sparc_boot_image_list ] [ -G generic_boot_image ] [ -gui ] [ -C #,# ] [ -hard-disk-boot ] [ -no-emul-boot ] [ -no-boot ] [ -boot-load-seg ] [ -boot-load-size ] [ -boot-info-table ] [ -c boot_catalog ] [ -check-oldnames ] [ -check-session FILE ] [ -copyright FILE ] [ -A application_id ] [ -f ] [ -d ] [ -D ] [ -dir-mode mode ] [ -file-mode mode ] [ -gid gid ] [ -hide glob ] [ -hide-list file ] [ -hidden glob ] [ -hidden-list file ] [ -hide-joliet glob ] [ -hide-joliet-list file ] [ -hide-joliet-trans-tbl ] [ -hide-rr-moved ] [ -iso-level level ] [ -input-charset charset ] [ -output-charset charset ] [ -J ] [ -jcharset charset ] [ -l ] [ -L ] [ -log-file log_file ] [ -max-iso9660-filenames ] [ -M path | device ] [ -new-dir-mode mode ] [ -nobak ] [ -no-bak ] [ -no-split-symlink-components ] [ -no-split-symlink-fields ] [ -pad ] [ -no-pad ] [ -path-list file ] [ -p preparer ] [ -print-size ] [ -P publisher ] [ -quiet ] [ -r ] [ -R ] [ -relaxed-filenames ] [ -sort sort file ] [ -sysid ID ] [ -T | -table-name TABLE_NAME ] [ -ucs-level level ] [ -uid uid ] [ -use-fileversion ] [ -U ] [ -no-iso-translate ] [ -v ] [ -V volid ] [ -volset ID ] [ -volset-size # ] [ -volset-seqno # ] [ -x path ] [ -exclude-list file ] [ -z ] [ -m glob ] [ -hfs | -apple ] [ -map mapping_file ] [ -magic magic_file ] [ -probe ] [ -no-desktop ] [ -mac-name ] [ -boot-hfs-file driver_file [ -part ] [ -auto AutoStart_file ] [ -cluster-size size ] [ -hide-hfs glob ] [ -hide-hfs-list file ] [ -hfs-volid hfs_volid ] [ -icon-position ] [ -root-info FILE [ -prep-boot FILE ] [ -hfs-creator CREATOR ] [ -hfs-type TYPE ] [ -input-hfs-charset charset ] [ -output-hfs-charset charset ] [ -hfs-unlock ] [ -hfs-bless folder_name ] [ --cap ] [ --netatalk ] [ --double ] [ --ethershare ] [ --ushare ] [ --exchange ] [ --sgi ] [ --xinet ] [ --macbin ] [ --single ] [ --dave ] [ --sfm ] -o filename pathspec [pathspec]  

    ОПИСАНИЕ

    mkisofs является мощной и эффективной программой для создания гибридной файловой системы ISO9660/JOLIET/HFS.

    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.~1~ , то файл foo.bar.~1~ будет записан как 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, и необходимо включить его в образ диска, тогда указание:

            foo/bar/=../old.lis

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

            foo/bar/xxx=../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.

     

    ОПЦИИ

    -abstract FILE
    Определяет абстрактное имя файла. Этот параметр также может быть определен в файле .mkisofsrc через ABST=filename. Если указано в обоих местах, то приоритетным считается значение в командной строке.
    -A application_id
    определяет текстовую строку, записываемую в заголовок тома. Описывает приложение, записываемое на диск. Под эту строку отводится 128 байт. Параметр также может быть задан в файле .mkisofsrc через APPI=id. Если указано в обоих местах, то приоритетным считается значение в командной строке.
    -allow-lowercase
    Эта опция разрешает указывать символы в нижнем регистре в именах файлов iso9660.
    Вообще это является нарушением стандарта ISO9660, но тем не менее - работает на некоторых системах. Использовать осторожно.
    -allow-multidot
    Опция разрешает использовать более одной точки в именах файлов iso9660. Начальная точка этой опцией не разрешается, ее нужно определять отдельно, смотрите -L.
    Вообще это является нарушением стандарта ISO9660, но тем не менее - работает на некоторых системах. Использовать осторожно.
    -biblio FILE
    Определяет имя файла библиографии. Параметр также может быть задан в файле .mkisofsrc через BIBLO=filename. Если указано в обоих местах, то приоритетным считается значение в командной строке.
    -cache-inodes
    Кэшировать номера записей inode и устройств для указания жестких ссылок на файлы. Если mkisofs обнаружит жесткую ссылку (файл с несколькими именами), то такой файл на диске присутствовать будет только в одном экземпляре. Это позволит экономить место. Опция -cache-inodes активна по умолчанию на всех UNIX-подобных операционных системах. Будьте осторожны при использовании этой опции на файловой системе без уникальных номеров записей inode, так как это приведет к записи файлов на диске, содержащих некорректную информацию.
    -no-cache-inodes
    Не кэшировать номера записей inode и устройств. Опция требуется, если файловая система не поддерживает уникальные номера inode. Это опция активна по умолчанию на Cygwin. Так как операционная система Microsoft, на которой основана работа Cygwin не является совместимой с POSIX, то в ней нет уникальных номеров inode. Cygwin создает условные номера записей inode из алгоритма хэшей, не являющего абсолютно, на 100% корректным. Если mkisofs начнет кэшировать номера записей inode в Cygwin, то он посчитает некоторые файлы идентичными, хотя на самом деле это не так. В результате получатся файлы, содержащие некорректную информацию, если внутри дерева будет большое число файлов (> ~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.

    На уровне 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=${cdblocks}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
    Не переводить символы '#' и '~', являющие некорректными для имен файлов 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.
     

    ОПЦИИ

    -hfs
    Создать гибридный диск формата ISO9660/HFS. Эта опция должна использоваться вместе с -map, и/или с разными опциями, начинающихся с двойного дефиса, заданными ниже.
    -apple
    Создает диск ISO9660 с расширениями Apple. Похоже на опцию -hfs за исключением того, что добавляются Apple Extensions для ISO9660 вместо создания гибридного тома HFS.
    -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-creator CREATOR
    Определяет значение CREATOR по умолчанию для всех файлов. Должно быть длиной точно 4 символа. Смотрите далее раздел HFS CREATOR/TYPE для более подробной информации.
    -hfs-type TYPE
    Определяет значение TYPE по умолчанию для всех файлов. Должно быть длиной точно 4 символа. Смотрите далее раздел HFS CREATOR/TYPE для более подробной информации.
    -probe
    По содержимому всех файлов осуществляется поиск всех известных форматов файлов Apple/Unix. Смотрите далее раздел ФОРМАТЫ ФАЙЛОВ HFS ДЛЯ MACINTOSH для более подробной информации об этих форматах. Тем не менее, единственным способом проверки файлов на MacBinary и AppleSingle является открытие и их чтение. И поэтому эта опция может значительно увеличить время работы. Ее лучше использовать вместе с одной или несколькими опциями двойного дефиса, заданных ниже, если известны используемые форматы Apple/Unix.
    -no-desktop
    Не создавать (пустые) файлы рабочего стола. Новые файлы рабочего стола HFS Desktop будут созданы при использовании диска на Macintosh (и хранящихся в системной папке). По умолчанию пустые файлы рабочего стола будут добавляются в образ тома HFS.
    -mac-name
    Использовать имена файлов HFS как точку отсчета для имен файлов ISO9660, Joliet и Rock Ridge. Смотрите далее раздел ИМЕНА ФАЙЛОВ HFS MACINTOSH для более подробной информации.
    -boot-hfs-file driver_file
    Устанавливает driver_file который может сделать диск загрузочным в системе Macintosh. Смотрите далее раздел HFS BOOT DRIVER (Alpha).
    -part
    Создает таблицу разделов HFS. По умолчанию не создается никакой таблицы разделов, но некоторые старые драйвера CDROM для Macintosh требуют наличия таблицы разделов HFS на диске для распознания гибридного диска CDROM.
    -auto AutoStart_file
    Определяет использование на диске HFS возможности автозапуска QuickTime 2.0 Autostart для пуска приложения или документов. Заданное имя файла должно быть именем документа или приложения, расположенного на самом верхнем уровне каталогов диска. Имя файла должно быть менее 12 символов. (Alpha).
    -cluster-size size
    Устанавливает размер кластера в байтах или блоков распределения файлов PC Exchange. Предполагает использование опции --exchange. Смотрите далее раздел ФОРМАТЫ ФАЙЛОВ HFS ДЛЯ MACINTOSH.
    -hide-hfs glob
    Спрятать glob из тома HFS. Файл или каталог все равно будут существовать в каталоге ISO9660 и/или Joliet. glob является шаблоном оболочки, совпадающем с любой частью имени файла. Допустимы шаблоны, совпадающие множественным файлам или каталогам. Пример:

    mkisofs -o rom -hfs -hide-hfs '*.o' -hide-hfs foobar

    исключит все файлы, заканчивающие на ".o" или называемые "foobar" из тома HFS. Заметим, что если у вас есть каталог "foobar", то он тоже будет исключен (а также все его подкаталоги и содержимое). glob также может быть путем к файлу относительно исходного каталога, указанного в командной строке. Например:

    mkisofs -o rom -hfs -hide-hfs src/html src

    исключит только файлы или каталоги с именем "html" в каталогах "src". Все другие файлы или каталоги, называемые "html" не будут исключаться. Должна быть использована вместе с опциями -hide и/или -hide-joliet. Для того, чтобы сравнивать шаблоны с именами каталогов, убедитесь, что путь не включает в себя завершающий символ '/'.

    -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)

     

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

    mkisofs обрабатывает имена файлов методом, совместимым с форматом POSIX - как строки 8-битных символов. Но для представления всех кодировок для всех языков восьми битов совсем недостаточно. Уникод (unicode) ISO-10646 определяет коидровку, требующую по меньшей мере 21 бит для представления всех известных языков. Они могут быть представлены кодировками UTF-32, UTF-16 или UTF-8. UTF-32 использует простую 32-битную кодировку, но не является широко распространенной. UTF-16 используется Microsoft в ее Win32, но имеет один недостаток - поддерживает только подмножество всех кодов и таких 16-битных символов, которые не поддерживают интерфейс файловой системы POSIX.

    Современнные операционные системы 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

    Файл Macintosh имеет два свойства (атрибута), определяющие каким приложением был создан файл - CREATOR, и какой тип данных он содержит - TYPE. Оба имеют длину точно в 4 символа. Смысл этих атрибутов состоит в том, что пользователю Macintosh достаточно просто щелкнуть мышкой два раза по файлу и этим запустить соответствующее ему приложение. Атрибуты CREATOR и TYPE отдельно взятого файла могут быть определены, используя программы типа ResEdit (или похожую) на Macintosh.

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

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

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

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

    # Пример файла распределения
    #
    # EXTNXLateCREATORTYPEComment
    .tifRaw'8BIM''TIFF'"Photoshop TIFF image"
    .hqxAscii'BnHq''TEXT'"BinHex file"
    .docRaw'MSWD''WDBN'"Word file"
    .movRaw'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
    #
    # offtypetestmessage
    0stringGIF88BIM GIFf GIF image
    0beshort0xffd88BIM JPEG image data
    0stringSIT!SIT! SIT! StuffIt Archive
    0string\037\235LZIV ZIVU standard unix compress
    0string\037\213GNUz ZIVU gzip compressed data
    0string%!ASPS TEXT Postscript
    0string\004%!ASPS TEXT PC Postscript with a ^D to start
    4stringmoovtxtt MooV QuickTime movie file (moov)
    4stringmdattxtt 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 имеют две части, называемые Data и Resource. Обе могут быть пустыми. Unix (и многие другие ОС) могут работать только с файлами, у которых заполнена только одна часть. Для этого файлы Macintosh имеют несколько атрибутов, ассоциированных с ними - вообще самыми важными их них являются TYPE и CREATOR. Опять же, Unix не имеет никакой концепции для этих типов атрибутов.

    Например, файл 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. Поэтому любые имена файлов или каталогов, содержащие эти символы, будут проигнорированы = включая и содержимое любого каталога.

    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

    Там, где это возможно, имена файлов HFS, хранящиеся в файлах Apple/Unix, используются для HFS-части компакт дисков. Однако, не все кодировки Apple/Unix сохраняют имена файлов HFS через информацию finder. В этих случаях используются имена файлов Unix - с особыми управляющими символами. Особые символы содержат

    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

    Для придания компакт диску HFS некоторой пиктограммы (изображения), убедитесь что самый верхний, корневой уровень папок содержит стандартный файл пиктограмм тома Macintosh. Для установления тому на Macintosh пиктограммы нужно вставить ее поверх пиктограммы тома в окошке "Get Info". Этим действием создается невидимый файл с именем'Icon\r' ('\r' является символом перевода каретки) в корневом каталоге. Сделать пиктограмму любой другой папки просто - нужно всего лишь поместить невидимый файл 'Icon\r' в эту папку. Самым простым методом создания файла пиктограмм, который может использовать программа mkisofs, является форматирование чистой дискеты HFS на Mac, затем вставка пиктограммы в ее окошко "Get Info". При использовании Linux с установленным модулем HFS подключить дискету, используя команду типа:

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

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

            mkisofs --cap -o output source_dir /mnt/floppy

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

            hmount /dev/fd0

           hdir -a

           hcopy -m Icon^V^M icon_dir/icon

    Где '^V^M' является символом control-V с последующим control-M. Затем исполните mkisofs используя команду типа:

            mkisofs --macbin -o output source_dir icon_dir

    Процедура создания/использования файла пиктограмм пользователя, очень похожа - втавьте изображение в окно "Get Info" и затем перенесите файл 'Icon\r' в нужный каталог в дереве исходных файлов mkisofs.

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

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

     

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

    Можно создать гибридный компакт диск, загрузочный в системе Macintosh.

    Загрузочный диск 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

    При использовании опции -boot-info-table программа mkisofs будет изменять загрузочный файл, указанный в опции -b вставкой 56-байтной "информационной таблицы загрузки" (boot information table) с позиции 8 в файле. Это изменение осуществляется прямо на исходной файловой системе, так что убедитесь, что у вас есть копия данного загрузочного файла (особенно, если его создание достаточно проблематично)! Данный файл содержит указатели, которые не могут быть легко и надежно получены во время загрузки.

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

    Сдвиг     Имя            Размер    Значение
     8        bi_pvd         4 байта   LBA первичного описателя тома
    12        bi_file        4 байта   LBA загрузочного файла
    16        bi_length      4 байта   Длина загрузочного файла в байтах
    20        bi_csum        4 байта   32-битная контрольная сумма
    24        bi_reserved    40 байтов Зарезервированы
    

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

     

    НАСТРОЙКА

    mkisofs ищет файл .mkisofsrc сначала в текущем рабочем каталоге, затем в домашнем каталоге пользователя, затем в том каталоге, где находится исполняемый файл mkisofs. Предполагается, что этот файл содержит набор строк в виде ОПЦИЯ=значение, и что таким образом вы можете определить некоторые постоянные опции. Регистр ОПЦИЙ не существенен. Некоторые поля в заголовке томов не могут быть заданы через опции командной строки, а могут быть определены только через этот файл настроек. В файле могут быть строки комментариев в виде строк, начинающихся с символа решетки '#'.
    APPI
    Идентификатор приложения, должен описывать приложение, находящееся на диске. На диске отведено место для информации длиной 37 символов. Может быть переопределено, используя опцию командной строки -A.
    COPY
    Информация о лицензии, часто просто имя файла на диске, содержащего информацию о лицензии и правах. На диске отведено место для информации длиной 37 символов. Может быть переопределено, используя опцию командной строки -copyright.
    ABST
    Краткая информация, часто просто имя файла на диске, содержащего краткую информацию о диске. На диске отведено место для информации длиной 37 символов. Может быть переопределено, используя опцию командной строки -abstract.
    BIBL
    Библиографическая информация, часто просто имя файла на диске, содержащего информацию о библиографии. На диске отведено место для информации длиной 37 символов. Может быть переопределено, используя опцию командной строки -bilio.
    PREP
    Должно определять ответственного за подготовку диска CDROM, обычно с указанием электронного/почтового адреса и номера телефона. На диске отведено место для информации длиной 128 символов. Может быть переопределено, используя опцию командной строки -p.
    PUBL
    Должно определять издателя диска CDROM, обычно с указанием электронного/почтового адреса и номера телефона. На диске отведено место для информации длиной 128 символов. Может быть переопределено, используя опцию командной строки -P.
    SYSI
    Системный идентификатор (System Identifier). На диске отведено место для информации длиной 32 символа. Может быть переопределено, используя опцию командной строки -sysid.
    VOLI
    Идентификатор тома (Volume Identifier). На диске отведено место для информации длиной 32 символа. Может быть переопределено, используя опцию командной строки -V.
    VOLS
    Название набора томов. На диске отведено место для информации длиной 128 символа. Может быть переопределено, используя опцию командной строки -volset.
    HFS_TYPE
    Тип TYPE по умолчанию для файлов Macintosh. Должен иметь длину ровно 4 символа. Может быть переопределено, используя опцию командной строки -hfs-type.
    HFS_CREATOR
    Поле CREATOR по умолчанию для файлов Macintosh. Должно иметь длину ровно 4 символа. Может быть переопределено, используя опцию командной строки -hfs-creator.

    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 \

            cd_dir another_dir

    В следующем примере показано, как разместить на компакт диске разные файлы с одним именем 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=README.hfs README=README.joliet \

            README=README.unix cd_dir

    т.е. файл README.hfs будет виден как файл README на диске HFS, а другие два файла README будут спрятаны. Аналогично - для дисков Joliet и ISO9660/RockRidge.

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

     

    АВТОРЫ

    mkisofs не основано на стандартном инструменте mk*fs для unix, так как необходимо было создавать полную копию существующей файловой системы на диске с файловой системой iso9660. Название mkisofs (вероятно) появилось немного по ошибке, так как программа не только создает файловые системы, а также и распространяет их. Хотя соответствующий инструмент для UNIX для создания файловых систем - mkproto - не так широко известен.


    Eric Youngdale <ericy@gnu.ai.mit.edu> или <eric@andante.org> написал первые версии (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 в корневом каталоге компакт диска. Избежать этого невозможно.

     

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

    *
    Любые файлы, имеющие жесткие ссылки на файлы не в копируемом дереве на образ файловой системы iso9660, будут иметь некорректное значение счетчика ссылок файла.
    *
    Не проверяет запись(и) SUSP элемента "." в корневом каталоге для проверки его на наличие расширений Rock Ridge.

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

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

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

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

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

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

     

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

    Я должен был сделать для себя несколько предположений о том, каким я ожидаю увидеть в работе измененные процедуры libhfs, хотя конечно может быть много ситуаций, о которых я мог не подумать, или при которых мои предположения могут не сработать. Так что я не могу гарантировать, что mkisofs будет работать идеально и безупречно, как я от нее ожидал (хотя лично я не встретил пока еще ни одной глобальной ошибки). Большинство возможностей HFS работают отлично, хотя некоторые не до конца проверены. Такие пункты отмечены по тексту руководства пометкой Alpha.

    Хотя имена файлов 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 .

     

    СМ. ТАКЖЕ

    cdrecord(1), mkzftree(1), magic(5), apple_driver(8).

     

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

    Некоторое подобие графического интерфейса.

     

    ДОСТУПНОСТЬ

    mkisofs можно получить, как компонент пакета cdrecord с адреса: ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/

    hfsutils from ftp://ftp.mars.org/pub/hfs

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

     

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

    Если вы хотите принять активное участие в разработке mkisofs, и/или mkhybrid, то вы можете подписаться к списку рассылки "cdwriting", отправив сообщение на адрес:
    
              other-cdwrite-request@lists.debian.org
    
    
    включив в тело письма слово subscribe. Электронный адрес списка рассылки:
    
              cdwrite@lists.debian.org
    

     

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

    Joerg Schilling
    Seestr. 110
    D-13353 Berlin
    Germany
    

     

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

    James Pearson

    j.pearson@ge.ucl.ac.uk

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

    cdrecord-support@berlios.de
    или на адрес other-cdwrite@lists.debian.org

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

    cdrecord-developers@berlios.de
    или на адрес: schilling@fokus.gmd.de

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

    http://lists.berlios.de/mailman/listinfo/cdrecord-developers
    или http://lists.berlios.de/mailman/listinfo/cdrecord-support


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ОПЦИИ
    ОПЦИИ
    НАБОРЫ СИМВОЛОВ
    ТИП/СОЗДАТЕЛЬ HFS
    ФОРМАТ
    ИМЕНА ФАЙЛОВ HFS MACINTOSH
    ОПРЕДЕЛЯЕМЫЕ ПИКТОГРАММЫ ТОМА/ПАПКИ HFS
    ДРАЙВЕР ЗАГРУЗКИ HFS
    ИНФОРМАЦИОННАЯ ТАБЛИЦА ЗАГРУЗКИ EL TORITO
    НАСТРОЙКА
    ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
    АВТОРЫ
    ЗАМЕЧАНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    ПРОБЛЕМЫ/ОГРАНИЧЕНИЯ HFS
    СМ. ТАКЖЕ
    ПЛАНИРУЕМЫЕ УЛУЧШЕНИЯ
    ДОСТУПНОСТЬ
    СПИСКИ РАССЫЛКИ
    ОТВЕТСТВЕННЫЙ ЗА ПОДДЕРЖКУ
    ОТВЕТСТВЕННЫЙ ЗА ПОДДЕРЖКУ HFS MKHYBRID


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру