11 – Administração de Sistemas Linux – Compactação, descompactação de arquivos pelo Terminal no Linux!

Administração-de-Sistemas-Linux–Compactação-descompactação-de-arquivos

Quando falamos em compactação e descompactação de arquivos dentro de sistemas Linux, geralmente pensamos em algo simples e que ninguém precisa saber. Eis um grande engano. Um bom administrador de sistemas Linux precisa ter o conhecimento amplo. E este item é altamente recomendado, em especial quando vamos lidar apenas com terminal.

Afinal, em alguns casos não haverá ambiente gráfico e para isso, é preciso ter ciência de como compactar ou descompactar os arquivos no Linux.

Entendendo a compactação e descompactação de arquivos no Linux

Quando o assunto é Linux temos vários tipos de arquivos. No entanto os mais famosos são gzip e bzip2. E assim, as extensões que serão exibidas seria respectivamente .gz e bz2. Dentre os dois tipos de arquivos que citamos, o bzip2 é a melhor opção quando o assunto é compressão de arquivos. Ele consegue tornar os arquivos compactados menores do que se fosse usado o gzip. Porém, em caso de urgência saiba que o bzip2 demora um pouco para descompactar ou compactar.

Contudo, antes de você sair por aí compactando tudo, saiba que grandes arquivos ou diretórios, precisam ser compactados com .tar. Só assim podem ser compactados em gz ou gz2.

Arquivos .tar

Agora, vamos usar uma nomenclatura que pode soar estranho para alguns: o empacotamento. O termo é usado para definir o ato de reunir vários arquivos tornando-os um, desde que seja um dentro do outro, que também é chamado de arquivo pacote. Geralmente este arquivo final possui o mesmo tamanho correspondente ao tamanho de cada arquivo unificado, ou empacotado.

Atualmente mesmo depois de tanto tempo, o utilitário mais usado ainda permanece o .tar.

Como empacotar usando o .tar

Por ser recursivo, o comando tar pode ser usado não só em aplicações, pode também empacotar os arquivos de um diretório inteiro. Seria basicamente o que acontece no supermercado, uma bandeja de ovos, carne e tantas outras coisas e inserimos todos deles dentro de uma sacola ou caixa, neste momento podemos usar o ato de juntar tudo em um único pacote de empacotamento.

Para empacotar usando o .tar veja como é simples. Digamos que você queira empacotar o diretório /opt então veja como ficaria a sintaxe do comando.

Terminal
sudo tar cvf empacotamento_opt.tar /opt

E assim, o nosso empacotamento do diretório /opt terá o tamanho equivalente ao tamanho real de todos os arquivos ali contidos!

Como desempacotar usando o .tar

Sem muito o que explicar, o desempacotamento é parecido com o empacotamento, o comando é bem semelhante.

Terminal
sudo tar xvf empacotamento_opt.tar

E aí você pode pensar que na sintaxe do comando é possível identificar o xvf e o cvf que aparecem na composição da sintaxe, mas vamos entender isso também.

  • c -> Especifica o arquivo ou diretório que será empacotado.
  • f -> Item obrigatório para manipular o arquivo, a letra “f” vem de file.
  • v -> Com o v o modo verbose é ativado, ou seja, você saberá tudo o que esta acontecendo, será exibido a saída do que esta sendo feito. Não é mais necessário usar o ‘-‘ para especificar as opções do TAR.
  • x -> É usado para extrair o arquivo ou diretório.

Compactando com compress, gzip e bzip2

Ao contrário do empacotamento, a compactação como o nome já diz serve comprimir os arquivos ou itens compactados, com a finalidade de diminuir o tamanho do arquivo, isso dar-se pelo fato de que a compactação atua sobre as sequências de bits repetidos e que estão presentes em um arquivo ou pacote.

Compactadores comuns e ainda muito utilizados são:

  • Compress
  • gzip
  • bzip2

Como instalar o compress no Ubuntu, Debian, Linux Mint, Fedora e derivados!

Para começar vamos instalar o tão falado compress!

Para Ubuntu, Debian, Linux Mint:

Terminal
sudo apt install ncompress

Para Fedora e derivados:

Terminal
sudo dnf install ncompress
O nome do pacote geralmente é o mesmo para qualquer distribuição, por isso apenas citamos dois exemplos!

Identificado o resultado das compactações de cada compactador

Apesar de parecer redundante, e é, você precisa entender quando um arquivo é compactado com cada item.

  • Extensão .Z – Compactado com o compress
  • Extensão .gz – Compactado com gzip
  • Extensão .bz2 – Compactado com bzip2

E como compactar com o Compress, gzip e bzip 2?

Para compactar como compress execute:

Saída do Terminal
compress -c aquivo > arquivo.Z

Para compactar arquivos como gzip execute:

Terminal
gzip -c arquivo > arquivo.gz

Para compactar arquivos como bzip2 execute:

Terminal
bzip2 -c arquivo > arquivo.bz2

E como descompactar com o Compress, gzip e bzip 2?

Para descompactar o formato Z do compress execute:

Terminal
uncompress arquivo.Z

Para descompactar gzip execute o comando:

Terminal
gzip -d arquivo.gz

Para descompactar bzip2 execute:

Terminal
bzip2 -dc arquivo.bz2 > arquivo

Compactando e empacotando ao mesmo tempo .tar.bz2 e .tar.gz

Vamos usar o exemplo do primeiro empacotamento que fizemos empacotamento_opt.tar

Compactando e empacotando com .tar.gz:

Terminal
sudo tar czvf empacotamento_opt.tar.gz /opt

Compactando e empacotando com .tar.bz2:

Terminal
sudo tar cjvf empacotamento_opt.tar.bz2 /opt

Descompactando e desempacotando ao mesmo tempo .tar.bz2 e .tar.gz

Descompactando e desempacotando com .tar.gz:

Terminal
sudo tar xzvf empacotamento_opt.tar.gz

Descompactando e desempacotando com .tar.bz2:

Terminal
sudo tar xjvf empacotamento_opt.tar.bz2

E para não ser diferente, vamos então entender as opções dos comandos que usamos como exemplos:

  • c -> Especifica o arquivo ou diretório que será empacotado.
  • f -> Item obrigatório para manipular o arquivo, a letra “f” vem de file.
  • v -> Com o v o modo verbose é ativado, ou seja, você saberá tudo o que esta acontecendo, será exibido a saída do que esta sendo feito. Não é mais necessário usar o ‘-‘ para especificar as opções do TAR.
  • x -> É usado para extrair o arquivo ou diretório.
  • Z -> Indica que será compactado com o compress
  • j -> Indica que será compactado com o bzip2

Neste capítulo do curso de Administração de Sistemas Linux, observamos a compactação de arquivos, descompactação e também o empacotamento. No próximo capítulo vamos dar continuidade ao assunto.