Pular para o conteúdo principal

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 apt para 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