This compiz update suppression forcée de unity
et ubuntu-desktop
sur mon système Ubuntu 16.04.
Le package défectueux qui manque, mais dont unity
a besoin, semble être compiz-core-abiversion-20151010
. Cela semble être un paquet virtuel , et je ne le trouve pas à télécharger.
En l'occurrence, j'utilise principalement LXDE sur ce système, mais je serais très malheureux si j'utilisais Unity ...
Étant donné que j'utilise parfois le bureau Unity, existe-t-il un correctif pour cela?
Modifier: des questions connexes entrent en jeu. Cela ressemble à une évasion majeure de qualité
paquets "gardés en arrière" pour la mise à jour, vous voulez désinstaller l'unité?
mise à niveau compiz désinstallé
buntu TaskBar est parti. Launcher est manquant
Éditer 2: bogue 1749839 soumis au tableau de bord
Situation très étrange.
Oui compiz-core-abiversion-20151010
est virtuel sur xenial et zesty , mais il est fourni par 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
Donc APT et dpkg sont au courant des deux.
La liste complète de la famille compiz-core-abiversion
est la suivante:
$ 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 -
Comme nous le savons, compiz-core-abiversion-20151010
n'est pas installable:
$ 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
Mais nous pouvons installer une version plus récente (actuelle):
$ 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
Donc, sur un système cohérent normal, tout ce dont nous avons besoin est d’avoir toutes les mises à niveau installées.
Mais si le paquet unity
a été supprimé, nous pouvons l’installer avec:
Sudo aptitude update
Sudo aptitude safe-upgrade
Sudo aptitude install unity ubuntu-desktop
Remarque 1: Mes installations Ubuntu 16.04 LTS avec Unity et MATE DE (1 clean xenial et et 3 ancien précis -> fidèle -> xenial ) travaille normalement après des mises à niveau régulières sans mon intervention. Tous ces systèmes n'ont pas essayé de supprimer ni Unity ni ubuntu-desktop
lors des mises à niveau. Et bien sûr, xenial-proposed
est désactivé sur mon système, car je ne souhaite pas transformer mon Ubuntu LTS en ArchLinux auto-cassable.
Remarque 2: J'ai modifié ma réponse le 2018-03-12 en raison du fait que compiz-core-abiversion-20170630
a été supprimé des référentiels.
J'ai trouvé une solution. apt-get ne parvient pas à gérer la situation, mais aptitude peut le faire.
Sudo aptitude install ubuntu-desktop
Notez que la première solution proposée par aptitude ne corrige pas le problème, car elle choisit de ne pas installer le paquet. Je n’ai pas dû sélectionner la première fois, puis aptitude a proposé une deuxième solution consistant à rétrograder les packages Compiz qui étaient à l’origine de tous les problèmes. La rétrogradation corrige le problème de dépendance, puis ubuntu-desktop et unit sont réinstallés.
En supposant que vous soyez connecté et que votre interface utilisateur soit bloquée sans unité, vous pouvez effectuer les opérations suivantes:
Installez aptitude
:
Sudo apt install aptitude
Installez unity
en utilisant aptitude
:
Sudo aptitude install unity
Il vous dira alors qu'il existe un paquet en conflit. Vous répondez 'n'
et il vous proposera de rétrograder compiz. Allez-y et acceptez cela.
C’est la deuxième fois en moins de 6 mois que les équipes d’Ubuntu font une proposition de mise à jour sans aucun test ni rupture des systèmes Ubuntu en état de fonctionnement.
Ces gars sont récemment prêts à casser la version actuelle de LTS avec de fausses mises à jour proposées et non testées ... C'est nouveau, jusqu'à l'année dernière, cela ne s'est jamais produit.
La solution consiste à NEVER install
un nom proposé et ainsi appelé Partial Upgrade
... Vous pouvez toujours mettre à jour votre système avec le package Synaptic
package par package (bien que, pour vous en rendre compte, Synaptic
soit maintenant supprimé de la version officielle) ... jusqu'à ce que vous bloquiez toutes les mises à jour. de la version buggy. Voici un exemple:
#!/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
Ensuite, exécutez le script par son nom dans le répertoire actuel, comme suit:
$ ./block-upd-nemo
Débloquer
#!/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
Ensuite
$ ./unblock-upd-nemo
Ici, dans Synaptic, vous pouvez voir une longue liste de paquets liés à compiz
qui cassent Xenial LTS
en supprimant ces paquets:
ubuntu-desktop unity unity-Tweak-tool unsettings ...
Les paquets à bloquer sont:
[Liste mise à jour car j'ai raté les paquets affectés par l'unité]
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
Assez longue liste. Gérable via les scripts Shell.
Une solution de récupération consisterait à démarrer à partir d’une clé USB d’installation Xenial et à effectuer un chroot
. Accédez au site Web du Launchpad pourcompiz
pour télécharger les packages Release (main)
et les installer de force avec dpkg -i *.deb
, puis bloquez toutes les mises à jour ou supprimez les versions proposed
de votre configuration de mise à jour.
[Mise à jour]: Vous devez également accéder au site Web du Launchpad pourunity
et télécharger les packages Release (main)
concernés (voir ci-dessous dans le script).
Recherche Google si vous ne le connaissez pas.
Voici mon script de blocage pour compiz
Je viens de terminer:
[Mis à jour car j'ai raté les paquets affectés par l'unité]
#!/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
N'oubliez pas de définir les scripts exécutables ...
$ chmod a+x block-upd-compiz
[Suivant]: Après avoir exécuté un script shell pour débloquer les 19 packages de compiz
et unity
. J'ai essayé la solution N0rbet
et cela semble fonctionner:
$ 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