Files
LFS_Book/chapter06/perl.xml
Anton Maisak 927b7c46e4 Revision: 11613
Author: bdubbs
Date: 4 июня 2019 г. 20:43:52
Message:
Tweak instructions for e2fsprogs and perl
----
Modified : /trunk/BOOK/chapter06/e2fsprogs.xml
Modified : /trunk/BOOK/chapter06/perl.xml
2020-04-30 11:59:09 +03:00

504 lines
21 KiB
XML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-perl" role="wrap">
<?dbhtml filename="perl.html"?>
<sect1info condition="script">
<productname>perl</productname>
<productnumber>&perl-version;</productnumber>
<address>&perl-url;</address>
</sect1info>
<title>Perl-&perl-version;</title>
<indexterm zone="ch-system-perl">
<primary sortas="a-Perl">Perl</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>Высокоуровневый интерпретируемый динамический язык программирования общего назначения,
он необходим для установки и выполнения тестов некоторых пакетов LFS.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&perl-ch6-sbu;</seg>
<seg>&perl-ch6-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Установка пакета Perl</title>
<para>Для начала создадим файл <filename>/etc/hosts</filename> для определения ссылки в файлах конфигурации Perl и для прохождения опциональных наборов тестов:</para>
<screen><userinput remap="pre">echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
<para>Эта версия Perl теперь собирает Compress::Raw::Zlib и
Compress::Raw::BZip2 модули. По умолчанию, Perl будет использовать внутреннюю копию исходных файлов для сборки. Выполните следующую команду, чтобы использовать уже установленные системные библиотеки:</para>
<screen><userinput remap="pre">export BUILD_ZLIB=False
export BUILD_BZIP2=0</userinput></screen>
<!--
<para>Приментие патч to allow the Errno.pm module and the h2ph
program to build correctly when building with GCC 5:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&perl-gcc5-fixes-patch;</userinput></screen>
-->
<para>Чтобы иметь полный контроль над настройкой, можно убрать аргумент <quote>-des</quote> из нижеуказанной команды и вручную укажите местоположения для сборки. В качестве альтернативы используйте команду, как показано ниже и используйте настройки по умолчанию, которые автоматически обнаружит Perl:</para>
<screen><userinput remap="configure">sh Configure -des -Dprefix=/usr \
-Dvendorprefix=/usr \
-Dman1dir=/usr/share/man/man1 \
-Dman3dir=/usr/share/man/man3 \
-Dpager="/usr/bin/less -isR" \
-Duseshrplib \
-Dusethreads</userinput></screen>
<variablelist>
<title>Значение параметров конфигурации:</title>
<varlistentry>
<term><parameter>-Dvendorprefix=/usr</parameter></term>
<listitem>
<para>Гарантирует что <command>perl</command> будет знать место, куда выполнять установку модулей</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
<listitem>
<para>Гарантирует что будет использована программа <userinput>less</userinput> вместо
<userinput>more</userinput>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3</parameter></term>
<listitem>
<para>Поскольку Groff ещё не установлен, сценарий <command>Configure</command> думает что нам не требуется документация. Эти аргументы переопределяют это решение.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Duseshrplib</parameter></term>
<listitem>
<para>Сборка общей библиотеки libperl необходимая для некоторых модулей Perl</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-Dusethreads</parameter></term>
<listitem>
<para>Сборка Perl с поддержкой потоков</para>
</listitem>
</varlistentry>
</variablelist>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Для выполнения тестов (приблизительное время 11 SBU), выполните следующую команду:</para>
<screen><userinput remap="test">make -k test</userinput></screen>
<note>
<para>Один тест не пройдет из-за использования последней версии gdbm.</para></note>
<para>Установите пакет and clean up:</para>
<screen><userinput remap="install">make install
unset BUILD_ZLIB BUILD_BZIP2</userinput></screen>
</sect2>
<sect2 id="contents-perl" role="content">
<title>Содержимое пакета Perl</title>
<segmentedlist>
<segtitle>Установленные программы</segtitle>
<segtitle>Установленные библиотеки</segtitle>
<segtitle>Каталог установки</segtitle>
<seglistitem>
<seg>corelist, cpan, enc2xs, encguess, h2ph, h2xs, instmodsh,
json_pp, libnetcfg, perl, perl&perl-version; (hard link to perl),
perlbug, perldoc, perlivp, perlthanks (hard link to perlbug), piconv,
pl2pm, pod2html, pod2man, pod2text, pod2usage, podchecker, podselect,
prove, ptar, ptardiff, ptargrep, shasum,
splain, xsubpp, and zipdetails</seg>
<seg>Many which cannot all be listed here</seg>
<seg>/usr/lib/perl5</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Краткое описание</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<!-- <varlistentry id="c2ph">
<term><command>c2ph</command></term>
<listitem>
<para>Выполняет дамп структур Сгенерированных из
<command>cc -g -S</command></para>
<indexterm zone="ch-system-perl c2ph">
<primary sortas="b-c2ph">c2ph</primary>
</indexterm>
</listitem>
</varlistentry> -->
<varlistentry id="corelist">
<term><command>corelist</command></term>
<listitem>
<para>Интерфейс командной строки для модуля Module::CoreList</para>
<indexterm zone="ch-system-perl corelist">
<primary sortas="b-corelist">corelist</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="cpan">
<term><command>cpan</command></term>
<listitem>
<para>Взаимодействие с Comprehensive Perl Archive Network (CPAN)
из командной строки</para>
<indexterm zone="ch-system-perl cpan">
<primary sortas="b-cpan">cpan</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="enc2xs">
<term><command>enc2xs</command></term>
<listitem>
<para>Создает расширение Perl для модуля Encode из
           Unicode Character Mappings или файлы кодировки Tcl</para>
<indexterm zone="ch-system-perl enc2xs">
<primary sortas="b-enc2xs">enc2xs</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="encguess">
<term><command>encguess</command></term>
<listitem>
<para>Предполагает тип кодировки одного или нескольких файлов</para>
<indexterm zone="ch-system-perl encguess">
<primary sortas="b-encguess">encguess</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="h2ph">
<term><command>h2ph</command></term>
<listitem>
<para>Преобразует <filename class="extension">.h</filename> заголовочные файлы Си
в <filename class="extension">.ph</filename> заголовочные файлы Perl</para>
<indexterm zone="ch-system-perl h2ph">
<primary sortas="b-h2ph">h2ph</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="h2xs">
<term><command>h2xs</command></term>
<listitem>
<para>Преобразует <filename class="extension">.h</filename> заголовочные файлы Си
в расширение Perl</para>
<indexterm zone="ch-system-perl h2xs">
<primary sortas="b-h2xs">h2xs</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="instmodsh">
<term><command>instmodsh</command></term>
<listitem>
<para>Сценарий оболочки для проверки установленных модулей Perl,
           и создание архива из установленного модуля</para>
<indexterm zone="ch-system-perl instmodsh">
<primary sortas="b-instmodsh">instmodsh</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="json_pp">
<term><command>json_pp</command></term>
<listitem>
<para>Преобразует данные между определенными форматами ввода и вывода</para>
<indexterm zone="ch-system-perl json_pp">
<primary sortas="b-json_pp">json_pp</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libnetcfg">
<term><command>libnetcfg</command></term>
<listitem>
<para>Может использоваться для настройки модуля
<filename class="libraryfile">libnet</filename></para>
<indexterm zone="ch-system-perl libnetcfg">
<primary sortas="b-libnetcfg">libnetcfg</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perl">
<term><command>perl</command></term>
<listitem>
<para>Объединяет некоторые из лучших возможностей языка Си, <command>sed</command>,
<command>awk</command> и <command>sh</command>в один язык</para>
<indexterm zone="ch-system-perl perl">
<primary sortas="b-perl">perl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perl-version">
<term><command>perl&perl-version;</command></term>
<listitem>
<para>Жесткая ссылка на <command>perl</command></para>
<indexterm zone="ch-system-perl perl-version">
<primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perlbug">
<term><command>perlbug</command></term>
<listitem>
<para>Используется для создания отчетов об ошибках Perl или входящих в состав модулей, для отправки по электронной почте</para>
<indexterm zone="ch-system-perl perlbug">
<primary sortas="b-perlbug">perlbug</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perldoc">
<term><command>perldoc</command></term>
<listitem>
<para>Отображает часть документации в формате pod, которая встроена
           в дерево установки Perl или в сценарии Perl</para>
<indexterm zone="ch-system-perl perldoc">
<primary sortas="b-perldoc">perldoc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perlivp">
<term><command>perlivp</command></term>
<listitem>
<para>Процедура проверки установки Perl; его можно использовать для
           того чтобы убедиться в корректности установки и настройки Perl и его библиотек</para>
<indexterm zone="ch-system-perl perlivp">
<primary sortas="b-perlivp">perlivp</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perlthanks">
<term><command>perlthanks</command></term>
<listitem>
<para>Используется для создания благодарственных сообщений на электронную почту разработчиков Perl</para>
<indexterm zone="ch-system-perl perlthanks">
<primary sortas="b-perlthanks">perlthanks</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="piconv">
<term><command>piconv</command></term>
<listitem>
<para>Версия Perl конвертера кодировки символов
<command>iconv</command></para>
<indexterm zone="ch-system-perl piconv">
<primary sortas="b-piconv">piconv</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pl2pm">
<term><command>pl2pm</command></term>
<listitem>
<para>Грубый инструмент для преобразования файлов Perl4
<filename class="extension">.pl</filename> в модули Perl5
<filename class="extension">.pm</filename></para>
<indexterm zone="ch-system-perl pl2pm">
<primary sortas="b-pl2pm">pl2pm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pod2html">
<term><command>pod2html</command></term>
<listitem>
<para>Преобразует файлы из формата pod в формат HTML</para>
<indexterm zone="ch-system-perl pod2html">
<primary sortas="b-pod2html">pod2html</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pod2man">
<term><command>pod2man</command></term>
<listitem>
<para>Преобразует данные pod в форматированны формат * roff</para>
<indexterm zone="ch-system-perl pod2man">
<primary sortas="b-pod2man">pod2man</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pod2text">
<term><command>pod2text</command></term>
<listitem>
<para>Преобразует данные pod в форматированный текст ASCII</para>
<indexterm zone="ch-system-perl pod2text">
<primary sortas="b-pod2text">pod2text</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pod2usage">
<term><command>pod2usage</command></term>
<listitem>
<para>Отображает сообщений об использовании из встроенных документов pod в файлы</para>
<indexterm zone="ch-system-perl pod2usage">
<primary sortas="b-pod2usage">pod2usage</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="podchecker">
<term><command>podchecker</command></term>
<listitem>
<para>Проверяет синтаксис файлов документации формата pod</para>
<indexterm zone="ch-system-perl podchecker">
<primary sortas="b-podchecker">podchecker</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="podselect">
<term><command>podselect</command></term>
<listitem>
<para>Отображение выбранных разделов pod документации</para>
<indexterm zone="ch-system-perl podselect">
<primary sortas="b-podselect">podselect</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="prove">
<term><command>prove</command></term>
<listitem>
<para>Инструмент командной строки для запуска тестов модуля Test :: Harness</para>
<indexterm zone="ch-system-perl prove">
<primary sortas="b-prove">prove</primary>
</indexterm>
</listitem>
</varlistentry>
<!-- <varlistentry id="pstruct">
<term><command>pstruct</command></term>
<listitem>
<para>Дампы структур Си, сгенерированные из <command>cc -g -S</command></para>
<indexterm zone="ch-system-perl pstruct">
<primary sortas="b-pstruct">pstruct</primary>
</indexterm>
</listitem>
</varlistentry> -->
<varlistentry id="ptar">
<term><command>ptar</command></term>
<listitem>
<para>Похожая на <command>tar</command>программа, написанная на языке Perl</para>
<indexterm zone="ch-system-perl ptar">
<primary sortas="b-ptar">ptar</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ptardiff">
<term><command>ptardiff</command></term>
<listitem>
<para>Программа Perl, которая сравнивает извлеченный архив с
нераспакованной областью</para>
<indexterm zone="ch-system-perl ptardiff">
<primary sortas="b-ptardiff">ptardiff</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ptargrep">
<term><command>ptargrep</command></term>
<listitem>
<para>Программа Perl, применяющая сопоставление шаблонов к содержимому
файлов в архиве tar</para>
<indexterm zone="ch-system-perl ptargrep">
<primary sortas="b-ptargrep">ptargrep</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="shasum">
<term><command>shasum</command></term>
<listitem>
<para>Печать или проверка контрольных сумм SHA</para>
<indexterm zone="ch-system-perl shasum">
<primary sortas="b-shasum">shasum</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="splain">
<term><command>splain</command></term>
<listitem>
<para>Используется для диагностики предупреждений в Perl</para>
<indexterm zone="ch-system-perl splain">
<primary sortas="b-splain">splain</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="xsubpp">
<term><command>xsubpp</command></term>
<listitem>
<para>Преобразует Perl XS код в Си код</para>
<indexterm zone="ch-system-perl xsubpp">
<primary sortas="b-xsubpp">xsubpp</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="zipdetails">
<term><command>zipdetails</command></term>
<listitem>
<para>Отображает сведения о внутренней структуре Zip-файла</para>
<indexterm zone="ch-system-perl zipdetails">
<primary sortas="b-zipdetails">zipdetails</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>