RHEL/CentOS - Is it possible to update packages only up to a certain release date?
Technically speaking, if one wanted to update a RHEL or CentOS server using yum, but only up to a certain release date (i.e. don't install any updates released after X date), would it be possible and if so, how?
So far, the only way I can think of is to use a dedicated satellite server or a local repository and simply not sync it after a certain date, but this is not what I'm looking for.
The reason I'm asking is that we have a central (shared) satellite server that serves multiple customers, and one of the customers asked to keep all of its servers (including new servers being built) to the same update level until they are ready to move up. Without a new dedicated satellite created only for this customer (which we wouldn't not sync after X date), the only way I can think of would be if we could prevent servers (including freshly built ones) from updating past a certain release date.
I've searched around and couldn't find anything (such as a yum option or plugin that does this) that would indicate it's even possible, but in case I just didn't search for the right thing, I'm asking you.
Please let me know if the question is unclear.
It sounds like this customer should either have their own organisation inside the satellite (and you could then give them org admin rights if you so desired), OR you should clone the channels you need, and then, when they say go, you go into each cloned channel and update it (can't quite think of the terminology right now, but its next to the 'sync' button.
When you originally clone a channel, you can opt to clone it with no/all/selected errata. In 5.6 (or was it 5.5?) they added an option to clone to match a particular release. Before that, you had to use a script (unsupported?)
One work of warning though, when updating, do it though the 'Manage channels' part of the interface, not through the 'Errata' part of the interface, of you'll drive yourself nuts.
Note that Red Hat have some RHEL 5 and RHEL 6 best-practice guides for managing SOE's (Standard Operating Environments), which may be of interest to you.
eg. https://access.redhat.com/articles/1169613 (Subscriber Content)
If what you want is to have multiple machines with exactly the same packages and versions, you could use yum load-ts
(yum load-transaction
)
From man yum
:
load-transaction
This command will re-load a saved yum transaction file, this allows you to run a transaction on one machine and then use it on another. The two common ways to get a saved yum transaction file are from "yum -q history addon-info last saved_tx" or via. the automatic saves in $TMPDIR/yum_save_tx.* when a transaction is solved but not run.