ref: https://www.bartbania.com/raspberry_pi/files-list-file-missing-final-newline/
여러가지 기타 이유( 디스크에러, 메모리에러, ... )로, 패키지 파일 목록 파일이 잘못 되었을경우 조치법
증상(한글) :
dpkg: 복구 불가능한 치명적 오류, 중지합니다:
'libzbar0' 패키지의 파일 목록 파일에 마지막 줄 바꿈이 빠졌습니다
E: Sub-process /usr/bin/dpkg returned an error code (2)
증상(영문):
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libzbar0' is missing final newline
E: Sub-process /usr/bin/dpkg returned an error code (2)
해결방안: 해당 패키지 지금 같은경우 libzbar0 를 의 목록 파일을 다시 만들어 준다.
1. 해당 패키지 다운로드
sudo apt-get install --reinstall --download-only libzbar0
다운로드후 받은 파일명 확인 : /var/cache/apt/archives/libzbar0_0.10+doc-9build1_amd64.deb
2. 해당 패키지 파일목록 만들기 ( libzbar0.list 파일이 생성 됩니다. )
dpkg -c /var/cache/apt/archives/libzbar0_0.10+doc-9build1_amd64.deb | \
awk '{if ($6 == "./"){ print "/."; } else if \
(substr($6, length($6), 1) == "/"){print \
substr($6, 2, length($6) - 2); } else { print \
substr($6, 2, length($6) - 1);}}' > \
/var/lib/dpkg/info/libzbar0.list
ps. dpkg -c 패키지이름.deb ==> 해당 패키지의 파일 목록 출력