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 install
une proposition et soi-disant Partial Upgrade
... Vous pouvez toujours mettre à jour votre système par Synaptic
package par package (bien que pour faire sens, il 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
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 compiz
packages liés qui se cassent Xenial LTS
en 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 *.deb
puis bloquez toutes les mises à jour ou supprimez les proposed
versions 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 compiz
je 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 compiz
et unity
. J'ai essayé la N0rbet
solution 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