Introdução à criação de backups no Linux
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 ...]
- Com compress:
- 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
- Com compress:
- 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
- Com compress:
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
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:
- 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.
- 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 ...
- Descompacte os arquivos tar gerados na questão anterior. Para evitar sobreposição, descompacte cada um deles em um diretório separado.
- 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 !).