本文首发于烂泥行天下

    最近一直在学习nagios监控的知识,因为使用SNMP方式进行监测。而nagios的SNMP监测文件是pl结尾的perl脚本,所以需要安装CPAN。

    下面就安装CPAN的安装记录步骤如下:

    首先安装perl,可以通过yum方式进行安装。这样减少了套件的依赖性。

[root@localhost ~]# yum -y install perl

烂泥:perl中CPAN的安装_安装

烂泥:perl中CPAN的安装_CPAN_02

    Perl安装完毕后,接下来要安装CPAN。也是通过yum方式进行安装,如下图:

[root@localhost ~]# yum -y install perl-CPAN

烂泥:perl中CPAN的安装_烂泥_03

烂泥:perl中CPAN的安装_烂泥_04

    CPAN安装完毕后,我们现在登陆进去。使用:perl -MCPAN -e shell,注意该命令中的 -MCAPN是在一起的没有分开。

烂泥:perl中CPAN的安装_CPAN_05

第一次进入是需要进行配置的,按照提示操作即可。

烂泥:perl中CPAN的安装_CPAN_06

    登录进去后正常的操作界面,如上图示。

    接下来我们就可以正常安装相关的模块。因为我测试的是nagios的SNMP监控插件,所以需要安装Net::SNMP(注意该模块名称的大小写)模块。如下图:

cpan[1]> install Net::SNMP

烂泥:perl中CPAN的安装_perl_07

    如果安装过程中好半天,没有反应的话。我们是可以通过修改Urllist进行。

找到CPAN的Config.pm文件,如下图:

烂泥:perl中CPAN的安装_烂泥_08

    可以看到CPAN的Config.pm文件,进行编辑,如下图:

烂泥:perl中CPAN的安装_perl_09

烂泥:perl中CPAN的安装_perl_10

    找到urllist选项,如上图。然后填入国内的CPAN镜像站点即可,因为默认是使用国外的CPAN镜像站点,所以会很慢。

    查找国内的CPAN镜像站点,可以到http://www.cpan.org/SITES.html,这个站点进行查询。

烂泥:perl中CPAN的安装_perl_11

    Urllist的格式如下:

'urllist' =< [q[http://mirrors.163.com/cpan/]],

    我现在把国内的已知的CPAN镜像站点全部加入进去,如下:

'urllist' => [q[http://mirrors.163.com/cpan/],q[http://mirrors.sohu.com/CPAN/],q[ftp://mirrors.ustc.edu.cn/CPAN/],q[http://mirrors.ustc.edu.cn/CPAN/],q[rsync://mirrors.ustc.edu.cn/CPAN/],q[ftp://mirrors.xmu.edu.cn/CPAN/],q[http://mirrors.xmu.edu.cn/CPAN/],q[rsync://mirrors.xmu.edu.cn/CPAN/],q[ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/],q[http://cpan.communilink.net/],q[http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/],q[http://mirrors.devlib.org/cpan/],q[http://mirrors.hust.edu.cn/CPAN/],q[ftp://mirrors.neusoft.edu.cn/mirror/cpan/],q[http://mirrors.neusoft.edu.cn/cpan/]],

    退出编辑并保存Config.pm文件。

烂泥:perl中CPAN的安装_安装_12

    然后输入perl -MCAPN -e shell,再次进入CPAN界面,如下图:

烂泥:perl中CPAN的安装_perl_13

    因为刚刚我们修改Config.pm的urllist,所以我们现在需要重新加载urllist,输入reload index及reload cpan命令,如下图:

烂泥:perl中CPAN的安装_perl_14

烂泥:perl中CPAN的安装_安装_15

    然后再进行Net::SNMP模块的安装,如下图:

烂泥:perl中CPAN的安装_烂泥_16

烂泥:perl中CPAN的安装_烂泥_17

至此Net::SNMP模块安装结束。