MirrorBrain automatically choose the best mirror / zypper update verification failed

Hello,

I got this error many times, although I know just to change repo mirror manually or to wait one hour, the problem will be solved.
For MirrorBrain, could it be possible to verify if the mirror sync completely before it return best mirror to visitors? So we can keep using the default repo list without similar problem.rotfl!


# zypper ref -f
Forcing raw metadata refresh
Retrieving repository 'Non-OSS Repository' metadata ..........................................[done]
Forcing building of repository cache
Building repository 'Non-OSS Repository' cache ...............................................[done]
Forcing raw metadata refresh
Retrieving repository 'Main Repository' metadata .............................................[done]
Forcing building of repository cache
Building repository 'Main Repository' cache ..................................................[done]
Forcing raw metadata refresh
Retrieving repository 'Main Update Repository' metadata -----------------------------------------|]


Warning: Digest verification failed for file '81825bf0518c7fb379fa6d1c9b460a4552104a490fecca54acdc01d85758ff7c-deltainfo.xml.gz'
[/var/tmp/AP_0xVrW2cf/repodata/81825bf0518c7fb379fa6d1c9b460a4552104a490fecca54acdc01d85758ff7c-deltainfo.xml.gz]


  expected 81825bf0518c7fb379fa6d1c9b460a4552104a490fecca54acdc01d85758ff7c
  but got  fbcd45912f45038b8f3de980c7ab543bfeb72a9d1a9fafe1151a0669091d9783


Accepting packages with wrong checksums can lead to a corrupted system and in extreme cases even to a system compromise.


However if you made certain that the file with checksum 'fbcd..' is secure, correct
and should be used within this operation, enter the first 4 characters of the checksum
to unblock using this file on your own risk. Empty input will discard the file.


**Unblock or discard? [fbcd/...? shows all options] (discard): **

This usually happens to me on Sunday afternoon.

Reference: https://forums.opensuse.org/showthread.php/511397-Zypper-up-checksum-errot

As Root:

zypper clean -a && zypper ref

Does this work?

Oterwise post your Repolist:

zypper lr -d

Hello Sauerland, thanks for your help. But it has the same problem.


**#** zypper clean -a && zypper ref
All repositories have been cleaned up.
Retrieving repository 'Non-OSS Repository' metadata ..........................................[done]
Building repository 'Non-OSS Repository' cache ...............................................[done]
Retrieving repository 'Main Repository' metadata ------------------------------------------------\]


Warning: Digest verification failed for file '69345ae05d60aae3e7b9637bb19da5558a3c9e7893d1fe0df6ac0ffae26bf863-appdata.xml.gz'
[/var/tmp/AP_0xy3Qxcc/repodata/69345ae05d60aae3e7b9637bb19da5558a3c9e7893d1fe0df6ac0ffae26bf863-appdata.xml.gz]


  expected 69345ae05d60aae3e7b9637bb19da5558a3c9e7893d1fe0df6ac0ffae26bf863
  but got  a85e8a53acd69317ffc2754c3e4027fbbe92fb3933ca39de760a2a77b3f0461c


Accepting packages with wrong checksums can lead to a corrupted system and in extreme cases even to a system compromise.


However if you made certain that the file with checksum 'a85e..' is secure, correct
and should be used within this operation, enter the first 4 characters of the checksum
to unblock using this file on your own risk. Empty input will discard the file.


**Unblock or discard? [a85e/...? shows all options] (discard): **


**#** zypper lr -d
#  | Alias                     | Name                               | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                      | Service
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+--------------------------------------------------------------------------+--------
 1 | repo-debug                | Debug Repository                   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.2/repo/oss/      | 
 2 | repo-debug-non-oss        | Debug Repository (Non-OSS)         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/15.2/repo/non-oss/  | 
 3 | repo-debug-update         | Update Repository (Debug)          | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.2/oss/                 | 
 4 | repo-debug-update-non-oss | Update Repository (Debug, Non-OSS) | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/15.2/non-oss/             | 
 5 | repo-non-oss              | Non-OSS Repository                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/non-oss/        | 
 6 | repo-oss                  | Main Repository                    | Yes     | ( p) Yes  | Yes     |   99     | NONE   | http://download.opensuse.org/distribution/leap/15.2/repo/oss/            | 
 7 | repo-source               | Source Repository                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.2/repo/oss/     | 
 8 | repo-source-non-oss       | Source Repository (Non-OSS)        | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/15.2/repo/non-oss/ | 
 9 | repo-update               | Main Update Repository             | Yes     | ( p) Yes  | Yes     |   99     | NONE   | http://download.opensuse.org/update/leap/15.2/oss/                       | 
10 | repo-update-non-oss       | Update Repository (Non-Oss)        | Yes     | ( p) Yes  | Yes     |   99     | NONE   | http://download.opensuse.org/update/leap/15.2/non-oss/                   | 

Please post:

ls -al /var/tmp/

Please copy all from terminal, klick on the Code-Tag # and paste it between the both clips in the middle.

so we get a better formated Code-Tag:

zypper lr -d
#  | Alias                     | Name                          | Enabled   | GPG Check       | Refresh        | Priority  | Type     | URI                                                                                        | Serv->
---+---------------------------+-------------------------------+-----------+-----------------+----------------+-----------+----------+--------------------------------------------------------------------------------------------+-------
 1 | Enlightenment             | Enlightenment                 | Ja        | (r ) Ja         | Ja             |   60      | rpm-md   | https://download.opensuse.org/repositories/X11:/Enlightenment:/Factory/openSUSE_Leap_15.2/ | 
 2 | KDE-Extra                 | KDE-Extra                     | Ja        | (r ) Ja         | Ja             |   50      | rpm-md   | https://download.opensuse.org/repositories/KDE:/Extra/openSUSE_Leap_15.2/                  | 
 3 | Kernel_stable_Backport    | Sauerrland:kernel:stable:Leap | Ja        | (r ) Ja         | Ja             |   25      | rpm-md   | https://download.opensuse.org/repositories/home:/Sauerland/Kernel_stable_Backport/         | 

I occasionally see this, but it is rare. And when I do see it, I am usually updating Tumbleweed rather than Leap 15.2. That makes sense, because Tumbleweed updates more often so would see problems more often.

When it happens, I just skip the update, and try again a few hours later. That usually works.

Yes, it is probably a bug with MirrorBrain. As far as I know, it is supposed to keep track of which mirrors have updated and only use those. But perhaps there isn’t a perfect way of keeping track, and it just does the best that it can.

Yes correct!

See two screenshot below, one from official website, one from mirror, at the same time.
The dates for files are different. The mirror has a delay for syncing (2 days delay).

May I ask, how I can use official repo without being directed to third-part mirrors? Thank you.

https://i.ibb.co/pZCR1gT/1.png

https://i.ibb.co/Trh9xT3/2.png

Change the URL to the one from gwdg.de

Quoting https://mirrors.opensuse.org/

Under normal circumstances, there should be no need to use mirrors directly, and look at this table for that purpose. If you do see the need, there might be something wrong and it would be appreciated if you notify the admins about it, so it can be fixed for the benefit of yourself, and possibly many other users.