Cdrecord
A HupWiki-ből...
Amint a nevéből sejthető, CD (és DVD) írásra használható program. Önálló programként kezdte pályafutását, újabban a cdrtools csomag részeként fut.
Honlap: http://cdrecord.berlios.de/old/private/cdrecord.html
Tartalomjegyzék |
Rendszer felkészítése cdírásra
2.4-es linux kernelnél scsi emulációt célravezető használni:
- saját kernel esetén: "ATA/IDE/MFM/RLL support - IDE, ATA and ATAPI Block devices - SCSI emulation support" és "SCSI support - SCSI CD-ROM support - SCSI generic support" (ennyi elég, a vendor-spec és low level driverben automatikusan beállítódó dolgokat ki lehet kapcsolni). (Debian gyári kernel esetén a következő modult tedd autómatikusan betöltődővé: kernel/drivers/scsi:ide-scsi)
- a bootloadernek át kell adni a "hdX=ide-scsi" paramétert ahol: 'cat /proc/ide/hd*/media' az első a hda, stb.
- ellenőrzés: 'cat /proc/scsi/scsi', az első sor a '/dev/sr0' device, a második az sr1, stb.
2.6-os linux kernelnél már elérehtő az ATA írás is:
- saját kernel esetén: "Device Drivers - ATA/ATAPI/MFM/RLL support - Include IDE/ATAPI CDROM support"; gyári kerneleknél álatlában már előre be van töltve az "ide-cd" kernel modul
- a cdrecordot a következő képp kell majd paraméterezni: cdrecord dev=ATA:0,0,0 (...) vagy cdrecord dev=/dev/hdx (utóbbi hamarosan "ki lesz javítva")
Telepítés, használat
Előszőr a megfelelő csomagokat kell telepíteni, általában cdrecord és mkisofs a nevük.
Teljesen átlagos írás:
mkisofs -J -V "teszt" teszt/ | sudo cdrecord dev=0,0,0 speed=32 -data -v -eject driveropts=burnfree -
Magyarázat: készítünk az mkisofs segítségével egy joliet kompatibilis ('-J') "teszt" labelü ('-V') imaget a "teszt/" könyvtár tartalmából a stdoutra; a sudon keresztül (user is írhat, lásd később) ezt kiírjuk a 'cdrecord' programmal a "0,0,0" devicera (lekérdezés 2.4 linux kernel alatt cdrecord -scanbus) 32szeres sebességgel, adat módban, részletes üzenetekkel, a "burnfree" bekapcsolása mellett az stdoutról szedve az anyagot ('-') és a végén dobja ki a lemezt (-eject').
Újraírható cdket le kell előtte törölni:
mkisofs (...) | sudo cdrecord (...) blank=fast (...)
Részletes leírások (a kernel beállítása, ide-scsi, cdrecord, multisession, cue/bin, loopback, stb.): CD ripping and burning from the command prompt Howto
Fontos!
A 2.6-os linux kernelt nagyon nem szereti Jörg Schilling, ezért találkozhatsz olyan cdrecord verzióval, ami a cdrecord dev=ATA: -scanbus parancs hatására a "Error trying to open /dev/hda exclusively (Device or resource busy)... retrying in 1 second." hibaüzenet végtelenített kiírására vált. "Megoldás", ha külön-külön próbáljuk lekérdezni az SCSI azonosítókat: cdrecord -scanbus dev=/dev/hdb, stb.
Másik lehetőség a cdrecord dev=ATAPI: -scanbus.
DVD írás
A hivatalos megoldást a cdrecord-ProDVD képviseli, de ez egy zárt, kereskedelmi termék.
Szabadon eklérhető a dvd+rw-tools project, ami a cdrecord köré épül.
A behelyeztt dvdről infó:
dvd+rw-mediainfo /dev/dvd
Kiírása a /foo könyvtár tartalmának (ha rw lemez van bent, akkor ezzel automatán formázza is):
growisofs -dvd-compat -speed=4 -Z /dev/dvdrw -J /foo
Megj.: ha a dvdírás nem sikerül (:-( write failed: Input/output error és a syslogban Additional sense indicates Logical unit communication CRC error (Ultra-DMA/32)), akkor az ide kábel nem bírja az adatforgalmat. Idéglenesen megoldás, ha leveszed multidmara az adott merevlemezt (pld.: hdparm -X 33 /dev/hdc), de hosszú távon szerezz be új ide kábelt (inkább 80 erest);
Tippek
A cdrecord hibaüzenetet ad ki a futtató jogaival kapcsolatban.
cdrecord: Operation not permitted. WARNING: Cannot do mlockall(2). cdrecord: WARNING: This causes a high risk for buffer underruns. cdrecord: Operation not permitted. WARNING: Cannot set RR-scheduler cdrecord: Permission denied. WARNING: Cannot set priority using setpriority(). cdrecord: WARNING: This causes a high risk for buffer underruns.
Magyarázat: nincs garantálva a hibamentes írás, ha nem real-time cpu schedulert használva a cdrecord;
a legjobb módszer rootként futtatni vagy a sudo beállítása:
'/etc/sudoers' (lehetőleg 'visudo'val): "user ALL=NOPASSWD:/usr/bin/cdrecord"
Debian alatt a cdrecord csomag telepítésekor rákérdez, hogy akarjuk-e setuid rootként futtatni ("Do you want the cdrecord binaries to be installed SUID root?"), ami elsőre jól hangzik, mivel csak így érhető el a legjobb hardware kihasználás és stabilités, de ugyanakkor biztonsági és kompatibilitási problémákat jelent. Inkább a fentebb leírt sudo módszerrel old meg.
Alternatívák
A cdrecord projectet rengeteg flame övezi, leginkább a fejelsztő Jörg Schilling személyisége és megnyilvánulásai miatt (csak egy példa: Változott a cdrecord licence).
Lehetséges kiutak:
- Cdrdao (csak DAO)
- többen nekiugrottak, hogy teljesen az alapoktól egy új cd/dvd író programot írjanak, ismertebb a Libburn és Burgner, sajnos mindkettő elhalt
- NeroLINUX (kereskedelmi)
Kapcsolódó szócikkek
- ISO9660 (.iso formátum)