Я веб-разработчик, которому нужно отслеживать огромное количество серверов с помощью nagios, и мне нужно написать для него несколько сценариев Perl.
Заглянув в него, я обнаружил пакет Nagios :: Plugin из CPAN, но на серверах его нет, и мне не разрешено устанавливать CPAN (даже не уверен, что он у всех есть), не говоря уже о том, чтобы сделать make, make install .
Я предполагаю, что, вероятно, есть способ просто загрузить tarball, распаковать его и включить / потребовать его в свой сценарий perl, не знаю, возможно, указав абсолютный путь и т.
Спасибо!
Я нашел этот скрипт для поиска пакетов Nagios :: Plugin, но безрезультатно
#!/usr/bin/perl
use strict;
use warnings;
eval { require Nagios::Plugin && Nagios::Plugin->import };
if ($@) {
# assume a relatively recent Perl where FindBin is in core
no warnings;
require FindBin;
unshift @INC, map "$FindBin::Bin/$_",
qw(perl lib perl/lib ../perl ../lib ../perl/lib);
local $" = "\n\t";
eval {
require Nagios::Plugin && Nagios::Plugin->import
}
or die "Couldn't locate Nagios::Plugin in \n\t@INC\n";
}
Этот конкретный пакет находится в репозитории EPEL для систем на базе Red Hat, поэтому, если вы управляете ими, вы можете просто установить perl-Nagios-Plugin
Об / мин.
Похоже, это модуль на чистом Perl, так что да, теоретически вы можете распаковать его и загрузить без запуска make. Обратите внимание, что у вас уже должны быть все необходимые модули, перечисленные в Makefile.PL, иначе модуль не будет работать.
Если вы распаковываете его в ~ / Nagios-Plugin-0.36 /, а ваш скрипт находится в ~ / script, вы можете сделать:
mkdir ~ / скрипт / библиотека
cp -R ~ / Nagios-Plugin-0.36 / lib / ~ / script / lib /
И тогда фрагмент скрипта, который вы разместили выше, должен иметь возможность загрузить модуль.
Удачи!