zoukankan      html  css  js  c++  java
  • 非[无]root权限 服务器 下安装perl以及perl模块--转载

    转载自http://www.zilhua.com 
    在本博客中,所有的软件安装都在服务器上,且无root权限。理论上适合所有的用户。

    我的安装目录 cd /home/zilhua/software

    1、在官方网站下载新版本的源码包:

    http://www.perl.org/get.html,版本自己选择,我下载的是perl-5.18.0.tar.gz

    2、解压

    tar zxvf perl-5.18.0.tar.gz

    3.进入解压目录

    cd /home/zilhua/software/perl-5.18.0

    4.编译

    ./Configure –help的提示如下:

    ./Configure -des -Dprefix=/home/zilhua/software/perl-5.18.0 -Dusethreads

    make //这个过程会比较久,因为源码文件有那么大。 
    make install 
    等待这个命令完成后,基本安装就完成了。

    5.更改路径

    vim ~/.bashrc

    在里面添加:

    export PATH=/home/zilhua/software/perl-5.18.0/bin:$PATH

    保存,更新路径:source ~/.bashrc

    ==============================================

    这样就能保证你安装不需要root权限,在以后安装模块时,也不需要root权限了。

    那么怎么在无root的情况下安装模块了?

    方法一:安装上面的方法安装perl之后,安装模块用cpan也不需要root权限了:

    perl -MCPAN -e shell

    方法二:手动安装模块:

    进入模块所在路径,就是你的模块安装到哪里,你就cd进去,然后执行下面的命令… 
    perl Makefile.PL PREFIX=/home/zilhua/software/perl-5.18.0/lib 
    make; 
    make test; 
    make install 
    注意PREFI的格式,必须要写成这几个字,前面不能加-或者–,不能小写 
    2. 设置环境变量,使当前系统的perl程序能够自动找到安装的模块 
    vim ~/.bashprofile 添加 
    export PATH=/home/zilhua/software/perl-5.18.0/lib 
    保存并关闭.bash_profile文件

    按照上面的方法更新路径

    注意:一般手动安装的模块最后还需要自己重新改一下名字的。

    方法3:使用模块 local::lib(不推荐)

    先手动安装这个模块,然后再用这个模块安装其他模块。

    http://search.cpan.org/~haarg/local-lib-2.000004/lib/local/lib.pm

    以下是详细步骤:

    tar -xzf local-lib-2.000004.tar.gz 
    cd local-lib-2.000004.tar.gz 
    下一步,将local::lib加入至bootstrap当中去。这一步会在用户HOME目录下新建一个perl5的目录,并且指定它为将来安装perl模块的目录。

    perl Makefile.PL –bootstrap 
    而后安装local::lib

    make 
    make test 
    make install 
    而后试运行一下perl

    perl -MCPAN -e shell 
    一路选择默认值,然后退出。这一步,perl会将本地的模块搜索目录放入至.bashrc文件尾部。

    安装其它perl模块 
    这个时候我们就可以进行非root权限的perl模块安装了。我们首先需要从先前的terminal窗口中退出来,重开一个terminal窗口,这样就会过一遍.bashrc文件。试着安装一个模块,

    perl -MCPAN -eshell 
    nolock_cpan[1]> install File::ReadBackwards 
    一切OK。

    为cluster扩展library path 
    可以简单的在qsub文件中运行perl之前加入PERL5LIB的搜索路径

    echo $PERL5LIB 
    然后将传回的值写入qsub当中去

    PERL5LIB=/home/path/lib:/usr/another/path/lib; export PERL5LIB 
    也可在执行命令中加入-I参数

    perl -I /home/path/lib -I /usr/another/lib script.pl 
    或者在pl文件头里加入lib的路径

    !/usr/bin/perl

    use lib “/home/path/lib”; 
    use lib “/usr/another/lib”; 
    use MyCustomModule;

    在使用Linux或是unix时,perl是一个非常有用的脚本的语言。

    关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过cpan安装,再者就是可以直接编译源代码。

    这样,对于拥有root权限的用户来说,没有任何问题,可是对于不拥有root权限的一般用户来说,如果想在自己的home目录下安装与使用

    perl的模块,还有很多特别之

    处。我这里就是专门介绍如何在一般用户的home目录下安装以及使用perl模块的。

    编译与安装模块:

    一般来说有几步基本步骤:

    % perl Makefile.PL

    % make

    % make test

    % make install

    %

    make clean

    不同于拥有root权限的安装,对于用户,必须在第一步指定一个拥有合适权限的安装模块的目标路径。

    比如说perl Makefile.PL –PREFIX=/home/USERNAME/usr

    # Unix users, INSTALL_BASE=~ works fine perl Makefile.PL INSTALL_BASE=/path/to/your/home/dirhttp://search.cpan.org/~mschwern/ExtUtils-MakeMaker-6.56/lib/ExtUtils/MakeMaker.pm

    让你的脚本能够找到你安装的模块

    当你像上面一步那样安装了模块在/home/USERNAME/usr下面后,如果在你的程序中要用到这些模

    块,你可以通

    过两种方法实现:

    use lib qw(/home/USERNAME/usr/lib/perl5

    /home/USERNAME/usr/lib/perl5/site_perl);

    或者BEGIN { unshift @INC, qw(/usr/home/USERNAME/usr/local/lib/perl5

    /usr/home/USERNAME/usr/local/lib/perl5/site_perl); }

    其原理就是perl搜索模块的路径存放在@INC数组中,只要将用户自定义的模块路径加入到该数组中就行。

    在perl脚本外设置perl模块搜索路径

    如果需要在perl脚本外设置perl模块搜索路径(比如说要解决安装模块的依赖关系)时,可以通过设置环境变量来解决。方法如下:

    export PERL5LIB = /home/<username>/usr/lib/

    /home/<username>/usr/lib/perl5/site_perl

    当然如果你把它放在.bashrc中,此设置便可在以后每次登录系统都会起作用。

    http://www.linuxso.com/linuxpeixun/15988.html

    -------------------------------------------------------------------------------------------------

    Linux系统已经自带了perl,但是如果需要末一个模块的时候,可以单独安装模块,使用如下方式。

    1.安装模块
    perl Makefile.PL PREFIX=/home/zengyf/local/perl
    make;
    make test;
    make install

    2.设置环境变量,使当前系统的perl程序能够自动找到安装的模块
    export PERL5LIB=/home/zengyf/local/perl/lib64/perl5/:/home/zengyf/local/perl/lib64/perl5/site_perl

    另外安装mod_perl的话 
    perl Makefile.PL MP_AP_PREFIX=/home/zengyf/local/apache-2.2.9 PREFIX=/home/zengyf/local/pe

     
    ref:
    http://my.oschina.net/jccpp/blog/152323
  • 相关阅读:
    audio_音频
    调试C++NPv2_TP_Reactor_Log_Server程序
    2019 SDN大作业(咕咕咕队)
    第09组 Beta版本演示
    第09组 Beta冲刺(4/4)
    第09组 Beta冲刺(3/4)
    2019 SDN上机第7次作业
    第09组 Beta冲刺(2/4)
    第09组 Beta冲刺(1/4)
    2019 SDN上机第6次作业
  • 原文地址:https://www.cnblogs.com/nkwy2012/p/6419531.html
Copyright © 2011-2022 走看看