운영 체제: 리눅스 민트 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
그런 다음 평소대로 패키지를 제거할 수 있습니다. 암호화에 의존하는 경우 제거하면 안 됩니다.