第一次ubuntu使用的故障排除 ...the public key is not available: NO_PUBKEY...

最近想学习一下linux的操作系统。先在win10上学习一下linux的使用。在win10上安装linux子系统的方法见:https://blog.csdn.net/zhangdongren/article/details/82663977写得非常详细。安装完成后,切换到国内软件源,编辑软件源 /etc/apt/sources.list 后,运行 sudo apt-get update报错,如下

GPG error: http://security.ubuntu.com trusty-security Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

没有对应的公钥,尝试换回系统自带的sources.list也不行,网上查了一下,可能是系统更新后没有包含部分软件源的public key,于是将public key 导入到本地,根据网上的方法,执行命令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5

结果执行不成功,提示如下:

/usr/bin/apt-key: 295: /usr/bin/apt-key: find: not found

Executing: /tmp/apt-key-gpghome.uMLDj6Gnn8/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5

gpg: connecting dirmngr at '/tmp/apt-key-gpghome.uMLDj6Gnn8/S.dirmngr' failed: IPC connect call failed

gpg: keyserver receive failed: No dirmngr

继续查资料,都说是因为没有安装dirmngr ,于是命令运行

undo apt-get install dirmngr

结果,提示安装不成功,系统已经存在更高版本的dirmngr。回头再看上一步提示,应该是gpg导入时没有发现文件,切换到/tmp/目录下,根本没有apt-key-gpghome.uMLDj6Gnn8这个目录,初次接触ubuntu,面对问题一筹莫展,到处查找资料,也没有找到原因,都快要放弃了。突然想到能不能删除dirmngr再重新安装一下,于是运行:

sudo apt-get remove dirmngr

提示是否继续 ,Y,卸载完后,想重新通过undo apt-get install dirmngr已经不可能了,因为软件源根本没有验证通过,于是想通过wget安装,百度了一下dirmngr的官网下载地址:https://packages.debian.org/stretch/amd64/dirmngr/download找到一个中国的镜像,地址为:http://ftp.cn.debian.org/debian/pool/main/g/gnupg2/dirmngr_2.1.18-8~deb9u4_amd64.deb直接运行

sudo wget http://ftp.cn.debian.org/debian/pool/main/g/gnupg2/dirmngr_2.1.18-8~deb9u4_amd64.deb

等等下载完成后安装 :

sudo dpkg -i dirmngr_2.1.18-8~deb9u4_amd64.deb

运行过程中也提示了错误,不管他,再试:

sudo apt-get update

不报错了!

附:

apt-get update:更新安装列表

apt-get upgrade:升级软件

apt-get install software_name :安装软件

apt-get --purge remove software_name :卸载软件及其配置

apt-get autoremove software_name:卸载软件及其依赖的安装包

dpkg --list:罗列已安装软件

deb包安装方法:

https://blog.csdn.net/chenzhengfeng/article/details/78246483