无法更新APT列表:“存储库不再具有发布文件”


27

apt-get update遇到以下错误,我无法运行:

# apt-get update
Hit:1 http://ftp.br.debian.org/debian testing InRelease
Ign:2 http://security.debian.org/debian-security testing/updates InRelease
Err:3 http://security.debian.org/debian-security testing/updates Release
  404  Not Found [IP: 151.101.92.204 80]
Reading package lists... Done
E: The repository 'http://security.debian.org/debian-security testing/updates Release' no longer has a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Repository 'http://ftp.br.debian.org/debian testing InRelease' changed its 'Codename' value from 'buster' to 'bullseye'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

因此,这里有两个错误消息:

  1. 该存储库不再具有一个发行文件,这很奇怪。我在http://security-cdn.debian.org/debian-security/zzz-dists/testing/updates/处进行了检查,并发现其中存在Release文件。我是在错误的位置看还是有其他事情发生?
  2. 该存储库将其名称从更改为busterbullseye并且“必须明确接受”(我今天见过一次;打开问题时它不在那儿,并且不再出现了)。这并不令人感到意外,但是如果我跟踪存储库testing而不是发行版名称,我并不认为这会成为问题。

我能做什么?APT告诉我阅读apt-secure(8),但是它没有我需要的信息,或者我听不懂。

Answers:


39

更改testing/updatestesting-securitysources.list以匹配http://security-cdn.debian.org/debian-security/dists/testing-security/

然后运行,apt update而不是apt-get update交互式地接受各种更改。

根据此reddit帖子,版本10中引入了此存储库名称更改。


这个答案似乎是回答实际问题的唯一答案,尽管其他答案仍然很有趣。
multithr3at3d

1
我想知道aptvs apt-get很久了。这使我终于找到了它。apt是对最终用户进行软件包管理的首选方法。
菲尔(Phil)

这样就解决了问题。另外,我的另一个问题的答案是:我发布的链接是正确的;没有发布文件丢失。但是文件显示为“ buster”。我猜它已经过时了,我错过了公告。
giusti

您发布的链接确实存在,但是zzz-distsURL中的部分不常见。看起来像是一个文件夹,我将其重命名以将其下推到文件列表中。testing/updates直到遇到与您相同的问题,我才知道重命名。Debian提到了这一点:如果您要跟踪测试或下一个稳定的代码名称,则应始终在/ etc / apt / sources中具有相应的deb security.debian.org <“ testing”或代号> -security主行.list
SLV

14

如果您要从测试升级到失败,也请务必运行

apt-get update --allow-releaseinfo-change

如果没有,apt-get update将不允许您使用Buster进行更新,并且会吐出如下消息:

N:存储库“ http://deb.debian.org/debian buster InRelease”将其“版本”值从“”更改为“ 10.0”

E:存储库“ http://deb.debian.org/debian buster InRelease”将其“ Suite”值从“ testing”更改为“ stable”

N:必须先明确接受此方法,然后才能应用此存储库的更新。有关详细信息,请参见apt-secure(8)联机帮助页。

N:存储库“ http://security.debian.org/debian-security buster / updates InRelease”将其“版本”值从“更改为”到“ 10”

E:存储库“ http://security.debian.org/debian-security buster / updates InRelease”将其“ Suite”值从“ testing”更改为“ stable” N:必须先明确接受此值,然后才能更新此存储库应用。有关详细信息,请参见apt-secure(8)联机帮助页。


12

根据7月1日发布的Debian Project News, Debian 10“ Buster”计划于2019-07-06 从测试过渡到稳定

看起来过渡实际上是按计划执行的,因此测试发行版现在应该赶上不稳定的状态,最终成为Debian 11“ Bullseye”。由于Debian镜像的这种过渡,您可能会遇到一些暂时的副作用。

如果您想使用Debian 10“ Buster”,现在是切换您/etc/apt/sources.list使用版本名称buster而不是的好时机testing

否则,您很快就会从不稳定性中获得原始的尖端技术,并且可能会不经意间部分升级到原型“ Bullseye”。

另外,这也提醒所有在单词stable中使用该单词的/etc/apt/sources.list人考虑是否将其更改stretch为旧版本,还是阅读发行说明并执行建议的升级步骤。


1
如果要继续使用“测试”分支,该怎么办?我的sources.list应该说些什么?谢谢!
奥斯卡瓜哈尔

2
在2019-07-06之前,测试意味着Debian 10; 现在它意味着Debian的11.如果你想留在Debian您一直使用至今10,你应该换个词testing在你sources.listbuster 现在。另一方面,如果您实际上想成为Debian 11冲刺的先锋,请不要进行任何更改。也许要等一两个星期,才能度过难关,监视适当的Debian邮件列表,然后运行apt full-upgrade并查看会发生什么。如果发生故障,请提供良好的错误报告。Debian 11即将成形时,您将对其进行测试!
telcoM

PS:显然昨天的错误消息中我遗漏了一些东西,或者这是新的。我将检查日志。
giusti

1
不。这绝对是新的。我意识到了过渡。实际上,这就是为什么我昨天尝试升级。据我所知,testing刚刚冻结,我想进行更新。那么APT告诉我什么呢?如何“明确接受”发行版的新代号?我不记得曾经这样做。
giusti

的代号testing已从更改为busterbullseye以反映Debian 10-> 11的过渡,并且该代号包含在Release文件中。看来您的的版本apt足够聪明,可以阻止从意外升级busterbullseye。Debian项目的优先级可能是发布新版本stable并修复其中的所有问题,因此testing可能需要几天的时间才能打破,直到他们为新testing版本创建新的APT密钥。debian-archive-keyring一旦发布了新的pkg,您可能必须手动更新它。
telcoM

4

运行apt update并接受更改(每次询问时键入y)。它将进行所有必需的更改。


这对于那些希望保持稳定的“破坏者发行”的人有用。
Tony Power
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.