perl模块net mysql_CentOS 下安装Net::SSH::Perl模块总结

这两天为了实现远程登录折腾了两三天,先是查阅了实现方法,网上用Perl实现就有很多方法。

1.使用Net::SSH::Perl

2.使用Expect模块

3.使用Net::SSH::Expect

4.直接使用shell命令实现ssh -p port username@IP  $passwd

这些方法中准备使用Perl的Net::SSH::Perl 模块来实现,因为网上代码有很多,而且可读性强,比如下面脚本

#!/usr/bin/perl

usestrict;usewarnings;use Net::SSH::Perl;my $ssh = Net::SSH::Perl->new("192.168.4.217", port => 22);print "login\n";$ssh->login("root", "123qwe");print "cmd\n";my ($stdout, $stderr, $exit) = $ssh->cmd("ls -l /tmp");print "$stdout\n";

但是在安装时候遇到了一系列的问题,首先明确Net::SSH,Net::SSH2,Net::Telnet与Net::SSH::Perl 模块并没有关系,连依赖都没有,我试着安了两台机器,发现Net::SSH::Perl 模块需要如下的依赖包(使用instmodsh命令可以看到安装了哪些模块):

Crypt::DES

Crypt::DH

Crypt::DSA

DCOP

Digest::HMAC

Digest::SHA

Digest::SHA1

File::Which

Math::BigInt

Math::BigInt::GMP

Math::Pari

Net::SSH::Perl

Perl

我到cpan下搜索出这些包一个一个的安装(因为CentOS主机不能联网),当然我是先运行上面那个perl脚本,才一个一个发现需要的依赖的。这里面除了Math::Pari,其他模块都可以直接这样做。

1.tar zxvf 压缩包

2.cd 目录下

3.perl Makefile.PL

4.make

5.make install

(网上很多都说需要make test ,我没有test也能正常使用,但是第一次安装的时候,test有问题则安装失败)

只有Math::Pari这个包有问题,如果直接像上面那样做,安装提示有error,网上说是缺少Pari lib包(不是一样的,需要到Pari的网站去下载,不是CPAN),网站上最新的是pari-2.5.3,安装时1 ./Configure 2 make 3 make install,一开始安装有问题,但是还是安装成功了,但是这时安装Math::Pari 模块会提示你Version too new,网上有人说是新版本不支持,我有下载了2.3.0.安装后还是有点问题,后来又下载了pari-2.1.7,我看模块的Readme里面写的需要2.1.7的包,所以下了,鼓弄半天不怎么就安装上了,后来就觉得其实不用安装pari lib包,直接解压到Math-Pari 包里,他自己就去读他要的文件了,然后不用make test,直接make install,好像就可以,因为前几次就是卡在了make test里面。

这次的环境搭建让我知道了安装模块之间有很强的依赖,如果没有安装全,就会出现 Can't locate XXX/XXX.pm 这样类似的错误,安装之前最好读下包里面的README 或者 INSTALL文件,有能力之后可以读下他的Makefile,可以学到不少。

在不同版本的Perl下,可能需要的包不一定相同,在第一次安装的机器上是Perl 5.14 ,后来又在Perl 5.8.8里安装一遍,用到了一个Digest-SHA包,而不是Digest-SHA1包,可能是低版本发行时没有SHA1.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值