Você pode fazer isso modificando seu arquivo / etc / apt / preferences; é comumente referido como "APT pinning". Aqui estão alguns guias com detalhes:
Se eu tiver dois repositórios listados em minhas sources.list ou sources.list.d, há uma maneira de dizer ao apt qual é o preferido?
Meu caso de uso exato é se um pacote é encontrado no repositório da intranet e no repositório remoto eu quero sempre usar o da intranet. Agora parece escolher aleatoriamente entre os dois.
Deve bastar listar primeiro a origem da intranet, em sources.list
. De acordo com o manual:
É importante listar as fontes em ordem de preferência, com a fonte mais preferida listada primeiro. Normalmente, isso resultará na classificação por velocidade do mais rápido para o mais lento (CD-ROM seguido por hosts em uma rede local, seguido por hosts da Internet distantes, por exemplo).
De uma olhada superficial na fonte, sources.list
é percorrido primeiro e, em seguida, os arquivos em sources.list.d
em uma ordem que você não pode controlar.
Supondo que seu repositório de pacotes está em repo.company.net
, crie um arquivo chamado, por exemplo. /etc/apt/preferences.d/company-pinning
contendo o seguinte fará o truque:
Package: *
Pin: origin repo.company.net
Pin-Priority: 600
A prioridade padrão é 500
, então isso preferirá a versão mais recente do servidor de intranet.
Tags apt repository