Introdução à criação de backups no Linux

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Existem muitos programas para realizar cópias de segurança no Linux (chamadas de backup). Porém tradicionalmente a forma mais simples de realizar uma cópia pessoal de um conjunto de arquivos e diretórios faz uso de um programa simples chamado tar.

tar

O programa tar é um utilitário do mundo Unix originalmente criado para backups em fita (daí seu nome: TApe aRchiver, se bem que tar é também um trocadilho que pode significar piche, pois ele de certa forma gruda um arquivo ao outro). O resultado da execução do tar é um arquivo contendo todos os arquivos e diretórios que foram selecionados para inclusão. Esse arquivo tar pode ser então compactado, obtendo-se algo parecido com o que faz zip ou rar.

Mas porque não usar então zip e rar ? Afinal, eles existem também no Linux ... No entanto, esses compactadores nasceram no mundo do antigo MS-DOS, e assim não são capazes de armazenar todos os atributos de arquivos que existem em sistemas Unix (informações tais como usuário e grupo dono do arquivo, permissões de acesso, tipo do arquivo, datas de último acesso e modificação). O tar, pelo contrário, consegue preservar esses atributos, e por isto se torna mais adequado para uso no Unix em geral.

Uso do tar:

  • Criação de arquivo tar:
    tar cf nome_arquivo.tar arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
    
  • Mostrar o conteúdo de arquivo tar:
    tar tvf nome_arquivo.tar
    
  • Extrair conteúdo de arquivo tar:
    tar xf nome_arquivo.tar
    

Os usos acima não compactam os arquivos incluídos dentro do arquivo tar. Para compactá-los deve-se adicionar uma opção de compactação:

  • Criação de arquivo tar compactado:
    • Com compress:
      tar cZf nome_arquivo.tar.Z arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
      
    • Com gzip:
      tar czf nome_arquivo.tar.gz arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
      
    • Com bzip2:
      tar cjf nome_arquivo.tar.bz2 arquivo_ou_diretorio1 [arquivo_ou_diretorio2 ...]
      
  • Mostrar o conteúdo de arquivo tar:
    • Com compress:
      tar tvZf nome_arquivo.tar.Z
      
    • Com gzip:
      tar tvzf nome_arquivo.tar.gz
      
    • Com bzip2:
      tar tvjf nome_arquivo.tar.bz2
      
  • Extrair conteúdo de arquivo tar:
    • Com compress:
      tar xZf nome_arquivo.tar.Z
      
    • Com gzip:
      tar xzf nome_arquivo.tar.gz
      
    • Com bzip2:
      tar xjf nome_arquivo.tar.bz2
      

Compactadores no modo texto

Vários compactadores de arquivos existem no Linux, e o nautilus simplifica sua seleção e uso. Esses compactadores podem ser usados também no modo texto ... aliás, eles originalmente foram criados para serem usados dessa forma ! O que o nautilus faz é facilitar seu uso por meio de uma interface gráfica.

Os principais compactadores são:

  • compress: compactador mais antigo e comum nos Unix em geral, porém em desuso. Gera arquivos compactados com extensão .Z. Precisa do pacote de software ncompress no Ubuntu. Exemplo de uso:
    msobral@curl2:~/tmp$ compress palavras.txt 
    msobral@curl2:~/tmp$ ls -l palavras.txt.Z 
    -rw-rw-r-- 1 msobral msobral 932433 Jun 29 14:59 palavras.txt.Z
    msobral@curl2:~/tmp$ uncompress palavras.txt.Z 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • GNU zip: compactador bastante utilizado, com maior poder de compactação que compress. Gera arquivos compactados com extensão .gz. Já vem instalado no Ubuntu. Exemplo de uso:
    msobral@curl2:~/tmp$ gzip palavras.txt
    msobral@curl2:~/tmp$ ls -l palavras.txt.gz
    -rw-rw-r-- 1 msobral msobral 532756 Jun 29 14:59 palavras.txt.gz
    msobral@curl2:~/tmp$ gunzip palavras.txt.gz 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • bzip2: vem sendo bastante usado por ter um poder de compactação ainda maior, porém à custa de maior processamento (compactação fica mais lenta). Gera arquivos compactados com extensão .bz2. Também já vem instalado no Ubuntu.
    msobral@curl2:~/tmp$ bzip2 palavras.txt
    msobral@curl2:~/tmp$ ls -l palavras.txt.bz2 
    -rw-rw-r-- 1 msobral msobral 720099 Jun 29 14:59 palavras.txt.bz2
    msobral@curl2:~/tmp$ bunzip2 palavras.txt.bz2 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • xz: outro compactador bastante usado recentemente. Pode compactar ainda mais que bzip2, porém a um custo computacional maior. Isso significa que ele demora mais para compactar um arquivo que esse outro compactador. Gera arquivos com extensão .xz. Ele já vem instalado no Ubuntu.
    msobral@curl2:~/tmp$ xz palavras.txt 
    msobral@curl2:~/tmp$ ls -l palavras.txt.xz 
    -rw-rw-r-- 1 msobral msobral 387056 Jun 29 14:59 palavras.txt.xz
    msobral@curl2:~/tmp$ unxz palavras.txt.xz 
    msobral@curl2:~/tmp$ ls -l palavras.txt
    -rw-rw-r-- 1 msobral msobral 2856243 Jun 29 14:59 palavras.txt
    
  • ... outros menos populares no mundo do Linux, tais como zip, rar e zoo.

Note que os compactadores compress, gzip, bzip2 e xz compactam um arquivo por vez. Assim, com eles não é possível juntar vários arquivos e diretórios dentro de um único arquivo compactado (o que se faz corriqueiramente com zip ou rar ...). Portanto, se for necessário compactar um diretório ou um conjunto de arquivos, o melhor é combinar um compactador com o programa tar.

Atividade

Faça os exercícios abaixo usando o nautilus e os compactadores no modo texto:

  1. Procure um arquivo de texto (extensão .txt, .html, ou .doc) com ao menos 100 kB e compacte-o com compress, gzip e bzip2. Compare os tamanhos dos arquivos resultantes.
  2. Usando o programa tar, compacte todo o diretório home do usuário aluno. Experimente criar o arquivo tar sem compactação, e depois compactado com cada um dos compactadores vistos. Você terá portanto como resultado quatro arquivos tar diferentes ...
  3. Descompacte os arquivos tar gerados na questão anterior. Para evitar sobreposição, descompacte cada um deles em um diretório separado.
  4. Faça um backup da configuração do Kodi ... isso é importante para poder recuperar o seu centro de midia no caso de dano no disco onde ele foi instalado (experiência própria !).