Pular para o conteúdo principal

Lab 10.1 - Instalação e Uso do apt

Objetivos do Lab​

Ao final deste lab, você será capaz de:

  • Usar o apt para instalar pacotes
  • Atualizar o sistema Ubuntu 24.04
  • Gerenciar repositórios
  • Resolver problemas de dependências
  • Pesquisar e obter informações sobre pacotes

Duração Estimada​

30-45 minutos

Pré-requisitos​

  • Ubuntu 24.04 instalado e funcional
  • Acesso sudo
  • Conexão com a Internet
  • Terminal aberto

Exercício 1: Atualização do Sistema​

Etapa 1: Atualizar a Lista de Pacotes​

# Atualizar a lista de pacotes disponíveis
sudo apt update

# Ver os pacotes que podem ser atualizados
apt list --upgradable

Etapa 2: Atualizar os Pacotes​

# Atualizar todos os pacotes instalados
sudo apt upgrade

# Atualização completa (inclui mudanças de dependências)
sudo apt full-upgrade

# Atualizar sem confirmação
sudo apt upgrade -y

Etapa 3: Verificar as Atualizações​

# Ver os pacotes que podem ser atualizados
apt list --upgradable

# Ver informações de atualização
apt show nom-paquet

Exercício 2: Instalação de Pacotes​

Etapa 1: Instalação Simples​

# Instalar um pacote
sudo apt install htop

# Instalar vários pacotes
sudo apt install vim git curl

# Instalar sem confirmação
sudo apt install -y nom-paquet

Etapa 2: Instalação de Versão Específica​

# Ver as versões disponíveis
apt-cache madison nom-paquet

# Instalar uma versão específica
sudo apt install nom-paquet=version

# Exemplo
sudo apt install nginx=1.18.0-0ubuntu1.4

Etapa 3: Instalação a partir de Arquivo .deb​

# Baixar um .deb
wget https://example.com/paquet.deb

# Instalar
sudo apt install ./paquet.deb

# Ou com dpkg
sudo dpkg -i paquet.deb
sudo apt install -f # Resolver dependências

Exercício 3: Pesquisa e Informações​

Etapa 1: Pesquisar Pacotes​

# Pesquisar por nome
apt search nginx

# Pesquisar por descrição
apt search "web server"

# Pesquisa exata
apt search --names-only nginx

Etapa 2: Informações sobre Pacotes​

# Informações detalhadas
apt show nginx

# Dependências
apt depends nginx

# Pacotes que dependem de nginx
apt rdepends nginx

# Conteúdo de um pacote
dpkg -L nginx

Etapa 3: Listagem de Pacotes​

# Pacotes instalados
apt list --installed

# Pacotes disponíveis
apt list --available

# Pacotes que podem ser atualizados
apt list --upgradable

Exercício 4: Gerenciamento de Repositórios​

Etapa 1: Ver Repositórios​

# Ver as fontes
cat /etc/apt/sources.list

# Ver fontes adicionais
ls /etc/apt/sources.list.d/

# Ver todas as fontes
cat /etc/apt/sources.list.d/*.list

Etapa 2: Adicionar um Repositório​

# Método 1: Arquivo em sources.list.d/
echo "deb http://repo.example.com/ubuntu noble main" | \
sudo tee /etc/apt/sources.list.d/mon-repo.list

# Adicionar a chave GPG
wget -qO - http://repo.example.com/key.gpg | sudo apt-key add -

# Atualizar
sudo apt update

Etapa 3: Repositório PPA (Ubuntu)​

# Adicionar um PPA
sudo add-apt-repository ppa:nom/ppa

# Remover um PPA
sudo add-apt-repository --remove ppa:nom/ppa

# Atualizar
sudo apt update

Exercício 5: Remoção e Limpeza​

Etapa 1: Remover Pacotes​

# Remover um pacote (mantém a configuração)
sudo apt remove nom-paquet

# Remover pacote e configuração
sudo apt purge nom-paquet

# Remover vários pacotes
sudo apt remove paquet1 paquet2 paquet3

Etapa 2: Limpeza​

# Remover dependências não utilizadas
sudo apt autoremove

# Limpar o cache
sudo apt clean

# Limpeza automática
sudo apt autoclean

# Limpar tudo
sudo apt autoremove -y
sudo apt autoclean

Exercício 6: Resolução de Problemas​

Etapa 1: Dependências Quebradas​

# Reparar dependências
sudo apt --fix-broken install

# Reparar completamente
sudo apt --fix-missing install
sudo dpkg --configure -a

Etapa 2: Cache Corrompido​

# Limpar o cache
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*

# Reconstruir o cache
sudo apt update

Etapa 3: Pacote Travado​

# Ver processos usando um pacote
sudo lsof | grep nom-paquet

# Forçar reinstalação
sudo apt install --reinstall nom-paquet

Exercício 7: Prática Completa​

Etapa 1: Instalação de um Servidor Web​

# Instalar nginx
sudo apt update
sudo apt install -y nginx

# Verificar a instalação
systemctl status nginx
nginx -v

# Ver os arquivos instalados
dpkg -L nginx | head -20

Etapa 2: Atualização do Sistema​

# Script de atualização completa
cat > update-system.sh << 'EOF'
#!/bin/bash
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 "Concluído!"
EOF

chmod +x update-system.sh
./update-system.sh

Verificação​

Checklist​

Verifique se você consegue:

  • Atualizar o sistema (apt update, upgrade)
  • Instalar pacotes (apt install)
  • Pesquisar pacotes (apt search)
  • Ver informações (apt show)
  • Gerenciar repositórios
  • Remover pacotes (apt remove, purge)
  • Limpar o sistema (autoremove, clean)
  • Resolver problemas de dependências

Perguntas para Reflexão​

  1. Qual a diferença entre apt update e apt upgrade?

    • update: Atualiza a lista de pacotes disponíveis
    • upgrade: Atualiza os pacotes instalados
  2. Por que usar apt autoremove?

    • Remove dependências não utilizadas
    • Libera espaço em disco
  3. Quando usar apt purge vs apt remove?

    • remove: Remove o pacote, mantém a configuração
    • purge: Remove o pacote e a configuração

Próximos Passos​

  • Lab 10.2: Gerenciamento de Repositórios
  • Lab 10.3: Compilação a partir do Código-Fonte
  • Lab 10.4: Snap e Flatpak
  • Capítulo 10.1: apt (Debian/Ubuntu)

Recursos Ubuntu 24.04​

  • Pacotes Ubuntu
  • man apt - Documentação apt
  • apt-cache search - Pesquisa avançada

Lab criado em: Dezembro de 2024 - Testado no Ubuntu 24.04