Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Жжем диски под Linux

Автор: Федор Сорекс, sorex@softerra.ru
Опубликовано: 2.3.2002


c 2002, Издательский дом <КОМПЬЮТЕРРА> | http://www.computerra.ru/
Журнал <СОФТЕРРА> | http://www.softerra.ru/
Этот материал Вы всегда сможете найти по его постоянному адресу: http://www.softerra.ru/freeos/16379/

Желание еще раз обратиться к теме настройки CD-R/CD-RW под линуксом у меня возникло давно. И по ряду, как мне кажется, веских причин. Во-первых, с выходом ядер ветки 2.4.x процедура настройки изменилась и упростилась. Во-вторых, хотелось бы поговорить о графических средствах записи и перезаписи дисков под линуксом. Ну и наконец, следует сказать несколько слов о записи файлов с русским буквами и прочих необходимых мелочах.

Итак, возмем самый обычный CD-R/RW привод. Лично я использую Teac CD-W58E, но все сказанное ниже должно работать и с подавляющим большинством CD-R/RW приводов (оговорюсь сразу, что и с CD-R, т.е. просто пишущими CD, без возможности перезаписи, кроме тех случаев, где явным образом идет речь именно о RW).

Настройка системы

Для работы с CD-RW нам понадобятся минимум три вещи:

  • настроенное ядро linux
  • программа для создания образов - mkisofs
  • собственно утилита для записи - cdrecord

О дополнительных утилитах для записи, а так же о графических интерфейсах мы поговорим чуть позже и в следующих статьях.

Настройка ядра

Подробнее о настройке ядра в целом можно почитать в одноименной статье и несколько устаревшем Kernel-HOWTO. Свежую информацию о настройке и установке ядра всегда можно почитать в файле /usr/src/linux/README.

А конкретнее о тех пунктах ядра, которые необходыми для записи, а так же замечания для ядер 2.0.x и ранних 2.2.x читайте соответствующий раздел CD-Writing-HOWTO.

Для ядер 2.4.x обычно ничего писать в /etc/modules.conf не нужно (ядро <само> разберется, что ему нужно), а вот для серии 2.2.x нужно добавить следующие строки в вышеуказанный файл:

alias scd0 sr_mod
alias scsi_hostadapter ide-scsi
options ide-cd ignore=hdc

В любом случае случае ядру нужно сообщить, какое IDE устройство у нас теперь SCSI. Для LILO нужно добавить следующую строчку в /etc/lilo.conf:

append=" hdc=ide-scsi "

где hdc - это /dev/hdc - т.е. ваше устройство CD-R. Не забудьте перезапустить lilo после этой операции.

Если у вас привод SCSI, а не ATAPI, то ничего писать ни в /etc/modules.conf, ни в /etc/lilo.conf не нужно.

Программы
Сейчас практически в любом дистрибутиве есть программы cdrecord и mkisofs. Если же их у вас нет или вы хотите получить более новые версии, то можно обратиться к официальной странице cdrecord, а за новой версией mkisofs заглянуть на страницу производителя вашего дистрибутива.

После установки вышеозначенных утилит и перезагрузки системы с новым ядром вы должны получить примерно такой вывод команды cdrecord -scanbus:

Cdrecord release 1.10 Copyright (C) 1995-2001 JЖrg Schilling
Linux sg driver version: 3.1.22
Using libscg version 'schily-0.5'
scsibus0:
 0,0,0 0) 'TEAC ' 'CD-W58E ' '1.0A' Removable CD-ROM
 0,1,0 1) *
 0,2,0 2) *
 0,3,0 3) *
 0,4,0 4) *
 0,5,0 5) *
 0,6,0 6) *
 0,7,0 7) *

В данном случае цифры 0,0,0 - это идентификатор вашего привода, ниже я буду заменять их на x,x,x. После всех этих действий, обращение к /dev/hdc уже невозможно, а новое обозначение вашего устройства чаще всего - /dev/scd0. Так что не пугайтесь если обращение к привычному /dev/cdrom, которое указывало на /dev/hdc даст сбой.

Создание образов:

mkisofs -R -J -jcharset koi8-r -o ourimage.iso /path/our_dir/

Здесь мы создаем образ используя Rock Ridge (опция -R). Это позволяет обойти некоторые ограничения файловой системы iso9660, - такие как ограничение на размер собственно файловой системы (650 mb), длин имен файлов (<формат 8.3>) и ряд других.
Для того, что бы и под windows можно было комфортно читать диски, используется опция -J, создающая этот образ и в т.н. Joliet-формате тоже. Если у вас файлы имеют русские имена в кодировке koi8-r, то это учитывается опцией -jcharset koi8-r и в дальнейшем можно будет читать записанные диски с корректным отображением русских названий файлов.
Ну а ourimage.iso - это, собственно, и есть образ диска, который мы создаем, /path/our_dir/ - источник файлов для этого образа.

Я предпочитаю проверить образ, перед записью: (ведь неприятно потерять болванку, особенно, какую-нибудь дорогую или редкую - на 80 или 90 минут, например)

mount -o loop ourimage.iso /mnt/iso

Собственно процесс:

Очистка диска для перезаписываемых (RW):

cdrecord -v blank=fast dev=x,x,x

опция blank=fast указывает на то, что произойдет быстрая очистака диска (т.е. очистка оглавления) и после этого можно записывать вновь.
Если вы хотите очистить диск полностью, то вам поможет опция blank=all.

Команда для записи проста:

cdrecord dev=x,x,x speed=8 -v ourimage.iso

Здесь все предельно ясно - speed=8 это скорость записи болванки. Я обычно использую максимальную допускаемую моим приводом и болванкой.

можно добавить опцию -eject:

cdrecord -eject dev=x,x,x speed=8 -v ourimage.iso

в этом случае лоток привода выдвинется после записи.

Для мультисессионного диска, необходимо добавить опцию -multi. Тогда для следующей сессии нужно будет узнать, где закончилась предыдущая запись:

cdrecord -msinfo dev=x,x,x

Выводом будет число вида 12345,09876. С него мы и начнем следующую запись:

mkisofs -R -o cd_image2 -C 12345,09876 -M /dev/scd0 /path/our_dir/

Немного GUI

Одной из самых популярных графических утилит для записи является X-CD-Roast. Фактически это только надстройка над все теми же cdrecord и mkisofs, но позволяющая в ряде случаев сделать процесс записи более быстрым и/или удобным.

 Setup

Настройка X-CD-Roast

При первом запуске программы ее нужно настроить. Указать желаемое устройство для записи, его скорость чтения/записи и т.п.

Процедура же непосредсвенно создания и записи дисков, мне кажется, в известной степени, интуитивно понятной (на сколько, это вообще можно достигнуть средствами GUI). Поэтому описание работы с X-CD-Roast я считаю возможным опустить.

 CD Create

Создание дисков

На этом я заканчиваю наш краткий обзор и надеюсь продолжить эту тему в дальнейшем. Так же смею надеяться, что данная заметка вам пригодится, а если у вас остались вопросы, появились предложения или замечания - я с удовольствием их выслушаю, пишите.



Телефон редакции: (095) 232-2261
E-mail редакции: inform@softerra.ru
По вопросам размещения рекламы обращаться к Алене Шагиной по телефону +7 (095) 232-2263 или электронной почте mailto:reclama@computerra.ru