@ Карта сайта News Автора!

Bog BOS: Использование CD-ROM/-R/-RW и DVD-ROM/-R/-RW/+R/+RW в Linux

Последние изменения:
2024.03.28: sysadmin: Файловая система zfs под Linux для архива (обновление от 0.6 до 2.2)

Последнее изменение файла: 2014.04.09
Скопировано с www.bog.pp.ru: 2024.04.26

Bog BOS: Использование CD-ROM/-R/-RW и DVD-ROM/-R/-RW/+R/+RW в Linux

Для чтения статьи желательно знакомство с принципами работы накопителей на оптических дисках (см. мою статью Стандарты, носители, формат данных, устройства CD DVD) и строением файловых систем для CD/DVD файловые системы для CD/DVD: ISO 9660, Joliet, Rock Ridge, El Torito). И, конечно, с Linux.

В статье описаны:

Модули и драйверы для работы с устройством

В современных дистрибутивах (kernel 2.6) задумываться о драйверах для работы с CD/DCD-ROM не приходится (за исключением пакетной записи, pktcdvd) - даже PATA/ATAPI устройство фигурирует в системе как /dev/sr0, т.е. как SCSI CD-ROM, причём драйвер встроен в ядро, а не загружается как модуль. Так что те, кто не собирает самостоятельно систему на базе ядер 2.0/2.2/2.4 могут пропустить эту главу.

При работе с CD-ROM (CD-RW, DVD-ROM, DVD-RW) используются следующие драйверы, обычно оформленные в виде модулей ядра (подробнее номера устройств см. в Documentation/devices.txt):

Особенности конфигурации ядра для записи на ATAPI CD-RW для старого cdrecord (в режиме эмуляции SCSI), шаг влево, шаг вправо - и работать не будет (в RedHat 7.0 и выше все уже сделано за нас):

В новых версиях cdrecord можно записывать на ATAPI CD-RW в режимах ATA или ATAPI

Использование CD-ROM/DVD-ROM

Перед использованием устройства полезно сделать (если её не сделал кто-нибудь за вас) символьную ссылку для /dev/cdrom, т.к. многие программы по умолчанию ожидают увидеть устройство по этому адресу

ln -s /dev/hdс /dev/cdrom
  или
ln -s /dev/sr0 /dev/cdrom

При монтировании файловой системы надо указывать тип iso9660 или udf. Мне встретился диск с драйверами от принтеров Samsung, на котором при монтировании с типом iso9660 оказывались доступны драйвера для Unix/Linux, при монтировании с типом udf - драйвера для MS, а при монтировании с типом hfs - драйвера для Mac OS. Так что надо аккуратнее с типом auto в /etc/fstab (где это сейчас в udev/hal?). При возможности стоит добавить в строку /etc/fstab для CD-ROM ключи "noauto,owner,user,noexec,ro,utf8", чтобы он не монтировался при загрузке и позволял монтировать файловую систему обычному пользователю. Это позволит отключить автомонтирование, встроенное в Gnome, мешающее использовать устройство для записи и монтировать диски с нестандартными параметрами (выбирать тип iso9660 или udf, задавать номер сессии и т.д.). В совсем старых системах перед размонтированием необходимо закрыть все файлы на диске, в более новых достаточно использовать аплет Gnome, а в совсем новых - срабатывает аппаратная кнопка на устройстве.

В новых версиях Gnome отключить автоматическое монтирование и запуск:

Опции монтирования iso9660 (также понимает расширения Rock Ridge, Joliet, zisofs?) (mount -t iso9660 -o опции-через-запятую устройство точка-монтирования):

Опции монтирования udf (mount -t udf -o опции-через-запятую устройство точка-монтирования):

"Общепринятая" точка монтирования файловой системы с CD-ROM: /mnt/cdrom или /media/cdrecorder или /media/имя-тома.

При использовании программы find необходимо указывать ключ -noleaf, если файловая система записана без расширения Rock Ridge.

Программа hdparm для ATA устройств позволяет изменить скорость вращения (ключ -E), посмотреть (-v) и изменить параметры устройства, узнать тип и модель (-i или -I). Не все возможности доступны в режиме эмуляции (ide-scsi).

Программа eject позволяет вытолкнуть (размонтировав) диск из устройства (по умолчанию /mnt/cdrom); закрыть трей (-t, не работает на ноутбучном устройстве); выбрать слот (-c номер, нумерация с 0); узнать поддерживаемые скорости (-X); установить скорость вращения (-x скорость-в-попугаях, сбрасывается при смене диска).

Программа volname (пакет eject) показывает имя тома, установленного в устройство. Его можно использовать для создания точки монтирования с "правильным" (как в Solaris) именем (осторожно с чужими дисками!). Аналогичного результата можно добиться командой

dd if=/dev/cdrom bs=1 skip=32808 count=32

Пакет libcdio в дополнении к библиотеке содержит набор полезных программ:

Программа isosize (util-linux-ng) показывает размер файловой системы в байтах (можно указывать /dev/cdrom или образ диска).

Монтирование образов файловой системы ISO, записанных в файл:
mount -o loop имя-файла точка-монтирования

Проигрыватели CD-DA (это старый список - все имевшиеся у меня CD-DA давно сграблены во flac):

Грабители CD-DA:

Программа regionset показывает текущий регион DVD устройства, количество смен региона, остаток, при возможности позволяет его изменить. Имя устройства указывается первым параметром (/dev/dvd).

Просмотр DVD-Video.

Создание образа файловой системы ISO

Особенности конфигурации ядра (в RedHat 7.0 и выше все уже сделано за нас)

Для создания образа файловой системы ISO 9660 (расширения Rock Ridge, Juliet, HFS, Apple Extensions, El Torito, UDF) используется программа mkisofs (пакет mkisofs-2.01.1-5 в Fedora Core 3; иногда входит в пакеты cdrtools или cdrecord). В 2006 году проект был форкнут и вошёл в состав Cdrkit под именем genisoimage (версия 1.1.8 в Fedora 10). Текущая версия (genisofs 1.1.8) не позволяет создавать многоэкстентные файлы, соответственно файлы размером более 4GB (2GB?) можно записывать только в режиме совместимости с UDF (при этом они не будут читаться при монтировании в режиме ISO9660, а также недоступен многосессионый режим).

В простейшем случае, достаточно указать имя каталога, содержимое которого необходимо записать. Результат выводится на стандартный вывод. Перенаправить вывод в файл можно с помощью ключа: -o. Ключ -split-output разбивает результат на куски размером не более 1 ГБ (имя_00, имя_01 и т.д.).

Программа позволяет указать несколько имён каталогов. В этом случае их содержимое будет слито и помещено в общий образ. Сами имена каталогов верхнего уровня в образ не записываются. Опция -graft-points позволяет "пересадить" исходный файл или каталог на указанное место в образе и переименовать при пересадке (промежуточные каталоги в образе создаются "на ходу" с правами 0555), необходимость пересадки определяется наличием немаскированного символа '=' в имени исходного файла:

-graft-points полное-имя-каталога-в-образе/=исходное-имя
  или
-graft-points полное-имя-в-образе=исходное-имя

Ключ -v увеличивает болтливость программы (-v -v ещё больше). Ключ -gui тоже, но в другом виде (для интерпретации графическими оболочками). Ключ -quiet уменьшает болтливость. Ключ -log-file перенаправляет сообщения в указанный файл. Ключ -print-size выдаёт число секторов, но не создаёт образ (нужен для предварительного вычисления размера тома при записи в режиме DAO - "на лету").

Тонкости обхода исходных файлов и перемещений

При преобразовании имён файлов в ISO-допустимые латинские буквы преобразуются в прописные, имя обрезается до формата 8.3. Если при этом получаются неуникальные имена, то в одном из них последние 3 символа основы имени заменяются порядковым номером (т.е. не более 1001 дубля). Такие "упрощённые" имена будут видны программам, которые не понимают расширений ISO 9660 или если нужное расширение не использовалось при создании образа. Можно "слегка" нарушить ограничения на имена

Но лучше ограничений не нарушать, а использовать расширения для записи "недеформированных" имён файлов и их атрибутов:

Ключи для обеспечения совместимости:

Управление кодировкой имён файлов

Управление невидимостью файлов в образе (каталоги тоже можно скрывать, но требуется аккуратность в сочетании слияния и одержания... виноват, невидимости (см. README.hide)):

Ключи для занесения информации в дескриптор тома (очень полезно задать имя тома):

mkisofs позволяет создавать загружаемые диски в соответствии со спецификацией El Torito:

Например, создание первого (загрузочного) диска для RH 7.3:

mkisofs -A 'Red Hat Linux/i386 7.3' -V 'Red Hat Linux/i386 7.3' -J -R -v -x boot.cat -m TRANS.TBL -T -b dosutils/autoboot/cdboot.img -c boot.cat -o куда .

Создание первого (загрузочного) диска для RH 8.0 и более новых:

mkisofs -A 'Red Hat Linux/i386 8.0' -V 'Red Hat Linux/i386 8.0' -J -R -v -m TRANS.TBL -T -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o куда .

В кеше гугла, наверное, ещё можно найти статью создание загружаемого DVD для RedHat 8.0 (вкратце: слить все диски в один каталог, в .discinfo поместить список дисков через запятую, разрешить запись в isolinux.bin, создать .iso как описано выше и записать; для записи контрольной суммы на диск требуются дополнительные усилия) или адаптировать готовый скрипт (для встраивания md5 в iso требуется пакет anaconda-runtime; внедрение md5 - /usr/lib/anaconda-runtime/implantisomd5; проверка md5 - /usr/lib/anaconda-runtime/checkisomd5).

mkisofs позволяет записывать мультисессионные диски (не рекомендуется делать файловую систему с расширением Joliet, но без расширения Rock Ridge; имеются некоторые другие проблемы):

Для сортировки содержимого файла на диске (не имён в каталогах!) используется ключ сортировки (-sort имя-файла). Файл для каждого исходного файла должен содержать строку с именем и приоритетом (чем больше число, тем ближе к началу диска). Если хотите, чтобы диск с некрупными файлами просматривался быстро, то содержимое файлов должно лежать в том же порядке, что и выдаются имена файлов при просмотре оглавления.

Поддержка jigdo (Jigsaw Download):

Перед записью не мешает протестировать получившийся образ:

mount [ -t iso9660 ] -o ro,loop образ точка-монтирования

Некоторые параметры mkisofs/genisoimage может брать из файла .mkisofsrc/.genisoimagerc (сначала ищется из переменной окружения MKISOFSRC/GENISOIMAGERC, затем в текущем каталоге, затем в домашнем каталоге, затем в /etc/genisoimagerc, затем в каталоге, содержащей программу mkisofs/genisoimage):

Ключи HFS и Apple Extensions оставлены в качестве домашнего упражнения ;p).

Фиктивный каталог для хранения информации о перемещённых каталогах для расширения Rock Ridge называется RR_MOVED.

Утилиты

Утилита mkzftree (пакет zisofs-tools) необходима для создания образа из сжатых файлов, которые будут "разжиматься" на лету. В основном, используется для создания "Live CD" (rpm и картинки не сжимаются :(). Первый параметр указывает исходный каталог. Второй параметр указывает вновь создаваемый каталог. Все файлы из исходного каталога сжимаются и записываются в создаваемый каталог. Атрибуты файлов сохраняются (кроме ctime). Исходный каталог не изменяется. Имя создаваемого каталога надо указать программе mkisofs/genisoimage (с ключом -z). Если необходимо поместить в образ несжатые файлы (например, загрузочный образ ;), то их надо переместить в отдельный каталог до сжатия и указать отдельно программе mkisofs. Ключи:

Создание образа файловой системы UDF

Пакет udftools содержит программы записи в пакетном режиме, позволяющие

Пример создания и наполнения образа файловой системы UDF:

mkudffs --lvid=имя-тома --vid=имя-тома --media-type=dvd /tmp/test.udf 2294922
mount -o loop -t udf /tmp/test.udf /media/udf
cp ... /media/udf
umount /media/udf
cdrecord -v -dao /tmp/test.udf

К сожалению, летом 2006 года что-то поломали в монтировании udf на запись м пришлось включать запись дополнительным перемонтированием:

mount -o remount,rw /media/udf

Затем преднамеренно отключили возможность создавать файлы размером более 1GB, а это единственное для чего я использовал UDF (для записи HDTV-фильмов на двухслойные болванки). Включили только весной 2007 (я это заметил в FC6 на ядре kernel-2.6.20-1.2952.fc6).

Запись на диск - cdrecord, dvdrecord и wodim

Подготовленный (или позаимствованный) образ файловой системы надо ещё суметь записать (прожечь) на заготовку (болванку) CD/DVD. Основной (а долгое время единственной) программой для записи была cdrecord, программа с тяжёлой судьбой. Её основной разработчик (Joerg Schilling) некоторое время назад (1999) собрал в один пакет (cdrtools) все программы, необходимые для работы с CD (mkisofs, mkhybrid, cdda2wav, cdrdao, cdrecord) и всё было замечательно, пока он не захотел заработать на её версии cdrecord-ProDVD, которая позволяла записывать не только на CD-R/CD-RW, но и на DVD-R/DVD-RW. Для этого он встроил в программу защиту от записи образа размером более 1 ГБ (с выдачей личного ключа, снимающего защиту, для каждой копии) и даже организовал раздачу временно работающей ограниченной версии cdrecord-ProDVD для личного пользования (скорость записи 1х). Дело кончилось понятно чем - многочисленныим форками. Например, Red Hat "обнаружила" (или сама организовала ;) сайт с dvdrecord, дополненной возможностью записи на DVD-R/DVD-RW старой версией cdrecord (dvdrecord-0.1.2 вошла в состав RedHat 8.0). Аналогичная история произошла с SuSE (ссылка потерялась) и Mandrake. Единственное улучшение в cdrecord-ProDVD относительно этих "мутантов", которое я заметил - выдача обильной полезной информации об устройстве и болванке. Затем Red Hat и Fedora Core поставлялись с пакетом cdrecord (mkisofs и cdda2wav образуют отдельные пакеты), со встроенной возможностью записывать на DVD-R/DVD-RW. При этом выдаётся предупреждение от Joerg Schilling, что замечена работа "хакнутой этими козлами из SuSE" программы и он ответственности за последствия не несёт. В общем, он был сильно недоволен и продолжил борьбу. Сайт, где он обитал много лет (оказывается, что fhg.de расшифровывается как "Fraunhofer Institut ..."), исчез и будущее проекта cdrtools непонятно. В 2006 Joerg Schilling перевёл свой проект под лицензию CDDL (несовместимую с GPL), что было последней каплей для разработчиков Debian, которые форкнули последнюю GPL версию cdrtools в cdrkit, частями которого и являются genisoimage и wodim (Writes Optical Media). Кстати, одна из внутренних библиотек называется librols: LIB Remains Of LibSchily.

Старые версии cdrecord работают с ATAPI CD-R/CD-RW только в режиме эмуляции SCSI (см, главу про модули), т.е. необходимо загрузить модуль ide-scsi (после этого надо обращаться не к /dev/hd?, а к /dev/scd?) или загружаться со строкой hdc=ide-scsi:

Новые версии позволяют работать без эмуляции SCSI в режимах ATA и ATAPI (ATA не имеет аналога для флага disconnect, поэтому не стоит подсоединять источник данных и устройство записи на общую шину; однако см. опцию -immed).

В новых ядрах PATA и SATA устройства представлены как SCSI устройства (/dev/sr0) и соответсвующим образом к ним надо обращаться.

В первую очередь необходимо определить какие типы транспортов SCSI поддерживает ваша версия cdrecord/wodim, от этого зависит формат имени устройства при использовани cdrecord/wodim:

wodim dev=help

Возможные транспорты:

Следующим шагом необходимо определить подходящие устройства (в устройстве не должно быть смонтировано файловых систем, иначе wodim пропустит устройство при сканировании) и запомнить их адреса, выполнив либо команду получения системных имён блочных устройств (их можно в дальнейшем указывать явно: "wodim dev='/dev/scd0'")

wodim --devices

0  dev='/dev/scd0'	rwrw-- : 'ASUS' 'DRW-1814BLT'
или "традиционным" способом, получая 3 числа и префикс (их можно в дальнейшем указывать явно: "wodim dev=3,0,0")
cdrecord -scanbus
  или
wodim -scanbus

SATA DVD-RW

scsibus3:
	3,0,0	300) 'ASUS    ' 'DRW-1814BLT     ' '1.04' Removable CD-ROM

ATAPI DVD-RW в режиме эмуляции SCSI

scsibus0:
        0,0,0     0) '_NEC    ' 'DVD_RW ND-3520A ' '1.04' Removable CD-ROM

USB flash drive в режиме эмуляции SCSI

scsibus1:
        1,0,0   100) 'JetFlash' 'TS1GJF2A        ' '1.00' Removable Disk

ATAPI DVD/CD-RW без эмуляции SCSI

scsidev: 'ATA'
devname: 'ATA'
Driveropts: 'burnfree'
SCSI buffer size: 32768
scsibus1:
        1,0,0   100) 'MATSHITA' 'UJDA750 DVD/CDRW' '1.50' Removable CD-ROM

В последнем случае имя устройства будет выглядеть как:

ATA:1,0,0
или (может не поддерживать DMA, но выше вероятность, что заработает):
ATAPI:1,0,0

В большинстве случае единственное устройство будет обнаружено автоматически и его адрес в командах указывать необязательно.

Односессионный диск с данными записывается командой (используйте имя файла "-" для обозначения стандартного ввода):

cdrecord -v dev=адрес-устройства образ-файловой-системы
  или 
wodim -v образ-файловой-системы

Часто используемые ключи (некоторые без символа '-'!):

Формат вызова (некоторые ключи не начинаются с '-'!):

wodim [ общие-опции ] [dev=адрес-устройства] [ опции-дорожки-1 ] дорожка-1 ...

Если адрес устройства не задан явно, то программа пытается извлечь его из переменной окружения CDR_DEVICE. Если адрес устройства является идентификатором, то он рассматривается как метка устройства для поиска в /etc/cdrecord.conf или /etc/wodim.conf.

Общие опции, управляющие выводом сообщений:

Общие опции, задающие режим получения информации:

Общие опции, управляющие ходом процесса и обработкой ошибок:

Общие опции, задающие формат диска и режим записи:

Опции, задающие формат следующей дорожки (следующих дорожек), должны быть расположнеы после всех общих опций:

Переменные окружения:

Перед началом работы cdrecord читает параметры из файла /etc/cdrecord.conf (wodim из /etc/wodim.conf), который может содержать установки переменных

Например (про табуляции не забудьте!):

CDR_DEVICE=nec3520
CDR_FIFOSIZE=4m
nec3520=        0,0,0   -1      -1      burnfree

Теперь записывать можно так:

mkisofs имя-каталога | cdrecord -
  или
genisoimage -R имя-каталога | wodim -

Мда... А я когда-то писал длиннюююющий скрипт, который разбирался с типом устройства, выгружал, загружал нужные модули (читать диск надо было в режиме ide cdrom, а записывать в режиме ide-scsi), определял тип болванки и допустимую скорость.

Утилита readcd/readom позволяет прочесть диск для его последующего клонирования. Адрес устройства задаётся параметром dev=адрес точно так же, как в программе cdrecord/wodim. Если не указать имя файла результата (ключ f=), то утилита переходит в интерактивный режим (большинство команд не работает).

Общие опции, управляющие выводом сообщений:

Общие опции, управляющие ходом процесса и обработкой ошибок:

Общие опции, управляющие источником и получателем информации:

Общие опции, задающие формат диска и режим работы:

Пример копирования диска "с подробностями":

readom dev=устройство -clone [-nocorr] f=имя-файла
wodim dev=устройство -raw96r -clone -v имя-файла

Для записи в режиме -dao нужна чистая болванка, так что стирание DVD-RW необходимо производить отдельным проходом:

wodim dev=адрес blank=fast

Перед записью на DVD-* и в конце записи маленьких образов наблюдается большая пауза (несколько минут), стандарт накладывает ограничение на минимальный размер тома (около 800 МБ, некоторые DVD-ROM после загрузки проводят калибровку в середине диска и обижаются, если там ничего нет). После записи на DVD-R/DVD-RW необходимо вынуть и вставить диск, иначе он не монтируется (подсистема кеширования не знает о том, что данные на DVD-ROM изменились). Или просто используйте ключ -eject.

Записывать "на лету" в режиме DAO всё же можно, но в 2 этапа:

cdblocks=`mkisofs -print-size -quiet ...`
mkisofs ... | dvdrecord -dao tsize=${cdblocks} ... -

Проект libburnia как замена mkisofs/cdrecord

Проект libburnia (2002) задуман для разработки библиотек, позволяющих добавить в любую программу возможность создания образов файловой системы ISO 9660, записи их на оптический носитель и чтения. Лицензия - GPLv2. Реализована под Linux и FreeBSD. Пока не все обещания исполнены. Состоит из:

Используется в xfburn (графическая программа записи для Xfce).

Запись на диск - growisofs

Пакет dvd+rw-tools 7.1 содержит средства для записи на DVD-R, DVD-RW, DVD+R, DVD+RW, DVD-RAM, Blu-ray (BD-RE и BD-R) и форматирования DVD-RW, DVD+RW, DVD-RAM. Поддерживает запись на DVD+R9, на DVD-R DL (только одна сессия, для мультисессионной записи требуется поддержка Layer Jump от mkisofs/genisofs). Устройство должно быть MMC3-совместимо. Для создания образа файловой системы требует наличия mkisofs/genisofs. Может записывать созданные ранее образы, создавать образ на лету (вызывает mkisofs/genisofs) и дополнять записанный на диске образ новыми файлами. Не умеет записывать на CD-R и CD-RW. Лицензия - GPL.

Перед записью необходимо отключить программы автоматического монтирования (autofs, supermount, magicdev, autorun и т.д.).

Использование ATAPI устройства с ядром 2.4 требует тех же манипуляций с модулем эмуляции SCSI, что и программа cdrecord, например, загрузки с параметром ядра hdX=ide-scsi и установки модулей sg, sr_mod, ide-scsi (к устройству при этом надо обращаться как к /dev/scdN).

Перед первой записью болванку DVD+RW требуется отформатировать (growisofs пытается сделать это самостоятельно, но может потребоваться ей помочь) программой dvd+rw-format (большая часть форматирования происходит в фоновом режиме).

Запись на DVD-R осуществляется методом последовательных добавлений (весь образ или всё дополнение записываются как одна зона), на DVD-RW - методом последовательных добавлений (Incremental Sequential) или ограниченной перезаписи (Restricted Overwrite, всё вместе выглядит как одна зона, но на границах 32КБ блоков делаются связки; требуется форматирование перед использованием; требуется полная очистка, чтобы вернуться к методу последовательных добавлений ("dvd+rw-format -blank"), или частичная очистка, чтобы использовать болванку в режиме DAO). Некоторые устройства поддерживают только режим (выясняется опытным путём ;). Текущий режим можно узнать командой dvd+rw-mediainfo (Mounted Media). Запись в режиме DAO возможна, но рекомендуется использовать dvdrecord (cdrecord, wodim).

Устройство записи на BD-R и BD-RE половину времени тратит на проверку записанного (система управления дефектами перезаписывает плохо записавшиеся блоки в резервную зону), так что рекламируемую скорость необходимо делить на 2. Перед первой записью на BD-RE growisofs форматирует болванку самостоятельно, резервируя 256 MB. Запись на BD-R возможно в режимах предварительного форматирования (резервируется зона для управления дефектами), последовательной записи (без резервирования зоны), перезаписи (перезаписываемые блоки выдаются за дефективные, зона резервируется) и произвольного доступа (аналогично, не поддерживается). В последних 2 случаях резервная зона может достигать половины диска. Перед первой записью на BD-R growisofs форматирует болванку самостоятельно в режиме перезаписи, резервируя всего 256 MB.

Для записи на диск используется программа growisofs, которая работает в 2 режимах: запись первой сессии и слияние новых файлов с содержимым предыдущей сессии. Для записи первой сессии необходимо указать ключ -Z и имя устройства (например, /dev/scd0), все остальные ключи из командной строки передаются программе mkisofs/genisofs для создания образа файловой системы. Образ создаётся "на лету" и записывается прямо на устройство без создания промежуточного файла. При этом

Если образ уже существует, то его можно записать с помощью команды:

growisofs -Z имя-устройства=имя-файла

В частности, если файл подаётся на стандартный ввод, то надо делать так:

find | cpio -oavH crc | bzip2 | growisofs -Z имя-устройства=/dev/fd/0

Если диск уже содержит ISO9660 и growisofs запускается неинтерактивно (cron) с ключом -Z, то она отказывается стирать старое содержимое.

Запись новой сессии со слиянием с содержимым предыдущих сессий производится командой (чтение мультисессионных дисков DVD+R/DVD-R может составлять проблему даже на той системе, на которой их записали):

growisofs -М имя-устройства параметры-mkisofs

isofs в Linux до 2.6.8 имеет ошибку, не позволяющую каталогу располагаться за 4 ГБ границей, поэтому growisofs отказывается записывать новую сессию, если её начало лежит после 4 ГБ - 40 МБ. Чтобы закрыть диск в этом случае (или вы передумали записывать ещё одну сессию) необходимо выполнить команду:

growisofs -М имя-устройства=/dev/zero

Вместо /dev/zero можно подставить имя файла, содержащего образ, но тогда необходимо также передать и ключ "-С" и его параметры.

Не работает под sudo.

Для создания incremental backup (как это по-русски?) обратите внимание на ключи -root и -old-root программы mkisofs.

Дополнительные собственные ключи growisofs (все размеры задаются в секторах по 2КБ):

По завершении записи лоток с диском выдвигается, чтобы ядро сбросило блоковый кеш (он всё равно не соответствует обновленным данным на диске) и обновило размер блочного устройства.

Утилита dvd+rw-format позволяет отформатировать или очистить болванки DVD+RW, DVD-RAM и DVD-RW на указанном устройстве:

Утилита dvd+rw-mediainfo рассказывает всё что знает о диске, установленном в указанное устройство: название устройства, тип болванки, набор скоростей записи, текущая скорость записи, состояние диска, число сессий и состояние последней, число дорожек (зон?) и состояние последней.

Утилита dvd+rw-booktype позволяет прочитать (-inq) или установить (-media) тип носителя (Book Type) в зоне данных управления: -dvd-rom, -dvd-rw, -dvd-r, -dvd+rw или -dvd+r. Некоторые DVD-проигрыватели отказываются работать, если там не установлен тип DVD-ROM. Для некоторых (не моих, по слухам, NEC позволяет устанавливать тип носителя только для DVD+R9) устройств можно запрограммировать, что они будут заносить в это поле при записи DVD+R (-unit+r) или DVD+RW (-unit+rw).

Утилита dvd-ram-control позволяет переводить диск на указанном устройстве в режим "только чтение" и обратно (-rdonly, -rdwr).

Разбор имён ключей (в некоторых местах по первой букве, в некоторых по третьей ;) вызывает опасение. Тщательн'ей набирайте текст команд! Автоматический выбор скороси работает не всегда, а паузы перед записью нет, так что увидев как 16х диск собирается заисываться на скорости 2.4х, сделать уже ничего не можете.

Запись на диск - GUI

GUI:

Преобразователи форматов

Преобразование образов из формата Alcohol в ISO:
mdf2iso исходный-образ результат

Преобразование образов из формата Nero в ISO:
nrg2iso исходный-образ результат

Эти утилиты преобразования и множество других собраны в пакете AcetoneISO и AcetoneISO2 (подкачивает и запускает бинарник PowerISO, в общем выглядит подозрительно и требует 32-битных библиотек!), оболочка лицензирована GPL3. Позволяет монтировать (с помощью FUSE и fuseiso) и преобразовывать образы ISO, NRG, MDF, IMG, CCD, DMG, некоторые консольные игры. В наличии можество бонусов: возможность работы с образом как с архивом, база образов, просмотр фильма, подсчёт MD5, разбиение образа на части, шифрование, сжатие, конвертирование видео, загрузка с Youtube/Pornotube, извлечение звука из DVD-Video. И кнопочка PayPal для пожертвований - настоящее Shareware ;)

Графическая программа isomaster позволяет работать с образами ISO 9660 как с архивами. Также читает (но не пишет) NRG и некоторые MDF.

Утилита fuseiso позволяет монтировать (с помощью FUSE) образы ISO (включая zisofs), BIN, NRG, некоторые IMG (CloneCD), некторые MDF (Alcohol 120%). При монтировании необходимо указать имя файла с образом и каталог точки монтирования. Ключи:

Утилита daa2iso преобразует файлы из формата DAA (Direct Access Archive, PowerISO) в формат ISO.

LightScribe и пр.

Утилиты под Linux (не пробовал)

QPxTool - контроль качества записи

QPxTool позволяет контролировать качество записи на CD/DVD носители (по мотивам Plextor Tool, позволяет использовать дополнительные возможности устройств этой фирмы).

Ссылки

@ Карта сайта News Автора!

Bog BOS: Использование CD-ROM/-R/-RW и DVD-ROM/-R/-RW/+R/+RW в Linux

Последние изменения:
2024.03.28: sysadmin: Файловая система zfs под Linux для архива (обновление от 0.6 до 2.2)



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru