Skip to content
Sistema

Escolha uma versão de pacote Debian com apt-cache policy

Avatar illustré de Julien Macé 3 min read
Paquet Debian inspecté à la loupe avant une mise à jour APT
Une lecture de la candidate et de son dépôt précède une mise à jour ciblée.

Você está preparando uma atualização no Debian ou Ubuntu, e então nota que um pacote oferece uma versão inesperada. Antes de executar apt upgrade ou forçar uma versão específica, apt-cache policy mostra a versão instalada, a candidata e os repositórios que a oferecem.

O objetivo é decidir com informações visíveis. Você vai ler a configuração do APT, comparar as versões de um pacote, simular a instalação e parar se o repositório ou as dependências não corresponderem à mudança esperada.

Pacote Debian inspecionado com uma lupa antes de uma atualização APT
Uma leitura da candidata e de seu repositório precede uma atualização direcionada.

Leia os repositórios antes de olhar para um pacote

Uma versão candidata vem das fontes APT ativas. Em Debian recente, elas podem ser descritas em /etc/apt/sources.list, em arquivos .list ou em arquivos .sources localizados em /etc/apt/sources.list.d/. Um repositório de teste, um espelho corporativo ou uma fonte adicionada para um software pode modificar a escolha do APT.

grep -R --line-number --no-messages 
  -e '^deb ' -e '^Types:' -e '^URIs:' -e '^Suites:' 
  /etc/apt/sources.list /etc/apt/sources.list.d/

Revise a URL, a versão do Debian ou Ubuntu e o componente indicado. Não adicione uma fonte encontrada em um fórum para obter uma versão mais recente. Se os arquivos mudaram desde a última atualização dos índices, execute sudo apt update apenas após ter validado esse perímetro.

Comparar a versão instalada, candidata e disponível

Escolha um pacote que esteja realmente presente em seus repositórios, por exemplo curl. O comando a seguir não altera nada. Ele exibe a versão instalada, a versão candidata e uma tabela de prioridades por repositório.

apt-cache policy curl
apt-cache madison curl
apt list --upgradable

No apt-cache policy, Installed designa a versão já instalada. Candidate é a que o APT escolheria com sua configuração atual. As linhas da tabela indicam a origem e a prioridade de cada versão conhecida. apt-cache madison fornece uma visão curta das versões e de seus arquivos. O último comando serve para verificar se o pacote realmente está entre as atualizações propostas.

Uma candidata diferente não prova que uma atualização é apropriada. Uma versão pode vir de uma suíte de segurança, de um backport ou de um repositório de terceiros. Para confirmar o ambiente antes de uma intervenção mais ampla, o guia Versão do Debian: os comandos confiáveis para verificar antes de uma atualização ajuda a revisar a distribuição e seu número de versão.

Simular a instalação antes de escolher uma versão

Quando a candidata parece coerente, primeiro solicite uma simulação ao APT. A opção -s lista os pacotes a serem instalados, atualizados ou removidos sem escrever no sistema.

sudo apt-get -s install curl
sudo apt-get -s install curl=VERSAO_LIDA_NO_MADISON

Substitua VERSAO_LIDA_NO_MADISON por uma versão exibida pela sua própria máquina. A simulação deve permanecer limitada ao pacote previsto e a dependências esperadas. Se ela sugerir remover um pacote de produção, mudar de suíte Debian ou instalar uma longa cadeia inesperada, não execute o comando real.

O comando real mantém a mesma sintaxe, sem -s. Em um servidor, eu escolheria uma janela de manutenção quando o pacote afetar um serviço de rede, uma biblioteca usada por vários aplicativos ou o núcleo. A lista APT não diz por si só se será necessário um reinício ou um teste de aplicativo.

Quando a candidata não corresponde à mudança esperada

Evite corrigir esse caso com um apt install pacote=versao lançado aleatoriamente. Reexamine a saída de apt-cache policy, identifique o repositório que oferece a candidata e verifique os arquivos de preferências APT se sua máquina os utilizar.

grep -R --line-number --no-messages . /etc/apt/preferences /etc/apt/preferences.d/
apt-cache policy curl
apt-cache showpkg curl

Uma regra de pinning pode alterar a prioridade de um arquivo. Um pacote mantido em hold também permanece fora de uma atualização normal. O assunto é distinto da leitura de uma candidata, mas bloquear a atualização de um pacote Debian e depois remover o hold explica como controlar esse bloqueio sem confundir um hold com uma preferência APT.

Para um arquivo .deb baixado localmente, passe em vez disso por apt install ./pacote.deb quando os repositórios estiverem acessíveis. O APT poderá então resolver as dependências. O guia Dpkg no Linux: instalar um pacote .deb sem bloquear o APT por trás cobre esse caso separadamente.

apt-cache policy é um comando de leitura. Mantenha essa etapa antes de cada mudança específica: repositório legível, candidata identificada, simulação limpa e depois apenas a instalação. Se a origem da versão permanecer ambígua, corrija primeiro as fontes ou as preferências APT.

A página de manual do Debian apt-cache(8) detalha os subcomandos e as prioridades exibidas pela política APT.

Share Facebook X WhatsApp LinkedIn Pinterest Reddit Email