如何检查哪些二进制文件依赖于 /lib 中的某些文件?

Ted*_*ond 5 libraries binary command

我知道如果我ldd <name>对二进制文件执行命令,/bin或者/sbin我可以看到它使用了哪些库。我如何做相反的事情?即对文件执行命令/lib并查看哪些二进制文件正在使用它?

Ste*_*itt 5

这并不完全是您所要求的,但它允许您找到使用给定库的二进制文件列表。binstats生成有关系统中的二进制文件和库的报告,主要是为了找出哪些二进制文件缺少库,以及哪些库根本不再使用。

在调试模式下,它会留下临时文件,其中之一列出了路径上(或使用该选项指定的文件夹中-b)的所有二进制文件以及它们使用的所有库。获得此文件后,您可以搜索您感兴趣的库以确定它的用途......

所以基本上:

binstats -d
awk '/^\// { binary=$1 }; /libtinfo.so.5/ { print binary }' etempb.00
Run Code Online (Sandbox Code Playgroud)

将列出所有使用libtinfo.so.5. (文件名可能不是etempb.00,但希望您明白......)

这将错过存储在不在路径上的目录中的二进制文件,例如in /usr/libexec,或者 in /sbin/usr/sbin如果您不作为 运行root,但您可以将相关文件夹添加到-b选项中。