我已经按照 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 中的密钥环文件,但无法解决问题。
cd /etc/apt
随后:
sudo cp trusted.gpg trusted.gpg.d
现在运行 A 须藤apt更新 该错误不应再次显示
最近,我看到一篇博客文章,其中列出了以更通用的方式解决此问题的不同方法。我使用了here中列出的第三种。 这个方法很简单,但是很有力,但对我来说很有效。我想引用博文中的话
这是一种强有力的方法,因为我们不是转换密钥,而是直接将旧密钥移动到受信任的文件夹,如果您没有为旧密钥找到任何其他快速方法,那么这可能不是一个明智的想法,这里就是一个使用:
使用
cd
命令简单导航到密钥列表文件夹,然后使用 cp
命令。您可以使用下面给出的代码片段(摘自博客文章)。
cd /etc/apt
sudo cp trusted.gpg trusted.gpg.d
其他可能的解决方案也列在其中,您也可以检查这些!
您可以将密钥从旧的 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/
大多数日常 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/
通过这种方式自动化所有键的过程:
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