如果一个仓库/PPA没有Release文件,我该怎么办?

更新时,我收到以下错误信息:
W: The repository 'http://ppa.launchpad.net/mc3man/trusty-media/ubuntu xenial Release' does not have a Release file.

这里,我在这个错误上找到了另一个陈述:当使用PPA或更新软件包列表时,如何修复404错误? 这建议删除某些PPA;但是,我不确定是否应该这样做,因为这可能意味着无法获得我所需的更新。
这是我应该做的吗?

xenial可能已不再受支持,应该升级。您应该将所有存储库更改为使用old-release.ubuntu.com,并执行sudo do-releases-upgrade以获取Ubuntu的受支持版本。 https://help.ubuntu.com/community/EOLUpgrades 哦,原来是一个旧的PPA。我自己也遇到了这个问题,通过这个技巧解决了。我在搜索时首先来到这里。 - Anders
在尝试其他任何操作之前,请确保您的服务器可以访问互联网。否则,您也会遇到这个错误。 - user92240
2@Anders 截至目前,Xenial仍然得到维护更新的支持。如果有疑问,您可以查看发布计划 - Elder Geek
5个回答

你添加的PPA不支持你的Ubuntu版本,这意味着没有适用于你特定版本的软件包。
例如,ppa:mc3man/trusty-media PPA仅适用于Trusty(Ubuntu 14.04)(trusty-media)。显然,它没有适用于Xenial(16.04)的文件。你可以查看PPA的Launchpad页面以了解支持哪些Ubuntu版本。
我建议你采取以下措施:
  • 删除旧版本的PPA。以此示例为例:
    sudo ppa-purge ppa:mc3man/trusty-media
  • 如果有适用于你当前版本的PPA,请添加它。在这种情况下,有一个适用于Xenial的PPA:mc3man/xerus-media。你可以使用以下命令添加它:
    sudo add-apt-repository ppa:mc3man/xerus-media
总结一下,你需要移除添加的PPA,并使用另一个适用于你当前版本的PPA来获取软件包。

46所以首先:我没有ppa-purge,所以作为一个提醒,如果将来有人阅读这个答案:你可能需要首先运行sudo apt-get install ppa-purge来获取它。 - Addem
19其次,我尝试了第一个要点,但在一些其他通常伴随着“sudo apt-get update”的错误消息之后,我收到了警告“警告:apt-get更新由于某些原因失败”。 - Addem
6在完成第二个步骤并运行sudo apt-get update之后,我收到了通常的错误信息。我猜现在我应该禁用相关的Trust Media东西。 - Addem
6是的,在“系统设置”>“软件和更新”>“其他软件”下取消选中了一些关于Trusty Media和mc3man的复选框,然后我再次运行更新并没有收到错误消息。我大约有90%的信心没有删除任何我需要的东西。 - Addem
很高兴它对你起了作用。 - mikewhatever
38如果你没有ppa-purge,只需使用sudo add-apt-repository -r ppa:…即可。 - dessert
@甜点这是最简单的方法,因为没有从PPA安装的软件包。 - jarno
我不明白为什么它“不支持你的Ubuntu版本”……当我第一次添加PPA时,它没有任何问题安装,而且我也没有升级,所以为什么突然就出现了这种故障? - Michael
@Michael 或许维护者在发布后移除了支持;请查看PPA网页。 - jarno
有一个例外情况和改进版的 ppa-purge 的详细信息,可以参考我的答案 - jarno
这个答案不起作用,最好使用下面的答案,它涉及到“系统设置 > 软件和更新 > 其他软件”。 - Richard

删除PPA的命令是:
sudo add-apt-repository --remove ppa:mc3man/trusty-media

现在运行
sudo apt-get update

2谢谢,我遇到了同样的问题,这个方法对我有效。 - lobjc
2我的存储库被命名为'http://ppa.launchpad.net/network-manager/trunk/ubuntu focal Release',所以我不得不使用sudo add-apt-repository --remove ppa:network-manager/trunk来移除它。 - Anis Benna
这在我POpOS20.04上有效。谢谢! - demid

是的,在“系统设置”>“软件和更新”>“其他软件”下取消选中一些“可靠媒体”和“mc3man”的复选框就可以解决问题了。对我来说,“ppa-purge”没有起作用。

4如果这个被用在服务器上,应该怎么办? - Brainmaniac
这样做的一个优点是,如果你只想暂时禁用它,而不是完全清除整个东西,你可以重新启用PPA。 - GDP2

从我的个人经验来看,如果我们谈论的是PPA,我建议直接联系PPA所有者,向他/她请求准备所需软件包(通常是较新的、受支持的版本),具体步骤如下:
暂时禁用您系统中的PPA(请参考其他答案)。 访问https://launchpad.net上的PPA页面并登录。 确定已上传者栏中的上传者名称,点击名称的超链接。 然后点击联系此用户

Contact this user

填写所有必要信息的表单:

发件人:您的电子邮件将在此处显示
主题:为Ubuntu NN.MM版本打包AppName
消息:

亲爱的PPA所有者!

感谢您对AppName的工作。
如果您能为Ubuntu NN.MM版本创建该软件的软件包,那将非常棒。

致以最诚挚的问候,
用户

等待PPA所有者的电子邮件。 当软件包发布后,再次将PPA添加到系统中。 尽情享受吧!

在某些情况下,原本适用于旧版本Ubuntu的软件包也可以在新版本中使用。这目前适用于我的ppa-purge PPA;请参考网站上的说明。请注意,官方的ppa-purge自Ubuntu Xenial(16.04)以来一直是相同的版本0.2.8+bzr63。