我需要将供应商软件包安装到非默认目录(例如/ opt)。默认情况下,软件包安装在/ usr / local / bin目录中。
如果我使用命令rpm -ivh package.x86_64.rpm --root /opt
,我会收到错误消息/bin/sh is needed by package.x86_64
。在做了Google之后,我的理解是因为rpm正在/ opt目录中寻找依赖项。真的吗?
鉴于我没有供应商SPEC文件,是否有可能以某种方式修复此问题?
答案 0 :(得分:3)
我认为你想要rpm选项--prefix,而不是--root。 --prefix将安装到不同的根目录中,用于可重定位的rpms,而--root使用--root的路径“用于所有操作”(来自手册页)甚至依赖性检查。