Linux 이미지/펌웨어 문제로 인해 apt/dpkg가 작동하지 않습니다.

Linux 이미지/펌웨어 문제로 인해 apt/dpkg가 작동하지 않습니다.

최근 데비안 12를 설치했습니다. Apt는 작동하지만 Linux 이미지가 완전히 구성되지 않았다고 불평합니다. 이미지를 삭제하고 업그레이드를 시도했지만 지금은 apt 또는 dpkg를 사용하여 아무것도 제거하거나 설치할 수 없습니다. 패키지가 "완전히 설치되거나 제거되지 않음" 문제가 있고, 문제를 해결하는 동안 오류가 발생한 후 중단됩니다.

내가 겪은 문제를 요약하면 다음과 같습니다(자세한 내용은 아래 참조).

  • apt/dpkg를 제거, 정리, 설치 또는 업그레이드할 수 없습니다.
  • dpkg가 삭제된 후 스크립트 하위 프로세스에서 오류를 반환함
  • raspi-firmware에서 /boot/firmware가 설치되지 않을 수 있다고 불평합니다.
  • 마운트되지 않은 1K EXT4-fs 파티션이 있습니다
  • raspi-firmware - 이것이 필요합니까? 파나소닉 터프북 CF-31 실행
  • initramfs-tools - raspi-firmware를 제거하면 불평합니다.

저는 커널 6.1.0-9-amd64를 사용하고 있는데 linux-image-6.1.0-10-amd64로 인해 이러한 문제가 발생했습니다. 온라인에서 찾은 정보를 바탕으로 후자 패키지와 관련된 모든 파일을 수동으로 삭제했지만 여전히 오류가 발생했습니다. (dpkg-query -L linux-image-6.1.0-10-amd64는 패키지에 실제로 "어떤 파일도 포함되어 있지 않음"을 확인합니다.)

다음은 패키지를 설치하거나 제거하려고 할 때 apt가 반환한 출력의 예입니다.

Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
  cmatrix-xfont
The following packages will be REMOVED:
  linux-image-6.1.0-10-amd64
The following NEW packages will be installed:
  cmatrix
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 17.5 kB of archives.
After this operation, 408 MB disk space will be freed.
Do you want to continue? [Y/n]
Get:1 https://deb.debian.org/debian bookworm/main amd64 cmatrix amd64 2.0-3 [17.5 kB]
Fetched 17.5 kB in 1s (12.3 kB/s)
(Reading database ... 252302 files and directories currently installed.)
Removing linux-image-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-6.1.0-10-amd64
/etc/kernel/postrm.d/z50-raspi-firmware:
raspi-firmware: missing /boot/firmware, did you forget to mount it?
run-parts: /etc/kernel/postrm.d/z50-raspi-firmware exited with return code 1
dpkg: error processing package linux-image-6.1.0-10-amd64 (--remove):
 installed linux-image-6.1.0-10-amd64 package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
 linux-image-6.1.0-10-amd64
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)

표시된 내용에 따르면 /etc/kernel/postinst.d/z50-raspi-firmware의 35행이 표시됩니다. 이는 다음 조건이 참일 때 오류를 발생시킵니다.

! mountpoint -q /boot/firmware

나는 이 맥락에서 -q가 무엇을 의미하는지 잘 모르겠습니다. chroot나 가상 머신에서 dpkg를 실행하고 있지 않습니다. 루트 파티션에 /boot/firmware 디렉토리가 있습니다. 관련이 있는 경우 dmesg 보고서: "수퍼블록을 읽을 수 없음"과 함께 마운트에 실패한 마운트 해제된 1K Ext4-fs 파티션 sda2가 있습니다.

저는 Rasberry Pi를 실행하고 있지 않기 때문에 이 파일들을 삭제하고 apt autoremove를 실행해 보았습니다.

  • /etc/initramfs/post-update.d/z50-raspi-firmware
  • /etc/kernel/postrm.d/z50-raspi-firmware

그러나 Apu는 이렇게 말했습니다.

Removing linux-image-6.1.0-10-amd64 (6.1.37-1) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-6.1.0-10-amd64
/etc/kernel/postrm.d/z50-raspi-firmware:
/etc/kernel/postrm.d/z50-raspi-firmware: 2: exec: /etc/kernel/postins
t.d/z50-raspi-firmware: not found
run-parts: /etc/kernel/postrm.d/z50-raspi-firmware exited with return
 code 127

initramfs-tools가 raspi 펌웨어를 찾을 것으로 예상하도록 지시하는 것 같습니다. dpkg-query -L include /usr/share/initramfs-tools/hooks/raspi-firmware-fsck를 보고 제거해 보았지만 별 차이가 없었습니다.

비슷한 질문을 봤지만 해결책이 충분하지 않았습니다. 저는 스택 교환을 처음 접했고 이 질문을 이 질문에 어떻게 첨부해야 하는지 잘 모르겠습니다. dpkg: 패키지 linux-image-amd64(--configure) 처리 중 오류 발생: 종속성 문제 - 구성되지 않음

답변1

연결된 질문의 솔루션이 작동하려면 postinst.d/z50-raspi-formware를 먼저 복원해야 합니다.

/etc/kernel/postinst.d/z50-raspi-firmware두 줄로 구성된 를 만듭니다 .

#!/bin/sh
true

실행 가능하게 만드세요:

chmod a=rx /etc/kernel/postinst.d/z50-raspi-firmware

그러면 삭제가 작동합니다.

apt purge raspi-firmware

이 작업을 수행한 후에 는 오류 없이 apt 등을 autoremove실행할 수 있습니다 .install

관련 정보