我在使用 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”,然後重新嘗試安裝原始套件對我有用。