Escolar Documentos
Profissional Documentos
Cultura Documentos
Nix
Empacotadores
06/06/2009 Nix
Nesse post, vou falar sobre empacotador. Empacotar, aqui, nada mais é do que reunir vários arquivos
dentro de outro, que é chamado de pacote. O principal programa utilizado para empacotar, é o tar –
Tape ARchive.
O tar, diferente dos compactadores, não realiza a compressão dos arquivos que está empacotando;
portanto, o tamanho final de um pacote tar, é mais ou menos a soma dos arquivos que estão sendo
empacotados.
Geralmente, o tar é utilizado para fazer backup de arquivos e diretórios, muito diferente do gzip e do
bzip2 que fazem compressão somente de arquivos. E a boa notícia é que, podemos usar somente o tar
pra empacotar, ou então se quisermos comprimir podemos usar o tar com algum dos compactadores
que comentei no post passado!
Prá começar, vou mostrar o tar sendo somente o empacotador. Imagine que vamos mexer em alguns
arquivos de configuração dentro do /etc e queremos fazer um backup do diretório inteiro, antes de
começarmos a mexer nos arquivos. Vamos criar um diretório chamado backup dentro do /root prá
guardar nossos backups lá:
# mkdir /root/backup
Onde:
Uma coisa que é importante falar, para criar um pacote tar, seja comprimido ou não… tem que seguir
uma ordem! Se vocês observarem, depois das opções do tar, eu coloquei o caminho onde meu pacote
será salvo e o nome que ele terá… e só depois, eu indiquei qual diretório vai ser empacotado!
https://ivanix.wordpress.com/2009/06/06/empacotadores/ 1/4
16/09/2020 Empacotadores – Nix
Agora vamos comparar o tamanho do diretório /etc com o pacote que geramos:
# du -hs /etc/
2,4M /etc/
# du -hs bkp_etc.tar
1,4M bkp_etc.tar
Vejam que o tamanho entre o diretório é diferente… e vocês podem me dizer: “mas Nix, você não
disse lá em cima que o tar não comprime, só empacota?”.
E eu digo que sim, o tar não comprime, só empacota… mas por conta de reunir os arquivos em um
lugar só, as referências de dados dos arquivos no disco podem mudar, e então isso pode influenciar
no tamanho do pacote tar.
Agora… vamos ver como tudo fica quando colocamos um compactador na jogada! Por exemplo,
vamos compactar o /etc de novo, só que agora, além de empacotar, vamos compactar!
E isso é muito simples… basta acrescentar mais uma opção ao comando tar:
No comando acima, o que mudou, foi a opção z que é para dizer ao tar que vamos usar o gzip para
compactar, e também mudamos a extensão do arquivo para tar.gz!
Vejam novamente acima, o que mudou agora foi a opção j, que é para dizer ao tar que agora estamos
usando o bzip2 para compactar e também mudamos a extensão do arquivo para tar.bz2!
# du -hs /root/backup/bkp_etc.tar*
1,4M bkp_etc.tar
248K bkp_etc.tar.bz2
288K bkp_etc.tar.gz
Vejam a diferença no tamanho dos arquivos quando não usamos nenhuma compactação e quando
usamos!
Agora… uma coisa que é importante saber é que, se estamos falando de backup, temos que ter
certeza de que os arquivos estão ok. Afinal de contas, de nada adianta um backup que os arquivos
estejam corrompidos!
E o tar, tem a opção que testa a integridade dos arquivos, é a opção t (test):
https://ivanix.wordpress.com/2009/06/06/empacotadores/ 2/4
16/09/2020 Empacotadores – Nix
# cd /root/backup
# tar tf bkp_etc.tar
# tar f bkp_etc.tar.gz
# tar f bkp_etc.tar.bz2
Se não houver nenhum erro, seu backup está OK. E quando for extrair (descompactar), o comando é
praticamente o mesmo… o que muda é a opção que será x (extract):
# cd /root/backup
Nos comandos acima, além de extrair, usei a opção v (verbose) para mostrar o conteúdo do pacote
que está sendo extraído! Só lembrando que, o comando acima, irá extrair o pacote no diretório em
que você está, no meu caso, no /root/backup.
Imaginando que queira substituir o atual /etc pelo seu backup, o comando fica assim:
Onde a opção -C indica ao tar que o pacote não será extraído no diretório atual, e sim no diretório
que estou indicando (no caso, o diretório /).
Anúncios
https://ivanix.wordpress.com/2009/06/06/empacotadores/ 4/4