You are not logged in.

#1 2015-09-14 19:03:41

dewmsolo
Member
From: Canada, Quebec
Registered: 2015-04-06
Posts: 15

[SOLVED] invalid or corrupted database (PGP signature)

Since yesterday (roughly 20 hours ago), I have tried a couple of times to pacman -Syu my system and keep getting the following:

[user@BattlestationA pacman]$ 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                                                                                                                 848.0   B   207K/s 00:00 [#######################################################################################] 100%
 core.sig                                                                                                             848.0   B  0.00B/s 00:00 [#######################################################################################] 100%
error: GPGME error: No data
error: failed to update core (invalid or corrupted database (PGP signature))
 extra                                                                                                                848.0   B  0.00B/s 00:00 [#######################################################################################] 100%
 extra.sig                                                                                                            848.0   B  0.00B/s 00:00 [#######################################################################################] 100%
error: GPGME error: No data
error: failed to update extra (invalid or corrupted database (PGP signature))
 community                                                                                                            848.0   B  0.00B/s 00:00 [#######################################################################################] 100%
 community.sig                                                                                                        848.0   B  0.00B/s 00:00 [#######################################################################################] 100%
error: GPGME error: No data
error: failed to update community (invalid or corrupted database (PGP signature))
 multilib                                                                                                             271.0   B  0.00B/s 00:00 [#######################################################################################] 100%
 multilib.sig                                                                                                         272.0   B  0.00B/s 00:00 [#######################################################################################] 100%
error: GPGME error: No data
error: failed to update multilib (invalid or corrupted database (PGP signature))
error: failed to synchronize any databases
error: failed to init transaction (invalid or corrupted database (PGP signature))

I figured it might be something internet related so I gave it some time, but after so many hours, I am started to wonder if there might be another issue at play.

Here is my pacman.conf ....it is pretty much default though...

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
#UseDelta    = 0.7
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
#VerbosePkgLists

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key --populate archlinux`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

#[testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the Multilib repositories as required here.

#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

I did search the forums here and found an old 2013 thread that didn't really help. Searching google lead to a few pages saying thing like removing the pacman/sync directory which hasn't helped in my case.

pacman -Syy returns exactly the same as -Syu

Oh and I found posts saying to run something like pacman-mirrors -u. These were old posts though and my system does not even have a pacman-mirrors command so I didn't see any help there.


Can someone shed some help on what could be happening?

Thank you all



************************** EDIT ******************************
Adding /etc/pacman/mirrorlist

##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on 2015-02-24
##

## Score: 1.8, Canada
Server = http://archlinux.dropswitch.net/archlinux/$repo/os/$arch
## Score: 3.2, Canada
Server = http://mirror.clibre.uqam.ca/archlinux/$repo/os/$arch
## Score: 3.4, Canada
Server = http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
## Score: 3.7, Canada
Server = http://archlinux.mirror.rafal.ca/$repo/os/$arch
## Score: 13.6, Canada
Server = http://archlinux.mirror.vexxhost.com/$repo/os/$arch
## Score: 42.3, Canada
Server = http://mirror.its.dal.ca/archlinux/$repo/os/$arch

Last edited by dewmsolo (2015-09-17 15:53:05)

Offline

#2 2015-09-14 21:09:48

byte
Member
From: Düsseldorf (DE)
Registered: 2006-05-01
Posts: 2,046

Re: [SOLVED] invalid or corrupted database (PGP signature)

The pacman.conf is indeed default and not interesting. What's your mirror?


1000

Offline

#3 2015-09-14 22:46:05

dewmsolo
Member
From: Canada, Quebec
Registered: 2015-04-06
Posts: 15

Re: [SOLVED] invalid or corrupted database (PGP signature)

I edited the original question and added my /etc/pacman/mirrorlist

Offline

#4 2015-09-15 06:48:07

mauritiusdadd
Member
From: Benevento, Italy
Registered: 2013-10-27
Posts: 776

Re: [SOLVED] invalid or corrupted database (PGP signature)

Have you tried resetting the pacman keyring and then refreshing all the keys?

# pacman-key --init
# pacman-key --populate archlinux

Also, from where did you get the signature for the database? I mean, none of the mirrors in your /etc/pacman/mirrorlist has a signed database and pacman shouldn't download non exiting files.


About me - github

-- When you have eliminated the impossible, whatever remains, however improbable, must be the truth -- Spock | Sherlock Holmes

Offline

#5 2015-09-15 12:24:30

dewmsolo
Member
From: Canada, Quebec
Registered: 2015-04-06
Posts: 15

Re: [SOLVED] invalid or corrupted database (PGP signature)

mauritiusdadd wrote:

Have you tried resetting the pacman keyring and then refreshing all the keys?

# pacman-key --init
# pacman-key --populate archlinux

Also, from where did you get the signature for the database? I mean, none of the mirrors in your /etc/pacman/mirrorlist has a signed database and pacman shouldn't download non exiting files.

The --init returned with no output and the --populate archlinux returned:

==> Appending keys from archlinux.gpg...
==> Locally signing trusted keys in keyring...
  -> Locally signing key 0E8B644079F599DFC1DDC3973348882F6AC6A4C2...
  -> Locally signing key 684148BB25B49E986A4944C55184252D824B18E8...
  -> Locally signing key 44D4A033AC140143927397D47EFD567D4C7EA887...
  -> Locally signing key 27FFC4769E19F096D41D9265A04F9397CDFD6BB0...
  -> Locally signing key AB19265E5D7D20687D303246BA1DFB64FFF979E7...
==> Importing owner trust values...
==> Disabling revoked keys in keyring...
  -> Disabling key F5A361A3A13554B85E57DDDAAF7EF7873CFD4BB6...
  -> Disabling key 7FA647CD89891DEDC060287BB9113D1ED21E1A55...
  -> Disabling key D4DE5ABDE2A7287644EAC7E36D1A9E70E19DAA50...
  -> Disabling key BC1FBE4D2826A0B51E47ED62E2539214C6C11350...
  -> Disabling key 9515D8A8EAB88E49BB65EDBCE6B456CAF15447D5...
  -> Disabling key 4A8B17E20B88ACA61860009B5CED81B7C2E5C0D2...
  -> Disabling key 63F395DE2D6398BBE458F281F2DBB4931985A992...
  -> Disabling key 0B20CA1931F5DA3A70D0F8D2EA6836E1AB441196...
  -> Disabling key 8F76BEEA0289F9E1D3E229C05F946DED983D4366...
  -> Disabling key 66BD74A036D522F51DD70A3C7F2A16726521E06D...
  -> Disabling key 81D7F8241DB38BC759C80FCE3A726C6170E80477...
  -> Disabling key E7210A59715F6940CF9A4E36A001876699AD6E84...

After running those commands, I still receive the exact same output from pacman -Syu.

As for the signature for the database....just off the top of my head I can't really tell other than when I setup this install I follow the Wiki's installation guide and I had actually followed the mirror configuration and had used reflector.

Offline

#6 2015-09-15 12:48:45

mauritiusdadd
Member
From: Benevento, Italy
Registered: 2013-10-27
Posts: 776

Re: [SOLVED] invalid or corrupted database (PGP signature)

Ok, let's do some sanity checks... first of all, can you post the output of the following commands?

$ uname -a
$ which pacman
$ which gpgme-tool
$ pacman --version
$ gpgme-tools --version
$ pacman -Qi pacman gpgme
$ pacman -Syyuv

Secondly, try changing the line "SigLevel = Required DatabaseOptional"  to  "SigLevel = PackageRequired" in your pacman.conf. Then remove the signature files

# rm /var/lib/pacman/sync/*.sig

and try again to upgrade the system.


About me - github

-- When you have eliminated the impossible, whatever remains, however improbable, must be the truth -- Spock | Sherlock Holmes

Offline

#7 2015-09-15 12:54:56

ayekat
Member
Registered: 2011-01-17
Posts: 1,589

Re: [SOLVED] invalid or corrupted database (PGP signature)

I just had a fellow around who solved the same issue by passing `-Syyu` (with two `y`). Not sure if applicable here, and why this solves the issue.

Last edited by ayekat (2015-09-15 12:55:20)


pkgshackscfgblag

Offline

#8 2015-09-15 13:37:48

dewmsolo
Member
From: Canada, Quebec
Registered: 2015-04-06
Posts: 15

Re: [SOLVED] invalid or corrupted database (PGP signature)

mauritiusdadd wrote:

Ok, let's do some sanity checks... first of all, can you post the output of the following commands?

$ uname -a
$ which pacman
$ which gpgme-tool
$ pacman --version
$ gpgme-tools --version
$ pacman -Qi pacman gpgme
$ pacman -Syyuv

Secondly, try changing the line "SigLevel = Required DatabaseOptional"  to  "SigLevel = PackageRequired" in your pacman.conf. Then remove the signature files

# rm /var/lib/pacman/sync/*.sig

and try again to upgrade the system.

Most certainly...here goes
uname -a

Linux BattlestationA 4.1.6-1-ARCH #1 SMP PREEMPT Mon Aug 17 08:52:28 CEST 2015 x86_64 GNU/Linux

which pacman

/usr/bin/pacman

which gpgme-tool

/usr/bin/gpgme-tool

pacman --version

 .--.                  Pacman v4.2.1 - libalpm v9.0.1
/ _.-' .-.  .-.  .-.   Copyright (C) 2006-2014 Pacman Development Team
\  '-.  '-'  '-'   '-'   Copyright (C) 2002-2006 Judd Vinet
 '--'
                       This program may be freely redistributed under
                       the terms of the GNU General Public License.

pacman -Qi pacman gpgme

error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
Name           : pacman
Version        : 4.2.1-2
Description    : A library-based package manager with dependency support
Architecture   : x86_64
URL            : http://www.archlinux.org/pacman/
Licenses       : GPL
Groups         : base  base-devel
Provides       : pacman-contrib
Depends On     : bash  glibc  libarchive>=3.1.2  curl>=7.39.0  gpgme  pacman-mirrorlist  archlinux-keyring
Optional Deps  : None
Required By    : pkgfile
Optional For   : None
Conflicts With : pacman-contrib
Replaces       : pacman-contrib
Installed Size :   4.37 MiB
Packager       : Allan McRae <allan@archlinux.org>
Build Date     : Thu 23 Jul 2015 09:53:29 PM EDT
Install Date   : Sun 26 Jul 2015 11:14:58 PM EDT
Install Reason : Explicitly installed
Install Script : No
Validated By   : Signature

Name           : gpgme
Version        : 1.6.0-1
Description    : A C wrapper library for GnuPG
Architecture   : x86_64
URL            : http://www.gnupg.org/related_software/gpgme/
Licenses       : LGPL
Groups         : None
Provides       : None
Depends On     : libgpg-error  pth  gnupg>=2
Optional Deps  : None
Required By    : pacman
Optional For   : None
Conflicts With : None
Replaces       : None
Installed Size : 752.00 KiB
Packager       : Tobias Powalowski <tpowa@archlinux.org>
Build Date     : Thu 27 Aug 2015 09:54:04 AM EDT
Install Date   : Sat 05 Sep 2015 03:16:28 PM EDT
Install Reason : Installed as a dependency for another package
Install Script : Yes
Validated By   : Signature

pacman -Syyuv

error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
error: GPGME error: No data
Root      : /
Conf File : /etc/pacman.conf
DB Path   : /var/lib/pacman/
Cache Dirs: /var/cache/pacman/pkg/  
Lock File : /var/lib/pacman/db.lck
Log File  : /var/log/pacman.log
GPG Dir   : /etc/pacman.d/gnupg/
Targets   : None
:: Synchronizing package databases...
 core                                                                                              1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
 core.sig                                                                                          1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
error: GPGME error: No data
error: failed to update core (invalid or corrupted database (PGP signature))
 extra                                                                                             1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
 extra.sig                                                                                         1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
error: GPGME error: No data
error: failed to update extra (invalid or corrupted database (PGP signature))
 community                                                                                         1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
 community.sig                                                                                     1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
error: GPGME error: No data
error: failed to update community (invalid or corrupted database (PGP signature))
 multilib                                                                                          1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
 multilib.sig                                                                                      1396.0   B  0.00B/s 00:00 [###########################################################################] 100%
error: GPGME error: No data
error: failed to update multilib (invalid or corrupted database (PGP signature))
error: failed to synchronize any databases
error: failed to init transaction (invalid or corrupted database (PGP signature))

I then changed the pacman.conf as you said and ran pacman -Syyuv and received the same output.

Removing the sigs and trying to upgrade still yields the same.

Offline

#9 2015-09-15 15:14:28

mauritiusdadd
Member
From: Benevento, Italy
Registered: 2013-10-27
Posts: 776

Re: [SOLVED] invalid or corrupted database (PGP signature)

I noted that pacman reports that each database file and each sig file has the same size of 1396.0  bytes, and that the download speed is always 0.00B/s... can you open a database file in a text editor (let's say /var/lib/pacman/extra.db) and check it's content? Does it contain binary (unreadable) data or plain text?

Cany you try to use a different mirror? Also, what happens if you try to download the database files manually from that mirror?

# /usr/bin/curl -C - -f "http://archlinux.dropswitch.net/archlinux/core/os/x86_64/core.db" > /var/lib/pacman/sync/core.db
# echo $?

Last edited by mauritiusdadd (2015-09-15 15:15:13)


About me - github

-- When you have eliminated the impossible, whatever remains, however improbable, must be the truth -- Spock | Sherlock Holmes

Offline

#10 2015-09-15 16:33:14

dewmsolo
Member
From: Canada, Quebec
Registered: 2015-04-06
Posts: 15

Re: [SOLVED] invalid or corrupted database (PGP signature)

mauritiusdadd wrote:

I noted that pacman reports that each database file and each sig file has the same size of 1396.0  bytes, and that the download speed is always 0.00B/s... can you open a database file in a text editor (let's say /var/lib/pacman/extra.db) and check it's content? Does it contain binary (unreadable) data or plain text?

Cany you try to use a different mirror? Also, what happens if you try to download the database files manually from that mirror?

# /usr/bin/curl -C - -f "http://archlinux.dropswitch.net/archlinux/core/os/x86_64/core.db" > /var/lib/pacman/sync/core.db
# echo $?

Well a cat core.db returns:

<html><head><meta http-equiv="refresh" content="0;url=http://ww2.dropswitch.net/?folio=7POYGN0G2" /><META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE,NO_STORE"><META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"/>
        <META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT"/></head><body onbeforeunload="" onunload=""><script language='javascript' type='text/javascript'>try
{
    function getCookie(cname) {
        var name = cname + '=';
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1);
            if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
        }
        return '';
    }
    document.cookie = 'jccheck=1';
    var rurl = 'http://ww2.dropswitch.net/?folio=7POYGN0G2';
    rurl += '&jccheck=' + getCookie('jccheck');
    window.top.location.replace(rurl);
} catch(exception) {
    document.write("This page has moved, <A HREF='http://ww2.dropswitch.net/?folio=7POYGN0G2'>Click here</A> to go there.");
}</script><noscript>This page has moved, <A HREF='http://ww2.dropswitch.net/?folio=7POYGN0G2'>Click here</A> to go there.</noscript></body></html>

Executing your curl command and the echo commad afterward returns at 0.

[root@BattlestationA sync]# echo $?
0

But the core.db is now a binary file.

I'm wondering if I shouldn't change my mirrorlist with a fresh one. My current one is from February so 6~7 months old.

Offline

#11 2015-09-15 16:58:49

byte
Member
From: Düsseldorf (DE)
Registered: 2006-05-01
Posts: 2,046

Re: [SOLVED] invalid or corrupted database (PGP signature)

Yes, please use another mirror.
But I still don't get it - no problems here at all, curl via IPv4 and v6 always fetches the correct file, no weird HTML at all.
Did you notice any DNS problems, besides pacman usage? What's your /etc/resolv.conf?


1000

Offline

#12 2015-09-15 18:17:41

dewmsolo
Member
From: Canada, Quebec
Registered: 2015-04-06
Posts: 15

Re: [SOLVED] invalid or corrupted database (PGP signature)

byte wrote:

Yes, please use another mirror.
But I still don't get it - no problems here at all, curl via IPv4 and v6 always fetches the correct file, no weird HTML at all.
Did you notice any DNS problems, besides pacman usage? What's your /etc/resolv.conf?

resolv.conf:

# Generated by resolvconf
domain vf.cgocable.ca
nameserver 10.20.30.50

Which points to my router and my router points to the addresses of my ISP's nameservers.

I have had no other issues of any kind with the internet lately. My other linux installs (other stations) all work and update fine.

I will start a new mirrorlist from scratch when I'm done work. I'll post later tonight if that helps.

Offline

#13 2015-09-16 00:59:40

Dren
Member
From: Canada
Registered: 2010-12-14
Posts: 28

Re: [SOLVED] invalid or corrupted database (PGP signature)

It seems like there was a problem with one of the canadian mirrors. I had to run pacman -Syy after changing my mirrors to fix the issue.

But you did that already so idk what else to suggest, but some other people had a similar issue - https://www.reddit.com/r/archlinux/comm … g_upgrade/

Last edited by Dren (2015-09-16 01:03:16)

Offline

#14 2015-09-16 01:42:42

dewmsolo
Member
From: Canada, Quebec
Registered: 2015-04-06
Posts: 15

Re: [SOLVED] invalid or corrupted database (PGP signature)

Ok...so...tell you what.

I get home, do some stuff and finally sit down at my computer and get right away onto refreshing my mirrorlist.

Right away you guys should pick on my worst mistake.....not trying a pacman -Syyuv or such to see if the problem was still there.

  1. So get a new mirrorlist following the pacman mirrors instructions from the wiki. I took only the canadian ones.

  2. Backup my current mirrorlist

  3. Create a new one and insert what I got online

  4. run a pacman -Syyuv

  5. Successful in everyway with a few packages out of date so I do the updates and everything is peachy.

  6. Being a curious and wanting to see this through, I decided to investigate and do a diff of my old mirrorlist and the new one. Except for one, out of 7 or 8, only one freaking mirror is different and it's the 5th of the list which shouldn't even ever get used by pacman unless the prior 4 screw up.

  7. ....Save the new mirrorlist and put the old back in place. EVERYTHING WORKS!!!! 4 or 5 hours ago it wasn't working.....for the past 3 days it wasn't working

  8. In the end I deleted my old mirrorlist and put the new one in its place since it had one newer mirror in there. Not that it should make much of a difference being the 5th ot 6th.

At this point I am really puzzled. The only thing that comes to mind is downloading the core.db with curl earlier...Then again, before posting here at all one of the links I had found suggested deleting the /var/lib/pacman/sync directory. So even if my core.db was corrupted, I should have gotten a fresh one. Unless my core.db got corrupted at the time of the problem with the canadian mirror that Dren suggested and that I did my deletion of sync before it got fixed and ended up in the same boat because of that same problem with the *at the time* unfixed mirror.

Maybe someonelse has another theory?

The issue is fixed, but for the sake of listening to your theories and maybe finding the real cause I will not mark it solved right away. Since we don't really know the cause I'd like to give us until tomorrow to keep the conversation going and I'll close/solve it then.

Last edited by dewmsolo (2015-09-16 01:43:57)

Offline

#15 2015-09-16 05:32:37

mauritiusdadd
Member
From: Benevento, Italy
Registered: 2013-10-27
Posts: 776

Re: [SOLVED] invalid or corrupted database (PGP signature)

I don't know what actually happened, but checking the mirrors status, it seems that the mirror archlinux.dropswitch.net was in a semi-broken state just when your problem started. The strange thing is that your problem persisted even when the mirror was back online (I tried every mirror from your original mirrorlist and all of them worked just fine for me). More strange is the fact that pacman wasn't able to download the database file while curl was and, pacman uses libcurl so there should be no difference hmm

Last edited by mauritiusdadd (2015-09-16 05:33:04)


About me - github

-- When you have eliminated the impossible, whatever remains, however improbable, must be the truth -- Spock | Sherlock Holmes

Offline

Board footer

Powered by FluxBB