Чтобы создать iso образ в Linux:
1. Вариант через утилиту mkisofs с устаревшими опциями:
mkisofs -o имя_iso_файла -Jrv -V название_CD_диска /папка/с/файлами
2. Вариант с новыми опциями
mkisofs -l -o имя_iso_файла /папка/с/файлами
Однако начиная с Debian 10 (возможно и ранее), пакет mkisofs с одноименной утилитой больше не поставляется. Вместо этого рекомендуется установить пакет genisoimage, и воспользоваться утилитой из этого пакета:
genisoimage -o имя_iso_файла /папка/с/файлами
Вариант с полными опциями:
genisoimage -v -J -r -V MY_DISK_LABEL -o /home/user/file.iso /home/user/input_dir
Где опции обозначают следующее:
- -v - разрешить программе выдавать сообщения о проблемах (verbose)
- -J - использовать Joliet — расширение файловой системы ISO 9660, созданное для ослабления ограничений на имя файла, накладываемых ISO 9660. Используется на всех CD-ROM носителях с данными, выпущенных после 1995 года. Имена в Joliet имеют длину до 64 символов Unicode и хранятся в кодировке UCS-2. Для их хранения используется специальный дополнительный заголовок SVD, который безусловно игнорируется ISO 9660-совместимыми программами, обеспечивая этим обратную совместимость.
- -r - позволяет создавать информацию Rock Ridge, которая записывает типичные свойства файла POSIX, такие как владелец, UNIX-разрешения, временные метки, тип файла, цель символьной ссылки. В отличие от опции -R, владелец не сохраняется таким же как на жестком диске, вместо этого UID владельца устанавливается равным 0. Разрешения для всех остальных выставляется как read-only и inspect-only. Если присутствует Rock Ridge, то Linux смонтирует главное дерево каталогов и использует Rock Ridge для отображения длинных имен с оригинальными символами.
- -V - установка имени файловой системы ISO 9660. Имя будет использоваться в качестве имени ссылки в каталоге /dev/disk/by-label, когда записанный оптический носитель вставлен в устройство чтения, за которым следит udev.
- -o - имя результирующего ISO-файла. Если имя файла не задано, будет использоваться /home/user/file.iso.
- Аргумет /home/user/input_dir не является какой либо опцией. Это завершающая часть команды, и является путем к каталогу, содержимое которого (файлы и поддиректории) будет помещаться в ISO образе.
Может быть указано более одного пути к исходному каталогу. В этом случае лучше всего использовать параметр -graft-points и указать путь в форме target=source.