Kali Linux:apt 更新返回“哈希和不匹配”错误

Kali Linux:apt 更新返回“哈希和不匹配”错误

我遇到了与这个问题中描述的完全相同的问题:Kali Linux:apt-get 更新返回“哈希和不匹配”错误。然而,在您将其标记为重复之前,我已经尝试了那里以及许多其他网站上发布的解决方案,包括:

sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update

使用备用官方镜像进行编辑/etc/apt/sources.list,例如 deb http://mirrors.ocf.berkeley.edu/kali kali-rolling main non-free contribdeb https://http.kali.org/kali kali-rolling main non-free contrib

我第一次导入虚拟机后一切正常。我跑了一下sudo apt update,发现大约 650 个软件包需要升级。我跑了一下sudo apt upgrade,中途遇到了错误。该错误已使用 解决sudo apt --fix-broken install,但此时哈希和错误开始出现。不幸的是,由于经过数小时的故障排除,我不再拥有先前错误的详细信息,但我相信这是由于数据损坏而提取包时发生的错误。

我尝试了多个官方镜像,但都出现同样的错误。另外,当我下载 Packages.gz 文件时这里apt在我的 Windows 计算机(VM 主机)上并计算 SHA256 哈希值,我得到了打印为预期值的精确哈希值。这让我相信错误不是出在镜像上,而是出在我的虚拟机上。

我尝试的下一件事是wget https://mirrors.ocf.berkeley.edu/kali/dists/kali-rolling/main/binary-amd64/Packages.gzsha256sum Packages.gz它提供了另一个不同的哈希输出。

需要明确的是,我看到同一个文件有 3 个不同的哈希值:

  1. 如预期显示的“正确”哈希值apt,这是 Windows 使用浏览器下载文件后生成的哈希值
  2. 计算出的哈希值不正确apt,导致错误
  3. 使用与浏览器下载相同的 URL 下载sha256sum文件后计算出的不同哈希值wget

我还应该注意,我在每个步骤中仅引用 SHA256 哈希值。当我运行时,其他哈希函数也不匹配sudo apt update,但文件大小是相同的。我曾认为由于磁盘空间有限(毕竟是虚拟机),下载可能会失败,但我认为情况并非如此。

我缺少什么?

答案1

快速解决:

  • 关闭 Kali 虚拟机。
  • bcdedit /set hypervisorlaunchtype off在CMD中运行。
  • 重启。

解释:

此问题是由 Windows Hypervisor 平台引起的。这个问题暂时无法解决(据我所知)。

不过,部分修复即将完成。我说“部分”是因为它涉及禁用平台(也称为“Hyper-V”),这可能会破坏您安装的其他虚拟化解决方案,因为这是手动启用的。不管怎样,这里是如何禁用它并让你的 Kali VM 再次运行;

  1. 关闭 Kali 虚拟机。

  2. 按 Windows 徽标键 + X,然后按 A 以管理员身份运行命令提示符。

  3. 类型bcdedit /set hypervisorlaunchtype off
  4. 当您看到“操作成功完成”时,输入reboot

重启后,启动 Kali 并更新/升级。

相关内容