Bash: Concatenando Bolas TAR

2

É válido fazer isso:

{
tar -c dir1
tar -c dir2
} | cat > file.tar

O file.tar resultante é uma bola de alcatrão válida?
Se não, como posso concatenar as bolas de alcatrão imediatamente?

    
por GetFree 01.07.2012 / 15:35

2 respostas

4

Sim, com uma ligeira modificação do seu método.

O

tar suporta a concatenação de vários arquivos tar juntos ... lembre-se de sua história ... é um ARQUIVO DE FITA .... é um fluxo de dados, lembrando um rolo de fita passando pela cabeça de leitura / gravação. .. são apenas blocos de dados para o programa tar ...

Pelo que meus testes mostram, você meio que precisa ter pelo menos um arquivo tar em algum lugar ...

tar cf one.tar buncha files to add

A partir desse ponto ... você pode adicionar mais arquivos ou acrescentar outro tar (ou vários ...)

tar rf one.tar even more files to fill up this pseudo tape
tar Af one.tar two.tar three.tar four.tar

Tudo é esmagado em 'one.tar' neste exemplo ...

se você usar o ' rf ', ele adicionará novos arquivos ao dado tar ( one.tar aqui), ao passo que se você usar o Af , ele anexa um ou mais arquivos tar no arquivo tar original (urk! recursive tar! sticky!)

Como sempre, as páginas man são seus amigos. (lentos, fracamente brilhantes amigos verdes fosforescentes ... mas amigos)

    
por 01.07.2012 / 16:43
1

Você não pode simplesmente concatenar tarballs como este, ele não se comportará como você esperaria. Você pode verificar o conteúdo do tarball usando:

tar tf file.tar

Isso só imprimiria o conteúdo de dir1 sem dir2 . Para arquivar dois diretórios dir1 e dir2 em file.tar , você pode usar:

tar cf file.tar dir1 dir2

O manual está disponível no link

    
por 01.07.2012 / 16:10