获取失败............哈希和不匹配

Posted

技术标签:

【中文标题】获取失败............哈希和不匹配【英文标题】:Failed to fetch ........... Hash Sum mismatch 【发布时间】:2020-01-27 14:31:01 【问题描述】:

环境

操作系统:Windows 10 Docker 版本:2.1.0.3 稳定桌面社区 Docker Compose 版本:1.24.1

Dockerfile

FROM postgres:11

COPY ./99fixbadproxy /etc/apt/apt.conf.d/99fixbadproxy

RUN apt-get -y update \
  && apt-get install -y \
    build-essential \
    python3-dev \
    python-gdal \
    libxml2 \
    libgeos-dev \
    libproj12 \
    postgresql-server-dev-11 \
    postgresql-11-postgis-2.5 \
    postgresql-11-postgis-scripts \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/*

ADD ./init /docker-entrypoint-initdb.d/
99fixbad代理
Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy    true;

我执行的 Docker 命令

docker-compose build db

实际结果

Building db
Step 1/4 : FROM postgres:11
 ---> e2d75d1c1264
Step 2/4 : COPY ./99fixbadproxy /etc/apt/apt.conf.d/99fixbadproxy
 ---> Using cache
 ---> 5448c38eae1c
Step 3/4 : RUN apt-get -y update   && apt-get install -y     build-essential     python3-dev     python-gdal     libxml2     libgeos-dev     libproj12     postgresql-server-dev-11     postgresql-11-postgis-2.5     postgresql-11-postgis-scripts   && apt-get clean   && rm -rf /var/lib/apt/lists/*
 ---> Running in d930ce46b46e
Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://apt.postgresql.org/pub/repos/apt stretch-pgdg InRelease [51.4 kB]
Get:3 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Get:4 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:5 http://deb.debian.org/debian stretch Release [118 kB]
Get:6 http://apt.postgresql.org/pub/repos/apt stretch-pgdg/main amd64 Packages [184 kB]
Get:7 http://deb.debian.org/debian stretch-updates/main amd64 Packages [27.4 kB]
Get:8 http://deb.debian.org/debian stretch Release.gpg [2,365 B]
Get:9 http://deb.debian.org/debian stretch/main amd64 Packages [7,086 kB]
Get:10 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [497 kB]
Err:10 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
  Hash Sum mismatch
  Hashes of expected file:
   - Filesize:497208 [weak]
   - SHA256:2c51a7b9197719053220fc1d4c38453a48582d0190953481c0cd9620b8844a00
   - SHA1:6599fb50a02b4f3abe280b0bbfd42ba6227ae7d4 [weak]
   - MD5Sum:23a00a02efd96accdf62f7e6d27ee44b [weak]
  Hashes of received file:
   - SHA256:e8bb756eb3dae9f84b1ff2623bc3ff058e02775f60082cf1583ef789214a4a53
   - SHA1:b8fa8ff140603cb7b64f8f214957f35d1f85b987 [weak]
   - MD5Sum:fbb52af7168bde493aa4d9e6b65c6e34 [weak]
   - Filesize:497208 [weak]
  Last modification reported: Wed, 25 Sep 2019 06:37:02 +0000
  Release file created at: Thu, 26 Sep 2019 04:11:51 +0000
Fetched 8,151 kB in 7s (1,106 kB/s)
Reading package lists...
E: Failed to fetch http://security.debian.org/debian-security/dists/stretch/updates/main/binary-amd64/by-hash/SHA256/2c51a7b9197719053220fc1d4c38453a48582d0190953481c0cd9620b8844a00  Hash Sum mismatch
   Hashes of expected file:
    - Filesize:497208 [weak]
    - SHA256:2c51a7b9197719053220fc1d4c38453a48582d0190953481c0cd9620b8844a00
    - SHA1:6599fb50a02b4f3abe280b0bbfd42ba6227ae7d4 [weak]
    - MD5Sum:23a00a02efd96accdf62f7e6d27ee44b [weak]
   Hashes of received file:
    - SHA256:e8bb756eb3dae9f84b1ff2623bc3ff058e02775f60082cf1583ef789214a4a53
    - SHA1:b8fa8ff140603cb7b64f8f214957f35d1f85b987 [weak]
    - MD5Sum:fbb52af7168bde493aa4d9e6b65c6e34 [weak]
    - Filesize:497208 [weak]
   Last modification reported: Wed, 25 Sep 2019 06:37:02 +0000
   Release file created at: Thu, 26 Sep 2019 04:11:51 +0000
E: Some index files failed to download. They have been ignored, or old ones used instead.
ERROR: Service 'db' failed to build: The command '/bin/sh -c apt-get -y update   && apt-get install -y     build-essential     python3-dev     python-gdal     libxml2     libgeos-dev     libproj12     postgresql-server-dev-11     postgresql-11-postgis-2.5     postgresql-11-postgis-scripts   
&& apt-get clean   && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

预期结果

Successfully built

这个图像在任何 Linux 发行版中都能正常工作,我已经在 Ubuntu、Debian、Arch Linux 中进行了测试。我什至没有包括第 2 步。

我根据以下链接添加了第 2 步,但不幸的是它对我不起作用。 https://github.com/jenkinsci/docker/issues/543

docker version 的输出

客户:Docker 引擎 - 社区 版本:19.03.2 API版本:1.40 围棋版本:go1.12.8 Git 提交:6a30dfc 建成:2019 年 8 月 29 日星期四 05:26:49 操作系统/架构:windows/amd64 实验:错误

服务器:Docker 引擎 - 社区 引擎: 版本:19.03.2 API 版本:1.40(最低版本 1.12) 围棋版本:go1.12.8 Git 提交:6a30dfc 建成时间:2019 年 8 月 29 日星期四 05:32:21 操作系统/架构:linux/amd64 实验:错误 容器化: 版本:v1.2.6 GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb 运行: 版本:1.0.0-rc8 GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f 码头工人初始化: 版本:0.18.0 GitCommit:fec3683

其他相关信息

我尝试了自动和固定 DNS 服务器设置。 我尝试在 tcp 上暴露守护进程,没有选中和取消选中 TLS,我认为可能是网络问题。 我的代理已禁用。 我尝试使用其他基于 debian 的映像并添加了 apt-get 更新行。但是,它似乎在任何地方都不起作用。

【问题讨论】:

【参考方案1】:

按照以下步骤操作:

sudo rm -rf /var/lib/apt/lists/*
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz
sudo apt-get update && sudo apt-get upgrade

【讨论】:

【参考方案2】:

对于上述问题,我所做的只是更新我新安装的 Windows 并重新启动计算机。然后当我再次运行相同的 Dockerfile 时。

哇!有效。不知道怎么一下子就顺利了。中间我什么都没改。所以,任何人都可以解释为什么会发生这种情况。

【讨论】:

【参考方案3】:

将您的 RUN 更改为:

RUN rm -rf /var/lib/apt/lists/partial && apt-get update -o Acquire::CompressionTypes::Order::=gz \
  && apt-get install -y \
    build-essential \
    python3-dev \
    python-gdal \
    libxml2 \
    libgeos-dev \
    libproj12 \
    postgresql-server-dev-11 \
    postgresql-11-postgis-2.5 \
    postgresql-11-postgis-scripts

这种情况经常发生在我身上,直到我找到了这个answer。它解决了我的构建问题。

【讨论】:

以上是关于获取失败............哈希和不匹配的主要内容,如果未能解决你的问题,请参考以下文章

SQL:如何同时获取匹配和不匹配记录

ubuntu 16.04.3中的哈希和不匹配[关闭]

Tkinter:获取数据集的单选按钮和查找数据集之间匹配和不匹配的函数

使用 tablediff 实用程序仅获取源和不匹配数据

如何编写oracle SQL查询以特定顺序获取匹配和不匹配的行对(基于键列)

apt-get 使用 Multipass 更新 Ubuntu 20.04 VM 时的哈希和不匹配