升级到16.04后无法更新,更新时提示仓库没有数字签名,并至少发现一个无效的签名,更换软件源后仍然无效,偶而搜索到论坛中的贴子
http://forum.ubuntu.com.cn/viewtopic.php?f=77&t=481622找到解决办法,现分享如下:
错误内容如下:
代码:
正在读取软件包列表... 完成
W: GPG 错误:http://cn.archive.ubuntu.com/ubuntu xenial InRelease: 至少发现一个无效的签名。
W: 仓库 “http://cn.archive.ubuntu.com/ubuntu xenial InRelease” 没有数字签名。
N: 无法认证来自该源的数据,所以使用它会带来潜在风险。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
解决办法如下:(特别感谢vickycq,根据他的方法,我成功解决问题的方法如下)
注:或为此问题
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/16423861.下载apt (1.3.3) [security] 版本(apt_1.3.3_amd64.deb)
http://packages.ubuntu.com/zh-cn/yakkety/apt2.备份现有的 /usr/bin/apt-key: sudo cp /usr/bin/apt-key /usr/bin/apt-key-orig
3.右键点击apt_1.3.3_amd64.deb并解压缩(注: 不要点击安装)
4.于解压缩得到的文件夹中找到data.tar.xz文件,继续解压得到data文件夹,打开找到其中 usr/bin/apt-key,将其复制到系统的 /usr/bin/apt-key(sudo cp apt-key /usr/bin/ )
5.如果是用root权限复制的权限一般不会出错,可以使用sudo ls -l /usr/bin/apt-key查看其权限,如不正确,则使用以下命令来更改:sudo chmod 755 /usr/bin/apt-key; sudo chown root:root /usr/bin/apt-key
6.(该行命令似乎用处不大,暂且放在这里)禁止软件包 'apt' 更新:sudo apt-mark hold apt ,等 apt 1.3 进入 xenial-updates 后,解除之:sudo apt-mark unhold apt
7.移除 /var/lib/apt/lists/ 中的全部内容.
8.使用新立得设置软件库,使用主服务器,恢复默认签名,再执行 apt update 刷新软件包缓存。即可以正常更新