
É válido fazer isso:
{
tar -c dir1
tar -c dir2
} | cat > file.tar
O arquivo resultante.tar é uma bola tar válida?
Caso contrário, como posso concatenar bolas de alcatrão rapidamente?
Responder1
Sim, com uma ligeira modificação no seu método.
tar suporta concatenar vários arquivos tar juntos.... lembre-se de sua história... é um TAPE-ARCHIVE.... é um fluxo de dados, que lembra um carretel de fita passando zunindo pela cabeça de leitura/gravação.... é apenas blocos de dados para o programa tar ...
Pelo que meus testes mostram, você precisa ter pelo menos UM arquivo tar em algum lugar...
tar cf one.tar buncha files to add
A partir deste ponto... você pode adicionar mais arquivos ou anexar 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 é compactado em 'one.tar' neste exemplo ...
se você usar o 'RF', ele anexa novos arquivos ao tar fornecido (um.taraqui), enquanto que se você usar oAf, ele anexa um ou mais arquivos tar ao arquivo tar original (urk! recursive tar! sticky!)
Como sempre, as páginas de manual são suas amigas. (lento, com um leve brilho de amigos verdes de fósforo... mas amigos)
Responder2
Você não pode simplesmente concatenar tarballs assim, ele não se comportará como você esperaria. Você pode verificar o conteúdo do tarball usando:
tar tf file.tar
Isso imprimiria apenas o conteúdo de dir1
without 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 emhttp://www.gnu.org/software/tar/manual/