apt fixar quando dois pacotes têm números de versão muito semelhantes

0

Eu tenho uma instalação precise , mas também estou recebendo pacotes de quantal e raring . Meu problema é com os pacotes linux-image-* .

Eu quero rodar o kernel 3.5, e para acompanhar o kernel mais recente nessa série, eu quero linux-image-generic de quantal . Quer instalar linux-image-3.5.0-xx-generic e linux-image-extra-3.5.0-xx-generic . Até aí tudo bem.

Meu problema é que precise-updates também contém linux-image-3.5.0-xx-generic com o mesmo número de versão e mais ~precise1 . Este não é compatível com linux-image-extras-3.5.0-xx-generic , porque os layouts de pacotes em precise e quantal são diferentes - quantal divide os módulos em um pacote principal e um pacote -extras , mas em precise há somente um grande pacote principal.

Agora, tentei fixar os kernels em quantal com estas linhas:

Package: linux-image-3.5*
Pin: release n=quantal
Pin-Priority: 600

Package: linux-image-generic
Pin: release n=quantal
Pin-Priority: 600

Eu pensei que isso teria resolvido o problema e priorizado, e. quantal ' 3.5.0-21.32 over precise ' 3.5.0-21.32~precise1 . Mas parece que a fixação de fato finalmente resolve para versões, não para arquivos (o Pin parece ser meramente um filtro para selecionar um número de versão), e essas duas versões são consideradas em algum sentido a mesma versão. No final, sempre prefere o pacote errado.

$ apt-cache policy linux-image-3.5.0-21-generic
linux-image-3.5.0-21-generic:
  Installed: (none)
  Candidate: 3.5.0-21.32~precise1
  Package pin: 3.5.0-21.32
  Version table:
     3.5.0-21.32 600
        500 http://hk.archive.ubuntu.com/ubuntu/ quantal-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ quantal-security/main amd64 Packages
     3.5.0-21.32~precise1 600
        990 http://hk.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        990 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages

Mesmo que forneça um Pin específico para precise e defina-o como, digamos, -1 , o pacote precise "intercepta" a fixação do pacote quantal .

Estou acertando o que está por trás dessa confusão? Existe alguma maneira de corrigir isso, ou eu vou ter que literalmente especificar apt-get install linux-image-3.5.0-21-generic/quantal * todas as vezes, como eu faço agora para contornar isso? Isso torna o uso do meta-pacote um pouco inútil, apenas um mecanismo de pesquisa para uma instalação manual.

É claro que remover precise-updates da equação funcionaria, mas eu preferiria continuar especificando o arquivo.

* Por que isso funciona quando a pinagem não funciona? Eu achei que ambos usaram o mesmo mecanismo - que o /blah define temporariamente o prio 990 para uma versão específica. Ímpar.

    
por clacke 21.12.2012 / 09:30

1 resposta

0

Parece que a melhor solução é executar apt-get -t quantal install linux-image-generic . A configuração de prioridade -t parece funcionar de maneira diferente das preferências de fixação e seleciona corretamente a versão quantal sobre a versão precise .

    
por 09.07.2013 / 09:04