如果您需要知道二进制文件使用哪些库以便以后以某种方式使用它们,我们知道该ldd命令是最常用的替代方法之一,但是它有一些限制,即有些库是找不到的,但它也不提供信息。

为此,你可以将其替换为 libtree

libtree能做什么?

  • deciduous_tree把 ldd 变成 tree
  • point_up解释为什么找到共享库以及为什么不找到
  • 在单个目录中部署可执行文件和依赖项

安装

很简单,只要下载二进制文件,给它执行权限并使用它,像这样:

linuxmi@linuxmi:~/www.linuxmi.com$ wget -qO libtree https://github.com/haampie/libtree/releases/download/v2.0.0/libtree_x86_64
linuxmi@linuxmi:~/www.linuxmi.com$ chmod +x libtree
linuxmi@linuxmi:~/www.linuxmi.com$ ./libtree $(which man)
man
├── libmandb-2.10.2.so [runpath]
│   ├── libman-2.10.2.so [runpath]
│   │   └── libseccomp.so.2 [ld.so.conf]
│   └── libgdbm.so.6 [ld.so.conf]
├── libman-2.10.2.so (collapsed) [runpath]
└── libpipeline.so.1 [ld.so.conf]

 如果需要,请在您的系统上安装:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo install -v libtree /usr/local/bin/
[sudo] linuxmi 的密码: 
'libtree' -> '/usr/local/bin/libtree'

Ubuntu 22.04 可以使用如下命令安装:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install libtree

有关更多信息,请访问存储库

发表评论