0 XP

DEVOPSQUEST

Minha Trilha
Módulo 1 · Linux e Sistemas

Pacotes e repositórios: instalando software do jeito certo

Iniciante 30 min+25 XPaptLinux

Objetivos desta aula

  • Entender o que é um gerenciador de pacotes
  • Atualizar, instalar, remover e pesquisar pacotes com apt
  • Adicionar repositórios oficiais com chave de assinatura
  • Fixar versões para ambientes previsíveis

No Linux você não baixa instaladores de sites aleatórios: usa um gerenciador de pacotes. No Ubuntu/Debian é o apt; no Red Hat/Fedora, dnf; no Alpine (muito usado em contêineres), apk.

Um pacote é o programa empacotado com suas dependências e metadados. Um repositório é o servidor de onde os pacotes vêm, assinado digitalmente para garantir que ninguém os alterou.

O fluxo básico: sudo apt update atualiza a lista de pacotes disponíveis (não instala nada); sudo apt install nginx instala; sudo apt upgrade atualiza o que já está instalado; sudo apt remove desinstala.

Para descobrir pacotes use apt search termo e para ver detalhes apt show pacote. Para saber o que já está instalado: apt list --installed | grep nome.

Alguns softwares (Docker, Terraform, kubectl) recomendam repositórios próprios. O processo seguro é: baixar a chave GPG oficial, registrá-la e adicionar o repositório apontando para essa chave. Isso garante a autenticidade.

Em servidores e contêineres, fixe versões (apt install nginx=1.24.*) para que dois ambientes não fiquem diferentes sem querer. Mudanças de versão devem ser decisões, não surpresas.

Em Dockerfiles, combine apt update e apt install no mesmo comando e limpe o cache (rm -rf /var/lib/apt/lists/*) para gerar imagens menores.

Atualizações de segurança são vitais: configure unattended-upgrades em servidores para aplicar correções críticas automaticamente.

Na prática

Ciclo básico com apt

bash

sudo apt update                 # atualiza a lista
apt search htop                 # procura
sudo apt install -y htop        # instala sem perguntar
apt show htop | head            # detalhes
sudo apt remove -y htop         # remove

Repositório oficial com chave (exemplo HashiCorp)

bash

wget -O- https://apt.releases.hashicorp.com/gpg | \
  sudo gpg --dearmor -o /usr/share/keyrings/hashicorp.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp.gpg] \
https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
  sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install -y terraform

Nota de segurança: Sempre use a chave do site oficial e o `signed-by` para limitar a confiança a esse repositório.

Por que isso importa

Instalar software de forma reprodutível e segura é a base de servidores, imagens Docker e automação com Ansible.

Erro comum

Esquecer apt update e receber “Unable to locate package”, ou instalar scripts com curl | sudo bash sem verificar a origem.

Dica de produção

Registre as versões instaladas em código (Dockerfile, Ansible) em vez de instalar manualmente em produção.

Alerta de segurança

Repositórios não oficiais podem distribuir malware. Prefira fontes oficiais e assinadas.

Pergunta de entrevista

Qual a diferença entre apt update e apt upgrade?

Glossário

Pacote
Software empacotado com dependências e metadados.
Repositório
Servidor que distribui pacotes assinados.
GPG
Sistema de assinatura que garante a autenticidade.
Pin de versão
Fixar uma versão específica de um pacote.

Conexão com o CloudShop

As VMs do CloudShop recebem Nginx e agentes de monitoramento por pacotes com versão fixada.

Quiz da aula

  1. 1. O que `apt update` faz?

  2. 2. Gerenciador de pacotes do Alpine?

  3. 3. Por que fixar versões?

Minhas anotações

Salvo automaticamente neste navegador.

AnteriorPróxima