VolgogradLUG : TarasAblamsky/articles/DVDWriting

Запись DVD в linux


Про то как записывать DVD[±]R[W](всякие там разные dvd) под linux.
Оглавление документа

Запись dvd c файловой системой ISO9660 (самые обычные dvd)


1. ставим dvd+rw-tools

Пакет этот занимает 179300 байт

Обратите внимание на файлик index.html — это такое небольшое HOWTO, которым я и руководствовался, в виду того, что man growisofs еще не написан.

2. Программа, которая записывает dvd, называется growisofs
по опциям она почти полностью совпадает с mkisofs. То есть запись DVD
это практически тоже самое что и создание iso, в смысле если вы умеете
делать iso, то вы уже умеете писать dvd ;)

Итак, берем наш любимый скрипт для создания iso, меняем в нем слово 'mkisofs' на 'growisofs -Z /dev/cdrom' и получаем скрипт для записи DVD!

Вот так это выглядит у меня:

3. Все! передаем ему в качестве параметра имя директории которую хотим записать и радуемся ;)

В рассмотренном выше примере мы пишем сразу на dvd, как бы минуя этап
создания iso-образа. Это может быть не всегда удобно, записать уже
подготовленный раньше образ(пусть img.iso) можно так:

growisofs -Z /dev/cdrom=img.iso

Примечание: я так и не понял когда нужно использовать опцию -Z, а когда -M Если не работает с одной, попробуйте с другой. Сначала я думал что -Z используется для новых пустых дисков, а -M для перезаписываемых, но это оказалось не так.

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

Скорее всего они все из Сизифа.

Запись dvd с файловой системой UDF


Недавно обнаружил что файловая система iso9660 не поддерживает файлы размером больше 2Gb.
Для записи таких файлов можно использовать файловую систему UDF. На самом деле в linux можно записывать диски с совершенно любой поддерживаемой ядром файловой системой (например reiserfs или даже fat ;) ), но вот только бедные несчастные пользователи windows не смогут их прочитать. С UDF же есть шанс что и пользователям windows удастся прочитать записанные нами диски.

Способ первый

Программа mkisofs из состава dvdrtools умеет делать образ с файловой системой udf (ключ -udf).

То есть udf-образ можно создать так:

еще раз обращаю внимание что программа mkisofs должна быть из состава dvdrtools, только она умеет делать файловую систему udf.

Заглянув внутрь growisofs я обнаружил что она не содержит кода mkisofs, а вызывает ее непосредственно с помощью exec. Притом не просто вызывает а сначала проверяет переменную среды MKISOFS, и если та установлена то вызывается программа указанная в этой переменной. Таким образом можно собрать mkisofs из состава dvdrtools и использовать ее совместно с уже имеющейся в системе версией неподдерживающей UDF.

Для этого берем тарбол dvdrtools (например здесь ), распаковываем его и собираем.



Получаем бинарный файл mkisofs в каталоге mkisofs, копируем его куда-нибудь, например в ~/bin/mkisofs_udf,
после чего задаём MKISOFS=$HOME/bin/mkisofs_udf и пишем dvd c UDF командой:



Кстати, dvdrtools это не только mkisofs, это целый набор утилит для записи dvd. Это вобщем-то cdrtools, расширенные до возможности записывать dvd. Так что раз уж мы собрали эти программы можно ими и пользоваться для записи dvd.

Если по какой либо причине вам не удалось найти или собрать mkisofs из dvdrtools, то можно воспользоваться другим вариантом.

Способ второй

Для работы с UDF нам потребуется пакет udftools (сайт проекта здесь )
Если вы пользуетесь пакетным дистрибутивом, имеет смысл взять пакет из своего дистрибутива. Я использовал udftools-1.0.0-alt0.1b3, по-моему из какого-то из срезов Сизифа.

Создать образ диска с файловой системой UDF можно следующим образом:

Создаем пустой файл нужного размера (здесь 4Gb)


Затем с помошью программы mkudffs из пакета udftools создаем в этом файле файловую систему UDF

Обратите внимание на параметр -r который указывает версию UDF. Дело в том, что по умолчанию используется версия 2.01, а мы ведь переживаем за бедных пользователей поделок от Microsoft в которых она может не поддерживаться (Проверено, на windows 98 UDF2.01 не читается).

Монтируем теперь этот файл как устройство loopback

Не очень приятный момент, так как приходится пользоваться привелегиями root как для монтирования так и для смены владельца файлов в нашей новой ФС.

Теперь набиваем наш образ диска файлами которые хотим записать, то есть просто копируем все что надо в каталог куда смонтирован образ.

И размонтируем образ


Всё. Образ готов. Теперь осталось его залить на dvd, что мы и делаем так же как и в случае с iso-образом.

Полезные ссылки

http://gazette.linux.ru.net/lg83/stoddard.html — статья про то как записывать видео-dvd диски.

PS
говорят также что xcdroast и k3b умеют писать dvd, но поскольку они мне не интересны, я их даже не смотрел.


[ / Category Tips ]