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
  • 相关阅读:
    BZOJ 2034 【2009国家集训队】 最大收益
    vijos P1780 【NOIP2012】 开车旅行
    BZOJ 2115 【WC2011】 Xor
    BZOJ 3631 【JLOI2014】 松鼠的新家
    BZOJ 4717 改装
    BZOJ 2957 楼房重建
    BZOJ 4034 【HAOI2015】 T2
    BZOJ 1834 【ZJOI2010】 network 网络扩容
    BZOJ 2440 【中山市选2011】 完全平方数
    BZOJ 2733 【HNOI2012】 永无乡
  • 原文地址:https://www.cnblogs.com/nkwy2012/p/6419531.html
Copyright © 2011-2022 走看看