Skip to content

Sistema de Gerenciamento de Pacotes APT

APT (Advanced Package Tool) é a ferramenta central de gerenciamento de pacotes do sistema Debian. Este tutorial ensinará como usar o APT para instalar, atualizar e remover pacotes de software.

🎯 Conceitos Básicos do APT

O que é o APT?

APT é a ferramenta de gerenciamento de pacotes do sistema Debian, responsável por:

  • 📦 Instalação de pacotes: Baixar e instalar software a partir de repositórios
  • 🔄 Resolução de dependências: Resolver automaticamente as dependências dos pacotes
  • ⬆️ Atualização do sistema: Atualizar pacotes de software já instalados
  • 🗑️ Remoção de software: Desinstalar com segurança software não necessário

Repositórios de Software (Repository)

Repositórios são armazenamentos de pacotes de software:

bash
# Principais tipos de repositórios
main        # Software livre mantido oficialmente pelo Debian
contrib     # Software livre que depende de software não livre
non-free    # Software não livre
security    # Atualizações de segurança
updates     # Atualizações da versão estável

🔧 Comandos Básicos do APT

Atualizar a Lista de Pacotes

Antes de usar o APT, primeiro atualize a lista de pacotes:

bash
# Atualizar a lista de pacotes (recomendado executar antes de cada uso)
sudo apt update

# Exemplo de saída:
# 命中:1 http://deb.debian.org/debian bookworm InRelease
# 获取:2 http://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
# 读取软件包列表... 完成

💡 Dica para Iniciantes

apt update apenas atualiza a lista de pacotes, não instala ou atualiza nenhum software de fato. Este comando é semelhante a "atualizar o catálogo de produtos da loja".

Instalar Pacotes

Instalar um Único Pacote

bash
# Comando básico de instalação
sudo apt install nome-do-pacote

# Exemplo: instalar editor de texto
sudo apt install vim

# Instalar com informações detalhadas
sudo apt install -v firefox-esr

Instalar Múltiplos Pacotes

bash
# Instalar vários pacotes de uma vez
sudo apt install git curl wget

# Instalar versão específica
sudo apt install python3=3.11.2-1

# Reinstalar (reparar instalação corrompida)
sudo apt install --reinstall firefox-esr

Instalar Pacotes Sugeridos

bash
# Instalar incluindo pacotes sugeridos
sudo apt install --install-suggests libreoffice

# Não instalar pacotes sugeridos (comportamento padrão)
sudo apt install --no-install-suggests gimp

Pesquisar Pacotes

Pesquisa Básica

bash
# Pesquisar nomes e descrições de pacotes
apt search palavra-chave

# Exemplo: pesquisar editores
apt search editor

# Pesquisar funcionalidade específica
apt search "media player"

Pesquisa Precisa

bash
# Pesquisar apenas nomes de pacotes
apt search --names-only firefox

# Pesquisar usando expressões regulares
apt search '^python3-'

Exibir Informações do Pacote

bash
# Exibir informações detalhadas do pacote
apt show nome-do-pacote

# Exemplo
apt show firefox-esr

# Exibir informações da versão instalada
apt list --installed firefox-esr

# Exibir versões disponíveis
apt list firefox-esr

Atualizar o Sistema

Atualizar Pacotes Instalados

bash
# Atualizar todos os pacotes que podem ser atualizados
sudo apt upgrade

# Atualizar pacote específico
sudo apt upgrade firefox-esr

# Atualização completa (inclui remover pacotes conflitantes)
sudo apt full-upgrade

Atualizações de Segurança

bash
# Instalar apenas atualizações de segurança
sudo apt upgrade -s | grep security
sudo apt install $(apt list --upgradable 2>/dev/null | grep security | cut -d/ -f1)

Remover Pacotes

Remover Pacotes

bash
# Remover pacote (preserva arquivos de configuração)
sudo apt remove nome-do-pacote

# Exemplo
sudo apt remove firefox-esr

# Remover completamente (inclui arquivos de configuração)
sudo apt purge nome-do-pacote

# Remover automaticamente dependências não necessárias
sudo apt autoremove

Limpar o Sistema

bash
# Limpar cache de arquivos de pacotes baixados
sudo apt clean

# Limpar apenas arquivos de pacotes desatualizados
sudo apt autoclean

# Remover pacotes órfãos
sudo apt autoremove --purge

📋 Pacotes Recomendados Comuns

Ferramentas de Desenvolvimento

bash
# Ferramentas básicas de desenvolvimento
sudo apt install build-essential

# Controle de versão Git
sudo apt install git

# Editores de código
sudo apt install vim nano code

# Linguagens de programação
sudo apt install python3 python3-pip nodejs npm

Ferramentas Multimídia

bash
# Reprodutores de áudio
sudo apt install audacity rhythmbox

# Reprodutores de vídeo
sudo apt install vlc mpv

# Edição de imagem
sudo apt install gimp inkscape

# Codecs de áudio e vídeo
sudo apt install ubuntu-restricted-extras

Ferramentas de Rede

bash
# Diagnóstico de rede
sudo apt install net-tools curl wget

# Ferramentas de download
sudo apt install aria2 youtube-dl

# Navegadores
sudo apt install firefox-esr chromium

Software de Escritório

bash
# Suíte de escritório LibreOffice
sudo apt install libreoffice

# Leitores de PDF
sudo apt install evince okular

# Mapas mentais
sudo apt install freemind

⚙️ Gerenciamento de Repositórios

Verificar Repositórios Atuais

bash
# Verificar configuração de repositórios
cat /etc/apt/sources.list

# Verificar repositórios adicionais
ls /etc/apt/sources.list.d/

Editar Repositórios

bash
# Editar arquivo principal de repositórios
sudo nano /etc/apt/sources.list

# Configuração completa de repositórios para Debian 13 (Trixie) (incluindo software não livre e firmware):
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian trixie main contrib non-free non-free-firmware

deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware

deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware

Diferença entre non-free e non-free-firmware

  • non-free-firmware: Firmware de hardware (WiFi, placa de vídeo, firmware Bluetooth, etc.), componente específico adicionado no Debian 13
  • non-free: Outro software não livre (como drivers NVIDIA empacotados, fontes proprietárias, etc.)

Se você precisa instalar software não livre como drivers NVIDIA (nvidia-driver), deve manter o componente non-free.

Usar Espelhos Chineses

Para melhorar a velocidade de download, pode-se usar espelhos chineses:

bash
# Fazer backup do arquivo original
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

# Editar repositórios
sudo nano /etc/apt/sources.list

Espelho da Universidade Tsinghua:

bash
# Espelho da Universidade Tsinghua
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie main contrib non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security trixie-security main contrib non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security trixie-security main contrib non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ trixie-updates main contrib non-free-firmware

Espelho da USTC:

bash
# Espelho da USTC
deb https://mirrors.ustc.edu.cn/debian/ trixie main contrib non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ trixie main contrib non-free-firmware

deb https://mirrors.ustc.edu.cn/debian-security/ trixie-security main contrib non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian-security/ trixie-security main contrib non-free-firmware

deb https://mirrors.ustc.edu.cn/debian/ trixie-updates main contrib non-free-firmware
deb-src https://mirrors.ustc.edu.cn/debian/ trixie-updates main contrib non-free-firmware

Adicionar Repositórios de Terceiros

Adicionar Chaves GPG

bash
# Baixar e adicionar chave GPG
wget -qO - https://example.com/key.gpg | sudo apt-key add -

# Método moderno (recomendado)
wget -qO - https://example.com/key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/example-keyring.gpg

Adicionar Repositórios

bash
# Criar novo arquivo de repositório
echo "deb [signed-by=/usr/share/keyrings/example-keyring.gpg] https://example.com/debian stable main" | sudo tee /etc/apt/sources.list.d/example.list

# Atualizar lista de pacotes
sudo apt update

🔍 Operações Avançadas do APT

Dependências de Pacotes

bash
# Verificar dependências de um pacote
apt depends nome-do-pacote

# Verificar quais pacotes dependem deste pacote
apt rdepends nome-do-pacote

# Simular instalação (não instala de fato)
sudo apt install -s nome-do-pacote

Operações com Arquivos de Pacotes

bash
# Baixar arquivo do pacote sem instalar
apt download nome-do-pacote

# Verificar lista de arquivos dentro do pacote
dpkg -L nome-do-pacote

# Encontrar a qual pacote um arquivo pertence
dpkg -S /caminho/para/arquivo

# Verificar scripts de instalação do pacote
apt-get source nome-do-pacote

Controle de Versão

bash
# Bloquear versão do pacote (impedir atualização)
sudo apt-mark hold nome-do-pacote

# Desbloquear versão
sudo apt-mark unhold nome-do-pacote

# Verificar pacotes bloqueados
apt-mark showhold

# Rebaixar pacote (requer versão antiga disponível)
sudo apt install nome-do-pacote=número-da-versão

🛡️ Segurança e Melhores Práticas

Atualizações de Segurança

bash
# Configurar atualizações automáticas de segurança
sudo apt install unattended-upgrades

# Configurar atualizações automáticas
sudo dpkg-reconfigure unattended-upgrades

# Verificar manualmente atualizações de segurança
sudo unattended-upgrade --dry-run

Manutenção do Sistema

bash
# Comandos de manutenção periódica (recomendado executar semanalmente)
sudo apt update && sudo apt upgrade
sudo apt autoremove
sudo apt autoclean

# Verificar integridade do sistema
sudo apt check

# Reparar pacotes corrompidos
sudo apt install -f

Backup e Restauração

bash
# Exportar lista de pacotes instalados
dpkg --get-selections > installed-packages.txt

# Restaurar lista de pacotes
sudo dpkg --set-selections < installed-packages.txt
sudo apt-get dselect-upgrade

🆘 Solução de Problemas

Problemas Comuns

Erro de Chave GPG

bash
# Problema: erro NO_PUBKEY
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ID-da-chave

# Ou usar método moderno
wget -qO - https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xID-da-chave | sudo gpg --dearmor -o /usr/share/keyrings/package-keyring.gpg

Problemas de Dependência de Pacotes

bash
# Reparar dependências corrompidas
sudo apt install -f

# Limpar e reconfigurar
sudo dpkg --configure -a

# Remover forçadamente pacote problemático
sudo dpkg --remove --force-remove-reinstreq nome-do-pacote

Espaço em Disco Insuficiente

bash
# Limpar cache de pacotes
sudo apt clean

# Remover pacotes não necessários
sudo apt autoremove --purge

# Encontrar arquivos grandes
sudo du -h /var/cache/apt/archives/

📱 Gerenciamento de Pacotes com Interface Gráfica

Gerenciador de Pacotes Synaptic

bash
# Instalar gerenciador de pacotes com interface gráfica
sudo apt install synaptic

# Executar Synaptic
sudo synaptic

Centro de Software GNOME

bash
# Instalar centro de software GNOME
sudo apt install gnome-software

# Iniciar centro de software
gnome-software

Próximos Passos

Após dominar o gerenciamento de pacotes APT, você pode continuar aprendendo:

  1. Gerenciamento de Serviços do Sistema - Gerenciar serviços do sistema
  2. Gerenciamento de Permissões de Usuário - Configuração de usuários e permissões
  3. Configuração de Rede - Configuração e gerenciamento de rede

Quer aprender mais técnicas de administração de sistema? Continue aprendendo sobre serviços do sistema →