POWERMAN
"In each of us sleeps a genius...
and his sleep gets deeper everyday."
Warning Этот совет я где-то нашёл, но детально не проверял.

Как записать компакт-диск (CD-R/CD-RW/DVD-RW)?

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

Запись из консоли немного сложнее.

Для начала определимся - можно писать "налету", а можно сначала собрать образ, а потом записать его.

При работе с cdrtools, чтобы записать компакт-диск с русскими названиями файлов, чтобы MS Windows видела русские буквы, нужно собрать образ следующим образом:

mkisofs -jcharset koi8-r /one_of_your_folder | cdrecord -опции
# или
mkisofs -r -jcharset koi8-r -o /path/to/image.iso /one_of_your_folder
cdrecord -опции /path/to/image.iso

Вышеприведенный пример работает для локали koi8-r. Если у вас иная локаль, подставьте свое название!

У mkisofs опция -o указывает файл, в который будет записан образ. Опция -r почти наверняка нужна, без нее диск будет читабелен только под MS Windows. Опция -J при использовании -jcharset не нужна. Параметр у опции -jcharset - это кодировка (набранная в нижнем регистре), в которой "хранятся" имена записываемых файлов. Список поддерживаемых кодировок можно узнать из вывода mkisofs -jcharset help.

После создания образа его нужно записать с помощью программы cdrecord. Например, так:

cdrecord dev=1,1,0 -dao -v image.iso

Если вы хотите писать налету, то делаете простой конвейер:

mkisofs -v -jcharset koi8-r -r /one_of_your_folder |
    cdrecord -dao -v fs=6m speed=24 dev=1,1,0 -

Обратите внимание на "лишний" знак -. Он нужен для того, чтобы программа брала данные из потока, а не из конкретного файла.

Рекомендуем прочесть man cdrecord - там хорошее и подробное описание с объяснением команд.

Как сделать, чтобы mkisofs писал файлы вместе с папками, а не скидывал все в корень?

Чтобы mkisofs сохраняя структуру, например, папки images и htmls, выполните:

mkisofs -v -J -r -graft-points images=~/images htmls=~/htmls | cdrecord

Как смонтировать имидж в формате .img .bin .cue .nrg .ccd? Как сконвертировать имидж из формата .img, .bin .cue .nrg .ccd в iso9660?

Для начала давайте разберемся с форматами.

Формат .img понятие относительное, потому что в .img пишет и Nero и K3B, но в случае K3B это обычный iso9660 (часто такие файлы имеют расширения .iso).

Закрытые форматы .bin или .cue можно сконвертировать с помощью программы bchunk.

Формат .nrg можно сконвертировать с помощью программы nrg2iso.

Соответственно, чтобы подмонтировать такой образ, его нужно сконвертировать и дальше действовать как обычно.

Небольшое дополнение от Valerius:

Можно смонтировать nrg-образ вообще без никаких дополнительных утилит (высмыкнуто из mount-iso-image):

mount -t udf,iso9660 -o loop,ro,offset=307200 file.nrg /каталог/монтирования

Отсюда вытекает, что конвертацию nrg → iso можно вообще сделать тривиальным dd с опцией skip.

Образы с clonecd (ccd) можно преобразовать с помощью утилиты ccd2iso.

Как считать файлы с битого компакт-диска?

Если на диске фильм, например, и потеря некоторых данных не критична, можно снять образ с него вот такой командой:

dd if=/dev/cdrom of=~/cd-image.iso bs=4b conv=noerror
# Или подробнее,
dd if=/dev/cdrom of=~/cd.iso conv=noerror,sync
mkdir ~/iso
mount -o loop ~/cd.iso ~/iso
cp ~/iso/ruleznyi_film.avi ~
umount ~/iso
del cd.iso
mplayer -ao arts ~/ruleznyi_film.avi

Также можно использовать recoverdm, sdd, readcd из пакета cdrtools.

Для надежности можно выставить скорость чтения с CD-ROM поменьше.

Как мне установить скорость CDROM?

Если это IDE-устройство и не используется ide-scsi (в ядрах 2.4 для записи CDR/RW), то можно пользоваться hdparm (команда -E):

hdparm -E 8 /dev/cdrom

Аргумент команды -E - желаемая скорость (в данном случае 8x)

Вместо hdparm можно использовать eject:

eject -x 8 /dev/cdrom

Если CDROM SCSI-устройство или используется ide-scsi, то hdparm не сработает. В этом случае можно попробовать программу cdspeed. Она работает с любым CDROM (IDE/SCSI), но часто сбрасывается при remount. :( Использование:

cdspeed -s 8

Cкорость 8х, устройство по умолчанию /dev/cdrom, если устройство, например, /dev/hdc, то:

cdspeed -s 8 -d /dev/hdc

Появились сообщения о том, что программа не работает с приводами, подключенными по USB.