Как установить perl centos

Обновлено: 03.07.2024

Сегодня небольшой партнер WeChat спросил меня об установке модуля perl, потому что большинство баз данных и программного обеспечения, выпущенного ENSEMBL, основаны на Perl, особенно тяжелый VEP, поэтому, даже если вы все равно ненавидите Perl, вам придется иметь с ним дело. .

Задайте мне такие подробные вопросы, и я, конечно, не могу дать ответ прямо. В конце концов, мои знания не заучиваются наизусть. Поэтому мне нужно взглянуть на мой блог и понять, что я написал 7 руководств по модулям Perl. Каталог выглядит следующим образом:

Во-первых, вам нужно определить, какие модули были установлены и где они установлены? Куда нужно устанавливать новые модули?
Затем узнайте, как устанавливать новые модули.

Есть два способа установить модули Perl

  • Автоматическая установка (с использованием модуля CPAN для автоматического завершения всего процесса загрузки, компиляции и установки)
  • Ручная установка (перейдите на сайт CPAN, чтобы загрузить необходимые модули, скомпилировать и установить вручную)

Автоматическая установка с использованием модуля CPAN

Перед установкой вам необходимо подключиться к Интернету с правами root или без них.

При первом запуске CPAN вам необходимо выполнить некоторые настройки, просто выполните следующую команду:

Фактически, машинам большинства людей не нужно делать этот шаг: они должны были использовать функцию Perl cpan, если вы не новый компьютер.

Ниже перечислены обычно используемые команды cpan.

Позвольте мне кратко объяснить:

Шаги ручной установки:

В обычных обстоятельствах этот метод установки не рекомендуется, но всегда будет крайняя мера, и использование этого метода может углубить понимание модулей perl.

Например, изCPANЗагрузите сжатый файл Net-Server-0.97.tar.gz версии 0.97 модуля Net-Server, предполагая, что он находится в / usr / local / src /.

Если сообщается результат тестаall test ok, Вы можете смело устанавливать скомпилированные модули.
Перед установкой модуля убедитесь, что у вас есть права на запись в папке, в которую вы загружаете пакет (/ usr / local / src / в примере) (обычно получается с помощью команды su).
Конечно, только пользователи root могут писать в / usr / local / src /, а обычные пользователи могут загружать файлы модулей в свои собственные папки.

Чтобы проверить, прошла ли установка вашего собственного модуля успешно или нет, используйте следующую команду, если не выводятся никакие данные, значит, проблем нет.

Вышеупомянутые шаги подходят для большинства модулей Perl под Linux / Unix. Могут быть небольшие различия в способах установки некоторых модулей, поэтому лучше сначала просмотреть README или INSTALL в каталоге установки.

Иногда, если это build.pl, требуются следующие шаги установки: (Требуется поддержка модуля Module :: Build)

Связь между cpan и правами root

Ранее я сказал, что если у вас есть привилегии root, вы можете вызвать загрузчик cpan, но есть некоторые небольшие отличия.

Если вы являетесь пользователем root, проблем с модулем нет. Непосредственное использование загрузчика cpan может решить почти все проблемы с загрузкой и установкой модуля!

Но если вы не являетесь пользователем root, это будет проблематично. Сложно использовать автоматический загрузчик cpan. Всегда есть некоторые модули, которые не удается загрузить с помощью cpan.

Таким образом, вы можете только загрузить исходный код модуля, а затем скомпилировать его, но есть проблема с компиляцией. Многие модули фактически зависят от других модулей. Если вы продолжаете загружать другие зависимые модули, вы, наконец, можете решить это, что особенно хлопотно!
Но я все же не рекомендую устанавливать модули Perl вручную.
Здесь я рекомендую всем пользователям без полномочий root запустить следующий код, чтобы получить собственный частный загрузчик cpan.

У вас может быть частный загрузчик cpan,

/ .profile может потребоваться изменить на .bash_profile, .bashrc и т. Д., В зависимости от вашей системы Linux!
Затем вы запускаете cpanm Module :: Name напрямую и можете загрузить модуль, как пользователь root!
Или используйте следующий метод для установки модуля в оболочку, где ext - это каталог установки модуля, который можно изменить!

Еще одно решение для пользователей без полномочий root

Вручную загрузите local :: lib, этот модуль perl, а затем установите его в указанный каталог, что также может решить проблему модуля!

После скачивания разархивируйте и введите:

Подождите несколько часов! ! !

После добавления переменных среды вы можете использовать

После загрузки модулей в этом режиме все модули будут сохранены в $ HOME / .perl / lib / perl5! ! !
Если это недавно написанная программа на Perl, вам нужно добавить use local :: lib;
Только после этого мы сможем настроить локальную библиотеку в

/ perl5, и тогда мы сможем использовать этот модуль!

Конечно, слишком сложно добавлять это каждый раз, когда вы пишете программу. Фактически, вы можете напрямую открыть

/ .bashrc и написать следующий контент

Вы можете установить модуль perl где угодно, а затем таким образом загрузить модуль в свою программу perl!

Просмотр каталога установки модуля perl

Это относится к просмотру тех каталогов установки модулей Perl, которые были добавлены в переменные среды. Теоретически вы можете установить модуль Perl в папку, но если вы не добавите его в переменную среды, это не имеет особого смысла. , поскольку большинство программ Perl выполняет поиск установленных модулей Perl только в переменных среды, модули в других местах не могут быть вызваны.

В основном это переменная по умолчанию @INC, которую можно просмотреть с помощью следующего кода:

Например, один из моих серверов отображается следующим образом:

Проверьте, какие модули Perl были установлены

Независимо от того, есть ли у вас права root или нет, введите cpan и установите модуль ExtUtils :: Installed.
Затем вы можете выполнить команду instmodsh и просмотреть все модули в текущей среде!
Почему его можно использовать напрямую, ведь модуль устанавливается кстатиinstmodshДобавлен в переменную среды для вас, вы можете использоватьwhich instmodsh Проверьте, где он установлен.

Конечно, вы также можете написать сценарий для использования этого модуля для запроса информации об установке других модулей, которая в основном используется при написании сценария для проверки компьютерного модуля пользователя.

Где теоретически можно установить модуль

Например, если пользователь без полномочий root использует cpan, то обычно создается скрытый каталог /home/yourname/.cpan для хранения личных модулей Perl.
Поскольку вы не являетесь пользователем root, cpan не является панацеей. Некоторые пакеты не устанавливаются успешно, например модуль GD
Вы также можете напрямую загрузить файл модуля и самостоятельно скомпилировать его в любой каталог. Просто добавьте следующее предложение при запуске собственного скрипта.

Однако в большинстве случаев мы устанавливаем модули не потому, что нам нужно писать сценарии самостоятельно, а некоторые программы биоинформатики зависят от модулей, но у нас редко есть возможность изменить это программное обеспечение биоинформатики.
Таким образом, этот путь обычно не используется.
Если есть много пакетов, загруженных вами и установленных в одном каталоге, вы можете добавить этот каталог в @INC.

Perl существует уже давно. Первоначально он был разработан как язык отчетности, используемый для анализа текстовых файлов. С ростом популярности Perl добавил поддержку модулей или CPAN, сокеты, многопоточность и другие функции, необходимые в мощном языке сценариев.

Самым большим преимуществом Perl над PHP, Python или Ruby является то, что он работает с минимальными усилиями. Эта философия Perl не всегда означает, что все делается правильно. Однако для задач администрирования в Linux Perl считается наиболее подходящим выбором для языка сценариев.

Некоторые преимущества Perl над Python или Ruby:

Мощная обработка текста

Perl делает написание скриптов быстрым и грязным (обычно скрипт на Perl будет на несколько десятков строк короче, чем эквивалент в Python или Ruby)

Perl может делать что угодно (почти)

Мощная обработка текста

Perl делает написание скриптов быстрым и грязным (обычно скрипт на Perl будет на несколько десятков строк короче, чем эквивалент в Python или Ruby)

Perl может делать что угодно (почти)

Синтаксис может сбивать с толку

Стиль кодирования в Perl может быть уникальным и затруднить сотрудничество

Perl не является объектно-ориентированным

Как правило, при использовании Perl не уделяется много внимания стандартизации и передовому опыту.

Синтаксис может сбивать с толку

Стиль кодирования в Perl может быть уникальным и затруднить сотрудничество

Perl не является объектно-ориентированным

Как правило, при использовании Perl не уделяется много внимания стандартизации и передовому опыту.

  • Будет ли это приложение когда-либо нуждаться в управлении версиями?
  • Будут ли другие люди когда-либо изменять код?
  • Нужно ли другим людям использовать это приложение?
  • Будет ли это приложение когда-либо использоваться на другой машине или архитектуре процессора?

Если ответы на все вышеизложенные вопросы «нет», Perl является хорошим выбором и может ускорить процесс с точки зрения конечных результатов.

С учетом этого давайте настроим наш сервер CentOS для использования самой последней версии Perl.

Перед установкой Perl нам нужно понять поддержку Perl. Официально Perl поддерживается только в двух последних стабильных версиях. Итак, мы хотим быть уверены, что наша среда разработки изолирована от версии CentOS.

Причина изоляции такова: если кто-то выпустит инструмент на Perl для сообщества CentOS, более чем вероятно, что он будет изменен для работы на Perl, поставляемом с CentOS. Однако мы также хотим, чтобы последняя версия была установлена ​​в целях разработки. Как и Python, CentOS выпускает Perl, ориентированный на надежность, а не ультрасовременность.

В настоящее время мы используем Perl 5.16.3. Самая последняя версия на момент написания этой статьи: perl-5.24.0

Мы определенно хотим обновить нашу версию, чтобы иметь возможность использовать современные модули Perl в нашем коде. К счастью, есть отличный инструмент для поддержки сред Perl и для сохранения нашей версии Perl для CentOS изолированной. Это называется perlbrew .

Давайте установим Perl Brew.

Теперь, когда у нас установлен Perl Brew, давайте создадим среду для последней версии Perl.

Во-первых, нам понадобится установленная на данный момент версия Perl для начальной загрузки установки perlbrew. Итак, давайте получим некоторые необходимые модули Perl из репозитория CentOS.

Примечание. По возможности мы всегда хотим использовать модули CentOS Perl по сравнению с CPAN с нашей установкой CentOS Perl.

Варианты, которые мы выбрали для нашей установки Perl:

После того, как наша установка была успешно выполнена, давайте переключимся на нашу новейшую среду Perl.

Теперь давайте используем установщик cpanm для создания модуля LWP с нашей текущей версией Perl 5.24.1 в perl brew.

Под-оболочка запускается с perl-5.24.1 в качестве активированного perl. Запустите «выход», чтобы закончить.

Вот оно! Perl Brew делает изоляцию среды Perl проще простого и может рассматриваться как лучшая практика, когда дела обстоят с Perl.

Perl 5 – это зрелый, полнофункциональный язык программирования. Он используется в проектах всех типов, включая критически важные бизнес-системы. Программный пакет Perlbrew позволяет устанавливать, удалять и переключаться между версиями языка программирования Perl 5.

Perlbrew устанавливает Perl в домашнем каталоге. Каждая установленная версия Perl не зависит от других. Это позволяет протестировать код в нескольких версиях Perl. Perlbrew по умолчанию включает пакет Perl для текущей операционной системы (обычно устаревший).

Этот мануал поможет установить Perlbrew и освоить управление версиями Perl 5.

Требования

  • Сервер CentOS 7.
  • Пользователь с доступом к sudo.
  • Брандмауэр.

Все инструкции можно найти здесь.

1: Установка Perlbrew

У Perlbrew есть ряд зависимостей: компилятор gcc и утилита сжатия bzip2 для компиляции и установки Perl. В CentOS 7 этих пакетов нет по умолчанию (возможно, вы добавили их ранее самостоятельно).

Примечание: Номера версий пакетов в следующих примерах могут отличаться от ваших, поскольку они периодически обновляются.

Для сборки Perl требуются два пакета, libgcc и gcc. Чтобы проверить их наличие, выполните следующую команду:

rpm -qa | grep gcc

Если они установлены, вы увидите:

Is the gcc package installed?
libgcc-4.8.5-11.el7.x86_64
gcc-4.8.5-11.el7.x86_64

CentOS 7 по умолчанию включает только libgcc. Чтобы установить gcc, введите:

sudo yum install gcc

Также нужно установить пакеты bzip2-libs и bzip2. Проверьте их наличие:

rpm -qa | grep bzip2

Если пакеты установлены, вы увидите на экране:

Is the bzip2 package installed?
bzip2-libs-1.0.6-13.el7.x86_64
bzip2-1.0.6-13.el7.x86_64

По умолчанию в CentOS 7 есть только bzip2-libs. Чтобы установить bzip2, введите:

sudo yum install bzip2

Установите утилиту patch:

sudo yum install patch

Установив зависимости, вы можете установить Perlbrew. Загрузите установочный сценарий:

Ознакомьтесь с содержимым сценария:

Передайте сценарий в bash:

cat install.perlbrew.pl | bash

Это создаст структуру каталогов /home/8host/perl5, в которых Perlbrew будет хранить файлы и версии Perl. Сценарий выведет на экран следующий результат:

/perl5/perlbrew/bin/perlbrew
perlbrew root (

/perl5/perlbrew) is initialized.
Append the following piece of code to the end of your

С помощью утилиты perlbrew создайте конфигурационные файлы и каталоги в /home/8host/perl5/perlbrew.

You are already running the installed perlbrew:

/home/8host/perl5/perlbrew/bin/perlbrew

Теперь пакет Perlbrew установлен. Отредактируйте конфигурационные файлы оболочки.

2: Добавление Perlbrew в .bash_profile

Прежде чем использовать Perlbrew для установки версий Perl, нужно отредактировать файл .bash_profile и определить некоторые важные переменные среды Perlbrew. Perlbrew позволяет добавить необходимый код в другой конфигурационный файл, который можно включить в .bash_profile.

Чтобы включить в файл параметры Perlbrew, добавьте в конец строку:

Сохраните и закройте файл.

Выйдите и войдите в систему снова, чтобы перезапустить файл .bash_profile. Это добавит /home/8host/perl5/perlbrew/bin в переменную среды PATH и установит некоторые другие переменные Perlbrew.

Убедитесь, что эти переменные среды были установлены, с помощью команды env. Отфильтруйте результат с помощью grep.

Вы получите такой вывод:

PERLBREW_BASHRC_VERSION=0.78
PERLBREW_ROOT=/home/8host/perl5/perlbrew
PERLBREW_HOME=/home/8host/.perlbrew

Команда which perlbrew определит полный путь к команде perlbrew.

Perlbrew готов к работе.

3: Установка и сборка версий Perl

Попробуйте установить версию Perl 5 с помощью Perlbrew. Команда perlbrew может отобразить доступные версии Perl.

perlbrew available
perl-5.25.11
perl-5.24.1
perl-5.22.3
perl-5.20.3
perl-5.18.4
.

Нечетные версии (как perl-5.25) находятся в активной разработке и не считаются стабильными или готовыми к производству. Обычно версии до 5.10.1 не используются, если в проекте нет устаревшего кода, для которого требуется одна из этих более ранних версий.

Согласно выводу perl-5.24.1 является последней стабильной версией (так как её номер – наибольшее четное число). Вы можете выбрать любую версию Perl в списке. Для примера мы установим perl-5.24.1.

perlbrew install perl-5.24.1

Установка Perl может занять довольно много времени: сборка вместе с установкой обычно занимает около 20 минут. Не прерывайте процесс сборки. Если вы хотите увидеть прогресс, откройте отдельный сеанс терминала и просмотрите лог сборки с помощью команды:

После сборки вы увидите:

perl-5.24.1 is successfully installed.

После окончания сборки в логе появится:

Этот процесс можно повторить для любой необходимой версии Perl. Так вы можете установить неограниченное количество версий.

4: Управление версиями Perl

На данный момент в системе есть две версии Perl: версия, поставляемая по умолчанию с операционной системой, и версия Perl, которую вы только что установили в каталоге

perl5 с помощью Perlbrew.

Чтобы использовать новую установку Perl, введите:

perlbrew use perl-5.24.1

Эта команда обновит переменную среды PERLBREW_PERL, после чего она будет указывать на выбранную версию Perl в текущей сессии.

Чтобы сделать версию Perl версией по умолчанию, запустите команду:

perlbrew switch perl-5.24.1

Эта команда меняет значение переменной PERLBREW_PERL, после чего она постоянно указывает на выбранную версию Perl.

Убедитесь, что теперь вы используете Perl 5.24.1.

.
%ENV:
PERLBREW_BASHRC_VERSION="0.78"
PERLBREW_HOME="/home/8host/.perlbrew"
PERLBREW_MANPATH="/home/8host/perl5/perlbrew/perls/perl-5.24.1/man"
PERLBREW_PATH="/home/8host/perl5/perlbrew/bin:/home/8host/perl5/perlbrew/perls/perl-5.24.1/bin"
PERLBREW_PERL="perl-5.24.1"
PERLBREW_ROOT="/home/8host/perl5/perlbrew"
PERLBREW_VERSION="0.78"
@INC:
/home/8host/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
/home/8host/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
/home/8host/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
/home/8host/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
.

Perlbrew устанавливает только базовый код Perl. Чтобы просмотреть доступные модули для конкретной версии Perl, выполните:

corelist -v 5.24.1

Чтобы вернуться к версии Perl, поставляемой вместе с системой, введите команду perlbrew off.

Если вы использовали perlbrew switch для установки новой версии Perl по умолчанию, вы можете удалить эту настройку помощью perlbrew switch-off.

Команда perlbrew без флагов генерирует простой список полезных команд. Команда perlbrew help выводит более подробную справочную информацию.

5: Установка модулей CPAN

Perl предоставляет широкий выбор открытых модулей кода, расширяющих основной язык. Эти модули хранятся в Comprehensive Perl Archive Network (CPAN). Код, который вы собираетесь писать, уже может быть написан, протестирован и доступен в CPAN. Вы можете использовать репозиторий CPAN, чтобы не изобретать велосипед заново.

App::cpanminus – это популярный модуль Perl, который позволяет просматривать репозиторий CPAN и загружать модули. Установите его, чтобы протестировать установку Perl.

Убедитесь, что вы используете новую установку Perl:

perlbrew use perl-5.24.1

Установите модуль cpanminus:

Вы увидите следующий результат:

Проверьте установку cpanminus:

Модуль App::cpanimus появится в списке:

Снова проверьте список модулей:

perlbrew list-modules
App::cpanminus
Email::Date::Format
Email::Simple
Perl

Модуль Email::Simple требует установить модуль Email:Date::Format. Утилита cpanm автоматически устанавливает зависимости.

Если вы не знаете, какие модули выбрать, чтобы расширить основную установку Perl, обратитесь к Task::Kensho. Здесь описаны многочисленные модули, предназначенные для решения широкого круга задач.

Заключение

Теперь вы умеете устанавливать Perlbrew и использовать его для установки версий Perl в домашнем каталоге. Также вы умеете использовать Perlbrew для управления версиями Perl и устанавливать дополнительные модули из репозитория CPAN с помощью утилиты cpanm.

Для выполнения Perl-скриптов необходимо установить сам интерпретатор и дополнительные модули.

Использовать Perl в качестве backend на веб-сервере Apache можно двумя способами:

  • с помощью модуля mod_perl;
  • как CGI-скрипты.

Debian/Ubuntu

Установка

  • Устанавливаем Perl:
  • Устанавливаем интерфейс для работой с базой данных:
  • Устанавливаем драйвер для конкретной СУБД,например, sqlite:
  • Для сборки дополнительных модулей через CPAN устанавливаем пакет build-essential:

Далее модули устанавливаются средствами CPAN.

Apache + mod_perl

Apache + CGI

CentOS

Установка

  • Устанавливаем Perl:
  • Устанавливаем интерфейс для работой с БД:
  • Устанавливаем драйвер для конкретной СУБД, например, MySQL:

Далее модули устанавливаются средствами CPAN.

Apache + mod_perl

Apache + CGI

Python

Debian/Ubuntu

Установка

На версиях Ubuntu 16.04, Debian 8 и старше и других других этого семейства Linux установлена по умолчанию последняя версия Python 3.

Если нужна другая версия — ее нужно устанавливать отдельно.

Разберем на примере Python 3.7 действия для установки языка из исходников с сайта разработчика.

Устанавливаем пакеты, которые потребуются для сборки:

Переходим в директорию с распакованным архивом и подготавливаем установку:

Компилируем интерпретатор. Процесс долгий, в зависимости от конфигурации бокса может занять до получаса. Команда:

Устанавливаем интерпретатор. Обычно при установке используется команда make install, но если использовать её, собранная нами версия заменит предустановленную в системе, поэтому используем другую команду, чтобы сохранить обе:

Проверяем, что Python установился:

Apache + mod_wsgi

  • Устанавливаем mod_wsgi для Apache:
  • Создаем конфигурационный файл /etc/apache2/conf-available/wsgi.conf :
  • Активируем конфигурацию:
  • Перезагружаем веб-сервер:

Apache + CGI

CentOS

Установка

  • Устанавливаем инструменты для компиляции:
  • Подключаем репозиторий:
  • Устанавливаем Python3.6:
  • Устанавливаем pip:

Далее модули устанавливаются средствами pip.

Apache + mod_wsgi

Apache + CGI

Node.JS

Node.JS — ПО, позволяющее скриптам на языке JavaScript взаимодействовать с устройствами ввода-вывода через свой API. Используется для создания веб-сервера, процесс которого постоянно запущен на машине в ожидании запросов.

Так как разработка принципов работы веб-сервера в данном случае полностью зависит от поставленной задачи, рассмотрим только процесс установки ПО.

Читайте также: