1 Empacotamento de arquivos com GNU tar
3 O GNU tar é uma implementação do tar com extensões próprias. O tar é uma
4 ferramenta original da sétima edição do Unix da AT&T. Antes de se tornar
5 um padrão POSIX, vários fabricantes criaram suas próprias extensões,
6 incluindo o projeto GNU. Hoje em dia, o padrão para empacotamento é o
7 pax, extensão do tar padronizada pelo POSIX 2001.
9 Outras ferramentas livres que suportam o tar são star e bsdtar. Outros
10 softwares e formatos de empacotamento incluem ar, shar, cpio. Vamos nos
11 dedicar à ferramenta GNU tar nesta seção.
13 O objetivo do empacotador é armazenar vários arquivos em apenas um só.
14 Dentre as várias operações com um pacote, as principais são criar e
15 extrair. O GNU tar ainda permite as operações:
19 d comparar pacote com sistema de arquivos
20 r anexar arquivos a um pacote
21 t listar arquivos de um pacote
22 u apenas anexar arquivos que são mais novos que no pacote
23 x extrair arquivos de um pacote
25 Há ainda a opção --delete que permite remover arquivos de um pacote. No
26 entanto, essa opção não é apropriada para fitas. O nome tar vem de "Tape
27 ARchiver". Foi criado para permitir o armazenamento dos pacotes em
28 fitas, já que escrevia apenas sequencialmente e em blocos.
30 Há uma pequena diferença do GNU tar pras demais ferramentas GNU em
31 relação às opções. Em primeiro lugar, o primeiro conjunto de opções
32 curtas pode omitir o hífen inicial. Em segundo lugar, uma opção de
33 operação é obrigatória. Isso implica que sempre deve haver alguma opção
34 antes do primeiro parâmetro. Como em outras ferramentas GNU, opções que
35 requerem parâmetros devem ser seguidas por esses imediatamente.
37 A saída padrão é usada para gravar o pacote e a entrada padrão para ler
38 o pacote, a não ser que se use a opção -f, que requer um nome de arquivo
39 como parâmetro. Algumas outras opções:
41 -C diretório onde extrair arquivos
42 -f nome do pacote a criar, atualizar ou extrair
43 -j filtrar usando bzip2 (para compressão/descompressão)
44 -v verbosidade, lista arquivos processados
45 -x filtrar usando gzip (para compressão/descompressão)
49 Para criar um pacote com os arquivos no diretório /bin:
53 tar -f bin.tar -c /bin
56 Para extrair os arquivos do pacote bin.tar no diretório corrente:
63 Para extrair os arquivos do pacote bin.tar no diretório /bin:
64 tar -xf bin.tar -C /bin
65 tar C /bin -x < bin.tar
67 Para comprimir/descomprimir o pacote:
68 cat bin.tar.gz | gzip -cd | tar x
69 gunzip -c bin.tar.gz | tar x
71 tar cjf bin.tar.bz2 /bin
72 tar -cj /bin > bin.tar.bz2
73 tar c /bin | bzip2 -c > bin.tar.bz2
75 Para listar os arquivos em um pacote:
77 cat bin.tar.gz | tar tz