How do I install an RPM package into a different directory?

last updated in Categories , , ,

Q. How do I install an RPM package into a different directory like /home/chroot under RHEL / Fedora / CentOS Linux server?

A.An RPM package that can be installed into a different directory is said to be relocatable. The –prefix NEWPATH option is used for for relocatable binary packages. It translate all file paths that start with the installation prefix in the package relocation hint(s) to NEWPATH. For example, package bind-chroot or rsync or bash can be installed into another directory called /opt or /home/chroot. First find out whether a particular package is relocatable or not using rpm -qi command itself:
$ rpm -qi {package-name}
To install an RPM package into a diffrent directory type:
# rpm --prefix=/home/chroot/ bind-chroot*.rpm
To verify package file listing enter:
# rpm -ql bind-chroot

Posted by: Vivek Gite

The author is the creator of nixCraft 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.

6 comment

  1. Thanks for the post Vivek:)
    It would be great if you could include the relocation concept in debain packages also ….

  2. sir how i convert a folder because in that folder there is exe files so i convert it into rpm form to install that through rpm….. rply

  3. # rpm –prefix=/opt/tomcat -ivh tomcat-7.0.42-8.el7_0.noarch.rpm
    error: package tomcat is not relocatable

    Have a question? Post it on our forum!