Ubuntu 18.04の新しいイメージ(VirtualboxでVagrantを使用)にDockerをインストールできません。私は公式サイトからの指示を使用しています:
または https://github.com/docker/docker-install からの短いコマンド:
curl -fsSL https://get.docker.com -o get-docker.sh && Sudo sh get-docker.sh
そして、常に同じエラーが発生しました-ハッシュ合計の不一致:
Failed to fetch https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/AMD64/docker-ce_19.03.8~3-0~ubuntu-bionic_AMD64.deb Hash Sum mismatch
Hashes of expected file:
- SHA512:600f2d9b51024e5866a6256f2d08b4e733a6c8428e334d81de483a7138cbe9db00e8d67673a88d46c80ef0aa673e2f0183f8fd58226575a3a6a843f955c49e2a
- SHA256:22fe06851dde23200c835641e234760bbb60b79abc3b2a1fbbd1a9b0f1a2e9d0
- SHA1:7292df34a82e58cab0e45af61036ec19c81eb199 [weak]
- MD5Sum:8d62aefa851deb2f0739b4a1fd232322 [weak]
- Filesize:22879338 [weak]
Hashes of received file:
- SHA512:265e3e4f877e4d060098d88527258335a08c9b421fabd5573bb5c951fd337c2d157c418132ff6a54568e85c6bd0da3e1b66c51196410016b4b409d1cef2df4cd
- SHA256:3d15d2e2a7bacc0840aea09400970328d853eb369585e97ce33c8bebbc5c4d37
- SHA1:da5b39535801e35493cd2f7c6f2b176263bd7da4 [weak]
- MD5Sum:a4e2e8ec89b2d98c218b3931d7845f50 [weak]
- Filesize:22879338 [weak]
Last modification reported: Wed, 11 Mar 2020 19:46:26 +0000
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
私もこれらの問題を常に抱えていました!
私のセットアップは、Win10ホストで実行されているVagrant 2.2.7を備えたVirtual Box 6.1.6でした。
問題はUbuntuではなくVirtual Boxに固有である可能性があるという上記の考えを使用して、Virtual Box 6.1.6をアンインストールしてから、古いバージョンのVirtual Box(6.0.10)をインストールし、Vagrant 2.2.7を再インストールしました。 WindowsからHyper-Vもアンインストールしました。
これらのシステムとソフトウェアの変更が行われたため、Vagrantの自動Dockerプロビジョニングは、ハッシュの不一致メッセージなしで期待どおりに機能しました。これは私にとってはうまくいきました、そしてそれが他の誰かにも役立つことを願っています。
わかりました、これはVirtualboxの欠点です。同じボックスでhyperv
プロバイダーを使用すると、Vagrantでこの問題が発生しないためです。
Virtualboxのバージョンは6.1.4 r136177 (Qt5.6.2)
です。
仮想OSがパッケージをダウンロードする方法を確認しました(wgetを使用して直接リンクでダウンロードするだけです)。ダウンロードしたパッケージのハッシュサムが元のパッケージと本当に異なる(ただし、サイズは完全に等しい)ことがわかりました。ホストOSに同じパッケージをダウンロードしましたが、ハッシュサムはオリジナルと一致しています。
出力エラーと仮想OS内にダウンロードされたパッケージのハッシュサム(オリジナルとは異なります):
ホストOSでダウンロードされたパッケージのハッシュサム(オリジナルと同じ):
新しいDebian VM(VBox)AMD64(32GB VDI)での同じ問題。
sh get-docker.sh
...
E: Failed to fetch https://download.docker.com/linux/debian/dists/buster/pool/stable/AMD64/containerd.io_1.2.13-1_AMD64.deb Hash Sum mismatch
Hashes of expected file:
- SHA512:e0f8eb0ed3bd881bf5f278f3736da3e4fb05410014a0103301c135a33061945e013bcf8a9cd704d9d6b4fa088d478ebea27e86e466889d0194a8cbb77e94efdf
- SHA256:a4f244216e54a8a47f2dc5c57acb4cb48a779c54a8588ea2d55c40a57092baf6
- SHA1:90611afda0acabae485f871b09e4c1eba0ac4dc0 [weak]
- MD5Sum:78a039cf82b1bd4a285114bdd030982e [weak]
- Filesize:20114318 [weak]
Hashes of received file:
- SHA512:41c516c077d9941b55b605d4c83a9462c2ec52089f8af55618e5335da7d272d33d57fdd14a51b5a5e433ad6d9671e1a0063f9edeaa8c31525f56474b6ac1d875
- SHA256:57080e5482d92e74c3095b948fc0ba827f43b7b03c8825e5a64b7ef058b5434c
- SHA1:4f114ab71f4622f5785da726b822ad213ec77d44 [weak]
- MD5Sum:9a5d02cb5624219e6715875cc4bc8673 [weak]
- Filesize:20114318 [weak]
Last modification reported: Tue, 03 Mar 2020 04:24:01 +0000
E: Failed to fetch https://download.docker.com/linux/debian/dists/buster/pool/stable/AMD64/docker-ce-cli_19.03.8~3-0~debian-buster_AMD64.deb Hash Sum mismatch
私と同じエラーです。ハッシュサムの不一致...
WSL2を初期化した後、Oracle VMウェアは正常に動作しました。
-Windows Hyper-vを無効にする
Windows 10、Update 2004で問題が発生しました。ソフトウェアリポジトリインデックスの更新時とインストール時に、チェックサムの不一致が発生します。
この問題は、実際にはネットワークとWindowsの「自動調整」パラメーターが原因でした。
管理者特権のコマンドプロンプトで現在の状態を確認できます。
netsh int tcp show global
Receive Window Auto-Tuning
on normal
で問題が発生しました。 disabled
に設定することで、問題はなくなりました。
管理者特権のコマンドプロンプトで次のコマンドを実行することで変更できます。
netsh int tcp set global autotuninglevel=disabled
はい、そうです。
最も役立つ@Kurt Le Bretonの回答を調査し、テストを繰り返した後、私の結論は次のとおりです。
仮想ボックス 最新は現在6.1.12であり、これにより、ハッシュ合計の不一致の問題が発生します。実際、6.1.xx全体でこの問題が発生しているようです。
したがって、以前の 6.0バージョン に移動します。しかし、このvagrant upコマンドを発行すると、vagrantは次のエラーを顔に吐き出します。
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "40f50d63-6d70-4ac9-b0d6-02dcf1cdce7c", "--type", "headless"]
Stderr: VBoxManage.exe: error: Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
これを解決するには、Hyper-v設定をいじる必要があります。次のコマンドをadministratorとして実行する必要があります。
bcdedit /set hypervisorlaunchtype off
そのコマンドを実行した後、PCを再起動する必要があります。これにより、Vagrantは文句なしに実行され、DockerはVMにインストールされ、ハッシュサムの不一致エラーが発生します。
私は 6.0.24 でテストしました。これは最新バージョンであり、これまでのところ問題はありません。
しかし、そこには落とし穴があります。 hypervisorlaunchtypeをoffに設定すると、Dockerデスクトップは起動しません。このエラーが発生します。
An error occured. Cannot enable Hyper-V service.
したがって、これを元の状態にリセットする必要があります。
bcdedit /set hypervisorlaunchtype auto.
今回はオフではなく自動に注意してください。
繰り返しますが、これを実行するには管理者である必要があり、実行後はPCを再起動する必要があります。
したがって、ワークフローでは、まずそれをオフに設定し、vmsを起動してvagrantを使用してdockerでプロビジョニングし、最後にhypervisorlaunchtypeをautoに設定します。