Библиотека сайта 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, но позволяющая в ряде случаев сделать процесс записи более быстрым и/или удобным.
При первом запуске программы ее нужно настроить. Указать желаемое устройство для записи, его скорость чтения/записи и т.п.
Процедура же непосредсвенно создания и записи дисков, мне кажется, в известной степени, интуитивно понятной (на сколько, это вообще можно достигнуть средствами GUI). Поэтому описание работы с X-CD-Roast я считаю возможным опустить.
На этом я заканчиваю наш краткий обзор и надеюсь продолжить эту тему в дальнейшем. Так же смею надеяться, что данная заметка вам пригодится, а если у вас остались вопросы, появились предложения или замечания - я с удовольствием их выслушаю, пишите.
Телефон редакции: (095) 232-2261
E-mail редакции: inform@softerra.ru
По вопросам размещения рекламы обращаться к Алене Шагиной по телефону +7 (095) 232-2263 или электронной почте mailto:reclama@computerra.ru