Это второй раз за менее чем 6 месяцев, когда команды Ubuntu производили предлагаемое обновление без какого-либо тестирования и взлома работающих систем Ubuntu.
Эти парни недавно были освобождены, чтобы порвать текущую версию LTS с фальшивыми и непроверенными предлагаемыми обновлениями ... Это ново, до прошлого года этого никогда не было.
Решение заключается в NEVER install
предложенном и так называемом Partial Upgrade
... Вы все еще можете обновлять свою систему через Synaptic
пакет за пакетом (хотя для правильного понимания она Synaptic
теперь удалена из официального выпуска) ... Пока вы не заблокируете все обновления версии с ошибками , Вот пример:
#!/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
Затем запустите скрипт по его имени в текущем каталоге, например:
$ ./block-upd-nemo
Разблокировать
#!/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
затем
$ ./unblock-upd-nemo
Здесь, в Synaptic, вы можете увидеть длинный список compiz
связанных пакетов, которые разрушаются Xenial LTS
при удалении этих пакетов:
ubuntu-desktop unity unity-tweak-tool unsettings ...
Пакеты для блокировки:
[Список обновлен, так как я пропустил пакеты, затронутые единством]
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
Довольно длинный список. Управляется с помощью сценариев оболочки.
Решением для восстановления будет загрузка с USB-накопителя Xenial и выполнение chroot
. Перейдите на веб-сайт Launchpad, compiz
чтобы загрузить Release (main)
пакеты и принудительно установить их, а dpkg -i *.deb
затем заблокировать все обновления или удалить их proposed
из конфигурации обновлений.
[Обновление]: Вам также необходимо перейти на веб-сайт Launchpad unity
и загрузить Release (main)
затронутые пакеты (см. Ниже в сценарии).
Поиск в Google, если вы не знакомы с ним.
Вот мой скрипт блокировки, compiz
я только что закончил:
[Обновлено, поскольку я пропустил пакеты, затронутые единством]
#!/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
Не забудьте установить исполняемый скрипт ...
$ chmod a+x block-upd-compiz
[Folllow Up]: после запуска сценария оболочки, чтобы разблокировать 19 пакетов от compiz
и unity
. Я опробовал N0rbet
решение, и оно, кажется, работает:
$ 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