1) Não. Como dito por outros, os dados não precisam ser armazenados de forma intermediária
no disco rígido. Os programas produtores da ISO 9660 podem emitir um fluxo de dados para
"saída padrão" e os programas de gravação podem pegar esse fluxo de dados
"entrada padrão". Isso é chamado de "pipe", um shell Unix muito fundamental
gesto.
O exemplo clássico é alguma variação de:
mkisofs /some/directory | cdrecord -v dev=/dev/sr0 -
Meu próprio jeito de fazer o mesmo é:
xorriso -outdev /dev/sr0 -blank as_needed -map /some/directory /
(A transferência de dados é feita internamente entre libisofs e libburn).
Não esquecer os programas de gravação da GUI: K3b, Xfburn, Brasero, ...
Eles coordenam o programa de produção ISO e o programa de gravação sem muito
assistência pelo usuário.
Editar: Tente reagir ao comentário de Nis:
Se você quiser armazenar não mais do que o conteúdo de um único arquivo, pode simplesmente gravar esse arquivo no meio. Se você abrir mais tarde o arquivo / dev / sr0,
então ele carregará seu conteúdo armazenado (além de provavelmente algum lixo à direita).
Se você quiser armazenar mais de um arquivo ou nomes de arquivos e outros atributos,
então você precisa agrupar seus arquivos em algum sistema de arquivos ou formato de arquivo.
Este formato será mais tarde legível pelo driver do sistema de arquivos apropriado
(por exemplo, Linux "iso9660") ou arquivo de desempacotador (por exemplo, programa "tar").
Você está livre para escolher apenas alguns arquivos do seu disco rígido e
para dar a eles nomes diferentes no sistema de arquivos ou arquivo resultante.
(mkisofs tem opção -graft-points e "pathspecs" / ISO / PATH = / DISK / PATH
para controlar a renomeação. Alguns programas de arquivamento podem ter recursos semelhantes
para alterar os nomes dos arquivos quando eles são copiados para o arquivo.)
A maioria dos sistemas de arquivos teria que ser criada em um gravador de acesso aleatório
dispositivo ou em um arquivo de imagem do sistema de arquivos no disco. Isso porque existe
nenhum programa produtor que os criaria como fluxo de dados sequencial.
Esse fluxo seqüencial é uma pré-condição para a tubulação.
Arquivadores (por exemplo, "tar" ou "zip") e produtores do sistema de arquivos ISO 9660 têm a
capacidade de emitir seu resultado como fluxo sequencial. Então eles são os únicos
que pode enviar sua saída para a entrada de um programa de gravação.
(Fim da edição)
2) Agora, a razão pela qual tantas propostas estão por aí, que dizem para você
primeiro armazene o arquivo de imagem ISO e, em seguida, grave-o em mídia.
Nos tempos ruins dos primeiros gravadores de CD, havia o risco de
"buffer underrun". Assim que o disco escreveu mais rápido que o produtor ISO
programa pode fornecer dados, a unidade emitiu um erro e deixou o CD-R
apenas parcialmente escrito. A chance de sucesso aumentou se o computador
primeiro executou o programa ISO, até que todos os dados fossem produzidos, e só então
iniciou o programa de gravação para ler a imagem ISO do disco rígido.
Este tempo terminou no final de 1990 pela invenção de "queimar livre", que
permitiu que a unidade aguardasse mais dados e continuasse a gravar o CD.
O problema de buffer underrun e burn abort nunca chegou a mídia de DVD ou BD.