sábado, 19 de junho de 2010

Empacotadores, Compactadores e Desempacotadores de Arquivos

São softwares especializados que permitem "empacotar" e reduzir ("compactar") um arquivo/diretório ou um conjunto de arquivos/diretórios de forma organizada de maneira que estes ocupem menos espaço em disco e sirvam para backup, se eventualmente for necessário.
Utilitários de compactação de arquivos foram largamente utilizados no passado, quando as mídias de armazenamento eram caras e escassas. Os principais compactadores/empacotadores de arquivos são:

gzip

É praticamente o compactador padrão do GNU/Linux, possui uma ótima taxa de compactação e velocidade. A extensão dos arquivos compactados pelo gzip é a .gz

Sintaxe:
gzip [opções] [arquivos]


# gzip arq.txt - Compacta o arquivo arq.txt;
# gzip -d arq.txt - Descompacta o arquivo arq.txt;
# gzip -t texto.txt.gz - Verifica a existência de erro no arquivo texto.txt.gz;
# gzip -r diretorio – Compacta recursivamente;

bzip2

É um novo compactador que vem sendo cada vez mais usado porque consegue atingir a melhor compactação em arquivos texto se comparado aos já existentes (em conseqüência sua velocidade de compactação também é menor; quase duas vezes mais lento que o gzip). Suas opções são praticamente as mesmas usadas no gzip e você também pode usa-lo da mesma forma. A extensão dos arquivos compactados pelo bzip2 é a .bz2.

Sintaxe:
bzip2 [opções] [arquivos]


Opções

d - Descompacta um arquivo;
f - Força a compactação, compactando até mesmo links;
r - Compacta diretórios e sub-diretórios;
l [arquivo] - Lista o conteúdo de um arquivo compactado pelo bzip2;
t [arquivo] - Testa o arquivo compactado pelo bzip2.
c [arquivo] - Descompacta o arquivo para a saída padrão.
[num], - O uso da opção - [número] permite especificar uma compactação individualmente usando números entre 1 (menor compactação) e 9 (melhor compactação). É útil para buscar um bom equilibro entre taxa de compactação/velocidade (especialmente em computadores muito lentos).

Exemplos:

# bzip2 -9 texto.txt - Compacta o arquivo texto.txt usando a compactação máxima;
# bzip2 -d texto.txt.bz2 - Descompacta o arquivo texto.txt;
# bzip2 -9 *.txt - Compacta todos os arquivos com extensão .txt no diretorio atual;
# bzip2 -t texto.txt.bz2 - Verifica o arquivo texto.txt.bz2;

zip

Utilitário de compactação compatível com pkzip (do DOS) e trabalha com arquivos de extensão .zip. Possui uma ótima taxa de compactação e velocidade no processamento dos arquivos compactados (comparando-se ao gzip). Para a descompactação de arquivos .zip no GNU/Linux, é necessário o uso do utilitário unzip.

Sintaxe:
zip [opções] [arquivo-destino] [arquivos-origem]


# zip textos.zip textos.txt - Compacta o arquivo textos.txt para o arquivo textos.zip;
# zip textos.zip *.txt - Compacta todos os arquivos com a extensão .txt para o arquivo textos.zip (compare o tamanho do arquivo compactado digitando ls -la).
# zip -r textos.zip /usr/*.txt - Compacta todos os arquivos com a extensão .txt do diretório /usr e sub-diretórios para o arquivo textos.zip.
# zip -9 textos.zip * - Compacta todos os arquivos do diretório atual usando a compactação máxima para o arquivo textos.zip.
# zip -T textos.zip - Verifica se o arquivo textos.zip contém erros.

unzip

Descompacta arquivos .zip criados com o programa zip. Este programa também é compatível com arquivos compactados pelo pkzip do DOS.

# unzip arquivo.zip (existe um monte de opção de descompactação... ver guia foca linux II)

rar

rar é um compactador desenvolvido por Eugene Roshal e possui versões para GNU/Linux, DOS, Windows, OS/2 e Macintosh. Trabalha com arquivos de extensão .rar e permite armazenar arquivos compactados em vários disquetes (múltiplos volumes).

Sintaxe:
rar [ações] [opções] [arquivo-destino.rar] [arquivos-origem]

opções

a - Compacta arquivos;
x - Descompacta arquivos;
t - Verifica o arquivo compactado em busca de erros, testa o arquivo;
r - Repara um arquivo .rar danificado;
l - Lista arquivos armazenados no arquivo compactado;

# rar a texto.rar texto.txt - Compacta o arquivo texto.txt em um arquivo com o nome texto.rar;
# rar x texto.rar - Descompacta o arquivo texto.rar

tar

O tar não é um compactador e sim um "arquivador" (ele junta vários arquivos em um só), mas pode ser usado em conjunto com um compactar (como o gzip, zip, bzip2, etc) para armazena-los compactados. O tar também é muito usado para cópias de arquivos especiais ou dispositivos do sistema.

empacotar arquivos [c=cria; t=teste; x=descompacta]

Sintaxe:
tar [opções] [arquivo-destino] [arquivos-origem]

Empacotar Arquivos

# cd /tmp
# tar -cvf bkp_etc.tar /etc (somente empacota) com este comando crio um bkp do diretório /etc na diretório local; neste caso no diretório /tmp

c - Para criar um backup;
v - (verbose) Mostra detalhes para você na hora de criar;
f - Para indicar o nome do arquivo. Essa opção sempre vem por último, pois é ela quem define o nome do arquivo.

Empacotar e compactar arquivos

Para dizer para o tar que irei executar ele com mais um compactador tenho que acrescentar uma opção ao comando que fizemos:

z - Para compactar com GZIP
j - Para compactar com BZIP2

# cd /tmp
# tar -cvzf bkp_etc.tar.gz /etc (empacota e compacta com gzip) com este comando cria um bkp e compacto o diretório /etc na diretório local.
c - Para criar um backup
v - (verbose) Mostra detalhes para você na hora de criar; -
f - Para indicar o nome do arquivo. Essa opção sempre vem por último, pois é ela quem define o nome do arquivo.
z - Para compactar com GZIP

# cd /tmp
# tar -cvjf bkp_etc.tar.bz2 /etc (empacota e compacta com bzip2) com este comando cria um bkp e empacoto o diretório /etc na diretório local -
c - Para criar um backup
v - (verbose) Mostra detalhes para você na hora de criar
f - Para indicar o nome do arquivo. Essa opção sempre vem por último, pois é ela quem define o nome do arquivo.
j - Para compactar com BZIP2

Testar arquivos compactados

# tar -tvf bkp_etc.tar (arquivo empacotado)
# tar -tvzf bkp_etc.tar.gz (arquivo empacotado e compactado)
# tar -tvjf bkp_etc.tar.bz2 (arquivo empacotado e compactado)

Descompactar arquivos

# tar -xvf bkp_etc.tar (arquivo empacotado)
# tar -xvzf bkp_etc.tar.gz (arquivo empacotado e compactado)
# tar -xvjf bkp_etc.tar.bz2 (arquivo empacotado e compactado)

Descompactar arquivos

Caso queira descompactar no / para substituir o /etc antigo no caso de um backup temos que especificar isso com a opção -C:

# tar -xvf bkp_etc.tar -C / (arquivo empacotado)
# tar -xvzf bkp_etc.tar.gz -C / (arquivo empacotado e compactado)
# tar -xvjf bkp_etc.tar.bz2 -C / (arquivo empacotado e compactado)

Para um Administrador de sistemas GNU/Linux, sabendo isso sobre empacotadores/compactadores já consegue realizar a maior parte de suas atividades cotidianas.

Referências:

SIQUEIRA, Luciano Antonio. Certificação LPI-1: 101-102. São Paulo: Linux New Media, 2009.

PRITCHARD, Steven et al. Certificação Linux LPI: Guia de referência nível 1: Exames 101 e 102. Rio de Janeiro: Alta Books, 2007.

FERREIRA, Rubem E. LINUX: Guia do Administrador de Sistemas. São Paulo: Novatec, 2008.

Guia Foca Linux, 2010. Disponível em : http://focalinux.cipsga.org.br/ . Acesso em 19 de junho de 2010.


0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial