패키지를 설치할 수 없습니다: "패키지 linux-image-5.4.0-42-generic에 최종 개행 문자가 없습니다."?

패키지를 설치할 수 없습니다: "패키지 linux-image-5.4.0-42-generic에 최종 개행 문자가 없습니다."?

Ubuntu 20.04.5에 일부 패키지 업데이트를 설치하려고 시도했지만 모든 것이 실패했습니다.

dpkg: unrecoverable fatal error, aborting:
 files list file for package 'linux-image-5.4.0-42-generic' is missing final newline

이 문제를 어떻게 해결할 수 있나요?

제가 시도한 예는 다음과 같습니다.

> sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
Try Ubuntu Pro beta with a free personal subscription on up to 5 machines.
Learn more at https://ubuntu.com/pro
The following NEW packages will be installed:
  linux-headers-5.15.0-52-generic linux-hwe-5.15-headers-5.15.0-52 linux-image-5.15.0-52-generic linux-modules-5.15.0-52-generic linux-modules-extra-5.15.0-52-generic
The following packages will be upgraded:
  code docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin git git-man gitk gthumb gthumb-data libasn1-8-heimdal libgssapi3-heimdal libhcrypto4-heimdal
  libheimbase1-heimdal libheimntlm0-heimdal libhx509-5-heimdal libkrb5-26-heimdal libksba8 libroken18-heimdal libwind0-heimdal linux-generic-hwe-20.04
  linux-headers-generic-hwe-20.04 linux-image-generic-hwe-20.04 linux-libc-dev unzip zlib1g zlib1g:i386 zlib1g-dev
28 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
23 standard LTS security updates
Need to get 0 B/286 MB of archives.
After this operation, 606 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Extracting templates from packages: 100%
dpkg: unrecoverable fatal error, aborting:
 files list file for package 'linux-image-5.4.0-42-generic' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)
(base)  ~

답변1

파일 /var/lib/dpkg/info/linux-image-5.4.0-42-generic.list이 손상되었습니다. 계속하기 전에 방해가 되지 않는 곳으로 옮겨야 합니다 dpkg.

sudo mv /var/lib/dpkg/info/linux-image-5.4.0-42-generic.list{,.bak}

이상적으로는 패키지를 다시 설치하여 dpkg적절하게 제거할 수 있지만 더 이상 불가능할 수 있습니다(패키지를 저장소에서 사용할 수 없음). 여기에 나열된 내용을 수동으로 확인 /var/lib/dpkg/info/linux-image-5.4.0-42-generic.list.bak하고 다른 패키지에 속하지 않는 나열된 파일을 제거해야 합니다( dpkg -S확인용).

수동으로 정리해야 할 수도 있습니다 /lib/modules/5.4.0-42-generic. /boot해당 vmlinuz파일( initrd있는 경우)도 확인하고 삭제하세요.

관련 정보