无法安装 ubuntu 16.04 的 net-snmp:收到错误

无法安装 ubuntu 16.04 的 net-snmp:收到错误

我尝试了几次,但无法在 Ubuntu 16.04 上安装 net-snmp,我完全不明白问题是什么。欢迎任何帮助:

net-snmp 目录名称:

net-snmp-5.7.3+dfsg

output of ./configure

---------------------------------------------------------
            Net-SNMP configuration summary:
---------------------------------------------------------

  SNMP Versions Supported:    1 2c 3
  Building for:               linux
  Net-SNMP Version:           5.7.3
  Network transport support:  Callback Unix Alias TCP UDP IPv4Base SocketBase TCPBase UDPIPv4Base UDPBase
  SNMPv3 Security Modules:     usm
  Agent MIB code:            default_modules =>  snmpv3mibs mibII ucd_snmp notification notification-log-mib target agent_mibs agentx disman/event disman/schedule utilities host
  MYSQL Trap Logging:         unavailable
  Embedded Perl support:      disabled
  SNMP Perl modules:          building -- not embeddable
  SNMP Python modules:        disabled
  Crypto support from:        crypto
  Authentication support:     MD5 SHA1
  Encryption support:         DES AES
  Local DNSSEC validation:    disabled


Error Received :
/usr/bin/ld: cannot find -lperl
collect2: error: ld returned 1 exit status
Makefile:976: recipe for target 'libnetsnmpagent.la' failed
make[1]: *** [libnetsnmpagent.la] Error 1
make[1]: Leaving directory '/home/siaetest/net-snmp-5.7.3+dfsg/agent'
Makefile:852: recipe for target 'installsubdirlibs' failed
make: *** [installsubdirlibs] Error 1


sudo apt-cache search net-snmp
libnet-snmp-perl - Script SNMP connections
libsnmp-base - SNMP configuration script, MIBs and documentation
libsnmp-dev - SNMP (Simple Network Management Protocol) development files
libsnmp30 - SNMP (Simple Network Management Protocol) library
libsnmp30-dbg - SNMP (Simple Network Management Protocol) library debug
snmp - SNMP (Simple Network Management Protocol) applications
snmpd - SNMP (Simple Network Management Protocol) agents
libsnmp-extension-passpersist-perl - Generic pass/pass_persist extension framework for Net-SNMP
libsnmp-perl - SNMP (Simple Network Management Protocol) Perl5 support
python-netsnmp - SNMP (Simple Network Management Protocol) Python support
ruby-snmp - simple network management protocol bindings for ruby
snmptrapd - Net-SNMP notification receiver
snmptt - SNMP trap handler for use with snmptrapd
tkmib - SNMP (Simple Network Management Protocol) MIB browser

答案1

我已经通过正常方式解决了这个问题:

./configure

make

sudo make install 

然后我输入 snmpget --version

我收到回复“NET-SNMP 版本:5.7.3”

主要通过使用 ln -s /usr/lib/libperl.so.5.22 /usr/lib/libperl.so 手动创建符号链接解决了该问题并且它链接正确。

请阅读以下有用的链接:

https://stackoverflow.com/questions/17576911/cannot-find-lperl-doing-a-makefile-on-c

感谢大家的努力

答案2

/usr/bin/ld:找不到 -lperl

这是链接器,抱怨它找不到 perl 库。

要安装 perl 库,请运行sudo apt install libperl-devel

但由于您没有互联网连接,这可能是不可能的。您可以从下载软件包这里,但它必须与其他已安装的 perl 包匹配 - 这在离线系统中需要进行一些追踪。

您写道,您的机器位于 DMZ 中。您应该配置某种方式让机器访问互联网、获取更新和安装软件。这可以通过apt 代理,其行为将类似于本地镜像,但无需镜像所有您不需要的软件包。

运行无法获取更新的机器被视为存在安全风险 - 而且正如您所发现的,这会使安装软件变得更加困难。

相关内容