Rocky local repo challenges for different versions

We have set up Rocky local repository in our environment to push the updates for all the Rocky versions like 8.9, 9, 9.3, 9.4. We always have product dependency hence we should stay intact with the version and not update kernal version. Eg: Some customers only needs Rocky 9.3 version and they do not wanted to update as their product is compatible with this version. We are facing challenges in maintaining the repository for multiple versions of Rocky.

Method 1: When we use reposync commands to update the repository then only Rocky specific version gets updates for the repo server using this method which results in maintaining many repo servers for each version(8.9, 9, 9.3, 9.4).

Method 2: Using ISO method to sync the repos. This method has challenges to download ISO file->copy contents to repo server->create repo by maintaining different folders. I dont think ISO file gets updates every month for syncing the data and manage this repository to push updates to all the servers in our environment.
Eg: Rocky89
Rocky9
Rocky93
Rocky94

Kindly suggest the right approach to maintain Rocky local repository with different versions.

1 Like

There has been no addition of files to 8.9 and 9.3 repos since 8.10 and 9.4 were released.
At most the 8.9 and 9.3 are removed (from mirrors) and archived into “vault”.

Therefore, the “best” way to maintain your 8.9 and 9.3 repos is to do absolutely nothing.

Thanks for your response. Can we manage both Rocky 8 and Rocky 9 repository in 1 repo server? It is expected that we may get 9.X versions later where we need to manage them too in future. What are the ways to manage multiple versions?

First, I don’t do “ISO method” nor “reposync”.

If you go to Index of /pub/rocky/ (or any of the mirrors), you should see
that there is a subdirectory for each point release. There are also 8 and 9, but those are symlinks to current point updates (8.10 and 9.4, respectively). If you do check the subdirs, you will see that only the 8.10 and 9.4 actually contain something; for all others:

content has been moved to the Rocky Linux Vault

You don’t need to sync now other than what is within the 8.10 and 9.4 subdirectories.


A system that has Rocky installed does have in /etc/yum.repos.d/ some *.repo files that
tell where do the repo servers are. Each definition does use either mirrorlist or baseurl.
Those URL’s may use variables $releasever and $basearch. The $releasever is 8 in Rocky Linux 8 system.

You probably have set the baseurl to point to your repo server, so you can update that
to have explicit version, for example 9.0 rather than $releasever. That way that system will
use repos that are under 9.0 (rather than under 9, i.e. now under 9.4) in your server.

Note that you offer the outdated and unsupported content for your customers, so you are responsible for all the security issues that may rise on those systems. You support them – nobody else does.

Use Katello (or RH Satellite) https://docs.theforeman.org/ which allows you to maintain complete sets of sticky package versions. You could use content views, or the lifecycle management It’s up to you find a way through the features. There’s an option in the dnf subscription manager plugin, which disables all external repositories on your clients, only Katello managed repos are allowed.

1 Like