Копипаст, чтобы не потерять ^_^ от сюда
Работа с ISO-образами в GNU/Linux из консоли
В большинстве современных дистрибутивов уже включены утилиты по работе с ISO-образами. Их можно создавать и использовать, применяя лишь несколько утилит, в зависимости от цели. Итак, данная статья будет разбита на три небольшие части: монтирование ISO-образа, создание и прожиг.
Использование
За монтирование ISO-образа, как впрочем и за монтирование вообще, в GNU/Linux отвечает mount. ISO-образ монтируется аналогично другим устройствам, с правами суперпользователя:
$ mount -t iso9660 -o loop /home/user/sample.iso /media/cdrom/
Единственные отличия в том, что нужно явно указывать файловую систему и дополнительно "-o loop". В данном примере, файл sample.iso будет смонтирован в каталог /media/cdrom/.
При наличии ошибки: "mount: could not find any device /dev/loop#"
Необходимо предварительно подгрузить модуль "loop":
$ modprobe loop
Чтобы получить список файлов и директорий ISO-образа без его монтирования, можно использовать isoinfo:
$ isoinfo -l -i /home/user/sample.iso
Вывод данной команды будет похож на вывод ls -lR в любом каталоге. То есть будут отображены все подкаталоги и их содержимое. Если вывод окажется слишком длинным, можно его направить на less или more, либо на grep, для вывода строк по заданному шаблону:
$ isoinfo -l -i /home/user/sample.iso | less
Создание
ISO-образ в GNU/Linux можно создать из каталога или скопировав содержимое оптического диска используя представленные ниже утилиты. Для создания копии диска существует два варианта. Первый, с использованием утилиты общего назначения - dd, выглядит это так:
$ dd if=/dev/sr0 of=/home/user/sample.iso
где,
/dev/sr0 - используемый привод, заменяйте при необходимости на свой
/home/user/sample.iso - имя образа
Однако этот способ имеет недостатки по сравнению со следующим, который помимо того, что выполняет dd не читает пустые секторы и корректирует ошибки:
$ readcd dev=/dev/sr0 f=/home/user/sample.iso
Для основанных на Debian дистрибутивах, эта строка должна выглядеть так:
$ readom dev=/dev/scd0 f=/home/user/sample.iso
Здесь уже все должно быть ясно. Если все верно и прошло без ошибок, то обе команды создадут ISO-образы с одинаковой контрольной md5sum суммой.
Создать образ из каталога немного сложнее, однако разобраться все же следует. За это отвечает программам genisoimage, в большинстве современных дистрибутивов mkisofs ссылается на нее. Если Вы не уверены, будет ли созданный образ использован в Windows системах, то добавьте опцию - J. Опция -nobak исключит ненужные файлы бекапов, заканчивающихся на ~, а опция -V добавит заголовок образа. Итак, получится следующее:
$ genisoimage -V label -r -J -nobak -o /home/user/sample.iso /home/user/files/
Для детального ознакомления следует почитать man genisoimage.