|
Wielu ludzi wypala płyty CD przy pomocy Linuksa ponieważ jest to sposób niezawodny i łatwy. Nie ma "niebieskich ekranów" podczas wypalania i nie musisz się przejmować tym, żeby dobrać odpowiedni sprzęt i oprogramowanie do niego. Po prostu jak wszystko raz poprawnie ustawisz tak działa. Dokument ten omawia konfigurację, jak umieścić dane na medium i podaje trochę ciekawych aplikacji, który zostały wspomniane przez uprzejmych czytelników.
Prawa autorskie (C) posiada Winfried Trümper 1996,1997,1998,1999. Wszystkie prawa zastrzeżone.
Redystrybucja i użytkowanie, z modyfikacjami lub bez, jest dozwolone o ile nazwisko autora nie jest wykorzystywane do promocji czy sygnowania wszelkich produktów powstałych z tego dokumentu bez konkretnego, wcześniejszego, pisemnego pozwolenia.
Autor zrzeka się wszelkich gwarancji odnośnie tego dokumentu, włącznie z wszystkimi włączonymi gwarancjami handlowymi. W żadnym wypadku nie jestem odpowiedzialny za jakiekolwiek bezpośrednie i pośrednie zniszczenia, w wyniku których nastąpiła utrata używalności, danych czy dochodów wynikające z używania tego dokumentu.
Krótko: używaj na własną odpowiedzialność.
CD-R FAQ, to ogólny dokument zawierający często zadawane pytania na temat płyt CD do nagrywania (CD-R), nagrywarek płyt i wymaganego oprogramowania.
Ponieważ wiekszość nagrywarek CD można używać także do czytania płyt CD; możliwe, że będziesz chciał przeczytać także CDROM-HOWTO, SCSI-HOWTO i Kernel-HOWTO
CD-ROM to skrót od "Compact Disc Read Only Memory", nośnik danych wykorzystujący laser optyczny do wyczuwania mikroskopijnych zagłębień na srebrnym, błyszczącym dysku. Błyszczenie pochodzi od aluminiowej warstwy, która jest nośnikiem. Zaglebienia reprezentują bity informacji (w pewien sposób) i są takie malutkie, że jakieś kilka bilionów mieści się na płycie. Przez to CD jest nośnikiem dużych ilości danych.
Termin CD-R jest skrótem od "CD-ROM Recordable" i odnosi się do płyty CD, która nie ma tych mikrospijnych zagłębień na powierzchni... i przez to jest pusta.
Zamiast srebrnej aluminiowej warstwy ma specjalny "film" (kolorowy), w którym "mikroskopijne zagłębienia)" mogą być wypalone. Robi się to przez nadanie laserowi, który normalnie tylko wykrywa zagłębienia, trochę większej mocy, tak że zagłębienia są wypalane. Takie działanie może być podjęte tylko raz na CD-R.
Jednak można sobie zostawić miejsce na późniejsze nagrywanie, tworząc wielosesyjną płytę CD.
CD-ROM rewritable (czyli CD do wielokrotnego zapisu; w skrócie CD-RW zostały wynalezione, aby obejść ograniczenia CD-R. W tych płytach laser nie tylko może wypalić takie mikroskopijne zagłębienia, ale może także przywrócić płytę do oryginalnego stanu sprzed zapisu. Jest to możliwe, ponieważ laser tak naprawdę nie wypala dziur - nie widzisz przecież dymu podczas wypalania i żaden głos z góry nie mówi ci "cel zniszczony". To co laser robi naprawdę, to wyzwala zmianę fazy (trigger a phase change), i stąd nazwa dla nagrywarek CD-RW "urządzenia do zmiany fazy". Przykład bardzo podobnej procedury, to samochód czyszczący na lodowisku hokejowym; w czasie przerw samochód ten przejeżdża przez lodowisko i wypełnia zadrapania w lodzie (cząstki zawierające rodzaj informacji o grze... :) ) roztopionymi kawałkami lodu.
[Od tłumacza] Dobra... Wiem, że przetłumaczyłem to ... powiedzmy nieciekawie... Jeśli masz ciekawsze tłumaczenie tego fragmentu, to zapraszam.
To HOWTO objaśnia zadanie zapisu na CD-R i CD-RW. Witamy na pokładzie, kapitanie!
Szczegółowa lista modeli, które zostały podane jako działające lub nie z różnymi unix-ami jest dostępna pod adresem ( www.guug.de).
Oto obszerne zestawienie napędów, które zdają się działać z cdrecord:
Acer: CDRW 6206A
BTC: BCE 621E (IDE)
Compro: CW-7502, CW-7502B
Dysan: CRW-1622
Elite: Elite b444.41
Grundig: CDR 100 IPW
Guillemot: Maxi CD-R 4X/8X
HP: SureStore 4020i, SureStore 6020i,
C4324, C4325
CD-Writer+ 7100, CD-Writer+ 7200i,
CD-Writer+ 8100i, CD-Writer+ 8110i,
Hi-Val: CDD-3610
JVC: XR-W2001, XR-W2010, XR-W2042, R-2626
Kodak: PCD 200, PCD 225, PCD 260, PCD 600
Matsushita: CW-7502
Memorex: CRW-620, CRW-1622
Microboards: PlayWrite 2000, PlayWrite 4000RW, PlayWrite 4001RW
MicroNet: MasterCD Plus 4x4, MasterCD Plus 4x6
Mitsubishi: CDRW-226
Mitsumi: CR-2401-TS, CR-2600 TE, CR-2801 TE, CR-4801 TE
Nomai: 680.RW
OTI: CDRW 965
Olympus: CDS 615E, CDS 620E
Optima: DisKovery 650 CD-R
OTI: CDRW 965
Panasonic: CW-7502, CW-7582
Philips: CDD-521/10, CDD-522
CDD-2000, CDD-2600, CDD-3600, CDD-3610
Omniwriter 26, Omniwriter 26A
Plasmon: CDR 480, CDR 4220, RF-4100, RF-4102, CDR 4400
Plextor: CDR PX-24 CS, PX-412 C, PX-R412 C
PX-R810Ti, PleXwriter 412C
Procom: PCDR 4
Ricoh: RO-1420C+, MP 1420C, MP 6200S, MP 6201S
Sanyo: CRD-R24S
Smart and
Friendly: CD-RW226, CD-R1002, CD-R1002/PRO, CD-R1004,
CD-R2004, CD-R2006 PLUS, CD-R2006 PRO,
CD-R4000, CD-R4006, CD-R4012
Sony: CDU 920S, CDU 924, CDU 926S, CDU-928E,
CDU 948S, CDRX 100E
Taiyo Yuden: EW-50
TEAC: CD-R50S, CD-R55S, CDR-55S
Traxdata: CRW 2260, CDR 4120, CDRW 4260,
Turtle Beach: 2040R
WPI (Wearnes): CDRW-622, CDR-632P
YAMAHA: CDR-100, CDR 102, CDR-200, CDR-200t, CDR-200tx
CDR-400, CDR-400c, CDR-400t, CDR-400tx, CDR-400Atx
CRW-2260, CRW-2260t,
CRW-4250tx, CRW-4260 t, CRW-4260 tx, CRW-4261,
CRW-4416 S
Tabela 1: Nagrywarki obsługiwane przez Linuksa
Jeśli twój sprzęt nie jest obsługiwany, to wciąż możesz użyć Linuksa do przygotowania materiału na CD. Możesz tak postąpić, ponieważ większość oprogramowania DOS-owego nie umie obsłużyć RockRidge Extensions. Ale musisz wtedy użyć DOS-owego oprogramowania do wypalenia płyty.
Są dwie klasy narzędzi do zapisywania CD-R: sterowniki sprzętowe i formatery danych. Sterowniki sprzętowe obsługują następujące cechy:
Cecha cdwrite-2.1 cdrecord-1.7
--------------------------------------------
IDE/ATAPI nie tak
Port równoległy nie tak
CD-RW nie tak
Wielosesyjność tylko częściowo tak
Tabela 2: Cechy sterowników sprzętowych
cdwrite
to stare oprogramowanie i wzmiankowane jest tylko dla
zachowania kompletności. Używaj proszę zamiast tego cdrecord
,
ponieważ obsługuje on znacznie więcej sprzetu i ma o wiele więcej
możliwości. Celem formaterów danych jest organizacja danych na
płycie (umieszczenie na nich systemu plików).
Cecha mkisofs mkhybrid
--------------------------------------------
ISO9660 tak tak
RockRidge tak tak
El Torito tak tak
HFS nie tak
Joliet nie tak
Tabela 3: Cechy formaterów danych
Najbardziej oczywistą różnicą między systemem plików ISO9660 a Extended-2 jest możliwość modyfikacji plików na tym drugim po zapisaniu ich. Ograniczenia na ISO9660 to:
RockRidge jest rozszerzeniem pozwalającym na dłuższe nazwy i głębszą strukturę katalogów dla systemu plików ISO9660. Rozszerzenia te (RockRidge) nie są dostepne pod DOS-em czy Windows.
El Torito może być używane do tworzenia startowych (bootable) płyt CD. BIOS twojego komputera musi mieć możliwość uruchamiania takich płyt. Mówiąc wprost: pierwsze 1,44 MB na płycie zawiera dyskietkę startową zrobioną przez ciebie. Obraz takiej dyskietki jest traktowany jako dyskietka i system z niej startuje.
HFS pozwala na odczytanie CD-ROM-u na Macintosh-u, tak jakby był to wolumin HFS (rodzinny system plików MacOS).
Joliet pozwala na długie nazwy (między innymi) dla Windows (95, 98, NT). Autor nie zna żadnego narzędzia, które pozwalałoby mieć dłuższe nazwy pod DOS-em czy Windows 3.11.
Sekcja 2.8 pokazuje skąd można pobrać wspomniane oprogramowanie.
Jeśli chcesz się przyłączyć do grupy rozwojowej (w celu aktywnej
pomocy), wyślij list na adres
cdwrite-request@other.debian.org i umieść słowo subscribe
w
treści listu.
Najnowsza wersja tego dokumentu jest zawsze dostępna pod adresem www.guug.de.
Jesli uda ci się pokonfigurować sprzęt i system, to polecenie
cdrecord -scanbus
wyświetli ci listę urządzeń, dostępnym do
zapisu. Celem tego rozdziału jest poprowadzenie cię poprzez
konfigurację Linuksa, tak abyś na końcu zobaczył coś takiego:
$> cdrecord -scanbus
Cdrecord release 1.7a1 Copyright (C) 1995-1998 Jörg Schilling
scsibus0:
0) 'Quantum ' 'XP34300 ' 'F76D' Disk
1) 'SEAGATE ' 'ST11200N ' '8334' Disk
2) *
3) 'TOSHIBA ' 'MK537FB/ ' '6258' Disk
4) 'WANGTEK ' '5150ES SCSI-36 ' 'ESB6' Removable Tape
5) 'EXABYTE ' 'EXB-8500-85QUE ' '0428' Removable Tape
6) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM
7) *
scsibus1:
100) 'Quantum ' 'XP31070W ' 'L912' Disk
101) *
102) *
103) 'TEAC ' 'CD-R55S ' '1.0H' Removable CD-ROM
104) 'MATSHITA' 'CD-R CW-7502 ' '4.02' Removable CD-ROM
105) *
106) 'YAMAHA ' 'CDR400t ' '1.0d' Removable CD-ROM
107) *
Listing 1: Wykrywanie urządzeń na kontrolerze SCSI.
Przykład ten został dostarczony przez Jörga Schillinga. Widać tutaj cztery nagrywarki. Nie można rozróżnić zwykłego CD-ROMu od nagrywarek. Ale identyfikator produktu ma często w sobie wskazówki w stylu R, -R czy -RW.
Jądro można wyposażyć w sterowniki służące do różncyh celów. Można je wkompilować na stałe lub jako moduły ładowane na żądanie. Ta druga metoda jest preferowana dla sterowników niekrytycznych dla systemu. Np. jeśli masz system na dysku IDE, to sterownik do tego dysku musisz mieć w jądrze (a nie jako moduł).
Są trzy rodzaje nagrywarek: SCSI, IDE/ATAPI i zewnętrzne podłączane do portu równoległego. Tabela 4 pokazuje jak skonfigurować jądro dla tych typów nagrywarek. Pierwsza kolumna, to sekcja w menu konfiguracji jądra, gdzie można znaleźć dane ustawienie. Druga kolumna, to opis tej opcji. Trzecia kolumna, to nazwa modułu powstałego po kompilacji.
Y to tak (yes) i oznacza, że masz to wkompilować w jądro. M to moduł, i oznacza, że ma to być wkompilowane jako moduł. Y/M pozwala tobie wybrać czy ma to być moduł czy wkompilowanie w jądro. Puste ustawienia oznaczają, że nie trzeba tego modyfikować. Nie zmienianie tego ustawienia zwiększa szanse, że jadro będzie działać (jeśli działało wcześniej).
Aby sprawdzić jakie sterowniki są aktywne (tak statyczne jak i dynamiczne) w twoim jądrze, możesz odczytać plik /proc/devices. Aby sprawdzić jakie moduły są załadowane wydaj plecenie 'lsmod'. Aby sprawdzić jakie moduły są dostępne do załadowania wydaj polecenie 'modprobe -l'. Jeśli potrzebujesz modułu niedostępnego w twoim systemie, musisz przekompilować jądro. Przeczytaj Kernel-HOWTO na temat szczegółów kompilacji. Najświeższe informacje na temat obsługi modułów jądra znajdziesz w Module-HOWTO.
Sekcja Opis Moduł SCSI IDE PP
------------------------------------------------------------
BLOCK Enhanced IDE/MFM/RLL... Y
BLOCK IDE/ATAPI CDROM ide-cd M/N/Y
BLOCK SCSI hostadaptor emulation ide-scsi M
BLOCK Loopback device loop M M M
PARIDE Parallel port IDE device paride Y/M
PARIDE Parallel port ATAPI CD-ROMs M
PARIDE Parallel port generic ATAPI M
PARIDE (select a low-level driver) Y
SCSI SCSI support scsi_mod Y/M Y/M
SCSI SCSI CD-ROM support sr_mod Y/M Y/M
SCSI Enable vendor-specific Y Y
SCSI SCSI generic support sg Y/M Y/M
SCSI (select a low-level driver) Y
FS ISO 9660 CDROM filesystem iso9660 Y Y Y
FS Microsoft Joliet cdrom... joliet M M M
Tabela 4: Konfiguracja jądra
Jeśli udało ci się już skompilować jądro czy znaleźć potrzebne moduły, to albo dodaj je do /etc/modules albo pozwól ładować je automatycznym narzędziom (kmod, kerneld). Jeśli nie jesteś pewien, skonsultuj to z dokumenctacją swojej dystrybucji.
Opcja "SCSI hostadaptor emulation" we wczesniejszych jądrach nazywa się "SCSI emulation" (około 2.0.36). Jeśli jądro na to pozwala, skompiluj sterownik dla CD-ROM-ów IDE/ATAPI jako moduł. Jeśli nie, to wyłącz go (N) i użyj zamiast niego sterownika do CD-ROM-ów SCSI. W jądrach serii 2.2, nie możliwe jest uruchamianie sterowników do IDE i SCSI na tym samym fizycznym urządzeniu w tym samym czasie (jeśli masz 2.0.36, to przeczytaj poniżej).
Urządzenie loopback jest opcjonalne i pozwala przetestować obraz płyty przed zapisaniem.
Jeśli chcesz móc czytać płyty, to potrzebujesz obsługi systemu plików ISO 9660. Sterownik ten zawiera w sobie obsługę RockRidge Extensions. Jeśli chcesz mieć także obsługę MS Joliet ERxtensions, to skompiluj je jako moduł i załaduj.
[Od tłumacza] O ile się nie mylę, to Joliet jest obsługiwany przez jądro 2.0.36...
W każdym przypadku potrzebujesz sterownik niskiego poziomu dla swojego sprzętu. "Niskiego poziomu" odnosi się do sterownika, który komunikuje się bezpośrednio ze sprzętem. Dla urządzeń SCSI i podłączanych przez port równoległy jest wiele sterowników niskiego poziomu. Są one opisane poniżej.
W jądrze 2.2.1 nie włączaj na raz opcji CONFIG_SCSI_MULTI_LUN ('probe for multiple luns') i obsługi ide-scsi. Znany jest błąd ide-scsi, który nie pozwala na to. W każdym razie zaleca się uaktualnienie do wersji 2.2.5.
Niektórzy użytkownicy zgłaszali konflikty między prekompilowanymi binariami a jądrem 2.2. Jest to problem z jądrem. Oto rozwiązania:
Jądra w wersji wcześniejszej niż 2.0.31 mają kilka błedów i nie mogą czytać ostatniego pliku na płycie. Uaktualnij je do wersji 2.0.36.
W jądrze 2.0.36 możesz podać który sterownik (IDE czy SCSI) użyć
do którego urządzenia ATAPI. Dokładniej: możesz włączyć opcję
"SCSI emulation" w jądrze i uaktywnić ją dla
konkretnego urządzenia przed lub podczas ładowania jądra. Np. jesli
twojej nagrywarce odpowiada plik /dev/hdb, to dodaj polecenie
hdb=ide-scsi
.
image=/boot/zImage-2.0.36
label=Linux
read-only
append="hdb=ide-scsi"
Listing 2: Przykładowa konfiguracja dla lilo (/etc/lilo.conf)
linux "Linux 2.0.36" {
image=/boot/zImage-2.0.36
cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
Listing 3: Przykłądowa konfiguracja dla chos (/etc/chos.conf)
Jak już zainstalowałeś wszystkie potrzbne sterowniki, wystartuj nowe jądro. Powinno się tam już znajdować wszystko czego będziesz potrzebować do do następnych rozdziałów.
[Użytkownicy devfs nie muszą się przejmować następnymi krokami (ręczną konfiguracją plików urządzeń. Jeśli używasz devfs, wszystko pojawi się automagicznie na swoim miejscu.]
Przejdź do katalogu /dev
i sprawdź czy masz urządzenia
loopback. Nie jest to konieczne, żebyś musiał je mieć ale
wygodniejsze (zobacz punkt 3.5). Jeśli już je
masz, to polecenie ls powinno pokazać loop0 - loop7:
$ > cd /dev
$ > ls loop*
loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7
Listing 4: pliki urządzenia loopback
Jeśli nie masz tych urządzeń, to stwórz je przy pomocy skryptu
/dev/MAKEDEV
:
$ > cd /dev/
$ > modprobe loop
$ > ./MAKEDEV loop
Listing 5: polecenia do tworzenia plików urządzeń loopback
Ostatnie polecenie powiedzie się tylko jeśli masz skompilowany moduł
loop
. To co przeczytałeś dotąd na temat obsługi plików
urzdzenia loopback odnosi się do wszystkich plików urządzeń (sg*,
pg*, hd*, ...) i nie piszę wyraźnie o tym dalej.
ATAPI oznacza "polecenia SCSI przez szynę IDE". Innymi słowy napędy IDE/ATAPI porozumiewają się poprzez protokół SCSI (z pewnymi ograniczeniami) i w ten sposób mogą imitować urządzenia SCSI.
W Linuksie nagrywarka IDE może pojawić się jako SCSI dzięki opcji "SCSI (hostadaptor) emulation". Tak więc uaktywnij odpowiedni moduł jądra ide-scsi, jak to opisano powyżej i potem możesz robić wszystko tak jakbyś miał nagrywarkę SCSI.
Upewnij się, że twoja nagrywarka jest rozpoznawana przez BIOS twojego komputera. Nie ma sensu robić czegokolwiek dalej jeśli twój komputer nie zaakceptuje sprzętu. (fakt, że komputer nie wypluje nagrywarki nie jest potwierdzeniem; na ekranie musi pojawić się odpowiedni napis).
Jeśli planujesz podłączyć swój napęd SCSI do portu równoległego, będziesz potrzebował specjalnego kabla i specjalnego sterownika w jądrze. Więcej na ten temat możesz poczytać pod adresem www.torque.net/parport/parscsi.html.
Pliki urządzeń /dev/sd* i /dev/sr* używane do komunikacji z dyskami i CD-ROM-ami SCSI mają zaimplementowany tylko transfer zorientowny na bloki danych. To właśnie czyni je tak szybkimi i idealnymi do zapisu danych. Sterowanie laserem nagrywarki to bardziej skomplikowane zadanie i wymaga trochę więcej niż transferu danych w postaci bloków. Aby utrzymać tę jakość urządzeń sd* i sr* stworzono nowy rodzaj plików urządzeń SCSI; tzw ogólne urządzenia SCSI.
Ponieważ poprzez ogólne urządzenia SCSI można zrobić wszystko ze sprzętem SCSI nie są one przeznaczone do jakiegoś konkretnego celu - stąd nazwa ogólne (generic).
Tak jak inne pliki urządzeń i te można znaleźć w katalogu /dev/:
$ > cd /dev
$ > ls sg*
sg0 sg1 sg2 sg3 sg4 sg5 sg6 sg7
Jeśli nie masz tych plików urządzeń, to stwórz je używając skryptu
/dev/MAKEDEV
:
$ > cd /dev/
$ > ./MAKEDEV sg
Przykro mi, ale nie mam pojęcia na ten temat. Przeczytaj informacje
zawarte na
stronie WWW poświęconej temu tematowi albo plik na swoim dysku
/usr/src/linux/Documentation/paride.txt
.
Przegląd narzędzi służących do nagrywania płyt znajduje się pod adresem www.fokus.gmd.de. Project tworzenia CD dla Unix-a.
Jedno z poniższych narzędzi potrzebne jest aby wygenerować obraz płyty.
mkisofs mkhybrid
W zależności od modelu twojej nagrywarki (zobacz 1.3) potrzebne jest jedno z poniższych narzędzi do zapisania danych na CD:
Nie wierz podręcznikowi systemowemu od (starego) mkisofs, który stwierdza, że potrzebujesz wersji 1.5. Po prostu użyj programu cdrecord i będzie w porządku. Zauważ, że program mkisofs dostarczany wraz z cdrecord ma kilka rozszerzeń wspomnianych w dokumentacji programu.
Front-endy w Linuksie to rzeczywiste front-endy. Oznacza to, że ciągle musisz zainstalować narzędzia obsługiwane z linii poleceń, ale masz do nich dostęp w ładniejszy sposób.
X-CD-Roast to pakiet stworzony do ułatwienia tworzenia płyt w Linuksie. Łączy on narzędzia sterowane z linii poleceń jak cdrecord i mkisofs z ładnym graficznym interfejsem.
www.fh-muenchen.de
BurnIT to front-end napisany w Javie do cdrecord, mkisofs i cdda2wav-0.95, co czyni z niego kompletny pakiet do wypalania płyt CD na platformach unixowych. Ściągnąć go można z adresu sunsite.auc.dk.
Imperator Nero na temat palenia swoich własnych klasycznych CD [AD64; on się na tym kompletnie nie zna] "Jeśli do ognia się obrócisz, zabawiać się nie przestanę póki się palisz."
[tłum.: Z góry przepraszam za tłumaczenie, ale poetą nie jestem.]
Zapis CD w Linuksie składa się z dwóch kroków:
Rozdział ten opisuje kroki tworzenia płyt z danymi i audio.
Pamiętaj, że zebranie wszystkiego do płyty zabiera o wiele więcej niż się można spodziewać. Jednak pamiętaj też, że brakujących plików nie można dopisać do płyty jak jest już zapisana i zakończona.
Pamiętaj także, że pewna ilość miejsca na płycie jest używana do przechowywania informacji na temat systemu plików iso9660 (zwykle kilka MB). 620 MB danych zawsze się zmieści na 650MB płycie CD-R.
Zanim jakiś nośnik danych (dyskietka, dysk twardy czy kompakt) będzie mógł być użyty trzeba na nim założyć system plików (mówiąc po DOS-owemu: trzeba go sformatować). System plików jest odpowiedzialny za organizację i zapis plików na nośniku.
Zwykle, narzędzia do tworzenia systemu plików na partycji dyskowej, zapisuja na niej pusty system plików, który jest potem montowany i wypełniany plikami przez użytkownika. Zapisywalne płyty CD są zapisywalne tylko raz, więc jeśli zapisałbyś na nim pusty system plików, zostałoby sformatowane - ale pozostałoby puste na zawsze. Jest to także prawda dla nośników wielokrotnego zapisu, ponieważ nie można zmienić dowolnie zawartości sektorów, ale trzeba ją całą najpierw skasować.
Więc to czego potrzebujemy, to narzędzie, które tworzy system plików podczas nagrywania plików na płycie. Narzędzie to nazywa się mkisofs. Przykładowe użycie może być takie:
mkisofs -r -o obraz_cd moja_kolekcja/ `---------' `-------------' | | dokąd zapisać nagraj z tego katalogu
Opcja -r ustawia prawa dostępu wszystkich plików na odczyt dla
wszystkich i włącza RockRidge Extensions. To jest zwykle to, co
chcesz osiągnąć i użycie tej opcji jest zalecane, no chyba, że wiesz
dokładnie co robisz. (wskazówka: bez -r pliki na kompakcie będą miały
prawa jak moja_kolekcja
!).
mkisofs spróbuje
odwzorować wszystkie nazwy plików na format 8.3 używany przez DOS,
aby zapewnić jak największą kompatybilność. W razie gdy pliki w
formacie 8.3 nazywają się tak samo, używane są liczby, a informacja
o takich plikach wysyłana jest do STDERR - zwykle ekran.
Nie panikuj:
Pod Linuksem nigdy nie zobaczysz tych nazw w formacie 8.3, ponieważ
Linux umie korzystać z RockRidge Extensions, które zawierają
oryginalne atrybuty pliku (prawa dostępu, nazwy, itp.).
Teraz możesz się zastanawiać dlaczego rezultat nie jest wysyłany bezpośrednio do nagrywarki. Z dwóch powodów:
Metodę zapisu płyty w jednym kroku opiszę poniżej.
Możnaby stworzyć dodatkową partycję na dysku i tam zapisywać wynik działania mkisofs. Jednak ja jestem przeciwny takiemu rozwiązaniu ponieważ jedną literówką możnaby sobie zniszczyć całą partycję Linuksową (czytaj: co mi się przytrafiło...). Co więcej, to jest marnowanie miejsca na dysku, bo dane te są tylko czasowe i można je usunąć po zapisaniu na płytę. Jednak jeśli masz wystarczająco dużo miejsca na dysku, dodatkowa partycja może ci zaoszczędzić czasu na kasowanie obrazu.
Linux ma możliwość montowania plików tak jakby były one partycją. Cecha ta przydaje się do testowania obrazu płyty, czy prawa dostępu są takie jak chcesz. Pomimo, iż nośniki są teraz bardzo tanie, to zapis płyty zabiera trochę czasu i możesz chociaż zaoszczędzić swój czas sprawdzając obraz.
Aby zamontować w katalogu /cdrom
taki plik stworzony wcześniej
wpisz:
mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
Teraz możesz sprawdzić pliki w katalogu /cdrom
- pojawią
się tam dokładnie tak samo jak będą wyglądać na płycie. Aby odmontować
ten plik po prostu napisz umount /cdrom. Uwaga: Jeśli masz
jądro starsze niż 2.0.31, to ostatni plik na płycie może nie być
czytany. Użyj nowszego jądra, jak np. 2.0.36. Opcja -pad
w
programie cdrecord odnosi się tylko do płyt audio, a dodatkowa
opcja -pad
programu mkisofs wymaga łaty, co jest taką samą
pracą jak uaktualnienie do nowego jądra.
Uwaga:
Niektóre stare wersje mount nie umieją obsługiwać urządzeń
loopback. Jeśli masz taką starą wersję mount, to jest to
wskazówka, żeby uaktualnić swoją dystrybucję.
Kilku ludzi sugerowało już, żeby zamieścić tu informację skąd wziąć
najnowsze narzędzia do montowania, ale ja zawsze odmawiam. Jeśli
twoja dystrybucja dostarcza takiej starej wersji mount, to
zgłoś to do nich jako błąd. Jeśli twoja dystrybucja nie jest łatwa
do uaktualnienia, zgłoś to jako błąd.
Jeśli dołączyłbym tutaj wszystkie informacje potrzebne do poprawienia błędów w źle zaprojektowanej dystrybucji to HOWTO byłoby o wiele większe i trudniejsze do czytania.
Już nie ma dużo do zrobienia. Jeśli jeszcze nie próbowałeś, to jest dobra chwila na polecenie:
cdrecord -scanbus
Polecenie to pokaże ci do którego urządzenia SCSI dołączona jest twoja nagrywarka. Wszystkie inne metody zgadywania informacji wyświetlanych przez cdrecord zostały usunięte z tego HOWTO (szczególnie ten cokolwiek niebezbieczny schemat nazewnictwa ogólnych urządzeń SCSI).
Zanim pokażę ci ostatnie polecenie, pozwól się ostrzec, że nagrywarki "lubią być karmione" ciągłym strumieniem danych ponieważ mają tylko mały bufor danych. Tak więc proces zapisu obrazu CD na płytę nie może być przerwany, bo w wyniku otrzymamy źle nagraną płytę. Łatwo jest przerwać taki strumień danych np. przez skasowanie dużego pliku. Przykład: Jeśli skasujesz plik o rozmiarze 650 MB, to jądro musi uaktualnić informacje o 650.000 bloków na dysku (zakładając, że masz na swoim systemie plików bloki 1 kB). Zajmuje to trochę czasu i bardzo prawdopodobne, że zwolni działalność dysku na tyle, że strumień danych zostanie przerwany na kilka sekund. Jednak na szybkich maszynach czytanie poczty, surfowanie po sieci czy nawet kompilacja jądra nie mają wpływu na nagrywanie.
Zauważ proszę, że żadna nagrywarka nie potrafi ponownie ustawić lasera i nie może kontynuować od miejsca, w którym zostało przerwane nagrywanie. Przez to każda silniejsza wibracja a nawet wstrząs zniszczy płytę.
Jeśli jesteś już psychicznie przygotowany, ubierz się w czarną szatę, pomnóż numer SCSI-ID nagrywarki przez numer SCSI-revision i zapal tyleż samo świeczek, wymów dwa wiersze z "ASR-FAQ" (grupa dyskusyjna alt.sysadmin.recovery) i ostatecznie wpisz:
$ > SCSI_BUS=0 # wzięte z listingu "scsibus0:"
$ > SCSI_ID=6 # wzięte z listingu "TOSHIBA XM-3401"
$ > SCSI_LUN=0
$ > cdrecord -v speed=2 dev=$SCSI_BUS,$SCSI_ID,$SCSI_LUN \
-data cd_image
# to samo co wyżej, ale krótsze
$ > cdrecord -v speed=2 dev=0,6,0 -data cd_image
Dla zwiększenia czytelnośći, namiary na nagrywarkę zapisane są do
trzech zmiennych o wymownych nazwach: SCSI_BUS, SCSI_ID, SCSI_LUN.
Opcja -data
nie jest konieczna, ale została tutaj podana, aby
odróżnić tę linijkę o linijki służącej do nagrywania płyt audio.
Jeśli używasz programu cdrecord do nadpisania płyty CD-RW, musisz
podać opcję blank=...
, aby skasować poprzednią zawartość.
Poczytaj stronę podręcznika man, aby dowiedzieć się więcej na temat
różnych metod zerowania płyty CD-RW.
W czasach kiedy wszyscy oprócz mnie posiadają 400 MHz maszyny, ludzie nagrywają płyty w locie bez tworzenia obrazu. Czyli łączą wyjście programu mkisofs z wejściem programu cdrecord:
$ > IMG_SIZE=`mkisofs -R -q -print-size private_collection/`
$ > mkisofs -r private_collection/ \
|cdrecord speed=2 dev=0,6,0
tsize=${IMG_SIZE}s -data -
# nie zapomnij o s --^ ^-- czytaj dane z STDIN
Pierwsze polecenie jest pustym poleceniem służącym do określenia rozmiatu obrazu (potrzebujesz mkisofs z pakietu cdrecord, aby to działało). Może twoja nagrywarka nie musi znać rozmiaru obrazu, który będzie zapisany, wtedy możesz to opuścić. Wyświetlony rozmiar musi być przekazany jako parametr tsize do polecenia cdrecord (jest zapisany w zmiennej środowiskowej IMG_SIZE). Ostatnie polecenie to połączenie poleceń mkisofs i cdrecord przez potok.
Zapisanie takiej płyty jest bardzo podobne do wymienionych powyżej kroków/ Dwie główne różnice, to fakt, że płyty audio składają się ze ścieżek audio, które są zorganizowane w osobne obrazy. Więc jeśli chcesz mieć 10 ścieżek, to musisz mieć 10 obrazów. Drugą różnicą jest format tych obrazów. Już nie ISO 9660 (czy jaki tam system plików wolisz), ale 16-bitowe sample w kodowaniu PCM z częstotliwością próbkowania 44,1 kHz.
Jednym z narzędzi do zamiany twoich plików dźwiękowych do wymaganego formatu jest sox. Użycie jest bardzo proste:
$ > sox killing-my-software.wav killing-my-software.cdr
Polecenie to zamienia utwór killing-my-software z formatu WAV na format CDR. Poczytaj stronę podręcznika systemowego man programu sox na temat rozszerzeń i formatów plików rozpoznawanych przez niego. Z powodu sporej ilości dysku potrzbnej na konwersję, jest to wbudowana cecha programu cdrecord dla formatów WAV i AU. Tak więc dopóki twoje pliki muzyczne są w postaci plików .wav czy .au i są to 16-bitowe próbki z częstotliwością 44,1 kHz możesz ich używać bez ręcznej zamiany.
Cdrecord zapisuje obrazy jako ścieżki audio jeśli podamy opcję
-audio
. Inne opcje są identyczne z tymi do zapisywania danych
(o ile nie masz jakichś bardzo specyficznych wymagań). Poniższe
trzy przykłady robią to samo, ale czytają obrazy z innych plików:
$ > cdrecord -v speed=2 dev=0,6,0 -audio track1.cdr track2.cdr...
$ > cdrecord -v speed=2 dev=0,6,0 -audio track1.wav track2.wav...
$ > cdrecord -v speed=2 dev=0,6,0 -audio track1.au track2.au...
Szczególnym przypadkiem są pliki MPEG3, które mogą być zamienione przy pomocy programu 'mpg123 -s track1.mp3 > track1.cdr'. W drugą stronę działa 8hz-mp3 dla plików WAV.
W takim układzie jak powyżej wypalisz płyty z 2-sekundową przerwą pomiędzy każdymi dwoma ścieżkami audio. Jeśli twoja nagrywarka umożliwia nagrywanie w trybie "disc at once" (DAO), możesz wypróbować najnowszej wersji cdrecord, aby się tych przerw pozbyć.
Niewiele do powiedzenia. Po prostu określ typ oklejnych obrazów
opcjami -data
lub -audio
. Przykład:
cdrecord -v dev=0,6,0 -data cd_image -audio track*.cdr
Odpowiedź: To zależy od twojej nagrywarki. Nowsze powinny mieć bufor danych o pojemności ok. 1MB lub coś koło tego i może wytrzymać jakieś 1-2 sekund bez dopływu danych. Jeśli chcesz znać jakieś szczegóły, to zajrzyj do podręcznika albo zapytaj producenta. Niezależnie od rozmiaru tego bufora musisz zagwarantować stały przepływ danych w granicach 300 kb/s - 600 kb/s.
Procesy intensywnie wykorzystujące dysk, jak np. uaktualnianie bazy "locate", obniżają maksymalny przepływ i mogą zniszczyć płytę; lepiej sprawdź czy takie procesy nie są uruchamiane przez cron-a, at lub anacron-a podczas gdy wypalasz płytę.
Z drugiej strony niektórzy kompilowali jądro podczas wypalania płyty i nic ich płytom się nie działo. Do takich eksperymentów potrzebujesz jednak szybkiej maszyny.
Fragmentacja jest zwykle taka mała, że jej wpływ jest niezauważalny. Jednak możesz łatwo skonstruować patologiczne przypadki fragmentacji, które obniżą prędkość przepływu danych do 100 kb/s. Więc nie rób tego. :-)
Tak, pliki przez lata fragmentują się na dysku. Tym szybciej, im szybciej system plików jest pełny. Zostawiaj zawsze 10% - 20% wolnego miejsca i powinno być dobrze.
Jeśli nie jesteś pewny, to spójrz na komunikaty wypisywane podczas startu, procent fragmentaji jest podawany podczas sprawdzania systemu plików. Możesz sprawdzić tę wartość bardzo niebezpiecznym poleceniem
$ > e2fsck -n /dev/sda5 # '-n' jest ważne! [różne komunikaty usunięte - zignoruj wszelkie błędy] /dev/sda5: 73/12288 files (12.3% non-contiguous)
W tym przykładzie fragmetacja jest bardzo wysoka - ale na tym systemie plików są tylko 73 małe pliki (użyte w /tmp) więc wartość ta nie jest alarmująca.
Jest eksperymentalne narzędzie zwane e2defrag służące do defragmentacji systemu plików Extended-2. Obecna wersja nie działa zbyt pewnie, aby używać jej nawet w domowych komputerach. Jeśli naprawdę chcesz zdefragmentować swój system plików, zrób kopię zapasową (lepiej: dwie kopie), poćwicz odzyskiwanie danych, stwórz nowy system plików (to zniszczy ten stary) i odtwórz dane. Jest to najbezpieczniejsza technika.
Tak. Jedyny system plików, który jest nieodpowiedni do tego celu to NFS (sieciowy system plików).
Ja używam UMSDOS, żeby dzielić mejsce na dysku pomiędzy Linuksem a DOS/Win na PC-cie (486/66) przeznaczonym do nagrywania płyt.
Tak. Na płycie możesz umieścić jakikolwiek system plików. Ale inne systemy operacyjne nie będą potrafiły obsłużyć takiej płyty.
Oto przepis:
dd if=/dev/zero of="empty_file" bs=1024k count=650
$ > /sbin/mke2fs -b 2048 pusty_plik pusty_plik is not a block special device. Proceed anyway? (y,n) y
mount -t ext2 -o loop=/dev/loop1 empty_file /mnt
/mnt
i odmontuj potem ten
katalog.Jeśli chcesz wstawić pozycję do /etc/fstab
dla takich
płyt, to wyłącz ich sprawdzanie, np.
/dev/cdrom /cdrom ext2 defaults,ro 0 0
Pierwsze 0 oznacza "nie dołączaj tego systemu plików do kopii zapasowych", drugie (ważne) oznacza, "nie sprawdzaj błędów podczas startu" (polecenie fsck nie powiedzie się podczas sprawdzania błędów na płycie).
Jest kilka dostępnych pakietów. Najnowszym jest "cdparanoia"; ściągnąć go można z
www.mit.edu
Albo możesz spróbować kombinację programów "cdda2wav" i "sox" dostępne z serwera w Polsce:
ftp.icm.edu.pl. Pierwszy w podkatalogucdrom/
a drugi wconvert/
.
Pakiet cdda2wav umożliwia odczytanie podanego przedziału czasowego
(albo całej ścieżki) z płyty muzycznej i zamianę odczytanych danych
na format pliku WAV. sox natomiast zamienia format pliku WAV na
format zapisu na płytach muzycznych, tak że dane te mogą zostać
zapisane na płytę przy pomocy cdrecord. Nie potrzebujesz
koniecznie sox
jeśli używasz nowszej wersji cdrecord
,
ponieważ program ten posiada wbudowaną opcję zamiany plików .wav i
.au na odpowiedni format.
Plik drivers/scsi/scsi.c
zawiera taką informację:
"Użycie: echo "SCSI add-single-device 0 1 2 3" >/proc/scsi/scsi Zamień "0 1 2 3" na swoje numery "Host Channel Id Lun". Ta cecha jest BETĄ. UWAGA: Programu tego nie można używać do podłączania urządzeń SCSI podczas działania systemu ponieważ urządzenia te nie zostały przygotowane do tego i możesz sobie zniszczyć sprzęt! Ale może można włączyć już podłączone urządzenie. Jednak nie ma żadnej gwarancji, że urządzenie to nie zniszczy nadchodzących danych."
Używać tego można tylko jeśli dodajesz urządzenia SCSI na końcu łańcucha. Jeśli umieścisz urządzenie SCSI gdzieś w istniejący łańcuch, to popsuje to kolejność w katalogu /dev/ i można zniszczyć całą zawartość twojego dysku.
Tak. Ale powinieneś zdawać sobie sprawę z tego, iż wszelkie błędy podczas odczytu oryginału (z powodu kurzu czy rys) spowodują błędy także w kopii.
Pierwszy przypadek: masz nagrywarkę i oddzielny napęd CDROM. Wykonując polecenie:
cdrecord -v dev=3,0 speed=2 -isosize /dev/scd0
odczytujesz strumień danych z CD-ROM-u podłączonego jako /dev/scd0
i zapisujesz go bezpośrednio poprzez urządzenie SCSI o ID=3 na nagrywarkę.
Drugi przypadek: nie masz oddzielnego napędu CD-ROM. W tym przypadku musisz użyć nagrywarki, żeby odczytać dane:
dd if=/dev/scd0 of=obraz_cd
Polecenie to jest równoważne mkisofs więc powinieneś postępować dalej tak, jak to opisano w rozdziale 3. Zauważ, że ta metoda nie zadziała w przypadku płyt muzycznych.
Tak. Nowsze jądra (2.0.36 i seria 2.2) mają wbudowaną obsługę
systemu plików Joliet. Pamiętaj, że musisz użyć obu opcji w pliku
/etc/fstab: iso9660
i joliet
(to drugie, to rzeczywiste
rozszerzenie). Więcej szczegółów przeczytasz na stronie
www-plateau.cs.berkeley.edu/people/chaffee/joliet.htm.
Tak jak to robisz ze zwykłymi napędami. Żadnych sztuczek. Zauważ,
że musisz użyć urządzeń scd (SCSI CD-ROM), aby zamontować
płytę do czytania. Przykładowa pozycja z /etc/fstab
:
/dev/scd0 /cdrom iso9660 ro,user,noauto 0 0
Użyj bzip2
zamiast jakiegoś innego kompresora jak np.:
gzip
czy pkzip
. Zaoszczędzi ci to przy większych plikach
(100 kB) około 30% miejsca na dysku. Można go ściągnąć z:
www.muraroa.demon.co.uk/
Zamiast nagrywać prawdziwe płyty audio możesz zamienić swoje pliki .wav w .mp3 i zapisać je na systemie plików ISO 9660 jako zwykłe pliki. Format MPEG III umożliwia kompresję około 1:10.
Oczywiście większość odtwarzaczy CD nie umie czytać plików... i to jest wada. Jednak z drugiej strony, dlaczego na następnej prywatce nie puszczać muzyki z twardego dysku ? 18 GB to wystarczająco dużo miejsca na 3000-4000 plików .mp3. :-)
Program do tworzenia plików MPEG III można ściągnąć z
www.stud.ifi.uio.no/~larsi/other/
Odtwarzacz do MPEG III można ściągnąć z
homepages.uni-tuebingen.de/student/michael.hipp/mpg123/
Jeśli masz nagraną mowę, to możesz spróbować zredukować jej rozmiar algorytmem "GSM lossy speech compression":
ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/
Musisz mieć dyskietkę startową. Stwórz jej dokładny obraz poleceniem:
dd if=/dev/fd0 of=boot.img bs=18k
Umieść ten obraz w katalogu z danymi do płyty (albo w jakimś
jego podkatalogu). Poinformuj mkisofs o tym pliku poprzez opcję
-b
i użyj także opcji -c
. Szczegóły znajdziesz w pliku
README.eltorito w pakiecie mkisofs.
Interesującym zastosowaniem może być system DOS czy Windows zabezpieczony przed wirusami. Zaoszczędza to pieniędzy na dyski (jeśli masz sieć i używasz samby do wsytawiania danych użytkowików na serwerze plików). Jednak jest to czysta teoria, bo nikt mi jak dotąd nie dostarczył konkretów.
Trochę szczegółów na temat startowych płyt z RedHatem można poczytać po adresem www.channel1.com/users/rodsmith/rhjol-technical.html.
Jest dostępna taka nakładka na system plików Linuksa, która montowana jest na CD-ROM i przyjmuje wszystkie operacje zapisu. Nowe i zmodyfikowane pliki zapisywane są gdzie indziej, ale dla użytkownika wygląda to, tak jakby operacje były wykonywane na płycie. Więcej informacji znajdziesz pod adresem home.att.net/~artnaseef/ovlfs/ovlfs.html.
Jeśli to ci nie wystarczy, to poczekaj na system plików UDF, który ma być obsługiwany przez Linuksa. Albo pomóż go rozwijać trylinux.com/projects/udf/.
Tak. Chociaż zostało to przetestowane na razie z dwoma nagrywarkami. I potrzebujesz też łaty na jądro zapewniającej więcej buforów dla sterownika ogólnego urządzenia SCSI ( ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha).
Niemiecki magazyn komputerowy "c't" ma listę wskazówek dotyczących kompaktów "noname" w wydaniu listopadowym 1996:
Zawsze pamiętaj, że popsutą płytę można wciąż użyć jako podstawki. :-)
Sprawdź najpierw czy nagrywarka działa w innych systemach. A konkretnie:
Jeśli "to nie działa" nawet w innych systemach, to masz jakiś konflikt sprzętowy albo popsuty sprzęt.
Jeśli działa w innych systemach operacyjnych i używasz loadlina, aby startować Linuksa, to tu masz problem. Loadlin robi gorący reset i zostawia cały sprzęt już zainicjalizowany a to przeszkadza jądru Linuksa.
W Linuksie niektóre wersje bibilioteki C są niekompatybilne (mają błędy), i program skompilowany z jedną nie będzie działał z inną. Przykładem może być:
[root@Blue /dev]# cdrecord -eject dev=2,0
cdrecord: No such file or directory. No read access for 'dev=2,0'.
Najprzypuszczlaniej błędy te są powodowane:
W różnych warunkach urządzenia SCSI odłączają się i podłączają ponownie samemu (elektronicznie) do szyny SCSI. Jeśli taka cecha nie jest dostępna (sprawdź parametry kontrolera i jądra) niektóre nagrywarki mają problemy podczas wypalania czy utrwalania danych na kompakcie.
Szczególnie sterownik NCR 53c7,8xx SCSI ma standardowo wyłączoną tę cechę, więc możesz najpierw to sprawdzić:
NCR53c7,8xx SCSI support [N/y/m/?] y always negotiate synchronous transfers [N/y/?] (NEW) n allow FAST-SCSI [10MHz] [N/y/?] (NEW) y allow DISCONNECT [N/y/?] (NEW) y
dostarczył pomysł na umieszczanie systemów plików innych niż ISO 9660 na płytach.
zgłosił literówki
zauważył potrzebę posiadania nowszych narzędzi mount do montowania przy pomocy urządzenia loopback.
dobra argumentacja, żeby wyrzucić cdwrite z tego HOWTO.
wygładził słownictwo.
podał informację o liście dyskusyjnej programu cdwrite.
pomógł w ulepszeniu sekcji na temat tworzenia obrazu CD.
URL do narzędzia mkhybrid
sprawdził nagrywanie CD-ROM-u EXT2 (zobacz 4.4)
adres do łaty dla jądra potrzebnej do czytania płyt Joliet.
informacje na temat cdrecord.
zauważył problem w 4.9
pomógł przy tworzeniu przepisu jak zrobić kopię 1:1
wskazówka na temat domyślnego wyłączenia cechy rozłączania/ponownego podłączania w sterowniku ncr.
informacje i doświadczenia na temat nagrywania płyt muzycznych.
dostarczył wskazówkę na temat zapisu płyt muzycznych.
zasugerował użycie popsutych płyt jako podstawkę pod napoje.
zgłosił problem z wcześniej zainicjalizowanymi nagrywarkami przy starcie przy pomocy loadlin.
Tłumaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego 1997-1999. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny.
Jeśli znalazłeś jakieś rażące błędy ortograficzne, gramatyczne, składniowe, techniczne to pisz do mnie:
Oficjalną stroną tłumaczeń HOWTO jest http://www.jtz.org.pl/
Aktualne wersje przetłumaczonych dokumentów znajdują się na
tejże stronie. Dostępne są także poprzez anonimowe ftp pod adresem
ftp.jtz.org.pl w katalogu /JTZ/
.
Przetłumaczone przeze mnie dokumenty znajdują się także na mojej stronie WWW. Są tam też odwołania do Polskiej Strony Tłumaczeniowej.
Kontakt z naszą grupą, grupą tłumaczy możesz uzyskać poprzez listę
dyskusyjną jtz@ippt.gov.pl. Jeśli chcesz sie na nią zapisać, to
wyślij list o treści subscribe jtz Imię Nazwisko
na adres
majordomo@ippt.gov.pl
Zmiany w tym dokumencie wprowadzone przez tłumacza to:
# # # #
Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:22