dpkg: ошибка обработки пакета — невозможно восстановить/удалить версию образа linux с помощью apt и dpkg
у меня проблема с подходящий
и дпкг
обновление моей версии ядра Linux.
Помощь будет принята с благодарностью, и я также рассматриваю это как хорошую возможность изучения Linux для себя :)
Я просмотрел много подобных решений в Интернете, которые предлагают команды, которые при запуске заканчиваются теми же или очень похожими ошибками, что я показал ниже, или что у меня может быть полный /ботинок
dir, но я не верю, что это проблема, поскольку он сообщает о 50%. Я все равно не могу удалить версии ядра, чтобы освободить место (см. ниже ошибки):
Состояние, в которое я хотел бы попасть, было бы иметь самую последнюю версию ядра и пару предыдущих версий в качестве запасных.
В настоящее время $ dpkg --list 'linux-image-*'
возвращает 50 или около того версий (вариации 5.4*
, 5.8*
и 5.11*
)
$ sudo du -sh /boot
337M / загрузка
$ судо дф / загрузки
Файловая система Используемые 1K-блоки Доступно Использование % Установлено на
/dev/nvme0n1p2 721392 328124 340804 50% /загрузка
Моя текущая версия ядра:
$ uname -r
5.11.0-27-общий
ОПЕРАЦИОННЫЕ СИСТЕМЫ:
~$ uname -a
Linux thomas-labtop 5.11.0-27-generic #29~20.04.1-Ubuntu SMP Среда, 11 августа, 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
Нет доступных модулей LSB.
Идентификатор дистрибьютора: Ubuntu
Описание: Ubuntu 20.04.3 LTS
Релиз: 20.04
Кодовое название: фокальный
Когда я бегу sudo apt --fix-сломанная установка
Я собираюсь:
$ sudo apt --fix-broken install
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты будут УДАЛЕНЫ
Linux-образ-5.11.0-34-общий
0 для обновления, 0 для новой установки, 1 для удаления и 5 для отказа от обновления.
2 не полностью установлен или удален.
После этой операции освободится 10,2 МБ места на диске.
Вы хотите продолжить? [Да/нет] г
(Чтение базы данных... На данный момент установлено 238716 файлов и каталогов.)
Удаление linux-image-5.11.0-34-generic (5.11.0-34.36~20.04.1)...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: удаление /boot/initrd.img-5.11.0-34-generic
/etc/kernel/postrm.d/zz-update-grub:
Исходный файл `/etc/default/grub'
Исходный файл `/etc/default/grub.d/init-select.cfg'
Создание файла конфигурации grub...
Найден образ Linux: /boot/vmlinuz-5.11.0-27-generic
Найден образ initrd: /boot/initrd.img-5.11.0-27-generic
Найден образ Linux: /boot/vmlinuz-5.11.0-25-generic
Найден образ initrd: /boot/initrd.img-5.11.0-25-generic
Найден образ Linux: /boot/vmlinuz-5.4.0-84-generic
Найден образ initrd: /boot/initrd.img-5.4.0-84-generic
Добавление записи меню загрузки для настроек прошивки UEFI
/etc/grub.d/35_fwupd: строка 5: /usr/share/grub: каталог
run-parts: /etc/kernel/postrm.d/zz-update-grub завершился с кодом возврата 126
dpkg: ошибка обработки пакета linux-image-5.11.0-34-generic (--remove):
установленный linux-image-5.11.0-34-generic подпроцесс сценария после удаления пакета вернул статус выхода ошибки 1
dpkg: слишком много ошибок, остановка
При обработке возникли ошибки:
Linux-образ-5.11.0-34-общий
Обработка была остановлена из-за слишком большого количества ошибок.
E: Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)
Я попытался очистить образ с помощью dpkg, а также попытался установить его для установки:
$ echo "linux-image-5.11.0-34-универсальная установка" | sudo dpkg --set-выборы
Последующий подходящий
команды в конечном итоге возвращают его к удалению в любом случае.
я пробовал разные Удалить
, удалять
и установить
команды. С Linux-образ-5.11.0-34-общий
находится в наполовину установленный
state Я решил, что могу либо полностью удалить его, чтобы установить его заново, либо завершить текущую установку, но не смог успешно предотвратить его пометку как удаленный.
Текущее состояние dpkg --list 'linux-image*'
является
$ dpkg --list 'linux-image*'
Желаемый=Неизвестно/Установить/Удалить/Очистить/Удерживать
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(нет)/Reinst-required (Статус,Err: верхний регистр=плохой)
||/ Имя Версия Архитектура Описание
+++-=====================================-======== ==============-============-====================== ===========
un linux-image <none> <none> (описание отсутствует)
ii linux-image-5.11.0-25-generic 5.11.0-25.27~20.04.1 amd64 Общий образ ядра с подписью
ii linux-image-5.11.0-27-generic 5.11.0-27.29~20.04.1 amd64 Общий образ ядра со знаком
rH linux-image-5.11.0-34-generic 5.11.0-34.36~20.04.1 amd64 Общий подписанный образ ядра
un linux-image-5.4.0-42-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-53-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-54-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-56-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-58-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-59-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-72-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-73-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-74-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-77-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-80-generic <none> <none> (описание отсутствует)
un linux-image-5.4.0-81-generic <none> <none> (описание отсутствует)
...
...
...
больше ниже
На основе строк:
/etc/grub.d/35_fwupd: строка 5: /usr/share/grub: каталог
run-parts: /etc/kernel/postrm.d/zz-update-grub завершился с кодом возврата 126
Я посмотрел, как это решить.Онлайн-решения предлагают удалить определенные пакеты grub и переустановить их. Учитывая мои текущие проблемы с подходящий
Я воздерживался от этого на случай, если это ухудшит состояние моей машины. Также я не могу запустить какое-либо изменение состояния подходящий
в любом случае команды.
Ниже представлено содержание /etc/grub.d/35_fwupd
:
$ кошка /etc/grub.d/35_fwupd
#! /бин/баш
# SPDX-идентификатор лицензии: LGPL-2.1+
установить -е
${pkgdatadir:?}
# исходный код shellcheck=/dev/null
. "$pkgdatadir/grub-mkconfig_lib"
если [ -f /var/lib/fwupd/uefi_capsule.conf ] &&
ls /sys/firmware/efi/efivars/fwupd-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 1>/dev/null 2>&1; тогда
источник /var/lib/fwupd/uefi_capsule.conf
if [ "${EFI_PATH}" != "" ] && [ "${ESP}" != "" ]; тогда
echo "Добавление записи средства обновления прошивки Linux" >&2
кошка << EOF
пункт меню «Обновление прошивки Linux» \$menuentry_id_option «fwupd» {
EOF
${grub_probe:?}
prepare_grub_to_access_device '`${grub_probe} --target=device \${ESP}` | sed -e "s/^/\t/"'
кошка << EOF
загрузчик цепочки ${EFI_PATH}
}
EOF
фи
фи```