Signature verification failed for file 'repomd.xml' from repository 'openSUSE-Leap-42.2-Update'.

Another roadblock in trying to switch systems. Now I see 42.3 is almost out.

The latest issue is that after an update, it seems all repositories have an issue about integrity check. I’ve read some places just need to wait awhile. It’s been a week or more. So probably on my end.

Yast says:
Validation check Failed
File repomd.xml … is signed with the following GnuPG key, but the integrity check failed.
ID: B88B2FD43DBDC284
Fingerprint: 22C0 … C284
(I think that’s the correct fingerprint)

zypper ref -fdb http://download.opensuse.org/update/leap/42.2/oss/
says:

Signature verification failed for file 'repomd.xml' from repository 'openSUSE-Leap-42.2-Network 42.2'.
Warning: This might be caused by a malicious change in the file!
Continuing might be risky. Continue anyway? [yes/no] (no):

I’ve tried:
rpm --rebuilddb
and
zypper clean http://download.opensuse.org/update/leap/42.2/oss/
prior to the zypper ref

Not sure what I should do.

Although I usually run the following only after adding a new repo, I believe the following should probably work in your case as well.

zypper --gpg-auto-import-keys ref

TSU

Ok, I tried it and same message: Signature verification failed for file ‘repomd.xml’

Guess no one else is having problems.
Any other suggestions?

Try “clean all”

zypper clean -a

then refresh

zypper ref

TSU

Ok, I tried that but still get
Signature verification failed for file ‘repomd.xml’ from repository ‘openSUSE-Leap-42.2-Update’.

And all the other online repositories varying with the varying failed file of ‘repomd.xml’ and ‘content’ depending on which repository.

If I then go into YaST and disable the update, add the same, and do a refresh, it says it is signed with the following GnuPG key, but the integrity check failed.

Either my database is really messed up or did the urls change? I’m using http://download.opensuse.org/update/leap/42.2/oss/
which had been working.

If I try to use a community repository, there is nothing in the list to choose from.

You may not have done a complete repo clean by using the “all” switch

zypper clean --all

That’s very important, “zypper clean” without that switch doesn’t do a complete job.

TSU

That’s typical before the official release.

If you are looking for packman, I used:


zypper ar -f http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_Leap_42.3/ packman

to add it. Note, however, that the packman repo for 42.3 does not appear to be regularly updating. For example, I do have “flash”, but it is not the latest version. It is older than the version in 42.2. I assume it will start to regularly update once 42.3 is officially released.

I’m not having a problem here. I just updated this morning (to Build 0325).

Signature verification failed for file 'repomd.xml' from repository 'openSUSE-Leap-42.2-Network 42.2'.
Warning: This might be caused by a malicious change in the file!
Continuing might be risky. Continue anyway? [yes/no] (no):

That looks like a 42.2 repo.

Here’s my current repo list for 42.3:


# zypper lr -d
Repository priorities in effect:                                                                                                                                                                            (See 'zypper lr -P' for details)
      98 (raised priority)  :  1 repository  
      99 (default priority) :  4 repositories

#  | Alias                     | Name                                    | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                             | Service
---+---------------------------+-----------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------+--------
 1 | openSUSE-Leap-42.3-0      | openSUSE-Leap-42.3-0                    | No      | ----      | ----    |   99     | yast2  | hd:///?device=/dev/disk/by-id/usb-SanDisk_Cruzer_20051233520F4F705D66-0:0-part2 |        
 2 | packman                   | packman                                 | Yes     | (r ) Yes  | Yes     |   98     | rpm-md | http://ftp.gwdg.de/pub/linux/packman/suse/openSUSE_Leap_42.3/                   |        
 3 | repo-debug                | openSUSE-Leap-42.3-Debug                | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.3/repo/oss/             |        
 4 | repo-debug-non-oss        | openSUSE-Leap-42.3-Debug-Non-Oss        | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.3/repo/non-oss/         |        
 5 | repo-debug-update         | openSUSE-Leap-42.3-Update-Debug         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.3/oss/                        |        
 6 | repo-debug-update-non-oss | openSUSE-Leap-42.3-Update-Debug-Non-Oss | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.3/non-oss/                    |        
 7 | repo-non-oss              | openSUSE-Leap-42.3-Non-Oss              | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.3/repo/non-oss/               |        
 8 | repo-oss                  | openSUSE-Leap-42.3-Oss                  | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.3/repo/oss/                   |        
 9 | repo-source               | openSUSE-Leap-42.3-Source               | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.3/repo/oss/            |        
10 | repo-source-non-oss       | openSUSE-Leap-42.3-Source-Non-Oss       | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.3/repo/non-oss/        |        
11 | repo-update               | openSUSE-Leap-42.3-Update               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.3/oss/                              |        
12 | repo-update-non-oss       | openSUSE-Leap-42.3-Update-Non-Oss       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.3/non-oss/                          |        

Note that I have only the standard repos, as originally installed, plus the packman repo. I won’t attempt to add any other repos until after the official release, as they might not even exist yet.

I did a copy and paste of your code with the “-a” on the end.

Just to be clear to everyone else, I’m still trying to switch to 42.2. Which had been updating just fine for many months until I think it was May or June.
If the clean --all doesn’t work, is there some other way to start fresh without having to reinstall the whole system?

Don’t know if this had anything to do with it, but the BTRFS was pausing the system every so often, so I found a command to disable the quota: “btrfs quota disable”. I had to do it from my 13.1 system so it wasn’t in use. Not sure if I had been able to do an update after that or not.

The “-a” is equivalent to “–all” both should do what is needed.
I’ve personally never seen a fail on a LEAP/mainstream openSUSE, or a TW which is regularly updated (approx 2 weeks or so). I’ve only had fails on TW when not updated for long periods of time (eg 6 months) and those would fail differently (package conflicts, not gpg issues).

The only thing I can think of is to remove and then re-add the TW update repo.
You can do this by doing the following

Edit - Stop!
I just realized you’re trying to fix a LEAP update repo, not a Tumbleweed!
I’ll leave this post for TW Users, but don’t add the TW repo for a LEAP install.
I’ll post the revised instructions for LEAP in a few minutes

remove the update repo

zypper rr repo-update

verify the “repo-update” has been removed

zypper lr

re-install the repo-update

zypper ar -f -n openSUSE-Tumbleweed-Update -t rpm-md http://download.opensuse.org/update/tumbleweed/ repo-update

Now you can refresh your repos, the following includes the previously given command that auto-accepts the GPG keys of the newly added repo

zypper --gpg-auto-import-keys ref

If that final command executes without error, then your problem is fixed and you can now up and dup without errors.

TSU

OK,
Here are the instructions for removing and then re-adding the LEAP 42.2 oss-update repo

  1. Remove the current oss-update repo
zypper rr "Main Update Repository"
  1. Verify the “Main Update Repository” has been removed
zypper lr
  1. Add the LEAP 42.2 oss update repo
zypper ar -f -n "Main Update Repository" -t rpm-md http://download.opensuse.org/update/leap/42.2/oss  download.opensuse.org-oss_1 
  1. Refresh your repos, the following command also includes the option to automatically accept the GPG keys of your newly added repo
zypper --gpg-auto-import-keys ref

Your problem should be solved.

TSU

Ok, I got:

Retrieving repository 'Main Update Repository' metadata ----------------------------------------------------------/]
Signature verification failed for file 'repomd.xml' from repository 'Main Update Repository'.
Warning: This might be caused by a malicious change in the file!
Continuing might be risky. Continue anyway? [yes/no] (no): n
Retrieving repository 'Main Update Repository' metadata ......................................................[error]
Repository 'Main Update Repository' is invalid.
[download.opensuse.org-oss_1|http://download.opensuse.org/update/leap/42.2/oss] Valid metadata not found at specified URL
Please check if the URIs defined for this repository are pointing to a valid repository.
Skipping repository 'Main Update Repository' because of the above error.

Just to reemphasize, I get this for all repositories, update, network, extra, even Packman. They had been working ok.

Hi
Add verbosity to see more info (esp keys and content files);


zypper -vvvv ref -f

The “-f” it said was unknown option

Checking whether to refresh metadata for Main Update Repository
Retrieving: media ............................................................................................[error]
Retrieving: repomd.xml.asc ....................................................................................[done]
Retrieving: repomd.xml.key ....................................................................................[done]
Retrieving: repomd.xml ........................................................................................[done]
  Repository:       Main Update Repository                              
  Key Name:         openSUSE Project Signing Key <opensuse@opensuse.org>
  Key Fingerprint:  22C07BA5 34178CD0 2EFE22AA B88B2FD4 3DBDC284        
  Key Created:      Mon May  5 03:37:40 2014                            
  Key Expires:      Thu May  2 03:37:40 2024                            
  Rpm Name:         gpg-pubkey-3dbdc284-53674dd4                        
Signature verification failed for file 'repomd.xml' from repository 'Main Update Repository'.
Warning: This might be caused by a malicious change in the file!
Continuing might be risky. Continue anyway? [yes/no] (no): n

Media error?

Hi
The media error is ok, but not recognizing the -f option is abnormal… need that to refresh the metadata, try --force then.

Trying again, I guess I don’t understand the option list. I kept the --gpg-auto-import-keys and added the others to the end. So now copying and pasting, I get still the same:


Forcing raw metadata refresh
Retrieving: http://download.opensuse.org/update/leap/42.2/oss/media.1/media ..................................[error]
Retrieving: http://download.opensuse.org/update/leap/42.2/oss/repodata/repomd.xml.asc .........................[done]
Retrieving: http://download.opensuse.org/update/leap/42.2/oss/repodata/repomd.xml.key ...............[done (988 B/s)]
Retrieving: http://download.opensuse.org/update/leap/42.2/oss/repodata/repomd.xml .............................[done]
  Repository:       Main Update Repository                              
  Key Name:         openSUSE Project Signing Key <opensuse@opensuse.org>
  Key Fingerprint:  22C07BA5 34178CD0 2EFE22AA B88B2FD4 3DBDC284        
  Key Created:      Mon May  5 03:37:40 2014                            
  Key Expires:      Thu May  2 03:37:40 2024                            
  Rpm Name:         gpg-pubkey-3dbdc284-53674dd4                        
Signature verification failed for file 'repomd.xml' from repository 'Main Update Repository'.
Warning: This might be caused by a malicious change in the file!
Continuing might be risky. Continue anyway? [yes/no] (no): 

Looking at “man”, I couldn’t determine if “-f” included everything or not, so I tried -b, -d, and -s. All to the same effect.

Looking in Yast under the keys, I came across this:

Key: E3A5C360307E3D54
Name: SuSE Package Signing Key <build@suse.de>
Finger Print: 4E98E67519D98DC7362A5990E3A5C360307E3D54
Created: 05/04/2010
Expires: 05/03/2014 (The key is expired.)

Is that important?

Hi
I would guess that’s the culprit…? Remove it and see what happens.

Just use the zypper command as given, no additional stuff. With the vvvv option you can see what key is used by what repo…

I’m not sure I follow. It was a package signing key which didn’t seem to be associated with a repo.
I deleted the key in Yast and then ran the zypper -vvvv ref -f
with the same results.

However, when I did a refresh from Yast, I saw it did update some repos (OSS at least), but not the update one, though. Should I delete all keys? It never added the one back. Would it hurt to delete all the keys?
I’ve never understood them and during the install it asks if you want to trust the keys and you hope it’s ok. But if you always trust the keys, do they do any good?

Hi
Sounds like you have some old keys lurking… Well you could delete and the from the command line run zypper -vvvv ref

The one I have for the update repo is;


  Repository:       Main Update Repository                              
  Key Name:         openSUSE Project Signing Key <opensuse@opensuse.org>
  Key Fingerprint:  22C07BA5 34178CD0 2EFE22AA B88B2FD4 3DBDC284        
  Key Created:      Mon May  5 03:37:40 2014                            
  Key Expires:      Thu May  2 03:37:40 2024                            
  Rpm Name:         gpg-pubkey-3dbdc284-53674dd4

All the keys are verifiable by importing and checking with gpg2 (the admins job :wink: )…
http://download.opensuse.org/update/leap/42.2/oss/openSUSE:Leap:42.2:Update.repo

I think that’s the same as mine for the Main Update Repository.