Этот compiz обновляет вызванное удаление unity
и ubuntu-desktop
в моих 16,04 системах Ubuntu.
Незаконный пакет, который отсутствует, но unity
потребности, кажется, compiz-core-abiversion-20151010
. Это, кажется, виртуальный пакет, и я не могу найти, что это загружает.
Как это происходит, я главным образом использую LXDE в этой системе, но я был бы очень недоволен, если бы я использовал Единицу...
Так как я действительно иногда использую рабочий стол Единицы, есть ли фиксация для этого?
Править: связанные вопросы сыплются. Похож на основной качественный Escape
Пакеты, От которых "воздерживаются", для обновления, хотите удалить единицу?
compiz обновляют удаленную единицу
Ubuntu TaskBar не стало. Средство запуска отсутствует
Редактирование 2: Ошибка 1 749 839 отправленных к панели запуска
Очень странная ситуация.
Да 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
Но мы можем установить более новую (актуальную) версию:
$ 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 старых точных -> надежных -> xenial ) нормально работают после регулярных обновлений без моего вмешательства. Все эти системы не пытались удалить ни Unity, ни ubuntu-desktop
во время обновлений. И, конечно же, предложенный xenial
отключен в моей системе, поскольку я не хочу преобразовывать свой Ubuntu LTS в передовой саморазрушаемый ArchLinux.
Примечание 2: I отредактировал свой ответ 2018-03-12 из-за того, что compiz-core-abiversion-20170630
был удален из репозиториев.
Я нашел решение. apt-get не может справиться с ситуацией, но aptitude справится с ней.
sudo aptitude install ubuntu-desktop
Обратите внимание, что первое решение, предлагаемое aptitude, не исправляет проблему, потому что он предпочитает не устанавливать пакет. В первый раз мне пришлось выбрать «нет», а затем aptitude предложила второе решение по понижению версии пакетов compiz, которое вызвало все проблемы.Переход на более раннюю версию устраняет проблему зависимости, а затем переустанавливаются ubuntu-desktop и unity.
Предполагая, что вы вошли в систему и ваш пользовательский интерфейс завис без единства, вы можете сделать следующее:
Установить aptitude
:
sudo apt install aptitude
Установите unity
, используя aptitude
:
sudo aptitude install unity
Затем он сообщит вам, что существует конфликтующий пакет. Вы ответите 'n'
, и он предложит вам понизить версию compiz. Примите это.
Это второй раз за менее чем 6 месяцев, когда команды Ubuntu сделали предлагаемое обновление без какого-либо тестирования и нарушения работоспособности систем Ubuntu.
Эти ребята недавно выпустили на свободу, чтобы нарушить текущее Версия LTS с фальшивыми и непроверенными предлагаемыми обновлениями ... Это новое, до прошлого года этого не было.
Решение состоит в том, чтобы НИКОГДА не устанавливать
предлагаемое так называемое частичное обновление
... Вы все еще можете обновлять свою систему с помощью пакета 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
, затем заблокируйте все обновлений или удалите предлагаемые
выпуски из конфигурации обновления.
[Обновление]: вам также необходимо перейти на веб-сайт Launchpad для unity
и загрузить пакеты, затронутые Release (основной)
(см. Ниже в сценарии) .
Выполните поиск в 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