如何修复 Linux 中的“无法安全地从此类存储库更新”错误

我们又回来讨论了 apt 相关的错误,这一次,我们谈论的是如下所示的错误消息:

N: Updating from such a repository can't be done securely, and is therefore disabled by default. 

您可能在尝试运行 apt update 或者 apt upgrade 命令。 这是 Linux 中比较有问题的错误之一,因为它 阻止用户 从更新某些程序甚至操作系统本身。 有时,错误伴随着另一条消息,如下所示:

W: Failed to fetch https://in.archive.ubuntu.com/ubuntu/dists/precise/Release.gpg 

如果您也收到上述错误消息,我们建议您阅读本文。

此错误背后的原因

这个错误再次与 来源.list 文件中存在 等/apt/ 目录。 有 过时的资源 是发生此错误的主要原因。 此外,顾名思义,此错误发生在 您的操作系统应该从中更新的存储库被识别为不安全 并且可能对系统构成威胁。

如果您使用的是 EoL (End of Life) 版本(不再支持并被认为已过时的发行版),您还将收到前面提到的“获取失败”错误,因此您可以前往该文章找出你怎么能 从 EoL 发行版升级到当前的 LTS(长期支持)版本.

该错误的另一个重要案例是当您使用的存储库是 不信任 (通常来自第三方来源)由 Linux 提供。 因此,作为一种安全措施,它们被禁用。

如何解决问题?

方法一:绕过安全措施

如果您信任使用 apt 安装的软件,您实际上可以 旁路 认证安全措施并允许安装软件包而不会出现上述错误。

只需使用以下选项:

--allow-unauthenticated 

例如,如果您想使用 apt 安装带有上述选项的 bc (Basic Calculator),您需要编写如下命令:

Allow Unauthenticated 在里面 apt-get 命令

方法 2:使用标志添加未签名的存储库

如果您使用的是未签名的存储库,您可能会收到此错误,因为未签名的存储库通常会被标记为不安全。 要使用存储库,您需要在您的 sources.list 文件。 请按照以下步骤操作:

1. 打开 sources.list 文件使用文本编辑器,我将使用 vi 编辑器:

sudo vi /etc/apt/sources.list 

2. 将以下选项添加到您正在使用的源中:

[trusted=yes] 

例如,我设置了 trusted 选项 https://archive.ubuntu.com/ubuntu/ jammy main restricted 来源如下:

具有受信任标志的存储库

3. Save 然后使用 ESC 键退出 :wq! (对于 vi 编辑器)。

4.运行一个 sudo apt-get update 命令,看看问题是否解决。

或者,您也可以尝试添加 [allow-insecure=yes] 选项。

方法 3:禁用引起问题的存储库

当你得到“Updating from such a repository can't be done securely“,还提到了存储库源以及错误代码。 此存储库源是问题的原因,我们可以通过禁用该存储库来解决它。 为此,请按照以下步骤操作:

1. 打开 软件更新程序

检查软件和更新Ubuntu 中的软件更新程序

2.根据 其他软件 选项卡,找到相关的存储库并取消选中它们

3. 关闭软件更新程序并运行以下命令:

sudo apt update  

这应该可以解决安装/更新的问题。

参考

  • 询问 Ubuntu——从未签名的存储库强制更新
  • Youtube – 拉斐尔·维库纳

概括

与与 apt 实用程序相关的其他错误相比,修复此错误并不复杂。 这个错误是由一个非常具体的原因引起的,因此只有几种方法可以解决它,这些方法在大多数情况下都有效。 如果即使按照上述方法仍未解决错误,您可能需要找到其他方法来安装您可以在其源网站上找到的软件包。