Következő Előző Tartalom

4. Kedves Winfried,...

Ez az a fejezet, amelyet általában ``Gyakran feltett kérdések válaszokkal'' néven ismernek. Ha problémád van a partnereddel, gyerekeddel vagy a kutyáddal, nyugodtad írd meg, amennyiben kapcsolatos a CD-írással, vagy egyébként szórakoztató.

4.1 Milyen érzékeny az égetési folyamat?

Próbáld ki! Használd a cdrecord -dummy kapcsolóját. Ez egy üres égetési feladatot végez el. Csinálj mindenfélét, amit égetés közben csinálnál, és figyeld meg, hogy túléli-e az égetési folyamat.

Amennyiben az mkisofs kimenetét közvetlenül a cdrecord bemenetére irányítod, az intenzív lemezhasználattal járó feladatok, például a locate adatbázisának frissítése, csökkentik az átvitt adatmennyiséget, és elronthatják a CD-t. Jobban teszed, ha ellenőrzöd, hogy ilyen folyamatokat ne indítsanak el a cron, az at vagy az anacron programok a CD-írás ideje alatt.

4.2 A fájlok töredezettsége rossz hatással van-e az átviteli sebességre?

A fájlok töredezettsége általában olyan kicsi, hogy nem észrevehető a hatása. Ennek ellenére könnyen lehet olyan patologikus eseteket létrehozni, amelyekben a merevlemez átviteli sebessége 100 kilobájt/másodperc alá csökken. Ne csinálj ilyet! :-)

Igen, a merevlemezen levő fájlok töredezetté válnak az idők során. Minél inkább tele van a fájlrendszer, annál inkább így van ez. Mindig hagyj 10-20% üres helyet, és akkor nem kell aggódnod a CD-írás miatt.

Ha nem vagy biztos benne, akkor nézd meg a rendszerinduláskor kiírt üzeneteket. A töredezettség mértéke kiíródik a fájlrendszerek ellenőrzése közben. A következő nagyon veszélyes paranccsal is megnézheted ezt az értéket:

shell> e2fsck -n  /dev/sda5        # A '-n' fontos!
[törölve -- nem érdekelnek a hibaüzenetek]
/dev/sda5: 73/12288 files (12.3% non-contiguous)

Ebben a példában a töredezettség mértéke nagyon magasnak tűnik, viszont csak 73 nagyon kis fájl van a fájlrendszerben. Tehát ez az érték nem jelez veszélyt.

Van egy e2defrag nevű kísérleti segédprogram, amely töredezettségmentesíti az Extended-2 fájlrendszert. A jelenlegi verzió még annyira sem működik megbízhatóan, hogy magáncélokra használjuk. Ha komolyan szeretnéd töredezettségmentesíteni a fájlrendszeredet, csinálj egy biztonsági mentést (vagy ami még jobb: kettőt), gyakorold az adatok visszaállítását, azután hozz létre egy új fájlrendszert (ez megsemmisíti a régit) és állítsd vissza az adatokat. Jelenleg ez a módszer a legbiztonságosabb.

4.3 Lehet-e a CD image-et UMSDOS fájlrendszeren tárolni?

Igen. Az egyetlen fájlrendszer, amely nem elég gyors és megbízható CD-íráshoz, a hálózati fájlrendszer (NFS). Én magam is használtam UMSDOS-t egy CD-írásra kijelölt PC-n (486/66), amelyen Linux és Windows is volt, és így megoszthattam a lemezterületet a két operációs rendszer között.

4.4 Nem lehet-e valahogy megkerülni az ISO-9660 korlátait?

De lehet. Bármilyen fájlrendszert rakhatsz a CD-re, de a Linuxon kívül semmilyen más operációs rendszerrel nem tudod majd elolvasni. Ez a recept:

Ha szeretnél az ilyen CD-k számára egy bejegyzést létrehozni az /etc/fstab fájlban, akkor tiltsd meg az eszköz ellenőrzését, amely a rendszerinduláskor következne be. Például:

/dev/cdrom  /cdrom  ext2  defaults,ro  0 0

Az első 0 azt jelenti, hogy ``ne vegye bele a dump-ba'', a második (ez a fontos) azt, hogy ``ne ellenőrizze a hibákat rendszerinduláskor''. Az fsck ugyanis nem tudja a CD-ket átvizsgálni.

4.5 Hogy olvassunk le sávokat az audio CD-ről?

Sok programcsomag van erre a célra. A legújabb a ``cdparanoia'', amely letölthető a

http://www.xiph.org/paranoia/

webhelyről.

Esetleg próbáld ki a cdda2wav és a sox kombinációját; mindkettő letölthető a sunsite-ról és tükrözéseiről:

ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gz
ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz

A cdda2wav segítségével egy megadott intervallumot (vagy egy egész sávot) szedhetsz le az audio CD-ről, és a program elmenti egy .wav fájlba. A sox a WAV fájlt konvertálja vissza az audio CD cdda formátumába, ezt már közvetlenül fel lehet írni CD-re a cdrecord-dal. Ha a cdrecord egy viszonylag új verzióját használod, akkor nincs szükség a sox-ra, az újabb verziók már közvetlenül támogatják a .au és a .wav fájlokat.

4.6 Hogyan kell megszondázni a SCSI eszközöket rendszerindítás után?

A drivers/scsi/scsi.c fájl a következőket tartalmazza (természetesen angolul -- a ford.):

/*
 * Használat: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
 * ahol  "0 1 2 3" a te "Host Channel Id Lun" értékeid.
 * Ne feledd, hogy ez a lehetőség BÉTA.
 *     VIGYÁZAT: Ez nem arra van, hogy menet közben cseréld ki a perifériákat.
 *     Mivel a SCSI-t nem erre tervezték, ezzel tönkreteheted a hardvered!
 * Ennek ellenére azt talán szabad, hogy bekapcsolj egy
 * már csatlakoztatott eszközt. Az valószínűleg nem
 * garantálható, hogy ez az eszköz nem fog elrontani
 * egy folyamatban levő adatátviteli folyamatot.
 */

Jegyezd meg, hogy ez csak akkor használható, ha a lánc végéhez adsz hozzá egy SCSI eszközt. Ha egy lánc közepére illesztesz be egy új SCSI eszközt, az megzavarja az eszközök elnevezését (/dev könyvtár) és a merevlemezed egész tartalmát elvesztheted.

4.7 Lehetséges-e egy az egyben lemásolni egy adat CD-t?

Igen. De ne feledd, hogy bármilyen olvasási hiba (karcolások vagy por miatt) hibás másolatot eredményez. Egyik ismertetett megoldás sem jó audio CD-k másolására. Használd a cdrdao-t vagy a cdda2wav-ot az audio CD-khez!

Első eset: van egy CD-íród és egy másik CD-ROM meghajtód is. A

cdrecord -v dev=0,6,0 speed=2 -isosize /dev/scd0

parancs kiadásával a /dev/scd0-n levő CD-ROM meghajtóról leolvasott adatfolyam egyenesen kiíródik a CD-íróra.

Második eset: nincs egy másik CD-ROM meghajtód. Ebben az esetben a CD-írót kell arra használnod, hogy leolvasd a CD-ROM tartalmát:

dd if=/dev/scd0 of=cdimage

Ez a parancs leolvassa a /dev/scd0-ra csatlakozó CD-ROM tartalmát, és kiírja a cdimage nevű fájlba. A fájl tartalma megegyezik azzal, amit az mkisofs csinálna, tehát úgy folytathatod, ahogy korábban már szerepelt ebben a dokumentumban (azaz a cdimage nevű fájlt használd a cdrecord bemeneteként). Ha szeretnél visszajelzést a folyamat haladásáról és hasonló csicsás dolgokat, akkor használhatod Jörg Schillings sdd programját.

Ha hibajelzést kapsz, akkor telepítsd a cdrecord csomag legfrissebb verzióját, amelynek része a readcd segédprogram (a misc/ alatt van). Ez ugyanazt eredményezi, mint a dd, de hiba esetén többször megkísérli elolvasni a CD-ROM szektorait.

4.8 Tudja-e olvasni a Linux a Joliet CD-ROM-ot?

Igen. A újabb kernelek (2.0.36 vagy újabb, illetve a 2.2 sorozat) beépített joliet támogatással rendelkeznek. Ne feledd mindkét opciót megadni az /etc/fstab-ban: a kulcsszavak iso9660 és joliet (az utóbbi tulajdonképpen csak egy kiterjesztés). További részletekért nézd meg a http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html weblapot.

4.9 Hogyan olvashatok CD-ROM-okat a CD-íróval?

Ugyanúgy, ahogy a közönséges CD-ROM meghajtókkal. Nincs semmi trükk. Jegyezd meg, hogy az scd eszközöket (SCSI CD-ROM) kell használnod az olvasandó CD-ROM fájlrendszerbe csatolásakor, akkor is ha ATAPI CD-ROM-od van. Emlékszel? Úgy konfiguráltad az ATAPI eszközeidet, hogy SCSI-ként viselkedjenek. Példa az /etc/fstab-ban egy bejegyzésre:

/dev/scd0  /cdrom  iso9660  ro,user,noauto  0  0

4.10 Hogy rakhatok még több adatot a CD-R lemezre?

Használd a bzip2 tömörítőt a gzip, a pkzip vagy más tömörítők helyett. Akár 30% lemezhelyet is megtakaríthatsz így, ha nagyobb méretű (>100kB) fájlokkal dolgozol. Letölthető a

http://www.muraroa.demon.co.uk/

webhelyről.

Valódi audio CD-k írása helyett a WAV hangfájlokat MP3 hangfájlokká konvertálhatod, és ezeket közönséges fájlokként tárolhatod egy ISO-9660 fájlrendszeren. Az MPEG III általában 1:10 tömörítési arányt nyújt. Természetesen a legtöbb CD-lejátszó nem tudja a fájlokat olvasni... ez a módszer hátránya. Másfelől viszont miért ne játszhatnád le a zenéket a merevlemezről a következő bulin? Egy 18 gigabájtos merevlemezen akár 3000-4000 szám is elfér! :-)

Egy szoftveres MPEG III tömörítő letölthető a

http://www.stud.ifi.uio.no/~larsi/other/8hz-mp3-cheng.tar.gz

weblapról.

Egy MPEG III lejátszó letölthető a

http://homepages.uni-tuebingen.de/student/michael.hipp/mpg123/

weblapról.

A felvett beszéd méretének csökkentésére használhatod a shorten programot, vagy a ``GSM veszteséges beszédtömörítést'':

ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/

http://kbs.cs.tu-berlin.de/~jutta/toast.html

4.11 Hogyan készíthetek bootolható CD-ROM-ot?

Szükséged lesz egy 1.44 MB-os rendszerindító lemezre. Készíts egy image fájlt a lemezről a

dd if=/dev/fd0 of=boot.img bs=18k

parancs kiadásával.

Rakd be ezt az image fájlt abba a könyvtárba, ahol a fájlokat gyűjtötted össze (vagy egy alkönyvtárába, tetszés szerint). Az mkisofs-nek a -b kapcsolóval lehet megadni a fájl helyét, és használd még a -c kapcsolót is. A részleteket elolvashatod a README.eltorito fájlban, ami benne van az mkisofs disztribúcióban.

A bootolható CD egy érdekes alkalmazása lehet a vírusbiztos DOS vagy Windows. Nem kell merevlemezre költeni (ha van hálózat, és samba-t használsz a felhasználók fájljainak a fájlszerverre mentéséhez). Azonban ez csak elméleti felvetés, még senkitől sem hallottam, hogy kipróbálta volna.

Néhány részlet a bootolható RedHat CD-ROM-ról: http://members.bellatlantic.net/~smithrod/rhjol-technical.html.

4.12 Hogyan tehetnénk valahogy írhatóvá a CD-ROM-okat?

Van a Linuxra egy overlay fájlrendszer, amelyik a CD-ROM fölé csatolódik, és elfogja az írási műveleteket. Az új és a módosított fájlok máshol tárolódnak, de a felhasználó úgy érzékeli, hogy a CD-ROM tartalma módosult. További információkért olvasd el a http://home.att.net/~artnaseef/ovlfs/ovlfs.html weblapot.

Ha ez nem elégíti ki az igényeidet, akkor várd meg, amíg a Linuxon is lesz UDF fájlrendszer támogatás, vagy segíts a fejlesztésben (lásd http://trylinux.com/projects/udf/).

4.13 Lehetséges-e egyszerre több írót használni?

Igen, bár még csak két íróval tesztelték. Szükséged lesz vagy egy friss Linux kernelre (2.2.10 az írás idején) vagy egy kernel foltra, hogy több buffer álljon az általános SCSI meghajtóprogram rendelkezésére ( ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha; a 2.2.5-ös verzióig működik).

4.14 Melyik a legjobb alapanyag?

A német ``c't'' számítástechnikai magazin közölt egy tipplistát az üres CD-R lemezekről az 1996 novemberi számban.

4.15 Mi a helyzet a Solaris, *BSD, AIX, HP-UX, stb. operációs rendszerekkel?

Csak a 2. fejezet Linux specifikus. A 3. és 4. fejezetekben leírtakat akkor is használhatod, ha nem Linux operációs rendszer fut a gépeden. Olvasd el a README.NetBSD, README.aix, README.hpux, README.next, README.solaris, README.sunos, README.vms illetve README.xxxBSD fájlokat a cdrecord csomagban.

4.16 Hol kell tárolni a helyi beállításokat?

Két lehetőség van. Vagy a cdrecord beépített konfigurációs fájlját használod, vagy egy lent bemutatott burok-parancsfájlt használsz, amely beolvassa a cdrecord konfigurációs fájlját, amiben a cdrecord paraméterei vannak, mindegyik külön sorban. A paraméterek megegyeznek a parancssori paraméterekkel, csak nincs előttük a `-' jel. Szabad megjegyzéseket is írni. Például:

# legyen bőbeszédű
v
# az írás sebessége
speed=2
# az eszközkoordináták BUS,ID,LUN formában
dev=0,6,0

A parancsfájlhoz tartozó konfigurációs fájlokat az /etc/cdrecord könyvtárba kell rakni, és a nevüket meg kell adni a parancssorban. Például, ha az /etc/cdrecord/mywriter.cfg nevű konfigurációs fájlra akarsz hivatkozni, add ki a `cdrecord.sh mywriter.cfg -audio track1...' parancsot. Minden, ami mywriter.cfg után áll, átadódik a cdrecord-nak.

#! /bin/bash

CFGDIR="/etc/cdrecord"

CFG="$1"
shift
ARGS_LEFT="$@"

if [ ! -f "$CFGDIR/$CFG" ]
then
    echo "Nem találom a $CFGDIR/$CFG konfigurációs fájlt. Kiléptem."
    exit 1
fi

while read LINE
do
    case $LINE in
        \#*|"") continue;;
    esac
    old_IFS="$IFS"
    IFS="$IFS="
    set -- $LINE
    IFS="$old_IFS"
    O_NAME="$1"
    O_VALUE=""
    while shift
    do
        case $1 in
            "") continue;;
        esac
        O_VALUE="$1"
    done

    if [ -z "$O_VALUE" ]
    then
        O_CDRECORD="$O_CDRECORD -$O_NAME "
        continue
    fi
    O_CDRECORD="$O_CDRECORD $O_NAME=$O_VALUE "
    
done < "$CFGDIR/$CFG"

set -x    #DEBUG
exec cdrecord $O_CDRECORD $ARGS_LEFT
echo "Nem sikerült a cdrecord-ot futtatni."

4.17 Hogyan olvasható ki a CD-info?

Valahol az első 32 k után szerepel a CD-n egy blokk, amely információkat tartalmaz a lemezről. Ez az információ megszerezhető a következő parancsfájl segítségével:

#! /bin/bash

RD=/dev/cdrom
for i in 32768,7   32776,32 32808,32 32958,128 33086,128 33214,128 \
         33342,128 33470,32 33581,16 33598,16  33615,16  33632,16
do
    old_IFS="$IFS"
    IFS=","
    set -- $i
    IFS="$old_IFS"
    OFFSET=$1
    LENGTH=$2
    echo "*`dd if=$RD bs=1 skip=$OFFSET count=$LENGTH   2> /dev/null`#"
done

4.18 Mi a helyzet az újraírással?

Amikor újraírsz egy CD-RW lemezt, a cdrecord parancssorában add meg a blank=fast paramétert. Ennyi az egész. Olvasd el a cdrecord kézikönyvoldalát, amelyben részletesen tárgyalják ezt a paramétert.

4.19 Hogyan készíthetek multi-session CD-t?

A multi-session CD image-ét ISO-9660 fájlrendszerrel és a RockRidge kiterjesztéssel kell elkészíteni. Ha egy session után még szeretnél a lemezre írni, akkor a -multi paramétert kell beírni a cdrecord parancssorába. Tehát a -multi paramétert legalább az első session-re használni kell.

A második és az ezután következő session-ök image-ét egy kicsit bonyolultabb elkészíteni. Az mkisofs-nek tudnia kell, hogy hol kezdődik az üres terület a CD-R lemezen. Ez az információ megszerezhető a cdrecord -msinfo paraméterével. Lássunk egy példát:

shell> NEXT_TRACK=`cdrecord -msinfo dev=0,6,0`
shell> echo $NEXT_TRACK
shell> mkisofs -R -o cd_image2 -C $NEXT_TRACK -M /dev/scd5
         egetni_valo/ \

További információkért forduljunk a README.multi fájlhoz, amely a cdrecord csomag része.


Következő Előző Tartalom