页次: 1
[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 仍然有同样的问题……求解阿
离线
为什么你们都会遇到这种问题呢……
试试 pacman-key --populate
离线
类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和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)
离线
类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。
解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。
官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/
原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。
离线
类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。
解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。
官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/
解决了!多谢!!、
离线
jack 说:类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。
解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。
官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。
校园网…
离线
百合仙子 说:jack 说:类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。
解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。
官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。校园网…
什么学校啊,为什么要乱改网络数据啊?
离线
hanzeil 说:百合仙子 说:jack 说:类似问题,我以前也是隔几天就可能遇上。尝试过换用不同的源发现也不能降低问题出现的几率,就怀疑和ISP的http劫持有关。
解决方法是 /var/lib/pacman/sync 下的所有文件,添加支持https的源,再执行 pacman -Syu ,进行arch官方文件更新时总算没再遇过这样的问题,可惜archlinuxcn的源不支持https。
官方镜像里支持https的源,可以在下面链接里找到:
https://www.archlinux.org/mirrors/status/原来是 ISP 搞的鬼么…………
取证然后找他们客服要求解决,不给解决直接去工信部投诉。校园网…
什么学校啊,为什么要乱改网络数据啊?
西电……不懂为什么
离线
咩?西電沒自己的鏡像咩?……
這不和諧啊……
(所以我們學校是在和西電看齊麼=。=)
知識很重要,而相當的運用能力更重要。
离线
大神,终于逮到你了:)
咩?西電沒自己的鏡像咩?……
這不和諧啊……
(所以我們學校是在和西電看齊麼=。=)
离线
我今天遇到这个问题了,
我的只有multilib这个仓库出现问题,
按照这个方法解决了,但是是什么原因呢?
离线
对这个问题的个人猜测:
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会提示有关文件出错,是否删除。
以上无论哪种情况,更新时只要遇到了,出问题就不奇怪了。
最后再声明一次:以上是个人的猜测,或者说是个人认为的一种可能,实际情况等谁研究后再说吧。
离线
页次: 1