2016-04-18 16 views
1

munin-mysql pluginをインストールしようとしていますが、奇妙なエラーに直面しています。 Muninのは、それが@INCにDBI.pmを見つけることができないことに文句を言う:DBI.pmがパスに入っていても見つからない

[[email protected] perl5]# munin-run mysql 
Can't locate DBI.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /etc/munin/plugins/mysql line 127. 
BEGIN failed--compilation aborted at /etc/munin/plugins/mysql line 127. 

しかし、それはパスで、かつ正確/usr/local/lib64/perl5で実際にです。それはコマンドcpanm DBIによってインストールされました。 実際には、いくつかのファイルがあります(DBI.pm)。どちらを使用するのかはどのようにわかりますか?

[[email protected] perl5]# find/-name DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/blib/lib/Bundle/DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/blib/lib/DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/lib/Bundle/DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/blib/lib/Bundle/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/blib/lib/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/lib/Bundle/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/DBI.pm 
/root/munin-mysql-master/t/mock/DBI.pm 
/usr/local/lib64/perl5/Bundle/DBI.pm 
/usr/local/lib64/perl5/DBI.pm 

関連質問:

+3

DBI.pmファイルのアクセス許可を確認してください。 – AbhiNickz

+0

すでに完了していると、ファイルと親ディレクトリのパーミッションは755です。 – dr01

+1

'perl -MDBI -e1'コマンドの結果はどうなりますか? – Borodin

答えて

3

munin-run switches users。デフォルトユーザーはnobodyです。そのユーザーにはおそらくファイルを読み取る権限がありません。それはのmuninノードのデフォルトのユーザー(多くの場合、「誰も」)、または特別指定したプラグインを実行するように構成された任意のユーザーのいずれかにスイッチとして

スクリプトは、通常はrootとして、十分な権限で実行する必要があります。

munin-run --debugと実行しているユーザーを確認し、そのユーザーが/usr/local/lib64/perl5/DBI.pmを読むことができることを確認します。

関連する問題