Explain: Red Hat Linux RPM Relocatable and Not Relocatable Packages

Q. Can you explain CentOS / RHEL / Fedora Linux relocatable package concept?

A. RPM has the ability to give users some latitude in deciding where packages are to be installed on their systems. However, package builders must first design their packages to give users this freedom. In other words, an RPM package that can be installed into a different directory is said to be relocatable. Please note that not all RPM packages can be installed into another directory.

Task: Find out if whether a particular package is relocatable or not

Use rpm command as follows:
$ rpm -qi {package-name} | grep Relocations
$ rpm -qpi package.file.rpm | grep Relocations
$ rpm -qi bash | grep Relocations

Sample output (it means bash package can be installed in diffrent directory such as /home/chroot/users/):

Name        : bash                         Relocations: /usr

Following package is not relocatable:
$ rpm -qi keyutils-libs | grep -i Relocations

Name        : keyutils-libs                Relocations: (not relocatable)

Task: Install package into a different directory

rpm command has –prefix option. It allows to install package in diffrent directory. For example, install bash into /opt directory:
# rpm --prefix=/opt bash*.rpm

See also:

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.