W:密钥存储在旧版 trusted.gpg 密钥环 (/etc/apt/trusted.gpg) 中,有关详细信息,请参阅 apt-key(8) 中的弃用部分

问题描述 投票:0回答:5

我已经按照 https://classic.gazebosim.org/tutorials?tut=install_ubuntu 中的步骤通过替代安装在我的 ubuntu 22.04 LTS 上安装了 Gazebo。当我尝试使用

sudo apt update

更新软件包时,出现以下错误

W:http://packages.osrfoundation.org/gazebo/ubuntu-stable/dists/jammy/InRelease:密钥存储在旧版的trusted.gpg密钥环(/etc/apt/trusted.gpg)中,请参阅弃用apt-key(8) 部分了解详细信息。

我尝试删除密钥

from apt-key list
,但它给了我额外的警告,提示我无法获取密钥,因为公钥丢失了。有办法解决这个警告吗?

我在 Warning: apt-key is deprecated 中提到了类似的解决方案。改为管理 trust.gpg.d 中的密钥环文件,但无法解决问题。

ubuntu warnings deprecation-warning gazebo-simu apt-key
5个回答
28
投票
cd /etc/apt

随后:

sudo cp trusted.gpg trusted.gpg.d

现在运行 A 须藤apt更新 该错误不应再次显示


11
投票

最近,我看到一篇博客文章,其中列出了以更通用的方式解决此问题的不同方法。我使用了here中列出的第三种。 这个方法很简单,但是很有力,但对我来说很有效。我想引用博文中的话

这是一种强有力的方法,因为我们不是转换密钥,而是直接将旧密钥移动到受信任的文件夹,如果您没有为旧密钥找到任何其他快速方法,那么这可能不是一个明智的想法,这里就是一个使用:

使用

cd
命令简单导航到密钥列表文件夹,然后使用
cp
命令。您可以使用下面给出的代码片段(摘自博客文章)。

cd /etc/apt
sudo cp trusted.gpg trusted.gpg.d

其他可能的解决方案也列在其中,您也可以检查这些!


4
投票

您可以将密钥从旧的 apt-key 工具转换为新的 apt 受信任密钥格式。

首先,您应该搜索您的密钥 ID。

尝试

apt-key list gazebo
,如果只有一个人回来,那就很容易了。 只需运行此命令即可。

apt-key export gazebo | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/gazebo-key.gpg

该警告将会消失

此外,您可以在源定义中指定密钥文件。 但默认情况下,apt 将检查所有有效密钥。

查看此网站的示例

https://tecadmin.net/resolved-key-is-stored-in-legacy-trusted-gpg-keyring/


2
投票

大多数日常 Linux 驱动程序用户可以避开警告:

cd /etc/apt
sudo cp trusted.gpg trusted.gpg.d
sudo apt update

这是 Linux 中当前的安全讨论,因此我只能报告撰写本文时发生的情况。一些主要 Linux 发行版的系统更新采用一种方法,其中 apt-key 将所有软件包存储库的所有身份验证密钥存储在一个位置。这很方便,但存在一些潜在的安全问题。潜在的安全问题终于得到解决。然而,当前的“修复”建议对于大多数用户来说过于复杂而难以实施。如果没有人会使用它,那么它就不是真正的解决方案。在像 Ubuntu 这样的大型发行版中,您可能会看到诸如“apt-key 已弃用”或“密钥存储在旧版中...”之类的警告。这只是一个警告,旨在让您为未来的更新做好准备。希望一旦安全专家决定执行此策略,将为大多数用户提供一个简单的补丁(例如,apt 的下一次更新可能会悄悄“修复”该问题,以便警告消失)。

实际使用按键进行操作的高级用户可能需要更加小心。请立即阅读并关注可信的博客文章以获取更多信息,例如: https://itsfoss.com/apt-key-deprecated/


0
投票

通过这种方式自动化所有键的过程:

sudo apt-key 列表 2>&1 | grep -E '/(trusted.gpg.d)' -A 3 | grep -E '/(trusted.gpg.d)' -A 3 | grep -v '^--' | grep -v '^--' | grep -v '^pub ' | grep -v '^pub ' | /bin/sed 's@./trusted.gpg.d/(.)@ @g' | /bin/awk 'NR%2{printf "%s ",$0;下一个;}1' | /bin/awk '{print "sudo apt-key export "$10$11" | sudo gpg --dearmour -o /usr/share/keyrings/"$1}' | xargs -I'{}' bash -c“评估'{}'”。

参考网址: https://askubuntu.com/questions/1398344/apt-key-deprecation-warning-when-updating-system

© www.soinside.com 2019 - 2024. All rights reserved.