Следваща точка Предишна точка Съдържание


4. Скъпи Win приятелю, ...

Това е секция, която обикновено се именува "често задавани въпроси и отговори". Ако имате проблем с вашия партньор, деца или домашен любимец, просто ги изпратете насам, доколкото те може да имат връзка със записа на CD-R, или други забавни моменти.

4.1 Колко е стабилен процеса на запис?

Тествайте го. Използвайте опцията -dummy за симулиране процес на запис със cdrecord и вижте дали ще запише правилно

Ако стартирате cdrecord директно от mkisofs, тогава интензивни процеси като ъпдейтване на локалната база данни може да счупят CD-то (подложката). Може да проверите дали подобни процеси са стартиране с  cron, докато изпичате CD-R на стари щайги.

4.2 Оказва ли фрагментацията на файловете негативно влияние за записа?

Фрагментацията на файловете обикновено е толкова малка, че не и се обръща внимание. Както и да е, трябва да имате патологичен случай на фрагментиране, че той да понижи много трансфера от диска. Така че, не се шашкайте :-) Да, файловете на диска се фрагментират с течение на годините. Винаги оставяйте 10% или 20% свободно място, и ще записвате без проблеми CD-та.

Ако не сте сигурни, тогава хвърлете един поглед на съобщенията по време на стартиране. Процента на фрагментация се показва, доката файловата система се проверява. Може да видите точното число с доста опасната команда:

 
shell> e2fsck -n  /dev/sda5        # '-n' е внимание!
[stuff deleted -- ignore any errors]
/dev/sda5: 73/12288 files (12.3% non-contiguous)

В този пример фрагментацията изглежда много висока – но има само 73 много малки файла във файловата система. Значи процента не е опасен.

Има една експериментална програма - e2defrag за дефрагментиране на extended-2 (ext2) файлови системи. Ако наистина сте решили да дефрагментирате, направете първо копие на данните, тогава направете нова файлова система (която ще изтрие старата) и възстановете данните. Това е най-сигурната техника.

4.3 Възможна ли е да съхранявам CD-image на UMSDOS файлова система?

Да. Единствената файлова система, която не е достатъчно бърза за запис от нея е мрежовата FS (network filesystem - NFS). Аз използвам  UMSDOS за себе си да споделям дисково пространство между Линукс и DOS/Win на PC (486/66), предназначено за запис на CD-та. (Б.П. Не аз, а автора на хауто-то го е написал това)

4.4 Има ли начин да се прескочат ограниченията на ISO-9660?

Да. Може да сложите която и да е файлова система на CD-то. Но другите операционни системи, освен Линукс няма да могат да четат от това CD. Ето необходимите стъпки:

·                       
·                      dd if=/dev/zero of="празен_файл" bs=1024k count=650
·                       
·                      shell> /sbin/mke2fs  -b 2048  празен_файл
·                      празен_файл is not a block special device.
·                      Proceed anyway? (y,n) y
·                       
·                      mount -t ext2 -o loop=/dev/loop1 празен_файл /mnt

Ако искате да прибавите запис в /etc/fstab за CD-ROM-а, тогава премахнете проверката на устройството при стартиране. Например:

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

Първата нула означава: "не го включвай като backup), втората нула (тя е по-важна) означава: "не го проверявай за грешки при стартирането" (fsck няма да проверява CD-то за грешки).

4.5 Как да чета песните от аудио CD?

Има няколко софтуерни пакета за тази цел. Най-новия е "cdpranoia" и може да бъде свален от:

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

Може да пробвате и комбинация от "cdda2wav" и "sox", които са налични на:

ftp://sunsite.unc.edu/pub/Linux/apps/sound/cdrom/

ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/

cdda2wav позволява да запишете отделна част (или цяла песен) от аудио-CD и да я конвертирате във .wav-file. sox конвертира WAV файла обратно в (audio CD) cdda-формат, така че да може да се запише със cdrecord. Новите версии на cdrecord, имат вградена поддръжка на *.au и *.wav файлове.

4.6 Как да проверим за SCSI устройства след стартиране?

Файлът drivers/scsi/scsi.c съдържа информацията:

 
/*
 * 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 hot plugging 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 corrupt an ongoing data transfer.
 */

Ползвайте го само след прибавяне на SCSI устройства на края на SCSI шината. Вмъкването на ново SCSI устройство преди края на шината може да доведе до разбъркване на имената на устройствата (директорията /dev) и въобще да сбози системата.

4.7 Възможно ли е да се направи 1:1 копие на CD с данни?

Да. Но всяка грешка при четене на оригиналното CD ще доведе до дефектно копие. И двата метода, описани по-долу не вършат работа за аудио-CD! Използвайте cdrdao или cdda2wav за аудио CD-та.

Първи случай: Имате CD-записвачка и отделен CD-ROM J Чрез командата:

 
cdrecord -v dev=0,6,0 speed=2 -isosize /dev/scd0 (Б.П. Може да е и /dev/cdrom)

се прочитат данните от CD-ROM устройството атачнато като /dev/scd0 и се записват директно на записвачката.

Втори случай: Нямате отделен CD-ROM L В този случай трабва да използвате записвачката, за да прочетете оригиналния CD-ROM:

 
dd if=/dev/scd0 of=cdimage

Тази команда чете съдържанието на CD-ROM-а от /dev/scd0 и записва във файл "cdimage". Съдържанието на тази файл е еквивалентно на това, което mkisofs прави, така че може да продължавате със записа, както е описано по-нагоре в този документ (да се подаде cdimage като вход към  cdrecord). Ако искате да видите прогрес-бара и други екстри, тогава използвайте Jörg Schillings sdd.

Ако “dd” даде грешка, тогава използвайте инструмент, наречен "readcd" (намира се в misc/). Дава същите резултати като dd, но се опитва да прочете повредените сектори няколко пъти в случай на грешка.

4.8 Може ли Линукс да чете Joliet CD-ROM-и? (мега тъп въпрос)

Да. Съвременните ядра имат вградена поддръжка на joliet формата. За повече подробности:

http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html

4.9 Как да чета/монтирам CD-ROM със записвачката?

Както и с всеки друг CD-ROM. Няма специални трикове. Ако използвате scd устройства (SCSI CD-ROM) за монтиране на CD-ROM за четене, дари и да имате ATAPI CD-ROM (не забравяйте да конфигурирате ATAPI устройствата с емулация на SCSI), добавете в /etc/fstab:

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

4.10 Как да запиша повече данни на CD-R?

Използвайте bzip2 в замяна на други архиватори като gzip или pkzip. Това ще спести до 30% от дисковото пространство за по-големи (>100kb) файлове. Може да я свалите от:

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

Вместо да записвате аудио-CD, може да конвертирате WAV файловете в MP3 файлове. Обикновено MPEG III дава компресия около 1:10. Естествено повечето CD-плеъри все още не могат да четат тези файлове... и това е недостатък. От друга страна, защо да не пуснем музиката за следващото парти от твърдия диск? 18 GB са достатъчни за 3000-4000 парчета :-)

Софтуер за MPEG III-кодиране е наличен на:

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

Конзолен MPEG III-плеър:

http://www.mpg123.org/

4.11 Как да направя boot CD-ROM?

Трябва да имате 1.44 MB стартиращ флопи-диск. Създайте image на този флопи диск с командата:

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

Сложете това image в директорията с другите файлове. Стартирайте mkisofs с опциите '-b' и '-c'. За подробности - README.eltorito на mkisofs-дистрибуцията.

4.12 Как да направя CD-ROM-а записваем, както е твърдия диск?

Има overlay filesystem налична за Линукс, която се монтира на CD-ROM-а пречи на всички операции за запис. Новите и модифицирани файлове се съхраняват някъде другаде, но за потребителя изглежда все едно, че CD-ROM-а е модифициран.

В момента се работи за поддръжка от Линукс на UDF-файловата система: http://trylinux.com/projects/udf/

4.13 Възможно ли е да използвам няколко записвачки наведнъж?

Да. Тествано е с три записвачки на шеста скорост на PC с 233 Mhz процесор и една SCSI шина, версия на ядрото - 2.2.12!!!

4.14 А поддръжка за Solaris, *BSD, AIX, HP-UX?

Само точка 2 е специфична за Линукс. Точките 3 и 4 се отнасят и за другите операционни системи в голямото семейство на Unix. Вижте файловете - README.NetBSD, README.aix, README.hpux, README.next, README.solaris, README.sunos, README.vms or README.xxxBSD от cdrecord-дистрибуцията.

Компилирайте cdrecord за вашата платформа и изпълнете: "cdrecord -scanbus". Прочетете README.* за вашата Unix дистрибуция. Все пак, не всички варианти на Unix могат да четат RockRidge, Joliet или HFS.

4.15 Къде да съхраня конфигурационните файлове?

Имате две възможности. Да използвате конфигурационния файл на cdrecord, или шел скрипт като показания по-долу. Шел скрипта чете конфигурационен файл, където са записани опции и параметри за cdrecord. Коментари са разрешени. Например:

 
# be verbose
v
# set the speed of the writer
speed=2
# the device-coordinates in the form BUS,ID,LUN
dev=0,6,0

Конфигурационният файл са намира в /etc/cdrecord/ и се указва заедно със стартирането на cdrecord. Например: Ако сме запаметили опциите в  /etc/cdrecord/mywriter.cfg, тогава се стартира: "cdrecord.sh mywriter.cfg -audio track1...". Всичко след mywrite.cfg се подава на cdrecord.

#! /bin/bash
 
CFGDIR="/etc/cdrecord"
 
CFG="$1"
shift
ARGS_LEFT="$@"
 
if [ ! -f "$CFGDIR/$CFG" ]
then
    echo "Configuration file $CFGDIR/$CFG not found. Exiting."
    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 "Execution of cdrecord failed."

4.16 Как да извлека информация за CD-то?

Някъде зад първите 32 k на CD-то, има блок с информация за него. Тя може да се получи със следния скрипт:

#! /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 А презаписваемите дискове?

Когато презаписвате CD-RW подложка, се използва параметъра blank=fast на cdrecord. Това е. За детайли -  man cdrecord.

4.18 Как да създам мулти-сесийно CD?

Най-напред, image-то за мултисесийно CD трябва да бъде създадено с ISO-9660 файлова система и използване на RockRidge-разширение. И трябва да се използва опция -multi за cdrecord, за да запишете после други сесии. Някои записвачки нямат поддръжка на CD-ROM XA mode 2 или на session-at-once (SAO), така че трябва да използвате опция -data за cdrecord в командния ред.

Image-тата за втората и т.н. сесии са по-сложни за създаване. Mkisofs трябва да знае къде започва свободното място на CD-R-а. Тази информация може да бъде получена с използването на опцията -msinfo за cdrecord (виж примера).

 
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
         private_collection/ \

За повече информация, прочетете файла README.multi, който се разпространява със cdrecord.

4.19 Мога ли да използвам SCSI картата и за записвачката?

В повечето документации пише, че трябва да се използва отделна SCSI шина, ако се записва от CD-ROM на CD-R, а при мен е така:

Adaptec 2940UW SCSI карта, 24x SCSI CD-ROM и 4x4 SCSI CD-R. Когато купих CD-R-а, той си вървеше с ISA SCSI карта, която можеше да свърже само едно устройство. Аз обаче използвам по-добрата adaptec карта за цялата периферия. Забелязах, че често препълва буфера, котато записвам на 4 скорост, но след като закачих ISA SCSI картата проблемите изчезнаха. Знам за други двама (и двамата са с adaptec 2940 карти), които имаха същите проблеми, записвайки от CD-ROM на CD-recorder. Такива проблеми няма, когато записвам от твърдия диск на CD-R-а, използвайки една SCSI шина.

4.20 Как да записвам от мрежата?

Обикновено трансфера през FTP е достатъчно бърз за (4x) запис при 10 Mbit-това мрежа . Може да свържете ftp-client-а и cdrecord чрез fifo. Първо създайте fifo с името cdimage:

mkfifo cdimage
ftp other.host.org
get cdimg cdimage

След това третирайте cdimage като обикновен файл, ето как:

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

 ftp-client-а ще разбере когато cdrecord поиска да чете от файла и ще стартира трансфера от ftp-host-а.

4.21 Чувам пукане в края на всяка песен.

Тогава използвайте disk-at-once mode (DAO) за запис.

4.22 Как освен root и обикновените юзери да могат да записват?

Направете setuid на cdrecord. Това може да бъде риск за сигурността. Просто с даване на разрешение в device файловете нищо няма да стане, защото cdrecord излъчва привилегировани команди към SCSI интерфейсите.

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

4.23 Откъде мога да получа "Yellow Book" и "Orange Book" стандарти?

От Philips и са скъпи.

4.24 Търся информация за изпичане на Video-CD под Linux.

Оттук може да се намерят програми за създаване на MPEG video и Video-CD-та: http://www.mainconcept.de/

4.25 Кое е по-лесно за инсталиране, IDE или SCSI?

SCSI CD-R-те са малко по-лесни за работа под Linux. Те допускат и по-малко грешки. Тяхната цена, обаче е по-висока.

4.26 Как мога да overburn-а CD, използвайки {cdrecord,cdrdao}?

В това няма нищо специално. Поемате си риска да запишете повече данни, отколкото подложката може да поеме. Няма 650 Mbytes-лимит в софтуера под Linux.

4.27 Какво ще направи cdrecord, когато спре да получава данни от конвейера?

Ще спре записа. Може да свържете вашия любим backup инструмент със cdrecord използвайки конвейер, като "bru -size=640m -f - | cdrecord dev=0,1,0 speed=2 -". Внимавайте, ако backup-а създаде повече от едно CD-R.

4.28 Има ли еквивалент на “ignore=hdX” за ide-scsi емулацията?

Не знам да има, но всеки е добре дошъл да го прибави в следващите версии на Linux ядрата. (Б.П. Значи вече може и да има :)

4.29 Колко пъти мога да презапиша CD-RW преди да скапя подложката?

Добър въпрос.

4.30 Кой формат да избера за платформено независим CD-ROM?

Само чист ISO 9660 формат. Това значи тъпото 8+3 за имената на файловете от “добрия стар” MS-DOS и без никакви HFS (Macintosh), Joliet (Microsoft) or RockRidge (новите Unices) разширения. Няма решение за дългите имена на файловете, приемливо за всички операционни системи.

4.31 Възможни ли са повече от една сесии за аудио-дисковете?

Аудио CD-плеърите са способни да четат песните само от първата сесия. С други думи не е възможно. CD-плеърите не виждат данните записани в следващите сесии. По този начин модат да се създадат смесени CD-та (аудио и данни на един диск).

4.32 От какъв хардуер се нуждая? Достатъчен ли е стария Pentium?

Отговора зависи от вашите нужди. Най-лесното решение е да си вземете компютър от рекламите по телевизията и вестниците. (Б.П. Но това важи за САЩ. Тук важи: “Не искам акъл, дай ми пари”).


Следваща точка Предишна точка Съдържание