病症:
在将补丁9535311(TXK AUTOCONFIG AND TEMPLATES ROLLUP PATCH U) 应用到SPARC 上的 Solaris 10 10/09 u8 之后,
作为 apps 用户进入到oracle 的服务器上,然后设置根 (通过su 命令)
错误:
ld.so.1: su:,警告:/usr/lib/extendedFILE.so.1,文件打不开,非法的,错误的路径名称
起因
LD_PRELOAD_32 被设置为/usr/lib/extendedFILE.so.1
扩展文件 so.1 不是库文件,而是扩展文件设施的使能者。扩张文件设施允许32位的进程应用任何带有标准 I/0的C 库函数的有效文件的描述符号。历史上地,32位的应用被限制在第一个使用标准I/O流的256个数值文件描述符。由于使用扩展的文件设施,这个限制被提升了。
也有涉及到使用LD_PRELOAD_32 的SPARC, 它进一步阐明了上面的几页。
注释: 741279.1错误: 打开太多文件:文件许可拒绝服务 在error_log 中。
讨论了使用LD_PRELOAD_32 参数增加打开文件描述符个数的能力。
尽管这样允许在系统上打开更多的文件,在Solaris上仍然有限制,设置用户标示符的二进制可执行文件,将不能从不安全的目录下载入共享的目标文件。由于系统限制,”usr/lib”不是一个安全的目录,不能运行带有with LD_PRELOAD_32 到/usr/lib/extendedFILE.so.1 的 “su”.
Solaris 操作系统对32对标准输入输出文件描述符限制的解决方法
突破stdio(3c)中的256个文件描述符在Solaris的stdio中的屏障。
解决方法:
信息 ld.so.1: su: 警告:/usr/lib/extendedFILE.so.1: 打不开: 非法不安全的路径名称
它是一个警告,不是一个错误。因此你可以安全的忽略它,并继续。