今天在虚拟机测试shell脚本的时候,有些命令使用不了。
比如说 mysqlhotcopy ,它提示Perl的版本太低。
我用的 RedHat9 的Perl才5.8.0版本。。。(2002年以前的)
严重过时。所以重新安装了新版本的 Perl,过程记录如下:
1、在官方网站下载新版本的源码包:
http://www.perl.org/get.html,版本自己选择,我下载的是perl-5.18.2.tar.gz
2、解压/usr/local/src下的perl-5.18.2.tar.gz
# tar zxvf perl-5.18.2.tar.gz
3、建立文件目录,以供安装时使用
# mkdir /usr/local/perl
4、设置源码
进入perl-5.18.2.tar.gz的解压目录,执行:
# ./Configure --help的提示如下
查看过后,使用这个指令来设置源码:
# ./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
5、编译
# make //这个过程会比较久,因为源码文件有那么大,我的这个有17M。
# make install
等待这个命令完成后,基本安装就完成了。
6、替换掉旧的perl命令
# cd /usr/bin
# mv perl perl.old //把原来的perl更名为perl.old,弃用。
# ln -s /usr/local/perl/bin/perl /usr/bin/perl //做一个软链接,使用新的perl
7、完成
# perl -version //使用这个命令查看perl的版本,可以看到,已经更新到5.12.2版本了:
8、安装DBI
打算熟悉下perl,自然主要用于数据库管理和监控方面的,所以需要连接数据库。Perl连接数据库需要安装DBI模块和相应数据库的DBD驱动,Linux上默认安装的Perl是没有该模块的。可以从CPAN下载DBI模块进行安装。
安装过程很简单,下载解压:
gzip -d DBI-1.604.tar.gz
tar xvf DBI-1.604.tar
tar xvf DBI-1.604.tar
然后进入DBI-1.604目录,执行:
perl Makefile.PL
make
make test
make install
make
make test
make install
以下脚本可以用来检测系统中已经安装的Perl模块:
#!/usr/bin/perl use strict; use ExtUtils::Installed; print "Start Test ----\n"; my $inst = ExtUtils::Installed->new(); print join "\n",$inst->modules(); print "\n";
安装完DBI后执行该脚本的结果如下:
DBI的文档可以通过perldoc查看:
#perldoc DBI