我正在尝试在RHEL4盒子上安装包,该包是不可重定位的。
我需要在自定义位置,因为还有一些其他应用程序需要链接到它。
所以我想知道是否可以将软件包安装到默认位置,然后使用-e -repackage选项将其删除,并在此步骤中使其可重定位。
如果可以这样做,请指定我应该使用哪些选项?
如果这不可能,请您指定其他方式吗?
我正在尝试在RHEL4盒子上安装包,该包是不可重定位的。
我需要在自定义位置,因为还有一些其他应用程序需要链接到它。
所以我想知道是否可以将软件包安装到默认位置,然后使用-e -repackage选项将其删除,并在此步骤中使其可重定位。
如果可以这样做,请指定我应该使用哪些选项?
如果这不可能,请您指定其他方式吗?
Answers:
不推荐使用可重定位的包,因为它们的实用性有限(除非代码本身与文件系统位置无关),否则很难创建。只是安装,移动东西和从那里打包不太可能工作(配置文件路径硬连线到可执行文件中,数据文件的位置是固定的;还有很多其他的东西必须改变)。如果源使用标准./configure; make; make install
舞,那么最好的办法是获取源RPM,安装源RPM,破解SPEC文件以配置替代位置,然后重建。只需确保检查包的依赖关系,并给它一个不同的名称(例如package-localized
),这样它就不会与官方名称发生冲突。保留SPEC文件,这样您就可以在上游更新包时重新创建它。