Capítulo 10.1 - apt (Debian/Ubuntu)
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Utilizar o apt para instalar pacotes
- Atualizar o sistema
- Gerenciar repositórios
- Resolver dependências
- Pesquisar pacotes
- Entender apt vs apt-get
O que é o apt?
apt (Advanced Package Tool) é o gerenciador de pacotes para Debian e Ubuntu.
Funções:
- Instalação/remoção de pacotes
- Atualização do sistema
- Gerenciamento de dependências
- Busca de pacotes
Comandos Básicos
Atualização
# Atualizar lista de pacotes
sudo apt update
# Atualizar pacotes instalados
sudo apt upgrade
# Atualização completa (inclui mudanças de dependências)
sudo apt full-upgrade
# Atualizar e fazer upgrade em um comando
sudo apt update && sudo apt upgrade
Instalação
# Instalar um pacote
sudo apt install nome-pacote
# Instalar vários pacotes
sudo apt install pacote1 pacote2 pacote3
# Instalar sem confirmação
sudo apt install -y nome-pacote
# Instalar versão específica
sudo apt install nome-pacote=versao
Remoção
# Remover pacote (mantém config)
sudo apt remove nome-pacote
# Remover pacote e config
sudo apt purge nome-pacote
# Remover dependências não utilizadas
sudo apt autoremove
# Limpar cache
sudo apt clean
sudo apt autoclean
Pesquisa e Informação
Buscar
# Buscar pacote
apt search palavra-chave
# Buscar por nome exato
apt search --names-only nome-pacote
# Ver informações do pacote
apt show nome-pacote
# Listar pacotes instalados
apt list --installed
# Listar pacotes disponíveis
apt list --upgradable
Informações
# Informações detalhadas
apt show nome-pacote
# Dependências
apt depends nome-pacote
# Pacotes dependentes
apt rdepends nome-pacote
# Conteúdo de um pacote
dpkg -L nome-pacote
Repositórios
Arquivos de Configuração
# Listar repositórios
cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/
# Formato
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted
deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted
Adicionar Repositório
# Método 1: Arquivo em sources.list.d/
echo "deb http://repo.example.com/ubuntu jammy main" | \
sudo tee /etc/apt/sources.list.d/meu-repo.list
# Adicionar chave GPG
wget -qO - http://repo.example.com/key.gpg | sudo apt-key add -
# Atualizar
sudo apt update
Repositório PPA (Ubuntu)
# Adicionar PPA
sudo add-apt-repository ppa:nome/ppa
# Remover PPA
sudo add-apt-repository --remove ppa:nome/ppa
# Atualizar
sudo apt update
apt vs apt-get
apt (Moderno)
# Interface moderna, recomendado
sudo apt update
sudo apt install
sudo apt upgrade
sudo apt search
apt-get (Clássico)
# Ainda funcional
sudo apt-get update
sudo apt-get install
sudo apt-get upgrade
Diferença:
apté mais amigável (barra de progresso, cores)apt-geté mais baixo nível- Use
aptpara uso diário
Exemplos Práticos
Instalação Completa
# Atualizar
sudo apt update
# Instalar pacote
sudo apt install nginx
# Verificar instalação
systemctl status nginx
# Ver versão
nginx -v
Atualização do Sistema
#!/bin/bash
# Script de atualização
echo "Atualizando lista de pacotes..."
sudo apt update
echo "Atualizando pacotes..."
sudo apt upgrade -y
echo "Limpando..."
sudo apt autoremove -y
sudo apt autoclean
echo "Finalizado!"
Busca e Instalação
# Buscar
apt search nginx
# Ver informações
apt show nginx
# Instalar
sudo apt install nginx
# Verificar
dpkg -l | grep nginx
Resolução de Problemas
Dependências Quebradas
# Reparar dependências
sudo apt --fix-broken install
# Reparar completamente
sudo apt --fix-missing install
sudo dpkg --configure -a
Cache Corrompido
# Limpar cache
sudo apt clean
sudo apt autoclean
# Reconstruir cache
sudo apt update
Pacote Travado
# Ver processos usando o pacote
sudo lsof | grep nome-pacote
# Forçar instalação
sudo dpkg --force-depends -i pacote.deb
Resumo
Neste capítulo, você aprendeu:
apt: Gerenciador de pacotes Debian/Ubuntu
Comandos: update, upgrade, install, remove, search
Repositórios: sources.list, sources.list.d/, PPA
Pesquisa: search, show, list
Problemas: --fix-broken, clean, dpkg
Prática: Instalação, atualização, manutenção
Próximos Passos
Capítulo 10.2: yum/dnf (Red Hat/CentOS)
Capítulo 10.3: Compilação a partir do código-fonte
Capítulo criado em: Dezembro 2024