识别可重定位包

并非所有 RPM 包都可以安装到另一个目录中。
可以安装到不同目录的 RPM 包被称为可重定位。
要检查特定包是否可重定位,请使用以下命令:

# rpm -qpi [rpm package] | head -1

例如,软件包:redhat-lsb-1.3-3.1.EL3.i386.rpm 和 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 是。

更多: zhilu jiaocheng

重定位 RPM 包

  1. 重新定位 rpm 包允许用户将 rpm 包安装到与默认目录不同的目录。
    这意味着我们可以将 rsync 包安装到不同的目录中,比如 /opt 使用 rpm 选项 -prefix 像这样:
rpm -ivh --prefix=/opt rsync-2.5.7-5.3E.i386.rpm
  1. 要验证它是否确实安装在 /opt 中,请使用命令 rpm -ql rsync。
    下面是一个示例输出:
# rpm -ql rsync
/etc/xinetd.d/rsync
/opt/bin/rsync
/opt/share/doc/rsync-2.5.7
/opt/share/doc/rsync-2.5.7/COPYING
/opt/share/doc/rsync-2.5.7/README
/opt/share/doc/rsync-2.5.7/tech_report.tex
/opt/share/man/man1/rsync.1.gz
/opt/share/man/man5/rsyncd.conf.5.gz
  1. 现在,如果对 redhat-lsb 包应用类似的过程,则会出现此错误消息:
# rpm -ivh --prefix=/opt redhat-lsb-1.3-3.1.EL3.i386.rpm
error: package redhat-lsb is not relocatable
在CentOS/RHEL/Fedora中,如何将 RPM 包安装到不同目录中
日期:2020-09-17 00:12:55 来源:oir作者:oir