15/02/18 actualización compiz rompió la unidad

21

Esta actualización compiz forzó la eliminación de unityy ubuntu-desktopen mi sistema Ubuntu 16.04.

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

ingrese la descripción de la imagen aquí

En la práctica, utilizo principalmente LXDE en este sistema, pero sería muy infeliz si usara Unity ...

Dado que ocasionalmente uso el escritorio de Unity, ¿hay alguna solución para esto?

Editar: están surgiendo preguntas relacionadas. Parece un escape de gran calidad

Paquetes "retenidos" para la actualización, ¿desea desinstalar unity?

actualización compiz unidad desinstalada

Ubuntu TaskBar se ha ido. Falta el lanzador

¿Qué hicieron, chicos? ¡Las actualizaciones de mis dos entornos 16.04 mataron los escritorios!

Edición 2: error 1749839 enviado a la plataforma de lanzamiento

Mármol orgánico
fuente
¿Regresión? google.ca/url?q=/ubuntu/992571/…
WinEunuuchs2Unix
Tengo el mismo problema. Sin lanzador / barra de tareas o mucho más.
Andrew Vian
1
@OrganicMarble Hay otros dos usuarios quemados por las actualizaciones de 16.04 que leí en la última hora. Algo grande está sucediendo de nuevo, creo. No he actualizado desde el 4 de enero de 2018 debido a todos los errores que se informan. Solo las actualizaciones manuales del kernel durante ese tiempo me trajeron hasta el 4.14.18
WinEunuuchs2Unix
1
@OrganicMarble Sí, publiqué comentarios en dos de esos tres enlaces que acaba de agregar. Apuesto a que habrá una docena más en un día.
WinEunuuchs2Unix
1
Otro usuario con el mismo problema dijo que arregló la oferta para eliminar el escritorio. Nunca aceptó la oferta de eliminar en primer lugar. Estoy pensando que la opción de recuperación sería demasiado complicada duranteapt upgrade
WinEunuuchs2Unix

Respuestas:

10

Muy extraña situación.
compiz-core-abiversion-20151010 es virtual en xenial y picante , pero lo proporciona 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

Entonces APT y dpkg los conocen a ambos.

La lista completa de la compiz-core-abiversionfamilia 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-20151010no 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

Entonces, en un sistema normal y consistente, todo lo que necesitamos es tener todas las actualizaciones instaladas.
Pero si unityse eliminó el paquete, 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 xenial limpio y 3 precisas -> confiable -> xenial ) funcionan normalmente después de las actualizaciones regulares sin mi intervención. Todos estos sistemas no intentaron eliminar ni Unity ni ubuntu-desktopdurante las actualizaciones. Y, por supuesto, xenial-proposed está deshabilitado en mi sistema, ya que no quiero transformar mi Ubuntu LTS en ArchLinux auto rompible y de vanguardia.

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

N0rbert
fuente
1
Instalar compiz-core-abiversion-20170630 solucionó el problema de dependencia. ¡Muchas gracias! No estoy seguro de por qué esto faltaba en mi sistema y aparentemente en otros.
Mármol orgánico
@Organic Marble N0rbert te acaba de decir que hasta ahora era un paquete virtual provisto por compiz-core. La diferencia es que ahora es un paquete normal de / por separado para instalar como tal ... Eso no fue adivinado por la liberación propuesta ...
Antonio
Supongo que debería haber sido incluido en el lanzamiento.
Mármol orgánico
1
compiz-coreEs un paquete real, compiz-core-abiversion-20170630permanece virtual. Pueden ser dpkg / APT-internos deben saber que hemos instalado la versión 20170630 actual y disponible (no se perdió 20151010).
N0rbert
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 elige 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. La versión anterior corrige el problema de dependencia, y luego ubuntu-desktop y unity se reinstalan.

Andrew Vian
fuente
2
Gracias por su solución de temperatura muy inteligente. Una respuesta posterior proporcionó la resolución completa, por lo que he movido la aceptación a esa.
Mármol orgánico
2

Suponiendo que ha iniciado sesión y su interfaz de usuario está atascada sin unidad, puede hacer lo siguiente:

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

    sudo apt install aptitude
    
  4. Instalar unityusando aptitude:

    sudo aptitude install unity
    

Luego le dirá que hay un paquete conflictivo. Respondes 'n'y te propondrá que degrades compiz. Adelante, acepta eso.

Chadi
fuente
1
Gracias, pero esto realmente no agrega nada a la respuesta anterior.
Mármol orgánico
2

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

Estos muchachos recientemente fueron liberados para romper la versión actual de LTS con actualizaciones falsas y no probadas ... Eso es nuevo, hasta el año pasado nunca sucedió.

La solución es NEVER installuna propuesta y llamada Partial Upgrade... Todavía puede actualizar su sistema Synapticpaquete por paquete (aunque para tener sentido, Synapticahora 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

Para 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

Luego

$ ./unblock-upd-nemo

Aquí en Synaptic puede ver una larga lista de compizpaquetes relacionados que se rompen Xenial LTSal eliminar estos paquetes:

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

Los paquetes para bloquear son:

[Lista actualizada ya que me perdí los paquetes de la unidad afectada]

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

Toda una larga lista. Manejable a través de scripts de Shell.

Una solución de recuperación sería arrancar desde una memoria USB de instalación de Xenial y realizar una chroot. Vaya al sitio web de Launchpad para compiz descargar los Release (main)paquetes y forzar la instalación con ellos, dpkg -i *.debluego bloquear todas las actualizaciones o eliminar las proposedversiones de su configuración de actualización.

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

Busca en Google si no estás familiarizado con él.

Aquí está mi script de bloqueo porque compizacabo de terminar:

[Actualizado ya que me perdí los paquetes de la unidad afectada]

#!/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 olvide 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 compizy unity. Probé la N0rbetsolución 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
Antonio
fuente
44
Cuando dices "propuesta" actualizada, ¿te refieres al xenial-proposedcanal? Si es así, esos son explícitamente para pruebas. No debe instalarlos a menos que esté preparado para la rotura.
muru
2
@ Antonio Siempre sucede. Rompieron 14.04 horriblemente en 2015. bugs.launchpad.net/hundredpapercuts/+bug/1469995
Mármol orgánico