dpkg: 경고: 'libecryptfs1' 패키지의 파일 목록 파일

dpkg: 경고: 'libecryptfs1' 패키지의 파일 목록 파일

운영 체제: 리눅스 민트 20.3

sudo apt update를 할 때마다 보통 이 오류가 발생합니다.

dpkg: warning: files list file for package 'libecryptfs1' missing; assuming package has no files currently installed

하지만 결코 문제가 발생하지 않았습니다.

이제 Linux mint를 21로 업그레이드하고 있는데 다음 오류가 발생하여 업그레이드가 중지되었습니다.

dpkg: warning: files list file for package 'libecryptfs1' missing; assuming package has no files currently installed
(Reading database ... 409767 files and directories currently installed.)
Preparing to unpack .../libecryptfs1_111-5ubuntu1_amd64.deb ...
dpkg: error processing archive /var/cache/apt/archives/libecryptfs1_111-5ubuntu1_amd64.deb (--unpack):
 too-long line or missing newline in '/var/lib/dpkg/info/libecryptfs1.triggers'
Errors were encountered while processing:
 /var/cache/apt/archives/libecryptfs1_111-5ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Error - Return code: 100

다시 설치하려고 하면 아래와 같은 오류가 발생합니다.

encrypted32@anonymous24:~$ sudo apt-get autoclean
[sudo] password for encrypted32:        
Reading package lists... Done
Building dependency tree       
Reading state information... Done

encrypted32@anonymous24:~$ sudo apt-get install --reinstall libecryptfs1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libqt5networkauth5 python3-simplejson stunnel4 x11proto-input-dev
  x11proto-randr-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
  libecryptfs1
1 upgraded, 0 newly installed, 0 to remove and 1492 not upgraded.
Need to get 36.0 kB of archives.
After this operation, 21.5 kB disk space will be freed.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libecryptfs1 amd64 111-5ubuntu1 [36.0 kB]
Fetched 36.0 kB in 2s (17.6 kB/s)       
dpkg: warning: files list file for package 'libecryptfs1' missing; assuming package has no files currently installed
(Reading database ... 409767 files and directories currently installed.)
Preparing to unpack .../libecryptfs1_111-5ubuntu1_amd64.deb ...
dpkg: error processing archive /var/cache/apt/archives/libecryptfs1_111-5ubuntu1_amd64.deb (--unpack):
 too-long line or missing newline in '/var/lib/dpkg/info/libecryptfs1.triggers'
Errors were encountered while processing:
 /var/cache/apt/archives/libecryptfs1_111-5ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

출력은 다음과 같습니다 cat /var/lib/dpkg/info/libecryptfs1.triggers.

$���m��mo�L�D��;�%g�?w��ŷ���ovH0��a�5��*�ؒ��l͛�S�iy�r�O7����%L]� 

이 출력이 무엇을 의미하는지 잘 모르겠습니다.

참고: 저는 apt update업그레이드를 시작하기 전에 이 문제를 해결하기 위해 아무것도 하지 않았습니다.

@ab의 제안에 따라 모든 명령을 실행했습니다.

아래에 마지막 명령의 출력을 붙여넣으세요.

encrypted32@anonymous24:~$ sudo apt-get -f reinstall libecryptfs1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libqt5networkauth5 python3-simplejson stunnel4 x11proto-input-dev
  x11proto-randr-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
  libecryptfs1
1 upgraded, 0 newly installed, 0 to remove and 1492 not upgraded.
Need to get 36.0 kB of archives.
After this operation, 21.5 kB disk space will be freed.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 libecryptfs1 amd64 111-5ubuntu1 [36.0 kB]
Fetched 36.0 kB in 1s (30.9 kB/s)       
dpkg: warning: files list file for package 'libecryptfs1' missing; assuming package has no files currently installed
(Reading database ... 409767 files and directories currently installed.)
Preparing to unpack .../libecryptfs1_111-5ubuntu1_amd64.deb ...
Unpacking libecryptfs1 (111-5ubuntu1) over (111-0ubuntu7) ...
Setting up libecryptfs1 (111-5ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...

이제 업그레이드를 재개하려면 어떻게 해야 합니까? Mintupgrade 도구를 통해 또는 명령이 있습니까?

답변1

면책조항: 과거에 시스템에서 파일 시스템 손상이 발생한 것으로 가정합니다. 이것이 하나의 패키지의 메타데이터로 제한된다면 괜찮습니다. 다른 손상이 여전히 존재하거나 발생하는 경우(예: 하드웨어 문제) 상황은 더욱 악화될 수 있습니다. 따라서 중요한 데이터는 먼저 백업해야 합니다.

목표는 이전 메타데이터 부분을 무시하면서 이 패키지를 다시 설치하여 제거할 수 있도록 하는 것입니다. 문제의 파일이 제거됩니다. 일반적으로 이 트리거 파일은 단지 실행을 트리거합니다 ldconfig. 이는 공유 객체 라이브러리를 제공하는 라이브러리 패키지를 설치한 후에 수행해야 하는 작업입니다. 현재 .deb 파일을 신뢰하지 않기 때문에 /var/cache/apt/archives먼저 전체 캐시를 지워 다시 다운로드하고 다시 확인할 수 있습니다. 트리거 파일은 새로 업그레이드된 버전으로 교체되어야 합니다.

먼저 파일 시스템이 꽉 찼거나 거의 꽉 찼는지 확인하고( df -h) 필요한 경우 공간을 확보하십시오.

아래의 모든 명령은 루트로 실행해야 합니다( sudo필요한 경우 사용).

mv /var/lib/dpkg/info/libecryptfs1.triggers /root/libecryptfs1.triggers.badfile

apt clean
apt update

apt-get -f reinstall libecryptfs1

그런 다음 평소대로 패키지를 제거할 수 있습니다. 암호화에 의존하는 경우 제거하면 안 됩니다.

관련 정보