¿Cómo solucionar el problema "No se puede calcular la actualización" al actualizar de 12.04 a 12.10?

20

He estado intentando actualizar a 12.10 desde que se lanzó hoy, pero sigo encontrando este error:

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

Intenté actualizar todo el software instalado actualmente, eliminar todos los PPA adicionales, degradar los archivos instalados desde el ppa de xorg edgers, pero no he podido resolver el problema.

Vagabundo232
fuente

Respuestas:

7

Arreglé el mío eliminando los paquetes de ppa que había instalado usando ppa-purge

Sabía que necesitaba hacer esto marcando los registros en / var / log / dist-upgrade / al final del archivo apt.log, verá lo que lo estaba confundiendo. En el mío era un controlador de video, y estaba ejecutando varias actualizaciones, así que hice:

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

el último, el driver glasen, parece haber hecho el truco por mí. La actualización ahora continúa de manera normal.

usuario92965
fuente
23

Como se indica aquí , eliminar las fuentes de PPA no funciona todo el tiempo.

Necesita desinstalar paquetes ofensivos. puedes encontrarlos con:

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

El mío era un paquete xorg. Lo eliminé con el comando:

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

y luego la actualización podría continuar.

Massimo
fuente
44
Gracias por señalar DONDE estaban los paquetes rotos. Esa fue la clave de mi exitosa actualización a 13.10.
DaShaun
¡Si! Todo fue couse de xserver-xorg- *. ( apt-get remove xserver-xorg-*)
K-Gun
1
En lugar de "roto", una palabra clave más específica para usar en su búsqueda de paquetes ofensivos es "no se puede satisfacer".
ultrajohn
1
Tengo una lista muy larga de unos 100 paquetes.
WhoKnows
Tenía más de 900, e incluso unas pocas horas de eliminarlos a través del trabajo de detective en el apt.log solo me llevó a alrededor de ~ 350. Sabiendo que el problema en mi caso era todo lo que había instalado manualmente a lo largo de los años, finalmente me abroché el cinturón y simplemente eliminé todas las entradas "Instaladas (locales u obsoletas)" que figuran en la pestaña "Estado" de Synaptic. Sí, sabía que requeriría la copia del Live CD para obtener todo lo necesario para volver a tener un sistema operativo, pero funcionó.
Plenus Franckly
16

Para una actualización de versión "Sin dolor".

  • Antes de continuar, verifique si la nueva versión está disponible para actualización. Abre una terminal y da este comando

    do-release-upgrade -c

En caso afirmativo, proceda:

  • Elimine todos los PPA externos que haya agregado.

    Desde Software-Center> Editar> Fuentes de software> Otro software. No solo desmarque, sino elimínelos.

  • Luego cierre todas las aplicaciones gráficas y abra solo un terminal. (Pantalla completa es mejor) Dé los siguientes comandos

    sudo apt-get update 
    sudo apt-get dist-upgrade
    
  • Luego dale al siguiente comando que haga un poco de limpieza

    sudo apt-get --purge autoremove
    sudo apt-get autoclean
    sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
    
  • Entonces puedes continuar con la actualización

    sudo do-release-upgrade
    

No navegue ni abra ventanas o programas durante la actualización.

Sea paciente hasta que termine la actualización.

Amistoso: No corras (o corras) para actualizar desde el primer día. Actualice desde el día dos o tres (mejor).

NickTux
fuente
¡Gracias! ¡Tu respuesta es extremadamente educativa! Sin embargo, solucioné mi problema antes de leer su respuesta. Tuve que habilitar los PPA en conflicto y luego purgarlos para hacer el trabajo.
Vagrant232
¿qué sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')hacer?
WhoKnows
1
@whoKnows Perdón por la respuesta tardía. Esto buscará, buscará y eliminará todas las sobras marcadas para su eliminación, pero aún no se han eliminado. Eso es lo que significa 'rc'.
NickTux
Esto no funcionó para mí, pero el siguiente lo hizo
John Small
3

Logré resolver el problema sin eliminar ningún paquete. En la configuración del administrador de actualizaciones, desactivé todas las opciones de software de Ubuntu, dejando solo la primera casilla marcada: "Software gratuito y de código abierto compatible con Canonical (principal)".

macflav
fuente
Voté por esta respuesta porque resolvió un problema. Fue suficiente para desmarcar "Community-maintened ... (universe)". Tuve exactamente el mismo problema que el descrito en el tema. Estaba actualizando de 14.04 a 16.04.1 con "Software Updater".
Maug Lee el
Esto funcionó para mí, los comentarios sobre la purga de paquetes no lo hicieron.
John Small
2

Recibí este mensaje de error sobre la actualización, aunque entre diferentes versiones; estaba haciendo 14.04 Trusty -> 16.04 Xenial, pero creo que este consejo puede ser útil para otras personas que obtienen el mismo error, ya que me llevó años descubrirlo, y esta respuesta aparece prominentemente en Google.

Es importante verificar si hay algún error /var/log/dist-upgrade/main.log; en mi caso, hubo un error que decía que postgresql-9.3-postgis-2.1se eliminó de la lista negra y que el proceso de actualización estaba tratando de eliminarlo. Eliminar ese paquete me permite actualizar.

(Nota: /var/log/dist-upgrade/apt.logpuede confundirlo al enumerar paquetes "rotos" que en realidad no bloquearán la actualización).

Esto también se señala en esta pregunta y respuesta similares: /ubuntu//a/541406/13868

Por cierto, ejecutar sudo ubuntu-bug ubuntu-release-upgrader-coredespués de la actualización fallida, puede detectar tales problemas y abrir el informe de error correspondiente en su navegador web, eso es lo que me ayudó a encontrar el problema.

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

Eso funcionó para mí.

Jirobo
fuente