dpkg: пакет обработки ошибок - Невозможно восстановить / удалить версию образа Linux с помощью apt и dpkg

dpkg: пакет обработки ошибок - Невозможно восстановить / удалить версию образа Linux с помощью apt и dpkg


У меня проблема с apt и dpkg обновляют мою версию ядра Linux.

Помощь будет принята с благодарностью, и я также рассматриваю это как хорошую возможность для изучения Linux:)

Я просмотрел множество подобных решений в Интернете, предлагающих команды, которые при запуске оказываются в том же или ошибки очень похожи на те, что я показал ниже, или что у меня может быть полный каталог / boot , но я не верю, что это проблема, поскольку он сообщает о 50%. Я все равно не могу удалить версии ядра, чтобы освободить место (см. Ошибки ниже):

Я бы хотел получить самую последнюю версию ядра и пару предыдущих версий в качестве запасных. .

В настоящее время $ dpkg --list 'linux-image - *' возвращает около 50 версий (варианты 5.4 * , 5.8 * и ] 5.11 * )

$ sudo du -sh /boot
337M    /boot
$ sudo df /boot
Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/nvme0n1p2    721392 328124    340804  50% /boot

Моя текущая версия ядра:

$ uname -r
5.11.0-27-generic

ОС:

~$ uname -a
Linux thomas-labtop 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Wed Aug 11 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal

Когда я запускаю sudo apt --fix-broken install Я получаю:

$ sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED
  linux-image-5.11.0-34-generic
0 to upgrade, 0 to newly install, 1 to remove and 5 not to upgrade.
2 not fully installed or removed.
After this operation, 10.2 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 238716 files and directories currently installed.)
Removing linux-image-5.11.0-34-generic (5.11.0-34.36~20.04.1) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-5.11.0-34-generic
/etc/kernel/postrm.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.0-27-generic
Found initrd image: /boot/initrd.img-5.11.0-27-generic
Found linux image: /boot/vmlinuz-5.11.0-25-generic
Found initrd image: /boot/initrd.img-5.11.0-25-generic
Found linux image: /boot/vmlinuz-5.4.0-84-generic
Found initrd image: /boot/initrd.img-5.4.0-84-generic
Adding boot menu entry for UEFI Firmware Settings
/etc/grub.d/35_fwupd: line 5: /usr/share/grub: Is a directory
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 126
dpkg: error processing package linux-image-5.11.0-34-generic (--remove):
 installed linux-image-5.11.0-34-generic package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 linux-image-5.11.0-34-generic
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я я попытался очистить образ с помощью dpkg, и я также попытался установить его для установки:

$ echo "linux-image-5.11.0-34-generic install" | sudo dpkg --set-selections

Последующие команды apt в конечном итоге возвращают его к удалению.

Я пробовал различные команды удалить , очистить и установить . Поскольку linux-image-5.11.0-34-generic находится в состоянии наполовину установлен , я решил, что могу либо полностью удалить его, чтобы установить заново, либо завершить текущую установку но не смогли предотвратить его пометку как удаленную.

Текущее состояние dpkg --list 'linux-image *' :

$ dpkg --list 'linux-image*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                   Version               Architecture Description
+++-======================================-=====================-============-=================================
un  linux-image                            <none>                <none>       (no description available)
ii  linux-image-5.11.0-25-generic          5.11.0-25.27~20.04.1  amd64        Signed kernel image generic
ii  linux-image-5.11.0-27-generic          5.11.0-27.29~20.04.1  amd64        Signed kernel image generic
rH  linux-image-5.11.0-34-generic          5.11.0-34.36~20.04.1  amd64        Signed kernel image generic
un  linux-image-5.4.0-42-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-53-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-54-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-56-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-58-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-59-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-72-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-73-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-74-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-77-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-80-generic           <none>                <none>       (no description available)
un  linux-image-5.4.0-81-generic           <none>                <none>       (no description available)
...
...
...
more below

На основании строк:

/etc/grub.d/35_fwupd: line 5: /usr/share/grub: Is a directory
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 126

Я изучал, как решить эту проблему. Решения в Интернете предложили удалить определенные пакеты grub и переустановить их. Учитывая мои текущие проблемы с apt , я воздержался от этого, потому что это ухудшит состояние моей машины. Также я в любом случае не могу запускать команды изменения состояния apt .


Ниже приводится содержание /etc/grub.d/35_fwupd :

$ cat /etc/grub.d/35_fwupd
#! /bin/bash
# SPDX-License-Identifier: LGPL-2.1+
set -e

${pkgdatadir:?}
# shellcheck source=/dev/null
. "$pkgdatadir/grub-mkconfig_lib"

if [ -f /var/lib/fwupd/uefi_capsule.conf ] &&
   ls /sys/firmware/efi/efivars/fwupd-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 1>/dev/null 2>&1; then
      source /var/lib/fwupd/uefi_capsule.conf
      if [ "${EFI_PATH}" != "" ] && [ "${ESP}" != "" ]; then
      echo "Adding Linux Firmware Updater entry" >&2
cat << EOF
menuentry 'Linux Firmware Updater' \$menuentry_id_option 'fwupd' {
EOF
      ${grub_probe:?}
      prepare_grub_to_access_device '`${grub_probe} --target=device \${ESP}` | sed -e "s/^/\t/"'
cat << EOF
    chainloader ${EFI_PATH}
}
EOF
      fi
fi```
0
задан 11 September 2021 в 08:37

0 ответов

Другие вопросы по тегам:

Похожие вопросы: