extrair arquivos tar divididos em vários dvd's

2

Se eu tenho um arquivo tar bziped dividido em vários DVDs, qual é a melhor maneira de extraí-lo sem criar muitos arquivos intermediários? Eu não quero primeiro copiar todas as partes do arquivo para um disco intermediário.

até agora, o melhor que posso encontrar é

terminal 1:

mkfifo temppipe1
mkfifo temppipe2
...
mkfifo temppipen
cat temppipe* | bunzip2 |tar -xvf -

terminal 2:

dd if=archive.tar.bz_part1 of=temppipe1
....
dd if=archive.tar.bz_partn of=temppipen

Isso funciona, permitindo que eu mude o dvd após cada dvd, mas parece-me que estou potencialmente criando muitos pipes nomeados e potencialmente propensos a erros. Um erro de digitação no terminal 2 e o tar vai parar, não deixando outra opção senão começar de novo. Também é essencial criar nomes suficientes no início

Alguém tem alguma ideia melhor?

    
por camelccc 16.05.2013 / 19:55

1 resposta

3

Você pode usar um único canal e manter um gravador aberto para que ele não seja fechado até que você esteja pronto.

terminal 1:

mkfifo temppipe
tar xvfj temppipe

terminal 2:

cat > temppipe

Não teremos cat escrevendo nada no pipe, mas a presença manterá o pipe aberto enquanto executamos os comandos dd .

terminal 3:

dd if=archive.tar.bz_part1 of=temppipe # and so on

Em seguida, volte ao terminal 2 e pressione Control-D. cat enviará o final do arquivo e o tar será concluído.

    
por 17.05.2013 / 04:34

Tags