dpkg: pachet de procesare a erorilor - Imposibil de reparat/eliminat versiunea de imagine linux folosind apt și dpkg
Am o problema cu apt
și dpkg
actualizez versiunea mea de kernel linux.
Ajutorul ar fi foarte apreciat și, de asemenea, văd asta ca pe o bună oportunitate de învățare Linux pentru mine :)
M-am uitat la multe soluții similare online, care sugerează comenzi care, atunci când sunt executate, ajung în aceleași erori sau foarte asemănătoare cu ceea ce am arătat mai jos sau că aș putea avea un /boot
dir, dar nu cred că aceasta este problema, deoarece raportează 50%. Oricum nu pot elimina versiunile de kernel pentru a elibera spațiu (vezi erorile de mai jos):
Starea în care aș dori să ajung ar fi să am cea mai actualizată versiune de kernel și să am câteva versiuni anterioare ca alternative.
În prezent $ dpkg --list 'linux-image-*'
returnează aproximativ 50 de versiuni (variații ale 5.4*
, 5.8*
și 5.11*
)
$ sudo du -sh /boot
337M /porționare
$ sudo df /boot
Sistem de fișiere 1K-blocuri Utilizat Disponibil Utilizare% Montat pe
/dev/nvme0n1p2 721392 328124 340804 50% /boot
Versiunea mea actuală de kernel este:
$ uname -r
5.11.0-27-generic
OS:
~$ uname -a
Linux thomas-labtop 5.11.0-27-generic #29~20.04.1-Ubuntu SMP miercuri 11 august 15:58:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
Nu sunt disponibile module LSB.
ID distribuitor: Ubuntu
Descriere: Ubuntu 20.04.3 LTS
Lansare: 20.04
Nume de cod: focal
Când alerg sudo apt --fix-broken install
Primesc:
$ sudo apt --fix-broken install
Citirea listelor de pachete... Gata
Construirea arborelui de dependență
Citirea informațiilor despre stare... Gata
Următoarele pachete vor fi ȘTERSE
linux-image-5.11.0-34-generic
0 pentru a face upgrade, 0 pentru a instala nou, 1 pentru a elimina și 5 pentru a nu face upgrade.
2 nu sunt complet instalate sau îndepărtate.
După această operație, 10,2 MB de spațiu pe disc vor fi eliberați.
Doriți să continuați? [D/n] y
(Se citesc baza de date... 238716 fișiere și directoare instalate în prezent.)
Se elimină linux-image-5.11.0-34-generic (5.11.0-34.36~20.04.1)...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: ștergerea /boot/initrd.img-5.11.0-34-generic
/etc/kernel/postrm.d/zz-update-grub:
Fișierul sursă `/etc/default/grub'
Fișierul sursă `/etc/default/grub.d/init-select.cfg'
Se generează fișierul de configurare grub...
Imaginea Linux găsită: /boot/vmlinuz-5.11.0-27-generic
Imagine initrd găsită: /boot/initrd.img-5.11.0-27-generic
Imaginea Linux găsită: /boot/vmlinuz-5.11.0-25-generic
Imagine initrd găsită: /boot/initrd.img-5.11.0-25-generic
Imaginea Linux găsită: /boot/vmlinuz-5.4.0-84-generic
Imagine initrd găsită: /boot/initrd.img-5.4.0-84-generic
Adăugarea unei intrări din meniul de pornire pentru Setările firmware UEFI
/etc/grub.d/35_fwupd: linia 5: /usr/share/grub: Este un director
run-parts: /etc/kernel/postrm.d/zz-update-grub ieșit cu codul de returnare 126
dpkg: eroare la procesarea pachetului linux-image-5.11.0-34-generic (--remove):
instalat linux-image-5.11.0-34-generic subprocesul de script post-eliminare a returnat eroare starea de ieșire 1
dpkg: prea multe erori, oprire
Au fost întâlnite erori în timpul procesării:
linux-image-5.11.0-34-generic
Procesarea a fost oprită deoarece au existat prea multe erori.
E: Sub-procesul /usr/bin/dpkg a returnat un cod de eroare (1)
Am încercat să șterg imaginea folosind dpkg și am încercat și să o setez pentru a instala:
$ echo „linux-image-5.11.0-34-generic install” | sudo dpkg --set-selections
Ulterior apt
comenzile ajung oricum să-l seteze înapoi la eliminat.
Am incercat diverse elimina
, epurare
și instalare
comenzi. De cand linux-image-5.11.0-34-generic
este într-o pe jumătate instalat
M-am gândit că o pot elimina complet, astfel încât să o pot instala proaspăt, sau să termin instalarea curentă, dar nu am reușit să împiedic cu succes să fie marcată ca eliminată.
Starea actuală a dpkg --list 'linux-image*'
este
$ dpkg --list 'linux-image*'
Dorit=Necunoscut/Instalați/Eliminați/Ștergeți/Rețineți
| Stare=Nu/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(niciunul)/Reinstalare obligatorie (Stare, Eroare: majuscule=proasta)
||/ Nume Versiune Descriere arhitectură
+++-================================================ ==============-============-======================= ===========
un linux-image <none> <none> (nici o descriere disponibilă)
ii linux-image-5.11.0-25-generic 5.11.0-25.27~20.04.1 amd64 Imagine kernel semnată generică
ii linux-image-5.11.0-27-generic 5.11.0-27.29~20.04.1 amd64 Imagine kernel semnată generic
rH linux-image-5.11.0-34-generic 5.11.0-34.36~20.04.1 amd64 Imagine kernel semnată generic
un linux-image-5.4.0-42-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-53-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-54-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-56-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-58-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-59-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-72-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-73-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-74-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-77-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-80-generic <none> <none> (nicio descriere disponibilă)
un linux-image-5.4.0-81-generic <none> <none> (nicio descriere disponibilă)
...
...
...
mai jos
Pe baza liniilor:
/etc/grub.d/35_fwupd: linia 5: /usr/share/grub: Este un director
run-parts: /etc/kernel/postrm.d/zz-update-grub ieșit cu codul de returnare 126
Am căutat cum să rezolv asta.Soluțiile online au sugerat eliminarea anumitor pachete grub și reinstalarea acestora. Având în vedere problemele mele actuale cu apt
M-am abținut să fac acest lucru în cazul în care starea mașinii mele este și mai rău. De asemenea, nu pot rula nicio schimbare de stare apt
comenzi oricum.
Mai jos este conținutul /etc/grub.d/35_fwupd
:
$ cat /etc/grub.d/35_fwupd
#! /bin/bash
# SPDX-Licență-Identifier: LGPL-2.1+
set -e
${pkgdatadir:?}
# shellcheck source=/dev/null
. „$pkgdatadir/grub-mkconfig_lib”
dacă [ -f /var/lib/fwupd/uefi_capsule.conf ] &&
ls /sys/firmware/efi/efivars/fwupd-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 1>/dev/null 2>&1; atunci
sursa /var/lib/fwupd/uefi_capsule.conf
if [ "${EFI_PATH}" != "" ] && [ "${ESP}" != "" ]; atunci
echo „Adăugarea intrării Linux Firmware Updater” >&2
pisica << EOF
intrarea de meniu „Linux Firmware Updater” \$menuentry_id_option „fwupd” {
EOF
${grub_probe:?}
prepare_grub_to_access_device '`${grub_probe} --target=dispozitiv \${ESP}` | sed -e "s/^/\t/"'
pisica << EOF
dispozitiv de încărcare în lanț ${EFI_PATH}
}
EOF
fi
fi```