我无法从 Ubuntu 16.04.5 LTS 升级到 18.04.1 LTS,因为有一个软件包尚未升级(libbluray-bdj)。当我尝试升级它时,它无法升级,因为它依赖于一个包(libasm-java) 无法升级,因为它没有安装候选项。当我尝试删除libbluray-bdj,它告诉我它将删除ubuntu-mate 桌面我不想这么做。
我通过终端执行升级,因为我之前通过软件更新程序进行了部分升级(在我遇到这些问题之前),并且我不想让我的系统处于 16.04.5 和 18.04.1 之间的部分升级状态。
我只想升级到 18.04.1。谢谢!
以下是我使用的命令及其输出:
lsb_release -a
没有可用的 LSB 模块。
分销商 ID:Ubuntu
描述:Ubuntu 16.04.5 LTS
发行版:16.04
代号:xenial
sudo apt update && sudo apt upgrade
1 个软件包可以升级。运行“apt list --upgradable”即可查看。
apt list --upgradable -a
libbluray-bdj/xenial,xenial 1:1.0.2-3~xenial all [可从 1:0.9.2-2 升级]
N:有 1 个附加版本。请使用“-a”开关查看
sudo apt-get dist-upgrade
升级了 0 个,新安装了 0 个,要删除 0 个,并且未升级 0 个。
sudo apt-get upgrade -y
下列软件包被保留:
libbluray-bdj
升级了 0 个软件包,新安装了 0 个软件包,要删除 0 个软件包,并且未升级 1 个软件包。
sudo do-release-upgrade
升级之前,请安装适合您的版本的所有可用更新。
sudo apt-get dist-upgrade libbluray-bdj
正在读取软件包列表... 完成 正在
构建依赖关系树
正在读取状态信息... 完成 正在
计算升级... 错误!
无法安装某些软件包。这可能意味着您请求了一个不可能的情况,或者如果您使用的是不稳定的发行版,则某些必需的软件包尚未创建或已从传入中移出。
以下信息可能有助于解决这种情况:以下软件包有未满足的依赖项:
libbluray-bdj:依赖:libasm-java 但无法安装
E:错误,pkgProblemResolver::Resolve 生成中断,这可能是由保留的软件包引起的。
sudo apt-get dist-upgrade libasm-java
正在读取软件包列表... 完成 正在
构建依赖关系树
正在读取状态信息... 完成
软件包 libasm-java 不可用,但被另一个软件包引用。
这可能意味着该软件包缺失、已被淘汰或只能从其他来源获得E:软件包‘libasm-java’没有安装候选项
sudo apt-get remove libbluray-bdj
以下软件包将被删除:
libbluray-bdj ubuntu-mate-desktop
我不想删除ubuntu-mate 桌面。
更新:
以下是/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
答案1
确实花足够的时间放弃Ubuntu 你会遇到类似这样的依赖问题。
我随时都会安装一大堆 PPA,因此升级通常相当困难乐趣。这不是你的问题 — 看起来好像出于某种原因,repo 中缺少一个包,我有类似的选项ppa-purge
— 但我通常的修复方法是我推荐给你的……
- 删除所有有问题的软件包。是的,甚至
ubuntu-mate-desktop
包括元软件包。 - 进行升级,但不要进行最后提供的软件包清理。如果你这样做,也不会造成灾难。
- 重启。希望您仍在桌面上,但即使不在,也请找到最近的终端并
sudo apt install ubuntu-mate-desktop
。 - 如果您设法坚持了第二阶段的清理,那么现在该运行
sudo apt autoremove
删除不再需要的自动包了。
这很可怕,看起来不对劲,但软件包可以删除并重新安装,而且不会永远丢失任何东西。您的桌面配置存在于您的 中,$HOME
并且不是删除的一部分。 中的系统设置/etc/
不会被删除apt remove
(这是purge
的工作)。您可能最终会进入命令行。您可能需要nmtui
在另一端建立连接,但风险相对较低。
我想你已经确定了为什么发生了这种情况。 或其包装中存在某种水果错误libasm-java
,阻碍了其周围的一切。 这不会影响 18.04 中的您,因为 ubuntu-mate-desktop` 不再依赖它。
我想认为这个答案可以转移到您遇到包冲突的任何情况,但要注意您正在删除什么。
在这种情况下,它是一个老旧的蓝光库和一个桌面环境的元包。如果您开始看到network-manager
或linux-image
弹出“即将被删除”警告中的重要内容,请退后一步并开始一个新问题:D