Saltar para o conteúdo
101 · LPIC-1 (parte 1)

Gerenciamento de pacotes do Debian

TópicoT07ObjetivoGerenciamento de pacotes do DebianPeso2PáginasLPIC-1 (101) - Version 5.0

Resumo Conciso

dpkg — Ferramenta de Pacotes do Debian

ComandoFunção
dpkg -i PACKAGENAMEInstalar/atualizar um pacote .deb
dpkg -r PACKAGENAMERemover um pacote (mantém configs)
dpkg -P PACKAGENAMERemover pacote e configurações (purge)
dpkg -I FILENAMEInspecionar pacote (versão, dependências, etc.)
dpkg --get-selectionsListar todos os pacotes instalados
dpkg -L PACKAGENAMEListar arquivos instalados por um pacote
dpkg-query -S FILENAMEDescobrir qual pacote possui um arquivo
dpkg-reconfigure PACKAGENAMEReconfigurar pacote instalado
dpkg -i --force-all PACKAGENAMEForçar instalação (perigoso!)

APT — Advanced Package Tool

ComandoFunção
apt-get updateAtualizar índice do pacote
apt-get install PACKAGENAMEInstalar pacote + dependências
apt-get remove PACKAGENAMERemover pacote
apt-get purge PACKAGENAMERemover pacote e configurações
apt-get remove --purge PACKAGENAMERemover pacote e configurações
apt-get upgradeAtualizar todos os pacotes
apt-get upgrade PACKAGENAMEAtualizar um pacote específico
apt-get install -fCorrigir dependências quebradas
apt-get cleanLimpar cache de pacotes
apt-cache search PATTERNBuscar pacote por padrão
apt-cache show PACKAGENAMEExibir informações do pacote
apt-file updateAtualizar cache do apt-file
apt-file search FILENAMEBuscar pacote que contém um arquivo
apt-file list PACKAGENAMEListar conteúdo de um pacote

Equivalentes com apt:

  • apt update = apt-get update
  • apt install = apt-get install
  • apt remove = apt-get remove
  • apt upgrade = apt-get upgrade
  • apt clean = apt-get clean
  • apt search = apt-cache search
  • apt show = apt-cache show

Cache Local

  • Diretório: /var/cache/apt/archives
  • Parcialmente baixados: /var/cache/apt/archives/partial/
  • Limpar: apt-get clean

Arquivo /etc/apt/sources.list

Sintaxe:

bash
tipo URL distribuição componentes

Exemplo:

bash
deb http://us.archive.ubuntu.com/ubuntu/ disco main restricted universe multiverse

Tipos: deb (binários), deb-src (código fonte)

Componentes Ubuntu

ComponenteDescrição
mainCódigo aberto oficialmente suportado
restrictedCódigo fechado oficialmente suportado (drivers)
universeCódigo aberto mantido pela comunidade
multiverseNão suportado, código fechado ou patenteado

Componentes Debian

ComponenteDescrição
mainCompatível com DFSG, sem dependências externas
contribCompatível com DFSG, mas depende de pacotes fora do main
non-freeNão compatível com DFSG
securityAtualizações de segurança
backportsVersões mais recentes de pacotes do main

Diretório /etc/apt/sources.list.d/

  • Arquivos .list com a mesma sintaxe do sources.list
  • Permite adicionar repositórios sem modificar o arquivo principal

Exercícios Exploratórios

Exercício Exploratório 1 — Adicionar repositório fonte

Enunciado: Considere um repositório com pacotes de fontes Debian para a distribuição xenial, hospedado em http://us.archive.ubuntu.com/ubuntu/ e com pacotes para o componente universe. Qual seria a linha correspondente a adicionar a /etc/apt/sources.list?

bash
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe

Essa linha também poderia ser adicionada a um arquivo .list em /etc/apt/sources.list.d/, como xenial_sources.list.

Exercício Exploratório 2 — Arquivo de cabeçalho ausente

Enunciado: Ao compilar um programa, aparece uma mensagem de erro reclamando que o arquivo de cabeçalho zzip-io.h não está presente no seu sistema. Como você pode descobrir qual pacote fornece esse arquivo?

bash
apt-file search zzip-io.h

Exercício Exploratório 3 — Forçar remoção com dpkg

Enunciado: Como podemos ignorar um aviso de dependência e remover um pacote usando dpkg, mesmo que haja pacotes que dependam dele no sistema?

O parâmetro --force-all poderia ser usado, mas isso jamais deve ser feito a menos que se saiba exatamente o que se está fazendo, já que existe um risco enorme de que o sistema seja deixado em um estado inconsistente ou "quebrado".

Exercício Exploratório 4 — Informações com apt

Enunciado: Como é possível obter mais informações sobre um pacote chamado midori usando apt?

bash
apt-cache show midori

Exercício Exploratório 5 — Atualizar índice do pacote

Enunciado: Antes de instalar ou atualizar pacotes com o apt, qual comando deve ser usado para garantir que o índice do pacote esteja atualizado?

apt-get update deve ser usado. Ele baixa os índices mais recentes do pacote dos repositórios descritos no arquivo /etc/apt/sources.list ou no diretório /etc/apt/sources.list.d/.