Создание компакт-диска с длинными именами файловЭта статья рассказывает о том, как самому сделать компакт-диск с по-настоящему длинными именами файлов. Кто-то недовольно хмыкнет: "Что тут рассказывать, поставил пару галочек в нужной закладке настроек у любимой программы, и пиши сколько хочешь!". Тот же, кто хоть раз сталкивался с невозможностью записать на компакт-диск свои любимые mp3 файлы с именами: 01. (День рождения Лены) Вася, Гена, Боря и Петя поют свою любимую песню.mp3 или личный фотоальбом из jpg файлов вида: (22 сентября 2000 г.) Я стою в Париже около Эйфелевой башни и смотрю, как садится Солнце.jpg или какой-нибудь JAVA toolkit в распакованном виде, с именами еще похлеще вышеуказанных - могут читать дальше. Как известно, наиболее распространенными форматами, описывающими метод хранения файлов на CD, являются ISO 9660 и Microsoft Joliet extension к ISO9660. Остальные экзотические варианты распространены в меньшей степени, поскольку, обычно, поддерживаются либо только на родной аппаратной платформе, либо требуют для своей работоспособности установки дополнительных драйверов и утилит. Кратко напомню ограничения, накладываемые на имя файла двумя вышеупомянутыми стандартами.
Между тем, вполне возможно записывать на CD файлы с именами, длина которых превышает допустимые для Joliet шестьдесят четыре символа. Аналогично, возможно расширить набор используемых в имени файлов символов и сделать его идентичным тому, который использует, к примеру, Win 95 на диске с файловой системой FAT32. Такие диски умеет создавать теперь уже раритетная программа Unite CD Maker. Перед процессом создания диска "без ограничений" остается только одно значительное препятствие - программа эта написана под OS/2, и несколько незначительных - программа имеет ограничение на глубину вложенности каталогов и не умеет создавать образы дисков более 650 мб. Чтобы преодолеть и эти ограничения, я модифицировал исходный код пакета для создания образов CD под названием mkhybrid (пакет этот родом из *nix, что объясняет факт его распространения в исходных текстах). Модифицированный код был скомпилирован, опять же, под операционную систему IBM OS/2 - поскольку именно эта система является для меня основной и рабочей. Модифицированной программе я дал простое название mkhybridr, где буква "r" означает не что иное, как "Russian". Модифицированная программа обладает следующими возможностями:
Программа находится в использовании уже больше года, что дает повод говорить о некоторой стабильности выдаваемых ею результатов. Полученный в результате работы mkhybridr ISO образ может быть записан на CD диск практически любой из свежих программ записи CD под Windows. В случае необходимости выбора формата образа диска, следует выбирать стандартные 2048 байт/сектор. Практика показала, что полученные диски с длинными именами успешно видятся под OS/2 (может потребоваться обновление cdfs.ifs, поставляемого от IBM), Windows 95, 98, NT, и Linux (как минимум RedHat 6.0). Под DOS, естественно, нас ожидает неудача. Теперь почти ничто не мешает созданию архива из файлов с по-настоящему длинными именами. Почему почти? Потому что программа-то под OS/2, а эта операционная система ныне достаточно редка и живет лишь в умелых руках профессионалов. Чтобы дать возможным пользоваться этой программой и пользователям Windows, был предпринят следующий шаг. Я сделал загрузочный компакт-диск с мини-версией OS/2, работающей в текстовом режиме, специально для запуска mkhybridr. В загрузочный образ диска был помещен драйвер поддержки FAT32 в OS/2, который позволяет полноценно (хотя и небыстро) работать с FAT32 разделом. Теперь набор необходимых требований для использования mkhybridr сокращается до следующего:
Конечно, если вы работаете в OS/2, то все, что вам необходимо - это пункты 3 и 5. Как это все работает:
В этом примере:
Обратите внимание, что рекомендуется использовать mkhybridr только с вышеуказанными параметрами. Все остальное - на ваш страх и риск. Конечно, имя создаваемого образа, метку диска и путь к файлам можно менять без опасений :) Важно! Обратите внимание на "/" в путях к каталогам и файлам. Не используйте "\", и не забывайте поставить закрывающий "/" в конце пути к каталогу, содержимое которого будет помещено в ISO образ. После того, как mkhybridr успешно создаст образ диска (в конце написав его объем), вы можете перегрузиться (Ctrl-Alt-Del) в привычную вам ОС для записи этого образа на CD. Необходимые предосторожности: Следует помнить о том, что OS/2 не имеет встроенной поддержки разделов с FAT32. Для этого используется драйвер FAT32, разработанный Henk Kelder. Скачать можно здесь. Я сам пользуюсь этим драйвером достаточно давно, проблем с потерей данных не было. Тем не менее, лишние меры предосторожности в виде выделения отдельного FAT32 раздела не помешают. Желаю успехов! | ||||||
| Комментарии? Поправки? Дополнения? vorobiev@ixbt.com |