Linux:是否有可能知道安装配置和编译了哪些选项?

Linux:是否有可能知道安装配置和编译了哪些选项?

我需要在我们的 Zabbix 系统中实现一些 Web 检查,这需要使用 (curl) 选项编译 Zabbix libcurl,但我不知道如何检查它是否使用此选项编译,是否有任何命令或文​​件可以帮助我找到答案?

答案1

你需要使用ldd(1)打印共享库依赖关系。如果zabbix-agent编译时使用了支持,则在编译时curl会动态链接到库。libcurl

我现在手边没有 zabbix 安装,但是步骤很简单:

# ldd $(which curl)
        linux-vdso.so.1 =>  (0x00007fff4572b000)
        libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f07a4189000)
        libmetalink.so.3 => /lib64/libmetalink.so.3 (0x00007f07a3f7a000)

您应该libcurl在输出中看到。只需将其替换curlzabbix-agent

答案2

我想扩展 dawud 的回答,这个回答是正确的,但有点不完整。

我的环境是 Debian Buster amd64 和 Zabbix 4.4.5 rev b93f5c4fc0

我需要查看zabbix_server从 Zabbix repo 预编译的版本是否已使用 VMware 监控进行编译libxml2libcurl如本文所述https://www.zabbix.com/documentation/current/manual/vm_monitoring

所以我表演了:

# ldd /usr/sbin/zabbix_server | egrep 'libxml2|libcurl'

其结果是:

libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f784dbd1000)
libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f784ce29000)

显然,zabbix_agent 也可以实现同样的效果

相关内容