当前位置: 首页>>技术教程>>正文


2018 年 2 月 15 日 compiz 更新破坏了统一性

, ,

问题描述

这个 compiz update 在我的 16.04 Ubuntu 系统上强制删除了 unityubuntu-desktop

缺少但 unity 需要的有问题的包似乎是 compiz-core-abiversion-20151010 。好像是 virtual package ,我找不到下载。

碰巧,我在这个系统上主要使用 LXDE,但如果我使用 Unity 我会很不高兴……

由于我偶尔会使用 Unity 桌面,有解决办法吗?

编辑:相关问题滚滚而来。看起来像是一次重大的质量逃逸

“Kept back” packages for update , want to uninstall unity?

compiz upgrade uninstalled unity

Ubuntu TaskBar is gone. Launcher is missing

What did you guys just DO! Updates to both my 16.04 environs killed the desktops!

编辑2:\n Bug 1749839 submitted to launchpad

最佳方法

我找到了解决办法。 apt-get 无法处理这种情况,但 aptitude 可以处理。

sudo aptitude install ubuntu-desktop

请注意,aptitude 提供的第一个解决方案并不能解决问题,因为它选择不安装该软件包。我第一次不得不选择“否”,然后 aptitude 提供了第二种解决方案,即降级导致所有问题的 compiz 软件包。降级修复了依赖问题,然后重新安装了ubuntu-desktop和unity。

次佳方法

非常奇怪的情况。\n是 compiz-core-abiversion-20151010 is virtual on xenial and zesty ,但它是由 compiz-core 提供的:

$ apt-cache show compiz-core  | grep "Version\|Provides\|Package"
Package: compiz-core
Version: 1:0.9.12.3+16.04.20180221-0ubuntu1
Provides: compiz-core-abiversion-20180221
Package: compiz-core
Version: 1:0.9.12.2+16.04.20160415-0ubuntu1
Provides: compiz-core-abiversion-20151010

所以 APT 和 dpkg 都知道它们。

compiz-core-abiversion家族的完整列表如下:

$ aptitude search compiz-core-abiversion-
v   compiz-core-abiversion-20151010                                -
v   compiz-core-abiversion-20151010:i386                           -
v   compiz-core-abiversion-20180221                                -
v   compiz-core-abiversion-20180221:i386                           -

据我们所知,compiz-core-abiversion-20151010 不可安装:

$ sudo apt-get install compiz-core-abiversion-20151010
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package compiz-core-abiversion-20151010 is a virtual package provided by:
  compiz-core 1:0.9.12.2+16.04.20160415-0ubuntu1 [Not candidate version]

E: Package 'compiz-core-abiversion-20151010' has no installation candidate

但我们可以安装更新的(实际)版本:

$ sudo apt-get install compiz-core-abiversion-20180221
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'compiz-core' instead of 'compiz-core-abiversion-20180221'
The following additional packages will be installed:
  compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas unity-services
The following packages will be upgraded:
  compiz-core compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0 libunity-core-6.0-9 unity unity-schemas
  unity-services
10 upgraded, 0 newly installed, 0 to remove and 32 not upgraded.
Need to get 5 302 kB of archives.
After this operation, 278 kB of additional disk space will be used.
Do you want to continue? [Y/n] n

因此,在正常一致的系统上,我们需要的只是安装所有升级。\n但是如果 unity 软件包被删除,我们可以使用以下命令安装它:

sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install unity ubuntu-desktop

注 1:我的 Ubuntu 16.04 LTS 安装与 Unity 和 MATE DE(1 个干净的 xenial 和 3 个旧的精确 -> 可信 -> xenial)在定期升级后无需我干预即可正常工作。所有这些系统在升级期间都没有尝试删除 Unity 或 ubuntu-desktop。当然,xenial-proposed 在我的系统上被禁用,因为我不想将我的 Ubuntu LTS 转换为 bleeding-edge self-breakable ArchLinux。

注 2:我于 2018 年 3 月 12 日编辑了答案,因为 compiz-core-abiversion-20170630 已从存储库中删除。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14109.html,未经允许,请勿转载。