Qual é a sintaxe apropriada para fixar um pacote debian em um repositório e uma versão?

4

Estou tentando instalar uma versão anterior do subversion em snapshot.debian.org, conforme descrito em Como instalar a versão anterior de um pacote .deb e defini-lo? . Eu configurei o repositório e o pinning como acredito estar correto, mas ele não está funcionando como eu esperava, como mostra a saída apt-cache-policy . Onde estão os erros?

/etc/apt/sources.list.d/snapshots.list

# snapshots.debian.org                                          
# added for subversion 1.9.2 subversion bug #803725             
deb http://snapshot.debian.org/archive/debian unstable main 

/etc/apt/preferences.d/subversion

Package: subversion
Pin: origin snapshot.debian.org
Pin: version 1.9.2-1
Pin-Priority: 700

apt-cache policy subversion

subversion:
  Installed: (none)
  Candidate: 1.9.2-3
  Package pin: (not found)
  Version table:
     1.9.2-3 700
        500 http://http.debian.net/debian/ unstable/main amd64 Packages
    
por vfclists 10.11.2015 / 13:49

1 resposta

3

Eu acho que o problema é que você não pode usar o snapshot.debian.org diretamente como fonte de pacotes. Para ver isso, selecione um URL desse site como a fonte em sources.list, por exemplo,

deb http://snapshot.debian.org/archive/debian/20151018T155352Z/ testing main
deb-src http://snapshot.debian.org/archive/debian/20151018T155352Z/ testing main

(comentando as outras configurações) e fazendo

apt-get update

forçá-lo a usar somente essa fonte (como feito em Faça downgrade e force alguns pacotes no Debian para uma versão anterior ). Quando faço isso, recebo

$ apt-get update
Hit http://snapshot.debian.org testing InRelease
E: Release file for http://snapshot.debian.org/archive/debian/20151018T155352Z/dists/testing/InRelease is expired (invalid since 16d 9h 47min 8s). Updates for this repository will not be applied.

Esse foi o último instantâneo antes do lançamento da versão 1.9.2-2. Em vez disso, encontrado em uma lista de discussão, responda Re: O Plasma 5 não inicia após a atualização Stretch de Matthias Bodenbinder, ele sugeriu

  • fazendo o download da versão específica necessária
  • instale o pacote, por exemplo, usando dpkg
  • pin o pacote (agora instalado) (o exemplo dele não usa origem ).

Para testar as instruções, usei esses links da versão inicial do subversion_1.9.1-1:

e instalou-os:

$ dpkg -i libsvn1_1.9.1-1_amd64.deb subversion-tools_1.9.1-1_amd64.deb subversion_1.9.1-1_amd64.deb
dpkg: warning: downgrading libsvn1:amd64 from 1.9.2-2 to 1.9.1-1
(Reading database ... 371500 files and directories currently installed.)
Preparing to unpack libsvn1_1.9.1-1_amd64.deb ...
Unpacking libsvn1:amd64 (1.9.1-1) over (1.9.2-2) ...
Preparing to unpack subversion-tools_1.9.1-1_amd64.deb ...
Unpacking subversion-tools (1.9.1-1) over (1.9.1-1) ...
Preparing to unpack subversion_1.9.1-1_amd64.deb ...
Unpacking subversion (1.9.1-1) over (1.9.1-1) ...
Setting up libsvn1:amd64 (1.9.1-1) ...
Setting up subversion (1.9.1-1) ...
Setting up subversion-tools (1.9.1-1) ...
Processing triggers for libc-bin (2.19-22) ...
Processing triggers for man-db (2.7.4-1) ...

Então (em /etc/apt/preferences.d/subversion ):

Package: libsvn1
Pin: version 1.9.1-1
Pin-Priority: 1000

Package: subversion-tools
Pin: version 1.9.1-1
Pin-Priority: 1000

Package: subversion
Pin: version 1.9.1-1
Pin-Priority: 1000

e finalmente

$ apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://ftp.us.debian.org/debian/ testing-updates/main Translation-en
 500 http://ftp.us.debian.org/debian/ testing-updates/main amd64 Packages
     release o=Debian,a=testing-updates,n=stretch-updates,l=Debian,c=main
     origin ftp.us.debian.org
 500 http://security.debian.org/ testing/updates/main Translation-en
 500 http://security.debian.org/ testing/updates/main amd64 Packages
     release o=Debian,a=testing,n=stretch,l=Debian-Security,c=main
     origin security.debian.org
 500 http://ftp.us.debian.org/debian/ testing/main Translation-en
 500 http://ftp.us.debian.org/debian/ testing/main amd64 Packages
     release o=Debian,a=testing,n=stretch,l=Debian,c=main
     origin ftp.us.debian.org
Pinned packages:
     subversion -> 1.9.1-1
     libsvn1 -> 1.9.1-1
     subversion-tools -> 1.9.1-1
    
por 11.11.2015 / 02:12