内部 gzip 读取错误

内部 gzip 读取错误

我有一台 Dell Optiplex 755 Core 2 Duo,我全新安装了 12.04。机器上没有 Windows 操作系统。一个多星期以来,它基本运行良好。由于 xserver-xorg-intel 冲突,我确实不断遇到系统崩溃,但至少我知道原因。最近,运行升级 && 更新时,我不断遇到冲突,似乎只有一个更新,即最新的linux-libc-dev。以下是我得到的:

jay@jay-jay:/$ sudo apt-get upgrade && sudo apt-get update
正在读取软件包列表...完成
构建依赖关系树       
正在读取状态信息...完成
以下软件包将会升级:
  Linux 的 libc 开发环境
1 个已升级,0 个新安装,0 个要删除,0 个未升级。
需要获取 0 B/828 kB 的档案。
此操作后将使用0B的额外磁盘空间。
您想继续吗 [Y/n]?y
(正在读取数据库...当前安装了 208582 个文件和目录。)
准备替换 linux-libc-dev 3.2.0-23.36(使用 .../linux-libc-dev_3.2.0-24.37_i386.deb)...
正在解压替换 linux-libc-dev ...
dpkg-deb(子进程):数据:内部 gzip 读取错误:':数据错误'
dpkg-deb:错误:子进程返回错误退出状态 2
dpkg: 处理 /var/cache/apt/archives/linux-libc-dev_3.2.0-24.37_i386.deb (--unpack) 时出错:
 子进程 dpkg-deb --fsys-tarfile 返回错误退出状态 2
未编写任何 apport 报告,因为错误消息表明本地系统存在问题
         处理时遇到错误:
 /var/cache/apt/archives/linux-libc-dev_3.2.0-24.37_i386.deb
E: 子进程 /usr/bin/dpkg 返回错误代码 (1)

我搜索过 AskUbuntu,找到了类似的问题,并尝试了我认为可能有用的已接受答案。此时,我停滞不前了。

答案1

显然,dpkg-deb(一个程序,是 apt-get 使用的 debian 包管理的一部分)和 tar(用于从单个档案中打包/解包文件到单个档案中)之间存在问题。

现在 dpkg-deb 正在使用不受支持的选项调用 tar,因此这些程序之间存在版本不匹配的问题。

您可以运行此程序来尝试解决此问题:

`aptitude clean` or `apt-get clean`

如果没有解决,请尝试这个技巧:

将 /bin/tar 重命名为 /bin/tar.original:

mv /bin/tar /bin/tar.original

然后将简单的脚本写入 /bin/tar 文件:

#!/bin/bash
tar.original xf -

然后使用以下命令使其可执行

chmod a+x /bin/tar

最后一步是重新安装损坏的软件包:

apt-get install --reinstall dpkg
apt-get install --reinstall tar

相关内容