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:
- o genisoimage, para criar o sistema de arquivos .ISO e
- 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
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