08 julho 2007

Montar imagens de CDs para aceder ao conteudo delas.

Já e bem conhecido que se pode montar uma imagem de Cd para aceder ao seu conteudo da seguinte maneira:
Posicionamos uma consola na pasta onde está o Cd virtual que queremos montar e:

# mount -o loop ./cd.iso /mnt/Loop
(cd.iso é um exemplo de nome, e o ponto de montagem deverá estar préviamente criado)
e para desmontar
# umount /mnt/Loop

Este processo é basico do linux mas funciona com imagens ISO standard.

Então e para imagens não standard? Existem algumas soluções, uma delas passa por usar o "cdemu" que vou descrever como se utiliza:
1º é preciso ir buscá-lo neste site (desconheço se há empacotado para distros) e instalá-lo...
este programa tem um módulo que é preciso compilar, então como é verdadeiro para qualquer módulo adicional ao kernel, é necessário ter o "gcc" instalado e convém ser a mesma versão de gcc que compilou o kernel. Também é preciso terem o kernel-source instalado e este tem que ser também a mesma versão do kernel que está a correr. Não vou explicar como se instala o kernel source aqui, há imensa informação sobre isso pesquisando no Google, nem vou descrever a instalação do cdemu pois é igual a qualquer outro módulo adicional ao kernel.

O cdemu consegue montar estes tipos de imagens de Cds (Cds virtuais):
foobar.cue (CDRWin)
foobar.iso (ISO9660)
foobar.mds (Alchol 120%)
foobar.ccd (CloneCD)
foobar.nrg (Nero Burning ROM)

Antes de se começar a usá-lo é necessário carregar o módulo "cdemu" com
# modprobe cdemu
Se o modulo carregar correctamente deverão ser criados "dev's" de 0 a 7 na pasta /dev/cdemu/, isto quer dizer que o cdemu consegue lidar com 8 cds virtuais em simultâneo.

Montar uma imagen com o cdemu requer dois passos:
1- montar a imagem no dispositivo
2- montar o dispositivo no ponto de montagem
A desmontagem completa requer também os dois passos dados com a sequência invertida.

O comando $ cdemu sem parametros faz aparecer um mini-manual dele.

Exemplo de montagem dum ficheiro do Alcohol:
(consola posicionada na pasta onde está o ficheiro a montar)
#cdemu 2 ./cd.mds
(montei o ficheiro mds no 3º dispositivo virtual... (0 "zero" seria no 1º)
#mount -t iso9660 /dev/cdemu/2 /mnt/Loop
(com o cdemu é sempre necessário indicar o tipo de filesystem)
Agora o conteudo do ficheiros mds & mdr estão disponíveis para sondágem ou consulta em /mnt/Loop/

Fazendo
# cdemu -s
recebemos uma lista de todos os dispositivos virtuais e o que cada um tem montado.

Para desmontar:
# umount /mnt/Loop
# cdemu -u 2
(unload dispositivo nº 2)

Já testei este programa com vários tipos de cds-virtuais e funciona bem, entretanto desconheço se já existe alguma GUI para ele, mas para programa que tem uma sintaxe de utilização tão simples acho que seria desnecessária.
Além desta solução, já encontrei outras, mas achei-as um pouco atrofiadas de usar, dois exemplos: aqui e aqui. Também já descobri outra hipótese que passa por usar o "fuse", "fuseiso" e "fusermount", processo este que ainda não descobri como pô-lo a funcionar.

No caso do AcetoneISO, não gostei da maneira dele montar as imagens mas mantive-o porque também trás ferramentas para converter estas imagens de cd em ISO standard, como o "ccd2iso", "cdi2iso", "nrg2iso", "mdf2iso", "pdi2iso" e "b5i2iso".


Edit:
Descobri mesmo agora que o AcetoneISO já não é nada de como o conheci, e parece estar muito melhor... vejam as features dele e download aqui.

Abraços
ArameFarpado

2 comentários:

Eu uso o AcetoneISO, mas aquilo instala-me montes de cenas do kde :(

Montes de cenas?

Eu apenas vejo 3 itens adicionados ao menu gerado pelo botão drt do mouse, na secção "acções", quando se clica numa pasta.

São eles:
--desmontar pasta
--montar uma imagem nesta pasta
--criar ISO desta pasta

Vês mais coisas adicionadas ?