Atualização do compiz 2/15/18 quebrou a unidade

21

Esta atualização compiz forçou a remoção de unitye ubuntu-desktopno meu sistema Ubuntu 16.04.

O pacote incorreto que está faltando, mas unityprecisa, parece estar compiz-core-abiversion-20151010. Parece ser um pacote virtual e não consigo encontrá-lo para download.

insira a descrição da imagem aqui

Por acaso, uso principalmente o LXDE neste sistema, mas ficaria muito infeliz se usasse o Unity ...

Como ocasionalmente uso a área de trabalho do Unity, há uma correção para isso?

Editar: questões relacionadas estão chegando. Parece uma grande fuga de qualidade

Pacotes "mantidos de volta" para atualização, deseja desinstalar a unidade?

unidade desinstalada atualização compiz

A barra de tarefas do Ubuntu se foi. O lançador está ausente

O que vocês acabaram de fazer! As atualizações nos meus ambientes 16.04 mataram os desktops!

Edit 2: Bug 1749839 enviado à barra de ativação

Mármore orgânico
fonte
Regressão? google.ca/url?q=/ubuntu/992571/…
WinEunuuchs2Unix
Eu tenho o mesmo problema. Nenhum iniciador / barra de tarefas ou muito mais.
Andrew Vian
1
@OrganicMarble Há outros dois usuários queimados pelas atualizações 16.04 que li na última hora. Algo grande está acontecendo de novo, eu acho. Não atualizo desde 4 de janeiro de 2018 por causa de todos os erros relatados. Apenas atualizações manuais do kernel durante esse período me deram até 14.04.18
WinEunuuchs2Unix 15/02/19
1
@OrganicMarble Sim, eu postei comentários em dois desses três links que você acabou de adicionar. Aposto que haverá mais uma dúzia em um dia.
WinEunuuchs2Unix
1
Outro usuário com o mesmo problema disse que corrigiu a oferta para excluir a área de trabalho. Ele nunca aceitou a oferta para excluir em primeiro lugar. Estou pensando opção undelete seria muito complicado duranteapt upgrade
WinEunuuchs2Unix

Respostas:

10

Situação muito estranha.
Sim compiz-core-abiversion-20151010 é virtual no xenial e no zesty , mas é fornecido 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

Portanto, o APT e o dpkg conhecem os dois.

A lista completa da compiz-core-abiversionfamília é a seguinte:

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

Aqui, como sabemos, compiz-core-abiversion-20151010não é instalável:

$ 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

Mas podemos instalar a versão mais recente (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

Portanto, em sistemas consistentes normais, tudo o que precisamos é ter todas as atualizações instaladas.
Mas se o unitypacote foi removido, podemos instalá-lo com:

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

Nota 1: Minhas instalações Ubuntu 16.04 LTS com Unity e MATE DE (1 xenial limpo e 3 precisos antigos -> confiáveis -> xenial ) funcionam normalmente após atualizações regulares sem a minha intervenção. Todos esses sistemas não tentaram remover nem o Unity nem ubuntu-desktopdurante as atualizações. E, xenial-proposed é claro, está desativado no meu sistema, já que não quero transformar meu Ubuntu LTS em um ArchLinux de última geração, auto-quebrável.

Nota 2: editei minha resposta 12/03/2018 devido ao fato de ter compiz-core-abiversion-20170630sido removido dos repositórios.

N0rbert
fonte
1
A instalação de compiz-core-abiversion-20170630 corrigiu o problema de dependência. Muito obrigado! Não sei por que isso estava faltando no meu sistema e aparentemente em outros.
Organic Marble
O @Organic Marble N0rbert acabou de lhe dizer que até agora era um pacote virtual fornecido pela compiz-core. A diferença é que agora é um pacote normal / separado para ser instalado como tal ... Isso não foi adivinhado pela versão proposta ... #
Antonio Antonio
Suponho que deveria ter sido incluído no lançamento.
Organic Marble
1
compiz-coreé um pacote real, compiz-core-abiversion-20170630permanece virtual. Pode ser que o dpkg / APT-internals deva saber que instalamos a versão 20170630 real e disponível (não perca 20151010).
NFrbert 16/02
13

Eu encontrei uma solução. O apt-get não consegue lidar com a situação, mas o aptitude pode lidar com isso.

sudo aptitude install ubuntu-desktop

Observe que a primeira solução oferecida pelo aptitude não corrige o problema, porque escolhe não instalar o pacote. Eu tive que selecionar não na primeira vez e, em seguida, o aptitude ofereceu uma segunda solução de desclassificação dos pacotes compiz que causaram todos os problemas. O downgrade corrige o problema da dependência e o ubuntu-desktop e a unidade são reinstalados.

Andrew Vian
fonte
2
Obrigado por sua correção de temperatura muito inteligente. Uma resposta subseqüente forneceu a resolução completa, então mudei a aceitação para essa.
Organic Marble
2

Supondo que você esteja conectado e sua interface do usuário esteja bloqueada sem unidade, faça o seguinte:

  1. Vá para tty4 usando Ctrl+ Alt+ F4.
  2. Entrar.
  3. Instalar aptitude:

    sudo apt install aptitude
    
  4. Instale unityusando aptitude:

    sudo aptitude install unity
    

Em seguida, ele informará que há um pacote conflitante. Você responde 'n'e propõe que você faça o downgrade do compiz. Vá em frente e aceite isso.

Chadi
fonte
1
Obrigado, mas isso realmente não adiciona nada à resposta anterior.
Organic Marble
2

Esta é a segunda vez em menos de 6 meses que as equipes do Ubuntu fizeram uma atualização proposta sem nenhum teste e quebra dos sistemas Ubuntu em funcionamento.

Esses caras recentemente se soltaram para quebrar a versão atual do LTS com atualizações propostas falsas e não testadas ... Isso é novo, até o ano passado isso nunca aconteceu.

A solução é NEVER installuma proposta e os chamados Partial Upgrade... Você ainda pode atualizar seu sistema através de Synapticpacote por pacote (embora para entender melhor Synapticagora seja removido do release oficial) ... Até você bloquear todas as atualizações do release com bugs . Aqui está um exemplo:

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

Em seguida, execute o script por seu nome no diretório atual, 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

Então

$ ./unblock-upd-nemo

Aqui no Synaptic, você pode ver uma longa lista de compizpacotes relacionados que estão quebrando Xenial LTS, removendo estes pacotes:

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

Os pacotes a serem bloqueados são:

[Lista atualizada porque perdi os pacotes afetados pela unidade]

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

Uma longa lista. Gerenciável através de scripts do Shell.

Uma solução de recuperação seria inicializar a partir de um pendrive USB de instalação do Xenial e executar um chroot. Acesse o site da Barra de Ativação paracompiz fazer o download dos Release (main)pacotes e forçá-los a instalá-los e, em dpkg -i *.debseguida, bloqueie todas as atualizações ou remova-os proposedda sua configuração de atualização.

[Atualização]: Você também precisa ir ao site da Barra de Ativaçãounity e baixar os Release (main)pacotes afetados (veja abaixo no script).

Pesquisa no Google, se você não estiver familiarizado.

Aqui está o meu script de bloqueio, pois compizacabei de terminar:

[Atualizado quando perdi os pacotes afetados pela unidade]

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

Não se esqueça de definir os scripts executáveis ​​...

$ chmod a+x block-upd-compiz

[Seguinte]: Após executar um script do Shell para desbloquear os 19 pacotes de compize unity. Eu tentei a N0rbetsolução e 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
fonte
4
Quando você diz "proposta" atualizada, você quer dizer no xenial-proposedcanal? Nesse caso, esses são explicitamente para teste. Você não deve instalá-los a menos que esteja preparado para a quebra.
muru
2
@ Antonio Isso sempre acontece. Eles quebraram em 14.04 horrivelmente em 2015. bugs.launchpad.net/hundredpapercuts/+bug/1469995
Organic Marble