Como depurar do-release-upgrade “não foi possível determinar o upgrade”

1

Estou tentando atualizar o Ubuntu e estou recebendo o seguinte erro de do-release-upgrade :

Calculating the changes

Could not determine the upgrade 

An unresolvable problem occurred while calculating the upgrade. 

This can be caused by: 
* Upgrading to a pre-release version of Ubuntu 
* Running the current pre-release version of Ubuntu 
* Unofficial software packages not provided by Ubuntu 

If none of this applies, then please report this bug using the 
command 'ubuntu-bug ubuntu-release-upgrader-core' in a terminal.

Há toneladas de perguntas aqui sobre essa mensagem, mas todas elas são sobre problemas específicos e, na maioria dos casos, as respostas são apenas suposições ("tente remover X").

A maioria das respostas se baseia em olhar para grep Broken /var/log/dist-upgrade/apt.log , mas, como outros apontaram, lista muitos pacotes para os quais o desenvolvedor realmente encontrou uma solução:

Investigating (0) perl-base [ amd64 ] < 5.18.2-2ubuntu1.3 -> 5.22.1-9ubuntu0.2 > ( perl )
Broken perl-base:amd64 Breaks on perl-modules [ amd64 ] < 5.18.2-2ubuntu1.3 > ( perl ) (< 5.22.1~)
  Considering perl-modules:amd64 7 as a solution to perl-base:amd64 5277
  Added perl-modules:amd64 to the remove list
  Fixing perl-base:amd64 via remove of perl-modules:amd64
  MarkDelete perl-modules [ amd64 ] < 5.18.2-2ubuntu1.3 > ( perl ) FU=0

Então, minha pergunta é: como leio esse arquivo? Eu quero saber como descobrir especificamente qual pacote está causando o problema.

Existe alguma documentação que explique este arquivo de log?

  1. O que significa Investigating (0) , Investigating (1) etc? No meu arquivo de log, isso vai até (9) . O que isso significa?
  2. Quando diz Broken X Breaks on Y , qual pacote está atualmente instalado e qual está sendo atualizado?
  3. Quando diz Considering X as a solution to Y , por que diz Adding X to the remove list ? Se X é a solução, não deveria estar removendo Y?
  4. Se diz Holding Back X rather than change Y , como descubro porquê?
  5. Eu percebo que isso provavelmente está funcionando através de uma cadeia de dependências até que encontre uma solução ou desista. Nesse caso, eu deveria estar olhando para o first package in the list , the first package with an error ou the last package in the list ?
por SystemParadox 29.01.2018 / 11:53

1 resposta

0

A resposta parece ser "procure em /var/log/dist-upgrade/main.log ":

2018-01-29 11:10:40,663 DEBUG blacklist expr '^postgresql-.*[0-9]\.[0-9].*' matches 'postgresql-9.3-postgis-2.1'
2018-01-29 11:10:40,663 DEBUG The package 'postgresql-9.3-postgis-2.1' is marked for removal but it's in the removal blacklist
2018-01-29 11:10:40,732 ERROR Dist-upgrade failed: 'The package 'postgresql-9.3-postgis-2.1' is marked for removal but it is in the removal blacklist.'

Depois de remover o postgis, a atualização pode continuar.

Eu gostaria que do-release-upgrade acabasse de relatar esses erros em sua saída principal.

Parece que todas as mensagens quebradas em apt.log estavam funcionando apenas com as dependências, mas na verdade encontrou uma solução para todas elas.

    
por SystemParadox 29.01.2018 / 12:49