解决方法:
并不是所有RPM包能被安装到另外一个目录。一个可以被安装到不同目录的RPM包是可以被重定位的(relocatable)。要检查一个包是否可以被重定位,使用这个命令:
rpm -qpi <rpm package&#gt; | head -1
比如,这两个包:redhat-lsb-1.3-3.1.EL3.i386.rpm and rsync-2.5.7-5.3E.i386.rpm::
# rpm -qpi redhat-lsb-1.3-3.1.EL3.i386.rpm | head -1
Name : redhat-lsb Relocations: (not relocatable)
# rpm -qpi rsync-2.5.7-5.3E.i386.rpm | head -1
Name : rsync Relocations: /usr
可见redhat-lsb包不能被重定位,但是rsync包可以。这说明你可以安装rsync包到一个不同的目录,比如/opt,使用 rpm选项 --prefix,像这样:
rpm -ivh --prefix=/opt rsync-2.5.7-5.3E.i386.rpm
要验证它是否被真正安装到/opt,使用命令rpm -ql rsync。下面是一个输出示例:
# rpm -ql rsync
/etc/xinetd.d/rsync
/opt/