2

コマンドラインからsnmpget/snmpwalkを実行できます。check_snmpしかし、Nagios (構成ファイルにホストとサービスのエントリを作成) を介して実行すると、特定のホストの下のサービスの「ステータス情報」に次のエラーが表示されます。

外部コマンド エラー: /usr/local/bin/snmpget: 共有ライブラリのロード中にエラーが発生しました: libnetsnmp.so.20: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

OS: SLES11

4

3 に答える 3

7

以下の手順はlibnetsnmp.so.XX 、システムにある場合に役立ちます。

ライブラリ libnetsnmp.so.XX の最初の検索

sudo find / -name libnetsnmp.so*

したがって、以下のような出力が得られます

/usr/lib/libnetsnmp.so.30
/usr/lib/libnetsnmp.so.15
/usr/lib/libnetsnmp.so.15.1.2
/usr/local/lib/libnetsnmp.so.30
/usr/local/lib/libnetsnmp.so
/usr/local/lib/libnetsnmp.so.30.0.2
/usr/local/lib/libnetsnmp.so.20
...

今それをリンクしlibnetsnmp.so.XXます/usr/lib/

sudo ln -s /usr/local/lib/libnetsnmp.so.XX /usr/lib/libnetsnmp.so.XX
于 2014-03-31T04:00:37.113 に答える
0

プログラムにライブラリがありません。プログラムが必要とするライブラリのリストは、以下を使用して見つけることができますldd

$ ldd /usr/local/bin/snmpget

not found不足しているライブラリの近くに表示されます。

必要なライブラリがsnmgetあり、それが特別な場所である場合 (そう/usr/libでない場合など)、次の場所に追加できますLD_LIBRARY_PATH

 $ LD_LIBRARY_PATH=/usr/local/path-to/lib ldd /usr/local/bin/snmpget
于 2012-07-10T09:27:05.110 に答える
0

ライブラリ パスを環境変数 LD_LIBRARY_PATH に追加しても、目的のライブラリがまだエクスポートされていないため、プログラムは目的のライブラリの場所を特定できません。何かをなぞるために地図を描いて、その地図をカバンに入れるのを忘れて、探し始めたときにどこにあるのか分からないようなものだと考えることができます。手がかりは、それら(場所)をエクスポートすることです。どのように ?簡単に言えば、次のように、環境変数を変更する前に export キーワードを使用します。

以上です ;-)

乾杯

于 2015-09-15T13:04:23.027 に答える