我们可以在重新打包期间使不可重新定位的 RPM 包变得可重新定位吗?

我们可以在重新打包期间使不可重新定位的 RPM 包变得可重新定位吗?

我正在尝试在 RHEL4 盒子上安装一个包,该包是不可重定位的。

我需要将它放在自定义位置,因为有一些其他应用程序需要链接到它。

所以我想知道是否可以将包安装到默认位置,然后使用 -e -repackage 选项将其删除,并在此步骤中使其可重定位。

如果可以做到这一点,您能否指定我应该使用哪些选项?

如果这不可能的话,您能否指定其他方法?

答案1

可重定位的软件包已被弃用,因为它们的实用性有限(并且很难创建,除非代码本身确实与文件系统位置无关)。仅仅安装、移动东西并从那里打包不太可能奏效(配置文件路径被硬连线到可执行文件中,数据文件的位置是固定的;并且很多必须更改其他内容)。如果源使用标准./configure; make; make install舞蹈,最好的办法是获取源 RPM,安装该 RPM,破解 SPEC 文件以配置备用位置,然后重建。只需确保检查包的依赖关系,并为其指定一个不同的名称(例如package-localized),以免与官方名称冲突。保留 SPEC 文件,这样每当上游更新包时,您都可以重新创建它。

相关内容