15/02/18 aggiornamento compiz ha rotto l'unità


21

Questo aggiornamento di compiz ha costretto la rimozione di unitye ubuntu-desktopsul mio sistema Ubuntu 16.04.

Il pacchetto offensivo che manca, ma ha unitybisogno, sembra essere compiz-core-abiversion-20151010. Sembra essere un pacchetto virtuale e non riesco a trovarlo da scaricare.

inserisci qui la descrizione dell'immagine

In effetti, uso principalmente LXDE su questo sistema, ma sarei molto infelice se usassi Unity ...

Poiché di tanto in tanto utilizzo il desktop Unity, esiste una soluzione per questo?

Modifica: domande correlate stanno arrivando. Sembra una grande fuga di qualità

Pacchetti "Kept back" per l'aggiornamento, vuoi disinstallare l'unità?

aggiornamento disinstallato unità compiz

Ubuntu TaskBar non c'è più. Manca Launcher

Cosa avete fatto ragazzi! Gli aggiornamenti di entrambi i miei ambienti 16.04 hanno ucciso i desktop!

Modifica 2: Bug 1749839 inviato al launchpad



Ho lo stesso problema. Nessun launcher / barra delle applicazioni o molto altro.
Andrew Vian,

1
@OrganicMarble Ci sono altri due utenti bruciati dagli aggiornamenti 16.04 che ho letto nell'ultima ora. Qualcosa di grosso è di nuovo penso. Non aggiorno dal 4 gennaio 2018 a causa di tutti i bug segnalati. Solo gli aggiornamenti manuali del kernel in quel periodo mi hanno portato fino al 4.14.18
WinEunuuchs2Unix

1
@OrganicMarble Sì, ho pubblicato commenti in due di questi tre collegamenti appena aggiunti. Scommetto che ce ne saranno una dozzina in più al giorno.
WinEunuuchs2Unix

1
Un altro utente con lo stesso problema ha dichiarato di aver risolto l'offerta per eliminare il desktop. Non ha mai accettato l'offerta di cancellare in primo luogo. Sto pensando che l'opzione di ripristino non sarebbe troppo complicata duranteapt upgrade
WinEunuuchs2Unix

Risposte:


10

Situazione molto strana.
compiz-core-abiversion-20151010 è virtuale su xenial e zesty , ma è fornito da 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

Quindi APT e dpkg conoscono entrambi.

L'elenco completo della compiz-core-abiversionfamiglia è il seguente:

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

Qui come sappiamo compiz-core-abiversion-20151010non è installabile:

$ 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

Ma possiamo installare la versione più recente (effettiva):

$ 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

Quindi su un normale sistema coerente tutto ciò che serve è avere tutti gli aggiornamenti installati.
Ma se il unitypacchetto è stato rimosso, possiamo installarlo con:

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

Nota 1: Le mie installazioni Ubuntu 16.04 LTS con Unity e MATE DE (1 xenial pulito e 3 vecchi precisi -> affidabili -> xenial ) funzionano normalmente dopo aggiornamenti regolari senza il mio intervento. Tutti questi sistemi non hanno provato a rimuovere né Unity né ubuntu-desktopdurante gli aggiornamenti. E ovviamente xenial-proposed è disabilitato sul mio sistema, dal momento che non voglio trasformare il mio Ubuntu LTS in ArchLinux auto-frantumabile e all'avanguardia.

Nota 2: ho modificato la mia risposta 2018-03-12 a causa del fatto che è compiz-core-abiversion-20170630stato rimosso dai repository.


1
L'installazione di compiz-core-abiversion-20170630 ha risolto il problema della dipendenza. Grazie mille! Non sono sicuro del motivo per cui questo mancava sul mio sistema e apparentemente su altri.
Marmo organico

@Organic Marble N0rbert ti ha appena detto che fino ad ora era un pacchetto virtuale fornito da compiz-core. La differenza è che ora è un pacchetto normale / separato da installare come tale ... Questo non è stato indovinato dalla versione proposta ...
Antonio,

Suppongo che avrebbe dovuto essere incluso nella versione.
Marmo organico

1
compiz-coreè un vero pacchetto, compiz-core-abiversion-20170630rimane virtuale. Potrebbe essere dpkg / APT-internals dovrebbe sapere che abbiamo installato la versione 20170630 attuale e disponibile (da non perdere 20151010).
Nrbert

13

Ho trovato una soluzione apt-get non riesce a gestire la situazione, ma aptitude può gestirla.

sudo aptitude install ubuntu-desktop

Nota che la prima soluzione offerta da aptitude non risolve il problema, perché questo sceglie di non installare il pacchetto. Ho dovuto selezionare no la prima volta, e quindi aptitude ha offerto una seconda soluzione per il downgrade dei pacchetti compiz che ha causato tutti i problemi. Il downgrade risolve il problema di dipendenza, quindi ubuntu-desktop e unity vengono reinstallati.


2
Grazie per la tua soluzione temporanea molto intelligente. Una risposta successiva ha fornito la risoluzione completa, quindi ho spostato l'accettazione su quella.
Marmo organico

2

Supponendo che tu abbia effettuato l'accesso e che l'interfaccia utente sia bloccata senza unità, puoi effettuare le seguenti operazioni:

  1. Vai a tty4 usando Ctrl+ Alt+ F4.
  2. Accesso.
  3. Installa aptitude:

    sudo apt install aptitude
    
  4. Installa unityusando aptitude:

    sudo aptitude install unity
    

Ti dirà quindi che esiste un pacchetto in conflitto. Rispondi 'n'e ti proporrà di effettuare il downgrade di compiz. Vai avanti e accettalo.


1
Grazie, ma questo non aggiunge nulla alla risposta precedente.
Marmo organico

2

Questa è la seconda volta in meno di 6 mesi che i team di Ubuntu hanno fatto un aggiornamento proposto senza testare e rompere i sistemi Ubuntu funzionanti.

Questi ragazzi recentemente si sono scatenati per rompere l'attuale versione LTS con falsi e aggiornamenti proposti non testati ... Questo è nuovo, fino all'anno scorso non è mai successo.

La soluzione è quella di NEVER installun proposto e cosiddetto Partial Upgrade... Puoi ancora aggiornare il tuo sistema attraverso un Synapticpacchetto per pacchetto (anche se per capirlo Synapticè ora rimosso dalla versione ufficiale) ... Fino a quando non blocchi tutti gli aggiornamenti della versione buggy . Ecco un esempio:

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

Quindi esegui lo script con il suo nome nella directory corrente, come:

$ ./block-upd-nemo

Per sbloccare

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

Poi

$ ./unblock-upd-nemo

Qui in Synaptic puoi vedere un lungo elenco di compizpacchetti correlati che si stanno rompendo Xenial LTSrimuovendo questi pacchetti:

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

I pacchetti da bloccare sono:

[Elenco aggiornato quando ho perso i pacchetti interessati dall'unità]

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

Abbastanza una lunga lista. Gestibile tramite scripting Shell.

Una soluzione di ripristino potrebbe essere l'avvio da una chiavetta USB di installazione Xenial ed eseguire un chroot. Visitare il sito Web Launchpad per compiz scaricare i Release (main)pacchetti e forzare l'installazione con dpkg -i *.debquindi bloccare tutti gli aggiornamenti o rimuovere le proposedversioni dalla configurazione degli aggiornamenti.

[Aggiornamento]: è necessario anche visitare il sito Web Launchpad unity e scaricare i Release (main)pacchetti interessati (vedere di seguito nello script).

Ricerca Google se non si ha familiarità con esso.

Ecco il mio script di blocco per compizho appena finito:

[Aggiornato quando ho perso i pacchetti interessati dall'unità]

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

Non dimenticare di impostare gli script eseguibili ...

$ chmod a+x block-upd-compiz

[Folllow Up]: dopo aver eseguito uno script Shell per sbloccare i 19 pacchetti da compize unity. Ho provato la N0rbetsoluzione e sembra funzionare:

$ 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

4
Quando dici "proposto" aggiornato, intendi nel xenial-proposedcanale? In tal caso, quelli sono esplicitamente per il test. Non dovresti installarli se non sei pronto per la rottura.
muru,

2
@Antonio Succede sempre. Hanno rotto il 14.04 in modo orribile nel 2015. bugs.launchpad.net/hundredpapercuts/+bug/1469995
Marmo organico
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.