You are not logged in.
I tried to do a pacman -Syy this morning. I had some problem with the network, which as since resolved itself, but now I cannot update my system as I get the following error:
error: GPGME error: No data
When I looked at the file /var/lib/pacman/sync/core.db.sig, I see it contains the following:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>300 Multiple Choices</title>
</head><body>
<h1>Multiple Choices</h1>
The document name you requested (<code>/archlinux/core/os/x86_64/core.db.sig</code>) could not be found on this server.
However, we found documents with names similar to the one you requested.<p>Available documents:
<ul>
<li><a href="/archlinux/core/os/x86_64/core.files.tar.gz">/archlinux/core/os/x86_64/core.files.tar.gz</a> (common basename)
<li><a href="/archlinux/core/os/x86_64/core.files.tar.gz.old">/archlinux/core/os/x86_64/core.files.tar.gz.old</a> (common basename)
<li><a href="/archlinux/core/os/x86_64/core.db.tar.gz">/archlinux/core/os/x86_64/core.db.tar.gz</a> (common basename)
<li><a href="/archlinux/core/os/x86_64/core.files">/archlinux/core/os/x86_64/core.files</a> (common basename)
<li><a href="/archlinux/core/os/x86_64/core.abs.tar.gz">/archlinux/core/os/x86_64/core.abs.tar.gz</a> (common basename)
<li><a href="/archlinux/core/os/x86_64/core.db.tar.gz.old">/archlinux/core/os/x86_64/core.db.tar.gz.old</a> (common basename)
<li><a href="/archlinux/core/os/x86_64/core.db">/archlinux/core/os/x86_64/core.db</a> (common basename)
</ul>
</body></html>
The extra.db.sig and community.db.sig files are similar. It appears to me that these files got overwritten by some html. I've looked at several mirrors, but I can't find any core.db.sig files.
Does anyone know the best protocol to recover my system when I don't have valid *.sig files?
Offline
AFAIK the official repos' package databases are not signed.
Remove these sig files and try again.
Post your pacman.conf.
Offline
Well, I removed the files and did -Sy again. Core hadn't changed, but new extra and community db's were downloaded and similar extra.db.sig and community.db.sig files re-appeared in /var/lib/pacman/sync.
My pacman.conf contains:
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
If I do a 'pacman -Qu', it fails due to the invalid .sig files. After I removed extra.db.sig and community.db.sig, pacman -Qu was successful.
So why is my pacman trying to download those files?
Offline
Can you post the whole pacman.conf?
Offline
There's really nothing else in there. Here's my pacman.conf (with comments removed). It's basically just the defaults.
[options]
HoldPkg = pacman glibc
Architecture = auto
Color
CheckSpace
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
[core]
Include = /etc/pacman.d/mirrors
[extra]
Include = /etc/pacman.d/mirrors
[community]
Include = /etc/pacman.d/mirrors
The /etc/pacman.d/mirrors is a file I generate from /etc/pacman.d/mirrorlist that contains just my preferred mirror. It currently contains just one line:
Server = http://mirrors.aggregate.org/archlinux/$repo/os/$arch
Offline
The mirror is "trying to be clever". https://bugs.archlinux.org/task/36815
Offline
That's really interesting. I have a script that selects an appropriate mirror each day, so I've probably never used mirrors.aggregate.org before.
Appearently, pacman asks for a .sig file for each file it retreives, including the *.db files.
I'll add aggregate.org to my .ignore file.
Thanks.
Offline