在使用sudo apt-get update更新Ubuntu时,出现以下错误:
错误:6 http://packages.ros.org/ros/ubuntu bionic InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
获取:11 https://dl.winehq.org/wine-builds/ubuntu bionic/main i386 Packages [1,068 kB]
获取:12 https://dl.winehq.org/wine-builds/ubuntu bionic/main amd64 Packages [1,032 kB]
正在读取软件包列表... 完成
W: GPG 错误:http://packages.ros.org/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
E: 仓库 “http://packages.ros.org/ros/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
原因是在本地没有公钥,解决方法如下:
Step1:打开OpenPGP Keyserver
step2:将上述问题中的NO_PUBKEY F42ED6FBAB17C654的F42ED6FBAB17C654复制搜索
stem3:找到对应公钥的选项并打开,如我的选项是
sig sig f42ed6fbab17c654 2021-05-29T05:59:45Z 2025-06-01T05:59:45Z ____________________ [selfsig]
打开后是如下:
-----BEGIN PGP PUBLIC KEY BLOCK----- Comment: Hostname: Version: Hockeypuck 2.1.0-189-g15ebf24 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 =bJcS -----END PGP PUBLIC KEY BLOCK-----
Step4:随便在一个文件夹下创建一个文件,类型不用管,直接打开终端输入touch public_key.再gedit public_key.最后复制Step3的一大串东西。
Step5:使用sudo apt-key add <filename>,比如这次中,我输入sudo apt-key add public_key
Step6:执行sudo apt-get update