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: 41.008 ]

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

Criando pacotes pré-compilados no Gentoo

Como contribuir para projetos abertos no GitHub

Faça um incrível espetáculo de efeitos visuais com vídeo em tempo real

Processos no Linux

Computação Distribuída com TORQUE Resource Manager - Parte 2

  
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