Iain deu uma parte da resposta, mas não está completa. Aqui vem um conselho sobre como ler fitas desconhecidas em um host linux:
Fator de bloqueio
Você precisa saber qual fator de bloqueio foi usado, a menos que a unidade (possivelmente antiga) use um tamanho de bloco fixo.
Primeiro, você terá que configurar a unidade para usar o fator de bloqueio suave:
# mt -f /dev/nst0 setblk 0
Então você usará dd para ler um bloco da fita:
dd if=/dev/nst0 of=./testfile bs=128k count=1
Você pode precisar experimentar vários tamanhos de bloco, de preferência algo grande o suficiente. Se o tamanho do bloco dd selecionado for maior que o tamanho real do bloco de fita, o dd só vai ler um bloco, algo assim:
# dd if=/dev/nst0 of=./testfile bs=128k count=1
1+0 records read
1+0 records written
32768 bytes (32 kiB) copied, 236 kiB/s
Aqui descobrimos que um tamanho de bloco de 32K foi usado, essa é a primeira informação importante.
Nota: se você estiver usando um tamanho de bloco muito grande, vários erros estranhos podem ocorrer, como um erro de E / S. A maioria das unidades de fita antigas não aceita ler muito mais do que 128K por vez, talvez menos para formatos antigos como o QIC.
Formato de dados
Agora que você determinou o tamanho do bloco de fita, é hora de descobrir como é o formato de dados de fita! Aqui devemos usar uma ferramenta preciosa e poderosa: o comando file
. Agora devemos pegar mais alguns blocos da fita para determinar o que é mais fácil:
# dd if=/dev/nst0 of=./testtape.img bs=32k count=100
100+0 records read
100+0 records written
3276800 bytes (3 MiB) copied, 160 kiB/s
# file ./testtape.img
testtape.img: POSIX tar archive (GNU)
Convenientemente, o arquivo identificará corretamente a maioria dos dados de tar, cpio, * dump, dados compactados, salvando você de um longo jogo de tentativa e erro.
Advertência
As fitas podem muito bem hospedar vários formatos de dados diferentes. Uma ocorrência comum de fitas usando um formato sem índice (como tar) é ter um arquivo de texto listando o conteúdo da fita como o primeiro arquivo, por exemplo, ou alguns outros cabeçalhos semelhantes. Então você pode precisar ler vários registros antes de encontrar dados reais.