sábado, 15 de agosto de 2009

Compactadores, empacotadores e procedimentos de backup

- Objetivos
  • Diferenciar compactação de empacotamento;
  • Compreender o comando tar;
  • Comparar as qualidades do gzip e do bzip2;
A compreensão e empacotamento de arquivos e diretórios é muito importante em qualquer sistema computacional. Ambos os procedimentos são necessários desde o ponto de vista de distribuição de softwares, quanto de economia de banda e de espaço de armazenamento, até backup do sistema. Veremos neste artigo o principal programa de empacotamento GNU/Linux e os dois principais compactadores.



Empacotador TAR

A forma mais conhecida de realizar compresão e empacotamento em ambientes Windows é utilizando o programa zip. Um programa que "zipa" um arquivo, ou diversos arquivos, na realidade está realizando dois procedimentos distintos: empacotar e comprimir.

A utilização da ferramentar tar é bastante simples e pode ser resumida da seguinte forma:

$ tar f []


Opções:
  • x - extrair
  • c - criar
  • v - ver
  • f - arquivo
  • z - gzip
  • j - bzip2
  • t - teste
  • r - juntar
Prática dirigida

1- copie todo o contéudo do diretório /etc para /backup e vá para o /backup:

# cp -rL /etc/ backup

# cd /backup

2 - verifique que não é possivel compactar um diretório sem empacota-las antes. Tente o com gzip e com o bzip2 :

# gzip etc

# bzip2 etc

Para determinarmos qual o melhor compactador vamos analisar dois tipos de arquivos, texto puro e binário. Para isso vamos criá-los.

3 - Vamos criar dois arquivos de texto puro. Abra o arquivo texto1 no editor vim e insira a linha contento os números de 0 a 9:

# vim texto1

0123456789

4 - Ainda dentro do vim, copie essa linha e cole 250.000 vezes:

:1y
25000p

5 - Saia do arquivo salvando as alterações:

:x

6 - Crie uma cópia deste arquivo chamado-a de texto2:

# cp texto1 texto2

7 - Vamos criar um par de arquivos binários para nossos testes. Utilizaremos como base, o programa aptitude:

# cp /usr/bin/aptitude bin1

8 - Vamos duplicar esse arquivo:

# cp bin1 bin2

9 - Verifique que criamos quatro arquivos com tamanho parecido, aproximadamente 2.4mb, sendo dois binários e dois texto puro:

# ls -lh

10 - Determine o intervalo de tempo que leva para comprimir o arquivo texto1 com gzip:

# time gzip texto1

11 - Determine o tamanho final do arquivo texto1 após ser comprimido com gzip:

# ls -lh texto1.gz

12 - Determine o valor de tempo que leva para descomprimir o arquivo texto1.gz:

# time gunzip texto1.gz

Trabalhando com TAR

1- Dentro do /backup vamos criar um arquivo "tar" que cujo contéudo será o diretório /backup/etc empacotado. Verifique que o arquivo foi criado.

#tar cf etc.tar etc

# ls -lh

2 - liste o contéudo do arquivo etc.tar:

# tar tf etc.tar

3 - comando simples para extrair um arquivo.

tar xf etc.tar

4 - comando de extrair arquivos gzip.

# tar czf etc.tar.gz etc

5 - comando de extrar arquivos bzip.

# tar xjf etc.tar.bz2


Exercicios teóricos

1 - Qual a diferença entre empacotar e comprimir?

2 - Quais comando GNU/Linux você conhece que realizam compressão?

3 - Quais comandos GNU/Linux você conhece que servem para empacotar arquivos e diretórios?


0 comentários:

Postar um comentário