无法将 Ubuntu 16.04.5 LTS 升级到 18.04.1 LTS,因为无法升级 libbluray-bdj

wdb*_*wdb 1 upgrade package-management apt dependencies

我无法从 Ubuntu 16.04.5 LTS 升级到 18.04.1 LTS,因为一个软件包尚未升级 ( libbluray-bdj )。当我尝试升级它时,它无法升级,因为它依赖于一个不可升级的包(libasm-java),因为它没有安装候选。当我尝试删除libbluray-bdj时,它告诉我它将删除我不想做的ubuntu-mate-desktop 。

我之所以通过终端执行升级,是因为我之前通过软件更新程序进行了部分升级(在遇到这些问题之前),并且我不想让我的系统在 16.04.5 和 18.04.1 之间处于部分升级状态。

我只想升级到 18.04.1。谢谢!

以下是我使用的命令及其输出:

lsb_release -a
Run Code Online (Sandbox Code Playgroud)

没有可用的 LSB 模块。
发行商 ID:Ubuntu
描述:Ubuntu 16.04.5 LTS
版本:16.04
代号:xenial

sudo apt update && sudo apt upgrade
Run Code Online (Sandbox Code Playgroud)

1个包可以升级。运行“apt list --upgradable”来查看它。

apt list --upgradable -a
Run Code Online (Sandbox Code Playgroud)

libbluray-bdj/xenial,xenial 1:1.0.2-3~xenial all [可升级自:1:0.9.2-2]
N:有 1 个附加版本。请使用“-a”开关查看

sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)

0 已升级,0 已新安装,0 已删除,0 未升级。

sudo apt-get upgrade -y
Run Code Online (Sandbox Code Playgroud)

以下软件包已被保留:
libbluray-bdj
0 个已升级,0 个新安装,0 个要删除,1 个未升级。

sudo do-release-upgrade
Run Code Online (Sandbox Code Playgroud)

请在升级之前安装适用于您的版本的所有可用更新。

sudo apt-get dist-upgrade libbluray-bdj
Run Code Online (Sandbox Code Playgroud)

正在读取包列表...已完成
构建依赖关系树
正在读取状态信息...已完成
正在计算升级...错误!
某些软件包无法安装。这可能意味着您请求了一种不可能的情况,或者如果您使用的是不稳定的发行版,某些所需的软件包尚未创建或已移出传入。
以下信息可能有助于解决问题:

以下软件包具有未满足的依赖关系:
libbluray-bdj :依赖:libasm-java 但无法安装
E:错误,pkgProblemResolver::Resolve 生成​​中断,这可能是由保留的软件包引起的。

sudo apt-get dist-upgrade libasm-java
Run Code Online (Sandbox Code Playgroud)

正在读取包列表...已完成
构建依赖关系树
正在读取状态信息...已完成
包 libasm-java 不可用,但被另一个包引用。
这可能意味着该包丢失、已过时或只能从其他来源获得

E:软件包“libasm-java”没有安装候选者

 sudo apt-get remove libbluray-bdj
Run Code Online (Sandbox Code Playgroud)

以下软件包将被删除:
libbluray-bdj ubuntu-mate-desktop

我不想删除ubuntu-mate-desktop

更新
以下是 /etc/apt/sources.list 的内容:

$ cat /etc/apt/sources.list  
# deb cdrom:[Ubuntu-MATE 16.04.2 LTS _Xenial Xerus_ - Release amd64 (20170215)]/ xenial main multiverse restricted universe

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ xenial universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe
# deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://security.ubuntu.com/ubuntu xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse
Run Code Online (Sandbox Code Playgroud)

Oli*_*Oli 5

花足够的时间真正吸收Ubuntu,你会遇到这样的依赖问题。

\n\n

我在任何特定时刻都安装了一整船的 PPA,因此升级通常非常有趣。这不是你的问题 \xe2\x80\x94 看起来无论出于什么原因,仓库中缺少一个包,我有像ppa-purge\xe2\x80\x94 这样的选项,但我典型的修复方法是我\'推荐给你...

\n\n
    \n
  1. 删除任何有问题的包。是的,甚至是ubuntu-mate-desktop元包。
  2. \n
  3. 进行升级,但不要进行最后提供的软件包清理。如果你这样做的话,这并不是一场灾难。
  4. \n
  5. 重启。希望您仍在桌面上,但即使不在桌面上,也可以找到最近的终端和sudo apt install ubuntu-mate-desktop
  6. \n
  7. 如果您成功进行了第 2 阶段清理,则可以运行sudo apt autoremove以删除不再需要的自动包。
  8. \n
\n\n

这很可怕,看起来不对,但是可以删除并重新安装软件包,并且不会永远丢失任何内容。您的桌面配置位于您的$HOME计算机中,不属于删除范围。中的系统设置/etc/不会被apt remove(这就是purge工作)删除。您可能最终会进入命令行。您可能需要nmtui在另一端连接,但这一切风险相对较低。

\n\n

我想你已经确定了为什么会发生这种情况。某种水果味的虫子libasm-java,或者它的包装,挡住了周围的一切。这不会对 18.04 产生影响,因为 ubuntu-mate-desktop` 不再依赖它。

\n\n
\n\n

我想这个答案可以转移到任何遇到包冲突但要注意要删除的内容的情况。

\n\n

在本例中,它是一个粗糙的旧蓝光库和一个用于桌面环境的元包。如果您开始看到类似network-manager或 之类的重要内容,并linux-image在“即将被删除”警告中弹出,请退一步并开始一个新问题:D

\n