apt-get 错误:写入的数据超出预期 (7643558 > 7643216)

apt-get 错误:写入的数据超出预期 (7643558 > 7643216)

我在使用 ubuntu docker 容器时遇到一些奇怪的错误:“写入的数据超出预期 (7643558 > 7643216)“重试操作成功。我多次遇到此问题。我正在安装了 docker 工具箱的默认 boot2docker 机器上运行 ubuntu 16(“两周前创建”)容器。我的设置是:

-企业环境中的 Windows 7,通过 http 代理访问 Web 内容。

-使用 docker 工具箱创建的 virtualbox 机器上的默认 boot2docker 虚拟机并通过公司代理访问网络

从容器出来到 apt-get 存储库有相当多的跳跃。

这可以用 apt-get 实现吗?

Need to get 13.1 MB of archives.
After this operation, 53.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 sgml-base all 1.26+nmu4ubuntu1 [12.5 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libssl1.0.0 amd64 1.0.2g-1ubuntu4.1 [1122 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial/main amd64 libgeoip1 amd64 1.6.9-1 [70.1 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial/main amd64 libkrb5support0 amd64 1.13.2+dfsg-5 [30.7 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial/main amd64 libk5crypto3 amd64 1.13.2+dfsg-5 [81.0 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 libkeyutils1 amd64 1.5.9-8ubuntu1 [9904 B]
Get:7 http://archive.ubuntu.com/ubuntu xenial/main amd64 libkrb5-3 amd64 1.13.2+dfsg-5 [273 kB]
Get:8 http://archive.ubuntu.com/ubuntu xenial/main amd64 libgssapi-krb5-2 amd64 1.13.2+dfsg-5 [120 kB]
Get:9 http://archive.ubuntu.com/ubuntu xenial/main amd64 libicu55 amd64 55.1-7 [7643 kB]
Err:9 http://archive.ubuntu.com/ubuntu xenial/main amd64 libicu55 amd64 55.1-7
  Writing more data than expected (7643558 > 7643216)
Get:10 http://archive.ubuntu.com/ubuntu xenial/main amd64 libxml2 amd64 2.9.3+dfsg1-1 [696 kB]
Get:11 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libisc160 amd64 1:9.10.3.dfsg.P4-8ubuntu1 [214 kB]
Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libdns162 amd64 1:9.10.3.dfsg.P4-8ubuntu1 [877 kB]
Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libisccc140 amd64 1:9.10.3.dfsg.P4-8ubuntu1 [16.3 kB]
Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libisccfg140 amd64 1:9.10.3.dfsg.P4-8ubuntu1 [40.5 kB]
Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libbind9-140 amd64 1:9.10.3.dfsg.P4-8ubuntu1 [23.6 kB]
Get:16 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 liblwres141 amd64 1:9.10.3.dfsg.P4-8ubuntu1 [33.0 kB]
Get:17 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 bind9-host amd64 1:9.10.3.dfsg.P4-8ubuntu1 [38.4 kB]
Get:18 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 dnsutils amd64 1:9.10.3.dfsg.P4-8ubuntu1 [89.1 kB]
Get:19 http://archive.ubuntu.com/ubuntu xenial/main amd64 geoip-database all 20160408-1 [1678 kB]
Get:20 http://archive.ubuntu.com/ubuntu xenial/main amd64 krb5-locales all 1.13.2+dfsg-5 [13.2 kB]
Get:21 http://archive.ubuntu.com/ubuntu xenial/main amd64 xml-core all 0.13+nmu2 [23.3 kB]
Get:22 http://archive.ubuntu.com/ubuntu xenial/universe amd64 libproxychains3 amd64 3.1-7 [14.0 kB]
Get:23 http://archive.ubuntu.com/ubuntu xenial/universe amd64 proxychains all 3.1-7 [5582 B]
Fetched 5480 kB in 41s (133 kB/s)
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb  Writing more data than expected (7643558 > 7643216)

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

答案1

我遇到了这个问题,但与系统包没有链接。我为我的项目运行自己的构建,服务器生成 70 个包。

如果不知何故,缓存和包存储库不同步。然后我得到这个错误。 (特别是如果您重新编译已经发布的包而不首先更改其版本。)

换句话说,apt-get从两个不同的位置获取两组不同的信息,并做出反应说它无法协调数据并且失败了。

答案2

我在尝试更新 Rancher 安装时遇到了类似的问题:

sudo /usr/bin/apt-get dist-upgrade
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/containerd.io_1.2.10-2_amd64.deb  Writing more data than expected (19836216 > 19836188)

当我尝试时,我遇到了同样的错误

sudo apt install containerd.io

运行后问题就消失了

sudo apt update

答案3

只是对于处于同样困境的其他人来说,因为这个问题似乎是这个问题的搜索引擎列表的顶部。我仅在一个客户端上遇到此错误,在尝试了许多基于 apt 的命令后,唯一解决该问题的方法是从工作客户端的系统中复制该应用程序的相关条目。

确切的文件和目录显然会因配置而异,但如果上述答案无法帮助窥探 /var/lib/apt/lists/ 中包含对问题包的引用的文件。

答案4

我也遇到了这个问题,使用不同的包,但在 docker 中使用 ubuntu:16.04 。我公司也有代理问题。

这对我有用:有问题的包是依赖项,而不是我选择安装的包。不过手动安装确实效果很好。之后我就能够毫无问题地安装所需的软件包。

查看您的错误,您的包“libicu55”有问题。就我而言,这是一种依赖项,而不是我 apt-get 安装的依赖项。运行“apt-get install libicu55”,然后重新尝试安装原始包对我有用。

相关内容