Dnf reposync and drpms

This may be the wrong forum to ask/ discuss / brainstorm, but I figure I’d start here. :slight_smile:

I have a RHEL 9.2 server acting as a a local repo repository for both RHEL and Fedora repos. My goal is to have one VM for this, and sync using reposync against RHEL repos requires a subscription, the reposync VM itself is a RHEL VM.

This is the version of dnf at play, 4.14.0.
This is the command I’m using to sync Fedora 38 repos. Yes, I have verified the repo names match what’s in the repofiles I created in /etc/yum.repos.d/.

reposync -p /srv/repos/fedora \
--repo=fedora-38 \
--repo=fedora-38-modular \
--repo=fedora-38-updates \
--repo=fedora-38-updates-modular \
--download-metadata --delete

This generally works fine. It grabs the metalink.xml file and creates a Packages and repodata directory for each repository. The problem comes with some updates. Here is an example from a Fedora 38 VM.

[MIRROR] cups-filters-2.0~rc1-2.fc38_2.0~rc2-1.fc38.x86_64.drpm: Status code: 404 for http://fqdn.of.my.repo.server/repos/fedora/fedora-38-updates/drpms/cups-filters-2.0~rc1-2.fc38_2.0~rc2-1.fc38.x86_64.drpm (IP: #.#.#.#)
[MIRROR] javascriptcoregtk4.0-2.40.2-1.fc38_2.40.3-1.fc38.x86_64.drpm: Status code: 404 for http://fqdn.of.my.repo.server/repos/fedora/fedora-38-updates/drpms/javascriptcoregtk4.0-2.40.2-1.fc38_2.40.3-1.fc38.x86_64.drpm (IP: #.#.#.#)
[MIRROR] javascriptcoregtk4.1-2.40.2-1.fc38_2.40.3-1.fc38.x86_64.drpm: Status code: 404 for http://fqdn.of.my.repo.server/repos/fedora/fedora-38-updates/drpms/javascriptcoregtk4.1-2.40.2-1.fc38_2.40.3-1.fc38.x86_64.drpm (IP: #.#.#.#)

Sure enough the 404 error is appropriate since after running reposync, there is no drpms directory. Has anyone else experienced this with using reposync to maintain a local copy of the Fedora 38 repos? Is there an option I’m missing with reposync? Unfortunately, Dr. Google hasn’t been helpful for me for this :frowning:

This is the repo configuration for the VM in question. The deltarpm option might affect this in some way – I haven’t tested it. However, it’s “true” by default; thus, both the VM and the reposync server would have it true, but perhaps reposync itself will never do the calculation that leads to downloading drpms.

[fedora-38-updates]
name=Fedora $releasever - $basearch - Updates
baseurl=http://fqdn.of.my.repo.server/repos/fedora/fedora-38-updates
enabled=1
countme=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False

Try turning off the delta rpm option.
Its an option that is likely to be dropped soon by fedora as
it no longer reduces bandwidth used when upgrading.

1 Like

Looks like adding deltarpm=False directive to the repo configurations for the systems that are reaching out to the reposync server solved the problem.

1 Like