2/15/18 compiz update se rompió la unidad

21

Esta compiz update forzó la eliminación de unity y ubuntu-desktop en mi 16.04 sistema de Ubuntu.

El paquete infractor que falta, pero que necesita unity , parece ser compiz-core-abiversion-20151010 . Parece ser un paquete virtual , y no puedo encontrarlo para descargar.

Amedidaquesucede,lamayoríadelasvecesusoLXDEenestesistema,peromesentiríamuyinfelizsiusaraUnity...

ComoocasionalmenteusoelescritoriodeUnity,¿hayunasoluciónparaesto?

Editar:laspreguntasrelacionadasestánllegando.Pareceunescapedegrancalidad

Paquetes "Kept back" para actualización, desea desinstalar ¿unidad?

compiz upgrade uninstalled unity unity

Ubuntu TaskBar se ha ido. Falta el lanzador

¿Qué es lo que ustedes HACEN? ¡Las actualizaciones de mis dos entornos 16.04 mataron los equipos de escritorio!

Edición 2: Error 1749839 enviado al launchpad

    
pregunta Organic Marble 15.02.2018 - 22:53

4 respuestas

11

Situación muy extraña.
Sí, compiz-core-abiversion-20151010 es virtual en xenial y zesty , pero es proporcionado por 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

Así que APT y dpkg conocen ambos.

La lista completa de la familia compiz-core-abiversion es la siguiente:

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

Aquí, como sabemos, compiz-core-abiversion-20151010 no es instalable:

$ 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

Pero podemos instalar una versión más nueva (real):

$ 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

Por lo tanto, en un sistema coherente normal, todo lo que necesitamos es tener todas las actualizaciones instaladas.
Pero si se eliminó el paquete unity , podemos instalarlo con:

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

Nota 1: mis instalaciones de Ubuntu 16.04 LTS con Unity y MATE DE (1 limpio xenial y 3 antiguas precisas - > < em> trusty - > xenial ) normalmente funciona después de actualizaciones regulares sin mi intervención. Todos estos sistemas no intentaron eliminar Unity ni ubuntu-desktop durante las actualizaciones. Y, por supuesto, xenial-proposed está deshabilitado en mi sistema, ya que no quiero transformar mi Ubuntu LTS en un ArchLinux desarmable y vanguardista.

Nota 2: edité mi respuesta 2018-03-12 debido al hecho de que compiz-core-abiversion-20170630 se eliminó de los repositorios.

    
respondido por el N0rbert 16.02.2018 - 10:08
13

He encontrado una solución. apt-get no puede manejar la situación, pero aptitude puede manejarlo.

sudo aptitude install ubuntu-desktop

Tenga en cuenta que la primera solución ofrecida por aptitude no corrige el problema, ya que se opta por no instalar el paquete. Tuve que seleccionar no la primera vez, y luego aptitude ofreció una segunda solución para degradar los paquetes de compiz que causaron todos los problemas. El downgrade corrige el problema de dependencia, y luego se reinstalan ubuntu-desktop y unity.

    
respondido por el Andrew Vian 16.02.2018 - 00:13
2

Suponiendo que hayas iniciado sesión y tu IU esté bloqueada sin unidad, puedes hacer lo siguiente:

  1. Vaya a tty4 usando Ctrl + Alt + F4 .
  2. iniciar sesión.
  3. Instala aptitude :

    sudo apt install aptitude
    
  4. Instala unity usando aptitude :

    sudo aptitude install unity
    

Luego te dirá que hay un paquete conflictivo. Usted responde 'n' y le propondrá que baje la calificación de compiz. Adelante y acepta eso.

    
respondido por el Chadi 16.02.2018 - 00:23
2

Esta es la segunda vez en menos de 6 meses que los equipos de Ubuntu realizaron una actualización propuesta sin probar ni romper los sistemas de Ubuntu que funcionan.

Estos chicos recientemente se han liberado para romper la versión actual de LTS con actualizaciones propuestas falsas y no probadas ... Eso es nuevo, hasta el año pasado nunca sucedió.

La solución es NEVER install a propuesta y también llamada Partial Upgrade ... Aún puede actualizar su sistema a través de Synaptic paquete por paquete (aunque para entenderlo Synaptic ahora se elimina de la versión oficial) ... Hasta que bloquee todas las actualizaciones de la versión con errores. Aquí hay un ejemplo:

#!/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

Luego ejecute el script por su nombre en el directorio actual, como:

$ ./block-upd-nemo

Desbloquear

#!/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

entonces

$ ./unblock-upd-nemo

Aquí en Synaptic puede ver una larga lista de paquetes relacionados con compiz que están rompiendo Xenial LTS al eliminar estos paquetes:

ubuntu-desktop unity unity-tweak-tool unsettings ...

Los paquetes a bloquear son:

[Lista actualizada porque perdí los paquetes afectados por la unidad]

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

Una lista bastante larga. Manejable a través de shell scripting.

Una solución de recuperación sería arrancar desde una memoria USB de instalación de Xenial y realizar un chroot . Vaya al sitio web de Launchpad para compiz para descargar los paquetes Release (main) y obligue a instalarlos con dpkg -i *.deb y luego bloquee todas las actualizaciones o elimine las versiones proposed de su configuración de actualización.

[Actualización]: también debe ir al sitio web de Launchpad para unity y descargar el Release (main) paquetes afectados (ver más abajo en el script).

Búsqueda de Google si no está familiarizado con ella.

Aquí está mi script de bloqueo para compiz Acabo de terminar:

[Actualizado porque perdí los paquetes afectados por la unidad]

#!/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

No olvides configurar los scripts ejecutables ...

$ chmod a+x block-upd-compiz

[Folllow Up]: después de ejecutar un script de Shell para desbloquear los 19 paquetes de compiz y unity . Probé la solución N0rbet y parece funcionar:

$ 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
    
respondido por el Antonio 16.02.2018 - 02:11

Lea otras preguntas en las etiquetas