“存储库没有发布文件”错误

Sul*_*han 13 ubuntu ros

我正在尝试在Ubuntu 上安装ROS。我收到此错误:

   sudo apt-get update
Hit:1 http://pk.archive.ubuntu.com/ubuntu cosmic InRelease
    Hit:2 http://pk.archive.ubuntu.com/ubuntu cosmic-updates InRelease
    Hit:3 http://pk.archive.ubuntu.com/ubuntu cosmic-backports InRelease
    Get:4 http://security.ubuntu.com/ubuntu cosmic-security InRelease [83.2 kB]
    Ign:5 http://packages.ros.org/ros/ubuntu cosmic InRelease Err:6 http://packages.ros.org/ros/ubuntu cosmic Release 404 Not Found [IP: 64.50.236.52 80] Reading package lists... Done
    E: The repository 'http://packages.ros.org/ros/ubuntu cosmic Release' does not have 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.
Run Code Online (Sandbox Code Playgroud)

小智 72

您需要将存储库目标更新到 Ubuntu 的 Eoan Ermine (19.10) 版本。这可以像这样完成:

sudo sed -i -e 's|disco|eoan|g' /etc/apt/sources.list
sudo apt update
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。现在变成 sudo sed -i -e 's|eoan|focal|g' /etc/apt/sources.list (17认同)
  • 有没有办法自动为任何 X 版本到当前版本执行此操作? (2认同)
  • @JoãoPimentelFerreira `sudo sed -i -e 's|X|$(lsb_release -cs)|g' /etc/apt/sources.list` (2认同)

sag*_*thi 21

#For 无法“更新”我的 Ubuntu 19.04

不受支持的旧版本(如 11.04、11.10 和 13.04)的存储库移至存档服务器。在http://old-releases.ubuntu.com 上有可用的存储库。

首先分解这个文件

cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i -re 's/([az]{2}.)?archive.ubuntu.com|security.ubuntu.com/ old-releases.ubuntu.com/g' /etc/apt/sources.list

然后

sudo apt-get update && sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)

  • 这对我有帮助,谢谢!我仍然建议在运行 sed 之前创建备份: `sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak` (2认同)

Rob*_*een 14

如上所述这里,你需要编辑(根)文件/etc/apt/sources.list(这样做的最简单的方法是键入sudo gedit /etc/apt/sources.list)。在提到http://packages.ros.org/ros/ubuntu的行上,您需要[trusted=yes]在该词之后添加deb(您可能需要将其作为单独的词添加)。然后保存文件,然后重试。

  • 它可能位于“/etc/apt/sources.list.d”中的文件中。在该目录中查找。 (7认同)

小智 9

确保你的 /etc/apt/sources.list 有http://old-releases.ubuntu.com而不是 in.archive


小智 7

我使用此代码并建议您:

1) sudo sed -i -e 's|disco|eoan|g' /etc/apt/sources.list
2) sudo apt update
Run Code Online (Sandbox Code Playgroud)

  • 之前已经给出了相同的答案。 (2认同)

小智 5

我打开了我的软件和更新程序,然后从我的国家切换到主服务器,如下所示:
软件和更新屏幕

完成此操作并sudo apt update再次运行突击队后,我的问题就消失了。


prz*_*_li 5

就我而言,原因是 Canonical 不再支持 Ubuntu 版本。我可以通过 2 个步骤升级到仍然支持的 LTS:

1) 手动将 repo 链接从“in.ubuntu”更新为“old-releases.ubuntu”。1.1) 安装了所有未完成的更新 2)do-release-upgrade能够从这一点开始并进行实际升级

恕我直言,这是更安全的方法,然后只是将存储库更新到下一个受支持的 ubuntu,因为do-release-upgrade有机会防止升级可能失败,并且可能能够为您诊断问题。