Восстановление после неудачного обновления

Восстановление после неудачного обновления

сильный текстЯ использую стабильную установку 18.04.02 Desktop около 30 месяцев. Сервер не включался около 2 недель, поэтому при включении сегодня утром он прошел через автоматические обновления безопасности. После того, как они закончились, я запустил менеджер обновлений и получил эти сообщения об ошибках

Очевидно, пакеты несовместимы. Я проверил, запустив "sudo nano /etc/apt /sources.list", что у меня нет никаких сторонних репозиториев. По крайней мере, я так думаю.

Есть ли способ вернуться к последовательному набору пакетов? Нет, у меня нет недавней резервной копии. Я, конечно, следовал рекомендациям в сообщении об ошибке

ОТРЕДАКТИРОВАНО в ответ на комментарий. Вывод 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:~$

Машина выглядит стабильной, но теперь не может обновиться. Это безнадежная причина?

Спасибо за любую помощь.

Сообщение об ошибке

решение1

Ваш вывод содержит информацию, необходимую для решения проблемы:

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

Давайте немного абстрагируемся для более легкого понимания...

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'

Что это значит?

"неожиданный конец файла или потока" означает именно то, что написано - пакет неполный или поврежден. Вы должны удалить его из локального кэша и позволить apt загрузить новую, свежую, полную копию пакета.

Какой пакет?

Давайте зададим этот вопрос, используя путь, предоставленный X:

  • Имя пакета находится во второй строке: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

Как удалить поврежденный локальный пакет и загрузить новую копию?

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

решение2

Решение, которое сработало для меня, состояло в выполнении sudo apt full-upgrade, что привело к загрузке новой копии поврежденного пакета, а затем к выполнению sudo apt upgrade.

Связанный контент