--------------------------------------------------------------------------------
Winfried TrЭmper winni@xpilot.org
V2. 4.1, 16 декабря 1997
Переводчик: Максим Дзюманенко admapril@april.kiev.ua
--------------------------------------------------------------------------------
Этот документ рассматривает вопрос процесса записи КОМПАКТ-ДИСКОВ под
Linux.
--------------------------------------------------------------------------------
1. Введение
Мой первый опыт с записыванием CD руководствовался "Linux CD Writer
mini-HOWTO" Matt Cutts
. Спасибо Matt!
Хотя моя цель была только дополнить документ, я переписал его с начала
после того, как я
понял, сколько изменилось с 1994.
1.1. Оговорка
Я (Winfried Truemper) ОТКАЗЫВАЮСЬ ОТ ВСЕХ ГАРАНТИЙ ОТНОСИТЕЛЬНО ЭТОГО
ДОКУМЕНТА, ВКЛЮЧАЯ
ВСЕ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ ПОТРЕБНОСТИ И ПРИГОДНОСТИ ДЛЯ НЕКОТОРЫХ
ЦЕЛЕЙ; НИ В КОЕМ СЛУЧАЕ
НЕ БУДУ НЕСТИ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ НАМЕРЕННЫЕ, КОСВЕННЫЕ ИЛИ НЕПРЯМЫЕ
УБЫТКИ ИЛИ КАКИЕ
БЫ ТО НИ БЫЛО УБЫТКИ ИЗ-ЗА ПОТЕРЬ ДАННЫХ ИЛИ ПРИБЫЛИ, ЛИБО В ДЕЙСТВИИ
КОНТРАКТА, ВРЕЗУЛЬТАТЕ
НЕБРЕЖНОСТИ ИЛИ ИСКАЖЕНИЯ ДЕЙСТВИЙ, ПРИЧИНЕННЫЕ В РЕЗУЛЬТАТЕ ИЛИ В
СВЯЗИ С ИСПОЛЬЗОВАНИЕМ
ЭТОГО ДОКУМЕНТА. Коротко: читайте и используйте на ваш собственный
риск.
I (Winfried Truemper) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS DOCUMENT,
INCLUDING ALL
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A CERTAIN PURPOSE;
IN NO EVENT SHALL I
BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
OF THIS DOCUMENT. Short:
read and use at your own risk.
1.2. Рекомендуемая литература
CD-R FAQ http://www.cd-info.com/CDIC/Technology/CD-R/FAQ.html - общее
FAQ о устройствах
записи компакт-дисков (CD-R).
Linux CD-ROM HOWTO объясняет все, что нужно знать о CD-ROM под Linux.
Как дополнение, Вы
можете просмотреть Linux SCSI HOWTO и Linux kernel HOWTO.
1.3. Терминология ... лазеры на максимум ... огонь!
CD-ROM обозначает Compact Disc Read Only Memory (Постоянное Запоминающее
Устройсто на
Компактных Дисках), носитель использует оптический лазер, для восприятия
микроскопических
ямы (питов - pits) на диске с изменяющейся степенью отражения. (Отражение
происходит от слоя
аллюминия, который является носителем.) Ямки представляют биты информации
(некоторым
способом) и настолько миниатюрны что на диске помещаются несколько
миллиардов. Таким образом
CD-ROM - высокоемкое устройство памяти.
Термин CD-R - короткая форма CD-ROM recordable и относится к CD-ROM,
который не имеет "
микроскопических ям " на поверхности ..., таким образом он пустой.
Вместо алюминиевого слоя (серебряного) CD-R имеет специальную пленку
(окрашенную) в который
" микроскопические ямы " могут быть выжжены. Это делается, с помощью
лазера, который обычно
только считывает ямы, но немного большее количество мощности - и он
выжигает ямы. Это
действие может только применяться один раз на CD-R.
Вы можете оставить некоторую площадь для записи позже, создавая так
называемый
много-сеансный CD-ROM. (мультисессионный)
Это мини - HOWTO расписывает запись CD-R. Добро пожаловать на борт, капитан.
1.4. Поддерживаемые CD-Writers
Детализированный список моделей, которые, как сообщено (не) работают
успешно, доступен в
http://www.shop.de/cgi-bin/winni/lsc.pl
Список будет включен в будущие версии этого mini-HOWTO. Большинство
SCSI cd-writers
поддерживаются, и самая новая версия cdrecord даже поддерживает ATAPI
cd-программы записи.
Если ваши аппаратные средства не поддерживаются, Вы можете использовать
Linux, для создания
образа CD, а затем для записи образа на CD-R Вы должны использовать
программу ДОС. Вы можете
делать так, потому что большинство программ для ДОС не может работать
с длинными именами
файла, доступными в Linux.
В этом случае Вы можете пропускать все связанные с аппаратными средствами
секции
(относительно обобщенных SCSI устройств и cdwrite/cdrecord).
1.5. Поддерживаемые "свойства"
В настоящее время программное обеспечение для создания CD под Linux
поддерживает следующие
основные свойства:
Свойства
cdwrite-2. 1 cdrecord-1. 7
--------------------------------------- ----
ATAPI поддержка не
да
Мультисеанс
только частично да
RockRidge
да (mkisofs) да (mkisofs)
Эль- Torito
да (mkisofs) да (mkisofs)
HFS
да (mkhybrid) да (mkhybrid)
Joliet
да (mkhybrid) да (mkhybrid)
RockRidge - расширение, для использования более длинных имен файлов
и более глубокой
иерархии каталога. Эль- Torito может использоваться, для создания загрузочных
CD.
Пожалуйста см. прилагающуюся документацию для дальнейших подробностей
относительно этих
специальных свойств. HFS позволяет читать macintosh CD-ROM, как будто
это HFS том. Joliet
добавляет длинные имена файлов (среди прочих вещей) для некоторых вариантов
Windows (95,
NT).
Секция 2.8 описывает упомянутое программное обеспечение.
1.6. Список рассылки
Если Вы хотите присоединиться к группе разработки (с намерением активно
помогать им),
пошлите электронное письмо на
mailto:cdwrite-request@pixar.com
И поместите слово, subscribe в теле сообщения.
1.7. Доступность
Самая новая версия этого документа всегда доступна на http://www.shop.de/~winni/linux/cdr/
2. Готовим ваш Linux к записи CD-ROM
Перед ноябрем 1997, программное обеспечение для Linux не поддерживало
ATAPI cdwriters. В
результате, текущее HOWTO концентрирует внимание на SCSI устройствах.
Есть хорошие новости, имеють дело с ATAPI - намного проще и Вы можете
все же использовать
этот HOWTO, если Вы только забудете о " обобщенных SCSI устройствах
". Чтобы выяснять, как
адресовать ATAPI устройства, Вы можете давать команду cdrecord -scanbus.
Будущие версии этого HOWTO будут содержать большее количество подробностей
относительно
ATAPI cd-программ записи.
2.1. Установка аппаратных средств
Выключите ваш компьютер и соедините устройство записи CD с SCSI шиной.
Удостоверитесь, что SCSI-шина правильно терминирована и выберите свободный
SCSI ID для
устройства записи. Просмотрите Linux SCSI-HOWTO, если вы не уверены.
Если Вы не
догатываетесь о чем речь, спросите эксперта.
Включите питание и проверьте сообщения, которые выдает BIOS SCSI-контроллера
после
включения. Если он не распознает Ваше устройство записи, возвратитесь
к шагу (b). Вы должны
видеть сообщение подобное
missing picture; has anyone a screenshot of it?
2.2. Примечания относительно записи КОМПАКТ-ДИСКОВ под Linux
В отличие от других , Linux-ядро не требует заплат, чтобы записать
CD-ROM. Хотя файл
drivers/scsi/scsi.c из истоходников ядера содержит строки
case TYPE_WORM:
case TYPE_ROM:
SDpnt->writeable = 0;
Это означает только, что CD и WORM - записываются через не стандартные
устройства
/dev/sda-/dev/sdh.
Вместо того, чтобы использовать эти устройства запись CD выполняется
через так называемые
обобщенные SCSI-устройства, которые разрешают почти все - даже запись
CD.
2.3. Создание обобщенных устройств
Относительно относительно обобщенных SCSI-устройств в Linux SCSI-HOWTO
сказано:
The Generic SCSI device driver provides an interface for sending SCSI
commands to all SCSI
devices - disks, tapes, CDROMs, media changer robots, etc.
Обобщенный SCSI драйвер устройства обеспечивает интерфейс для посылки
команд SCSI ко всем
SCSI устройствам - дисками, лентами, CD-ROM, роботам сменных дисков,
и т.д.
Говоря о обобщенных устройствах как о интерфейсах подразумевают, что
они обеспечивают
альтернативный способ доступа к аппаратным средствам SCSI.
Этот альтернативный способ требуется, потому что стандартные устройства
разработаны, чтобы
читать данные с диска, ленты или cd-rom. В сравнении с этим, cd-writer
(или сканнер) более
экзотичны, им передаются команды позиционирования лазера. Для чистой
(и следовательно
быстрой) реализации стандартных устройств, все такие экзотические действия
должны быть
выполнена через обобщенные SCSI устройства.
Через обобщенные устройства со SCSI-аппаратными средствами может быть
сделано все, они не
предназначены для определенной цели - следовательно обобщенные.
Войдите в каталог /dev и проверьте обобщенные SCSI устройства; ls-команда
должна показать
sga-sgh:
bash> cd /dev
bash> ls -l sg*
crw------- 1 root
sys 21, 0 Jan 1 1970 sga
crw------- 1 root
sys 21, 1 Jan 1 1970 sgb
crw------- 1 root
sys 21, 2 Jan 1 1970 sgc
crw------- 1 root
sys 21, 3 Jan 1 1970 sgd
crw------- 1 root
sys 21, 4 Jan 1 1970 sge
crw------- 1 root
sys 21, 5 Jan 1 1970 sgf
crw------- 1 root
sys 21, 6 Jan 1 1970 sgg
crw------- 1 root
sys 21, 7 Jan 1 1970 sgh
Если у Вас нет этих устройств, создайте их, используя /dev/MAKEDEV-скрипт:
bash> cd /dev/
bash> ./MAKEDEV sg
Теперь файлы устройств должны обнаружиться.
2.4. Разрешение использования обобщенного SCSI и loopback устройств
Linux-ядро нуждается в модуле, который сделает возможным работу с обобщенными
SCSI
устройствами. Если в вашем ядре есть этот модуль, он должен быть указан
в псевдо-файле
/proc/devices:
bash> cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyp
5 cua
7 vcs
21 sg <-----
обозначает "SCSI Generic device"
30 socksys
Block devices:
2 fd
7 loop < ----- мы может использовать петлевое устройство
8 sd
11 sr < ----- заменяет " SCSI cd-rom "
Возможно, Вы должны дать команду insmod sg, insmod loop или insmod sr_mod,
чтобы загрузить
модули в ядро. Проверьте снова после того, как вы попробовали это.
Если одни из модулей не загрузился, Вы должны реконфигурировать ваше
ядро и
перекомпилировать его.
bash> cd /usr/src/linux
bash> make config
[..]
*
* Additional Block Devices
*
Loopback device support (CONFIG_BLK_DEV_LOOP) [M/n/y/?] M
[..]
*
* SCSI support
*
SCSI support (CONFIG_SCSI) [Y/m/n/?] Y
*
* SCSI support type (disk, tape, CD-ROM)
*
SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?] Y
SCSI tape support (CONFIG_CHR_DEV_ST) [M/n/y/?] M
SCSI CD-ROM support (CONFIG_BLK_DEV_SR) [M/n/y/?] M
SCSI generic support (CONFIG_CHR_DEV_SG) [M/n/y/?] M
[..]
ISO9660 cdrom filesystem (CONFIG_ISO9660_FS) [Y/m/n/?] M
Пожалуйста обратите внимание, что я опустил не так важные вопросы.
2.5. Создание и установка ядра
Если у Вас есть вопросы относительно этого - прочтите Linux kernel
- HOWTO. Кроме того, ваш
Linux-дистрибутив должен сопровождаться документацией относительно
этой проблемы.
Подсказка: во время перекоппиляции, Вы можете продолжать шаги 2.7-2.9
2.6. Перезагрузка компьютера для активизации изменений.
Не паникуйте, если Linux-ядро печатает сообщения быстрее, чем Вы можете
читать их, по
крайней мере инициализация SCSI-устройств может быть отображена командой
dmesg:
scsi0 : NCR53c{7,8}xx (rel 17)
scsi : 1 host.
scsi0 : target 0 accepting period
100ns offset 8 10.00MHz
scsi0 : setting target 0 to period
100ns offset 8 10.00MHz
Vendor: FUJITSU
Model: M1606S-512 Rev: 6226
Type:
Direct-Access
ANSI SCSI
Detected scsi disk sda at scsi0,
channel 0, id 0, lun 0
Vendor: NEC
Model: CD-ROM DRIVE:84 Rev: 1.0a
Type:
CD-ROM
ANSI SCSI
Detected scsi CD-ROM sr0 at scsi0,
channel 0, id 4, lun 0
scsi : detected 1 SCSI disk total.
SCSI device sda: hdwr sector=
512 bytes. Sectors= 2131992
Выше приведена только что часть сообщений инициализации физически представленных
SCSI-устройств.
2.7. Создание loopback устройств
Войдите в каталог /dev и проверьте петлевые устройства. Не критично,
если у Вас нет этих
устройств, но удобнее, если они есть (см. 3.5). Если они уже есть,
ls-команда должна
показать loop0-loop7:
bash> cd /dev
bash> ls -l loop*
brw-rw---- 1 root
disk 7, 0 Sep 23 17:15 loop0
brw-rw---- 1 root
disk 7, 1 Sep 23 17:15 loop1
brw-rw---- 1 root
disk 7, 2 Sep 23 17:15 loop2
brw-rw---- 1 root
disk 7, 3 Sep 23 17:15 loop3
brw-rw---- 1 root
disk 7, 4 Sep 23 17:15 loop4
brw-rw---- 1 root
disk 7, 5 Sep 23 17:15 loop5
brw-rw---- 1 root
disk 7, 6 Sep 23 17:15 loop6
brw-rw---- 1 root
disk 7, 7 Sep 23 17:15 loop7
Если у Вас нет этих файлов устройств - создайте их, используя /dev/MAKEDEV-скрипт:
bash> cd /dev/
bash> ./MAKEDEV loop
Последняя команда завершается удачно, только если у Вас есть модуль
loop в вашем ядре (см.
2.4 для установки модулей). Если insmod loop не помогает, Вы должны
подождать, пока новое
ядро будет правильно установлено (см. 2.5).
2.8. Получение программного обеспечения для создания компакт-дисков
2.8.1. Утилиты командной строки
Следующий пакет нужен, чтобы генерировать прототипы CD-RS:
ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/ (mkisofs)
ftp://ftp.ge.ucl.ac.uk/pub/mkhfs (mkhybrid)
В зависимости от модели вашего устройства записи (см. 1.3), требуется
одна из следующих
программ для записи прототипов на CD-R:
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ (cdrecord)
ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/ (cdwrite)
Пожалуйста, используйте ближайшие зеркала этих ftp-серверов, или возьмите
их из с
компакт-диска.
Убедитесь,что у Вас есть версия 2.0 cdwrite или более новая. Никакая
старая версия и beta -
версии не будут работать правильно! Не доверите странице руководства
(старого) mkisofs,
которая заявляет, что Вам нужна версия 1.5 cdwrite.
Для информации относительно портирования cdwrite на Irix и AIX посетите
URL
http://lidar.ssec.wisc.edu/~forrest/
Если Вы используете ядро до 2.0.31, Вы должны исправить mkisofs, чтобы
анулировать ошибку в
Linux коде файловой системы. Debian-дистрибутив выпустил заплату для
версии 1.05 mkisofs
(для 1.11 также должно работать) mkisofs, который добавляет опцию '-K
' к нему (см. 3.4);
она доступна из
ftp://ftp.debian.org/pub/debian/bo/source/otherosfs/mkisofs_1.11-1.diff.gz
Эта заплата нужна, если Вы хотите монтировать образ CD через loopback
устройство (см.
3.5.).
2.8.2. Графический интерфейс пользователя (опционально)
X-CD-Roast - полная программа для записи CD под X, и она - преемник
cdwtools-0.93. Она
доступна по
http://www.fhmuenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html
В настоящее время X-CD-Roast основан на исправленной версии cdwrite-2.
0 и т.о. обладает
теми же самыми свойствами (см. 1.4). Будущие версии могут быть основаны
на альтернатной
программе cdrecord.
3. Относительно создания классических CD
Обычно запись КОМПАКТ-ДИСКА под Linux выполняется в 2 шага:
·упаковка желательного программного обеспечения в один большой файл,
используя
mkisofs/mkhybrid-утилиту
запись большого файла на CD-R с помощью cdwrite или cdrecord
Также возможно объединить 2 шага через конвейер(pipe), но это не надежно.
См. ниже.
3.1. Определение, к какому обобщенному scsi устройству подкючено устройство
записи CD
Пожалуйста обратите внимание: текущая схема наименования scsi устройств
под Linux излишне
сложна и не достаточно надежна. Факт, что я подробно описываю ее здесь,
не должен быть
извращен как подтверждение этой схемы. Люди с ATAPI устройствами записи
CD для обнаружения
правильного устройства могут попробовать " cdrecord -scanbus " и пропустить
остальную часть
этой секции.
После всех шагов второй главы, ваша система должна быть способна записывать
CD. Эта секция
может использоваться как доказательство, что все работает как нужно.
Дайте команду dmesg. Она должна выдать сообщения Linux ядра, которые
печались при загрузке
(ограничение: только последне 200) и содержат некоторую информацию
относительно соединения
CD-Writer с SCSI-шиной.
Простой пример:
Vendor: YAMAHA Model: CDR100
Rev: 1.11
Type:
WORM
ANSI SCSI revision: 02
Detected scsi CD-ROM sr1 at scsi0,
channel 0, id 3, lun 0
У этой машины 4 подсоединенные SCSI-устройства (Вы не можете их видеть,
это я Вам сообщаю),
с SCSI-ID от 0 до 3. Устройство записи 4-ое физически представленное
SCSI-устройство и
следовательно соединено с /dev/sgd (четвертое обобщенное SCSI-устройство,
когда отсчет
начинается с символом a). В этом случае команда
cdwrite --eject --device
/dev/sgd
открывает лоток - это означает,что все установлено правильно. Более
сложный пример:
scsi0 : AdvanSys SCSI 1.5: ISA
(240 CDB)
scsi1 : Adaptec 1542
scsi : 2 hosts.
Vendor: HP
Model: C4324/C4325 Rev: 1.20
Type:
CD-ROM
ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0,
channel 0, id 2, lun 0
Vendor: IBM
Model: DPES-31080 Rev: S31Q
Type:
Direct-Access
ANSI SCSI revision: 02
Detected scsi disk sda at scsi1,
channel 0, id 0, lun 0
scsi : detected 1 SCSI cdrom 1
SCSI disk total.
SCSI device sda: hdwr sector=
512 bytes.
В этом примере два SCSI-контроллера с 1 SCSI-устройством каждый. Какое
расточительсво(они
могут поддерживать до 7 устройств каждый). Это - не моя конфигурация,
так что перстаньте
меня спрашивать, много ли у меня денег ... Во всяком случае для overlookable
примера, эта
конфигурация превосходна.: -)
В вышеупомянутом примере CD-Writer имеет SCSI-ID 2, но он связан с
первым обобщенным
SCSI-устройством /dev/sga, потому что это первое физически представленное
SCSI-устройство,
которое обнаружил Linux. Надеюсь это ясно показывает, что SCSI-ID устройства
не имеет
никакого отношения к связанному обобщенному устройству.
Остается два вопроса: что случается, если Вы возьмете неправильное устройство?
Если Вы ни
указываете опцию "--<MANUFACTURER>", ни записываете любые данные
на устройство, обычно
печатается предупреждающее сообщение, и ничего плохо не случается:
bash> cdwrite --eject --device /dev/sgb
Unknown CD-Writer; if this model
is compatible with any
supported type, please use the
appropriate command line
flag.
Manufacturer: IBM
Model:
DPES-31080
Revision:
S31Q
В этом случае устройство /dev/sbg - SCSI жесткий диск (IBM).
Если Вы записываете данные на неправильное устройство, Вы перезаписываете
первоначальное
содержание и вероятно ваша система будет неисправимо повреждена . Будьте
внимательны, это
уже случалось со мной случайно.
3.2. Подбор программного обеспечения
Обычно это занимает дольше Вы ожидаете. Не забудьте, что отсутствующие
файлы не могут быть
добавлены, как только CD записан.: -)
Также имейте в виду, что некоторое количество свободного пространства
CD используется для
сохранения информации файловой системы iso9660 (обычно несколько МБ).
3.3. Помещение данных на CD.
Термин iso9660 относится к формату, в котором данные организованы на
CD. Если быть более
точным: это - файловая система на CD.
Конечно представление файлов, сохраненных в этом формате унифицировано
Linux-ядром, что
также касается и любой другой файловой системы. Так, если Вы монтируете
CD в дерево
каталогов, Вы не можете отличить эти файлы от других файлов (механизм,
используемый, чтобы
унифицировать представление файлов называется виртуальной файловой
системой, коротко VFS.)
Свойства iso9660 файловой системы не так богаты в сравнении с ext2 файловой
системой,
которая обычно используется под Linux. С другой стороны, CD только
одноразово записываем, и
некоторые элементы не имеют смысла в любом случае. Ограничения файловой
системы iso9660:
только 8 уровней подкаталогов, (отсчитанных от каталога верхнего уровня
CD). Чтобы
увеличить это число используют расширение RockRidge.
максимальная длина имен файлов: 32 символа
емкость 650 МБ
3.4. Создание iso9660 файловой системы
Перед использованием любого носителя (например гибкого диска, жесткого
диска или CD) надо
создать файловую систему (DOS формулировка: отформатировать). Эта файловая
система
ответственна за организацию и обьединение файлов, которые должны быть
сохранены на носителе.
Записываемый CD только одноразово записываем, так если мы записали
бы пустую файловую
систему, он станет форматированным - но останется полностью пустым
навсегда.: -)
Итак нам нужен инструмент, который создает файловую систему при копировании
файлов на CD.
Этот инструмент называется mkisofs. Типовый запуск выглядит так:
mkisofs -r -o
cd_image private_collection/
`---------' `-----------------'
|
|
записать в, чтобы взять каталог как источник
Опция '-r ' устанавливает права всех файлов на чтение всем на CD и разрешает
расширение
Rock Ridge. Это обычно то, что нужно и использование этой опции рекомендуются,
пока Вы не
понимаете то, что Вы делаете (подсказка: без '-r ' точка монтирования
получает права доступа
private_collection!).
Если Ваше ядро Linux до 2.0.31, Вы должны добавить опцию '-K ', чтобы
обойти ошибку в коде
файловой системы. Вам нужна исправленная версия mkisofs для этого.
Эта опция эквивалентна
опции '-P ' cdwrite. Пожалуйста см. man страницу mkisofs для подробностей.
Пользователи
более современных версий Linux не должны волноваться относительно этого.
Mkisofs пробует отобразить все имена файлов в формате 8.3, используемым
DOS, чтобы
гарантировать самую высокую возможную совместимость. В случае конфликтов
имен(различные
файлы имеют тот же самое 8.3 имя), в именах файла используются числа,
и информация
относительно выбранного имени файла печатается в STDERR (обычно экран).
НЕ ПАНИКУЙТЕ:
Под Linux Вы никогда не будете видеть эти 8.3 имен файла, потому что
Linux использует
RockRidge расширение, которое содержит первоначальную информацию файла
(разрешения, имя
файла, и т.д.).
Сейчас Вы можете удивиться, почему выход mkisofs непосредственно не
послан на устройство
записи CD. Этому есть две причины:
·
mkisofs ничего не знает о устройствах записи CD(см. секцию 2.3.)
это было бы не надежно (см. секцию 4.)
Потому что синхронизация устройства записи CD - критичная точка, мы
не пытаемся писать
непосредственно из mkisofs (не забудьте, что Linux - не, операционная
система реального
времени и выполнение задач может ужасно задерживаться). Взамен рекомендуется
сохранить выход
mkisofs в отдельном файле на жестком диске. Этот файл - 1:1 образ CD
и будет фактически
записан на CD программой cdwrite на втором шаге.
1:1-образ размещается в огромном файле, так что Вам нужно то же самое
количество свободного
дискового пространства, что и вашему собранному программному обеспечению.
Это - недостаток.
Можно было подумать о создании дополнительного раздела для этого и записывать
изображения
на тот раздел взамен файла. Я против такой стратегии, потому что, если
Вы записываете на
неправильный раздел (из-за ошибки при наборе комманды) (прим. перев:
что уже со мной
случалось), Вы можете полнностью потерять Linux-систему. Кроме того,
это - трата дискового
пространства, потому что CD-изображение - временные данные, которые
могут быть удалены после
записи CD.
3.5. Проверить образ CD
Linux может монтировать файлы, как разделы диска. Этот свойство полезно
для проверки
расположения каталогов образа CD. Чтобы монтировать файл cd_image созданный
выше в каталог
/cdrom, дайте команду
mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
Теперь Вы можете проверить файлы в /cdrom - они появляются точно так,
как они будут на
реальном CD. Для демонтирования CD-изображения просто
umount/cdrom
Предупреждение: Если Вы не использовали опцию '-K ' для mkisofs, тогда
последний файл на
/cdrom не может быть полностью читаемым.
Обратите внимание:
Некоторые древние версии mount не способны работать с loopback устройствами.
Если у Вас
такая старая версию mount, это - повод, чтобы обновить вашу Linux-систему.
Несколько людей уже предложили помещать информацию относительно того,
как получить самые
новые утилиты монтирования в это HOWTO. Я всегда отказываюсь от этого.
Если Ваш дистрибутив
Linux работает с древним mount: воспринимайте это как ошибку. Если
Ваш дистрибутив Linux
трудно обновляем: воспринимайте это как ошибку.
Если бы я включил всю необходимую информацию при работе с ошибками плохих
дистрибутивов
Linux, этот HOWTO был бы намного больше и тяжелее для чтения.
3.6. Замечания о чистых CD-RECORDABLE дисках
Немецкий компьютерный журнал "c't" издал список подсказок относительно
подложки CD в ноябре
1996:
"no-name"(неизвестного производителя) диски не самого высокого качества
лучше не
использовать
если recordable CD дефектен, это, вероятно, применимо ко всей партии
дисков (если Вы купили
более одного в одно время); возможно Вам повезло и можете по крайней
мере использовать
первые 500МБ таких CD ...
· не касайтесь переливающейся стороны CD перед записью
3.7. Запись CD образа на CD
Больше ничего не осталось делать. Перед тем, как показать Вам последнюю
команду, позвольте
мне предупредить Вас, что устройства записи CD должны обеспечиваться
постоянным потоком
данных, потому что у них маленький объем буферной памяти. Т.о. процесс
записи образа CD не
должен прерываться, или врезультате CD будет испорчен.
Чтобы убедиться, что ничто не сможет прервать этот процесс, отключите
всех пользователей
системы и отключите кабель локальной сети ... Прочтите оператор Bastard
из ада, чтобы
научиться правильно сориентироваться, чтобы сделать это.; -)
Если Вы мысленно подготовлены, оденьте черный халат, умножте SCSI-id
устройства CD на номер
версии SCSI и зажгите столько свечей, произнесите две главы ASR-FAQ
и в конце наберите:
(прим. пер.: вовсе не обязательно выполнять все эти религиозные темочки
:)
cdwrite --device /dev/sgd cd_image
или
cdrecord -v speed=2 de