Mesmo pacote - vários repositórios

11

De qual repositório o Ubuntu escolherá o download de um pacote se o mesmo pacote estiver disponível em mais de um repositório? Suponha que um pacote A foi instalado inicialmente a partir do repositório X e depois adicionei o repositório Y, que também possui o pacote A. Qual repositório será escolhido para atualizar o pacote? Além disso, se eu remover completamente este pacote e tentar reinstalar, qual repositório seria preferido pelo Ubuntu para instalar o pacote?

7_R3X
fonte

Respostas:

12

Por padrão, o pacote com o número de versão mais alto é instalado, independentemente do repositório, a menos que o número da versão seja menor que a versão do pacote atualmente instalada (isso pode acontecer, por exemplo, se você baixou uma versão superior como um .debpacote e o instalei manualmente). No caso muito improvável de que vários repositórios tenham a mesma versão (mais alta) de um pacote, o pacote é instalado daquele que aparece primeiro no sources.listarquivo.

Você pode alterar isso, no entanto, atribuindo uma prioridade diferente a alguns pacotes com base em vários critérios. O parágrafo anterior é verdadeiro com as configurações padrão, porque, por padrão, todos os pacotes têm prioridade 500. Se versões diferentes do pacote têm prioridades diferentes, no entanto, a versão com a prioridade mais alta será instalada e os números de versão serão usados ​​apenas como empate. disjuntores se várias versões tiverem a mesma prioridade (mais alta). Além disso, se o pacote de maior prioridade tiver prioridade de pelo menos 1000, ele será instalado mesmo que sua versão seja menor que a versão atualmente instalada.

As prioridades são gerenciadas /etc/apt/preferencese documentadas man apt_preferences. Veja minha resposta aqui para um exemplo de como eles podem ser usados.

Fkraiem
fonte
Observe que a documentação diz que atribui uma prioridade 990 às versões que pertencem ao release de destino. Portanto, não 500, como você diz aqui ( porque, por padrão, todos os pacotes têm prioridade 500. ) São 500 apenas se não for o destino adequado.
Alexis Wilke
@AlexisWilke Por padrão, não há liberação de destino.
fkraiem