你能列出一个二进制文件引用的所有 .so 文件吗?
这是将二进制文件连同它需要的所有 .so 文件打包并部署到服务器。据我了解,您不能与 .so 文件静态链接,但您可以制作一个自解压存档。
这就是ldd
程序所做的。给定可执行文件的路径并且没有其他选项,它将列出程序需要的共享库,以及系统上这些共享库的当前路径(如果存在)。
例如:
$ ldd /usr/bin/bash
linux-vdso.so.1 (0x00007ffc19b28000)
libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007fb815da1000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb815b9d000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb8157d7000)
/lib64/ld-linux-x86-64.so.2 (0x000056504b842000)
Run Code Online (Sandbox Code Playgroud)
所以,是的,你可以,但这并没有像你想象的那样对你有帮助。
与其手动创建自己的档案,不如使用 rpm 或 deb 之类的打包系统,具体取决于目标发行版,或者更新的 Flatpak(这可能是大多数应用程序在未来 Linux 发行版中的分发方式)。
归档时间: |
|
查看次数: |
221 次 |
最近记录: |