Gravando CDs sob o Linux
ArticleCategory: [Es gibt verschiedene Artikel
Kategorien]
Applications
AuthorImage:[Ein Bild von Dir]
TranslationInfo:[Autor und Übersetzer]
original in en Katja and Guido Socher
en to pt Bruno Sousa
AboutTheAuthor:[Eine kleine Biographie über den
Autor]
A Katja é a editora alemã da LinuxFocus. Ela gosta do Tux,
filmes & fotografia e do mar. A sua página pessoal pode ser
encontrada aqui.
O Guido é um fã de há longa data do Linux e ele gosta do Linux
porque é desenhado por pessoas honestas e abertas. Isto é uma das
razões porque se chama código aberto. A sua página pessoal pode ser
encontrada em linuxfocus.org/~guido.
Abstract:[Hier sollte eine kleine Zusammenfassung
stehen]
Neste artigo descreveremos como pode gravar CDs sob o Linux.
ArticleIllustration:[Das Titelbild des Artikels]
ArticleBody:[Der eigentliche Artikel. Überschriften
innerhalb des Artikels sollten h2 oder h3 sein.]
Provavelmente leu o artigo da Katja Um novo mundo inteiro na
nossa última edição e saiu de viagem com o Tux. E agora tem imensos
"imagens" e "sons" que deseja trazer para casa e questiona-se como pode
fazer isto. Gravar tudo num CD é uma boa solução e neste artigo vamos
dizer-lhe como é que pode fazer isto.
O que é que precisa ?
Configuração de Hardware:
Claro que o Linux tem de estar instalado e a correr na sua máquina e
precisa de um gravador de CDs para fazer o trabalho.
Se tiver um gravador de CDs SCSI as chances de ser reconhecido
imediatamente pelo Kernel são muito boas. Só precisa de confirmar se o
seu dispositivo SCSI é suportado pelo Linux (para isto, veja a base de dados de hardware). Todos os
gravadores SCSI de CDs trabalharam sob o Linux.
Para um gravador ATAPI/IDE tem de configurar a emulação SCSI para o
seu gravador parecer um dispositivo SCSI mesmo que esteja ligado
através do bus IDE. Como fazer isto está descrito no ficheiro README.atapi
do xcdroast, também recomendamos que leia o HOWTO de Gravação de CDs
em linuxdoc.org
Para gravadores USB veja o HOWTO de Gravadores de CDs USB em mobilix.org/linux_usb_cd.html.
Como ambos só experimentámos com gravadores SCSI só podemos repetir o
que lemos aqui.
Software para gravar CDs:
Para gravar CDs, você precisa dos seguintes programas:
- cdrecord: este é o programa que, actualmente, comunica com o
seu gravador de CDs.
- mkisofs: precisa dele para fazer CDs de dados. É usado para
gerar uma imagem do sistema de ficheiros para o CD, chamada imagem
ISO.
- cdda2wav: este é preciso para ler audio digital a partir de CDs
audio.
Todos os três estão incluídos no pacote cdrtools que pode obter a
partir de www.xcdroast.org
ou ftp.fokus.gmd/pub/unix/cdrecord/
Com estes utilitários pode já gravar CDs utilizando a linha de
comandos. Mas se deseja uma interface simpática e amigável precisa
ainda de interfaces. Existem imensas interfaces disponíveis mas neste
artigo só falaremos do xcdroast (http://www.xcdroast.org) e
koncd (http://www.koncd.org/).O xcdroast
parece ser o frontend com mais possibilidades e gostamos do Koncd
porque é muito fácil de utilizar.
Instalação
Em muitos casos o xcdroast já estará instalado no seu computador, pelo
menos com a distribuição RedHat é compilado com a biblioteca pam o que
significa que lhe pedirá sempre pela password root se quiser gravar
CDs e provavelmente, não quer dar a palavra-passe do root a todos os
utilizadores que queiram gravar CDs. Um segundo senão é não poder
iniciar o programa remotamente pela rede. Assim sendo é melhor fazer
download da última versão a partir de http://www.xcdroast.org. Isto
deve ser suficiente visto que existem pacotes pré-compilados para a
maioria das distribuições disponíveis.
O koncd pode ser obtido a partir de www.koncd.org. As versões recentes
do koncd assentam nas novas características QT/KDE. Se não quiser
passar algum tempo a actualizar as bibliotecas do QT e do KDE pode
utilizar uma versão mais antiga do koncd. Para este artigo utilizámos o koncd-0.7.5
sob o redhat 7.1.
Gravando CDs como um utilizador normal (não-root)
Para gravar CDs você precisa de ter permissões de escrita nos
dispositivos /dev/sg* que são utilizados para a comunicação com o
hardware. Mas o cdrecord utiliza extensões em tempo real para evitar
"buffer underruns" durante o processo de escrita, o que requer, também
permissões de root. Assim a melhor solução é utilizar o SUID no
cdrecord e cdda2wav. Uhh ? SUID ? Não se preocupe. Pode ler o artigo do
Guido acerca de permissões de ficheiros se quer
saber exactamente o que é. De momento basta digitar os dois seguintes
comandos e esquecer-se deles novamente :-)
chmod 4111 /usr/bin/cdrecord
chmod 4111 /usr/bin/cdda2wav
Tenha precaução que isto pode ser um potencial risco, mas não é,
definitivamente. menos seguro do que dizer a toda a gente que deseja
gravar CDs qual a palavra-passe do root.
Agora pode testar se o seu gravador de CDs é reconhecido
correctamente. Corra simplesmente:
cdrecord -scanbus
Se tudo está bem, então devia var algo parecido com isto:
0,6,0 6) 'PLEXTOR ' 'CD-ROM PX-W8220T ' '1.03' Removable
CD-ROM
Os números e a descrição podem ser diferentes, dependendo da sua
configuração de hardware.
Pode, alternativamente, clicar no botão SETUP do xcdroast ou koncd e
verificar se o seu gravador é reconhecido correctamente.
correctly.
Comecemos, então, finalmente a gravar um CD.
Notas gerais acerca da gravação de CDs
Existem quatro passos necessários para gravar CDs:
- Tem de seleccionar os dados/música que deseja gravar num CD.
- Tem de definir algumas opções para o CD que vai ser gravado. Por
exemplo quando deseja gravar um CD audio tem de escolher entre o modo
TAO e DAO ou para um CD de dados tem de definir algumas opções para o
sistema de ficheiros.
- Deve criar um directório de imagem com os ficheiros que deseja
gravar para o CD. Se só deseja duplicar completamente, um outro CD
você "escreverá on the fly" caso contrário tem de criar uma imagem
primeiro no disco rígido.
Um directório imagem é um espaço de armazenamento temporário para os
dados que vão ser escritos para o CD. Para os CDs audio isto são
ficheiros indexados e os ficheiros wav contêm a música e os CDs de
dados são um ficheiro muito grande chamado imagem ISO.
- Grava actualmente o CD.
Geralmente, os CDs precisam de ser escritos de "uma só ida" e o fluxo
de dados não perturbado durante o processo de escrita. Graças às
extensões de tempo real os buffer underruns que conduzem a CDs
queimados são só um problema do utilizadores do windows. Com o Linux
não precisa, realmente, de "burn proof". Existe um buffer especial,
chamado FIFO, dentro do gravador de CDs para compensar pequenos
distúrbios o que, normalmente, é suficiente para evitar falhas de
gravação no Linux. Contudo deve ser cuidadoso e não deve fazer coisas
que precisem de muito poder de computação. Pode navegar na Web,
compilar software,... mas apagar um ficheiro grande pode ser um
problema e talvez seja suficiente para perturbar o processo o que
resultado num CD queimado.
Se está preocupado com os buffer underruns pode utilizar a opção de
simulação de escrita (dummy write) para primeiro testar se a escrita do
CD trabalha antes de o queimar. O processo de gravação é testado com
dados reais, mas o laser dentro do gravador de CDs é desligado. É
sempre melhor fazer um teste em vez de ter de repetir tudo
novamente.
O facto de ter de gravar de "uma só ida" significa que se esqueceu,
mesmo de um simples ficheiro você tem de gravar o CD novamente. Existe
uma possibilidade de multisessão onde adiciona algo mais tarde, mas
não falaremos disto aqui porque com a multisessão não pode ler o CD em
muitos gravadores de CD visto que não está pronto e o preço de um CD
está tão baixo que nunca tivemos uma razão para o usar.
Configuração
Quando inicia o koncd ou o xcdroast, reconhecerá que ambos têm um botão
de setup. Aqui pode descobrir se o seu gravador é reconhecido
correctamente e definir opções gerais.
Olhemos para
o setup do xcdroast e do koncd:
-
xcdroast:
A primeira vez aparece-lhe uma janela de pop up a dizer que o root
devia iniciar o programa e configurá-lo para que cada utilizador
não tenha necessidade de o fazer.
- Device Scan: aqui verá todos os dispositivos ligados ao bus
SCSI.
- CD settings: aqui pode seleccionar o seu gravador de CDs e o
dispositivo a partir do qual os dados/música são lidos.
Para o modo "CD writer" você tem de dar o driver correcto mas,
normalmente o "autodetect" deverá ser suficiente.
O tamanho do buffer FIFO do gravador de CDs : isto depende do
hardware. Procure no manual do seu gravador de CDs o seu tamanho.
Os valores mais normais do buffer são 4MB ou 8MB.
Como um CD tem de ser gravado sem interrupção no fluxo dos dados
(devido ao desenho dos gravadores de CD) existe um buffer (=FIFO)
que evita isto porque o processo de gravação falhará com pequenas
perturbações.
- HD settings: Aqui precisa de especificar um directório
temporário de armazenamento para a imagem ISO. Deveriam existir
mais do que 800MB de espaço disponível (pode verificar o seu
espaço disponível com o comando da shell df -k /o/directório ou
utilizando um gestor e ficheiros).
-
Miscellaneous:
- Audio: isto só é do seu interesse se quiser que o
xcdroast toque as canções, não tem nenhuma influência no
processo de gravação. O DSP significa digital signal
processor (processador de sinais digitais) e é a parte que
enviará o som à coluna.
- Network: para imensos CDS existe informação acerca dos
seus títulos disponíveis a partir de uma base de dados na
internet. Quando estiver a gravar o seu próprio CD pode pedir
esta informação, o que lhe pode salvar o trabalho de
digitação, caso o deseje.
- Logging: para criar um ficheiro de log
- Internationalization: aqui pode escolher a sua língua e
tudo será apresentado na sua língua depois.
- Options: aqui, por exemplo, pode definir se terá "tips" nos
botões de opção quando passa com o ponteiro do rato por cima. Em
especial, se não conhece o programa muito bem recomendamos ter
esta "dicas" (tips).
- Users: Este painel só aparece se estiver ligado como root.
Aqui pode definir o que os utilizadores normais podem fazer.
-
koncd:
Você vê os dispositivos que o koncd detecta automaticamente numa
caixa de selecção. Pode dizer ao programa qual o gravador no qual
deverá escrever na gravação (isto deveria ser o seu gravador de CDs)
e a partir de onde deverá ler os CDs. Isto podia ser o seu CD ROM ou
se só possuir o gravador de CDs então este pode ser usado para
leitura e escrita de CDs.
Pode, também, aqui seleccionar "burn proof" se for suportada pelo seu
gravador de CDs. A "Burn proof" diminui a velocidade do vosso
gravador quando a FIFO (veja acima) está praticamente vazia.
CDs de música (audio) (Puros)
Aqui, deve primeiro pensar um pouco no formato. Se a canção é a partir
de outro CD não há problema. É só avançar e copiar. Por outro lado deve
notar que o cdrecord reconhece ficheiros au e wav e converte-os
automaticamente para os tocar no seu leitor de CDs mas outros formatos
precisa de os converter primeiro se não quiser ouvir, mais tarde, só
ruído. Para converter um ficheiro a partir de mp3 para wav pode fazer o
seguinte na linha de comandos:
mpg123 -w /tmp/song.wav song.mp3
Isto permite-lhe obter CDs audio normais a partir de música mp3. Ocupa
mais espaço mas pode ser tocado em quase todos os leitores de CDs.
Finalmente ao gravar o CD pode escolher se quer a cópia no modo TAO ou
DAO. No modo TAO terá 2 segundos de pausa entre cada canção enquanto
que no modo DAO não tem isto o que o torna o modo de escolha para
gravações de música ao vivo. TAO= Track at Once (pista de uma só vez) e
DAO= Disk at Once (disco se uma só vez).
Pode copiar um CD completamente ou misturar músicas a partir de CDs
diferentes ou outros ficheiros de som, por exemplo obtidos da
internet.
Vejamos, primeiro como pode copiar um CD sem alterações:
-
xcdroast:
Seleccione "Duplicate CD".
Obtém um menu do lado esquerdo onde pode ver:
CD/Image Info, Read Tracks, Verify CD, Play
Audio-Tracks:
Não sabemos porque é que estas entradas dos menus estão
disponíveis. Não fazem sentido se só quer duplicar um CD. Pelo
menos na versão utilizada para este artigo (xcdroast-0.98alpha9) o
xcdroast só lhe permite fazer uma "write on the fly" para a qual
precisa do menu "Write CD". Por isso vá directamente para "Write CD".
Write CD:
- No topo tem de especificar o dispositivo a ler e a sua
velocidade. De seguida seleccione o gravador de CD e a sua
velocidade. A velocidade do leitor devia ser um pouco superior
à velocidade de escrita (para evitar buffer underruns).
- À esquerda vê "CD to write":
Isto é só para sua informação, não tem outra escolha senão "write on the fly".
- À direita vê "write parameters":
CD R/RW type: aqui tem de especificar quantos minutos cabem no CD
para o qual está a gravar música
e tem de escolher entre o modo TAO ou DAO (veja acima).
Pode decidir fazer uma simulação de escrita primeiro (veja acima)
e se quer que o CD seja ejectado após o processo de gravação. As
"Pad tracks" não são importantes quando se duplicam CDs.
Com "Blank CD-RW" você pode apagar CDs regraváveis e finalmente
com "WRITE CD" pode gravar o seu CD. E é isto.
- koncd:
Escolha "Copy CD".
No topo pode apagar o conteúdo de um CD regravável e definir a
velocidade de gravação. Sob as "options" não precisa de seleccionar
nada. Prima "START" e a gravação começa.
Vejamos agora o que tem de fazer se quiser gravar um CD com música de
vários sítios:
-
xcdroast
Agora tem de seleccionar "Create CD".
Olhemos para o menu:
- CD/Image info:
Do lado esquerdo vê o conteúdo do CD a ser lido. Do lado direito
vê o conteúdo do directório de imagem se tiver alguma coisa aqui.
Não existe nada a fazer aqui. Avançe para "Read Tracks"
- Read Tracks:
No topo tem de escolher o dispositivo de onde a música deverá ser
lida e o directório de imagem. Agora, neste caso as pistas serão
escritas como ficheiros wav individuais e não como um ficheiro de
imagem grande. Para CDs de música você devia abusar da velocidade
porque os CDs audio estão, somente, especificados para serem
lidos a uma velocidade de "1 x" e uma velocidade maior aumenta a
probabilidade da ocorrência de erros de bit o que reduz a
qualidade. Contudo uma velocidade de "4 x" ou "8 x" deve ser boa.
Para ler as pistas de música para o directório de imagem
seleccione as pistas que quer copiar e prima READ SELECTED
TRACKS.
- Verify CD:
Se premir o botão VERIFY é verificado que o processo de leitura
das pistas de música foi feito sem erros de bits.
- Play Audio-Tracks:
Com isto pode tocar as músicas à medida que estão no directório
de imagem. Para seleccionar uma canção a ser tocada precisa de
fazer um duplo-clique nela.
- Master tracks:
Isto só é para CDs de dados. De momento, ignore-a.
- Delete Tracks:
Aqui pode ver o espaço que á utilizou e quanto ainda sobra. Pode
apagar todas as pistas ou algumas do directório de imagem,
segundo os seus desejos.
- Write Tracks:
Aqui, precisa de ir ao segundo painel "Layout Tracks". À esquerda
verá o conteúdo do directório de imagem. Seleccione as pistas e
prima "add" para as copiar para o painel da direita, para gravar
as pistas. Volte novamente ao painel "write tracks". Aqui pode
encontrar as mesmas opções explicadas na secção "Duplicate CD".
Mas agora tem de seleccionar a opção "PAD tracks". Isto é para
assegurar que todos os ficheiros .wav só devidamente terminados
nas fronteiras dos sectores. O formato do audio CD requer que
todos os ficheiros wav sejam múltiplos de 2352 Bytes. As "PAD
tracks" adicionam zero-bytes para assegurar o tamanho correcto.
Prima "WRITE CD" para gravar o CD.
- koncd:
Escolha "audio CD". A versão utilizada neste artigo (0.7.5) ainda não
tem a possibilidade de ler pistas individuais a partir de outro CD.
Mas pode seleccionar um número de ficheiros wav algures no seu disco
rígido e gravá-los como pistas audio para um CD. Clique em "Add
track" e adicione vários ficheiros wav à lista de pistas
seleccionadas. Sobre as "options" seleccione "Use padding" e depois
clique em "start" para começar a gravar o seu CD.
CDs de dados (Puro)
Para os CDs de dados precisa de um sistema de ficheiros ou, como
normalmente se diz o CD tem de ser formatado. Tem de escolher o sistema
de ficheiros que deseja. Esta escolha dependerá do sistema operativo no
qual quer ler os dados. O standard ISO-9660, que descreve o sistema de
ficheiros do CD, por exemplo não permite ficheiros de nomes compridos.
Por isso foram desenvolvidas extensões para este standard. Para o Linux
e Unix as extensões RockRidge são utilizadas, a Microsoft utiliza as
extensões Joliet. Com o formato RockRidge pode também ter permissões,
etc. como já o sabe do seu sistema.
A solução recomendada é utilizar as extensões RockRidge e Joliet no
mesmo CD.
Se só quiser copiar um CD a partir de um outro existente, não tem de
se preocupar com isto porque o CD já possui um sistema de ficheiros
que também é copiado.
- xcdroast:
Escolha "Duplicate CD"
e faça tudo como descrito acima. Vá somente, até "WRITE CD".
- koncd:
Escolha "Copy CD" (veja acima).
Se quiser copiar dados a partir do seu disco rígido :
-
xcdroast:
Escolha "Create CD" e depois "Master Tracks" a partir do menu à
direita.
- Sobre o "Master source" você selecciona os directórios que
quer gravar para o seu CD. Pode, também escolher os caminhos e
nomes que esses directórios podem ter no CD (use o botão
"redirect" do lado direito para fazer isto).
- ISO 9660 options:
Pode escolher um dos tipos de imagem pré-definidos:
utilize somente RockRidge + Joliet se quer que o seu CD seja
lido em computadores com Linux e Windows.
- Sobre as opções de boot pode criar CDs de arranque mas isto é
para além da abrangência deste artigo. Se quiser um CD de
arranque recomendamos que utilize uma das pré-imagens ISO (veja
as referências no fim deste artigo)
- Create session/image: Este é o painel mais importante. Aqui
pode agora criar uma imagem ISO dos ficheiros seleccionados no
primeiro painel. Prima o botão "master image to file" para isso.
Escolha sempre "fixation" (ou melhor: "Do
not fixate after write") a não ser que queira fazer multisessão,
caso não escolha fixação não é feita uma Toc (= Tabela de
Conteúdos) e o seu CD não poderá ser lido em muitos leitores cd.
Agora vá até "Write Tracks":
Aqui utiliza a imagem criada sobre o painel "Master tracks". Vá
até ao painel "Layout tracks", seleccione a sua imagem e prima
"add". Depois volte novamente ao painel "Write tracks" e prime o
botão "write tracks" por baixo. Agora o seu CD é gravado.
- koncd:
Copie todos os ficheiros que deseja gravar no seu CD para um
directório (utilizando o comando da shell cp ou um gestor de
ficheiros).
Abra o koncd e escolha "Master CD".
Sobre a "data" você dá o directório de origem para onde copiou os
ficheiros. Agora tem várias possibilidades de criar o CD. Sugerimos
que crie uma imagem ISO primeiro e depois escreva a imagem para o
seu CD. Sobre Data -> "image file" introduza o nome do ficheiro da
imagem que será criado. A versão utilizada para este artigo requeria
que o ficheiro já existisse. Por isso crie um ficheiro vazio chamado
"image" com o comando da shell "touch image".
Vá até "options" e clique em "Create CD image", prima "calculate
size" à esquerda e depois "start".
Logo que a imagem é criada clique na opção "Write CD" e deseleccione
"Create CD-image". Agora o gravador de CDs queimará o CD para
você.
Backup do seu directório de trabalho
Basicamente pode salvaguardar tudo em CD com o método descrito em "CDs
de dados (puros)". Se os dados no seu directório de trabalho forem
demasiado grandes para caberem num CD então precisa de seleccionar
subdirectórios e escrevê-los para um CD diferente.
Dicas e Truques:
Pode ser útil verificar se a imagem ISO é correcta antes de proceder à
gravação final. Para fazer isto pode montar a imagem ISO como se fosse
um CD real:
Mude para root: su -
Crie um directório vazio (conhecido como ponto de montagem): mkdir
/tmp/mycd
Monte a imagem ISO (ligue a imagem ISO ao directório):
mount -o loop -t iso9660 Image.iso /tmp/mycd
Agora pode utilizar o comando "ls" para inspeccionar a imagem do CD: ls
/tmp/mycd
Se lhe parece ok desmonte-o: umount /tmp/mycd
... e grave a imagem para o seu CD.
Utilitários de linha de comandos
Acima discutimos duas interfaces gráficas para gravar CDs mas pode
também gravar CDs utilizando somente a linha de comandos. Se olhar para
a página do manual do cdrecord verá que existem centenas de opções,
uuuhh... não tenha medo. É mais fácil do que parece á primeira. Obtenha
as duas scripts em perl o cdrecordeasy e o mkisofseasy.
Estão incluídos no pacote easycdscripts (página de
download)
Descomprima-os com o comando
tar zxvf easycdscripts-0.1.tar.gz
Agora corra o comando cdrecord -scanbus. Olhe para a linha onde pode
ver o seu gravador de CDs e lembre-se dos números que vê no princípio.
Devia ser algo como 0,4,0 ou 0,6,0
....
Edite o ficheiro cdrecordeasy introduzindo este número atrás da linha
que diz $dev=... Encontra-la-á algures no princípio.
Agora a instalação das nossas duas pequenas scripts está terminada.
Criar, agora um CD de dados é muito fácil:
- Copie todos os ficheiros que deseja ter no CD para um directório
(por exemplo ~/cdrom). Os discos rígidos são bastante grandes e
baratos nestes dias e não deve constituir problema a cópia de algumas
centenas de MB.
- Corra o comando: mkisofseasy ~/image.iso ~/cdrom
Isto criará uma imagem ISO de todos os ficheiros no directório ~/cdrom.
- Grave o CD correndo o comando: cdrecordeasy
~/image.iso
E é isto. Muito mais fácil do que parecia no princípio, não é!? :-)
Divirta-se com os seus CDs!
Referências