Unix 如何检查共享对象的内部属性?
使用HP-UX时,我可以使用chatr实用程序报告共享库的各种内部属性。它还允许我修改已构建的共享库的内部属性 chatr实用程序可以报告并在某些情况下修改以下内容:Unix 如何检查共享对象的内部属性?,unix,solaris,hp-ux,Unix,Solaris,Hp Ux,使用HP-UX时,我可以使用chatr实用程序报告共享库的各种内部属性。它还允许我修改已构建的共享库的内部属性 chatr实用程序可以报告并在某些情况下修改以下内容: 运行时绑定行为 生成时创建的嵌入式库路径列表 库是否要进行运行时路径查找 内部名称 等等等等 这样的实用程序可用于Solaris吗 编辑:怪胎!感谢mark4o下面的回答,我重新访问了典型system.so(Sol 10上的libm.so.2)的elfdump输出。然而,奇怪的是,我输入了错误的输入命令: elfdump libm
elfdump libm.so.2 | moe
这给了我一个惊人的意外惊喜,它还给了我一个名为moe的实用程序的使用信息,该实用程序的手册页描述部分说:
moe实用程序显示包含保留运行时链接器令牌的路径名的最佳扩展。这些标记可用于定义动态对象中的依赖项、筛选器和运行路径。这些令牌在运行时的扩展提供了一种灵活的机制,用于选择在此计算机上性能最佳的对象和搜索路径
这将帮助我解决为什么libm.so.2 shlib在两台不同的机器上都不兼容,导致我的不完整可执行文件无法在一台服务器上启动。有关显示信息的信息,请参阅Solaris和实用程序。对于调试绑定问题,也可能有帮助。但是,这些实用程序没有修改库的能力。从Solaris 11(以及它之前的一些OpenSolaris和Solaris Express发行版,但不是Solaris 10或更早版本)开始,现在有一个用于修改运行时路径和类似属性的工具。mark4o,干杯,但elfdump并没有给出我想要的确切信息。但是,重新访问给定系统的elfdump输出。因此给了我一个看起来非常有用的实用工具。我将编辑我的原始问题。当然,
lari
和moe
的兄弟是处理系统默认运行路径的实用程序。现在,如果你能在Oracle自己的站点(例如你链接到的帖子)上修复Oracle断开的链接就好了。。。(谢谢你把它们固定在如此顺便说一句)是的,到处的链接断开是令人讨厌的。对于这篇文章,您可以在Solaris 11手册页中看到发布后的版本,并在其他链接中用blogs.oracle.com替换blogs.sun.com。