Запись файлов и каталогов с длинными именами юникода

Есть ли какое-либо приложение для записи CD / DVD / ISO, которое поддерживает файлы и каталоги с длинными неанглийскими (юникодными) именами? По-видимому, стандарт Joliet-long ISO поддерживает имя файла до 103 символов, но я не уверен, поддерживает ли он также unicode, и если Brasero или любое другое приложение Gnome могут записывать DVD-диски в этом формате. Я узнал, что приложение под названием gBurner делает довольно приличную работу, но к несчастью это приложение Win.

Мне нужно записать содержимое моего внешнего жесткого диска, но поскольку мои данные содержат много загруженных страниц (с компаньоном Каталоги HTML-страниц, содержащие изображения, сценарии JS, стили CSS и т. Д.), И поскольку многие из этих имен файлов содержат неанглийские символы, мне нужно некоторое приложение / формат, чтобы они могли безопасно их размещать на DVD-диске (без использования старых, необходимо сжать содержимое под английским именем файла), чтобы содержимое читалось на машинах Linux и Win.

1
задан 10 August 2013 в 06:00

1 ответ

Команда mkisofs, данная здесь, действительно создает файловую систему, которая сможет отображать довольно длинные и экзотические имена в Linux и MS-Windows.

Вам нужно дерево Joliet для просмотра правильных имен в MS- Окна. Linux будет использовать расширение Rock Ridge.

Joliet закодирован в UTF-16, который является формой Unicode. Предписанная максимальная длина имени равна 64 chracters (= 128 байт). Пространство в записи каталога должно содержать до 103 символов.

Rock Ridge не имеет определенного набора символов. Имя файла может содержать 255 байт. Он будет копировать байты имен, хранящиеся в дереве файловой системы. UTF-8 полностью в порядке.

Уровень ISO влияет на максимальную длину имени в дереве каталогов ISO 9660. Уровень 1 требует имен стиля DOS (плюс аддонов), уровень 2 и 3 ограничивает длину имени до 30 свободно выбираемых символов, плюс обязательные точки и точки с запятой, плюс номер версии от 1 до 32767. Но это малоинтересно. Linux и MS-Windows будут использовать информацию от Rock Ridge соответственно. Joliet.

Уровень 3 позволяет файлы данных размером 4 гигабайта или больше. Остерегайтесь: по крайней мере, старые версии mkisofs портят свою копию больших файлов данных. Пройдите тест с установленными mkisofs, если у вас есть файлы размером 4 гигабайта или больше.

Я бы предложил использовать мою собственную программу xorriso, а не mkisofs

xorriso -for_backup \
        -outdev /dev/sr0 \
        -blank as_needed \
        -joliet on \
        -map /path/to/files /

Это будет пусто CD, DVD или BD в драйвере / dev / sr0, если среда еще не пуста, или. занятой файловой системой ISO, которая должна быть перезаписана. Он скопирует дерево под / путь / в / файлы на жесткий диск к дереву в каталоге / каталога файловой системы ISO. Затем он создаст файловую систему ISO с Joliet и Rock Ridge и сжег ее до пустого носителя.

Будут добавлены контрольные суммы MD5 для суперблока, дерева каталогов, всего изображения и каждого отдельного файла данных. Вы можете проверить успех записи общего изображения с помощью

xorriso -for_backup -indev /dev/sr0 -check_media --

или проверить каждый отдельный файл данных на

xorriso -for_backup -indev /dev/sr0 -check_md5_r sorry / --
1
ответ дан 24 May 2018 в 19:11
  • 1
    Спасибо. Но у меня возникли два вопроса: – Metallica 12 August 2013 в 06:05
  • 2
    1. Что делать, если я хочу ПРИЛОЖИТЬ / ДОБАВИТЬ некоторые файлы / каталоги на уже сгоревший DVD (очевидно, с достаточным свободным пространством) или файл ISO? 2. Что делать, если некоторые из моих файлов / каталогов имеют имена более 103 символов? Я имею в виду, что общая длина пути составляет 103+? Убираются ли имена файлов, или имена каталогов, или и то, и другое? (как пользователь получает уведомление и как он может указать более короткое имя?) 3. Я не полностью понял: есть ли ограничение 103 символов Юникода или 103 английских символа? Вы сказали: «Joliet закодирован в UTF-16, который является формой Unicode. Предписанная максимальная длина имени составляет 64 хрусталя ". Спасибо. – Metallica 12 August 2013 в 06:16
  • 3
    Я выстрелил. Существует проблема. Он просто игнорирует файлы с именами файлов длиной более 240 (или 103?) Символов, которые, я думаю, являются разрушительными, особенно когда вы делаете резервные копии. Он должен обрезать имена файлов, а не просматривать файлы, и предпочтительно отображать исходное имя и путь к пользователям и просит его / ее ввести требуемое более короткое имя. Также очень важна функция добавления некоторых файлов в компиляцию. – Metallica 12 August 2013 в 07:13
  • 4
    Произошло что-то странное: хотя ваше приложение (xorriso) предупреждало о некоторых файлах с длинными именами (которые я не помню точных файлов), но перед тем, как записывать, я отметил файл с длинным именем, чтобы проверить, работает ли он с этим 173- character-long filename (содержащий некоторые неанглийские символы). И это сработало! Большой! Но почему это дало некоторые предупреждения / ошибки? Имеют ли эти файлы разные файлы с очень длинными именами файлов (которые не сожжены)? – Metallica 12 August 2013 в 08:06

Другие вопросы по тегам:

Похожие вопросы: