Como evito que o apt-get atualize os pacotes construídos a partir da origem com o pinning adequado? [duplicado]

3

Eu tenho um pacote instalado (xcp-xapi) que é propenso a um bug. A correção é muito simples (apenas algumas linhas no código), então o que eu faço é o seguinte:

apt-get source xcp-xapi

Depois, encontro o arquivo de origem para aplicar a correção e depois executo novamente

apt-get -b source xcp-xapi

Isso produzirá alguns arquivos .deb que eu instalo usando

dpkg -i *.deb

Agora, o problema é que toda vez que tento executar uma atualização do apt-get, o apt tenta buscar os pacotes dos repositórios. Eu acho que isso pode ser corrigido usando pinning, mas não consigo encontrar a configuração adequada para colocar em alta prioridade os pacotes que eu compilei sozinho.

Então a questão é como eu posso configurar o pinning para colocar os seguintes pacotes já instalados em uma prioridade mais alta do que qualquer existente nos repositórios?

# apt-cache policy xcp-networkd xcp-v6d xcp-xapi xcp-xapi-debug
xcp-networkd:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-v6d:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-xapi:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-xapi-debug:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
    
por Vangelis Tasoulas 28.06.2013 / 20:19

2 respostas

2

Eu não sei se esta é a solução correta, mas tentando diferentes configurações de pinagem, eu acabei fazendo isso funcionar assim:

crie o arquivo /etc/apt/preferences.d/xcp-xapi com o seguinte conteúdo:

Package: xcp-networkd
Pin: release n=precise
Pin-Priority: -1

Package: xcp-v6d
Pin: release n=precise
Pin-Priority: -1

Package: xcp-xapi
Pin: release n=precise
Pin-Priority: -1

Package: xcp-xapi-debug
Pin: release n=precise
Pin-Priority: -1

Pelo que entendi, dar prioridade negativa ao pacote específico do repositório específico significa não se incomodar com este pacote, portanto, mantenha a versão atual instalada. Se alguém puder explicar melhor ou fornecer uma solução "mais correta", eu agradeceria. Obrigada!

    
por Vangelis Tasoulas 28.06.2013 / 20:28
0

Uma maneira também pode ser enviar um relatório de bug e patch para os desenvolvedores do xcp-xapi, e com o tempo o bug pode ser corrigido nos repositórios. Então você pode instalar a versão do repositório novamente. Dito isso, talvez seja necessária alguma paciência antes que os repositórios sejam atualizados.

    
por hetepeperfan 28.06.2013 / 20:28