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
Output:
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:
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 3 comments… read them below or add one }
i was a study to rhce
Explain vi editor options for text formatting.
Thanks for the post Vivek:)
One question if you don’t mind. Is it possible to convert a non-relocatable rpm to a relocatable one?
I was able to install a non-relocatable package to a non-standard location with rpm. The details are provided below,
—————————————————————————–
[root@mail2 ~]# rpm –prefix=/mail/mysql -i mysql-server-5.0.77-4.el5_6.6.x86_64.rpm
error: package mysql-server is not relocatable
[root@mail2 ~]# rpm –relocate /=/mail/mysql/ –badreloc -ivh mysql-server-5.0.77-4.el5_6.6.x86_64.rpm
Preparing… ########################################### [100%]
1:mysql-server ########################################### [100%]
error reading information on service mysqld: No such file or directory
/bin/chmod: cannot access `/var/lib/mysql’: No such file or directory
[root@mail2 ~]# echo $?
0
[root@mail2 ~]#
—————————————————————————–
Do you think there is any possible issues with the above procedure?