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ó.
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.
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.
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.
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:
dd if=/dev/zero of="ures_fajl" bs=1024k count=650
shell> /sbin/mke2fs -b 2048 ures_fajl
ures_fajl is not a block special device.
Proceed anyway? (y,n) y
mount
, lásd fent.)
mount -t ext2 -o loop=/dev/loop1 ures_fajl /mnt
cdrecord
az ures_fajl-ra (amely többé nem üres), mintha az egy ISO-9660 image lenne.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.
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.
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.
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.
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.
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
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.gzweblapró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
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.
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/).
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).
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.
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.
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."
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
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.
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.