如何在没有管理员权限的情况下找到GNU linker搜索到的目录?
我可以通过以下方式获取列表:
$ sudo ldconfig -v 2>/dev/null | grep -v ^$'\t'
/lib/i386-linux-gnu:
/usr/lib/i386-linux-gnu:
/usr/local/lib:
/lib/x86_64-linux-gnu:
/usr/lib/x86_64-linux-gnu:
/usr/lib/fglrx:
/usr/lib32/fglrx:
/lib32:
/usr/lib32:
/lib:
/usr/lib:
/usr/lib/i386-linux-gnu/sse2: (hwcap: 0x0000000004000000)
此解决方案来自:How to print the ld(linker) search path
但是,在我没有管理员权限的计算机上,这将无效。我认为那是因为ldconfig位于/ sbin /中。我下载glibc并在本地安装它以创建另一个版本的ldconfig。我想这很愚蠢,因为本地版本给了我:
/usr/local/lib:
/usr/local/lib64:
是否仍然可以将所有目录作为非管理员? 似乎没有任何有用的ld标志或环境变量来完成这项工作。
答案 0 :(得分:4)
仅仅因为ldconfig
位于sbin
并不意味着它不能作为普通用户运行。只需使用该命令并指定ldconfig
的完整路径:
/sbin/ldconfig -v 2>/dev/null | grep -v ^$'\t'