Linux – Should I use the CentOS package version in the (official) repositories, or the latest stable versions of the packages

centoslinuxpackage-management

This is an open ended question, but I do wish to have a constructive and helpful discussion into this topic.

So to clarify on the question:
On a server running CentOS 7 (or any other Linux distro/version for that matter) Is it best to stick with the package version in the Base/EPEL repo or is it fine to get the latest stable version form the package site? In this case I am more specifically referring to packages like nginx, MariaDB and PHP 7.
For example, what would be the pros and cons of installing nginx 1.8.0 over the EPEL version 1.6.3?
Are there any performance differences or security risks either way?

All discussion and experience is welcome, please try to cite resources and facts.

Best Answer

Generally, I try very hard to use system default packages.

However, this is sometime not possible. To do an educated choice you had to answer these questions:

  1. do the distribution's packages provide the features you require? If so, you don't even need to search for other packages; simply use the packages provided by system repositories.
  2. do you need official support and/or had you to comply to specific policies? If so, you can't use an unofficial repository. In this case, you are probably using the wrong distribution for your software project.
  3. if the answer to the previous questions was "no", you had to search for a more recent software version. Does exist a well-recognized repository with the required package? If so, use it.
  4. if no specific, reputable repositories exist, you had to use the upstream software. In this case, try very hard to use packaged software (eg: RPM, DEB, ecc) rather than plain tar.gz (or the likes).