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:

  1. 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)
  2. a bootloadernek át kell adni a "hdX=ide-scsi" paramétert ahol: 'cat /proc/ide/hd*/media' az első a hda, stb.
  3. 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