[Tutorials] 使用系统设置更新时失败的一些解决方案
Tofloor
poster avatar
momen
deepin
2023-03-30 07:21
Author

我们在使用系统设置里的更新时,有的小伙伴会发现更新错误。如何解决呢?

遇到这种问题通常是你的源

使用 sudo apt update命令,看一下都说了写什么吧!

momen@momen-PC:~$ sudo apt update
命中:1 https://pro-driver-packages.uniontech.com eagle InRelease
命中:2 https://community-packages.deepin.com/deepin apricot InRelease                                                                                
命中:3 https://community-packages.deepin.com/driver driver InRelease                                                                                 
命中:4 http://packages.microsoft.com/repos/code stable InRelease                                                                                     
命中:5 https://community-packages.deepin.com/printer eagle InRelease                                                                                 
获取:7 https://packages.microsoft.com/repos/ms-teams stable InRelease [5,931 B]                                                                      
命中:8 https://deb.nodesource.com/node_16.x buster InRelease                                                                                         
命中:6 https://home-store-img.uniontech.com/230328181022328/appstore deepin InRelease
获取:9 https://dl.yarnpkg.com/debian stable InRelease [17.1 kB]                 
命中:10 https://packages.element.io/debian default InRelease                          
错误:9 https://dl.yarnpkg.com/debian stable InRelease
  由于没有公钥,无法验证下列签名: NO_PUBKEY 23E7166788B63E1E
已下载 23.1 kB,耗时 4秒 (5,790 B/s)
正在读取软件包列表... 完成
正在分析软件包的依赖关系树   
正在读取状态信息... 完成   
有 8 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:https://dl.yarnpkg.com/debian stable InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 23E7166788B63E1E
W: 无法下载 https://dl.yarnpkg.com/debian/dists/stable/InRelease  由于没有公钥,无法验证下列签名: NO_PUBKEY 23E7166788B63E1E
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

有 8 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:https://dl.yarnpkg.com/debian stable InRelease: 下列签名无效: EXPKEYSIG 23E7166788B63E1E Yarn Packaging 
W: 无法下载 https://dl.yarnpkg.com/debian/dists/stable/InRelease  下列签名无效: EXPKEYSIG 23E7166788B63E1E Yarn Packaging 
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

原来是签名错误了,那我们删掉它!


momen@momen-PC:~$ sudo apt-key adv --recv-keys 23E7166788B63E1E
Executing: /tmp/apt-key-gpghome.lHHtgSUDcP/gpg.1.sh --recv-keys 23E7166788B63E1E
gpg: 密钥 1646B01B86E50310:公钥 “Yarn Packaging ” 已导入
gpg: 处理的总数:1
gpg:               已导入:1
momen@momen-PC:~$

除了这个问题,有的小伙伴还会遇到无法连接到源

我们可以采取删除自行添加的gpg源的方法。

以删除yarn Packaging 为例
删除方法:

momen@momen-PC:~$ sudo apt-key list
/etc/apt/trusted.gpg
--------------------

....

pub   rsa4096 2016-10-05 [SC]
      72EC F46A 56B4 AD39 C907  BBB7 1646 B01B 86E5 0310
uid           [ 未知 ] Yarn Packaging 
sub   rsa4096 2016-10-05 [E]

.....

/etc/apt/trusted.gpg.d/debian-archive-bullseye-automatic.gpg
........`

sudo apt-key del 72ECF46A56B4AD39C907BBB71646B01B86E50310


这是日常使用中遇到的一些经验总结,系统更新失败还有可能是其他问题,可以贴上来让社区的小伙伴帮你出主意哦

Reply Favorite View the author
All Replies
辉夜
deepin
2023-03-30 16:41
#1

为什么删掉签名就可以呢?

什么原理?

Reply View the author
momen
deepin
2023-03-30 18:51
#2
辉夜

为什么删掉签名就可以呢?

什么原理?

我不是特别清楚设置里的更新是怎么做的,我没有读源码,但是应该不仅仅是apt upgrade这么简单。但不管怎样,如果apt在更新中出现warning或者error,就会阻断设置里的更新。(虽然在命令中只有w的话你可以无视他)

Reply View the author
辉夜
deepin
2023-03-30 19:30
#3
momen

我不是特别清楚设置里的更新是怎么做的,我没有读源码,但是应该不仅仅是apt upgrade这么简单。但不管怎样,如果apt在更新中出现warning或者error,就会阻断设置里的更新。(虽然在命令中只有w的话你可以无视他)

好吧

Reply View the author