说明:
在配置一些服务时,需要安装perl模块。安装perl模块有两种方法:手动安装,自动安装。
而通过perl –MCPAN –e ‘install xxx’自动安装perl模块,模块一直下不下来,很有可能是perl源没设置好,这时就需要更新perl源。
实现:
一.perl模块安装
1.perl模块手动安装
上CPAN,如search.cpan.org去搜索下想要装的模块:
下载tar -zxvf XXX解压缩
先看README啊,养成好习惯,perl有很多关联模块,也许要让你先装这个那个那个这个的,不要最后才发现咋没装?2了吧…
看完没问题了就:perl makefile.pl
继续没问题:make
没问题:make install
托运安装比较麻烦。要到相关的网站搜索需要的模块,然后下载源码包来安装(安装过程:perl Makefile.PL;make;make install).不过这种方法比较繁琐,每一个模块都要搜索、下载、解压、编译、安装。通过# perl -MCPAN -e “install xxx::xxx”自动安装比较快。
2.perl模块自动安装
# perl -MCPAN -e shell //进入cpan界面 cpan> install xxx //xxx为要安装的perl模块,当然也可以直接# perl –MCPAN –e 'install xxx'
之后会对CPAN进行一堆设置,如果perl源不行的话,会出现在下载慢或者根本无法下载。这时可以修改perl源。
二.更新perl源,perl源修改有3种方法:
1.直接删除cpan的配置文件及相关软件
# cd /etc/perl/CPAN # rm Config.pm # cd /root/.cpan //这个目录是在一开始以ROOT的账号初始化cpan时创建的) # rm -rf * # perl -MCPAN -e shell //然后重新配置cpan,此时相当于第一次使用cpan自动安装的功能
2.重新配置,如要重新配置CPAN,可先进入CPAN
# perl -MCPAN -e shell CPAN> o conf init //在CPAN命令行输入,然后在下面的各个询问中修改各选项 CPAN> reload index //修改完后通过reload index, reload cpan来更新 CPAN> reload cpan
3.改Config.pm,反正设置的也在这里面,懒人就改这个就OK了
# find / -name Comfig.pm //或者whereis Comfig.pm,注意大小写 # vi /usr/lib/perl5/5.8.8/CPAN/Config.pm //贴下配置,按照经验这样配置是米有问题的(有问题也是RP问题了) # This is CPAN.pm's systemwide configuration file. This file provides # defaults for users, and the values can be changed in a per-user # configuration file. The user-config file is being looked for as # ~/.cpan/CPAN/MyConfig.pm. $CPAN::Config = { 'build_cache' => q[10], 'build_dir' => q[/home/chenbiyan/.cpan/build], 'cache_metadata' => q[1], 'cpan_home' => q[/home/chenbiyan/.cpan], 'dontload_hash' => { }, 'ftp' => q[/usr/kerberos/bin/ftp], 'ftp_proxy' => q[], #有用代理的记得设置下 'getcwd' => q[cwd], 'gpg' => q[/usr/bin/gpg], 'gzip' => q[/bin/gzip], 'histfile' => q[/home/chenbiyan/.cpan/histfile], 'histsize' => q[100], 'http_proxy' => q[], 'inactivity_timeout' => q[0], 'index_expire' => q[1], 'inhibit_startup_message' => q[0], 'keep_source_where' => q[/home/chenbiyan/.cpan/sources], 'links' => q[/usr/bin/links], 'make' => q[/usr/bin/make], 'make_arg' => q[], 'make_install_arg' => q[], 'makepl_arg' => q[], 'ncftp' => q[], 'ncftpget' => q[], 'no_proxy' => q[], 'pager' => q[/usr/bin/less], 'prerequisites_policy' => q[ask], 'scan_cache' => q[atstart], 'shell' => q[/bin/bash], 'tar' => q[/bin/tar], 'term_is_latin' => q[1], 'unzip' => q[/usr/bin/unzip], 'urllist' => [q[ftp://mirrors.ustc.edu.cn/CPAN/]], #这块是重点,下不下来通常都是urlist没选好 'wget' => q[/usr/bin/wget], }; 1; __END__
附录:
附录1.常见错误,这个还没试,先放着!!!
make: *** No rule to make target `yes’. Stop.
/usr/bin/make yes — NOT OK
Running make test
Can’t test without successful make
Running make install
make had returned bad status, install seems impossible
还有个就是报urlist没有选好,让retry retry,这时你就需要先把关联的模块安装好,再来安装它,否则你retry无数次都安装不了。