根据 /bin/chgrp 上的 ldd linux 命令,执行它的唯一必要库是 libc.so。当使用 gdb 调试 chgrp 时,我注意到实际加载了其他库,例如:
/lib/x86_64-linux-gnu/libnss_compat.so.2
/lib/x86_64-linux-gnu/libnsl.so.1
/lib/x86_64-linux-gnu/libnss_nis.so.2
/lib/x86_64-linux-gnu/libnss_files.so.2
为什么这些库不在 ldd 输出中进行比较?
另外:它们没有在 libc.so 的 DYNAMIC 部分进行比较,它们是如何定位和加载的?(我用 readelf 检查了 libc.so 的 DYNAMIC 部分,但这些库不存在)