O código para um projeto significativo, cujo desenvolvedor queira distribuir, é originalmente armazenado em uma árvore de diretórios hierárquica. Incluem-se o código-fonte (na linguagem C), um Makefile e alguma documentação. Para distribuir o código, toda a árvore precisa ser encapsulada de uma forma que seja eficiente e fácil de enviar e armazenar eletronicametne.
Um método comum de se fazer isso é usando o utilitário tar  para criar um único tarfile com todo o conteúdo do diretório, e depois usar o gzip ou bzip2 para comprimi-lo, buscando-se uma maior eficiência. O arquivo comprimido resultante é conhecido como um tarball. Esse método de distribuição é popular porque tanto o tar quanto o gzip encontram-se amplamente disponíveis e conhecidos, o que garante um grande público.
Um tarball geralmente é identificado através do uso de duas extensões, .tar e .gz, combinatas para formar .tar.gz. Uma extensão combinada simples, .tgz também é popular. (bzip2 oferece uma compressão significativametne maior, ao custo de maior carga sobre a CPU. Arquivos comprimidos com bzip2 geralmente usam a extenão .bz2.).
O código para um projeto significativo, cujo desenvolvedor queira distribuir, é originalmente armazenado em uma árvore de diretórios hierárquica. Incluem-se o código-fonte (na linguagem C), um Makefile e alguma documentação.
Para distribuir o código, toda a árvore precisa ser encapsulada de uma forma que seja eficiente e fácil de enviar e armazenar eletronicametne.
Um método comum de se fazer isso é usar o utilitário tar para criar um único tarfile com todo o conteúdo do diretório, e depois usar o gzip ou bzip2 para comprimi-lo, buscando-se uma maior eficiência.
O arquivo comprimido resultante é conhecido como um tarball. Esse método de distribuição é popular porque tanto o tar quanto o gzip encontram-se amplamente disponíveis e conhecidos, o que garante um grande público.

Um tarball geralmente é identificado através do uso de duas extensões, .tar e .gz, combinatas para formar .tar.gz. Uma extensão combinada simples, .tgz também é popular. O bzip2 oferece uma compressão significativametne maior, ao custo de maior carga sobre a CPU. Arquivos comprimidos com bzip2 geralmente usam a extenão .bz2.).

Ainda é possível encontrarmos os arquivos tarball com o sufixo .bz2 e .tbz2. Estes arquivos foram compactados com o bzip2 que utiliza algoritmo de compressão de dados melhor que o gzip.

Você poderá abrir o conteúdo de um arquivo tarball de duas formas:

root@denilson:~# gzip -d arquivo.tar.gz

O comando gzip descomprime o arquivo.tar.gz e retira o sufixo .gz.

root@denilson:~# tar xvf arquivo.tar
O utilitário tar extrai o conteúdo do pacote.

Podemos também utilizar formas mais simples:

root@denilson:~# tar xvzf arquivo.tar.gz
Ou
root@denilson:~# gzip -dc arquivo.tar.gz | tar xv
Se o arquivo o arquivo for compactado com o bzip2, ele deve ser descompactado pelo bunzip2 ou utilizar a opção -d do bzip2.

root@denilson:~# bzip2 -d arquivo.tar.bz2
Ou
root@denilson:~# bunzip2 arquivo.tar.bz2
E
root@denilson:~# tar xvf arquivo.tar