Naprej Nazaj Kazalo

4. Dragi Winfried

Ta razdelek je navadno označen kot “pogosta vprašanja” (z odgovori). Če imate težave s partnerjem, otroki ali psom, kar pišite, da je le povezano z zapisovanjem CD-R ali pa vsaj kako drugače zabavno.

4.1 Kako občutljiv je proces zapisovanja?

Preverite. Z izbiro -dummy poženite Cdrecord in počnite vse, kar bi sicer počeli, in videli boste, ali bo pisanje preživelo.

Če krmite Cdrecord neposredno z izhoda Mkisofs, potem lahko procesi, ki imajo veliko opraviti s pisanjem po disku (npr. obnavljanje zbirke locate), toliko upočasnijo pretok podatkov, da zapisovanje CD ne bo uspelo. Preverite, ali med pisanjem ukazi cron, at ali anacron ne bodo pognali kakega takega procesa.

4.2 Ali fragmentiranost diska vpliva na hitrost pretoka?

Fragmentiranost diska je navadno tako majhna, da tega ni zaznati. Prav nič težko pa ni doseči tudi patološke fragmentiranosti, ki zniža hitrost dostopa na vrednosti pod 100.000 KB/s. Izogibajte se jim. :) V resnici se fragmentiranost diska z leti povečuje. Čim bolj je datotečni sistem poln, tem hitreje narašča. Vedno puščajte kakih 10 ali 20 % prostora praznega, pa z zapisovanjem CD-R ne boste imeli težav.

Če niste gotovi, si lahko ogledate sporočila, ki se izpišejo ob zagonu sistema. Delež fragmentiranosti je izpisan pri preverjanju konsistentnosti datotečnega sistema. Vrednost lahko izveste tudi z zelo nevarnim ukazom

shell> e2fsck -n  /dev/sda5        # '-n' je pomemben!
[veliko izpuščenega...]
/dev/sda5: 73/12288 files (12.3% non-contiguous)

V tem zgledu je videti fragmentiranost zelo visoka. Vendar pa je po drugi strani v razdelku vsega 73 majhnih datotek, tako da stanje še ni alarmantno.

V poskusni fazi je na voljo pripomoček e2defrag, s katerim lahko defragmentiramo datotečne sisteme ext2. Trenutna izdaja ni dovolj zanesljiva niti za domačo rabo. Če bi res radi defragmentirali razdelek, naredite varnostno kopijo (še bolje: dve kopiji!), preverite, ali znate z nje povrniti podatke, potem pa prek starega datotečnega sistema ustvarite novega (s tem zbrišete starega) in povrnite podatke z varnostne kopije. To je gotovo najvarnejša pot.

4.3 Ali je mogoče hraniti slike CD v datotečnem sistemu UMSDOS?

Da. Edini datotečni sistem, ki ni ne dovolj zanesljiv ne dovolj hiter za zapisovanje CD, je omrežni datotečni sistem (NFS). Avtor je sam uporabljal UMSDOS za deljenje diskovnega prostora med okolji Linux in DOS/Windows v starem osebnem računalniku (486/66), namenjenem zapisovanju CD.

4.4 Ni nobene poti, po kateri bi se obšlo omejitve ISO 9660?

Seveda je. Na disku CD lahko ustvarite katerikoli datotečni sistem. Vendar pa v tem primeru drugi operacijski sistemi ne bodo mogli prebrati diska. Recept je naslednji:

Če želite vnesti to priklopno točko v /etc/fstab, onemogočite njeno preverjanje ob zagonu, denimo:

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

Prva vrednost 0 pomeni “ne vključi v varnostno kopijo”, druga, za nas pomembnejša, pa “ne preverjaj napak ob zagonu”. Program Fsck namreč ne more uspešno “popravljati” napak na disku CD.

4.5 Kako preberem skladbe z glasbenih plošč?

Na voljo je več paketov. Najnovejši je Cdparanoia, ki ga dobite na naslovu

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

Namesto njega lahko uporabite tudi kombinacijo Cdda2wav in Sox. Na voljo sta V strežniku Sunsite in zrcalnih strežnikih_

ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/cdda2wav0.71.src.tar.gz

ftp://sunste.unc.edu/pub/Linux/apps/sound/convert/sox-11gama-cb3.tar.gz

Program cdda2wav omogoča zajetje določenega intervala (ali celotne skladbe) z glasbenega CD in ga pretvori v datoteko WAV. Program sox pretvori datoteke wav nazaj v zapis CDDA, ki ga uporabljajo glasbeni CD, tako da jih lahko s programom cdrecord zapišemo na CD-R. V novejše izdaje programa cdrecord je že vgrajena podpora branju zapisov WAV in AU, tako da programa sox niti ne potrebujete.

4.6 Kako po zagonu poiskati naprave vrste SCSI?

V datoteki drivers/scsi/scsi.c so informacije

/*
 * Usage: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
 * with "0 1 2 3" replaced by your "Host Channel Id Lun".
 * Consider this feature BETA.
 *    CAUTION: This is not for hotplugging your peripherals. AS
 *    SCSI was not designed for this you could damage your
 *    hardware !
 * However perhaps it is legal to switch on an
 * already connected device. It is perhaps not
 * guaranteed this device doesn't corruot an ongoing data transfer.
 */

Pazite: Z opisanim ukazom lahko le dodaste napravo na konec verige SCSI. Vrivanje naprav v staro verigo zmoti poimenovanje naprav v imeniku /dev, kar lahko uniči vsebino vašega diska.

Nekatere izdaje jedra ne marajo vnovičnega pregleda vodila SCSI in lahko ob takem posegu zmrznejo. Opozorili smo vas.

4.7 Ali je mogoče narediti 1:1 kopijo CD?

Da, vendar se morate zavedati dejstva, da lahko vsaka napaka med branjem izvirnika (zaradi prahu ali prask) povzroči okvaro na kopiji. Obe opisani metodi odpovesta pri glasbenih ploščah! Za te morate uporabiti programe, kot sta Cdrdao ali Cdda2wav.

Prvi zgled: imate zapisovalnik CD in ločen pogon CD-ROM. Z ukazom

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

berete tok podatkov s pogona CD-ROM, ki je priključen kot /dev/scd0, in ga zapisujete neposredno na zapisovalnik CD.

Drugi zgled: nimate ločenega pogona CD-ROM. V tem primeru boste za branje CD-ROM morali uporabiti zapisovalnik.

dd if=/dev/scd0 of=slika_cd

Ukaz prebere vsebino diska CD-ROM z naprave /dev/scd0 in jo zapiše v datoteko “slika_cd”. Vsebina je enakovredna rezultatu mkisofs, tako da lahko nadaljujete, kakor smo prej opisali, torej jo s programom Cdrecord zapišete na disk CD. Če bi radi še merilnik poteka in podobne lepote, pa uporabite program sdd Jörga Schillinga.

Če so pri prepisu nastale napake, namestite najnovejšo različico programa Cdrecord. V imeniku misc/ najdete orodje readcd, ki počne isto kot dd, vendar vsak sektor na CD-ROM prebere večkrat, tako da se morebitne napake izpovprečijo.

4.8 Ali lahko Linux bere CD z zapisom joliet? (odvečno)

Da. Vse novejše izdaje jedra (od 2.0.36 dalje) imajo vgrajeno podporo zapisu joliet. Zapomnite si, da morate v datoteki /etc/fstab navesti tako iso9660 kot joliet (slednji ni datotečni sistem, temveč le razširitev). Več podrobnosti najdete na naslovu: http://www-plateau.cs.berkeley.edu/people/chaffe/joliet.html.

4.9 Kako lahko berem/priklopim CD-ROM z zapisovalnikom CD?

Povsem enako, kot to storite z običajnim pogonom CD-ROM. Tu ni nobenih zvijač. Za branje CD morate uporabiti naprave scd (SCSI CD-ROM), čeprav imate CD-ROM na vodilu IDE/ATAPI (spomnite se, da ste zapisovalnik nastavili kot enoto SCSI). Zgled vnosa v /etc/fstab:

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

4.10 Kako lahko shranim na CD-R še več podatkov?

Podatke stisnite s programom bzip2, ki doseže večjo stopnjo stiskanja kot programa gzip ali pkzip. Tako lahko pri večjih datotekah (100 KB in več) prihranite do 30 % prostora na disku. Najdete ga na naslovu:

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

Namesto zapisovanja glasbenih CD lahko datoteke WAV pretvorite v datoteke MP3 in jih shranite na disk ISO 9660 kot navadne datoteke. Zapis MP3 navadno doseže stopnjo stiskanja 1 : 10. Seveda takega diska v večini laserskih gramofonov ne boste mogli prebrati, kar je slabost tega postopka. Po drugi strani pa, zakaj ne bi na naslednji zabavi vrteli glasbe kar z diska? 40 GB je dovolj za kakih 8000 skladb. :)

Programski kodirnik MP3 je na voljo na naslovu:

http://www.sulaco.org/mp3/

Predvajalnik MP3 pa dobimo na naslovu

http://www.mpg123.org/

Posneti govor lahko skrčite v velikosti s programom shorten, ki vsebuje isti postopek, kot se uporablja v telefoniji GSM:

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

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

4.11 Kako izdelamo CD-ROM, s katerega lahko zaženemo sistem?

Imeti morate zagonsko disketo velikosti 1,44 MB. Natančno sliko te diskete izdelamo z ukazom

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

Prepišite to sliko v imenik, v katerem je zbirka datotek, ki bi jih radi shranili na CD-ROM. Če želite, jo lahko shranite tudi v poseben podimenik. Programu mkisofs podaste sliko zagonske diskete s stikalom -b; uporabiti boste morali tudi izbiro -c. Podrobnosti si oglejte v datoteki README.eltorito, ki je del paketa Mkisofs.

Zanimiva uporaba po meri izdelanih zagonskih CD je izdelava sistemov DOS ali Windows, varnih pred virusi. Na ta način lahko tudi prihranite denar za diske, če so računalniki vključeni v omrežje in imajo dostop do uporabniških podatkov v strežniku Samba. Nemška računalniška revija c't je obravnavala tak zgled v novembrski številki leta 1999, na strani 206 (glej tudi http://www.heise.de/).

Nekaj podrobnosti o zagonskem disku Red Hat je na voljo na naslovu http://members.bellatlantic.net/~smithrod/rhjol-technical.html.

4.12 Kako lahko na disk CD-ROM pišemo kot na računalniški disk?

Na voljo je prekrivni datotečni sistem za Linux, ki ga priklopimo prek diska CD-ROM, tako da prestreže vse poskuse pisanja. Nove in spremenjene datoteke so v resnici shranjene nekje drugje, na ravni uporabnika pa je videzi, kot da se je spremenila vsebina diska CD-ROM. Za več informacij si oglejte http://home.att.net/~artnaseef/ovlfs/ovlfs.html.

Če vam to ne zadošča, si oglejte datotečni sistem UDF ( http://trylinux.com/projects/udf/). Sistem še razvijajo, na voljo pa so že delujoči moduli.

4.13 Je mogoče uporabljati več zapisovalnikov naenkrat?

Da. Obstaja poročilo o nekom, ki je hkrati uporabljal tri zapisovalnike na enem vodilu SCSI pri polni (šestkratni) hitrosti na osebnem računalniku s taktom 233 MHz z jedrom 2.2.12. Potrebujete jedro izdaje 2.2.12 ali novejšo.

4.14 Kaj pa Solaris, *BSD, AIX, HP-UX ipd.? Je moja različica Unixa podprta?

Samo drugo poglavje tega spisa je omejeno zgolj na Linux. Vse, povedano v tretjem in četrtem poglavju, pa velja tudi za druge operacijske sisteme. Oglejte si datoteke README.NetBSD, README.aix, README.hpux, README.next, README.solaris, README.sunos, README.vms ali README.xxxBSD iz paketa Cdrecord.

Odgovor je najverjetneje pritrdilen. Prevedite Cdrecord v vašem sistemu in poženite cdrecord -scanbus. V imeniku z izvirno kodo Cdrecorda poiščite datoteko README za svojo različico Unixa in jo preučite. Vedite pa, da vse različice Unixa, čeprav jih boste znali zapisati, ne znajo brati razširitev Rock Ridge, Joliet ali HFS.

4.15 Kje je najbolje trajno shraniti lokalne nastavitve?

Dve možnosti imate. Uporabite lahko privzeto datoteko z nastavitvami programa Cdrecord ali pa ovojni skript, kot je prikazan spodaj. Ovojni skript prebere nastavitveno datoteko, v kateri so naštete izbire in parametri programa Cdrecord. Imena izbir so natanko enaka, kot bi jih navedli v ukazni vrstici, manjka jim le uvajalna črtica. Dovoljeni so tudi komentarji. Zgled:

# z razlago poteka
v
# nastavitev hitrosti
speed=2
# naslov naprave v obliki BUS,ID,LUN
dev=0,6,0

Nastavitvena datoteka spada v imenik /etc/cdrecord in jo moramo navesti v ukazni vrstici, na primer: “cdrecord.sh mojcdr.cfg -audio track1...”, če se sklicujemo na nastavitveno datoteko /etc/cdrecord/mojcdr.cfg. Vse izbire za mojcdr.cfg se prenesejo programu Cdrecord.

#! /bin/bash

CFGDIR="/etc/cdrecord"

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

if [ ! -f "$CFGDIR/$CFG" ]
then
    echo "Nastavitvene datoteke $CFGDIR/$CFG ni moč najti. Končujemo."
    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 "Zagon Cdrecord ni uspel."

4.16 Kako lahko preberemo podatke o CD?

Nekje za prvimi 32 KB na CD je blok s podatki o CD. Te podatke lahko dosežete z naslednjim skriptom:

#! /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.17 Kaj pa pisanje prek diskov CD-RW?

Pri pisanju prek popisanih diskov CD-RW dodajte programu Cdrecord parameter blank=fast. To je vse. Za podrobnosti o tem parametru si oglejte priročnik cdrecord(1).

4.18 Kako lahko dodajamo podatke na disk CD-R?

Slika CD, na katerega dodajamo podatke (diskom CD, na katere zapišemo podatke v več pisanjih, pravimo tudi “multi-session” CD), mora biti formatirana kot datotečni sistem ISO 9660 z razširitvami Rock Ridge. Pri zapisovanju moramo v programu Cdrecord uporabiti izbiro -multi, če nameravamo za tem zapisom dodati še kakega (zanesljivo moramo torej izbiro -multi navesti pri prvem zapisovanju).

Nekateri zapisovalniki ne podpirajo načina CD-ROM XA mode 2 SAO (session at once); pri teh morate podati programu Cdrecord tudi stikalo -data.

Slike drugega in naslednjih zapisovanj je malce bolj zapleteno izdelati. Program Mkisofs mora namreč vedeti, kje se začne prosti prostor na disku CD-R (privzeto je, da na začetku, kar je dobro le za povsem prazne diske). Ta podatek lahko izvemo z izbiro -msinfo, podano programu Cdrecord (zgled spodaj).

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

Več podatkov si lahko preberete v datoteki README.multi, ki je del paketa Cdrecord.

4.19 Ali naj uporabim krmilnik SCSI, ki sem ga dobil z zapisovalnikom?

Sporočeno po elektronski pošti: Dokumentacija za večino zapisovalnikov priporoča namestitev zapisovalnika na ločeno vodilo SCSI, če obenem uporabljamo enoto CD-ROM in zapisovalnik CD. Tudi sam sem opazil naslednje:

Imam krmilnik Adaptec 2940UW, 24x SCSI CD-ROM in 4x4 SCSI zapisovalnik CD. Skupaj s slednjim sem dobil še preprost krmilnik SCSI na vodilu ISA, ki lahko krmili le eno napravo SCSI. Seveda sem ga ignoriral in zapisovalnik lepo priključil na krmilnik Adaptec, vendar pa sem med delom opazil, da medpomnilnik na zapisovalniku pri štirikratni hitrosti snemanja pogosto ne zmore kompenzirati prekinitve toka podatkov. Ko sem priključil zapisovalnik na krmilnik ISA, so težave izginile. Vem za vsaj še dva druga (oba s krmilnikom 2940), ki sta pri zapisovanju CD neposredno z enote CD-ROM naletela na podobne težave. Pri zapisovanju CD z diska, ki je bil na istem vodilu SCSI kot zapisovalnik, nisem nikoli imel težav.

4.20 Zapisovanje CD po omrežju

Hitrost prenosa s FTP po 10 MHz lokalnem omrežju je navadno dovolj visoka za krmljenje zapisovalnika CD pri štirikratni hitrosti zapisa. Odjemnika FTP lahko s programom Cdrecord sklopimo s poimenovano cevjo (FIFO). Najprej ustvarimo FIFO z imenom slikacd:

mkfifo slikacd
ftp oddaljeni.gostitelj.si
get slika_cd slikacd

Zdaj lahko uporabljamo slika_cd kot navadno datoteko, torej jo lahko zapišemo na CD z ukazom Cdrecord:

cdrecord dev=0,1,0 speed=2 slikacd

Odjemnik FTP bo opazil, kadar želi Cdrecord brati iz datoteke, in bo začel prenašati datoteko slika_cd iz gostitelja oddaljeni.gostitelj.si.

4.21 Na koncu vsake skladbe slišim klikanje in prasketanje

. Če se hočete znebiti prasketanja, morate za zapisovanje glasbenih CD uporabiti način zapisa DAO (disk at once).

4.22 Kako nastavim, da lahko zapisovalnik uporabljajo tudi navadni uporabniki, ne le skrbnik sistema?

Ena možnost je, da prevedenemu programu Cdrecord nastavite bit SUID, kar pa lahko ustvari razpoko v varnosti sistema. Preprosta sprememba nastavitev datoteke naprave ne pomaga, ker Cdrecord pošilja ukaze, ki zahtevajo sistemske pristojnosti, tudi po generičnem vmesniku SCSI.

which cdrecord
chown root.root /usr/bin/cdrecord
chmod 4111 /usr/bin/cdrecord

4.23 Kje lahko dobim specifikacije standardov “Yellow Book” in “Orange Book”?

Pri družbi Philips in to za drag denar.

4.24 Kje najdem podatke o zapisovanju Video-CD v Linuxu?

Nekaj podatkov o pripomočkih za ustvarjanje videov MPEG in Video-CD najdete na naslovu

http://www.mainconcept.de/

http://www.johanni.de/munich-vision/vcd/

Tisti, ki so politično korektni, omenjajo uporabo berkeleyjskih orodij in strategije YUV. Raba le-teh je zapletena, vzame veliko časa in prostora na disku in ne podpira zvoka v posnetkih MPEG. Namesto tega priporočam v predhodnem besedilu omenjena orodja, ki olajšajo delo.

4.25 Je laže pripraviti za delo zapisovalnike IDE ali SCSI?

Zapisovalnike SCSI v Linuxu malce laže pripravimo za zapisovanje. Po poročilih drugih imajo tudi boljše odpravljanje napak. Če to odtehta dejstvo, da so dražji, je težko v splošnem odgovoriti.

4.26 Kako lahko spravimo na disk CD več od nazivne zmogljivosti?

Pisanje prek nazivne zmogljivosti (angl. overburning) ni nič posebnega. Na svojo odgovornost lahko shranite na CD več od nazivne zmogljivosti diska (650 MB ali 700 MB), vendar do podatkov na drugih enotah morda ne boste mogli. Sicer pa v Linuxu ni nobene programske omejitve na 650 MB ali kaj takega.

4.27 Kaj napravi Cdrecord, ko tok podatkov iz cevovoda presahne?

Neha pisati. To pomeni, da lahko Cdrecord sklopite s svojim priljubljenim orodjem za izdelavo varnostnih kopij, denimo “ru -size=640m -f - | cdrecord dev=0,1,0 speed=2 -”. Če sega varnostna kopija prek več diskov CD, mora za to skrbeti program ta izdelavo varnostne kopije.

4.28 Je pri posnemanju ide-scsi kaj enakovrednega izbiri “ignore=hdX”?

Ne vem, bi pa podpiral vsakogar, ki bi v jedro Linuxa želel dodati to možnost.

4.29 Kolikokrat lahko zbrišemo in spet uporabimo diske CD-RW?

Dobro vprašanje.

4.30 Katera oblika zapisa je najboljša, če želimo CD-ROM brati v različnih strojnih okoljih?

Edini datotečni sistem za diske CD-ROM, ki ga zagotovo lahko beremo v vseh strojnih okoljih, je ISO 9660 brez razširitev HFS (Macintosh), Joliet (Microsoft) ali Rock Ridge (Unix). To obenem pomeni omejitev pri imenih datotek na 8+3. Nobenega skupnega standarda, ki bi podpiral daljša imena datotek, ni.

4.31 Je mogoče dodajanje skladb na glasbene CD?

Laserski gramofoni zmorejo brati le skladbe, zapisane v prvem zapisu, tistih, shranjenih v naslednjih zapisih (multi-session), pa ne. Pač pa lahko pozneje dopišemo podatkovni del in ga na ta način uspešno skrijemo pred laserskimi gramofoni. Ta postopek lahko uporabimo pri mešanih (glasbeno-podatkovnih) ploščah, če ne želimo, da laserski gramofon “vidi” podatkovni del kot “prazno” skladbo.

4.32 Kakšen računalnik potrebujem za zapisovanje CD? Je stari Pentium dovolj?

Odgovor je odvisen od vaših želja. Če potrebujete izgovor za nakup novega računalnika, vam lahko postrežemo z odgovorom Mednarodnega združenja izdelovalcev računalniške opreme: Karkoli že nameravate početi, potrebujete procesor s taktom vsaj 2,8 GHz. Ker ga vaša osnovna plošča ne podpira, to obenem pomeni tudi zamenjavo osnovne plošče. Če se želite izogniti napornemu in zamudnemu razstavljanju, sestavljanju in nastavljanju računalnika, je najlaže, če kupite že izdelan računalniški sistem, kot ga vidite v oglasih po televiziji. Preostanek tega razdelka lahko preskočite.

Če bi radi razumen odgovor -- pisec tega spisa je uspešno zapekel kar spodobno število diskov na starem računalniku 486 s taktom 66 MHz. Čeprav Microsoft takega sistema niti ne šteje več med osebne računalnike, temveč priporoča, da na njem poganjamo Windows CE (predstavljeno na sejmu CeBIT), Linux ne le, da čisto lepo teče na teh prednikih Pentiuma, ampak jih lahko uporabljamo tudi za zapisovanje CD. Ali vaše železje zadošča za zapisovanje CD, lahko ugotovite z enostavnim preizkusom. Program Cdrecord poženite s stikalom -dummy, ki izklopi laser, in opazujte, kako se “peče” CD.


Naprej Nazaj Kazalo