Se você usa Ubuntu, Debian, Linux Mint ou qualquer distribuição baseada em Debian, o APT (Advanced Package Tool) é a ferramenta que cuida de tudo relacionado a programas no seu sistema — instalar, atualizar, remover e muito mais. Entender o APT a fundo é uma das habilidades mais importantes para quem usa Linux no dia a dia. Este tutorial cobre desde os comandos básicos até o uso avançado, repositórios e resolução de problemas.


O que é o APT?

O APT é o gerenciador de pacotes das distribuições baseadas em Debian. Ele funciona como uma loja de aplicativos no terminal — você diz o nome do programa, e o APT cuida de baixar, instalar e configurar tudo, incluindo as dependências necessárias.

APT vs apt-get vs dpkg — qual a diferença?

Essa é uma dúvida comum para quem está começando:

FerramentaO que éQuando usar
aptInterface moderna e amigávelUso diário no terminal
apt-getVersão anterior, mais técnicaScripts e automação
apt-cacheBusca e informações de pacotesConsultas sobre pacotes
dpkgFerramenta de baixo nívelInstalar arquivos .deb locais

Para o dia a dia, use sempre o apt — ele combina os recursos do apt-get e apt-cache em uma interface mais amigável, com barra de progresso e saída colorida.


Como o APT funciona

Antes de usar, é importante entender o fluxo:

Repositórios remotos (servidores)
         ↓
   Lista local de pacotes (/var/lib/apt/lists/)
         ↓
   apt update  →  atualiza a lista local
         ↓
   apt install →  baixa e instala do repositório
         ↓
   Sistema instalado (/usr/bin, /etc, /usr/lib...)

O APT mantém uma lista local de todos os pacotes disponíveis nos repositórios. Essa lista precisa ser atualizada periodicamente com apt update para que o sistema saiba quais versões existem.


Parte 1 — Comandos essenciais do dia a dia

Atualizar a lista de pacotes

sudo apt update

Este comando não instala nada — apenas sincroniza a lista local com os repositórios remotos. Execute sempre antes de instalar ou atualizar programas.

A saída mostra de quais repositórios a lista foi atualizada:

Atingido:1 http://archive.ubuntu.com/ubuntu noble InRelease
Obter:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Obter:3 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Lendo listas de pacotes... Pronto

Atualizar os programas instalados

sudo apt upgrade

Atualiza todos os pacotes instalados para as versões mais recentes disponíveis nos repositórios. O APT mostra o que será atualizado e pede confirmação antes de prosseguir.

sudo apt upgrade -y    # confirma automaticamente sem perguntar

Atualização completa do sistema

sudo apt full-upgrade

Mais poderoso que o upgrade — além de atualizar pacotes, pode instalar e remover pacotes quando necessário para resolver dependências. Recomendado para atualizações de versão do sistema operacional.


Instalar um programa

sudo apt install nome-do-pacote

Exemplos práticos:

sudo apt install vlc                        # player de mídia
sudo apt install git                        # controle de versão
sudo apt install curl wget                  # ferramentas de download
sudo apt install htop                       # monitor de sistema
sudo apt install build-essential            # ferramentas de compilação
sudo apt install python3 python3-pip        # Python e gerenciador de pacotes
sudo apt install nginx                      # servidor web
sudo apt install mysql-server              # banco de dados MySQL

Instalar múltiplos pacotes de uma vez:

sudo apt install -y git curl wget vim htop tree unzip

Instalar sem confirmação:

sudo apt install -y nome-do-pacote

Instalar uma versão específica:

sudo apt install python3=3.11.0-1

Remover um programa

sudo apt remove nome-do-pacote

Remove o programa mas mantém os arquivos de configuração — útil se planeja reinstalar depois.

sudo apt purge nome-do-pacote

Remove o programa e todos os arquivos de configuração — remoção completa e limpa.

sudo apt remove --purge nome-do-pacote    # equivalente ao purge

Remover dependências desnecessárias

sudo apt autoremove

Quando você remove um programa, as dependências que ele usava ficam instaladas mas sem serventia. O autoremove identifica e remove esses pacotes órfãos, liberando espaço em disco.

sudo apt autoremove --purge    # remove também os arquivos de configuração

Limpar o cache de pacotes

O APT armazena os arquivos .deb baixados em /var/cache/apt/archives/. Com o tempo, esse cache pode ocupar vários gigabytes.

sudo apt clean          # remove todos os arquivos .deb do cache
sudo apt autoclean      # remove apenas arquivos .deb de versões antigas

Rotina completa de atualização — tudo em um comando

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean

Salve esse comando como um alias no seu .bashrc ou .zshrc para facilitar:

echo "alias atualizar='sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean'" >> ~/.bashrc
source ~/.bashrc

Agora basta digitar atualizar no terminal.


Parte 2 — Buscando e consultando informações

Buscar um pacote por nome ou descrição

apt search firefox              # busca por nome e descrição
apt search "editor de texto"    # busca por descrição
apt search ^python3             # busca pacotes que começam com python3

Ver informações detalhadas de um pacote

apt show vlc

Retorna informações completas:

Package: vlc
Version: 3.0.20-1
Priority: optional
Section: video
Maintainer: Debian Multimedia Maintainers
Installed-Size: 318 kB
Depends: vlc-bin (= 3.0.20-1), vlc-plugin-base (= 3.0.20-1)
Homepage: https://www.videolan.org/vlc/
Description: multimedia player and streamer
 VLC is the VideoLAN project's media player...

Verificar se um pacote está instalado

apt list --installed | grep vlc
dpkg -l vlc
dpkg -s vlc                       # informações detalhadas do pacote instalado

Listar todos os pacotes instalados

apt list --installed              # todos os pacotes instalados
apt list --installed | wc -l      # contar quantos pacotes estão instalados
apt list --upgradable             # pacotes com atualização disponível

Ver os arquivos instalados por um pacote

dpkg -L vlc                       # lista todos os arquivos do pacote vlc

Descobrir a qual pacote um arquivo pertence

dpkg -S /usr/bin/git              # qual pacote instalou o arquivo /usr/bin/git

Parte 3 — Trabalhando com repositórios

Os repositórios são os servidores de onde o APT baixa os pacotes. Entender como funcionam é essencial para instalar programas que não estão nos repositórios padrão.

Onde ficam as configurações de repositórios

/etc/apt/sources.list              # arquivo principal de repositórios
/etc/apt/sources.list.d/           # pasta com repositórios adicionais

Ver os repositórios ativos

cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/

Estrutura de uma linha de repositório

deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
 │         │                          │     └── componentes
 │         │                          └── codinome da versão
 │         └── URL do repositório
 └── tipo (deb = binário, deb-src = código fonte)

Componentes do Ubuntu:

ComponenteO que contém
mainSoftware livre com suporte oficial
restrictedDrivers proprietários com suporte oficial
universeSoftware livre mantido pela comunidade
multiverseSoftware com restrições de licença

Adicionar um repositório PPA

PPAs (Personal Package Archives) são repositórios criados por desenvolvedores e comunidades para distribuir programas que não estão nos repositórios oficiais.

sudo add-apt-repository ppa:nome/repositorio
sudo apt update
sudo apt install nome-do-pacote

Exemplos práticos:

# Repositório do Git mais atualizado
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git

# Repositório do Handbrake
sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt update
sudo apt install handbrake-gtk

Remover um repositório PPA

sudo add-apt-repository --remove ppa:nome/repositorio
sudo apt update

Ou delete manualmente o arquivo correspondente em /etc/apt/sources.list.d/.

Adicionar repositório de terceiros manualmente

Muitas empresas (Microsoft, Google, Docker) distribuem seus programas via repositórios próprios:

# Exemplo: adicionar repositório do Docker
# 1. Adicionar a chave GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 2. Adicionar o repositório
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

# 3. Atualizar e instalar
sudo apt update
sudo apt install docker-ce

Parte 4 — Instalando arquivos .deb locais

Quando você baixa um arquivo .deb diretamente do site de um programa (como Google Chrome ou VS Code), use o dpkg ou o apt para instalar.

Com o apt (recomendado — resolve dependências automaticamente)

sudo apt install ./google-chrome-stable_current_amd64.deb

O ./ no início é obrigatório — indica que é um arquivo local, não um pacote dos repositórios.

Com o dpkg

sudo dpkg -i google-chrome-stable_current_amd64.deb

Se aparecer erro de dependências após o dpkg, corrija com:

sudo apt install -f

O -f (fix) instrui o APT a baixar e instalar as dependências faltantes.


Parte 5 — Controle avançado de pacotes

Fixar a versão de um pacote (impedir atualização)

Às vezes você precisa manter uma versão específica de um programa — por compatibilidade ou estabilidade.

sudo apt-mark hold nome-do-pacote       # fixa o pacote na versão atual
sudo apt-mark unhold nome-do-pacote     # libera o pacote para atualização
apt-mark showhold                        # lista pacotes fixados

Simular uma instalação sem instalar de verdade

sudo apt install --simulate vlc         # mostra o que seria instalado
sudo apt install --dry-run vlc          # equivalente ao --simulate

Útil para ver quais dependências serão instaladas antes de confirmar.

Baixar o pacote sem instalar

apt download vlc                        # baixa o .deb no diretório atual

Reinstalar um pacote

sudo apt reinstall nome-do-pacote

Útil quando arquivos de um programa foram corrompidos ou deletados acidentalmente.

Ver o histórico de ações do APT

cat /var/log/apt/history.log            # histórico completo
grep "install" /var/log/apt/history.log # filtrar apenas instalações
tail -n 50 /var/log/apt/history.log     # ver as 50 últimas ações

Desfazer a última instalação

sudo apt-get install --reinstall $(tail -n 20 /var/log/apt/history.log | grep "Install:" | tail -1 | sed 's/Install: //' | sed 's/ ([^)]*),\?//g')

Ou de forma mais simples, veja o que foi instalado recentemente e remova manualmente:

grep "^Install:" /var/log/apt/history.log | tail -5
sudo apt remove nome-do-pacote-instalado

Parte 6 — Configurações e otimizações do APT

Arquivo de configuração principal

/etc/apt/apt.conf.d/       # pasta com configurações modulares

Configurar downloads paralelos

Por padrão o APT baixa um pacote por vez. Você pode aumentar para acelerar:

echo 'APT::Acquire::Queue-Mode "access";' | sudo tee /etc/apt/apt.conf.d/99parallel
echo 'APT::Acquire::Retries "3";' | sudo tee -a /etc/apt/apt.conf.d/99parallel

Configurar proxy para o APT

Se estiver atrás de um proxy corporativo:

sudo nano /etc/apt/apt.conf.d/99proxy

Adicione:

Acquire::http::Proxy "http://usuario:senha@proxy.empresa.com:8080";
Acquire::https::Proxy "http://usuario:senha@proxy.empresa.com:8080";

Desativar instalação de pacotes recomendados

Por padrão o APT instala pacotes “recomendados” junto com os obrigatórios. Para instalar apenas o essencial:

sudo apt install --no-install-recommends nome-do-pacote

Para tornar isso padrão permanentemente:

echo 'APT::Install-Recommends "false";' | sudo tee /etc/apt/apt.conf.d/99no-recommends

Parte 7 — Resolução de problemas comuns

Erro: “Unable to lock /var/lib/dpkg/lock”

Outro processo está usando o APT. Aguarde terminar, ou se tiver certeza que não há nada rodando:

sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -a

Erro: “dpkg was interrupted”

sudo dpkg --configure -a
sudo apt install -f

Erro de chave GPG: “NO_PUBKEY”

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CHAVE_AQUI
sudo apt update

Ou na forma moderna (apt-key está obsoleto):

gpg --keyserver keyserver.ubuntu.com --recv-keys CHAVE_AQUI
gpg --export CHAVE_AQUI | sudo tee /usr/share/keyrings/nome-repo.gpg

Erro: “404 Not Found” em repositório

O repositório pode estar desatualizado ou indisponível:

sudo apt update 2>&1 | grep "404"          # ver quais repositórios têm erro 404
sudo add-apt-repository --remove ppa:ppa-com-erro/nome
sudo apt update

Pacote com dependências quebradas

sudo apt install -f                         # tenta corrigir automaticamente
sudo dpkg --configure -a                   # reconfigura pacotes incompletos
sudo apt clean && sudo apt update          # limpa cache e recarrega listas

Sistema com pacotes corrompidos

sudo apt clean
sudo apt update --fix-missing
sudo apt install -f
sudo dpkg --configure -a
sudo apt full-upgrade

Parte 8 — Comandos de referência rápida

Tabela completa

ComandoO que faz
sudo apt updateAtualiza lista de pacotes
sudo apt upgradeAtualiza programas instalados
sudo apt full-upgradeAtualização completa com resolução de dependências
sudo apt install pacoteInstala um pacote
sudo apt remove pacoteRemove (mantém configurações)
sudo apt purge pacoteRemove completamente
sudo apt autoremoveRemove dependências órfãs
sudo apt cleanLimpa cache de pacotes
sudo apt autocleanLimpa cache de versões antigas
apt search termoBusca pacotes
apt show pacoteInformações do pacote
apt list --installedLista pacotes instalados
apt list --upgradableLista pacotes com atualização
sudo apt reinstall pacoteReinstala um pacote
sudo apt-mark hold pacoteFixa versão do pacote
sudo apt install -fCorrige dependências quebradas
sudo dpkg -i arquivo.debInstala arquivo .deb local
dpkg -L pacoteLista arquivos do pacote
dpkg -S arquivoDescobre a qual pacote o arquivo pertence

Dica final: O APT é uma ferramenta madura, poderosa e muito confiável. Com os comandos deste tutorial você cobre 99% das situações do dia a dia. Comece pelos básicos — update, upgrade, install e remove — e vá explorando os recursos avançados conforme a necessidade. Quanto mais você usar, mais natural vai ficando.


Deixe um comentário