Score:0

dpkg: แพ็คเกจการประมวลผลข้อผิดพลาด - ไม่สามารถซ่อมแซม / ลบเวอร์ชันอิมเมจ linux โดยใช้ apt และ dpkg

ธง mx

dpkg: แพ็คเกจการประมวลผลข้อผิดพลาด - ไม่สามารถซ่อมแซม / ลบเวอร์ชันอิมเมจ linux โดยใช้ apt และ dpkg


ฉันมีปัญหากับ ฉลาด และ dpkg อัปเดตเวอร์ชันเคอร์เนล linux ของฉัน

ความช่วยเหลือจะได้รับการชื่นชมอย่างมาก และฉันก็มองว่านี่เป็นโอกาสในการเรียนรู้ลินุกซ์ที่ดีสำหรับตัวฉันเองด้วย :)

ฉันได้ดูโซลูชันออนไลน์ที่คล้ายกันมากมายซึ่งแนะนำคำสั่งซึ่งเมื่อเรียกใช้จะจบลงด้วยข้อผิดพลาดเดียวกันหรือคล้ายกันมากกับสิ่งที่ฉันแสดงด้านล่างหรือที่ฉันอาจมีแบบเต็ม /บูต ผู้อำนวยการ แต่ฉันไม่เชื่อว่านี่เป็นปัญหาเนื่องจากมีการรายงาน 50% ฉันไม่สามารถลบเวอร์ชันเคอร์เนลเพื่อเพิ่มพื้นที่ว่างได้ (ดูข้อผิดพลาดด้านล่าง):

สถานะที่ฉันต้องการได้รับคือการมีเคอร์เนลเวอร์ชันล่าสุดและมีเวอร์ชันก่อนหน้าสองสามเวอร์ชันเป็นทางเลือก

ปัจจุบัน $ dpkg --list 'linux-image-*' ส่งคืนเวอร์ชัน 50 หรือมากกว่านั้น (รูปแบบของ 5.4*, 5.8* และ 5.11*)

$ sudo du -sh /boot
337M /คัน
$ sudo df /boot
ระบบไฟล์ 1K-blocks ใช้อยู่ ใช้% Mounted on
/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-breaked ติดตั้ง ฉันได้รับ:

$ sudo apt --fix-breaked ติดตั้ง
กำลังอ่านรายการแพ็กเกจ...เสร็จแล้ว
สร้างต้นไม้พึ่งพา       
กำลังอ่านข้อมูลสถานะ...
แพ็คเกจต่อไปนี้จะถูกลบออก
  linux-image-5.11.0-34-ทั่วไป
0 เพื่ออัปเกรด 0 เพื่อติดตั้งใหม่ 1 เพื่อลบและ 5 เพื่อไม่อัปเกรด
2 ไม่ได้ติดตั้งหรือถอดออกอย่างสมบูรณ์
หลังจากการดำเนินการนี้ พื้นที่ดิสก์ 10.2 MB จะถูกทำให้ว่าง
คุณต้องการดำเนินการต่อหรือไม่ [ใช่/ไม่ใช่] ย
(กำลังอ่านฐานข้อมูล ... 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'
กำลังสร้างไฟล์การกำหนดค่าด้วง ...
พบอิมเมจ 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
พบภาพเริ่มต้น: /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: เป็นไดเรกทอรี
ส่วนเรียกใช้: /etc/kernel/postrm.d/zz-update-grub ออกด้วยรหัสส่งคืน 126
dpkg: แพคเกจการประมวลผลข้อผิดพลาด linux-image-5.11.0-34-generic (--remove):
 ติดตั้ง linux-image-5.11.0-34-generic package post-removal script subprocess ส่งคืนสถานะการออกจากข้อผิดพลาด 1
dpkg: มีข้อผิดพลาดมากเกินไป หยุดทำงาน
พบข้อผิดพลาดขณะประมวลผล:
 linux-image-5.11.0-34-ทั่วไป
การประมวลผลหยุดลงเนื่องจากมีข้อผิดพลาดมากเกินไป
E: กระบวนการย่อย /usr/bin/dpkg ส่งคืนรหัสข้อผิดพลาด (1)

ฉันได้ลองล้างอิมเมจโดยใช้ dpkg และได้ลองตั้งค่าให้ติดตั้งด้วย:

$ echo "การติดตั้ง linux-image-5.11.0-34-generic" | sudo dpkg --set-selections

ภายหลัง ฉลาด คำสั่งจบลงด้วยการตั้งค่ากลับเป็นลบต่อไป

ฉันได้พยายามต่างๆ ลบ, ล้าง และ ติดตั้ง คำสั่ง เนื่องจาก linux-image-5.11.0-34-ทั่วไป อยู่ใน ติดตั้งครึ่งหนึ่ง ระบุว่าฉันคิดว่าฉันสามารถลบออกได้ทั้งหมดเพื่อที่ฉันจะได้ติดตั้งใหม่หรือเสร็จสิ้นการติดตั้งปัจจุบัน แต่ไม่สามารถป้องกันไม่ให้ถูกทำเครื่องหมายว่าลบออกได้สำเร็จ

สถานะปัจจุบันของ dpkg --list 'linux-image*' เป็น

$ dpkg --list 'linux-image*'
Desired=Unknown/Install/Remove/Purge/Hold
| สถานะ=ไม่/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (สถานะ,Err: ตัวพิมพ์ใหญ่=ไม่ดี)
||/ ชื่อ เวอร์ชัน สถาปัตยกรรม คำอธิบาย
+-======================================-======= =============-============-====================== ===========
un linux-image <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
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 <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-53-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-54-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-56-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-58-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-59-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-72-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-73-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-74-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-77-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-80-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
un linux-image-5.4.0-81-generic <ไม่มี> <ไม่มี> (ไม่มีคำอธิบาย)
...
...
...
เพิ่มเติมด้านล่าง

ขึ้นอยู่กับบรรทัด:

/etc/grub.d/35_fwupd: บรรทัดที่ 5: /usr/share/grub: เป็นไดเรกทอรี
ส่วนเรียกใช้: /etc/kernel/postrm.d/zz-update-grub ออกด้วยรหัสส่งคืน 126

ฉันดูวิธีแก้ปัญหานี้โซลูชันออนไลน์ได้แนะนำให้ลบแพ็คเกจด้วงบางตัวออกและติดตั้งใหม่ จากปัญหาปัจจุบันของฉันกับ ฉลาด ฉันละเว้นจากการทำเช่นนี้ในกรณีที่ทำให้สถานะของเครื่องของฉันแย่ลงไปอีก นอกจากนี้ ฉันไม่สามารถเรียกใช้การเปลี่ยนแปลงสถานะใดๆ ฉลาด สั่งยังไงก็ได้


ด้านล่างนี้เป็นเนื้อหาของ /etc/grub.d/35_fwupd:

$cat /etc/grub.d/35_fwupd
#! /ถัง/ทุบตี
# ตัวระบุใบอนุญาต SPDX: LGPL-2.1+
ตั้ง -e

${pkgdatadir:?}
# shellcheck source=/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
      ถ้า [ "${EFI_PATH}" !=" "" ] && [ "${ESP}" !="" ]; แล้ว
      echo "การเพิ่มรายการ Linux Firmware Updater" >&2
แมว << EOF
เมนูรายการ 'Linux Firmware Updater' \$menuentry_id_option 'fwupd' {
อฟ
      ${grub_probe:?}
      เตรียม_grub_to_access_device '`${grub_probe} --target=device \${ESP}` | sed -e "s/^/\t/"'
แมว << EOF
    ตัวโหลดโซ่ ${EFI_PATH}
}
อฟ
      ไฟ
ฟิ```
guiverc avatar
cn flag
คุณไม่ได้ให้รายละเอียดระบบปฏิบัติการและรุ่น; ฉันเดาว่าคุณกำลังใช้รุ่น LTS และ *เลือก* (*โดยตั้งใจหรือไม่ตั้งใจ*) กับ HWE stack ซึ่งอัปเกรดในช่วงสองปีแรกของวงจรชีวิต ใช้ GA stack หากคุณไม่ต้องการให้ทำงานแบบนี้ https://wiki.ubuntu.com/Kernel/LTSEnablementStack หมายเหตุ: * ฉันอาจพลาดคำถามจริงของคุณ รายละเอียดชื่อจำเป็นต้องทำซ้ำเนื่องจากการตั้งค่าเบราว์เซอร์บางอย่างไม่แสดงชื่อเมื่อดูหน้าและคำถามของคุณไม่ชัดเจน ฉันรู้สึกว่า*
tjheslin1 avatar
mx flag
สวัสดี. ขอบคุณ ฉันจะอัปเดตด้วยข้อมูลระบบปฏิบัติการที่เฉพาะเจาะจงมากขึ้น สำหรับชื่อ ฉันเห็นด้วยว่ามันคลุมเครือเล็กน้อย แต่สะท้อนให้เห็นว่าฉันไม่มีความคิดที่ดีเกี่ยวกับปัญหาพื้นฐาน
tjheslin1 avatar
mx flag
คุณช่วยแนะนำคำสั่งที่ฉันเรียกใช้เพื่อพิมพ์ข้อมูลที่ถูกต้องได้ไหม ในระหว่างนี้ฉันได้ให้ผลลัพธ์ของ `lsb_release -a`
Kulfy avatar
mz flag
การกำหนดค่า GRUB อาจผิดพลาด โปรด [แก้ไข] คำถามของคุณและเพิ่มผลลัพธ์ของ `cat /etc/grub.d/35_fwupd`
tjheslin1 avatar
mx flag
จะทำ. ขอขอบคุณ!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา