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をインストールしてカスタムツリーで実行する必要があります。Perl::ビルド、または特別ローカル::libアプリケーションまたはサービスのモジュールディレクトリです。

おすすめ記事