How to create a repository client server, download the latest patches, and push them to other servers in Alma Linux

Hello! I hope you’re doing well. I’ve set up a repo server using Alma Linux, and I’m looking to update it for monthly patching so I can push those updates to other servers. If you have any tips or know of any official documentation on how to do this, I would really appreciate your help. Thank you so much!

something like orcharhino, foreman or even reposync with snapshots

Any documentation do we have for this? Please let me know.

You have copy of repo in a machine.

That machine can be set to share the files with HTTP / FTP / NFS / etc?
A machine that can access the files can have a repo definition that points to that location.

Two examples, first has files local or NFS, the second in ftp server:

# cat /etc/yum.repos.d/mybase.repo 
[my-baseos]
baseurl = file:///site/mirrors/almalinux.org/$releasever/BaseOS/$basearch/os/
cost = 990
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
metadata_expire = 24h
name = My - Alma $releasever - BaseOS
skip_if_unavailable = 1
# cat /etc/yum.repos.d/mybase.repo 
[my-baseos]
baseurl = ftp://10.20.30.5/pub/almalinux.org/$releasever/BaseOS/$basearch/os/
cost = 990
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux-9
metadata_expire = 24h
name = My - Alma $releasever - BaseOS
skip_if_unavailable = 1

Each of these is an alternative to the online ‘baseos’ mirrors. (I do actually disable the ‘baseos’ – dnf config-manager --disable baseos, so machines use only my copy.)

Therefore, running dnf up in such machine will get packages from ‘my-baseos’.


If the machines do run dnf up regularly, then the question is, when you update the local repo? That is effectively what “pushes” updates.

Alternatively, you can update the local repo regularly and choose when to run (“push”) package update on the machines.

Was the use of local repos already clear and the question only about how to choose/run?