安装 perl 到 /usr/local/bin

安装 perl 到 /usr/local/bin

是否可以在没有完全 sudo 权限(即仅sudo apt install ...被允许)的情况下将 perl 安装到 /usr/local/bin。

我有一张带有软件的 DVD,在 shebang、变量、路径等中使用 /usr/local/bin/perl 。但在我的计算机上,perl 位于 /usr/bin 中。

我不是机器的管理员。我要求 IT 创建副本或链接到 perl 文件 ( sudo ln -s /usr/bin/perl /usr/local/bin/perl),但这可能需要一些时间。还有其他方法吗?我没有管理员/sudo 权限,但可以使用标准包管理器安装软件apt

Perl 5.22,但接近的版本可能也可以,Ubuntu 16.04

更新 1. 按照答案中的建议,我在软件副本上运行了替换。我安装并使用了指定的文本替换命令 rpl。但我仍然好奇是否有其他解决方案,例如是否可以将 perl 编译成 .deb 包,然后我可以使用 将其安装到所需的文件夹中apt install

更新 2. IT 帮助台为我创建了链接,现在可以运行脚本。

答案1

您可以从源代码构建 Perl,然后将它们放置到/usr/local/bin

  1. 从他们的网站下载 perl tarball 文件,并解压。

    wget https://www.cpan.org/src/5.0/perl-5.22.0.tar.gz
    tar -xvzf perl-5.22.0.tar.gz
    cd perl-5.22.0/
    
  2. 通过 继续安装make

    ./Configure -des -Dprefix=/usr/local
    make
    make test
    sudo make install
    

这将安装 Perl 版本 5.22.0 到目录/usr/local/bin,您可以将其调用为可执行文件/usr/local/bin/perl

:~$ /usr/local/bin/perl --version

This is perl 5, version 22, subversion 0 (v5.22.0) built for x86_64-linux

Copyright 1987-2015, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

尽管最合理的方法是将 shebang 行完全替换为/usr/bin/perl,但您也可以通过以下方式进行。

find /path/to/script -name '*.pl' | xargs perl -pi -e 's{^#!/usr/local/bin/perl}{#!/usr/bin/perl}'

将会改变#!/usr/local/bin/perl#!/usr/bin/perl

相关内容