11.4 zypper digest verification failed

Hello. I recently reinstalled my workstation from OpenSuse 11.2 to 11.4. After the installation, I found that I could not run zypper anymore. A few things to note first.

  • OpenSuse 11.4 x64
  • behind corporate firewall (which worked fine with zypper as long as a proxy was configured with previous versions – used that ZYPP_ARIA=0 variable previously to help).
  • proxies configured in /etc/sysconfig/proxy.
  • all other network utilities I normally use (browser, ssh) all work fine.
  • I have removed all repositories and added them again several times. I have also done “zypper clean” several times not that I would expect that to be better than removing and re-adding the repositories.

When I attempt to run “zypper ref” or “zypper in foo” I get the following:

wonka:~ # zypper ref
Retrieving repository ‘Updates for openSUSE 11.4 11.4-0’ metadata |]
Digest verification failed for 25a76dc7fbea1be89922833abb3425d28b64fba1-susedata.xml.gz. Expected 25a76dc7fbea1be89922833abb3425d28b64fba1, found 263860e878ccee72c5ed9189fc451de56c62ce59. Continue? [yes/no] (no): no
Retrieving repository ‘Updates for openSUSE 11.4 11.4-0’ metadata [error]
Repository ‘Updates for openSUSE 11.4 11.4-0’ is invalid.
25a76dc7fbea1be89922833abb3425d28b64fba1-susedata.xml.gz has wrong checksum
Please check if the URIs defined for this repository are pointing to a valid repository.
Skipping repository ‘Updates for openSUSE 11.4 11.4-0’ because of the above error.
Repository ‘VLC’ is up to date.
Repository ‘openSUSE-11.4-Non-Oss’ is up to date.
Repository ‘openSUSE-11.4-Oss’ is up to date.
Some of the repositories have not been refreshed because of an error.

If I then go to the cached location of the file in this example (/var/cache/zypp/raw/Updates-for-openSUSE-11.4-11.4-0OnX26m/repodata/25a76dc7fbea1be89922833abb3425d28b64fba1-susedata.xml.gz) and have a look at it, it’s always the metalink file. That is, it starts with:

<?xml version=“1.0” encoding=“UTF-8”?>
<metalink xmlns=“urn:ietf:params:xml:ns:metalink”>
<origin dynamic=“true”>http://download.opensuse.org/update/11.4/repodata/25a76dc7fbea1be89922833abb3425d28b64fba1-susedata.xml.gz.meta4</origin>

<file name=“25a76dc7fbea1be89922833abb3425d28b64fba1-susedata.xml.gz”>

Unless I’m mistaken, this should be the file and not the metalink file which is why it would fail the digest verification.

If I manually use wget to grab the package and either run it directly or insert it into the /var/cache/zypp tree (replacing the metalink version zypper complains about) it always works and gives me the right file. But of course, that’s a painfully manual process now.

I’ve spent the last couple of days searching and couldn’t find anything that helped me with this. I saw some things about IPv6, but we’re not using that here. I tried disabling IPv6 entirely and found that had no effect anyway.

Clearly it’s downloading something and making it past the firewalls, but it’s never picking up the files themselves so zypper never works.

One other thing to mention is that the installer did have one problem both times I tried it. After the install, it did not recognize eth0 so it wouldn’t start it and would not let me configure it at the last round of the install (just after the reboot). However, I rebooted the machine immediately after the install completed and while eth0 was not configured it was available to be configured and it was easy to make it work. Something about the installer somehow doesn’t start this interface properly so I had to configure it later. But it seems to work fine.

I need to get this problem figured out so I can move on to upgrade some other systems here, but I’m certainly missing a functional zypper.



I have the exact same problem…I hope someone has an answer!