我正在尝试在 RHEL4 盒子上安装一个包,该包是不可重定位的。
我需要将它放在自定义位置,因为有一些其他应用程序需要链接到它。
所以我想知道是否可以将包安装到默认位置,然后使用 -e -repackage 选项将其删除,并在此步骤中使其可重定位。
如果可以做到这一点,您能否指定我应该使用哪些选项?
如果这不可能的话,您能否指定其他方法?
答案1
可重定位的软件包已被弃用,因为它们的实用性有限(并且很难创建,除非代码本身确实与文件系统位置无关)。仅仅安装、移动东西并从那里打包不太可能奏效(配置文件路径被硬连线到可执行文件中,数据文件的位置是固定的;并且很多必须更改其他内容)。如果源使用标准./configure; make; make install
舞蹈,最好的办法是获取源 RPM,安装该 RPM,破解 SPEC 文件以配置备用位置,然后重建。只需确保检查包的依赖关系,并为其指定一个不同的名称(例如package-localized
),以免与官方名称冲突。保留 SPEC 文件,这样每当上游更新包时,您都可以重新创建它。