echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list
问题是,现在从backports存储库中获取软件包失败,并出现以下错误(以前可以正常工作) ):
W: Failed to fetch
http://ftp.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages
404 Not Found
W: Failed to fetch
http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages
404 Not Found
我查看了该服务器,但那里确实没有这些路径。 backports网站是否仍然可以使用该特定存储库,并且我没有发现任何迹象表明已弃用该存储库或类似的东西。 backports存储库不再可用?如果这不是暂时的问题,那么在不升级到较新的Debian稳定版的情况下,我必须使用哪些选项来使用此版本或等效的存储库?
#1 楼
Wheezy和Jessie最近从镜像网络中删除,因此,如果要继续获取Jessie反向端口,则需要改用archive.debian.org
:deb [check-valid-until=no] http://archive.debian.org/debian jessie-backports main
(有效性检查被禁用,因为该存储库不再更新。Jessie的
apt
不支持check-valid-until
标志,有关详细信息,请参见inostia的答案,并且在此答案中进一步进行配置摘要。)已删除:所有更新已与主存储库合并,并且不会再有其他非安全更新。因此,需要删除对
jessie-updates
或jessie-updates
文件中的sources.list
的所有引用。在2020年6月30日之前,将继续在LTS支持的体系结构上的安全性存储库中提供安全更新。由于您正在构建容器映像,因此我强烈建议在Debian 9的基础上构建它。 (拉伸)。要继续使用Debian 8(Jessie),您的存储库应该看起来像
deb http://cdn-fastly.deb.debian.org/debian/ jessie main
deb-src http://cdn-fastly.deb.debian.org/debian/ jessie main
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
deb http://archive.debian.org/debian jessie-backports main
deb-src http://archive.debian.org/debian jessie-backports main
(没有
sources.list.d
存储库)。ll还需要在
jessie-updates
中禁用有效性检查(这将适用于所有存储库):Acquire::Check-Valid-Until "false";
评论
抱歉,我的回答可能还不是很清楚。我给的那条线只用于反向移植。 jessie-updates不再存在,因此您应该将其全部删除,并且Jessie安全更新仍在security.debian.org上。
–斯蒂芬·基特(Stephen Kitt)
19 Mar 26 '19在15:15
@不,安全更新是在security.debian.org上提供的,而不是通过反向移植或更新提供的。不会再有非LTS稳定的更新,因此jessie-updates在主镜像网络上不再有用,并且也将不再有任何反向端口,因此jessie-backport也是如此。
–斯蒂芬·基特(Stephen Kitt)
19 Mar 26 '19在15:57
不适合我:```E:archive.debian.org/debian/dists/jessie-backports/InRelease的发行文件已过期(自34d 20h 7min 12s起无效)。此存储库的更新将不会应用。 ```
– Avi Kivity
19 Mar 26 '19在16:34
已经发现,后续的apt命令似乎也需要-o Acquire :: Check-Valid-Until = false(每个unix.stackexchange.com/a/45973/186565),以避免到期错误。
–住光
19 Mar 26 '19 at 21:01
@sumitsu谢谢,在apt.conf中设置也应该起作用(请参阅我的更新)。
–斯蒂芬·基特(Stephen Kitt)
19年3月26日在22:39
#2 楼
在尝试了@inostia和@Stephen Kitt建议的解决方案之后,我仍然遇到以下错误:deb http://deb.debian.org/debian jessie-updates main
。我在Dockerfile中得到了以下代码片段:
W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
评论
我不得不柚木sed部分,因为在我的情况下,docker映像(postgres)使用的是httpredir.debian.org而不是deb.debian.org。
–harrybvp
19 Mar 27 '19在22:19
这是您的sed命令的更新版本,它为我解决了问题:sed -i'/ deb http:\ / \ / \(deb \ | httpredir \)。debian.org \ / debian jessie。* main / d' /etc/apt/sources.list
–speedplane
19 Mar 29 '19在0:26
有没有秒杀解决方案?如果不建议使用存储库,那么在哪里可以获取必要扩展的新存储库?
– zhartaunik
19 Mar 30 '19在5:29
这是对我有用的最后一句话:RUN echo“ deb [check-valid-until = no] cdn-fastly.deb.debian.org/debian jessie main”> /etc/apt/sources.list.d/jessie .list RUN echo“ deb [check-valid-until = no] archive.debian.org/debian jessie-backports main”> /etc/apt/sources.list.d/jessie-backports.list RUN sed -i'/ deb http:\ / \ /(deb \ | httpredir).debian.org \ / debian jessie。* main / d'/etc/apt/sources.list运行apt-get -o Acquire :: Check-Valid-Until =错误的更新RUN echo'Acquire :: Check-Valid-Until“ false”;' > /etc/apt/apt.conf
– Yehor
19年4月12日在14:04
这对我有用,任何后续的apt-get更新都应具有-o Acquire :: Check-Valid-Until = false选项。在我的情况下,我正在使用RUN dpkg -i couchbase-release-1.0-4-amd64.deb然后再运行apt-get -o Acquire :: Check-Valid-Until = false update && \ apt-get -y install libcouchbase-dev && \ rm -rf / var / lib / apt / lists / *
–拉文·比姆辛格(Raveen Beemsingh)
19年4月19日在8:18
#3 楼
这发生在我预配使用Debian“ Jessie”的Vagrant盒中。按照斯蒂芬·基特(Stephen Kitt)的回答,切换到archive.debian.org为我工作,但我必须将其添加到
/etc/apt/sources.list.d/jessie-backports.list
而不是/etc/apt/sources.list
。我添加了以下内容行到
provision.sh
:echo "deb http://archive.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
然后我也遇到了运行
apt-get update
的安全错误。在本地镜像上,此错误已修复:apt-get -o Acquire::Check-Valid-Until=false update
或者,要永久禁用检查,请将其添加到
provision.sh
:echo "Acquire::Check-Valid-Until \"false\";" > /etc/apt/apt.conf.d/100disablechecks
然后您可以运行所有不带
apt
标志的-o
命令。评论
禁用适用于所有存储库的有效性检查是否危险?
–马克西姆·拉法里(Maxime Lafarie)
19年8月13日在14:33
更好的解决方案:更新您的VM
–inostia
19年11月11日在9:55
另外,请勿在生产中使用此功能。我只是在开发环境中这样做。
–inostia
19年11月11日上午10:05
#4 楼
对于那些使用带有较旧docker镜像基础的NodeJS的用户。我有一些冻结的映像,这些映像具有这些较旧的源,用于编译额外的库。最近24小时),因为它在docker构建期间无法提供依赖关系。 (同样来自今天的archive.debian.org位置)解决方案:我最终切换到该节点的最新容器版本(已预先安装了python库),并进行了更新包json中的一些库(现在也包括以前想要pythyon的二进制库)使问题变得过时了。成为解决问题的最直接方法。
注意带有二进制依赖性的陈旧图像栈,它们可能需要一段时间来更新核心OS层。
评论
嗨,格伦,感谢您的发帖。我认为我在dockerfile中遇到了同样的问题,因为我有“运行apt-get更新-y && apt-get安装主管python python-dev curl -y --force-yes”。我正在使用FROM节点:6.11.2,该怎么办才能克服这个问题?
–亚伦
19年4月2日在9:07
对于Docker Node映像,替代方法是使用-stretch映像:node:
–lukeaus
19年4月9日在5:15
#5 楼
如果仍然无法解决任何问题,请显示以下错误消息:Unable to correct missing packages.
WARNING: The following packages cannot be authenticated!
W: GPG error
W: An error occurred during the signature verification.
Updates for this repository will not be applied.
E: Failed to fetch
E: Aborting install
请考虑进行全面发行升级并清理源列表以保存计算机。这些笔记只需几分钟,但最糟糕的是。
首先访问
/etc/apt/sources.list.d/
,然后删除所有内容。 (执行备份)。编辑
/etc/apt/sources.list
,仅保留以下行:deb http://ftp.us.debian.org/debian stable main contrib
然后以root身份运行: br />
aptitude update
aptitude full-upgrade
确认各种消息。然后尝试:
sudo apt update
应该不会出现任何错误,只需确认:在这些情况下,如果一次使用某些冲突,则可以解决各种冲突:
Reading package lists... Done
其他可能的错误:
要解决此问题,请导入指定的公钥:
sudo aptitude -y install packagename otherpackagename
您可能会遇到一条非常罕见的消息! >
W: There is no public key available for the following key IDs:
*648ACFXXXXX2FAB138*
您可能会遇到旧内核和libc的问题: 。始终使用最新的LTS。
https://www.debian.org/doc/manuals/debian-faq/ch-uptodate.en.html
https://askubuntu.com/questions/364404/e-unable-to-fetch-some-archives-maybe-run-apt-get-update-or-try-with-fix-mis
https://askubuntu.com/questions/766883/there-is-no-public-key-available-for-the-following-key-ids-1397bc53640db551
评论
另请参见unix.stackexchange.com/questions/2544/…这与超级用户的debian中的apt-get更新失败基本相同。
我无法在此处添加答案。对我来说,我必须更改“ /etc/apt/sources.list.d/backports.list”文件。将“ deb cloudfront.debian.net/debian jessie-backports main”行更改为“ deb archive.debian.org/debian jessie-backports main”