Das Compiz-Update vom 15.02.18 hat die Einheit gebrochen

21

Dieses Compiz-Update erzwang das Entfernen von unityund ubuntu-desktopauf meinem 16.04 Ubuntu-System.

Das fehlerhafte Paket, das fehlt, aber unitybenötigt, scheint zu sein compiz-core-abiversion-20151010. Es scheint ein virtuelles Paket zu sein , und ich kann es nicht zum Herunterladen finden.

Bildbeschreibung hier eingeben

Zufällig verwende ich meistens LXDE auf diesem System, aber ich wäre sehr unglücklich, wenn ich Unity verwenden würde ...

Gibt es eine Lösung für dieses Problem, da ich gelegentlich den Unity-Desktop verwende?

Bearbeiten: verwandte Fragen rollen herein. Sieht aus wie eine große Qualitätsflucht

"Zurückgehaltene" Pakete zum Aktualisieren, Unity deinstallieren?

Compiz Upgrade deinstalliert Einheit

Ubuntu TaskBar ist weg. Launcher fehlt

Was habt ihr gerade getan? Aktualisierungen meiner beiden 16.04-Umgebungen haben die Desktops getötet!

Edit 2: Fehler 1749839 wurde an das Launchpad gesendet

Bio-Marmor
quelle
Regression? google.de/url?q=/ubuntu/992571/…
WinEunuuchs2Unix
Ich habe das gleiche Problem. Kein Launcher / Taskleiste oder vieles andere.
Andrew Vian
1
@OrganicMarble Es gibt zwei andere Benutzer, die in den letzten 16.04 Updates, die ich in der letzten Stunde gelesen habe, verbrannt wurden. Ich denke, es ist wieder etwas Großes los. Ich habe seit dem 4. Januar 2018 nicht mehr aktualisiert, da alle Fehler gemeldet wurden. Nur manuelle Kernel-Updates in dieser Zeit, die mich auf den Stand 4.14.18 bringen
WinEunuuchs2Unix
1
@OrganicMarble Ja, ich habe unter zwei der drei Links, die Sie gerade hinzugefügt haben, Kommentare gepostet. Ich wette, es wird ein Dutzend mehr an einem Tag geben.
WinEunuuchs2Unix
1
Ein anderer Benutzer mit demselben Problem gab an, das Angebot zum Löschen des Desktops korrigiert zu haben. Er hat das Angebot zum Löschen nie angenommen. Ich denke, dass die Option zum Wiederherstellen zu kompliziert sein würdeapt upgrade
WinEunuuchs2Unix

Antworten:

10

Sehr merkwürdige Situation.
Ja compiz-core-abiversion-20151010 ist virtuell auf xenial und pikant , aber es wird bereitgestellt von 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 und dpkg kennen also beide.

Vollständige Liste der compiz-core-abiversionFamilie ist wie folgt:

$ 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                           -

Hier ist bekanntlich compiz-core-abiversion-20151010nicht installierbar:

$ 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

Wir können aber eine neuere (aktuelle) Version installieren:

$ 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

Auf einem normalen konsistenten System müssen also nur alle Upgrades installiert sein.
Wenn das unityPaket entfernt wurde, können wir es installieren mit:

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

Hinweis 1: Meine Ubuntu 16.04 LTS-Installationen mit Unity und MATE DE (1 sauberes xenial und 3 alte präzise -> vertrauenswürdig -> xenial ) funktionieren nach regelmäßigen Upgrades ohne mein Zutun normal. Alle diese Systeme haben weder bei Unity noch ubuntu-desktopbei Upgrades versucht, sie zu entfernen . Und natürlich xenial-proposed ist es auf meinem System deaktiviert , da ich mein Ubuntu LTS nicht in selbstzerbrechendes ArchLinux verwandeln möchte.

Hinweis 2: Ich habe meine Antwort vom 12.03.2018 bearbeitet, da sie aus den compiz-core-abiversion-20170630Repositorys entfernt wurde.

Nrrbert
quelle
1
Durch die Installation von compiz-core-abiversion-20170630 wurde das Abhängigkeitsproblem behoben. Vielen Dank! Ich bin mir nicht sicher, warum dies auf meinem System und anscheinend auf anderen fehlte.
Bio-Marmor
@Organic Marble N0rbert hat dir gerade gesagt, dass es sich bisher um ein virtuelles Paket von handelte compiz-core. Der Unterschied ist, dass es sich jetzt um ein normales / separates Paket handelt, das als solches installiert werden muss ... Das wurde in der vorgeschlagenen Version nicht erraten ...
Antonio
Ich nehme an, es hätte in der Veröffentlichung enthalten sein sollen.
Bio-Marmor
1
compiz-coreIst echtes Paket, compiz-core-abiversion-20170630bleibt virtuell. Möglicherweise sollten dpkg / APT-Interna wissen, dass wir die aktuelle und verfügbare Version 20170630 installiert haben (nicht verpasst 20151010).
N0rbert
13

Ich habe eine Lösung gefunden. apt-get ist nicht in der Lage, mit der Situation umzugehen, aber aptitude kann damit umgehen.

sudo aptitude install ubuntu-desktop

Beachten Sie, dass die erste von aptitude angebotene Lösung das Problem nicht behebt, da dadurch das Paket nicht installiert wird. Ich musste das erste Mal Nein auswählen und dann bot Aptitude eine zweite Lösung für das Downgrade der Compiz-Pakete an, die alle Probleme verursachten. Das Downgrade behebt das Abhängigkeitsproblem und Ubuntu-Desktop und Unity werden neu installiert.

Andrew Vian
quelle
2
Vielen Dank für Ihre sehr clevere Zeitkorrektur. Eine nachfolgende Antwort lieferte die vollständige Lösung, daher habe ich die Akzeptanz auf diese verschoben.
Bio-Marmor
2

Angenommen, Sie sind angemeldet und Ihre Benutzeroberfläche hängt ohne Einheit, können Sie Folgendes tun:

  1. Gehe mit Ctrl+ Alt+ zu tty4 F4.
  2. Einloggen.
  3. Installieren Sie aptitude:

    sudo apt install aptitude
    
  4. Installieren Sie unitymit aptitude:

    sudo aptitude install unity
    

Daraufhin wird Ihnen mitgeteilt, dass ein Paketkonflikt vorliegt. Sie antworten 'n'und es wird vorgeschlagen, dass Sie compiz downgraden. Mach weiter und akzeptiere das.

Chadi
quelle
1
Danke, aber das fügt der vorherigen Antwort nicht wirklich etwas hinzu.
Bio-Marmor
2

Dies ist das zweite Mal in weniger als 6 Monaten, dass die Ubuntu-Teams ein vorgeschlagenes Update vorlegten, ohne funktionierende Ubuntu-Systeme zu testen und zu beschädigen.

Diese Jungs haben es vor kurzem geschafft, die aktuelle LTS-Version mit falschen und ungetesteten vorgeschlagenen Updates zu brechen ... Das ist neu, bis letztes Jahr ist es noch nie passiert.

Die Lösung ist NEVER installeine vorgeschlagene und so genannte Partial Upgrade... Sie können Ihr System immer noch durch SynapticPaket für Paket aktualisieren (obwohl es sinnvoll ist, Synapticist es jetzt aus der offiziellen Version entfernt) ... Bis Sie alle Updates der fehlerhaften Version blockieren . Hier ist ein Beispiel:

#!/bin/sh
#
# Add nemo package to update blacklist
# Run script as super user i.e. sudo ./block-upd-unity.sh
#

if [ $(id -u) != 0 ]; then
   echo "This script requires root permissions"
   sudo "$0"
   exit
fi
echo "nemo hold" | dpkg --set-selections
echo "nemo-data hold" | dpkg --set-selections
echo "nemo-fileroller hold" | dpkg --set-selections

Führen Sie dann das Skript anhand seines Namens im aktuellen Verzeichnis aus, z.

$ ./block-upd-nemo

Entsperren

#!/bin/sh
#
# Remove nemo package from update blacklist
# Run script as super user i.e. sudo ./block-upd-unity.sh
#

if [ $(id -u) != 0 ]; then
   echo "This script requires root permissions"
   sudo "$0"
   exit
fi
echo "nemo install" | dpkg --set-selections
echo "nemo-data install" | dpkg --set-selections
echo "nemo-fileroller install" | dpkg --set-selections

Dann

$ ./unblock-upd-nemo

Hier in Synaptic sehen Sie eine lange Liste compizverwandter Pakete, die Xenial LTSdurch Entfernen dieser Pakete beschädigt werden:

ubuntu-desktop unity unity-tweak-tool unsettings ...

Die zu blockierenden Pakete sind:

[Liste aktualisiert, da ich die von Unity betroffenen Pakete verpasst habe]

compiz compiz-core compiz-dev compiz-gnome compiz-plugins compiz-plugins-default compiz-plugins-extra compiz-plugins-main compiz-plugins-main-default compizconfig-settings-manager libcompizconfig0 libdecoration0 libdecoration0-dev python-compizconfig libunity-core-6.0-9 libunity-core-6.0-dev unity unity-schemas unity-services

Eine ziemlich lange Liste. Verwaltbar über Shell-Skripte.

Eine Wiederherstellungslösung wäre, von einem Xenial-Installations-USB-Stick zu booten und eine chroot. Rufen Sie die Launchpad-Website auf compiz , um die Release (main)Pakete herunterzuladen und die Installation zu erzwingen. dpkg -i *.debBlockieren Sie dann alle Updates, oder entfernen Sie die proposedReleases aus Ihrer Update-Konfiguration.

[Update]: Sie müssen auch zur Launchpad-Website gehen unityund die Release (main)betroffenen Pakete herunterladen (siehe unten im Skript).

Google-Suche, wenn Sie nicht damit vertraut sind.

Hier ist mein Blockierungsskript, da compizich gerade fertig bin:

[Aktualisiert, da ich die von Unity betroffenen Pakete verpasst habe]

#!/bin/sh
#
# Add compiz package to update blacklist
# Run script as super user i.e. sudo ./block-upd-compiz.sh
#

if [ $(id -u) != 0 ]; then
   echo "This script requires root permissions"
   sudo "$0"
   exit
fi
echo "compiz hold" | dpkg --set-selections
echo "compiz-core hold" | dpkg --set-selections
echo "compiz-dev hold" | dpkg --set-selections
echo "compiz-gnome hold" | dpkg --set-selections
echo "compiz-plugins hold" | dpkg --set-selections
echo "compiz-plugins-default hold" | dpkg --set-selections
echo "compiz-plugins-extra hold" | dpkg --set-selections
echo "compiz-plugins-main hold" | dpkg --set-selections
echo "compiz-plugins-main-default hold" | dpkg --set-selections
echo "compizconfig-settings-manager hold" | dpkg --set-selections
echo "libcompizconfig0 hold" | dpkg --set-selections
echo "libdecoration0 hold" | dpkg --set-selections
echo "libdecoration0-dev hold" | dpkg --set-selections
echo "python-compizconfig hold" | dpkg --set-selections
echo "libunity-core-6.0-9 hold" | dpkg --set-selections
echo "libunity-core-6.0-dev hold" | dpkg --set-selections
echo "unity hold" | dpkg --set-selections
echo "unity-schemas hold" | dpkg --set-selections
echo "unity-services hold" | dpkg --set-selections

Vergessen Sie nicht, die ausführbaren Skripte zu setzen ...

$ chmod a+x block-upd-compiz

[Nachverfolgen]: Nach dem Ausführen eines Shell-Skripts zum Entsperren der 19 Pakete von compizund unity. Ich habe die N0rbetLösung ausprobiert und es scheint zu funktionieren:

$ sudo apt-get install compiz-core-abiversion-20170630
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'compiz-core' instead of 'compiz-core-abiversion-20170630'
The following additional packages will be installed:
  compiz-dev compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0
  libdecoration0-dev libunity-core-6.0-9 libunity-core-6.0-dev unity unity-schemas unity-services
The following packages will be upgraded:
  compiz-core compiz-dev compiz-gnome compiz-plugins compiz-plugins-default libcompizconfig0 libdecoration0
  libdecoration0-dev libunity-core-6.0-9 libunity-core-6.0-dev unity unity-schemas unity-services
13 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
Need to get 5,410 kB of archives.
After this operation, 283 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Antonio
quelle
4
Wenn du "vorgeschlagen" als aktualisiert sagst, meinst du das im xenial-proposedKanal? Wenn ja, dienen diese ausdrücklich zum Testen. Sie sollten sie nicht installieren, es sei denn, Sie sind auf einen Bruch vorbereitet.
muru
2
@ Antonio Es passiert immer. Sie brachen schrecklich 14.04 im Jahr 2015. bugs.launchpad.net/hundredpapercuts/+bug/1469995
Organic Marble