I’ve tried to mirror (rsync) from 3 different European mirrors (I3D, NLUUG and University Stuttgart) and all 3 of them lead to errors, mostly checksum. That last one immediately lead to 404’s when DNF tried to download repo metadata but couldn’t find the expected files. I ran `dnf clean all` between all tests.
Does anyone know a mirror which can be used for rsync mirroring which does not contain corrupt data?
I don’t rsync any repo data but my dnf (http) almost never runs into 404 or checksum errors, and I did set dnf to use only mirrors from certain European countries.
Maybe rsync is different, maybe an unstable internet connection?
I think it is more likely user error
than corrupt mirrors.
Sometimes syncing creates short term errors that resolve themselves though. So if its that it should be resolved in 48 hours.
What are you trying to do? (end goal)
And how are you doing it?
So long as dnf can follow the meta data trail to find all the RPMs then the mirror is usable.
While a mirror is syncing new content it will likely show differences.
I think mirrors will update the entry-point meta data as the last file they sync so that you do only see all the valid previous RPMs or all the new RPMs, but not a mix of both.
If you did not follow the meta data trail that would explain what you see.
Same goes for the I3D mirror. If you mirror it (via rsync) and then try to use DNF with your local mirror it will die on certain packages. For example libertas-firmware-20250917-2.fc42.noarch.rpm
>>> Downloading successful, but checksum doesn't match. Calculated: e4fcb39593fe02ed0a114e2254dad580e7617d83c8269a334df09513a234cbd3(sha256) Expected: 775699d70e820e3baf37e8f7311b2404307df745a1805e48bb090c1ddca08c1b(sha256)
>>> No more mirrors to try - All mirrors were already tried without success
[ 74/164] firefox-0:143.0.4-1.fc42.x86_64 78% | 1.7 MiB/s | 61.1 MiB | 00m36s
>>> Not finished - interrupted by error: Cannot download Packages/l/libertas-firmware-20250917-2.fc42.noarch.rpm: All mirrors were tried
The libertas-firmware-20250917-2.fc42.noarch.rpm package on the I3D mirror is so corrupt file can’t even recognize it:
$ file libertas-firmware-20250917-2.fc42.noarch.rpm
libertas-firmware-20250917-2.fc42.noarch.rpm: data
And this goes for most mirrors I test.
So I guess the conclusion is you can’t rsync a mirror and expect to get a working local mirror because most mirrors seem to suffer from some form of corruption?
Yes. This document is mostly about registering your mirror with report_mirror to ensure your (private) mirror gets used by DNF automatically. The syncing itself is deferred to either using rsync or using the quick-fedora-mirror script, which is simply an rsync wrapper which does some tricks to save space while making the “switch“ from workdir to published atomic. The script itself doesn’t call applications like createrepo of rpm, so it has no idea about what metadata is “consistent“ or which RPM’s are potentially “corrupt“.
So none of this is going to help with encountering corrupt files on mirrors like `libertas-firmware-20250917-2.fc42.noarch.rpm` on for example I3D’s mirror.