生成错误。无法获取http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages

时间:2018-10-23 00:21:42

标签: docker build continuous-integration continuous-deployment gitlab-ci-runner

无法找到jq的构建错误。

Err http://deb.debian.org jessie / main amd64软件包   找不到404 错误http://deb.debian.org jessie-updates / main amd64软件包   找不到404 2秒内获得723 kB(357 kB / s) W:无法获取http://deb.debian.org/debian/dists/jessie/main/binary-amd64/Packages 404找不到

W:无法获取http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404找不到

E:某些索引文件下载失败。它们已被忽略,或改用旧版本。
$ apt-get install jq
正在阅读包装清单...
正在构建依赖树...
正在读取状态信息...
E:无法找到软件包jq
错误:作业失败:退出代码1

4 个答案:

答案 0 :(得分:5)

@codinghaus在另一个线程中提到:

  

这是由于以下事实:   由于Wheezy和Jessie最近已集成到archive.debian.org结构中,因此我们将从今天开始从镜像网络中删除Jessie的所有Wheezy和所有非LTS架构。

一种解决方案(根据https://github.com/debuerreotype/docker-debian-artifacts/issues/66#issuecomment-476616579)是在使用debian:jessie时,在调用任何apt-get更新之前,将以下命令添加到Dockerfile中。

RUN sed -i '/jessie-updates/d' /etc/apt/sources.list  # Now archived

这将从sources.list中删除jessie-updates存储库(现在会导致404)。

FROM debian:jessie
RUN sed -i '/jessie-updates/d' /etc/apt/sources.list  # Now archived
RUN apt-get update
CMD /bin/sh

答案 1 :(得分:0)

也许,您正在执行的第三方导入无法引用debian jessie,因此将ftp.debian.org更改为http://ftp.us.debian.org可能使其起作用。如果您不是直接参考此信息,请尝试升级或降级导入的版本(如果不能删除它们的话)。

就我而言,我正在使用:

FROM docker.***.com/node:10

将节点从10降级到8,成功开始了这项工作。

答案 2 :(得分:0)

我今天遇到了同样的问题。我相信您与杰西(Jessie)被从Debian中移除有关(请参阅:https://twitter.com/debian/status/1109080168318926851?s=12)。

我将Dockerfile中的php升级到php:7.1.27-apache-stretch,并且可以正常工作。

答案 3 :(得分:0)

只需将这一行放在Dockerfile中的apt-get命令之前:

RUN echo "deb http://deb.debian.org/debian jessie main" > /etc/apt/sources.list

Debian删除了导致此问题的旧软件包的某些URL。该行修复了要引用的存储库。