пятница, 5 декабря 2008 г.

Запись CD/DVD/BluRay дисков с помощью Cdrtools

Введение

В этой статье рассказывается о том как записывать CD, DVD и BluRay диски при помощи консольных утилит из пакета Cdrtools. Это идеальное решение для задач автоматизации резервного копирования и прожига дисков в системах без графического интерфейса.

Cdrtools и Cdrkit

Поддержкой пакета Cdrtools занимается Jörg Schilling. За более чем десятилетнюю историю этот проект пережил несколько ответвлений: наиболее известная ветка называется Cdrkit. Причиной ее создания стало решение Jörg Schilling о смене лицензии с GPL на CDDL. На эту тему была очень бурная полемика между разработчиками Debian, инициировавшими создание ветки, и автором оригинальной программы. Вот несколько интересных материалов на эту тему:
Утилиты из пакета Cdrkit совместимы с Cdrtools на уровне опций командной строки. Сами программы называются по другому, но символические ссылки со "старыми" именами решают эту проблему. Обычный пользователь не должен заметить подмены.

Из за смены лицензии во многие Linux-дистрибутивы (Debian, Red Hat, SUSE, Mandriva) вместо Cdrtools стали включать Cdrkit. Если в вашем дистрибутиве установлен Cdrkit и он вас устраивает, то наверное нет особого смысла возвращаться к Cdrtools. Однако, если в вашем дистрибутиве старая версия Cdrkit, содержащая ошибки подобно этой, я советую скачать и установить оригинальную версию пакета Cdrtools. В следующем разделе рассказывается о том как это сделать.

Установка

Скачать Cdrtools можно отсюда. Для написания этой статьи использовалась версия cdrtools-2.01.01a53.tar.gz (~2 Мб). Процедура сборки достаточно типична:
$ tar -xzf cdrtools-2.01.01a53.tar.gz
$ cd cdrtools-2.01.01
# ./Gmake.linux INS_BASE=/usr/local install
При необходимости отредактируйте переменную окружения PATH. В данном примере PATH=$PATH:/usr/local/bin.

Если в вашей системе уже есть пакет Cdrkit, то установка Cdrtools в /usr/local позволит вам пользоваться одним или другим пакетом по вашему выбору: достаточно лишь удалить символические ссылки, созданные Cdrkit для совместимости.

В пакет Cdrtools входит несколько утилит. Вот наиболее важные:
  • cdrecord - прожиг дисков
  • mkisofs - создание файловой системы ISO9660
  • readcd - создание образа с компакт-диска
  • isoinfo - исследование ISO-файлов
Вот как должен выглядеть вывод команд cdrecord и mkisofs из пакета Cdrtools:
cdrecord -version

Cdrecord-ProDVD-ProBD-Clone 2.01.01a53 (i686-pc-linux-gnu) Copyright (C) 1995-2008 Jorg Schilling

mkisofs -version

mkisofs 2.01.01a53 (i686-pc-linux-gnu) Copyright (C) 1993-1997 Eric Youngdale (C) 1997-2008 Jorg Schilling
Если же вы получите что-то вроде
cdrecord -version

Wodim 1.1.7.1
Copyright (C) 2006 Cdrkit suite contributors
Based on works from Joerg Schilling, Copyright (C) 1995-2006, J. Schilling

mkisofs -version

genisoimage 1.1.6 (Linux)
то значит в вашей системе cdrecord и mkisofs являются символическими ссылками на программы-двойники wodim и genisoimage из пакета Cdrkit. Эти ссылки необходимо удалить.

Пример

Для записи данных на диск необходимо подготовить ISO-образ:
mkisofs -quiet -R -J -l -o image.iso /tmp/data/
Опции mkisofs которые мы использовали:
  • -quiet подавление вывода
  • -R создать расширения RockRidge
  • -J создать расширения Joliet
  • -l разрешить длинные имена файлов
  • -o файл ISO-образа
Подготовленный образ можно теперь записать на диск:
cdrecord -scanbus

Cdrecord-ProDVD-ProBD-Clone 2.01.01a53 (i686-pc-linux-gnu) Copyright (C) 1995-2008 Jorg Schilling
Linux sg driver version: 3.5.34
Using libscg version 'schily-0.9'.
scsibus1:
1,0,0 100) 'ATA ' 'ST3160815AS ' '3.AA' Disk
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *
scsibus4:
4,0,0 400) 'PIONEER ' 'DVD-RW DVR-112D' '1.21' Removable CD-ROM
4,1,0 401) *
4,2,0 402) *
4,3,0 403) *
4,4,0 404) *
4,5,0 405) *
4,6,0 406) *
4,7,0 407) *

cdrecord dev=4,0,0 blank=fast -sao -eject image.iso

Cdrecord-ProDVD-ProBD-Clone 2.01.01a53 (i686-pc-linux-gnu) Copyright (C) 1995-2008 Jorg Schilling
scsidev: '4,0,0'
scsibus: 4 target: 0 lun: 0
Linux sg driver version: 3.5.34
Using libscg version 'schily-0.9'.
Device type : Removable CD-ROM
Version : 5
Response Format: 2
Capabilities :
Vendor_info : 'PIONEER '
Identifikation : 'DVD-RW DVR-112D'
Revision : '1.21'
Device seems to be: Generic mmc2 DVD-R/DVD-RW/DVD-RAM.
Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr).
Driver flags : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R LAYER_JUMP
Starting to write CD/DVD/BD at speed 10 in real SAO mode for single session.
Last chance to quit, starting real write 0 seconds. Operation starts.
Track 01: Total bytes read/written: 23975936/23975936 (11707 sectors).
Первой командой мы опросили все SCSI-устройства на всех SCSI-шинах и нашли там DVD-рекордер. Второй командой мы запустили прожиг CD-RW диска предварительно попросив его очистить. Дополнительную информацию читайте в руководстве: mkisofs(1) и cdrecord(1).

Заключение

В этой статье рассказано о том как записывать CD/DVD/BluRay диски при помощи консольных утилит из пакета Cdrtools. Это неоценимый и очень мощный инструмент! Также рассмотрен пакет Cdrkit и его связь с Cdrtools. Надеюсь эта статья поможет обойти подводные камни если вам понадобится параллельно с Cdrkit установить на свою машину оригинальный пакет Cdrtools.

Ссылки

Статья опубликована на портале OpenNET

Комментариев нет:

Отправить комментарий