Empacotamento e compressão de arquivos

Publicado por Rafael Roncaglia em 31/07/2012

[ Hits: 14.270 ]

 


Empacotamento e compressão de arquivos



Uma breve e clara definição à respeito de empacotamento e compressão de arquivos e os respectivos comandos que fazem estas ações no nosso querido e idolatrado GNU/Linux.

Empacotamento e compressão de arquivos

Antes de irmos direto aos comandos, devemos entender o que é empacotamento e compressão.
  • Empacotamento - É a junção de diversos arquivos em um só, formando um pacote.
  • Compressão de dados - É a redução do espaço ocupado por arquivos em um determinado dispositivo de armazenamento.

Embora possam parecer sinônimos, compressão e compactação de dados são processos distintos:
  • A compressão reduz a quantidade de bits ocupada por um arquivo;
  • A compactação tem a função de unir dados que não estejam unidos. Um exemplo clássico de compactação de dados é a desfragmentação de discos.

Estas duas ações podem, ou não, ser utilizadas juntas, mas é comum em processos de backup empacotar e em seguida comprimir este pacote, como veremos a seguir.

Ferramenta para empacotamento no GNU/Linux

tar - ferramenta que faz o empacotamento de arquivos. A extensão gerada pelo tar é a ".tar"

Sintaxe: tar [opções] <caminho/nome.extensãodopacote> <arquivos>
  • c = Cria um arquivo tar
  • x = Extrai arquivos de um pacote tar
  • r = Adiciona arquivos a um pacote tar (apenas em pacotes não comprimidos)
  • t = Exibe o conteúdo de um pacote tar
  • v = Verbose
  • z = Comprime ou extrai arquivos .tar.gzip
  • j = Comprime ou extrai arquivos .tar.bzip2
  • f = Especifica o arquivo tar a ser usado
  • C = Define o diretório onde os arquivos do pacote serão extraídos.

Observações:
  1. Só é possível comprimir diretórios com conteúdo e que estão empacotados;
  2. Sintaxe para extrair: tar -xvf [pacote] ou, caso eu queira extrair apenas um arquivo do pacote: tar [-xvf] <pacote> <arquivo> e, caso eu queira especificar o local onde eu quero extrair basta adicionar: –C [localparaextrair];
  3. Só é possível comprimir com as opções 'z' e 'j' do tar no momento da criação do pacote. As opções 'z' e 'j' fazem uma chamada externa aos comandos gzip e bzip2 (vistos a seguir), que irão comprimir o pacote 'tar', gerando a extensão ".tar.gz", ou ".tar.bz2", automaticamente ao nome do arquivo.
  4. No momento da criação do pacote 'tar' é preciso especificar a extensão do pacote, caso você queira que ela apareça no nome do arquivos, apenas para facilitar a identificação, lembrando que o GNU/Linux não diferencia a extensão do arquivo simplesmente pelo nome, caso eu tenha um arquivo de texto e der à ele o nome de texto.mp3 ele continuará sendo um arquivo ASCII text (ou seja texto!).
  5. Existe ainda o empacotador cpio, porém não é muito utilizado.

Ferramentas

gzip
  • Ferramenta que faz a compressão de arquivos, demora menos e comprime menos.
  • Sintaxe: gzip <arquivo>
  • A extensão gerada pelo gzip é a ".gz".


gunzip
  • Faz a descompressão de arquivos comprimidos pelo gzip.
  • Sintaxe: gunzip <arquivo.gz>

bzip2
  • Ferramenta que faz a compressão de arquivos, demora mais e comprime mais.
  • A extensão gerada pelo bzip2 é a ".bz2".
  • Sintaxe: bzip2 <arquivo>

bunzip2
  • Faz a descompressão de arquivos comprimidos pelo bzip2.
  • Sintaxe: bunzip2 <arquivo.bz2>

Observações: Como dito anteriormente, não é possível comprimir um pacote com o comando tar depois de já tê- lo criado, portanto, para esta ação basta utilizar um dos dois compressores acima.

É isso aí, vlw.

Outras dicas deste autor

Redirecionadores

Leitura recomendada

Guia gratuito do Ubuntu (inglês)

Lista de sites de jogos para Linux

Instalando Beryl no Slackware Linux 12

Uma introdução aos sistemas de inicialização: BSD x System V

Ativando o Compiz no Fedora MATE + Compiz

  

Comentários
[1] Comentário enviado por nickmarinho em 31/07/2012 - 11:09h

Po, esqueceu de comentar o eficiente 7zip, um dos de melhor compressão hoje em dia. Não?

=)


www.racaboxer.com.br

www.lucianomarinho.com.br


.

[2] Comentário enviado por rflnx em 31/07/2012 - 11:38h

Na verdade eu quis focar no gzip e bzip2 mesmo, porém eu ainda não utilizei o 7zip. mas vlw pela dica nos próximos irei acrescentar todas as ferramentas apenas para conhecimento.

[3] Comentário enviado por danniel-lara em 31/07/2012 - 12:03h

parabéns pela dica
também tem .xz de uma olhada
quem sabe tu não escreve um artigo com todos no futuro

Abraço


[4] Comentário enviado por leeNux em 22/09/2019 - 23:59h

Então compactação e empacotamento seriam sinônimos (por unir arquivos), sendo, ao mesmo tempo, diferentes de compressão (que reduz a quantidade de bits)?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts