unstable apt-pinning definido como -1 em Debian estável

1

Isto é como o meu /etc/apt/sources.list se parece no Debian 8.1:

#### stable  #########
deb http://httpredir.debian.org/debian stable main contrib non-free
deb-src http://httpredir.debian.org/debian stable main contrib non-free
deb http://httpredir.debian.org/debian stable-backports main contrib non-free
deb-src http://httpredir.debian.org/debian stable-backports main contrib non-free
deb http://httpredir.debian.org/debian stable-updates main contrib non-free
deb-src http://httpredir.debian.org/debian stable-updates main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
deb-src http://security.debian.org stable/updates main contrib non-free
#### unstable #########
deb http://httpredir.debian.org/debian unstable main contrib non-free
deb-src http://httpredir.debian.org/debian unstable main contrib non-free

É assim que meu /etc/apt/preferences se parece:

Package: *
Pin: release a=unstable
Pin-Priority: -1

A minha pergunta é, qual é o cenário quando instalo o foo 1.9.2 com $ sudo apt-get -y -t unstable install foo e, no futuro, o canal estável obtém uma versão mais nova, por exemplo, 1.9.5? Meu aplicativo (e todas as suas dependências) será atualizado quando eu fizer esse comando?

$ apt-get -y update && time apt-get -y dist-upgrade

ATUALIZAÇÃO:

Este é o método de instalação sugerido no site nginx. Isto irá atualizar dois pacotes da fonte instável, o mesmo para o meu método:

/etc/apt/sources.list.d/nginx.list

deb http://nginx.org/packages/mainline/debian/ jessie nginx
deb-src http://nginx.org/packages/mainline/debian/ jessie nginx

/ etc / apt / preferences

Package: *
Pin: release a=nginx
Pin-Priority: 900

.

The following packages will be upgraded: libssl1.0.0 perl-base

libssl1.0.0 (1.0.2c-1 Debian:unstable [amd64])
perl-base [5.20.2-3+deb8u1] (5.20.2-6 Debian:unstable [amd64])

Meu método me dá a oportunidade para outros aplicativos. O caminho do nginx apenas atualizando o nginx, mais o arquivo de preferências que precisa de mais linhas.

    
por Lanti 28.06.2015 / 21:15

1 resposta

1

Com este pin, uma versão da unstable nunca será instalada, a menos que você solicite explicitamente. Por exemplo, se a versão 1.9.2 da unstable estiver instalada e a unstable agora tiver 1.9.5, apt-get upgrade não atualizará o pacote.

Se a versão em mudanças estáveis, ela será instalada desde que seja mais recente que a versão instalada. Se 1.9.5 entrar estável, será instalado. Mas se o stable for atualizado de 1.8.1 para 1.8.2, o 1.8.2 não será instalado em seu sistema (novamente, exceto por solicitação explícita). O Apt não fará o downgrade automaticamente, a menos que a versão mais antiga tenha prioridade acima de 1000, independentemente da prioridade da versão instalada - quando um pacote é instalado, a versão instalada tem prioridade de 500, independentemente de como ele foi instalado. >

O mesmo vale para dependências. Se o 1.9.5 entrar instável e você solicitar explicitamente sua instalação, o pacote será atualizado para o 1.9.5, mas somente se as dependências forem satisfeitas pelo que já está instalado (ou pacotes do stable), caso contrário o apt irá reclamar sobre dependências não resolvidas. Se a versão mais nova depender da versão mais recente de outro pacote da unstable, o outro pacote só será instalado também por solicitação explícita.

    
por 29.06.2015 / 01:20

Tags