Infra - Linux
Trabalhando com imagens e arquivos ISO
Uma imagem é um arquivo que tem uma cópia exata de um dispositivo, no qual é possível passar para outro dispositivo de forma que o deixamos idêntico, ou até mesmo passá-lo para um arquivo que, para manter um padrão, colocamos a extensão img.
por Elias AlbuquerqueOlá povo do Linha de código, vou focar novamente uma tema que já foi tema em outro local mas como cheguei de mala e cuia aqui no linha de código vou colocar novos artigos como também publicar aqueles que foram consultados pelo internautas através de e-mail. Um deles é sobre ISO´s.
Uma imagem é um arquivo que tem uma cópia exata de um dispositivo, no qual é possível passar para outro dispositivo de forma que o deixamos idêntico, ou até mesmo passá-lo para um arquivo que, para manter um padrão, colocamos a extensão img.
Isto, sem dívida, torna nossa vida muito mais fácil. Algum de vocês confia em um floopy disk? Corto meus pulso se algum de vocês SINCERAMENTE confiar em um floppy. Há mesmo que eu encontre algum louco que confie do fundo da sua alma em um disquete e reivindique que eu corte os pulso, não cortarei. Risos...
Podemos fazer uma imagem de qualquer dispositivo. Para dar um exemplo, eu faço a imagem do disco de boot do Linux e Win98Me, deixando disponível no meu e-mail ou onde desejar. Imaginem aquela hora quando você precisa de um boot do 98 e sabe que ele não existe mais. Basta descarregar a imagem dele no disquete.
Vamos criar uma imagem de um disquete qualquer via Linux:
No root digite:
dd if=/dev/fd0 of=win98.img
Maiores informações, consulte o manual do comando. Mas vamos explicar o que fizemos.
dd: cria a imagem
if: input file dispositivo ou arquivo origem. Neste caso é um dispositivo
of: output file para onde será descarregada a imagem. Neste caso será um arquivo chamado win98.img.
Agora você pode jogar este arquivo em seu e-mail ou onde desejar. Quando houver necessidade de fazer uma cópia do disco win98.img será a hora de abrir a imagem. Faça o caminho reverso. Exemplo:
dd if=win98.img of=/dev/fd0
Agora use sua imaginação para fazer a imagem que desejar.
Vamos falar das imagens tipo ISO
Aconselho que, quem não leu minha matéria sobre sistema de arquivos, faça isso pois lhe dará um melhor entendimento sobre alguns dos sistemas de arquivos existentes.
Uma imagem do tipo ISO é uma imagem como a anterior, porém, na anterior, quando você descarrega o conteúdo da imagem, um local e a relação entre a imagem e este local é quebrada, dando-lhe o direito de até apagar algo dentro deste local.
No formato ISO, cria-se uma imagem com sistema de arquivos ISO9660. É isto mesmo colega, o sistema de arquivos do cd-rom. Desta forma, monta esta imagem em uma localidade mas somente com o direito de leitura.
O programa que gera esta brincadeira é o mkisofs e mkhybrid (O mkhybrid permite fazer o iso (file system) ser reconhecido em Macs com o parâmetro –hfs)
A sintaxe do programa é:
mkisofs [opções] –o imagem.iso [lista de arquivos]
mkhybrid [opções]-o imagem.iso [lista de arquivos]
Vamos supor que eu queira gravar os diretórios /home/elias/Videos para um CD. A primeira coisa é gerar a imagem dos diretórios. Digite:
mkisofs -o vídeos_elias.iso /home/Elias/vídeos
mkhybrid -o vídeos_elias.iso /home/Elias/vídeos
Um sistema de arquivos iso9660 não suporta LFN (Long File Name) e caracteres especiais. Neste caso, inventaram o protocolo denominado Rock Ridge para contornar esta situação. Caso contrário, nosso arquivos sersão truncados. Sse a opção –r para resolver isto na nossa imagem ISO:
mkisofs -r -o vídeos_elias.iso /home/Elias/videos
Se você tiver que usar estes cds gerados no Linux em sistemas operacionais da Microsoft, é aconselhável usar a opção -J, que gera diretórios com nomes no padrão prioritário Joilet. Assim, suas imagens serão compatíveis com outros sistemas operacionais:
mkisofs -r -J -o vídeos_elias.iso /home/Elias/vídeos
ou
mkisofs -r -joliet -o vídeos_elias.iso /home/Elias/vídeos
mkhybrid -r -J -o vídeos_elias.iso /home/Elias/vídeos
Segunda parte
Um CDRW é considerado pelo Linux um dispositivo scsi e devemos configurá-lo.
Instale-o e, caso você tenha removido o CDR antigo, verifique se o mesmo não se encontra carregado em memória, basta digitar:
rpm –qa |grep ide-cd
Se existir, baixe este módulo rmmod ide-cd e o remova com rpm –e ide-cd. Se você desejar ter o CDRom e o CDRW juntos deixe como está.
Agora carregue os módulo do cdrw:
modprobe sg
(módulo
de emulação SCSI)
modprobe ide-scsi
(carrega módulo cdrom SCSI)
Coloque-o, de preferência, dentro do arquivo rc.local para você não precisar carregá-lo sempre que precisar. Desta forma será carregado automaticamente ao inicializar a máquina.
Agora insira a seguinte linha no final do /etc/fstab.
/dev/cdrw /mnt/cdrw iso9660 defaults,noauto 0 0
Crie o diretório cdrw dentro do diretório /mnt e remova o link simbólico para o dispositivo cdrom IDE (caso você tenha o tirado).
rm /dev/cdrom
Crie um link simbólico para o cdromscsi e o cdrw scsi.
ln –s /dev/sr0
/dev/cdrom1
ln –s /dev/sr1 /dev/cdrw
Vamos testar:
cdrecord –scanbus
Se tudo ocorrer bem, aparecerá uma mensagem dizendo que reconheceu o cd-rom ide e scsi. Maiores informações, procurem o how-to para cdrw na internet
Já dominando a criação de imagens ISOs, vamos ver como queimar o CD.
Gravando o CD
Se tudo está legal e seu CDRW funciona, queimar um CD com esta imagem ISO é bastante simples, bastando dar o seguinte comando como usuário root:
Gravar em um cdr:
cdrecord -v speed=4 dev=0,0,0 -data imagem.iso
Gravar em um cdrw:
cdrecord -v speed=4 dev=0,0,0 -blank=fast -data imagem.iso
O que pode variar é o parâmetro speed (use a velocidade que seu gravador suportar) e o número do dev (na dúvida, use o comando "cdrecord -scanbus" para consultar). Quando for sobrescrever uma mídia CD-RW, especifique o parâmetro blank=fast para o cdrecord.
Usuários experientes de Linux podem querer ver o conteúdo da imagem ISO sem ter que queimar um CD. A mesma técnica pode ser utilizada para instalações via HD ou via rede, se a distribuição de Linux suportar. O comando para montar sua imagem ISO como se fosse um CD é:
mount -o loop,unhide -t iso9660 -r nome-da-imagem.iso /mnt/iso
OBS: o diretório /mnt/iso tem que ter sido criado previamente.
CD"s de áudio
Para converter de mp3 para CDR:
# mpg123 --cdr - track1.mp3 > track1.cdr
Grave usando o parâmetro -audio indicando cada trilha:
# cdrecord -eject -v speed=8 dev=1,1,0 -audio
track1.cdr track2.cdr ...
Outra maneira que encontrei: CDs de áudio. Lendo e gravando.
Vamos testar digitando:
cdrdao scanbus
Para ler execute o comando como root:
cdrdao read-cd –device 0,0,0 –driver generic-mmc
cd-audio.toc
Para gravar:
cdrdao write –device 0,1,0 –driver
generic-mmc cd-audio.toc
Maiores informações consulte o how-to do cdrdao-x-x-x-x
Fazendo um CD de dados e áudio
# cdrecord -v speed=8 dev=1,1,0 -data imagem.iso -audio track1.cdr track2.cdr track3.cdr
Copia fiel CD-ROM para o CD-RW
# cdrecord -v speed=8 dev=1,1,0 -isosize /dev/cdrom
No caso de voce só ter o drive de CD-RW, crie o iso, depois grave-o
Para fazer um Boot CD
Crie a imagem a partir de um disquete de Boot:
# dd if=/dev/fd0 of=/home/elias/boot.img bs=18k
Junte a imagem com o arquivo de imagem:
Mkisofs –r –b <imagem botável> -c <arquivo-catalog>
-o arquivo imagem
Para criar um arquivo ISO do 1º cd do red-hat bootável faça:
mount -t iso9660 /dev/cdrom /mnt/cdrom
mkisofs –r –b /home/elias/boot.img –c /home/elias/boot.catalog
–o cd1.iso /mnt/cdrom
- Login automático com SSH e Automatização da instalação (deploy) e atualização de sites com GitLinux
- O que é Ar.DroneLinux
- Criando aplicativos para o iPhone no Linux (sem Xcode e MacOS X)Linux
- Blu-ray: Reproduzindo, copiando, ripando e assistindo no GNU/LinuxLinux
- Extensão Sun Presentation Minimizer para Broffice.ORGLinux