събота, септември 08, 2007

Записване на дискове с cdrecord

Наскоро ми се наложи да записвам дискове под конзола, поради простата липса на X. Пък и дори да бях инсталирал едва ли можех да се надявам да подкарам K3b или GnomeBaker на 32mb RAM и 200 MHz (стария ми Compaq, но това е тема на друг разговор, за него ще пиша отделно :)
Тази невероятна машина е с Slackware 10.2 (само такъв имах и не ми се теглеше). Пакета се казва cdrtools и може да го намерите в дисковете, по-добре първо го намерете в packages.txt иначе голямо ровене ще падне. Този пакет инсталира няколко програми между които и cdrecord.
Първото нещо което трябва да направим е да съберем файловете, които ще записваме. Правим директория, където ще ги слагаме

mkdir /tmp/iso 

Копираме каквото си решим, като внимаваме да не превишим размера на диска.
cp Some_kind_of_movie.ogg /tmp/iso 

След като сме привършили копирането ще направим .iso изображение:
mkisofs -RJ -o /tmp/image.iso /tmp/iso

След като командата се изпълни би трябвало в директория /tmp да има файл image.iso.
Ако сте подозрителни и искате да проверите какво се е получило може да опитате:
mkdir /tmp/disk
mount -o loop -t iso9660 /tmp/image.iso /tmp/disk
ls /tmp/disk

И ако всичко е ОК, може да демонтираме изображението.
umount /dev/disk 

Сега преминаваме към същинското записване. За да можем да го направим, първо трябва да знаем id-то на устройството. Това става така:
cdrecord dev=ATAPI -scanbus 

Тази команда трябва да изведе нещо от типа :
Cdrecord-ProDVD-Clone 2.01.01a11 (i486-linux-gnu) Copyright (C) 1995-2006
scsidev: 'ATAPI'
devname: 'ATAPI'
scsibus: -2 target: -2 lun: -2
Warning: Using ATA Packet interface.
Warning: The related Linux kernel interface code seems to be unmaintained.
Warning: There is absolutely NO DMA, operations thus are slow.
Using libscg version 'schily-0.8'.
scsibus0:
0,0,0 0) *
0,1,0 1) '_NEC ' 'DVD_RW ND-3540A ' '1.F1' Removable CD-ROM
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *

Това означава, че моето id e 0,1,0 При вас това може да съвсем друго, така че проверети го :)
Остана най-лесното, "печенето" на диска:

cdrecord dev=ATAPI:0,1,0 /tmp/image.iso

Важно е да напишете ATAPI с главни букви защото все пак това е Linux, а не някое грозно графично DOS подобие :P

Твърде е вероятно да ви се наложи и да изтриете презаписваем диск:
cdrecord blank=fast dev=ATAPI:0,1,0

Това е! Може на пръв поглед да ви се стори малко стряскащо, но всъщност е елементарно и дори удобно. Като се има в предвид възможностите на системата просто по-добър вариант няма. :) Това чудо конзолата започва все повече да ми харесва :)