Perl
是否可以直接包含/使用 perl 的 Nagios::Plugin 而無需安裝它?
我是一名 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-Plugin
RPM。