Is there a way I can specify on my script to prefer particular repository regardless of version?
Você deve fixar a fonte externa usando a opção origin
para atribuir uma alta prioridade a "fonte externa" em vez de usar o nome release
.
e, g: Adicione as seguintes linhas ao seu /etc/apt/preferences.d/preferences
:
Package: *
Pin: origin deb.nodesource.com
Pin-Priority: 1001
O apt-cache policy nodejs
será:
Candidate: 8.11.2-1nodesource1
Version table:
8.11.2-1nodesource1 1001
1001 https://deb.nodesource.com/node_8.x sid/main amd64 Packages
8.11.2~dfsg-1 500
500 http://deb.debian.org/debian sid/main amd64 Packages
O pacote nodejs
será instalado de nodsource.com
a apt install nodejs
Geralmente, se você adicionar a fonte nodejs (usando o script de configuração), o pacote nodejs
será instalado a partir de nodesource.com
sem adicionar o nome completo do pacote a apt
ou usando o modo de fixação. (pode ser um problema e você pode reportá-lo aqui ).
Se o pacote estiver disponível em múltiplos repositórios (repositório debian e repositório externo) você pode usar a tag de lançamento debian para instalar o pacote do repositório debian . digamos que o nodejs
esteja fixado em 1001
e você precise instalar o pacote do debian Sid:
apt install nodejs/unstable
Editar
O pacote nodejs
está fixado em 990 e será instalado a partir do repositório debian. remova o nodejs do seu arquivo preferences
e execute:
apt update
apt install nodejs
O pacote nodejs deve ser instalado a partir do repositório nodesource.