Do Not Uninstall Old When Yum Install New

Home » CentOS » Do Not Uninstall Old When Yum Install New
CentOS 2 Comments

Hi,

I have a specific needs that requires yum do not to uninstall old version when install new one. For example, I found that
yum install kernel will install new kernel, and old kernel will remained. But
yum install
will uninstall old version after install new one, how to disable it?

Thanks.

2 thoughts on - Do Not Uninstall Old When Yum Install New

  • –installonlypkgs List of package provides that should only ever be installed, never updated. Kernels in particular fall into this category. Defaults to kernel, kernel-bigmem, kernel-enter- prise, kernel-smp, kernel-debug, kernel-unsupported, kernel- source, kernel-devel, kernel-PAE, kernel-PAE-debug.

    Note that because these are provides, and not just package names, kernel-devel will also apply to kernel-debug-devel, etc.

    Note that “kernel-modules” is not in this list, in RHEL-6, and so anything providing that is updated like any other package.

    installonly_limit Number of packages listed in installonlypkgs to keep installed at the same time. Setting to 0 disables this feature. Default is
    ‘3’. Note that this functionality used to be in the “installonlyn” plugin, where this option was altered via tokeep. Note that as of version 3.2.24, yum will now look in the yumdb for a installonly attribute on installed packages. If that attribute is “keep”, then they will never be removed.

  • Also note that unless packages are written to be install_only .. you can’t do that.

    Kernel is specially designed to have more than one installed. You can not install 2 different versions of almost anything else from the base repos .. ie, you can’t install 2 pythons or 2 perls etc .. UNLESS you use something like Software Collections:

    https://wiki.CentOS.org/SpecialInterestGroup/SCLo

    A normal package will provide something like /usr/bin/firefox .. the upgrade will replace it .. they both can not live normally installed at the same time.

    Other than SCLs, there is also an ‘alternatives’ system that can be used:

    https://wiki.CentOS.org/HowTos/JavaRuntimeEnvironment

    (that is one example how to use the ‘alternatives’ system)

    Anyway .. you can’t just tell yum to leave more than one version of an installed package on your systems .. it requires lots of knowledge and a plan with different locations and ways to point things at the correct place, etc. You will almost certainly need to redesign and rebuild your own packages unless you can use something like SCLs.

    Thanks, Johnny Hughes