Como criar um sistema de arquivos ISO a partir de um diretório no Linux

Em um de meus scripts de backup, inclui uma linha de comando para criar um arquivo (ou sistema de arquivos) .ISO a partir de um diretório compactado em um arquivo .tar.gz
Você pode incluir vários diretórios e arquivos à sua livre escolha. Basta pegar um dos exemplos, abaixo, e editar para atender ás suas necessidades.

Um arquivo .ISO contém um sistema de arquivos completo e pronto para ser gravado em um CD ou DVD. Se preferir, você pode gravar vários destes arquivos em um flash drive (ou pendrive).
É possível usar ferramentas gráficas (GUI) para gravar em mídias óticas, claro. Mas, se deseja incluir o procedimento em um script, para ser executado automaticamente (ideal, em caso de backups), talvez seja melhor saber como se virar na linha de comando (CLI).

São basicamente 2 ferramentas a ser usadas, aqui:

  1. o genisoimage, para criar o sistema de arquivos .ISO e
  2. o growisofs, para gravar o arquivo em mídia.

O uso do mkisofs é superfácil. Basta informar o nome/caminho do diretório que você deseja incluir em uma .ISO:


genisoimage -o temporario.iso temp/

ls -la *.iso

-rw-r--r-- 1 justincase justincase 421M out 30 10:04 temporario.iso

O genisoimage vai criar um arquivo com o nome ‘temporario.iso’ com o conteúdo da pasta temp/.
Você também pode invocar o aplicativo Brasero, a partir da CLI, com o seguinte comando:


brasero --image-file temp/

O Brasero irá gerar um arquivo com nome automático (brasero.iso), caso ele não seja alterado na interface do programa, a partir da pasta temp/.

Como gravar uma imagem ISO em um DVD

Na CLI, você pode usar o utilitário growisofs para queimar um DVD a partir de uma imagem ISO pronta.
É necessário indicar adequadamente o endereço do drive o nome da imagem ISO:


growisofs -dvd-compat -Z /dev/dvdrw=temporario.iso 

WARNING: /dev/dvdrw already carries isofs!
About to execute 'builtin_dd if=temporario.iso of=/dev/dvdrw obs=32k seek=0'
/dev/dvdrw: "Current Write Speed" is 4.1x1352KBps.
   12353536/440578048 ( 2.8%) @2.5x, remaining 2:18 RBU 100.0% UBU   0.3%
   26214400/440578048 ( 6.0%) @3.0x, remaining 1:50 RBU 100.0% UBU  99.4%
   40108032/440578048 ( 9.1%) @3.0x, remaining 1:39 RBU 100.0% UBU  99.4%

...

builtin_dd: 215136*2KB out @ average 3.2x1352KBps
/dev/dvdrw: flushing cache
/dev/dvdrw: reloading tray

A mensagem, acima, “WARNING: /dev/dvdrw already carries isofs!“, é um aviso de que já há conteúdo dentro do DVD-RW.
Fique atento, o comando irá sobrescrever (eliminar) o conteúdo preexistente, sem pedir confirmação.
Com o Brasero, é possível usar uma linha de comando mais enxuta — embora o aplicativo tenha várias outras opções de uso, tal como o growisofs.
Se quiser, basta informar o nome do arquivo .ISO a ser gravado.
Se a mídia não estiver vazia (estou usando um DVD-RW nos meus exemplos), desta vez, você será avisado:


brasero --image=temporario.iso

gravar DVD com BRASERO no Linux

Para usar dentro de um script, cuja execução está projetada para ser automática e sem intervenção humana, esta solução pode ser muito ruim.
Neste caso, tente adicionar a opção ‘–immediately’:


brasero --immediately --image=temporario.iso

Rode a ajuda do Brasero, para descobrir mais opções:


brasero --help-all | more

Grave seus DVD’s mais rápido no Ubuntu

Esta dica é para quem usa o Brasero, um dos aplicativos para gravação de DVDs do Ubuntu.
Se você já se perguntou por que o Brasero é um pouco lento para gravar os arquivos, a resposta é que ele é pré-configurado para realizar algumas tarefas que outros aplicativos gravadores de CD/DVD não realizam — Estou falando da criação e gravação da imagem checksum, que é feita durante o processo de gravação da mídia.
O checksum da imagem da mídia é criado para verificar e certificar que todos os dados transferidos e gravados sejam rigorosamente idênticos aos originais.
É formado por um número, resultado de um cálculo envolvendo os dados que serão gravados na imagem de disco (.ISO). Dados diferentes vão gerar resultados diferentes, chamados md5.
Assim, o checksum dos dados originais deve ter o mesmo número md5 que aquele tirado dos dados gravados na mídia ou na imagem .ISO — o que evidencia que ambos são iguais e que os dados foram transferidos/gravados corretamente, portanto.
Contudo, esta verificação, diante da precisão dos atuais gravadores, geralmente não é necessária.
Portanto, é seguro desabilitar esta função do programa, para ganhar uma redução do tempo de gravação, que pode chegar a 60%, para a maioria das suas tarefas de gravação de DVDs.
Se você quiser, pode habilitar o recurso quando estiver para gravar backups de arquivos mais importantes. Neste caso, é justo querer se certificar de que poderá contar com suas cópias de segurança, quando você mais precisar delas.

Como desabilitar a verificação do checksum no Brasero

Brasero edit plugins
Abra o menu Editar e selecione Plug-ins.
Em seguida, desabilite os plug-ins Arquivo de checksum e Checksum da imagem.
O primeiro é responsável pela criação do checksum e o segundo pela verificação.
Feito a desativação deles, clique em Fechar e experimente gravar seu próximo disco.

Como gravar Blu-Ray no Ubuntu GNU/Linux

Até a versão 13.04, do Ubuntu o pacote de aplicativos que costumava vir no cdrecord foi substituído pelo wodim. Há uma polêmica em torno disto e eu não vou entrar no mérito (por pura incapacidade de determinar quem está certo ou errado). O fato é que, se você deseja gravar blu-ray no Linux, você precisa ter o cdrecord — e sua instalação implica na remoção do wodim.

blu-ray logo
blu-ray logo
Para evitar qualquer frustração posterior, devo avisar que vamos tratar exclusivamente deste processo de substituição, aqui, neste artigo.

Aviso

Eu sei que é muito chato dizer isto, mas… se o seu sistema ficar inoperante depois de você aplicar o que aprendeu aqui, a culpa não é minha. Ok? 😉

Como adicionar a PPA do cdrecord

Já sabemos que o cdrecord não faz parte do repositório oficial do Ubuntu 13.04. Portanto, será necessário indicar um PPA onde ele poderá ser baixado para o seu sistema. É fácil fazer isto dentro de um terminal (Ctrl + Alt + T):

sudo add-apt-repository ppa:brandonsnider/cdrtools

Feito isto, atualize a lista de pacotes com o seguinte comando:

sudo apt-get update

Em seguida, instale o cdrecord:

sudo apt-get install cdrecord

Note que o sistema irá avisar sobre a remoção do wodim.

Captura de tela - instalação do cdrecord
Captura de tela – instalação do cdrecord

Daqui pra frente

Uma vez concluído o processo, você terá o cdrecord instalado em seu sistema, em substituição ao wodim.
Antes de começar a gravar os seus CDs, DVDs ou Blu-Rays, pode ser necessário indicar no seu programa de gravação os novos comandos.

Daqui pra trás…

Se você quiser desfazer o processo, execute os seguintes passos que seguem:
Primeiro remova o cdtools.

sudo apt-get remove cdtools cdrecord

Remova a entrada que adicionamos mais cedo ao /etc/apt/sources.list.

sudo add-apt-repository --remove ppa:brandonsnider/cdrtools

Atualize o seu sistema e, em seguida, reinstale o cdrkit

sudo apt-get update
sudo apt-get install cdrkit wodim

Isto deve ser o suficente.