如何在 "apt-get install docker-ce" 上解决 "Hash Sum Mismatch"?
How do I solve "Hash Sum Mismatch" on "apt-get install docker-ce"?
希望你一切都好!
这是我关于堆栈溢出的第一个问题,所以如果我遗漏了什么,请告诉我,我很乐意更新我的问题。
所以,总结一下我的问题,我正在尝试按照 Docker-Engine Installation 的官方步骤在 Ubuntu 18.04 VM 上安装 Docker-ce,但出现错误"Hash Sum Mismatch" 当 运行 命令 "sudo apt-get install docker-ce docker-ce-cli containerd.io".
我按照官方步骤进行了几次,到目前为止我已经尝试了以下操作:
1)以下命令,后面是官方安装步骤
apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get clean
apt-get update
apt-get upgrade
2) 创建一个包含以下行的文件,放在“/etc/apt/apt.conf.d/99fixbadproxy”,然后是官方安装步骤
Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy true;
3)安装其他版本的docker-ce使用以下命令
sudo apt-get install docker-ce 5:19.03.8~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:19.03.6~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:18.09.9~3-0~ubuntu-bionic
4) 我尝试通过在以下命令的 "stable" 一词后添加 "nightly" 或 "test" 或两者来安装不同的存储库(我认为它们被称为存储库)
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
我想差不多就是这样了。我确实尝试过其他东西,但不幸的是我不记得它们了,因为我已经在这个问题上工作了很长一段时间了。
虽然我没有尝试全新安装 Ubuntu 18.04。
如果我的问题中有任何遗漏,请告诉我!
大家保重!
说明和解决方案:快速修复
此问题是由 Windows Hypervisor 平台引起的。这个问题暂时无法解决(据我所知)
不过,部分修复即将到来。我说“部分”是因为它涉及禁用平台(也称为“Hyper-V”),这可能会破坏您安装的其他虚拟化解决方案,因为这是手动启用的。无论如何,这里是如何禁用它并再次让您的 VM 运行ning,
关闭虚拟机。
按 Windows 徽标键 + X,然后按 A 以 运行 命令提示符(powershell)作为管理员。
类型
bcdedit /set hypervisorlaunchtype off
当您看到“操作成功完成”时,请重新启动您的 windows。重新启动后,启动您的 VM 和 update/upgrade.
对于仍然对此有疑问的任何人,我设法通过禁用 HyperV 使其正常工作(正如大多数人已经建议的那样)。但是,在我的设置中,使用上述方法禁用 HyperV 实际上并没有禁用 HyperV,因为我的 windows 机器将 HyperV 用于 CredentialGuard 和 Secure Boot,这两者都需要在 HyperV 实际完全禁用之前被禁用
如果提升的终端中的 运行 systeminfo.exe
显示 A hypervisor has been detected. Features required for Hyper-V will not be displayed
,则 HyperV 未完全禁用。禁用凭据保护和安全启动并重新启动几次(在 运行 已经提到的所有禁用 HyperV 的命令之后)为我解决了所有问题。
仅供参考,如果 HyperV 已完全禁用,您应该会看到
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
当 运行 systeminfo.exe
希望你一切都好!
这是我关于堆栈溢出的第一个问题,所以如果我遗漏了什么,请告诉我,我很乐意更新我的问题。
所以,总结一下我的问题,我正在尝试按照 Docker-Engine Installation 的官方步骤在 Ubuntu 18.04 VM 上安装 Docker-ce,但出现错误"Hash Sum Mismatch" 当 运行 命令 "sudo apt-get install docker-ce docker-ce-cli containerd.io".
我按照官方步骤进行了几次,到目前为止我已经尝试了以下操作:
1)以下命令,后面是官方安装步骤
apt-get clean
rm -rf /var/lib/apt/lists/*
apt-get clean
apt-get update
apt-get upgrade
2) 创建一个包含以下行的文件,放在“/etc/apt/apt.conf.d/99fixbadproxy”,然后是官方安装步骤
Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy true;
3)安装其他版本的docker-ce使用以下命令
sudo apt-get install docker-ce 5:19.03.8~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:19.03.6~3-0~ubuntu-bionic
sudo apt-get install docker-ce 5:18.09.9~3-0~ubuntu-bionic
4) 我尝试通过在以下命令的 "stable" 一词后添加 "nightly" 或 "test" 或两者来安装不同的存储库(我认为它们被称为存储库)
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
我想差不多就是这样了。我确实尝试过其他东西,但不幸的是我不记得它们了,因为我已经在这个问题上工作了很长一段时间了。
虽然我没有尝试全新安装 Ubuntu 18.04。
如果我的问题中有任何遗漏,请告诉我!
大家保重!
说明和解决方案:快速修复
此问题是由 Windows Hypervisor 平台引起的。这个问题暂时无法解决(据我所知)
不过,部分修复即将到来。我说“部分”是因为它涉及禁用平台(也称为“Hyper-V”),这可能会破坏您安装的其他虚拟化解决方案,因为这是手动启用的。无论如何,这里是如何禁用它并再次让您的 VM 运行ning,
关闭虚拟机。
按 Windows 徽标键 + X,然后按 A 以 运行 命令提示符(powershell)作为管理员。
类型 bcdedit /set hypervisorlaunchtype off
当您看到“操作成功完成”时,请重新启动您的 windows。重新启动后,启动您的 VM 和 update/upgrade.
对于仍然对此有疑问的任何人,我设法通过禁用 HyperV 使其正常工作(正如大多数人已经建议的那样)。但是,在我的设置中,使用上述方法禁用 HyperV 实际上并没有禁用 HyperV,因为我的 windows 机器将 HyperV 用于 CredentialGuard 和 Secure Boot,这两者都需要在 HyperV 实际完全禁用之前被禁用
如果提升的终端中的 运行 systeminfo.exe
显示 A hypervisor has been detected. Features required for Hyper-V will not be displayed
,则 HyperV 未完全禁用。禁用凭据保护和安全启动并重新启动几次(在 运行 已经提到的所有禁用 HyperV 的命令之后)为我解决了所有问题。
仅供参考,如果 HyperV 已完全禁用,您应该会看到
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
当 运行 systeminfo.exe