Следваща
точка Предишна
точка Съдържание
Това е секция, която обикновено се именува "често задавани въпроси и отговори". Ако имате проблем с вашия партньор, деца или домашен любимец, просто ги изпратете насам, доколкото те може да имат връзка със записа на CD-R, или други забавни моменти.
Тествайте го. Използвайте опцията -dummy за симулиране процес на запис със cdrecord и вижте дали ще запише правилно
Ако стартирате cdrecord директно от mkisofs, тогава
интензивни
процеси като ъпдейтване на локалната база данни може да счупят CD-то
(подложката). Може да проверите дали подобни процеси са стартиране с cron
, докато
изпичате
CD-R на стари щайги.
Фрагментацията на файловете обикновено е толкова малка, че не и се обръща внимание. Както и да е, трябва да имате патологичен случай на фрагментиране, че той да понижи много трансфера от диска. Така че, не се шашкайте :-) Да, файловете на диска се фрагментират с течение на годините. Винаги оставяйте 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) файлови системи. Ако наистина сте решили да дефрагментирате, направете първо копие на данните, тогава направете нова файлова система (която ще изтрие старата) и възстановете данните. Това е най-сигурната техника.
Да. Единствената файлова система, която не е достатъчно бърза за запис от нея е мрежовата FS (network filesystem - NFS). Аз използвам UMSDOS за себе си да споделям дисково пространство между Линукс и DOS/Win на PC (486/66), предназначено за запис на CD-та. (Б.П. Не аз, а автора на хауто-то го е написал това)
Да. Може да сложите която и да е файлова система на 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
cdrecord
за запис на празния_файл (който вече не е празен),
все едно записвате ISO-9660-image.Ако искате да прибавите запис в /etc/fstab
за CD-ROM-а, тогава премахнете проверката на устройството
при стартиране.
Например:
/dev/cdrom /cdrom ext2 defaults,ro 0 0
Първата нула означава: "не го включвай като backup), втората нула (тя е по-важна) означава: "не го проверявай за грешки при стартирането" (fsck няма да проверява CD-то за грешки).
Има няколко софтуерни пакета за
тази цел. Най-новия е "cdpranoia" и може да бъде свален от:
Може да пробвате и комбинация от
"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 файлове.
Файлът 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) и въобще да сбози системата.
Да. Но всяка грешка при четене на оригиналното 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, но се опитва да прочете повредените сектори няколко пъти в случай на грешка.
Да. Съвременните ядра имат вградена поддръжка на joliet формата. За повече подробности:
http://www-plateau.cs.berkeley.edu/people/chaffee/joliet.html
Както и с всеки друг CD-ROM. Няма специални трикове. Ако използвате scd устройства (SCSI CD-ROM) за монтиране на CD-ROM за четене, дари и да имате ATAPI CD-ROM (не забравяйте да конфигурирате ATAPI устройствата с емулация на SCSI), добавете в /etc/fstab:
/dev/scd0 /cdrom iso9660 ro,user,noauto 0 0
Използвайте 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-кодиране е
наличен на:
Конзолен MPEG III-плеър:
Трябва да имате 1.44 MB стартиращ флопи-диск. Създайте image на този флопи диск с командата:
dd if=/dev/fd0 of=boot.img bs=18k
Сложете това image в директорията с другите файлове. Стартирайте mkisofs с опциите '-b' и '-c'. За подробности - README.eltorito на mkisofs-дистрибуцията.
Има overlay filesystem налична за Линукс, която се монтира на CD-ROM-а пречи на всички операции за запис. Новите и модифицирани файлове се съхраняват някъде другаде, но за потребителя изглежда все едно, че CD-ROM-а е модифициран.
В момента се работи за поддръжка от Линукс на UDF-файловата система: http://trylinux.com/projects/udf/
Да. Тествано е с три записвачки на шеста скорост на PC с 233 Mhz процесор и една SCSI шина, версия на ядрото - 2.2.12!!!
Само точка 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.
Имате две възможности. Да използвате конфигурационния файл на 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."
Някъде зад първите 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
Когато презаписвате CD-RW подложка, се използва параметъра blank=fast на cdrecord. Това е. За детайли - man cdrecord.
Най-напред, 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.
В повечето документации пише, че трябва да се използва отделна 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 шина.
Обикновено трансфера през 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-а.
Тогава използвайте disk-at-once mode (DAO) за запис.
Направете setuid на cdrecord. Това може да бъде риск за сигурността. Просто с даване на разрешение в device файловете нищо няма да стане, защото cdrecord излъчва привилегировани команди към SCSI интерфейсите.
which cdrecord
chown root.root /usr/bin/cdrecord
chmod 4111 /usr/bin/cdrecord
От Philips и са скъпи.
Оттук може да се намерят
програми за създаване на MPEG video и Video-CD-та: http://www.mainconcept.de/
SCSI CD-R-те са малко по-лесни за работа под Linux. Те допускат и по-малко грешки. Тяхната цена, обаче е по-висока.
В това няма нищо специално. Поемате си риска да запишете повече данни, отколкото подложката може да поеме. Няма 650 Mbytes-лимит в софтуера под Linux.
Ще спре записа. Може да свържете вашия любим backup инструмент със cdrecord използвайки конвейер, като "bru -size=640m -f - | cdrecord dev=0,1,0 speed=2 -". Внимавайте, ако backup-а създаде повече от едно CD-R.
Не знам да има, но всеки е добре дошъл да го прибави в следващите версии на Linux ядрата. (Б.П. Значи вече може и да има :)
Добър въпрос.
Само чист ISO 9660 формат. Това значи тъпото 8+3 за имената на файловете от “добрия стар” MS-DOS и без никакви HFS (Macintosh), Joliet (Microsoft) or RockRidge (новите Unices) разширения. Няма решение за дългите имена на файловете, приемливо за всички операционни системи.
Аудио CD-плеърите са способни да четат песните само от първата сесия. С други думи не е възможно. CD-плеърите не виждат данните записани в следващите сесии. По този начин модат да се създадат смесени CD-та (аудио и данни на един диск).
Отговора зависи от вашите нужди. Най-лесното решение е да си вземете компютър от рекламите по телевизията и вестниците. (Б.П. Но това важи за САЩ. Тук важи: “Не искам акъл, дай ми пари”).