snmptt가 PERL 모듈을 로드할 수 없습니다.

snmptt가 PERL 모듈을 로드할 수 없습니다.

CentOS 7 snmptt를 계속 시작할 수 없습니다. 나는 그것을 nagios로 트랩을 번역하는 데 사용합니다. 내 시스템에서 작업 중인데 tarball에서 추가 net-snmp 설치를 제거한 후 이 문제가 발생했습니다. 냠을 설치했어요.

snmptt 상태 출력:

Compilation failed in require at (eval 12) line 1.
died at /usr/sbin/snmptt line 426
Could not load the Perl module SNMP!

yum Perl 패키지가 설치되었습니다

[root@sup-han-vrt perl5]# yum list installed | grep net-snmp-perl
net-snmp-perl.x86_64                  1:5.7.2-24.el7_2.1       @base
[root@sup-han-vrt perl5]# yum list installed | grep perl-Net-SNMP
perl-Net-SNMP.noarch                  6.0.1-7.el7              @epel

펄@INC

env -i perl -V
  @INC:
/usr/local/lib64/perl5
/usr/local/share/perl5
/usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib64/perl5
/usr/share/perl5

SNMP.pm은 두 lib64 디렉터리 모두에 있으므로 문제가 무엇인지 잘 모르겠습니다. 도와주세요.

답변1

"로드할 수 없습니다 lib.../perl5/.../*.so"는 XS 모듈(즉, 순수 Perl 모듈이 아니라 C를 포함하는 모듈)이 올바르게 설치되지 않았음을 의미합니다. 이 경우 RedHat에서 /usr/local트리는 공급업체의 관리 공간 외부에 있는 항목을 나타내므로 일종의 사용자 정의 설치입니다. 솔루션에는 다음이 포함됩니다.

  • 사용자 정의 설치를 취소하고 공급업체 패키지를 사용하십시오. 필요한 RPM을 KickStart 파일이나 다른 패키지 매니페스트에서 지정할 수 있으므로 아마도 가장 좋은 옵션일 것입니다.
  • 사용자 정의 모듈을 다시 설치하십시오. 일반적으로 이 작업에는 더 많은 작업이 필요하지만 공급업체 패키지가 절망적으로 오래되었거나 버그가 있는 경우 필요할 수 있습니다. 이상적으로는 공개 디렉토리(예:)가 아닌 /usr/local최신 Perl을 설치하여 사용자 정의 트리에서 수행해야 합니다.펄::빌드, 또는 특별로컬::lib애플리케이션 또는 서비스의 모듈 디렉터리입니다.

관련 정보