Trabalhando com o tar no Linux
Os arquivos tarball são distribuições de software livre que mantêm uma estrutura de diretórios, arquivos fonte, um arquivo Makefile, documentação e outros arquivos, encapsulados em um arquivo tar com compressão de dados gzip.
Este método de distribuição de software é muito popular porque os utilitários tar e gzip são muito comuns.
O resultado é um arquivo com sufixo .tar.gz ou .tgz.
Ainda é possível encontrarmos os arquivos tarball com o sufixo .bz2 e .tbz2. Estes arquivos foram compactados com o bzip2 que utiliza um algoritmo de compressão de dados melhor que o gzip.
Você poderá abrir o conteúdo de um arquivo tarball de duas formas:
# gzip –d arquivo.tar.gz
O comando gzip descomprime o arquivo.tar.gz e retira o sufixo .gz.
# tar xvf arquivo.tar
O utilitário tar extrai o conteúdo do pacote.
Podemos também utilizar formas mais simples:
# tar xvzf arquivo.tar.gz
Ou
# gzip –dc arquivo.tar.gz | tar xv
Se o arquivo for compactado com o bzip2, ele deve ser descompactado pelo bunzip2 ou utilizar a opção –d do bzip2.
# bzip2 –d arquivo.tar.bz2
Ou
# bunzip2 arquivo.tar.bz2
E
# tar xvf arquivo.tar
Veja a comparação entre a compactação realizada pelos compactadores gzip e bzip2 e um arquivo tar sem compactação:
10.772.480 apache.tar
2.097.339 apache.tar.bz2 (5x menor)
2.467.371 apache.tar.gz (4x menor)
É importante saber que para o Linux pouco importa o sufixo dos arquivos. Ele verifica início dos arquivos para saber qual é o formato dele e qual programa está associado a este formato.
Portanto, os sufixos .tar.gz, .tgz, .bz2 e .tbz2 são para facilitar o entendimento humano.
Os primeiros bytes dos arquivos são chamados de Magic Numbers, de forma que cada tipo de formato de arquivo tem seus primeiros bytes únicos, que podem ser lidos para identificá-los.
O utilitário file pode ser usado para ler os primeiros bytes dos arquivos e identificar qual o tipo de arquivo.
Exemplos:
# file php-5.3.0.tar.gz
php-5.3.0.tar.gz: gzip compressed data, was “php-5.3.0.tar”, from Unix, last modified: Mon Jun 29 12:46:48 2009, max compression
# file IntegrACAO.zip
IntegrACAO.zip: Zip archive data, at least v2.0 to extract
# file /bin/bash
/bin/bash: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), stripped
# file meutexto
meutexto: ASCII text
# file player.html
player.html: HTML document text
# file script
script: Bourne-Again shell script text
Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.