Gravando um CD multiseção

Por diversas vezes é interessante continuar a gravar aquele CD que não está cheio. Suponha o backup de um banco de dados SQL que, compactado, ocupa apenas 10 megabytes. O backup é feito uma vez por dia. Ou seja, em um CD de 700 megabytes cabem até 70 backups. Aprenda como gravar no mesmo CD que foi gravado no dia anterior.

[ Hits: 40.482 ]

Por: Rogerio Acquadro em 19/01/2004


Continuando o CD



Deseja-se agora continuar a gravação com novos dados. A imagem para a segunda (e as demais seções) é um pouco diferente para ser gerada. O mkisofs deve saber onde o espaço em branco do CD-R começa. Esta informação pode ser obtida usando a flag -msinfo do cdrecord.

A informação que o cdrecord retornará serão dois números, separados por uma vírgula. Estes números representam a posição do início da última seção e a posição de início da próxima seção, informações de vital importância para a correta geração da nova imagem ISO.

O comando deverá ser:

# cdrecord -msinfo dev=/dev/hdc
0,17654

# mkisofs -R -J -l --quiet -C 0,17654 -dev /dev/hdc | cdrecord dev=/dev/hdc -v -eject -multi -data -

Existe uma flag extra no comando mkisofs (além, claro da flag -C):
  • -dev: especifica o caminho para uma imagem iso9660 para ser continuada. Recebe o mesmo tipo de formato de sintaxe do parâmetro dev= do cdrecord. A saída do mkisofs deverá ser uma nova imagem pronta para ser acrescentada seguindo os parâmetros entrados na flag -M.

A nova seção será novamente criada e o CD estará pronto para leitura, totalmente transparente para o usuário final.

Página anterior     Próxima página

Páginas do artigo
   1. O que é multiseção?
   2. A primeira seção
   3. Continuando o CD
   4. Finalizando o CD
   5. Observações
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Sound Converter: Converta formatos de música no Linux

Conky: Manual traduzido pt-BR

Monitorando interface IPMI

Novas fontes para o seu X

DrQueue + Blender = Render Farm para mortais

  
Comentários
[1] Comentário enviado por fabio em 20/01/2004 - 00:04h

Muito útil esse recurso de multiseção, gostei! :)

[2] Comentário enviado por jeffestanislau em 21/01/2004 - 08:13h

blz!!! muito interessante mesmo!!!

[3] Comentário enviado por lordello em 21/01/2004 - 21:24h

Muito bom o artigo cara, faltaram só duas coisinhas:

1) Explicar como será o comando para execurar a terafa em etapas, criando primeiro a imagem iso antes de gravar. O usuário com uma máquina lenta não pode gravar "On The Fly" e talvez ele não saiba como executar o comando separado, afinal é para isso que criamos os artigos =).

2) Seria bom dizer mais explícito que você está usando o Linux-2.6, pois o Linux-2.4 precisa de emulação SCSI e o usuário pode ficar meio confuso.
Linux2.4 dev=0,0,0 #Onde 0,0,0 é o device da sua gravadora.
Execute 'cdrecord -scanbus' para saber onde está a sua.
Linux-2.6 dev=/dev/hdX #Onde X é o device da sua gravadora.

Valeu cara! Esse artigo vai ficar no meu arquivo.
Falow!

[4] Comentário enviado por racquad em 22/01/2004 - 15:01h

Realmente, falha minha... eu esqueci de avisar que o comando dev=/dev/hdx eh disponivel apenas apartir do kernel 2.6. Bem lembrado.
Quanto ao On the fly, eu presumi e escrevi que o artigo parte do principio que o leitor ja possui algum contato com os comandos mkisofs e cdrecord. Se nao, indiquei a leitura do howto apropriado. Numa outra oportunidade, podemos falar sobre a geracao de arquivos ISO.
Obrigado pelo apoio...

Rogerio

[5] Comentário enviado por lordello em 25/01/2004 - 16:56h

Não se grila não.. seu artigo está ótimo, fiz essa observações porque sei que as pessoas vão reclamar por não conseguirer seguir o passo a passo, mesmo você falando que o indivíduo deve ter conhecimentos sobre cdrecord e mkisofs.
Bom recebi um email de uma cara pedindo para informar o procedimento, logo vou postá-lo aqui para ficar registrado...

O processo para gravar CD em duas etapas é o mesmo indicado no artigo do nosso amigo racquad, mas você deve incluir a opção '-o cd_image', assim:

# mkisofs -R -J -l --quiet /home/data -o backup.iso
# cdrecord dev=/dev/hdc -v -eject -multi -data backup.iso

Como eu disse no comentário, esse exemplo é para o Linux-2.6, se você está usando o Linux-2.4 (uname -r) você usa o cdrecord assim:

# cdrecord -scanbus #Isso irá reportar o device, normalmente é 0,0,0
# cdrecord dev=0,0,0 -v -eject -multi -data backup.iso

O resto do artigo funciona da mesma forma, para criar a imagem da sessão seguinte faça assim:

# cdrecord -msinfo dev=/dev/hdc
0,17654
# mkisofs -R -J -l --quiet -C 0,17654 -dev /dev/hdc -o backup.iso
# cdrecord dev=/dev/hdc -v -eject -multi -data backup.iso

Agora para fechar a imagem do CD execute o passo anterior retirando o -multi no comando:

# cdrecord -msinfo dev=/dev/hdc
17654,34524
# mkisofs -R -J -l --quiet -C 17654,34524 -dev /dev/hdc -o backup.iso
# cdrecord dev=/dev/hdc -v -eject -data backup.iso
Falow!

[6] Comentário enviado por borisam em 25/05/2004 - 15:37h

Já estou tentando usar multiplas seções a bastante tempo, e esta matéria ajudou muito.

Segui as instruções passo a passo e consegui gravar um CD com duas seções, embora alguns parâmetros não tenham sido aceitos como o --quiet (na versão que usei é -quiet) ou o parâmetro -dev

Seria interessante acrescentar nesta matéria as instuções para ler um CD neste gravado neste formato, eu só estou conseguindo ler a segunda seção.

um grande abraço.

[7] Comentário enviado por bramax em 19/08/2004 - 17:31h

Putz... não seria mais fácil usar o K3B ou o Gecombuster? Tem opções nos dois para fazer multissessão, que são mais simples de usar do que o shell. Mas o artigo está nota dez, para quem escolher esta maneira de gravar cds.

[8] Comentário enviado por Nick em 30/11/2005 - 09:08h

Pra que tanta complicação?
Só o usuario usar O K3B ou qualker outro gravador de cd, que ele faz isso facil facil.
Pessoal quer se amostrar!

[9] Comentário enviado por racquad em 30/11/2005 - 15:42h

Antes de criticar, pense. Tente fazer um script que use o k3b no lugar de linhas de comando. Impossível. Portanto, não denigra um artigo como esse.

[10] Comentário enviado por mandrado em 22/12/2005 - 17:42h

Excelente artigo, só acrescentaria a pasta ou nome do arquivo que se quer gravar no comando:

# mkisofs -R -J -l --quiet -C 0,17654 -dev /dev/hdc | cdrecord dev=/dev/hdc -v -eject -multi -data -

ficando assim:

# mkisofs -R -J -l --quiet -C 0,17654 -dev /dev/hdc /home/data1 | cdrecord dev=/dev/hdc -v -eject -multi -data -

No intuito de deixar mas mastigado para os novatos!

Valew


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts