O número da versão do meu pacote aparece maior ainda O apt-get não o seleciona

2

Histórico:

Foi determinado que, ao usar as VMs do contêiner lxc, o script de encerramento do Nagios nrpe, quando executado no host dos contêineres, eliminaria os processos nrpe dentro dos contêineres. Isso foi corrigido alterando o script para usar pidfiles em vez de pesquisar a tabela de processos para o processo nrpe.

Lamentavelmente start-stop-daemon é um programa em C que resultou da tradução de um script Perl e é mostrado. Existem muitas variáveis globais em start-stop-daemon.c e, embora existam alguns bons blocos de comentários, há poucos comentários que explicam a intenção por trás de nomes de variáveis como "agenda" (a sequência "agenda" aparece em muitos contextos.) A página de manual para start-stop-daemon sugere strongmente que a menos que você use a opção "--retry" o programa start-stop-daemon pode retornar antes do processo que enviou um sinal para realmente chamar exit () e termina , no entanto, na verdade não diz isso em linguagem simples.

A obtusidade de start-stop-daemon é provavelmente a razão pela qual a versão "fixa" do script inclui um comentário duvidoso indicando que às vezes o arquivo pid não foi removido. Eu posso ver facilmente porque alguém não entenderia que ele deixou a opção --retry faltando. Esse bug também causa falhas quando o script recebe a opção "restart"; o daemon nrpe será encerrado, mas não será iniciado novamente.

Eu mencionei que, desde a aplicação da atualização, nossos servidores nrpe começaram a falhar várias vezes? Reparar isso é porque estou fazendo esse trabalho.

Eu tenho trabalhado na correção da correção. Você pode ver meu trabalho atual em este PPA .

Pergunta atual:

O número da versão upstream do nagios-nrpe-server em lucid-updates é

2.12-4ubuntu1.10.04.1

Meu PPA usa esse número de versão

2.12-4ubuntu1.10.04.1.1~ppa1~lucid1

Eu verifico as regras aqui e uso este programa de teste e sou levado a acreditar que o número da versão que eu uso no meu PPA é maior do que o das atualizações lúcidas ainda quando eu correu:

sudo add-apt-repository ppa:nutznboltz/nrpe-unbreak-lp-600941
sudo apt-get update
sudo aptitiude dist-upgrade

O pacote de substituição não foi instalado.

Consegui instalá-lo usando

sudo aptitude install nagios-nrpe-server=2.12-4ubuntu1.10.04.1.1~ppa1~lucid1

Alguém pode explicar esse comportamento? Por que o número da minha versão não parece maior para "aptitude dist-upgrade"?

Obrigado

$ cat /etc/apt/preferences
Package: *
Pin: release a=lucid-backports
Pin-Priority: 400

Package: *
Pin: release a=lucid-security
Pin-Priority: 990

Package: *
Pin: release a=lucid-updates
Pin-Priority: 900

Package: *
Pin: release a=lucid-proposed
Pin-Priority: 400
$ ls /etc/apt/preferences.d/
$

Não deve fazer nenhuma diferença, pois um PPA não pode estar em nenhum desses bolsos.

Eu fui em frente e tirei o número da versão no PPA para 2.12-4ubuntu1.10.04.2~ppa1~lucid1 . Vou ver se isso faz diferença.

Eu noto que lintian reclama:

W: nagios-nrpe-server: debian-revision-not-well-formed 2.12-4ubuntu1.10.04.2~ppa1~lucid1
    
por nutznboltz 23.11.2011 / 14:51

1 resposta

5

Você pode verificar se uma versão do pacote é maior que outra usando dpkg --compare-versions <version_1> gt <version_2> :

$ dpkg --compare-versions 2.12-4ubuntu1.10.04.1.1~ppa1~lucid1 gt 2.12-4ubuntu1.10.04.1
$ echo $?
0

Após essa verificação, você deve verificar com apt-cache policy <package> que a versão candidata não é a esperada. Um possível motivo pode ser que a versão do pacote esteja sendo mantida. Nesse caso, apt-get --ignore-hold deve corrigir o problema.

    
por jcollado 23.11.2011 / 15:12