Boas-vindas à parte 4 do curso de preparação Linux LPI Essentials! Meu nome é Ricardo Merces e vou acompanhar você durante as aulas.
Audiodescrição: Ricardo é um homem branco careca, de sobrancelhas pretas, vestindo uma camisa cinza-escura. Ele está sentado em uma cadeira preta com detalhes em vermelho, em frente a uma parede clara iluminada em degradê de azul, com prateleiras brancas à esquerda.
Se você está chegando agora, estamos em uma jornada de módulo a módulo, seguindo o material original disponibilizado no site do Linux Professional Institute (LPI). Esse material cobre a primeira certificação do LPI, cujo título é Linux LPI Essentials.
Neste bloco 4, vamos focar bastante na questão de empacotamento e compressão de arquivos e diretórios. Além de conceituar, vamos trabalhar e lidar com vários exemplos. Existe uma diferença entre estas duas atividades, a qual abordaremos ao longo do curso.
Nos encontramos no próximo vídeo!
Como mencionado na introdução do curso, vamos começar a trabalhar conceituando a questão de empacotar e comprimir arquivos e diretórios.
Pode ser que você venha do mundo Microsoft e tenha familiaridade, como muitas pessoas, com as ferramentas Zip. Com apenas um clique, tudo é resolvido no processo e o resultado é um arquivo .zip
. Nos bastidores desse processo, ocorrem duas macro atividades:
- A primeira é reunir tudo o que foi selecionado em um único arquivo, conhecido como o processo de empacotamento, em que reunimos arquivos e diretórios dentro de uma cesta, formando um pacote;
- Depois, também nos bastidores, ocorre de forma transparente a compressão.
A ferramenta que geralmente usamos, como o Zip presente, por exemplo, no Windows, possui um algoritmo de compressão, que tenta, dentro do possível, compactar e também empacotar. A saída, isto é, o resultado de tudo isso, é o arquivo de extensão .zip
.
Isso é feito de forma simples e efetiva. Como estamos estudando, chegaremos a um momento em que realizaremos tudo isso de uma única vez, mas a ideia é aprofundar nosso conhecimento.
Portanto, vamos trabalhar de forma separada inicialmente, compreendendo cada ferramenta, o que cada uma faz, e como as aplicamos corretamente.
Provavelmente, você já ouviu falar da ferramenta TAR, muito popular no ambiente Linux, responsável por realizar o empacotamento.
Outra série de ferramentas que estudaremos são o Gzip, o XZ, e o próprio Zip. Elas, dentre outras, realizarão o serviço de compressão dos arquivos.
Uma vez entendido esse processo, vamos partir para o exercício prático. Como nosso primeiro objetivo, vamos seguir a linha de conceituação inicial.
Com o navegador aberto, vamos acessar a documentação A Quick Benchmark: Gzip vs. Bzip2 vs. LZMA. Nesta página, há um comparativo que é um benchmark sobre Gzip, Bzip2 e LZMA, e ele faz algumas análises, caso queira se aprofundar nisso.
É relevante pelo menos conhecer os algoritmos e a efetividade de cada um dentro da ferramenta.
De modo geral, a depender do algoritmo, teremos uma compressão muito maior. Em contrapartida, quanto mais comprimido for o arquivo, mais tempo o processo levará.
Pode parecer óbvio, mas é importante entender esse conceito, pois, de repente, para a atividade que você planeja, não é sempre a mesma ferramenta que será utilizada.
Podemos usar uma ferramenta mais rápida, por exemplo, ou outra que demora mais, mas fornece um arquivo menor. Portanto, é importante conhecer essa avaliação das ferramentas.
Há um estudo no link fornecido, com uma tabela de resultados que fornece um comparativo entre elas. Deixaremos isso para você como leitura adicional, para complementar seus estudos.
De volta ao terminal, já estamos na máquina virtual que usamos desde a primeira parte do curso, e vamos começar montando um cenário para trabalharmos.
Esse cenário é muito simples e vamos aplicar diretamente os conceitos sobre os quais você já tem conhecimento. Caso tenha alguma dúvida, consulte capítulos anteriores.
Na página inicial (home), criaremos a seguinte estrutura:
mkdir -p LPI/compressao
Lembrando que o comando -p
faz com que o path (caminho) seja criado inteiro até chegar no destino LPI/compressao
. Como o diretório "LPI" não existe, ele será criado e, em seguida, será criado o diretório "compressao" dentro de "LPI".
Para conferir se ele foi de fato criado, usamos o comando ls
.
ls
Retorno do comando:
'Área de Trabalho' Downloads LPI Música snap Vídeos
Documentos Imagens Modelos Público teste
Feito isso, podemos executar o comando abaixo para então começar a trabalhar.
cd LPI/compressao/
Após entendermos os conceitos iniciais e resolvermos o primeiro ambiente, no próximo vídeo, começaremos a usar as ferramentas!
Neste vídeo, vamos realizar nossa primeira atividade para compreender essas questões de algoritmo e ferramentas. Já fizemos algo semelhante no módulo 3 e iremos repetir nesta etapa.
Te ajudaremos na preparação dos cenários e do uso das ferramentas, relembrando conceitos e unindo tudo em uma única linha de comando. Com isso, você poderá estudar o conteúdo atual e revisar o que já estudamos a algum tempo atrás.
Para explicar, usaremos um exemplo concreto.
Vamos considerar o seguinte cenário: precisamos comprimir um arquivo. Primeiramente, vamos te ensinar a usar a ferramenta necessária. Depois, vamos gerar esse arquivo.
Como poderíamos criar um arquivo? Vamos dar a você a seguinte tarefa: criar um arquivo contendo uma listagem de todos os arquivos e diretórios presentes no sistema. Interessante, não é? Faremos isso com ferramentas que já aprendemos a usar.
Primeiramente, vamos criar uma lista de diretório utilizando o comando ls
, que lista os arquivos, e acrescentar o comando -R
para listar de forma recursiva.
ls -R /
Dessa forma, serão listados todos os arquivos a partir do diretório raiz, descendo todos os níveis. Se executarmos o comando como está, o sistema começará a retornar erros em várias pastas às quais não possui permissão de acesso.
Para contornar este problema, vamos elevar nossos privilégios usando o comando sudo
ao início da linha. Agora que a lista está pronta, vamos gerá-la, direcionando a saída (>
) para um arquivo chamado listagem
.
sudo ls -R / > listagem
Será solicitada uma senha, porque usamos o comando sudo
. Após digitar a senha, é natural haver algumas pequenas reclamações, mas foi criado o arquivo.
Para verificar isso, usaremos o comando abaixo:
ls -l
Retorno do comando:
total 13284
-rw-rw-r-- 1 ricardo ricardo 13602799 ago 9 14:53 listagem
Com o comando ls -l
, a saída é em blocos. Nesse caso, podemos utilizar o comando ls -lh
para uma visualização mais amigável.
ls -lh
Retorno do comando:
total 13M
-rw-rw-r-- 1 ricardo ricardo 13M ago 9 14:53 listagem
O tamanho do arquivo é de 13MB, um valor razoável para as nossas atividades de compressão.
Em seguida, vamos copiar o arquivo listagem
para lista-gzip
, usando uma nomenclatura das ferramentas que iremos utilizar, com a finalidade de ilustrar a nossa atividade.
Não precisamos necessariamente manter esse nome para usar a ferramenta.
cp listagem lista-gzip
Feito isso, vamos copiar o arquivo listagem
para lista-bzip2
.
cp listagem lista-bzip2
Além disso, vamos copiar esse mesmo arquivo para lista-xz
.
cp listagem lista-xz
Assim, quando aplicarmos as ferramentas, poderemos observar os resultados de maneira simplificada. Usando os comandos ls
e ls -l
, teremos os mesmos conteúdos como resultado, apenas com nomes diferentes.
Fazemos dessa forma para verificar como vai funcionar a compressão. Falamos anteriormente sobre algoritmos e cada um funciona de uma maneira específica, então é interessante visualizar isso na prática.
Vamos fazer o primeiro exemplo utilizando gzip
, que é a ferramenta de compressão Gzip, seguido do nome do arquivo, que é lista-gzip
.
gzip lista-gzip
Dessa maneira, comprimimos o arquivo lista-gzip
com a ferramenta Gzip.
Faremos o mesmo com as outras ferramentas, então, vamos seguir com bzip2
e lista-bzip2
.
bzip2 lista-bzip2
Talvez você perceba uma diferença sutil, pois ao executar o comando, demora um pouco mais que o
gzip
. Isso já aponta para tudo que falamos no início.
Para finalizar, faremos com a terceira ferramenta XZ, aplicando o comando xz lista-xz
.
xz lista-xz
Ao observar a execução, percebe-se que essa ferramenta demora um pouco mais que as anteriores.
Resumindo a ideia, nós utilizamos ferramentas diferentes para executar a mesma atividade, sendo elas gzip
, bzip2
e xz
.
Agora que utilizamos essas três ferramentas, faremos uma pausa. Sugerimos que você repita os passos que foram realizados e refaça as atividades; assim, poderemos avançar juntos.
No próximo vídeo, vamos fazer uma análise e conversar sobre o efeito de cada ferramenta, dedicando uma atenção especial aos resultados obtidos. Retomaremos a partir deste ponto!
O curso Certificação Linux LPI Essentials: using the command line to get help possui 72 minutos de vídeos, em um total de 20 atividades. Gostou? Conheça nossos outros cursos de Linux em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.