系统相关
首页 > 系统相关> > 为什么NSS模块必须在Linux上以.so.2结尾?

为什么NSS模块必须在Linux上以.so.2结尾?

作者:互联网

我为Red Hat Linux构建了一个名称服务交换模块.

使用strace,我已经确定操作系统在各种目录中查找库,但仅适用于扩展名为.so.2的文件(例如libnss_xxx.so.2,其中xxx是服务名称)

为什么不寻找.so或.so.1库?有没有保证它不会停止寻找.so.2库并在将来开始寻找.so.3库?

编辑:http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html,说2是’一个版本号,每当界面改变时递增’.
所以我想:

> NSS的版本需要版本2的库.
>具有更新的NSS的OS更新可能需要不同的版本号.

有人可以确认这是否属实?

解决方法:

对于小编辑,您通常会假设:

> NSS的版本需要具有接口版本2的库的版本.
>具有更新的NSS的OS更新可能需要不同的版本号.

接口的版本不一定需要随库的版本而改变,即较新版本的库可能仍然提供相同的接口.

标签:linux,strace,nss
来源: https://codeday.me/bug/20190901/1783966.html