Usage
Safe Replacement Packages
Most IUS packages are safe replacement packages. This is a term we use to describe packages with the following properties.
- Replaces the functionality of a stock package.
- Uses a different name than the stock package to prevent unintended upgrades.
- Provide the stock package name to satisfy the dependencies of other packages.
- Conflict with the stock package.
- Must not obsolete any stock packages.
Basic Installation
Safe replacement packages completely replace their stock equivalents, and cannot be installed at the same time. If the stock equivalent of an IUS package is not already installed, then you can just install the IUS package like any other package.
yum install mariadb103-server
Yum Shell
If the stock equivalent of an IUS package is already installed, you must
uninstall it first. If other packages depend on the installed stock package,
you can perform the removal and installation in a single transaction. The
native way to do this is via yum shell
.
yum shell
> erase php-common php-fpm
> install php73-common php73-fpm
> run
Yum Swap
You can also use the yum swap
command, which serves as a simpler alternative
to yum shell
.
Note: yum swap is only available in RHEL/CentOS 7.
yum swap haproxy haproxy20
DNF
DNF (also known as yum4) has an --allowerasing
flag to erase conflicting packages in the same transaction. This suites our
needs perfectly since safe replacement packages conflict with their stock
equivalents.
Note: dnf is only available in RHEL/CentOS 7.
yum install dnf
dnf --allowerasing install git222-core
Parallel Installable Packages
IUS also maintains some parallel installable packages. This is a term we use to describe packages with the following properties.
- Uses a different name than the stock package so it can be installed at the same time as the stock package.
- Files from the package must use different names than files from stock packages to avoid file conflicts.
- Must not provide the stock package name.
- Must not conflict with the stock package.
- Must not obsolete any stock packages.
The EPEL repository also contains parallel installable packages. These packages can be installed just like any other package. The only special consideration needed is that commands and file paths will be different.