11.5. Формирование файловых деревьев на компакт-дисках с данными

Проблема

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

Решение

Для того чтобы сохранить структуру каталогов, используйте параметр -graft-points при вызове mkisofs. В следующем примере сохраняется существующая структура каталогов scripts и finances:

$ ls
finances scripts
$ mkisofs -r -J -v -o cdimg1.iso -graft-points scripts/=scripts finances/=finances

Результат можно проверить, смонтировав созданный ISO-образ и просмотрев структуру каталогов с помощью команды tree -d:

$ sudo mount -t iso9660 -o ro,loop cdimg1.iso /mnt/iso
$ tree -d /mnt/iso
mnt
|-- finances
'-- scripts

Если вы хотите переместить эти два каталога в другой каталог на компакт-диске, например, в /files/archive/june, убедитесь, что каталог /files/archive/june существует на жёстком диске. Затем выполните команду:

$ mkisofs -r -J -v -o cdimg1.iso -graft-points \
  files/archive/june/finances/=finances files/archive/june/scripts/=scripts

Результат можно снова проверить, смонтировав ISO-образ и используя команду tree -dL 4:

$ tree -dL 4 /mnt/iso
mnt
'-- files
    '-- archive
        '-- june
            |-- finances
            '-- scripts

Использование параметра -graft-points позволяет гибко управлять расположением каталогов при записи ISO-образов, что может быть полезно при организации файлов для архивирования или при создании сложных файловых структур. Кроме того, возможность предварительного просмотра результата с помощью команды tree помогает убедиться, что структура каталогов была создана правильно, без ошибок или пропущенных файлов.

Вы можете комбинировать несколько параметров, таких как -r для создания системно-независимых файлов и -J для поддержки длинных имен файлов. Таким образом, вы сможете создавать ISO-образы, которые будут корректно работать на различных операционных системах, включая Windows и Linux.

Для более сложных задач с перемещением и объединением файловых систем, параметр -graft-points предоставляет возможность указания нестандартных точек вхождения для каталогов и файлов, что может быть полезно при построении логически организованных наборов данных для архивирования или распространения.

Комментарий

Поддержка командных утилит, таких как mkisofs, значительно облегчает процесс создания компакт-дисков с данными. Возможность гибкого управления файловыми деревьями с помощью параметров, таких как -graft-points, помогает организовать файлы в соответствии с вашими требованиями. Убедитесь, что вы тщательно проверяете созданные ISO-образы перед записью на диск, чтобы избежать ошибок в структуре данных.

См. также

Tree(1), mkisofs(8).