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:

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.