Recuperarse de una actualización fallida

Recuperarse de una actualización fallida

texto fuerteHe estado ejecutando una instalación estable de 18.04.02 Desktop durante aproximadamente 30 meses. El servidor no estuvo encendido durante aproximadamente 2 semanas, por lo que cuando se encendió esta mañana pasó por sus actualizaciones de seguridad automáticas. Una vez que terminaron, ejecuté el administrador de actualizaciones y recibí estos mensajes de error.

Evidentemente los paquetes son inconsistentes. Al ejecutar "sudo nano /etc/apt /sources.list", verifiqué que no tengo repositorios de terceros. Al menos eso pienso.

¿Existe alguna forma de volver a un conjunto coherente de paquetes? No, no tengo una copia de seguridad reciente. Por supuesto, he seguido las sugerencias del mensaje de error.

EDITADO en respuesta al comentario. Salida de apt-get install -f

Your Hardware Enablement Stack (HWE) is supported until April 2023.
Last login: Mon Sep 27 15:38:50 2021 from 192.168.1.96
stephen@leia:~$
stephen@leia:~$ sudo apt-get install -f
[sudo] password for stephen:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following package was automatically installed and is no longer required:
  linux-hwe-5.4-headers-5.4.0-77
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  libwebkit2gtk-4.0-37
Suggested packages:
  libwebkit2gtk-4.0-37-gtk2
The following packages will be upgraded:
  libwebkit2gtk-4.0-37
1 to upgrade, 0 to newly install, 0 to remove and 24 not to upgrade.
1 not fully installed or removed.
Need to get 0 B/13.4 MB of archives.
After this operation, 81.9 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 264170 files and directories currently installed.)
Preparing to unpack .../libwebkit2gtk-4.0-37_2.32.4-0ubuntu0.18.04.1_amd64.deb ...
Unpacking libwebkit2gtk-4.0-37:amd64 (2.32.4-0ubuntu0.18.04.1) over (2.32.3-0ubuntu0.18.04.1) ...
dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt
dpkg-deb: error: <decompress> subprocess returned error exit status 2
dpkg: error processing archive /var/cache/apt/archives/libwebkit2gtk-4.0-37_2.32.4-0ubuntu0.18.04.1_amd64.deb (--unpack):
 cannot copy extracted data for './usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.53.5' to '/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.53.5.dpkg-new': unexpected end of file or stream
Errors were encountered while processing:
 /var/cache/apt/archives/libwebkit2gtk-4.0-37_2.32.4-0ubuntu0.18.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
stephen@leia:~$

La máquina parece estable pero ahora no se puede actualizar. ¿Es una causa perdida?

Gracias por cualquier ayuda

Mensaje de error

Respuesta1

Su salida tiene la información que necesita para resolver el problema:

cannot copy extracted data for './usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.53.5' to '/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.53.5.dpkg-new':unexpected end of file or stream

Resumamos eso un poco para facilitar la comprensión...

cannot copy extracted data for X to Y:unexpected end of file or stream

X = './usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.53.5'
Y = '/usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37.53.5.dpkg-new'

¿Qué significa?

"final inesperado de archivo o secuencia" significa exactamente lo que dice: el paquete está incompleto o dañado. Debe eliminarlo de su caché local y dejar que apt descargue una copia nueva, nueva y completa del paquete.

¿Qué paquete?

Hagamos esa pregunta, usando la ruta proporcionada por X:

  • El nombre del paquete está en la segunda línea:libwebkit2gtk-4.0-37
$ dpkg -S /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37
libwebkit2gtk-4.0-37:amd64: /usr/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37

¿Cómo elimino el paquete local corrupto y descargo una copia nueva?

$ sudo apt clean libwebkit2gtk-4.0-37                 // Delete local
$ sudo apt update
$ sudo apt install --reinstall libwebkit2gtk-4.0-37   // Download fresh

Respuesta2

La solución que funcionó para mí fue ejecutar sudo apt full-upgrade, que tuvo el efecto de descargar la copia nueva del paquete dañado seguido de sudo apt Upgrade.

información relacionada