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:
| Ferramenta | O que é | Quando usar |
|---|---|---|
| apt | Interface moderna e amigável | Uso diário no terminal |
| apt-get | Versão anterior, mais técnica | Scripts e automação |
| apt-cache | Busca e informações de pacotes | Consultas sobre pacotes |
| dpkg | Ferramenta de baixo nível | Instalar arquivos .deb locais |
Para o dia a dia, use sempre o
apt— ele combina os recursos doapt-geteapt-cacheem 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
.bashrcou.zshrcpara facilitar:echo "alias atualizar='sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt autoclean'" >> ~/.bashrc source ~/.bashrcAgora basta digitar
atualizarno 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:
| Componente | O que contém |
|---|---|
| main | Software livre com suporte oficial |
| restricted | Drivers proprietários com suporte oficial |
| universe | Software livre mantido pela comunidade |
| multiverse | Software 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
| Comando | O que faz |
|---|---|
sudo apt update | Atualiza lista de pacotes |
sudo apt upgrade | Atualiza programas instalados |
sudo apt full-upgrade | Atualização completa com resolução de dependências |
sudo apt install pacote | Instala um pacote |
sudo apt remove pacote | Remove (mantém configurações) |
sudo apt purge pacote | Remove completamente |
sudo apt autoremove | Remove dependências órfãs |
sudo apt clean | Limpa cache de pacotes |
sudo apt autoclean | Limpa cache de versões antigas |
apt search termo | Busca pacotes |
apt show pacote | Informações do pacote |
apt list --installed | Lista pacotes instalados |
apt list --upgradable | Lista pacotes com atualização |
sudo apt reinstall pacote | Reinstala um pacote |
sudo apt-mark hold pacote | Fixa versão do pacote |
sudo apt install -f | Corrige dependências quebradas |
sudo dpkg -i arquivo.deb | Instala arquivo .deb local |
dpkg -L pacote | Lista arquivos do pacote |
dpkg -S arquivo | Descobre 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,installeremove— e vá explorando os recursos avançados conforme a necessidade. Quanto mais você usar, mais natural vai ficando.
