Что вы, ребята, просто ДЕЛАЛИ! Обновления обоим моим окрестностям 16.04 убили настольные компьютеры! [dубликат]

Это обновление compiz принудительно удаляет unity и ubuntu-desktop в моей системе 16.04 Ubuntu.

Недопустимый пакет нарушения, но unity, кажется, compiz-core-abiversion-20151010. Кажется, это compiz update , и я не могу найти его для загрузки.

Как это бывает, я в основном использую LXDE в этой системе , но я был бы очень недоволен, если бы использовал Unity ...

Так как я иногда использую рабочий стол Unity, есть ли исправление для этого?

Изменить: связанные вопросы:

compiz upgrade uninstalled unity

compiz upgrade uninstalled unity

Что вы, ребята, просто ДЕЛАЛИ! Обновления обоим моим окружениям 16.04 убили десктопы!

Редактировать 2: Что вы, ребята, просто ДЕЛАЛИ! Обновления для моих 16.04 округов убили настольные компьютеры!

21
задан 16 February 2018 в 13:29

8 ответов

Очень странная ситуация. Да compiz-core-abiversion-20151010 является виртуальным по xenial и zesty, но он предоставляется 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 и dpkg знают обо всех из них.

Полный список compiz-core-abiversion следующее:

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

Здесь, как мы знаем compiz-core-abiversion-20151010, невозможно установить:

$ 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

Но мы можем установить более новую (актуальную) версию: [ ! d6] $ 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

Итак, в обычной согласованной системе все, что нам нужно, - это установить все обновления. Но если пакет unity был удален, мы можем установить его с помощью:

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

Примечание 1: Мои установки Ubuntu 16.04 LTS с Unity и MATE DE (1 чистая xenial и 3 old exact-> trusty-> xenial) работают нормально после регулярных обновлений без моего вмешательства. Все эти системы не пытались удалить ни Unity, ни ubuntu-desktop во время обновлений. И, конечно, xenial-proposed отключен в моей системе, так как я не хочу преобразовывать свой Ubuntu LTS в саморазрушающийся ArchLinux.

Примечание 1: Я отредактировал мой ответ 2018-03-12 из-за того, что compiz-core-abiversion-20170630 был удален из репозиториев.

11
ответ дан 17 July 2018 в 20:43

Очень странная ситуация. Да compiz-core-abiversion-20151010 является виртуальным по xenial и zesty, но он предоставляется 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 и dpkg знают обо всех из них.

Полный список compiz-core-abiversion следующее:

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

Здесь, как мы знаем compiz-core-abiversion-20151010, невозможно установить:

$ 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

Но мы можем установить более новую (актуальную) версию: [ ! d6] $ 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

Итак, в обычной согласованной системе все, что нам нужно, - это установить все обновления. Но если пакет unity был удален, мы можем установить его с помощью:

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

Примечание 1: Мои установки Ubuntu 16.04 LTS с Unity и MATE DE (1 чистая xenial и 3 old exact-> trusty-> xenial) работают нормально после регулярных обновлений без моего вмешательства. Все эти системы не пытались удалить ни Unity, ни ubuntu-desktop во время обновлений. И, конечно, xenial-proposed отключен в моей системе, так как я не хочу преобразовывать свой Ubuntu LTS в саморазрушающийся ArchLinux.

Примечание 1: Я отредактировал мой ответ 2018-03-12 из-за того, что compiz-core-abiversion-20170630 был удален из репозиториев.

11
ответ дан 23 July 2018 в 21:21

Я нашел решение. apt-get не может справиться с ситуацией, но aptitude может справиться с этим.

sudo aptitude install ubuntu-desktop

Обратите внимание, что первое решение, предлагаемое aptitude, не исправляет проблему, потому что это не позволяет установить пакет. В первый раз мне не нужно было выбирать, а затем aptitude предложило второе решение о снижении пакетов compiz, вызвавших все проблемы. Снижение рейтинга устраняет проблему зависимости, а затем Ubuntu-рабочий стол и единство переустанавливаются.

12
ответ дан 17 July 2018 в 20:43

Это второй раз менее чем за 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
2
ответ дан 17 July 2018 в 20:43

Предполагая, что вы вошли в систему, и ваш пользовательский интерфейс застрял без единства, вы можете сделать следующее:

Перейти к tty4 с помощью Ctrl + Alt + F4. Авторизоваться. Установите aptitude: sudo apt install aptitude Установите unity с помощью aptitude: sudo aptitude install unity

Затем он скажет вам, что существует конфликтный пакет. Вы отвечаете 'n', и он предложит вам понизить компиляцию. Идем дальше и принимаем это.

1
ответ дан 17 July 2018 в 20:43

Я нашел решение. apt-get не может справиться с ситуацией, но aptitude может справиться с этим.

sudo aptitude install ubuntu-desktop

Обратите внимание, что первое решение, предлагаемое aptitude, не исправляет проблему, потому что это не позволяет установить пакет. В первый раз мне не нужно было выбирать, а затем aptitude предложило второе решение о снижении пакетов compiz, вызвавших все проблемы. Снижение рейтинга устраняет проблему зависимости, а затем Ubuntu-рабочий стол и единство переустанавливаются.

12
ответ дан 23 July 2018 в 21:21
  • 1
    Спасибо за очень умное исправление. В последующем ответе было дано полное разрешение, поэтому я перенес его в это. – Organic Marble 16 February 2018 в 14:54

Это второй раз менее чем за 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
2
ответ дан 23 July 2018 в 21:21
  • 1
    Когда вы говорите «предлагаемые», обновлен, вы имеете в виду в канале xenial-proposed? Если да, то это явно для тестирования. Вы не должны устанавливать их, если не готовы к поломке. – muru 16 February 2018 в 06:13
  • 2
    @Antonio Это всегда случается. Они сломали 14.04 ужасно в 2015 году. [D0] bugs.launchpad.net/hundredpapercuts/+bug/1469995 – Organic Marble 16 February 2018 в 06:29

Предполагая, что вы вошли в систему, и ваш пользовательский интерфейс застрял без единства, вы можете сделать следующее:

Перейти к tty4 с помощью Ctrl + Alt + F4. Авторизоваться. Установите aptitude: sudo apt install aptitude Установите unity с помощью aptitude: sudo aptitude install unity

Затем он скажет вам, что существует конфликтный пакет. Вы отвечаете 'n', и он предложит вам понизить компиляцию. Идем дальше и принимаем это.

1
ответ дан 23 July 2018 в 21:21
  • 1
    Спасибо, но это ничего не добавляет к предыдущему ответу. – Organic Marble 16 February 2018 в 04:30

Другие вопросы по тегам:

Похожие вопросы: