解决linux更新apt软件源时报出GPG错误
今天给树莓派换源,爆出N个这错误:
W: GPG error: http://mirrors.neusoft.edu.cn/raspbian/raspbian wheezy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9165938D90FDDD2E
经过多番查找资料,解决了问题,记录下解决过程.
介绍:
GPG是啥:
这玩意又叫GnuPG,是一个加密/解密相关的工具,据说是模仿PGP开发的(PGP另一个加密工具,收费的)
apt为何用到GPG:
apt在下载包的时候会加密,而GPG在其中提供加密,解密相关的支持
解决问题:
从上面的提示可看出,似乎缺少了某Pubkey,所以要把它补上,使用如下命令:
gpg --keyserver 服务器 --recv-keys 提示语句最后的那串玩意儿 && apt-key add /root/.gnupg/pubring.gpg
#例子:
gpg --keyserver keyserver.ubuntu.com --recv-keys 9165938D90FDDD2E && apt-key add /root/.gnupg/pubring.gpg
有些系统可以尝试用这个:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 9165938D90FDDD2E
命令执行后,再次apt update,发现之前的GPG错误没了.问题解决~
国内可用key server列表:
keyserver.ubuntu.com
pgp.mit.edu
subkeys.pgp.net
www.gpg-keyserver.de
参考资料(里面有更详细的内容):
http://blog.chinaunix.net/uid-20420254-id-2890214.html
http://www.ruanyifeng.com/blog/2013/07/gpg.html
http://zqscm.qiniucdn.com/data/20070530161730/index.html
解决linux更新apt软件源时报出GPG错误的更多相关文章
- 更新Debian软件源
更新Debian软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份一下软件源 sudo vi /etc/apt/source ...
- linux下获取软件源码包 centos/redhat, debian/ubuntu
linux下获取软件源码包 centos/redhat, debian/ubuntu centos下: 1. yum install yum-utils 主要为了获取yumdownloader 2. ...
- 各版本linux推荐的软件源
x64 Ubuntu 18.4 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe mul ...
- 【Linux】apt软件管理和远程登录
镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 1. apt 介绍 apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具.在 Ubuntu 下,可以使用 ap ...
- linux -- ubuntu 何为软件源
新手学Ubuntu的时候,一般不知道什么是源,但源又是Ubuntu下常用到的东西.因此,本文就详细介绍一下Ubuntu 源. 什么是软件源? 源,在Ubuntu下,它相当于软件库,需要什么软件,只要记 ...
- [转]更新Debian软件源
转自:香神无涯 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份一下软件源sudo vi /etc/apt/sources.lis ...
- Linux Mint---更新软件源
安装完系统之后第一件事情就是更新软件源,为接下来的各种工作作准备,这个也很简单,直接打开software source设置一下, 然后打开software manager更新一下就好了.
- 使用Windows客户端连接Linux系统中的MySQL时产生的错误已经解决
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- Linux:编译动态库时遇到的错误relocation R_X86_64_32 against `a local symbol'
编译动态库时遇到如下错误: ... ... relocation R_X86_64_32 against `a local symbol' can not be used when making a ...
随机推荐
- jupyter命令把.ipynb文件转化为.py文件
jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件
- FastAdmin Bootstrap-Table 自定义搜索的重写提示
Bootstrap-Table 自定义搜索的重写提示 群友询问:这个搜索能自己写么? [群主]Karson-深圳(请勿@) "★找大神-山西 10:59:32 查看原文 [图片] 这个搜索能 ...
- [转]Intellij IDEA快捷键
[常规]Ctrl+Shift + Enter:语句完成“!”:否定完成:输入表达式时按 “!”键Ctrl+E:最近的文件Ctrl+Shift+E:最近更改的文件Shift+Click:可以关闭文件Ct ...
- mysql之 mysql_config_editor/login-path 登录密码保护
login-path是MySQL5.6开始支持的新特性.通过借助mysql_config_editor工具将登陆MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认位于用户主目录) . ...
- this、new,容易混淆的地方
this.new,容易混淆的地方 情况1 关系 情况2 new Foo() 等价于,推荐的写法是new Foo() new Foo new Foo() 不一样 Foo(), Foo()这种情况下,构造 ...
- 高级java必会系列一:常用线程池和调度类
众所周知,开启线程2种方法:第一是实现Runable接口,第二继承Thread类.(当然内部类也算...)常用的,这里就不再赘述. 一.线程池 1.newCachedThreadPool (1)缓存型 ...
- MySQL程序之mysql参数详解
MySQL程序之mysql参数详解 mysql 是一个命令行客户程序,用于交互式或以批处理模式执行SQL语句 用法: mysql [OPTIONS] [database] 参数: 1.-? --hel ...
- NLB网路负载均衡管理
相对于ARR来说,ARR算是应用级别的负载均衡方案,而NLB则是服务器级别的负载均衡方案.ARR只能做请求入口的消息分发服务,这样如果我们的消息分发服务器给挂掉,那么做再多的应用服务集群也都枉然. A ...
- CSS:绝对定位布局案例 position布局实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- XE5开发Android程序调用电话相关功能(短信息和电话)
方法a.不使用Intent而是直接发短信. smsManager对应的Delphi代码应该是: uses Androidapi.JNI.JavaTypes,Androidapi.JNI.Telepho ...