Perl

是否可以直接包含/使用 perl 的 Nagios::Plugin 而無需安裝它?

  • February 6, 2013

我是一名 Web 開發人員,需要使用 nagios 監控大量伺服器,並且必須為其編寫一些 perl 腳本。

調查它,我發現了來自 CPAN 的 Nagios::Plugin 包,但伺服器沒有它,我不允許進行 CPAN 安裝(甚至不確定他們都擁有它)更不用說製作,製作安裝.

我想可能有一種方法可以下載 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";
}

它似乎是一個純 perl 模組,所以是的,理論上你可以在不執行 make 的情況下解壓並載入它。請注意,您需要已經擁有 Makefile.PL 中列出的所有必需模組,否則該模組將無法工作。

如果你將它解壓到 ~/Nagios-Plugin-0.36/,並且你的腳本在 ~/script 中,那麼你可以這樣做:

mkdir ~/script/lib

cp -R ~/Nagios-Plugin-0.36/lib/ ~/script/lib/

然後您在上面發布的腳本片段應該能夠載入模組。

祝你好運!

這個特定的軟體包位於基於 Red Hat 的系統的 EPEL 儲存庫中,因此如果您要管理這些軟體包,您可以簡單地安裝perl-Nagios-PluginRPM。

引用自:https://serverfault.com/questions/476110