2016-04-18 12 views
1

Я пытаюсь установить munin-mysql plugin, но у меня возникла странная ошибка. Munin жалуется, что не может найти DBI.pm в @INC:Не удается найти 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-узла (часто «никто») или любого пользователя, специально настроенного для запуска данного плагина.

Проверьте с munin-run --debug, что пользователь он работает, как и проверить, что пользователь может читать /usr/local/lib64/perl5/DBI.pm.