By Marcos Oliveira,

Curso Certificação Linux LPI-102: Backup, compactação e descompactação

A compressão de dados é o ato de reduzir o espaço ocupado por dados num determinado dispositivo. Essa operação é realizada através de diversos algoritmos de compressão, reduzindo a quantidade de Bytes para representar um dado, sendo esse dado uma imagem, um texto, ou um arquivo (ficheiro) qualquer.

Comprimir dados destina-se também a retirar a redundância, baseando-se que muitos dados contêm informações redundantes que podem ou precisam ser eliminadas de alguma forma. Essa forma é através de uma regra, chamada de código ou protocolo, que, quando seguida, elimina os bits redundantes de informações, de modo a diminuir seu tamanho nos arquivos. Por exemplo, a sequência “AAAAAA” que ocupa 6 bytes, poderia ser representada pela sequência “6A”, que ocupa 2 bytes, economizando 67% de espaço. Alguns compactadores de arquivos:

Blog Linux

TAR

MIME: application/x-tar

TAR ou tar (abreviatura de T ape AR chive), é um formato de arquivamento de arquivos (ficheiros). Apesar do nome “tar” ser derivado de “tape archive”, o seu uso não se restringe a fitas magnéticas. Ele se tornou largamente usado para armazenar vários arquivos em um único, preservando informações como datas e permissões. Normalmente é produzido pelo comando “tar”. Algumas das opções mais frequentes:

  • -c - cria um novo arquivo tar;
  • -M - cria, lista ou extrai um arquivo multivolume;
  • -p - mantém as permissões originais do(s) arquivo(s);
  • -r - acrescenta arquivos a um arquivo tar;
  • -t - exibe o conteúdo de um arquivo tar;
  • -v - exibe detalhes da operação;
  • -w - pede confirmação antes de cada ação;
  • -x - extrai arquivos de um arquivo tar;
  • -z - comprime ou extrai arquivos tar resultante com o gzip;
  • -j - comprime ou extrai arquivos tar resultante com o bz2;
  • -f - especifica o arquivo tar a ser usado;
  • -C - especifica o diretório dos arquivos a serem armazenados.

GZIP

Gzip é a abreviação de GNU z ip, um Software Livre de compressão sem perda de dados, criado por Jean-loup Gailly e Mark Adler. O programa é baseado no algoritmo DEFLATE. A extensão gerada pelo gzip é o .gz, e seu formato contém apenas um arquivo comprimido. Em sistemas UNIX é comum gerar um arquivo contendo diversos outros arquivos com o programa tar, e depois comprimi-lo com o gzip, gerando um arquivo .tar.gz. Não confundir com o formato ZIP.

TAR.BZ2

Formato de compactação de arquivos, muito utilizado em sistemas Unix-Like.

COMPACTAÇÃO

Compactando arquivos .tar

tar -cf arquivo.tar [arquivo ou pasta]

Criando arquivos gzip(depois de ter criado o tar primeiro):

gzip arquivo.tar

Compactando arquivos tar.gz (TAR com gzip de uma só vez):

tar -zcvf arquivos.tar.gz [arquivo ou pasta]

Compactando arquivos no formato tar.bz2:

tar -jcvf arquivos.tar.bz2 [arquivo ou pasta]

Compactando arquivos tar de uma outra forma:

tar -c [arquivo ou pasta] > arquivo.tar

Compactando outros formatos (rar, zip e afins)

Instale o suporte

apt-get install rar unrar p7zip
rar a arquivo.rar [arquivo ou pasta]
zip -r arquivo.zip [arquivo ou pasta]

DESCOMPACTAÇÃO

Descompactando arquivos .tar

tar -xf arquivo.tar [arquivo ou pasta]

Descompactando arquivos gzip(depois de ter criado o tar primeiro):

gzip -d arquivo.tar.gz

Descompactando arquivos tar.gz (TAR com gzip de uma só vez):

tar -zxvf arquivos.tar.gz

Descompactando arquivos no formato tar.bz2:

tar -jxvf arquivos.tar.bz2 [arquivo ou pasta]

Descompactando outros formatos(rar, zip e afins)

Instale o suporte

apt-get install rar unrar p7zip
rar -e arquivo.rar

ou

unrar x arquivo.rar
unzip arquivo.zip

O comando dd (para Backup)

O comando dd é um clássico dos ambientes Unix-Like, com ele você pode fazer uma cópia exata de um arquivo, ou seja uma cópia bit a bit.

Sintaxe básica

dd if=origem of=destino

Exemplos

Cópia do HD para um arquivo

dd if=/dev/sda of=~/backup_hd.img

Será feita uma cópia exata do HD dentro do diretório do root com o nome “backup_hd.img”. Se quiser restaurar o “backp_hd.img” no /dev/sda2 (lembre que o sda2 deve ter pelo menos o mesmo tamanho do arquivo “backup.hd” se não os resultados poderão ser desastrosos)

dd if=backup_hd.img of=/dev/sda2

Cópia de partição para o partição

dd if=/dev/sda9 of=/dev/sda11

Será feita cópia da partição /dev/sda9 para a /dev/sda11. Fazendo uma cópia do HD para um arquivo compactado:

dd if=/dev/sda1 | gzip > backup_hd.img.gz

e para descompactar

gzip -d -c backup_hd.img.gz | dd of=/dev/sda2

O comando acima está descompactando o arquivo beckup_hd.img.gz no HD em /dev/sda2.

Criar uma imagem ISO

dd if=diretorio of=iso_do_diretorio.iso

Para visualizar progresso de cópia de arquivos, vá em outro terminal e execute

watch df -h

Para converter todos as letras maiúsculas de um documento para letras minúsculas

dd if=ficheiro1 of=ficheiro2 conv=lcase

Se quisermos converter todas as letras do ficheiro2 para maiúsculas

dd if=ficheiro2 of=ficheiro3 conv=ucase

Para zerar (formatar) o seu HD (use com cuidado!)

dd if=/dev/zero of=/dev/hda

Gerar senhas de forma (pseudo) aleatória

dd if=/dev/random bs=2 count=6 | base64 -
r2KWFW83e9nTniVR
6+0 registros de entrada
6+0 registros de saída
12 bytes (12 B) copiados, 0,000100641 s, 119 kB/s

Para automatizar tarefas, você pode utilizar o Cron e Crontab.



Sobre o Autor

Marcos Oliveira

A alegria está na luta, na tentativa, no sofrimento envolvido e não na vitória propriamente dita. A força não provém da capacidade física. Provém de uma vontade indomável.
Mahatma Gandhi


Dê você também uma Contribuição
Compartilhe nas suas Redes Sociais!




Inscreva-se no Nosso Canal do Youtube



Curso Extremamente Avançado em Shell Script Bash

Você irá descobrir técnicas avançadas de escrever em Shell Script. Como criar instaladores para distribuições Linux, Animações, Documentações, além de tudo sobre Processos em sistemas tipo UNIX, detalhes sobre Comandos Avançados e Muito Mais !




Crie Sua Própria Promoção

Customize seus Pacotes de Treinamentos obtendo descontos muito em conta!