Tarball em 11 exemplos

Tarball é um termo usado para um grupo de arquivos empacotados conjuntamente. O termo sugere uma bola de alcatrão (tar), um derivado do carvão, de consistência pegajosa usada como selante em coberturas e outras obras de construção
“tar” (Tape ARchive) é um comando que agrupa diversos arquivos em um único, a partir de outros, possibilitando que sejam depois extraídos separadamente. Um arquivo “tar” tem o sufixo “.tar”.
Podemos usar “tar” juntamente com gzip (.gz) e bzip2 (.bz2) para criar arquivos comprimidos, visto que “tar” não comprime; somente agrupa.
Outros formatos de compactação: zip e rar. Mas estes não serão abordados aqui. O foco aqui é o tarball. Tarball é bastante útil quando quando queremos, por exemplo, enviar vários arquivos por email ou transferí-los de um dispositivo para outro. Muitos downloads para Linux estão no formato tar, por isso é bastante útil conhecer esta ferramenta.

Sintaxe:

tar [opções] arquivo.tar arquivo1 arquivo2 …

Resumo das opções que vamos ver:

-A –catenate –concatenate
-c –create
-r –append
-t – list
-x –extract –get
-C –directory DIR
-f –file F
-j –bzip
-v –verbose
-z –gzip
  –delete
   

1-) Empacotando alguns arquivos:

$ tar -cf minhaslistas.tar lista1.txt lista2.txt lista3.txt…

2-) Listando os arquivos no tarball:

$ tar -tf minhaslistas.tar

3-) Extraindo todos os arquivos:

$ tar -xf minhaslistas.tar

4-) Deletando um componente:

$ tar –delete -f minhaslistas.tar lista2.txt

5-) Adicionando um componente ao final. O arquivo será inserido no final do tarball:

$ tar -rf minhaslistas.tar lista2.txt

Agora vamos listar o conteúdo:

$ tar -tf minhaslistas.tar
lista1.txt
lista3.txt
lista2.txt

6-) Concatenando tarballs:

$ tar -Af minhaslistas.tar outroarquivo.tar

7-) Extraindo para um diretório já existente:

$ tar -xvf minhaslistas.tar -C /home/usuario/extraidos

8-) Criar tar compactado com gzip (tar + gzip):

$ tar -cvzf minhaslistas.tar.gz lista1.txt lista2.txt

9-) Extrair gzip:

$ tar -xvzf minhaslistas.tar.gz

10-) Criar tar compactado com bzip2 (tar + bzip2):

$ tar -cvjf minhaslistas.tar.bz2 lista1.txt lista2.txt

11-) Extrair bzip2:

$ tar -xvjf minhaslistas.tar.bz2

Procurar no blog: