ldd 查询动态库依赖

我们有时需要知道一个可执行文件依赖哪些动态库,例如配置chroot环境的时候,我们要拷贝一些我们需要的动态库到虚拟环境,这时ldd命令就派上用场了。

使用ldd命令

ldd <可执行文件>

如图,我们这里切换到了/usr/bin目录,并使用ldd命令查看了ls依赖的动态库。

ldd是如何工作的

我们有必要了解一下ldd是如何工作的。实际上,显示依赖这个工作是ELF动态加载器完成的,ldd只是一个shell脚本,我们可以在/bin/ldd找到它。它设置了一些环境变量,指示动态加载器不实际运行程序,而是输出这个程序的所有动态库依赖。当然我们可以手动设置这些环境变量但是这就比较麻烦了,因为我们得在当前shell中切换多次环境变量,因此ldd命令帮我们做了这些工作。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap