APT 的“Hash Sum mismatch”表示下载的数据与预期校验和不一致。可能的原因包括镜像不同步、缓存过期、传输不完整,或内容在传输途中被改动。

请求新的响应

在代理路由已经配置好的情况下,下面的对比会要求符合规范的 HTTP 缓存返回最新的软件包索引数据:

sudo apt-get \
  -o Acquire::http::No-Cache=true \
  -o Acquire::https::No-Cache=true \
  update

该命令会更新本地 APT 状态。它发送的是缓存控制指令,而不是清除远端缓存,也无法保证每个中间环节都正确处理这些指令。

定位不一致的文件

保留出错的仓库 URL 与校验和详情。如果镜像正在同步,请检查稍后重试是否能返回一致的数据。经批准的备用线路有助于对比同一来源。

在诊断信息能给出状态和内容类型的地方,检查是否返回了代理错误页而不是仓库数据。TCP 连接成功并不足以证明得到了有效的软件包响应。

保持签名、校验和与 HTTPS 校验开启。签名的元数据标识了预期的仓库内容;校验和把它与索引及软件包文件关联起来;TLS 保护连接。修复过期缓存、镜像或传输路径后,一次经过校验的下载即可确认数据重新一致。

相关文章