Ubuntu Docker コンテナで奇妙なエラーが発生します: "予想よりも多くのデータを書き込みます (7643558 > 7643216)「操作の再試行は成功しました。このメッセージは何度か表示されました。Docker ツールボックスがインストールされたデフォルトの boot2docker マシンで、ubuntu 16 (「2 週間前に作成」) コンテナーを実行しています。私の設定は次のとおりです。
- Web コンテンツにアクセスするための HTTP プロキシを備えた企業環境の Windows 7。
-docker toolboxで作成されたvirtualboxマシン上のデフォルトのboot2docker VMと、企業プロキシ経由でWebにアクセスする
コンテナから出て 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 つの異なる場所から 2 つの異なる情報セットを取得し、データを調整できないため失敗するという応答を返します。
答え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
同じ状況に陥っている他の方のために、この質問はこの問題に関する検索エンジン リストのトップにあるようです。このエラーは 1 つのクライアントでのみ発生し、apt ベースのコマンドを多数試した後、動作中のクライアント システムからそのアプリの関連エントリをコピーするだけで解決しました。
正確なファイルとディレクトリは設定によって異なりますが、上記の回答で問題が解決しない場合は、/var/lib/apt/lists/ を調べて、問題のあるパッケージへの参照を含むファイルを探してください。
答え4
私も同じ問題を抱えていました。パッケージは異なりますが、docker の ubuntu:16.04 です。会社でもプロキシの問題を抱えています。
これは私の場合はうまくいきました。問題があったパッケージは依存関係であり、私がインストールすることを選択したパッケージではありませんでした。ただし、手動でインストールすると問題なく機能しました。その後、必要なパッケージを問題なくインストールできました。
エラーを見ると、パッケージ「libicu55」に問題があるようです。私の場合、これは依存関係であり、apt-get でインストールしたものではありません。「apt-get install libicu55」を実行してから元のパッケージのインストールを再試行すると、うまくいきました。