Valeri Galtsev wrote:
On 2019-05-07 04:50, Stephen John Smoogen wrote:
On Tue, 7 May 2019 at 04:06, wuzhouhui wuzhouhui14@mails.ucas.ac.cn wrote:
Recently, I encountered a interesting phenomenon that CentOS 6.3 running as normal even if I (my colleague, actually) installed a kernel that build for CentOS 7.x (e.g. kernel-3.10.0-327.el7.x86_64.rpm).
I found kernel is mismatch accidentally when I using "uname -r" to check kernel version. So my question is what the harmness we will get if I install a el7 rpm into a el6 system?
Many CentOS-7 packages will not install because they will need dependencies that the EL-6 does not have. The kernel is different because it is mostly self-contained and meant to be parallel installed. In most cases, it should result in an unbootable system because the boot is going to be dracut+systemd bits and the EL-6 has none of that.
+1 One needs to rebuild (recompile) everything that was not built on "mismatched" version of the system. And this will constitute correct "installation using old UNIX way". Otherwise you quite likely will have problems (even if they are hidden, i.e. if it appears to you that "all works"). One of examples would be using some library that is of different version than your extra software was compiled against. The library might be found, and successfully loaded at an execution time, but it may have different subroutine entry names or some missing which may be discovered only under some circumstances. At a compilation time the headers will be what provides necessary information... Anyway, understanding this will tell you apart as a sysadmin from "non-sysadmin" person ;-)
Yup, Valeri's absolutely correct. I *have* rebuilt drivers (Rocket Raid, for example, doesn't appear to maintain drivers for cards over about 4 yr old). The biggest problem in mismatches is that someone's changed a variable name, for whatever reason, and you get "unknown variable".
mark