Установите Perl в / usr / local / bin

Можно ли установить perl в / usr / local / bin без полных разрешений sudo, а именно только с разрешением sudo apt install ....

У меня есть DVD с программным обеспечением, использующим / usr / local / bin / perl в shebang, переменными, путями и т. Д. На моем компьютере 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. ИТ-служба поддержки создала для меня ссылки, теперь можно запускать сценарии.

1
задан 6 May 2019 в 23:22

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 & rarr; #!/usr/bin/perl.

0
ответ дан 6 May 2019 в 23:22

Другие вопросы по тегам:

Похожие вопросы: