`
ganglong99
  • 浏览: 162016 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

安装Perl及Perl模块Net::SSH2

    博客分类:
  • Perl
阅读更多

在各平台下安装ActivePerl


Linux下安装perl
http://www.cpan.org/src/下载某个版本的perl,我这里下载的是perl-5.12.4.tar.gz
1. 解压:
  tar -xzf perl-5.12.4.tar.gz
2. 进入perl-5.12.4
 cd perl-5.12.4
3. 配置将perl安装到目标目录(我的安装目录是/home/ylong/Perl)
 ./Configure -des -Dprefix=/home/ylong/Perl
4. 编译,安装
 make
 make test
 make install

Linux下安装Net:SSH2:
注:Net::SSH2依赖libssh2,libssh2又依赖openssl,所以,要成功安装Net::SSH2,就要先安装openssl,再安装libssh2,最后安装Net::SSH2.
1. 如果系统没有openssl,则要先安装openssl
可以输入openssl检查是否已安装
可以到http://www.openssl.org/source/下载某个版本的openssl
要安装openssl,执行以下安装步骤:
tar zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config --prefix=/home/ylong/Perl/openssl
如果是64位linux:
./config -fPIC --prefix=/opt/AutoIntegration/Perl-5.14/openssl [enable-shared]
make depend
make
make test
make install
注:蓝色部分指定的prefix,表示将openssl安装到指定的目录下。enable-shared为可选参数
 
2. 安装libssh2
可以到http://www.libssh2.org/download/下载某个版本的libssh2
执行以下步骤进行安装:
tar zxvf libssh2-1.2.9.tar.gz
cd libssh2-1.2.9
./configure --prefix=/home/ylong/Perl/libssh2 [--with-libssl-prefix=/usr/lib/openssl]
如果是x86_64:
CFLAGS="-O3 -fPIC" ./configure --prefix=/home/ylong/Perl/libssh2
make
make install
注:蓝色部分指定的prefix,表示将libssh2安装到指定的目录下。--with-libssl-prefix为可选参数,指定了openssl的路径。
 
3. 安装Net::SSH2
可以到CPAN上搜索并下载Net::SSH2
执行以下步骤进行安装:
tar zxvf Net-SSH2-0.44.tar.gz
cd Net-SSH2-0.44
perl Makefile.PL lib=/home/ylong/Perl/libssh2/lib inc=/home/ylong/Perl/libssh2/include
(lib和inc指定的是安装的libssh2的所在目录)
make
make test
make intall
 
windows下安装Net::SSH2
windows下安装Net::SSH2,可以是使用ActivePerl提供的ppm。从网上搜索适合版本的Net::SSH2的ppd版本,如我的ActivePerl是v5.14.2,可以使用下面的资源进行安装:
分享到:
评论
5 楼 ganglong99 2012-08-07  
maxer025 写道
maxer025 写道
找到了,编译第二部libssh2,这个错误怎么解决?

/usr/bin/ld: /opt/openssl/lib/libcrypto.a(hmac.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/openssl/lib/libcrypto.a: could not read symbols: Bad value
collect2: ld returned 1 exit status


明白了,原来系统通过RPM安装过openssl,但没有安装openssl-devel,需要安装openssl-devel包。
系统环境很乱啊


谢谢分享!
4 楼 maxer025 2012-07-19  
maxer025 写道
找到了,编译第二部libssh2,这个错误怎么解决?

/usr/bin/ld: /opt/openssl/lib/libcrypto.a(hmac.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/openssl/lib/libcrypto.a: could not read symbols: Bad value
collect2: ld returned 1 exit status


明白了,原来系统通过RPM安装过openssl,但没有安装openssl-devel,需要安装openssl-devel包。
系统环境很乱啊
3 楼 maxer025 2012-07-09  
找到了,编译第二部libssh2,这个错误怎么解决?

/usr/bin/ld: /opt/openssl/lib/libcrypto.a(hmac.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/opt/openssl/lib/libcrypto.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
2 楼 ganglong99 2012-07-09  
maxer025 写道
./configure 没有这个命令?

解压后进入那个目录,肯定是有的哈!
1 楼 maxer025 2012-07-04  
./configure 没有这个命令?

相关推荐

    Net-SSH-Perl所有的包

    8. **加密与安全**:SSH协议本身是加密的,Net::SSH::Perl模块遵守SSH2协议,保证了通信的安全性。但也要注意不要在不安全的网络环境下使用。 9. **版本兼容性**:不同版本的Perl或Net::SSH::Perl可能存在兼容性...

    mha安装包及perl依赖

    3. Net::SSH::Perl或Net::SSH2:用于远程SSH连接,MHA Manager需要通过SSH与MySQL服务器通信。 4. YAML:用于数据序列化和反序列化,便于存储和读取配置信息。 5. Sys::Hostname:获取主机名,这对于识别和管理...

    perl常用模块例子

    本文将详细介绍部分常用的Perl模块及其应用场景,帮助读者更好地理解和使用这些模块。 #### 一、模块资源与安装 1. **获取模块文档**: - 访问地址:[http://www.perldoc.com/perl5.6/pod/perlmodlib.html]...

    perl _telnet

    - **安装**:如果您的系统中还没有安装`Net::Telnet`模块,可以通过CPAN(Comprehensive Perl Archive Network)进行安装: ```bash cpan Net::Telnet ``` - **依赖**:`Net::Telnet`模块不依赖于其他复杂的外部...

    openssl-0.9.8r.tar Feb 8 18:21:38 2011

    5. 接下来,安装Perl模块Net::SSH2,这可能需要用到CPAN(Comprehensive Perl Archive Network),通过`cpan Net::SSH2`命令进行安装,编译过程中会链接到已安装的OpenSSL库 需要注意的是,较老版本的OpenSSL可能...

    Net-SSH-Perl-2.14.tar.gz

    使用 Perl 的模块安装工具如 cpan 或 cpanm 来编译和安装该库。 在开发过程中,了解 SSH 的基本概念和工作原理非常重要,同时熟悉 Perl 语言的基本语法和模块使用也是必要的。Net-SSH-Perl 提供的 API 和文档可以...

    perl网络批量抓取配置工具

    `Expect-1.15.tar.gz`、`Net-Telnet-3.03.tar.gz`和`IO-Tty-1.10.tar.gz`是这些Perl模块的源码包,用户需要先解压安装它们,才能在Perl环境中使用。通常,这涉及到编译源码、运行make和make install命令。 `cron_...

    mysql基于mha高可用部署,需要的mha所有依赖包

    4. **Perl Net::SSH::Perl模块**:用于远程执行命令和管理MySQL服务器,MHA使用它进行主从切换和监控。 5. **Perl Net::SCP::Expect模块**:在网络间安全复制文件,MHA在主从切换过程中会用到它来同步数据。 6. **...

    Perl批量远程执行指令脚本

    Perl批量远程执行指令脚本 批量远程执行命令的小工具 1.支持把主机分组执行命令 2.支持切换用户来执行命令 ...3.需要两个模块:XML::Simple.pm, Net::SSH::Expect.pm(已经集成在文件夹下, 无需安装)

    perl资料

    2. `Net-Telnet-3.03.tar.gz`:这是另一个Perl模块,实现了Telnet协议,用于连接到支持 Telnet 协议的远程主机,进行交互式命令执行。在自动化测试、远程控制和监控场景中,Net::Telnet模块是一个常用的工具。 3. `...

    libssh2 source code

    描述中提到的"could be used for compile Net::SSH2 perl package."表明libssh2的源代码可以被用来编译Perl编程语言中的Net::SSH2模块。Net::SSH2是一个Perl接口,它允许Perl程序通过SSH2协议与远程主机进行交互,如...

    linux下的perl脚本高级编程

    在Linux系统中,可以使用`cpan`或`cpanm`命令安装这些模块,如`Net::SSH::Perl`用于远程SSH连接,`LWP::UserAgent`则用于HTTP请求。 高级编程技巧包括错误处理、面向对象编程和上下文感知。错误处理通常通过`eval`...

    网络编程基础之perl

    随着需求的复杂化,Perl的CPAN(Comprehensive Perl Archive Network)提供了大量的网络编程相关的模块,如Net::FTP用于FTP操作,Net::SSH2用于SSH连接,Net::SMTP和Net::POP3处理邮件发送和接收,HTTP::Tiny和...

    libperl.so openssh、openssl、perl.zip

    对于Perl开发者而言,了解如何使用libperl.so来动态链接Perl库对于编写C或C++的Perl扩展模块至关重要。OpenSSH的使用则涉及到了网络安全,比如如何设置SSH服务器以确保数据安全传输,理解公钥认证、密钥管理以及如何...

    mha-yum.tar.gz

    5. **Perl DBD::MySQL模块**:这是一个Perl模块,允许Perl程序通过DBI与MySQL通信。 6. **Net::OpenSSH**:MHA需要SSH来在不同服务器之间进行安全的远程命令执行,Net::OpenSSH是Perl的SSH客户端库。 7. **...

    sftp源码sftp源码sftp源码

    4. **Net::SFTP::Foreign**(Perl):Perl的SFTP客户端模块。 ### 学习资源 深入理解SFTP,你可以参考以下资源: 1. **RFC 4254**(SSH Connection Protocol)和**RFC 4253**(SSH Transport Layer Protocol):...

    perl-Net-OpenSSH

    7. Makefile:标签中的"Makefile"通常指的是构建Perl模块的配置文件,它定义了编译和安装模块的规则。在安装Perl-Net-OpenSSH时,用户需要运行`make`和`make install`命令,这些命令会根据Makefile中的指示编译源...

    Win32 Perl Programming

    除此之外,Perl在Windows下还支持许多第三方模块,如DBI(数据库接口)用于数据库操作,LWP(Library for WWW in Perl)用于Web抓取,以及Net::SSH2和Win32::OpenSSH用于SSH连接等。 学习"Win32 Perl Programming...

    Linux专家之路 Linux下的PERL编程(PDG)

    CPAN(Comprehensive Perl Archive Network)是一个庞大的Perl模块库,包含数万个模块,涵盖了从网络编程到数据库接口的各种功能。例如,`Net::SSH::Perl`模块用于远程SSH连接,`DBI`模块提供数据库独立性的接口,而...

    mysql mha0.58 rhel7依赖包

    2. **Net::SSH::Perl**:用于通过SSH协议进行远程操作,如在不同的服务器之间执行命令和传输文件,这是MHA进行故障检测和切换时必不可少的。 3. **Net::SCP::Expect**:基于Net::SSH::Perl的扩展,用于SCP(Secure ...

Global site tag (gtag.js) - Google Analytics