서버를 업그레이드하고 싶어서 실행했지만 apt-get dist upgrade
계속해서 다음 오류가 발생합니다.
Unpacking replacement aptitude ...
dpkg-deb: file `/var/cache/apt/archives/aptitude_0.6.8.2-1_armel.deb' contains ununderstood data member data.tar.xz , giving up
dpkg: error processing /var/cache/apt/archives/aptitude_0.6.8.2-1_armel.deb (--unpack):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
dpkg: considering deconfiguration of aptitude, which would be broken by installation of aptitude-common ...
dpkg: yes, will deconfigure aptitude (broken by aptitude-common).
Unpacking aptitude-common (from .../aptitude-common_0.6.8.2-1_all.deb) ...
De-configuring aptitude ...
dpkg-deb: file `/var/cache/apt/archives/aptitude-common_0.6.8.2-1_all.deb' contains ununderstood data member data.tar.xz , giving up
dpkg: error processing /var/cache/apt/archives/aptitude-common_0.6.8.2-1_all.deb (--unpack):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:
/var/cache/apt/archives/aptitude_0.6.8.2-1_armel.deb
/var/cache/apt/archives/aptitude-common_0.6.8.2-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
제가 시도한 몇 가지 사항은 다음과 같습니다.
sudo apt-get dist-upgrade
sudo dpkg --configure -a
sudo ldconfig
sudo apt-get check
sudo apt-get -f install
sudo apt-get -f upgrade --fix-missing
항상 같은 오류로 끝나서 어찌할 수가 없네요.
어떻게 해야 합니까?
답변1
질문 제목에 쓴 것처럼 squeeze(이전 안정 버전)가 아닌 Debian wheezy(현재 안정 버전)로 시스템을 업데이트하고 있습니다.
아마도 사전 압출 시스템(Lenny, Etch,...)이 있는 것 같습니다. 따라서 적어도 하나의 버전을 건너뛰어야 합니다. 이는 지원되지 않으며 dpkg가 패키지 파일의 압축을 풀 수 없는 이유입니다("새로운" .xz 압축으로 인해).
해결책은 점진적인 업데이트입니다. 따라서 Lenny의 경우 먼저 압박한 다음 헐떡거립니다. 전체 시스템을 새로 설치하는 것도 옵션일 수 있습니다.
시스템이 너무 오래된 경우 일반 다운로드 서버에서 다음 최신 버전을 찾는 데 어려움을 겪을 수 있습니다. 그런 다음 사용http://snapshot.debian.org.
답변2
sudo dpkg -r aptitude_0.6.8.2-1_armel
sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade
답변3
정확한 답변을 드리지 못해 죄송합니다. 이건 그냥 포인터일 뿐이야쪽으로해결책, 아무도 그것을 보지 못하는 것 같습니다.
오류 메시지에는 DEB 파일 내부의 패키지가 없다는 내용이 나와 있습니다.
.tar.gz, 하지만 하나
.tar.xz
이는 lzma를 사용하여 압축되었음을 의미합니다. apt/dpkg에게 이러한 파일의 압축을 푸는 방법을 알려주면 문제가 해결될 것입니다.