如何调试 do-release-upgrade“无法确定升级”

如何调试 do-release-upgrade“无法确定升级”

我正在尝试升级 ubuntu,但收到以下错误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.

这里有大量有关此消息的问题,但所有问题都是有关具体问题的,并且大多数情况下答案只是猜测(“尝试删除 X”)。

大多数答案都是基于查看grep Broken /var/log/dist-upgrade/apt.log,但正如其他人指出的那样,这列出了升级程序确实找到解决方案的许多软件包:

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

所以,我的问题是,我该如何读取这个文件?我想知道具体是哪个包导致了这个问题。

有任何文档可以解释这个日志文件吗?

  1. Investigating (0)、 、 等是什么Investigating (1)意思?在我的日志文件中,这个数字上升到(9)。这是什么意思?
  2. 当它说Broken X Breaks on Y,哪个包当前已安装以及哪个包正在升级?
  3. 当它说的时候Considering X as a solution to Y,为什么会这样说Adding X to the remove list?如果 X 是解决方案,难道不应该删除 Y 吗?
  4. 如果说Holding Back X rather than change Y,我该如何找出原因?
  5. 我意识到这可能正在通过一系列依赖关系进行工作,直到找到解决方案或放弃。在这种情况下,我应该查看first package in the listthe first package with an errorthe last package in the list

答案1

答案似乎是“查看/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.'

删除 postgis 后,升级就可以继续。

我希望do-release-upgrade只在其主输出上报告这些错误。

看起来所有的损坏消息apt.log都只是通过依赖关系起作用,但事实上它确实找到了所有问题的解决方案。

相关内容