您尚未登录。

#1 2014-03-22 20:36:56

hanzeil
会员
注册时间: 2013-12-22
帖子: 13

pacman 出了一些问题,error如下

[hanzeil@hanzeil Linux]$ sudo pacman -Syu
error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
:: Synchronizing package databases...
 core is up to date                                              0.0   B  0.00B/s 00:00 [---------------------------------------------------]   0%
 extra is up to date                                             0.0   B  0.00B/s 00:00 [---------------------------------------------------]   0%
 community is up to date                                         0.0   B  0.00B/s 00:00 [---------------------------------------------------]   0%
 multilib is up to date                                          0.0   B  0.00B/s 00:00 [---------------------------------------------------]   0%
error: database 'core' is not valid (invalid or corrupted database (PGP signature))
error: database 'extra' is not valid (invalid or corrupted database (PGP signature))
error: database 'community' is not valid (invalid or corrupted database (PGP signature))
error: database 'multilib' is not valid (invalid or corrupted database (PGP signature))

想重新安装pacman 仍然有同样的问题……求解阿

离线

#2 2014-03-22 23:21:42

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,954
个人网站

Re: pacman 出了一些问题,error如下

为什么你们都会遇到这种问题呢……
试试 pacman-key --populate

离线

#3 2014-03-23 02:05:36

jack
会员
注册时间: 2013-03-02
帖子: 40

Re: pacman 出了一些问题,error如下

类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。

解决方法是删除 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。

官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/

最近编辑记录 jack (2014-03-24 00:23:29)

离线

#4 2014-03-23 13:12:25

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,954
个人网站

Re: pacman 出了一些问题,error如下

jack 说:

类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。

解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。

官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/

原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。

离线

#5 2014-03-23 19:36:11

hanzeil
会员
注册时间: 2013-12-22
帖子: 13

Re: pacman 出了一些问题,error如下

jack 说:

类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。

解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。

官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/

解决了!多谢!!、

离线

#6 2014-03-23 19:38:05

hanzeil
会员
注册时间: 2013-12-22
帖子: 13

Re: pacman 出了一些问题,error如下

百合仙子 说:
jack 说:

类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。

解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。

官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/

原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。


校园网…

离线

#7 2014-03-23 20:26:50

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,954
个人网站

Re: pacman 出了一些问题,error如下

hanzeil 说:
百合仙子 说:
jack 说:

类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。

解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。

官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/

原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。


校园网…

什么学校啊,为什么要乱改网络数据啊?

离线

#8 2014-03-23 21:01:45

hanzeil
会员
注册时间: 2013-12-22
帖子: 13

Re: pacman 出了一些问题,error如下

百合仙子 说:
hanzeil 说:
百合仙子 说:
jack 说:

类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。

解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。

官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/

原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。


校园网…

什么学校啊,为什么要乱改网络数据啊?

西电……不懂为什么

离线

#9 2014-03-28 21:44:30

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: pacman 出了一些问题,error如下

咩?西電沒自己的鏡像咩?……
這不和諧啊……
(所以我們學校是在和西電看齊麼=。=)


知識很重要,而相當的運用能力更重要。

离线

#10 2015-07-07 08:46:42

Mr.Chen
会员
注册时间: 2014-11-11
帖子: 21

Re: pacman 出了一些问题,error如下

大神,终于逮到你了:)

renyuneyun 说:

咩?西電沒自己的鏡像咩?……
這不和諧啊……
(所以我們學校是在和西電看齊麼=。=)

离线

#11 2015-07-07 08:51:21

Mr.Chen
会员
注册时间: 2014-11-11
帖子: 21

Re: pacman 出了一些问题,error如下

我今天遇到这个问题了,
我的只有multilib这个仓库出现问题,
按照这个方法解决了,但是是什么原因呢?

离线

#12 2015-07-08 03:20:26

jack
会员
注册时间: 2013-03-02
帖子: 40

Re: pacman 出了一些问题,error如下

对这个问题的个人猜测
pacman正常更新时,是以http明文传输的方式从服务器尝试下 .db 和 .db.sig 文件。比如更新core库,下载的文件是core.db和core.db.sig,访问的URL(以163为例)是:
http://mirrors.163.com/archlinux/core/os/x86_64/core.db
http://mirrors.163.com/archlinux/core/o … ore.db.sig

由于arch官方目前没有对数据库进行签名,实际服务器上不存在core.db.sig,因此pacman只会下载core.db,请求core.db.sig时会提示404错误(404 Not Found,在pacman.conf里设置wget为下载工具就会看到这个提示)。

当用户的HTTP访问请求被第三方劫持,导致URL发生变化,原本的URL会变成:
http://第三方插入的地址?jump=http://mirrors.163.com/archlinux/core/os/x86_64/core.db

如果是浏览器的话,劫持HTTP请求的大致过程是:劫持的一方可能先返给用户一个框架,里面含插入的内容,及跳转到原本URL用的javascript代码(比如location.href之类),显示插入的内容后,再跳转到用户原本访问的URL。

然而,pacman使用的下载工具做不到浏览器般的自动跳转,pacman会把第三方插入的内容当做.db文件下载,原本访问.db.sig时返回的404提示,也因为插入的内容变成可下载了。core.db.sig也就和core.db一同出现在了 /var/lib/pacman/sync 目录里。

就是说,pacman更新用到的源本身正常,只是没有使用加密链接时(FTP可能也没问题,不过需要有人验证)出现这几种情况:
pacman更新时,发生HTTP访问请求持续被劫持的事件,更新时所得到的文件都不正确;
只在请求某个仓库时的HTTP请求遭到劫持,得到错误的相关仓库的.db、.db.sig文件,会提示相关仓库出错;
在请求某个xz文件时的HTTP请求遭到劫持,得到错误的.xz文件,pacman会提示有关文件出错,是否删除。

以上无论哪种情况,更新时只要遇到了,出问题就不奇怪了。

最后再声明一次:以上是个人的猜测,或者说是个人认为的一种可能,实际情况等谁研究后再说吧。

离线

页脚