Come risolvere il problema "Impossibile calcolare l'aggiornamento" durante l'aggiornamento da 12.04 a 12.10?


20

Ho cercato di aggiornare alla 12.10 da quando è stato rilasciato oggi, ma continuo a riscontrare questo errore:

An unresolvable problem occurred while calculating the upgrade:
E:Unable to correct problems, you have held broken packages.
This can be caused by:  
 * Upgrading to a pre-release version of Ubuntu  
 * Running the current pre-release version of Ubuntu  
 * Unofficial software packages not provided by Ubuntu

Ho provato ad aggiornare tutto il software attualmente installato, rimuovendo tutti i PPA extra, eseguendo il downgrade dei file installati dal ppa di xorg edgers ma non sono stato in grado di risolvere il problema.

Risposte:


7

Ho risolto il mio rimuovendo i pacchetti ppa che avevo installato usando ppa-purge

Sapevo che dovevo farlo controllando i log in / var / log / dist-upgrade / alla fine del file apt.log vedrai cosa lo confondeva. Nel mio era un driver video e stavo eseguendo diversi aggiornamenti, quindi ho fatto:

sudo ppa-purge ppa:ubuntu-x-swat/x-updates
sudo ppa-purge ppa:unity-team/staging
sudo ppa-purge ppa:webapps/preview
sudo ppa-purge ppa:nilarimogard/webupd8
sudo ppa-purge ppa:scopes-packagers/ppa
sudo ppa-purge ppa:glasen/intel-driver

l'ultimo - il guidatore di glasen - sembra aver fatto il trucco per me. L'aggiornamento sta procedendo normalmente.


23

Come indicato qui , la rimozione delle fonti PPA non funziona sempre.

Devi disinstallare i pacchetti offensivi. puoi trovarli con:

grep Broken /var/log/dist-upgrade/apt.log

Il mio era un pacchetto xorg. L'ho rimosso con il comando:

sudo apt-get remove xserver-xorg-video-all

e quindi l'aggiornamento potrebbe continuare.


4
Grazie per aver sottolineato DOVE erano i pacchetti rotti. Questa è stata la chiave del mio aggiornamento riuscito alla 13.10.
DaShaun,

Sì! Tutto era couse di xserver-xorg- *. ( apt-get remove xserver-xorg-*)
K-Gun

1
Invece di "rotto", una parola chiave più specifica da utilizzare nella ricerca di pacchetti offensivi è "impossibile da soddisfare".
ultrajohn,

1
Ricevo un elenco molto lungo di circa 100 pacchetti.
Who Know

Ho avuto ben oltre 900, e anche poche ore di abbattimento tramite detective su apt.log mi hanno portato a circa ~ 350. Sapendo che il problema nel mio caso era tutto ciò che avevo installato manualmente nel corso degli anni, alla fine mi sono piegato e ho semplicemente eliminato tutte le voci "Installate (locali o obsolete)" elencate nella scheda "Stato" di Synaptic. Sì, sapevo che avrebbe richiesto il chroot dal Live CD per apt-get tutte le cose per ottenere di nuovo un sistema operativo - ma ha funzionato.
Plenus Franckly,

16

Per un aggiornamento di versione "NonPainful".

  • Prima di procedere, verificare se la nuova versione è disponibile per l'aggiornamento. Apri un terminale e dai questo comando

    do-release-upgrade -c

Se sì, procedere:

  • Rimuovi tutti i PPA esterni che hai aggiunto.

    Da Software Center> Modifica> Origini software> Altro software. Non solo deselezionare, ma eliminarli.

  • Quindi chiudi tutte le applicazioni grafiche e apri solo un terminale. (Schermo intero è meglio) Dai i seguenti comandi

    sudo apt-get update 
    sudo apt-get dist-upgrade
    
  • Quindi dai ai seguenti comandi di fare un po 'di pulizie

    sudo apt-get --purge autoremove
    sudo apt-get autoclean
    sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
    
  • Quindi è possibile procedere con l'aggiornamento

    sudo do-release-upgrade
    

Non navigare o aprire finestre o programmi durante l'aggiornamento.

Sii paziente fino al termine dell'aggiornamento.

Amichevole: non correre (o correre) per eseguire l'aggiornamento dal primo giorno. Esegui l'upgrade dal secondo o terzo giorno (meglio).


Grazie! La tua risposta è estremamente istruttiva! Tuttavia, ho risolto il problema prima di leggere la tua risposta. Ho dovuto abilitare i PPA in conflitto e poi eliminarli per portare a termine il lavoro.
Vagrant232,

ciò che sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')fare?
who Know

1
@whoKnows Ci scusiamo per la risposta tardiva. Ciò cercherà di trovare e rimuovere tutti gli avanzi che sono stati contrassegnati per la rimozione, ma non sono ancora stati rimossi. Questo è ciò che significa "rc".
NickTux,

Questo non ha funzionato per me, ma quello sotto ha fatto
John Small il

3

Sono riuscito a risolvere il problema senza rimuovere alcun pacchetto. Sulle impostazioni per il gestore aggiornamenti, ho deselezionato tutte le opzioni del software Ubuntu, lasciando selezionata solo la prima casella - "Software gratuito e open source supportato da Canonical (principale)".


Ho votato a favore di questa risposta perché ha risolto un problema. È stato sufficiente deselezionare "Community-manintened ... (universo)". Ho avuto esattamente lo stesso problema descritto sull'argomento. Stavo aggiornando dal 14.04 al 16.04.1 con "Software Updater".
Maug Lee,

Questo ha funzionato per me, i commenti sull'eliminazione dei pacchetti no.
John Small,

2

Ho avuto questo messaggio di errore sull'aggiornamento, anche se tra versioni diverse - stavo facendo 14.04 Trusty -> 16.04 Xenial - ma penso che questo suggerimento possa essere utile ad altre persone che ottengono lo stesso errore, dal momento che mi ci sono voluti anni per capire, e questa risposta è evidente in Google.

È importante verificare se ci sono errori /var/log/dist-upgrade/main.log- nel mio caso, si è verificato un errore nel dire che postgresql-9.3-postgis-2.1era stato rimosso dalla lista nera e che il processo di aggiornamento stava cercando di rimuoverlo. La rimozione di quel pacchetto mi consente di aggiornare.

(nb /var/log/dist-upgrade/apt.logpotrebbe indurre in errore elencando i pacchetti "spezzati" che in realtà non bloccheranno l'aggiornamento.)

Questo è anche sottolineato in questa domanda e risposta simile: /ubuntu//a/541406/13868

Per inciso, l'esecuzione sudo ubuntu-bug ubuntu-release-upgrader-coredopo l'aggiornamento non riuscito, può effettivamente rilevare tali problemi e aprire la relativa segnalazione di bug nel browser Web: questo è ciò che mi ha aiutato a trovare il problema.


-4
sudo sed -i 's/raring/saucy/' /etc/apt/sources.list
sudo apt-get dist-upgrade

quello ha funzionato per me.

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.