libtree可将 ldd命令作为树结构呈现,可选择将可执行文件和依赖项部署到单个目录中。( ldd全称 list-dyamic-depedecies,用于在Liux中打印程序或者库文件所依赖的共享库列表)
安装静态可执行文件
wget-qOlibtreehttps://github.com/haampie/libtree/releases/dowload/v2.0.0/libtree_x86_64chmod+xlibtree./libtree$(whichma)静态可执行文件+可选依赖项wget-qOlibtree.tar.gzhttps://github.com/haampie/libtree/releases/dowload/v2.0.0/libtree_x86_64.tar.gzmkdirlibtreetar-xflibtree.tar.gz-ClibtreeexportPATH="$PWD/libtree:$PATH"libtree$(whichma)将二进制文件+依赖项部署到文件夹中$libtree$(whichma)-dma.budle--chrpath--stripma├──libmadb-2.9.1.so[rupath]│├──libma-2.9.1.so[rupath]││├──libpipelie.so.1[ld.so.cof]││└──libseccomp.so.2[ld.so.cof]│└──libgdbm.so.6[ld.so.cof]├──libma-2.9.1.so(collapsed)[rupath]└──libpipelie.so.1(collapsed)[ld.so.cof]Deployigto"ma.budle/usr""/usr/bi/ma"=>"ma.budle/usr/bi/ma""/usr/lib/ma-db/libmadb-2.9.1.so"=>"ma.budle/usr/lib/libmadb-2.9.1.so""/usr/lib/ma-db/libma-2.9.1.so"=>"ma.budle/usr/lib/libma-2.9.1.so""/usr/lib/x86_64-liux-gu/libpipelie.so.1.5.2"=>"ma.budle/usr/lib/libpipelie.so.1.5.2"creatigsymlik"ma.budle/usr/lib/libpipelie.so.1""/usr/lib/x86_64-liux-gu/libseccomp.so.2.5.1"=>"ma.budle/usr/lib/libseccomp.so.2.5.1"creatigsymlik"ma.budle/usr/lib/libseccomp.so.2""/usr/lib/x86_64-liux-gu/libgdbm.so.6.0.0"=>"ma.budle/usr/lib/libgdbm.so.6.0.0"creatigsymlik"ma.budle/usr/lib/libgdbm.so.6"$treema.budle/ma.budle/└──usr├──bi│└──ma└──lib├──libgdbm.so.6->libgdbm.so.6.0.0├──libgdbm.so.6.0.0├──libma-2.9.1.so├──libmadb-2.9.1.so├──libpipelie.so.1->libpipelie.so.1.5.2├──libpipelie.so.1.5.2├──libseccomp.so.2->libseccomp.so.2.5.1└──libseccomp.so.2.5.13directories,9files详细输出默认情况下,libtree 不显示标准依赖项,对于更详细的输出,可以使用libtree-v$(whichma) 显示跳过的没有子库的图书馆libtree-a$(whichapt-get) 显示库的完整递归列表使用--path或者-p标志来显示路径:libtree-p$(whichtar)更改搜索路径Libtree 遵循ld.so的规则来定位库,但不使用ldcofig的缓存,相反,它在运行时解析/etc/ld.so.cof,可以通过设置——ldcofmylibs.cof来更改搜索路径配置。也可以通过LD_LIBRARY_PATH="path1:path2:$LD_LIBRARY_PATH"libtree....添加搜索路径。










评论