今天给树莓派换源,爆出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错误的更多相关文章

  1. 更新Debian软件源

    更新Debian软件源 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份一下软件源 sudo vi /etc/apt/source ...

  2. linux下获取软件源码包 centos/redhat, debian/ubuntu

    linux下获取软件源码包 centos/redhat, debian/ubuntu centos下: 1. yum install yum-utils 主要为了获取yumdownloader 2. ...

  3. 各版本linux推荐的软件源

    x64 Ubuntu 18.4 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe mul ...

  4. 【Linux】apt软件管理和远程登录

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 1. apt 介绍 apt 是 Advanced Packaging Tool 的简称,是一款安装包管理工具.在 Ubuntu 下,可以使用 ap ...

  5. linux -- ubuntu 何为软件源

    新手学Ubuntu的时候,一般不知道什么是源,但源又是Ubuntu下常用到的东西.因此,本文就详细介绍一下Ubuntu 源. 什么是软件源? 源,在Ubuntu下,它相当于软件库,需要什么软件,只要记 ...

  6. [转]更新Debian软件源

    转自:香神无涯 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak #备份一下软件源sudo vi /etc/apt/sources.lis ...

  7. Linux Mint---更新软件源

    安装完系统之后第一件事情就是更新软件源,为接下来的各种工作作准备,这个也很简单,直接打开software source设置一下, 然后打开software manager更新一下就好了.

  8. 使用Windows客户端连接Linux系统中的MySQL时产生的错误已经解决

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  9. 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 ...

随机推荐

  1. 编写python扩展

    代码: #include <Python.h> static PyObject * spam_system(PyObject *self, PyObject *args) { const ...

  2. spring中ApplicationContextAware接口描述

    项目中使用了大量的工厂类,采用了简单工厂模式: 通过该工厂类可以获取指定的处理器bean,这些处理器bean我们是从spring容器中获取的,如何获取,是通过实现ApplicationContextA ...

  3. dnstop DNS分析工具

    http://dns.measurement-factory.com/tools/dnstop/src/ https://github.com/measurement-factory/dnstop h ...

  4. chmod修改权限

    1.命令简介 chmod(Change mode) 用来将每个文件的模式更改为指定值.Linux/Unix 的档案调用权限分为三级 : 档案拥有者.群组.其他. u :目录或者文件的当前的用户 g : ...

  5. C# 值传参和引用传参

    值传递:对于个人理解,值传递就像是python中的深拷贝,值传递的内容和原来的内容是两份不同的东西,相互不影响. 引用传递:对于个人理解,引用传递就是python中的复杂多维list的浅拷贝,它传递的 ...

  6. Linux VMware安装VMTools工具

    安装VMTools工具 2)先启动CentOS并成功登录如下图,发现底部提示且窗口中等大小,准备安装 3)选择虚拟机菜单栏--安装VMware tools 4)光驱自动挂载VMTools 5)右键解压 ...

  7. 基于nginx + lua实现的反向代理动态更新

    大家都知道,nginx是当前应用非常广泛的web服务器,热度因为他的高并发高性能高可靠性,且轻量级!牛逼的不行,不多说这些. 今天要介绍的是,如何基于nginx和lua脚本,也就是在openresty ...

  8. PHP 中 call_user_func 函数 和 call_user_func_array 函数的区别

    PHP 中 call_user_func() 函数 和 call_user_func_array() 函数都是回调函数,在写接口的时候经常会用到,但是他们有什么区别呢? 它们的第一个参数都是被调用的回 ...

  9. ubuntu 脚本执行

    1.source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限" 注:该命令通常用 ...

  10. java中的自定义注解的使用

    https://www.cnblogs.com/acm-bingzi/p/javaAnnotation.html