Настройка и работа в Linux
adb5321d

Средства записи на CD


Конечно, имеются также и другие устройства, предназначенные для этой цели: и стриммеры, и магнитооптика и... да, пожалуй, и все. Не только дискеты, но и всякого рода Zip как резервные носители при нынешних объемах данных рассматриваться не могут. А пишущие DVD - дороги и имеют проблемы с их чтением.

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

Надеюсь ошибиться, но в Linux пока эти средства далеки от совершенства, как с точки зрения функциональности, так и удобства. Главное из них - это пара утилит mkisofs и cdrecord. Первая создает т.н. образ диска, вторая обеспечивает его запись на CD. Кроме того, имеются еще mkhybrid (для создания образов) и cdrdao (для записи), но, насколько я могу судить, они применяются реже.

Правда, если обратиться к любой коллекции программ для Linux, можно обнаружить десятка два программ, предназначенных для записи CD-R/RW. Однако это просто оболочки (т.н. front-end applications), объединяющие в едином интерфейсе перечисленные утилиты командной строки.

Ознакомиться, хотя бы в первом приближении, со всеми этими программами на практике - задача непосильная, учитывая время их количество и время записи одного диска. Поэтому я расскажу только о двух программах, с которыми (чисто случайно) мне довелось поработать.

Возможно, что перед записью CD придется произвести некоторые предварительные действия. Почему? Напрямую Linux поддерживает записывающие/перезаписывающие устройства только с интерфейсом SCSI. Причина этого мне не известна, вероятно, так уж склалось исторически.

Однако относительно дешевые записывающие приводы, получившие массовое распространение за последнее время, имеют интерфейс IDE. И их поддержка реализована в Linux только через эмуляцию интерфейса SCSI, что подразумевает передачу команд SCSI по шине IDE.

Надо сказать, что, например, Linux Mandrake (возможно, и другие дистрибутивы) по умолчанию устанавливается так, что CD-R/RW устройство, если оно имеется в наличие, определяется как эмулирующее SCSI. В других же дистрибутивах для осуществления этого, скорее всего, придется перекомпилировать ядро. Каким образом - довольно подробно описано в CD-Writing HOWTO, имеющемся, в частности, и в русском переводе.

Однако предположим, что этот предварительный этап благополучно минул. Принимаемся за прикладной софт для записи CD-R/RW. В комплект Linux Mandrake входит (помимо утилит командной строки mkisofs и cdrecord) две такие программы - Gnome Toaster и X-CD-Roast. Первую я опробовать не рискнул из-за настороженного отношения к Gnome-приложениям вообще. Но - посмотрел. Замыслена она хорошо, чем-то напоминает WinOnCD: файлы и каталоги просто перетаскиваются из древа в область записи, жмется кнопка Record - и, как будто, все. Однако, повторяю, на практике я ее не использовал...

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

Работа с программой X-CD-Roast возможна исключительно в режиме администратора; попытка запустить ее от лица пользователя (командой xcdroast) приводит к сообщению об отсутствии такого файла. После запуска программы возникает красочная заставка с буквами "X-CD-Roast" на фоне пламени (это к тому, что данные не горят?) в центре и серией кнопок слева: SCSI/IDEinfo, Setup, Copy Data-CD, Copy Audio-CD, Master CD, Exit.

Нажав первую из кнопок, можно убедиться, что записывающее SCSI-устройство у нас имеется (или благополучно эмулируется), иначе все дальнейшее теряет смысл. Указывается также читающее CD-устройство, в соответствие со своим интерфейсом. Если имеется только один пишущий привод, как, например, у меня, он будет фигурировать в обоих ипостасях. Это создает ряд неудобств, в частности, не позволяет копировать напрямую аудиодиски.

С помощью кнопки Setup, понятно, осуществляется настройка программы. То есть указываются:


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


Нажатие на кнопки Copy Data-CD или Copy Audio-CD, при остутсвии читающего привода, приводит к мгновенному вылетанию программы, поэтому ознакомиться с их содержимым мне не удалось. Ну а кнопка Master CD дает доступ к тому, что нам нужно - сохранению наших данных на века.

Здесь в первую очередь нужно выбрать файлы и каталоги, которые предполагается записать. Делается это весьма кучерявым способом: сначала указывается каталог, где располагаются все нужные файлы (и не только они), а затем в поле Exclude path по одному указываются те подкаталоги, которые записывать не нужно.

Определяя источники для записи, можно (и нужно!) контролировать процесс через Preview CD-Contents и подсчет объема образа: при превышении максимально возможного объема CD никаких сообщений не следует, можно, увлекшись, спокойно создать образ размером гигабайта два-три.

Затем определяется файловая система будущего диска. Программой X-CD-Roast поддерживаются следующие из них:


  • MS DOS, то есть чистый ISO9660, поддерживающий имена с маской 8.3;
  • Unix Rock Ridge, обеспечивающий воспроизведение таких особенностей файловой системы Linux, как длинные имена, символические ссылки и т.д.;
  • Windows 95/NT - это тот формат, который известен в MS под красивым именем Joliet extensions, то есть ISO9660 с поддержкой длинных имен файлов.
  • Rock Ridge + Windows 95/NT, как нетрудно понять, сочетание поименованных файловых систем.


Впрочем, все необходимые опции файловой системы (Joliet extensions, поддержка символических ссылок и прочее) можно указать вручную, отметив соответствующие переключатели; после чего сохранить эту заказную систему как используемую по умолчанию. Записанный таким образом диск под Linux будет читаться, а вот как под Windows...

Определившись с источниками и файловой системой, можно указать всякого рода метки и идентификаторы диска, а затем, проверив для страховки конечный объем, перейти к созданию образа. Каковой пишется в указанный ранее раздел диска в виде файла *.raw. А затем дается команда для записи - и процесс, индицируемый в виде прогрессирующей панели, пошел. Нужно заметить, что под Linux при записи с физического образа он занимает несколько больше времени, чем под Windows, даже с виртуального образа: на моем устройстве средние времена записи полного диска составляли 22 и 18 минут соответственно. Однако, как будто, в первом случае он более устойчив: случайные движения мыши или включение забытого скринсейвера не приводят к переполнению буфера. Впрочем, проверять это - не рекомендую, во избежание.

Работа с перезаписываемыми дисками в X-CD-Roast по штату не предусмотрена. Соответственно, нет режима стирания CD-RW. Однако записывать на носители CD-RW он в состоянии, как и на обычные CD-R. А вот на что мне не удалось обнаружить даже намеков - это на режим мультисессионной записи.

В общем, X-CD-Roast - орудие пригодное к употреблению. К его достоинствам можно отнести гибкость настройки файловой системы, а также устойчивость - при всех моих экспериментах, как и "по делу", мне не удалось "запороть" ни одного диска. Однако отсутствие средств мультисессионности и работы с CD-RW заставило меня продолжить поиски, в результате чего методом научного тыка я выудил программу под именем KonCD.

С точки зрения интерфейса она предельно проста, предлагая при запуске на выбор копирование CD или аудиодиска, создание мастер-диска, некий Tools и установку параметров. Тем не менее, KonCD обладает некоторыми полезными особенностями. Так, он позволяет писать с уже готового iso-образа (тех же основных типов - для Unix Rock Ridge, Win9x/NT, DOS, однако заказной опции не предусмотрено). Есть возможность создания загрузочных CD (при наличие образа загрузки, естественно).

Кроме того, KonCD опознает перезаписывающие устройства и предлагает (через вышепоименованный Tools) различные варианты очистки дисков CD-RW (полная, быстрая и т.д.). Имеется возможность мультисессионной записи. И вообще, вроде все, что может потребоваться впредь. Да и в использовании существенно проще, чем X-CD-Roast, по крайней мере, мне показалось так.

Недостаток у KonCD один, но - существенный: поскольку он ныне представлен в виде достаточно ранней бета-версии, устойчивостью не блещет. Вылетая подчас во время записи. Носитель CD-R при этом, естественно, гибнет. Более того, даже диск CD-RW реанимировать не удается, даже полным стиранием, ни под Linux, ни под Windows.

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

В начало

Copyleft by
Alex Fedorchuk
http://linuxsaga.newmail.ru/


Содержание раздела