C'est la deuxième fois en moins de 6 mois que les équipes d'Ubuntu proposent une mise à jour sans aucun test et casse des systèmes Ubuntu qui fonctionnent.
Ces gars-là ont récemment décidé de casser la version actuelle de LTS avec des mises à jour factices et non testées ... C'est nouveau, jusqu'à l'année dernière, cela ne s'était jamais produit.
La solution est à NEVER installune proposition et soi-disant Partial Upgrade... Vous pouvez toujours mettre à jour votre système par Synapticpackage par package (bien que pour faire sens, il Synapticsoit 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
Exécutez ensuite le script par son nom dans le répertoire courant, comme:
$ ./block-upd-nemo
Pour 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 compizpackages liés qui se cassent Xenial LTSen supprimant ces packages:
ubuntu-desktop unity unity-tweak-tool unsettings ...
Les packages à 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
Une liste assez longue. Gérable via les scripts Shell.
Une solution de récupération serait de démarrer à partir d'une clé USB d'installation de Xenial et d'effectuer une chroot. Accédez au site Web de Launchpad pour compiz télécharger les Release (main)packages et les installer de force, dpkg -i *.debpuis bloquez toutes les mises à jour ou supprimez les proposedversions de votre configuration de mise à jour.
[Mise à jour]: Vous devez également vous rendre sur le site Web Launchpad pour unity télécharger les Release (main)packages concernés (voir ci-dessous dans le script).
Recherche Google si vous ne le connaissez pas.
Voici mon script de blocage car compizje viens de terminer:
[Mis à jour car j'ai raté les packages 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 l'exécutable des scripts ...
$ chmod a+x block-upd-compiz
[Folllow Up]: Après avoir exécuté un script Shell pour débloquer les 19 packages de compizet unity. J'ai essayé la N0rbetsolution et elle 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