TL;DR : How to make sure a list of package updates can be made in a reproducible way on many servers, even if newer security updates are available before the patching campaign is over?
In a company that has regulatory constraints, the security updates of servers need to be made in a reproducible way : a list of critical CVEs are identified, leading to a list of packages to update to a specific version. These updates need to be applied on many servers, from development to staging and production.
Applying these updates can take a long delay, and, even if newer security updates are available in between, it's important to make sure the same change is made on every server.
I suppose specifying a version with something like yum update package-version
would not work because newer packages replace older ones on CentOS repositories (at least for security updates). So we might not always apply the exact same versions.
The ops team wants to use Landesk, and implemented a copy of CentOS repositories on the local network (used by every server instead of the normal CentOS repos), on which they plan to make some kind of "snapshots" of packages, in specific timestamped repositories (like 'repo_xxx_20191019'). In order to apply the security updates, they plan to update the repo config of each targeted server to add the timestamped repositories, and update packages this way.
I suppose it would work, but are there any caveats to care about? Or simpler ways to achieve the same result?