앞서 언급했듯이 패키지를 설치할 수 없습니다. 패키지 관리자에서 VLC를 설치하려고 하는데 오류 메시지가 나타납니다.
installArchives() failed: Selecting previously unselected package libaribb24-0:amd64.
(Reading database ...
(Reading database ... 5%%
(Reading database ... 10%%
(Reading database ... 15%%
(Reading database ... 20%%
(Reading database ... 25%%
(Reading database ... 30%%
(Reading database ... 35%%
(Reading database ... 40%%
(Reading database ... 45%%
(Reading database ... 50%%
(Reading database ... 55%%
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libstdc++-6-dev:amd64' contains empty filename
기본적으로 다른 패키지에서도 동일한 작업을 수행할 수 있습니다. 나는 이것을 시도한다:
sudo rm /var/lib/dpkg/available
sudo touch /var/lib/dpkg/available
sudo sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'
sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get clean
sudo apt-get update && sudo apt-get upgrade
아무런 진전도 없었고 여전히 같은 오류가 발생했습니다. 입력 후 터미널에서
sudo apt-get install vlc
알겠어요:
dpkg: unrecoverable fatal error, aborting:
files list file for package 'libstdc++-6-dev:amd64' contains empty filename
E: Sub-process /usr/bin/dpkg returned an error code (2)
그럼 이 문제를 어떻게 해결하나요?
답변1
캐시된 패키지 사본을 지우는 것이 도움이 됩니까?
청소가 용이함특히 절반만 설치된 패키지나 설치용으로 표시된 패키지의 경우 항상 제대로 작동하는 것은 아닙니다. libstdc++의 deb 파일이 /var/cache/apt에서 어떻게든 손상된 것 같습니다. 파일을 삭제하거나 apt로 이동해도 아무 문제가 없으며 새 복사본이 다시 다운로드됩니다. 직접 수동으로 다운로드하고 해시를 확인하여 제대로 다운로드되었는지 확인한 다음 사용할 수도 있습니다.dpkg -i xxx.deb옛날 방식으로 설치해 보세요.
시도해 볼 수 있는 또 다른 캐시 정리 방법은 다음과 같습니다.
답변2
루트 파일 시스템으로 이동하여
/var/lib/dpkg/info/
거기에 있는 모든 파일을 잘라내고 info.bak
아래에 라는 새 파일을 만듭니다.
/var/lib/dpkg
이전에 잘라낸 모든 파일을 붙여넣으면 info.bak
문제가 해결되었습니다.