[CentOS] Upgrade path from CentOS 7 to future versions

Tue May 10 15:44:35 UTC 2016
Valeri Galtsev <galtsev at kicp.uchicago.edu>

On Tue, May 10, 2016 2:19 am, Johnny Hughes wrote:
> On 05/10/2016 02:08 AM, Venkateswara Rao Dokku wrote:
>> Hi,
>> I would like to know whether the valid upgrade path will be present from
>> CentOS 7 to future versions like we get for Ubuntu or some other
>> operating
>> systems.
>> Right now, I am sure that we do not have proper update path in CentOS to
>> move from one version to another.
> If you mean upgrade to all CentOS-7 point releases, yes (from source
> code for RHEL-7.0 to RHEL-7.1, to RHEL-7.2).  If you mean from CentOS-7
> to CentOS-8, there is no way to know.  There is no RHEL-8 to look at.
> Red Hat has source code for preupgrade-assistant and
> redhat-upgrade-tool.  That is created for inplace upgrades from one
> major version to another.  Currently those tools are community and
> maintained and they are several updates behind because currently no one
> in the community has stepped up to maintain them.
> But, CentOS-7 has an EOL of June 30, 2024 .. so there is security
> updates for 8 more years.

I would add to nice Johnny's explanation one more thing.

"Other systems" you mention I bet are Debian and its clones (Ubuntu being
one of them). These systems have different update philosophy than that of
RedHat Enterprise Linux (and hence what CentOS is, which is derived from
RHEL). Namely, these "other systems" do constant micro-upgrades of
components installed on the system to latest release, whenever new release
of given piece of software happens. To the contrary, RHEL mostly backports
important security fixes to a version that was included in original system
release (but occasionally does make upgrades). Hence the differences:

1. Debian (and clones): you keep the components of the system pretty much
on the level of latest release of each of components. Therefore "upgrade"
to new release of the system is pretty close to just a regular routine
update. This apparent advantage comes with a disadvantage, namely: every
update has a potential to break something on your machine, as new release
may have different internals, then you will need to work on migration to
them, and this can come as a surprise with any of routine updates.

2. RHEL (and derivatives): you do routine updates, and all is guaranteed
to keep working as it did when you originally configured your machine.
This is great advantage for those of us who prefer stability. It comes at
some price, namely: more work of the side of RedHat team (backporting
important patches), and you have to live with slightly outdated
components. The last can be seen differently, as slightly outdated is the
same as being used by many, so all trouble in them are already discovered
and fixed. (Yes, there are upgrades occasionally, still...). Now, when you
upgrade to new system version, very many of the components go versions up,
thus the safe way to deal with them is to have everything freshly
installed, freshly configured, and then migrate your custom configurations
to this new level.

Now to comment of what one can choose, I would say about Debian (and
clones) what I would say about Fedora, which definitely is "bleeding
edge". If you want "bleeding edge", be ready for some bleeding sometimes.

All in all it is your choice. If you are to maintain solid server and can
not tolerate 10 min outage in anything happen out of blue, CentOS is for
you. If you don't care about that, then Debian or one of its clones may be
more convenient for your way of system maintenance.

I hope, this helps.


Valeri Galtsev
Sr System Administrator
Department of Astronomy and Astrophysics
Kavli Institute for Cosmological Physics
University of Chicago
Phone: 773-702-4247