升级到挤压和 dpkg 返回错误代码(1)

升级到挤压和 dpkg 返回错误代码(1)

我想升级我的服务器,所以我运行了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

您正在将系统更新到 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

修复损坏的包

修复apt

答案3

很抱歉没有提供真正的答案。这只是一个指针解决方案,似乎没有人看到它。

错误消息指出 DEB 文件内的包不是

.tar.gz
,但是一个
.tar.xz

这意味着它已使用 lzma 进行压缩。如果 apt/dpkg 被告知如何解压这些文件,它应该可以解决问题。

相关内容