打包并部署 Linux 二进制文件

打包并部署 Linux 二进制文件

您能列出二进制文件引用的所有 .so 文件吗?

这是将二进制文件及其所需的所有 .so 文件打包并部署到服务器。据我所知,您无法静态链接 .so 文件,但您可能可以制作一个自解压档案。

答案1

这就是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)

所以,是的,你可以,但这并没有像你想象的那么有帮助。

您不应该手动创建自己的档案,而应该使用诸如 rpm 或 deb(具体取决于目标发行版)或较新的 Flatpak(这可能是未来 Linux 发行版中大多数应用程序的分发方式)。

相关内容