树莓派 装机后的必要操作 — 添加软件源 解决 添加公钥 时会遇到的问题

当你添加完Debian的软件源后,在终端中执行sudo apt-get update时,会出现下面的错误:(这里我添加了3个软件源的网站,所以出现了3个相同的问题。)

W: GPG 错误:http://security.debian.org jessie/updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 9D6D8F6BC857C906 NO_PUBKEY 8B48AD6246925553
W: GPG 错误:http://ftp.debian.org jessie-updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
W: GPG 错误:http://ftp.debian.org jessie Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010 NO_PUBKEY CBF8D6FD518E17E1

这个错误的意思就是说:你刚刚添加的软件源,因为你没有添加公钥,所以添加的软件源不能使用,你需要你添加的每一个软件源网站添加错误中提示的指定的公钥

解决办法:添加公钥

添加公钥的命令格式为:(其中:Pubkey_After_8 就是公钥的后8位。)

gpg --keyserver pgpkeys.mit.edu --recv-keys Pubkey_After_8
gpg --export --armor Pubkey_After_8 | sudo apt-key add -
$ gpg --keyserver pgpkeys.mit.edu --recv-keys C857C906
gpg: 下载密钥‘C857C906’,从 hkp 服务器 pgpkeys.mit.edu
gpg: /home/pi/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 C857C906:公钥“Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1 (RSA: 1)
$ gpg --export --armor C857C906 | sudo apt-key add -
OK

现在一个软件源的公钥添加完成了。现在你再在当前终端中执行sudo apt-get update验证一下,输出下面的信息:

W: 以下 ID 的密钥没有可用的公钥:
8B48AD6246925553
W: GPG 错误:http://ftp.debian.org jessie-updates InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010
W: GPG 错误:http://ftp.debian.org jessie Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 8B48AD6246925553 NO_PUBKEY 7638D0442B90D010 NO_PUBKEY CBF8D6FD518E17E1

一个W: GPG 错误问题里面有两个或者三个公钥等待被添加。你看,已经解决了添加了一个公钥。

同样的道理,解决剩下的3个公钥:(上面错误提示中的6个公钥,是重复的。)

$ gpg --keyserver pgpkeys.mit.edu --recv-keys 46925553
gpg: 下载密钥‘46925553’,从 hkp 服务器 pgpkeys.mit.edu
gpg: /home/pi/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 46925553:公钥“Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1 (RSA: 1)
$ gpg --export --armor 46925553 | sudo apt-key add -
OK
$ gpg --keyserver pgpkeys.mit.edu --recv-keys 2B90D010
gpg: 下载密钥‘2B90D010’,从 hkp 服务器 pgpkeys.mit.edu
gpg: /home/pi/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 2B90D010:公钥“Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1 (RSA: 1)
$ gpg --export --armor 2B90D010 | sudo apt-key add -
OK
$ gpg --keyserver pgpkeys.mit.edu --recv-keys 518E17E1
gpg: 下载密钥‘518E17E1’,从 hkp 服务器 pgpkeys.mit.edu
gpg: /home/pi/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 2B90D010:公钥“Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1 (RSA: 1)
$ gpg --export --armor 518E17E1 | sudo apt-key add -
OK

现在所有需要添加的公钥都添加完成了。现在你再在当前终端中执行sudo apt-get update验证一下,不会再出现W: GPG 错误或者W: 以下 ID 的密钥没有可用的公钥这样的错误了。

你可能在添加公钥时会遇到的问题:

1. gpgkeys: key C857C906 can't be retrieved

pi@raspberrypi:~ $ gpg --keyserver keyring.debian.org --recv C857C906
gpg: 下载密钥‘C857C906’,从 hkp 服务器 keyring.debian.org
gpgkeys: key C857C906 can't be retrieved
gpg: 找不到有效的 OpenPGP 数据。
gpg: 合计被处理的数量:0

当我将--keyserver这个参数,也就是公钥服务器网站,设置为keyring.debian.org或者wwwkey.eu.pgp.net或者wwwkey.eu.pgp.net时,提示我:gpgkeys: key C857C906 can't be retrieved

解决办法就是:更换其他可以使用的公钥服务器网站。(比如:pgpkeys.mit.edu

2. gpg: 未改变:1

如果你执行两次gpg --keyserver pgpkeys.mit.edu --recv-keys Pubkey_After_8命令,第二次得到的信息就是下面这个格式的:

$ gpg --keyserver pgpkeys.mit.edu --recv-keys Pubkey_After_8
gpg: 下载密钥‘Pubkey_After_8’,从 hkp 服务器 pgpkeys.mit.edu
gpg: 密钥 Pubkey_After_8:“Debian Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>”未改变
gpg: 合计被处理的数量:1
gpg: 未改变:1

出现gpg: 未改变:1这样的提示,就是说明:这个你添加的公钥,之前你已经添加过一次了。出现这个的提示,你不用担心。


参考网站:

使用apt-get update出现”没有公钥,无法验证下列签名”的解决办法

http://my.oschina.net/aiguozhe/blog/38449

Debian更新源时出现签名无法进行验证(GPG error)

http://www.freeoa.net/osuport/botinstal/debian-apt-gpg-error_1642.html

树莓派 Learning 002 装机后的必要操作 --- 04 添加软件源 之 添加公钥 --- 解决“由于没有公钥,无法验证下列签名”问题的更多相关文章

  1. 树莓派 Learning 002 装机后的必要操作 --- 03 替换软件源

    树莓派 装机后的必要操作 - 替换软件源 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 树莓派的服务器实在太慢了!会导致你安装一个几M的东 ...

  2. 树莓派 Learning 002 装机后的必要操作 --- 06 共用键鼠 之 windows和树莓派

    树莓派 装机后的必要操作 - 使用Synergy软件 共用键鼠 之 windows和树莓派 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 ...

  3. 树莓派 Learning 002 装机后的必要操作 --- 05 给树莓派搭建“x86 + pi”环境 -- 安装**32位运行库** -- 解决`E:未发现软件包 xxx` 问题

    树莓派 装机后的必要操作 - 给树莓派搭建"x86 + pi"环境 – 安装32位运行库 – 解决E:未发现软件包 xxx 问题 我的树莓派型号:Raspberry Pi 2 Mo ...

  4. 树莓派 Learning 002 装机后必要的操作 --- 10 实现本地电脑与远程桌面之间复制粘贴(传输)文件

    树莓派 装机后必要的操作 - 实现本地电脑与远程桌面之间复制粘贴(传输)文件 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 PC端系统:w ...

  5. 树莓派 Learning 002 装机后必要的操作 --- 09 root用户 密码

    树莓派 装机后必要的操作 - root用户 密码 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 树莓派使用的Linux是debian系统, ...

  6. 树莓派 Learning 002 装机后必要的操作 --- 08 实现PC端 远程登入 树莓派 --- 法2 远程登录树莓派的图形桌面

    树莓派 装机后必要的操作 - 实现PC端 远程登入 树莓派 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 PC端系统:win10 x64 ...

  7. 树莓派 Learning 002 装机后的必要操作 --- 07 设置静态IP地址

    树莓派 装机后的必要操作 之 设置静态IP地址 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 为了避免IP变来变去,我们将IP地址设置为静 ...

  8. 树莓派 Learning 002 装机后的必要操作 --- 00 修改键盘布局

    树莓派 装机后的必要操作 - 修改键盘布局 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 上网查,发现树莓派的键盘布局不对,树莓派(ras ...

  9. 树莓派 Learning 002 装机后的必要操作 --- 01 解决上网问题

    树莓派 装机后的必要操作 - 解决上网问题 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 树莓派 装机后的必要操作 解决上网问题 解决上网 ...

随机推荐

  1. 让win10登陆时不再要求手动输入用户名

    如果windows每次登陆都要求手动输入用户名,可以用如下的方法避免: Windows10专业版.企业版和教育版用户 在运行或Cortana搜索栏输入secpol.msc后,按回车键进入"本 ...

  2. vRA7.x services do not register after a restart (2147446)

    After restarting the vRealize Automation Appliance, you experience these symptoms: In the vRealize A ...

  3. redis配置参数的热修改

    Redis使用config命令,可以对配置项参数热修改,不必重启. Redis最好不要重启,重启一次会引发如下问题: 如果数据很多(例如几个G),读起来很慢: 重启风险很大,Redis有内存陷阱 重启 ...

  4. sql的执行过程

    from ===> where ===> group by ===> select ===>order by 这个执行流程 很重要~~

  5. HDU 4001 To Miss Our Children Time(2011年大连网络赛 A 贪心+dp)

    开始还觉得是贪心呢... 给你三类积木叫你叠楼房,给你的每个积木包括四个值:长 宽(可以互换) 高 类型d d=0:你只能把它放在地上或者放在 长 宽 小于等于 自己的积木上面 d=1:你只能把它放在 ...

  6. github与eclipse结合使用

    github是现在流行的代码托管平台,今天以eclipse为例讲解github的使用,新建项目,提交eclipse项目到github,新建分支,合并分支 1.github上新建项目 记下githug项 ...

  7. linux lvm

    一.linux的lv(logical volume) lv各层次示例图如下: 核心思想:最底层的pv就是一个一个的磁盘,在保证总体容量的情况下,可以移除部分磁盘,在pv上面设置一个vg,相当于vg把所 ...

  8. 微信等webview中无法修改document.title的情况

    // hack在微信等webview中无法修改document.title的情况 var $iframe = $('<iframe src="https://www.bbtree.co ...

  9. js 禁止用户使用Ctrl+鼠标滚轮缩放网页

    为什么会有人会使用ctrl+鼠标滚轮缩放网页?坚决禁止! <html> <head> <title>测试</title> <script lang ...

  10. 命令行执行大sql文件

    mysql -h localhost -u root -p 123456 < F:/hello world/niuzi.sql