Substitui temporariamente o pacote do sistema

0

Estou trabalhando com um sistema que requer um alto nível de precisão para horários / fusos horários.

Olhando para o pacote tzdata as vezes ele é atualizado alguns dias após o IANA atualiza seu arquivo de banco de dados.

Verificar a origem de tzdata , fazer o download e extrair o banco de dados da IANA e reempacotar é suficiente.

No entanto, só quero substituir o pacote enquanto não houver uma atualização oficial. Assim que houver uma atualização oficial para tzdata dos repositórios, eu gostaria que ela fosse revertida para isso.

Qual a melhor forma de conseguir isso?

    
por Mark 16.02.2017 / 13:15

2 respostas

2

Você precisa usar um número de versão que classifica antes de qualquer número de versão que a versão empacotada acabará usando. A maneira canônica de fazer isso para uma versão local é usar um ~ sufixo, desde que classifica antes de qualquer coisa (e, portanto, é considerado mais antigo): para 2017a, você usaria o número da versão 2017a ~ -0.1 (-0.1 porque é um pacote não oficial de uma nova versão). Isso classifica após o lançamento atual:

$ dpkg --compare-versions 2016j-0ubuntu0.16.04 lt 2017a~-0.1
$ echo $?
0

por isso, ele será escolhido como um candidato a upgrade e será classificado antes do próximo lançamento:

$ dpkg --compare-versions 2017a~-0.1 lt 2017a-0ubuntu0.16.04
$ echo $?
0

então o próximo lançamento oficial irá substituí-lo.

Este esquema funciona independentemente da fonte do próximo tzdata update (Debian ou Ubuntu).

A seção sobre as versões da Política Debian contém todos os detalhes.

    
por 16.02.2017 / 13:27
0

Você precisará conferir Fixar a versão

Aqui está uma outra questão relacionada a ele

Vai ser difícil usar pinagem para bloquear temporariamente até uma versão principal.

Você pode usar o apt hold para impedir que um pacote seja atualizado, para que você possa adicionar uma retenção usando sudo apt-mark hold tzdata para manter o pacote em sua versão atual até saber que há uma atualização desejada e, em seguida, usar sudo apt-mark unhold tzdata e atualizar

    
por 16.02.2017 / 13:29