diff options
Diffstat (limited to 'lfs-12.0-sysv/chapter08')
84 files changed, 29812 insertions, 0 deletions
diff --git a/lfs-12.0-sysv/chapter08/Python.html b/lfs-12.0-sysv/chapter08/Python.html new file mode 100644 index 0000000..097343b --- /dev/null +++ b/lfs-12.0-sysv/chapter08/Python.html @@ -0,0 +1,394 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.51. Python-3.11.4 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="libffi.html" title="Libffi-3.4.4">Пред.</a> + <p> + Libffi-3.4.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="flit-core.html" title= + "Flit-Core-3.9.0">След.</a> + <p> + Flit-Core-3.9.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-Python" name="ch-system-Python"></a>8.51. + Python-3.11.4 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Python 3 содержит среду разработчика Python. Его можно + использовать для объектно-ориентированного программирования, + написания скриптов, прототипирования больших программ и разработка + целых приложений. Python — это интерпретируемый язык + программирования. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">1.9 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">370 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.51.1. Установка пакета Python 3 + </h2> + <p> + Подготовьте Python к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --enable-shared \ + --with-system-expat \ + --with-system-ffi \ + --enable-optimizations</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-system-expat</code></em></span> + </dt> + <dd> + <p> + Этот параметр выполняет линковку с системной версией + <span class="application">Expat</span>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-system-ffi</code></em></span> + </dt> + <dd> + <p> + Этот параметр выполняет линковку с системной версией + <code class="filename">libffi.so</code>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-optimizations</code></em></span> + </dt> + <dd> + <p> + Этот параметр позволяет выполнить обширные, но отнимающие + много времени, действия по оптимизации. Интерпретатор + собирается дважды; тесты, выполненные при первой сборке, + используются для улучшения финальной версии. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Запускать тесты на этом этапе не рекомендуется. Известно, что тесты + зависают на неопределенный срок в неполной среде LFS. При желании + тесты можно запустить повторно в конце этой главы или при + переустановке Python 3 в BLFS. Чтобы запустить тесты, выполните + команду <span class="command"><strong>make test</strong></span>. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + В некоторых местах книги, мы используем команду <span class= + "command"><strong>pip3</strong></span> для установки программ и + модулей Python 3 от имени пользователя <code class= + "systemitem">root</code>. Это противоречит рекомендации + разработчиков Python: устанавливать пакеты в виртуальную среду или + домашний каталог обычного пользователя (путем запуска <span class= + "command"><strong>pip3</strong></span> от имени этого + пользователя). Поэтому всякий раз при использовании <span class= + "command"><strong>pip3</strong></span> от имени пользователя + <code class="systemitem">root</code> появляется многострочное + предупреждение. + </p> + <p> + Основная причина этой рекомендации — избежать конфликта с системным + менеджером пакетов (например, <span class= + "command"><strong>dpkg</strong></span>), но в LFS нет + общесистемного менеджера пакетов, так что это не проблема. Кроме + того, <span class="command"><strong>pip3</strong></span> будет + пытаться проверять наличие новой версии при каждом запуске. + Поскольку разрешение доменных имен в среде chroot LFS еще не + настроено, он не сможет проверить наличие новой версии и выдаст + предупреждение. + </p> + <p> + Как только мы загрузим систему LFS и настроим сетевое подключение, + <span class="command"><strong>pip3</strong></span> выдаст + предупреждение, сообщающее пользователю о необходимости обновить + его с помощью предварительно собранного whl-файла в PyPI (всякий + раз, когда будет доступна новая версия). Но LFS считает + <span class="command"><strong>pip3</strong></span> частью Python3, + поэтому его не следует обновлять отдельно. Кроме того, обновление + из whl-файла не соответствует цели проекта — собрать систему Linux + из исходного кода, поэтому предупреждение о новой версии + <span class="command"><strong>pip3</strong></span> следует + игнорировать. По желанию, вы можете отключить все предупреждение, + создав следующий файл конфигурации: + </p> + <pre class="userinput"><kbd class= + "command">cat > /etc/pip.conf << EOF +<code class="literal">[global] +root-user-action = ignore +disable-pip-version-check = true</code> +EOF +</kbd></pre> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + В LFS и BLFS мы собираем и устанавливаем модули Python с помощью + команды <span class="command"><strong>pip3</strong></span>. + Убедитесь, что команда <span class="command"><strong>pip3 + install</strong></span> в обеих книгах запускаются от имени + пользователя <code class="systemitem">root</code> (если только + она не для виртуальной среды Python). Запуск <span class= + "command"><strong>pip3 install</strong></span> от имени + пользователя без полномочий <code class="systemitem">root</code> + может показаться нормальным, но это приведет к тому, что + установленный модуль будет недоступен для других пользователей. + </p> + <p> + Команда <span class="command"><strong>pip3 + install</strong></span> по умолчанию не приведёт к автоматической + переустановке уже установленного модуля. Чтобы использовать + команду <span class="command"><strong>pip3 + install</strong></span> для обновления модуля (например, с + meson-0.61.3 до meson-0.62.0), добавьте параметр <em class= + "parameter"><code>--upgrade</code></em> в командную строку. Если + по какой-то причине необходимо понизить версию модуля или + переустановить ту же версию, используйте параметр <em class= + "parameter"><code>--force-reinstall --no-deps</code></em>. + </p> + </div> + <p> + По желанию установите предварительно отформатированную + документацию: + </p> + <pre class="userinput"><kbd class= + "command">install -v -dm755 /usr/share/doc/python-3.11.4/html + +tar --strip-components=1 \ + --no-same-owner \ + --no-same-permissions \ + -C /usr/share/doc/python-3.11.4/html \ + -xvf ../python-3.11.4-docs-html.tar.bz2</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение команд установки документации:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><code class="option">--no-same-owner</code> + и <code class="option">--no-same-permissions</code></span> + </dt> + <dd> + <p> + Проверяет, что установленные файлы имеют корректные права и + владельца файлов. Использование <span class= + "application">tar</span> без этих параметров приведет к + установке файлов с правами пользователя создавшего пакет. + </p> + </dd> + </dl> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-python" name="contents-python"></a>8.51.2. + Содержимое пакета Python 3 + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">2to3, idle3, pip3, pydoc3, python3 и + python3-config</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libpython3.11.so и libpython3.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/python3.11, /usr/lib/python3 + и /usr/share/doc/python-3.11.4</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="python-2to3" name="python-2to3"></a><span class= + "term"><span class= + "command"><strong>2to3</strong></span></span> + </p> + </td> + <td> + <p> + программа на <span class="application">Python</span>, + которая читает файлы написанные на <span class= + "application">Python 2.x</span>, применяет к ним серию + изменений и переводит их в валидный код <span class= + "application">Python 3.x</span>. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="idle3" name="idle3"></a><span class= + "term"><span class= + "command"><strong>idle3</strong></span></span> + </p> + </td> + <td> + <p> + скрипт-обертка, который открывает графический редактор с + поддержкой <span class="application">Python</span>. Для + запуска этого скрипта, перед установкой Python необходимо + установить <span class="application">Tk</span>, чтобы + модуль Tkinter Python был собран. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pip3" name="pip3"></a><span class= + "term"><span class= + "command"><strong>pip3</strong></span></span> + </p> + </td> + <td> + <p> + Установщик пакетов для Python. Вы можете использовать pip + для установки пакетов из каталога PyPI (Python Package + Index) и других источников. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pydoc3" name="pydoc3"></a><span class= + "term"><span class= + "command"><strong>pydoc3</strong></span></span> + </p> + </td> + <td> + <p> + инструмент документации <span class= + "application">Python</span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="python3" name="python3"></a><span class= + "term"><span class= + "command"><strong>python3</strong></span></span> + </p> + </td> + <td> + <p> + это интерпретатор для Python, интерпретируемый, + интерактивный, объектно-ориентированный язык + программирования + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="libffi.html" title="Libffi-3.4.4">Пред.</a> + <p> + Libffi-3.4.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="flit-core.html" title= + "Flit-Core-3.9.0">След.</a> + <p> + Flit-Core-3.9.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/aboutdebug.html b/lfs-12.0-sysv/chapter08/aboutdebug.html new file mode 100644 index 0000000..2a1cdd1 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/aboutdebug.html @@ -0,0 +1,136 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.81. Об отладочных символах + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="sysvinit.html" title= + "Sysvinit-3.07">Пред.</a> + <p> + Sysvinit-3.07 + </p> + </li> + <li class="next"> + <a accesskey="n" href="stripping.html" title= + "Удаление отладочных символов">След.</a> + <p> + Удаление отладочных символов + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="sect1" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-aboutdebug" name="ch-system-aboutdebug"></a>8.81. Об + отладочных символах + </h1> + <p> + Большинство программ и библиотек по умолчанию компилируются с + отладочными символами (<span class= + "command"><strong>gcc</strong></span> с параметром <em class= + "parameter"><code>-g</code></em>). Это означает, что при отладке + программы или библиотеки, которые были скомпилированы с + использованием отладочной информации, отладчик может предоставить не + только адреса памяти, но и имена подпрограмм и переменных. + </p> + <p> + Включение отладочных символов значительно увеличивает размер + программы или библиотеки. Ниже приведена информация по объему + пространства, занимаемого отладочными символами: + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + Двоичный файл <span class= + "command"><strong>bash</strong></span> с отладочными символами: + 1200 KB + </p> + </li> + <li class="listitem"> + <p> + Двоичный файл <span class= + "command"><strong>bash</strong></span> без отладочных символов: + 480 KB (на 60% меньше) + </p> + </li> + <li class="listitem"> + <p> + Файлы Glibc и GCC (<code class="filename">/lib</code> и + <code class="filename">/usr/lib</code>) с отладочными + символами: 87 MB + </p> + </li> + <li class="listitem"> + <p> + Файлы Glibc и GCC без отладочных символов: 16 MB (на 82% + меньше) + </p> + </li> + </ul> + </div> + <p> + Размеры могут варьироваться в зависимости от используемого + компилятора и библиотеки Си, но программа, в которой были удалены + отладочные символы, обычно примерно на 50-80% меньше, чем ее аналог с + ними. Поскольку большинство пользователей никогда не будут + использовать отладчик в своем программном обеспечении, удаление + отладочных символов может освободить много места на диске. В + следующем разделе показано, как удалить все отладочные символы из + программ и библиотек. + </p> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="sysvinit.html" title= + "Sysvinit-3.07">Пред.</a> + <p> + Sysvinit-3.07 + </p> + </li> + <li class="next"> + <a accesskey="n" href="stripping.html" title= + "Удаление отладочных символов">След.</a> + <p> + Удаление отладочных символов + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/acl.html b/lfs-12.0-sysv/chapter08/acl.html new file mode 100644 index 0000000..c3fafa5 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/acl.html @@ -0,0 +1,215 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.23. Acl-2.3.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="attr.html" title="Attr-2.5.1">Пред.</a> + <p> + Attr-2.5.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libcap.html" title="Libcap-2.69">След.</a> + <p> + Libcap-2.69 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-acl" name="ch-system-acl"></a>8.23. Acl-2.3.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Acl содержит утилиты для администрирования списков контроля + доступа, которые используются для определения расширенных + дискреционных прав доступа к файлам и каталогам. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">6.1 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.23.1. Установка пакета Acl + </h2> + <p> + Подготовьте Acl к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/acl-2.3.1</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Тесты Acl необходимо запускать в файловой системе, поддерживающей + списки контроля доступа, после сборки пакета <span class= + "application">Coreutils</span> с использованием библиотек Acl. По + желанию вернитесь к этому пакету и запустите <span class= + "command"><strong>make check</strong></span> после того, как будет + собран пакет <span class="application">Coreutils</span>. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-acl" name="contents-acl"></a>8.23.2. Содержимое + пакета Acl + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">chacl, getfacl, и setfacl</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libacl.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/acl и + /usr/share/doc/acl-2.3.1</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="chacl" name="chacl"></a><span class= + "term"><span class= + "command"><strong>chacl</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет список контроля доступа файла или каталога + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getfacl" name="getfacl"></a><span class= + "term"><span class= + "command"><strong>getfacl</strong></span></span> + </p> + </td> + <td> + <p> + Получает списки контроля доступа файла + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setfacl" name="setfacl"></a><span class= + "term"><span class= + "command"><strong>setfacl</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает списки контроля доступа к файлам + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libacl" name="libacl"></a><span class= + "term"><code class="filename">libacl</code></span> + </p> + </td> + <td> + <p> + Содержит библиотечные функции для управления списками + контроля доступа. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="attr.html" title="Attr-2.5.1">Пред.</a> + <p> + Attr-2.5.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libcap.html" title="Libcap-2.69">След.</a> + <p> + Libcap-2.69 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/attr.html b/lfs-12.0-sysv/chapter08/attr.html new file mode 100644 index 0000000..fe73baf --- /dev/null +++ b/lfs-12.0-sysv/chapter08/attr.html @@ -0,0 +1,214 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.22. Attr-2.5.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="mpc.html" title="MPC-1.3.1">Пред.</a> + <p> + MPC-1.3.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="acl.html" title="Acl-2.3.1">След.</a> + <p> + Acl-2.3.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-attr" name="ch-system-attr"></a>8.22. Attr-2.5.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Attr содержит утилиты для управления расширенными атрибутами + объектов файловой системы. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">4.1 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.22.1. Установка пакета Attr + </h2> + <p> + Подготовьте Attr к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --sysconfdir=/etc \ + --docdir=/usr/share/doc/attr-2.5.1</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Тесты необходимо запускать в файловой системе, которая поддерживает + расширенные атрибуты, например, ext2, ext3 или ext4. Чтобы + протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-attr" name="contents-attr"></a>8.22.2. Содержимое + пакета Attr + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">attr, getfattr, и setfattr</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libattr.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/attr и + /usr/share/doc/attr-2.5.1</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="attr" name="attr"></a><span class= + "term"><span class= + "command"><strong>attr</strong></span></span> + </p> + </td> + <td> + <p> + Расширяет атрибуты объектов файловой системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getfattr" name="getfattr"></a><span class= + "term"><span class= + "command"><strong>getfattr</strong></span></span> + </p> + </td> + <td> + <p> + Получает расширенные атрибуты объектов файловой системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setfattr" name="setfattr"></a><span class= + "term"><span class= + "command"><strong>setfattr</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает расширенные атрибуты объектов файловой + системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libattr" name="libattr"></a><span class= + "term"><code class="filename">libattr</code></span> + </p> + </td> + <td> + <p> + Содержит библиотечные функции для управления расширенными + атрибутами. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="mpc.html" title="MPC-1.3.1">Пред.</a> + <p> + MPC-1.3.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="acl.html" title="Acl-2.3.1">След.</a> + <p> + Acl-2.3.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/autoconf.html b/lfs-12.0-sysv/chapter08/autoconf.html new file mode 100644 index 0000000..f346be4 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/autoconf.html @@ -0,0 +1,310 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.45. Autoconf-2.71 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="intltool.html" title= + "Intltool-0.51.0">Пред.</a> + <p> + Intltool-0.51.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="automake.html" title= + "Automake-1.16.5">След.</a> + <p> + Automake-1.16.5 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-autoconf" name="ch-system-autoconf"></a>8.45. + Autoconf-2.71 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Autoconf содержит программы для создания сценариев оболочки, + которые могут автоматически настраивать исходный код. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU (около 6.0 SBU с + тестами)</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">24 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.45.1. Установка пакета Autoconf + </h2> + <p> + Во-первых, исправьте несколько проблем с тестами, обнаруженными в + bash-5.2 и более поздних версиях: + </p> + <pre class="userinput"><kbd class= + "command">sed -e 's/SECONDS|/&SHLVL|/' \ + -e '/BASH_ARGV=/a\ /^SHLVL=/ d' \ + -i.orig tests/local.at</kbd></pre> + <p> + Подготовьте Autoconf к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Время тестирования autoconf можно значительно сократить на + многоядерных системах. Для этого добавьте <span class= + "command"><strong>TESTSUITEFLAGS=-j<N></strong></span> к + строке выше. Использование аргумента -j4 может сократить время + тестирования более чем на 60 процентов. + </p> + </div> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-autoconf" name="contents-autoconf"></a>8.45.2. + Содержимое пакета Autoconf + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">autoconf, autoheader, autom4te, + autoreconf, autoscan, autoupdate, и ifnames</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/autoconf</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="autoconf" name="autoconf"></a><span class= + "term"><span class= + "command"><strong>autoconf</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует сценарии оболочки, которые автоматически + настраивают пакеты исходного кода программного + обеспечения для адаптации ко многим типам Unix-подобных + систем; создаваемые сценарии независимы—для их запуска не + требуется программа <span class= + "command"><strong>autoconf</strong></span>. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="autoheader" name="autoheader"></a><span class= + "term"><span class= + "command"><strong>autoheader</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент для создания файлов шаблонов операторов C + <span class="emphasis"><em>#define</em></span> для + использования в configure + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="autom4te" name="autom4te"></a><span class= + "term"><span class= + "command"><strong>autom4te</strong></span></span> + </p> + </td> + <td> + <p> + Обертка для макропроцессора M4 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="autoreconf" name="autoreconf"></a><span class= + "term"><span class= + "command"><strong>autoreconf</strong></span></span> + </p> + </td> + <td> + <p> + Автоматически запускает <span class= + "command"><strong>autoconf</strong></span>, <span class= + "command"><strong>autoheader</strong></span>, + <span class="command"><strong>aclocal</strong></span>, + <span class="command"><strong>automake</strong></span>, + <span class="command"><strong>gettextize</strong></span> + и <span class= + "command"><strong>libtoolize</strong></span> в правильном + порядке, чтобы сэкономить время, при внесении изменений в + файлы шаблонов <span class= + "command"><strong>autoconf</strong></span> и <span class= + "command"><strong>automake</strong></span>. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="autoscan" name="autoscan"></a><span class= + "term"><span class= + "command"><strong>autoscan</strong></span></span> + </p> + </td> + <td> + <p> + Помогает создать файл <code class= + "filename">configure.in</code> для пакета программного + обеспечения; проверяет исходные файлы в дереве каталогов, + ищет в них распространенные проблемы с переносимостью и + создает файл <code class= + "filename">configure.scan</code>, который является + предварительным для <code class= + "filename">configure.in</code>. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="autoupdate" name="autoupdate"></a><span class= + "term"><span class= + "command"><strong>autoupdate</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет файл <code class="filename">configure.in</code>, + вызывающий макросы <span class= + "command"><strong>autoconf</strong></span> по их старым + именам для использования текущих имен макросов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ifnames" name="ifnames"></a><span class= + "term"><span class= + "command"><strong>ifnames</strong></span></span> + </p> + </td> + <td> + <p> + Помогает при написании файла <code class= + "filename">configure.in</code> для пакета; выводит + идентификаторы, которые использует пакет в условных + выражениях препроцессора C. (Если пакет уже был настроен + для некоторой переносимости, эта программа может помочь + определить, что нужно проверить сценарию <span class= + "command"><strong>configure</strong></span>. Он также + может заполнить пробелы в файле <code class= + "filename">configure.in</code>, сгенерированном командой + <span class="command"><strong>autoscan</strong></span>.) + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="intltool.html" title= + "Intltool-0.51.0">Пред.</a> + <p> + Intltool-0.51.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="automake.html" title= + "Automake-1.16.5">След.</a> + <p> + Automake-1.16.5 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/automake.html b/lfs-12.0-sysv/chapter08/automake.html new file mode 100644 index 0000000..58fe7b9 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/automake.html @@ -0,0 +1,231 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.46. Automake-1.16.5 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="autoconf.html" title= + "Autoconf-2.71">Пред.</a> + <p> + Autoconf-2.71 + </p> + </li> + <li class="next"> + <a accesskey="n" href="openssl.html" title= + "OpenSSL-3.1.2">След.</a> + <p> + OpenSSL-3.1.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-automake" name="ch-system-automake"></a>8.46. + Automake-1.16.5 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Automake содержит программы генерации Makefile для + использования с Autoconf. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU (около 7.0 SBU с + тестами)</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">114 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.46.1. Установка пакета Automake + </h2> + <p> + Подготовьте Automake к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.16.5</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Использование опции make -j4 ускоряет тесты даже в системах с одним + процессором из-за внутренних задержек в отдельных тестах. Чтобы + протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class= + "command">make -j4 check</kbd></pre> + <p> + Известно, что тест t/subobj.sh не проходит. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-automake" name="contents-automake"></a>8.46.2. + Содержимое пакета Automake + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">aclocal, aclocal-1.16 (жестко связан с + aclocal), automake, и automake-1.16 (жестко связан с + automake)</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/aclocal-1.16, + /usr/share/automake-1.16, и + /usr/share/doc/automake-1.16.5</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="aclocal" name="aclocal"></a><span class= + "term"><span class= + "command"><strong>aclocal</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует файлы <code class="filename">aclocal.m4</code> + на основе содержимого файла <code class= + "filename">configure.in</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="aclocalversion" name= + "aclocalversion"></a><span class="term"><span class= + "command"><strong>aclocal-1.16</strong></span></span> + </p> + </td> + <td> + <p> + Жесткая ссылка на <span class= + "command"><strong>aclocal</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="automake" name="automake"></a><span class= + "term"><span class= + "command"><strong>automake</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент для автоматического создания <code class= + "filename">Makefile.in</code> из файлов <code class= + "filename">Makefile.am</code> [Чтобы создать все файлы + <code class="filename">Makefile.in</code> запустите эту + программу в каталоге верхнего уровня. Сканируя файл + <code class="filename">configure.in</code>, он + автоматически находит все подходящие файлы <code class= + "filename">Makefile.am</code> и создает соответствующий + <code class="filename">Makefile.in</code>.] + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="automake-version" name= + "automake-version"></a><span class="term"><span class= + "command"><strong>automake-1.16</strong></span></span> + </p> + </td> + <td> + <p> + Жесткая ссылка на <span class= + "command"><strong>automake</strong></span> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="autoconf.html" title= + "Autoconf-2.71">Пред.</a> + <p> + Autoconf-2.71 + </p> + </li> + <li class="next"> + <a accesskey="n" href="openssl.html" title= + "OpenSSL-3.1.2">След.</a> + <p> + OpenSSL-3.1.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/bash.html b/lfs-12.0-sysv/chapter08/bash.html new file mode 100644 index 0000000..6a67454 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/bash.html @@ -0,0 +1,265 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.35. Bash-5.2.15 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="grep.html" title="Grep-3.11">Пред.</a> + <p> + Grep-3.11 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libtool.html" title= + "Libtool-2.4.7">След.</a> + <p> + Libtool-2.4.7 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-bash" name="ch-system-bash"></a>8.35. Bash-5.2.15 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Bash содержит Bourne-Again Shell. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">1.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">52 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.35.1. Установка пакета Bash + </h2> + <p> + Подготовьте Bash к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --without-bash-malloc \ + --with-installed-readline \ + --docdir=/usr/share/doc/bash-5.2.15</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение нового параметра настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-installed-readline</code></em></span> + </dt> + <dd> + <p> + Этот параметр указывает Bash использовать библиотеку + <code class="filename">readline</code>, которая уже + установлена в системе, а не собственную версию readline. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Перейдите к разделу <span class="quote">«<span class= + "quote">Установка пакета</span>»</span>, если не планируете + запускать тесты. + </p> + <p> + Перед запуском тестов, убедитесь, что пользователь <code class= + "systemitem">tester</code> может писать в каталог с исходниками: + </p> + <pre class="userinput"><kbd class= + "command">chown -Rv tester .</kbd></pre> + <p> + Набор тестов пакета предназначен для запуска пользователем без + полномочий root, которому принадлежит терминал, подключенный к + стандартному вводу. Чтобы удовлетворить это требование, создайте + новый псевдотерминал с помощью <span class= + "application">Expect</span> и запустите тесты от имени пользователя + <code class="systemitem">tester</code>: + </p> + <pre class="userinput"><kbd class= + "command">su -s /usr/bin/expect tester << EOF +set timeout -1 +spawn make tests +expect eof +lassign [wait] _ _ _ value +exit $value +EOF</kbd></pre> + <p> + Набор тестов использует <span class= + "command"><strong>diff</strong></span> для определения разницы + между выводом тестового сценария и ожидаемым результатом. Любой + вывод <span class="command"><strong>diff</strong></span> (с + префиксом <code class="computeroutput"><</code> и <code class= + "computeroutput">></code>) указывает на сбой теста, если нет + сообщение о том, что различия можно проигнорировать. Известно, что + один тест с именем <code class="filename">run-builtins</code> не + работает на некоторых хост-дистрибутивах, указывая на различия в + первой строке выходных данных. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Запустите только что скомпилированную программу <span class= + "command"><strong>bash</strong></span> (заменив ту, которая + выполняется в данный момент): + </p> + <pre class="userinput"><kbd class= + "command">exec /usr/bin/bash --login</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-bash" name="contents-bash"></a>8.35.2. Содержимое + пакета Bash + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">bash, bashbug и sh (ссылка на + bash)</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/bash, /usr/lib/bash, and + /usr/share/doc/bash-5.2.15</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="bash" name="bash"></a><span class= + "term"><span class= + "command"><strong>bash</strong></span></span> + </p> + </td> + <td> + <p> + Широко распространенный командный интерпретатор. + Выполняет различные дополнения и подстановки в переданной + командной строке перед её выполнением, что делает этот + интерпретатор мощным инструментом + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bashbug" name="bashbug"></a><span class= + "term"><span class= + "command"><strong>bashbug</strong></span></span> + </p> + </td> + <td> + <p> + Скрипт, помогающий пользователю составлять и отправлять + по почте отчеты об ошибках <span class= + "command"><strong>bash</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sh" name="sh"></a><span class="term"><span class= + "command"><strong>sh</strong></span></span> + </p> + </td> + <td> + <p> + Симлинк на программу <span class= + "command"><strong>bash</strong></span>; при вызове + <span class="command"><strong>sh</strong></span>, + <span class="command"><strong>bash</strong></span> + пытается максимально точно имитировать поведение + <span class="command"><strong>sh</strong></span>, при + этом также соответствуя стандарту POSIX. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="grep.html" title="Grep-3.11">Пред.</a> + <p> + Grep-3.11 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libtool.html" title= + "Libtool-2.4.7">След.</a> + <p> + Libtool-2.4.7 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/bc.html b/lfs-12.0-sysv/chapter08/bc.html new file mode 100644 index 0000000..429ce7d --- /dev/null +++ b/lfs-12.0-sysv/chapter08/bc.html @@ -0,0 +1,214 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.13. Bc-6.6.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="m4.html" title="M4-1.4.19">Пред.</a> + <p> + M4-1.4.19 + </p> + </li> + <li class="next"> + <a accesskey="n" href="flex.html" title="Flex-2.6.4">След.</a> + <p> + Flex-2.6.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-bc" name="ch-system-bc"></a>8.13. Bc-6.6.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Bc содержит язык для обработки чисел произвольной точности. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">7.7 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.13.1. Установка пакета Bc + </h2> + <p> + Подготовьте Bc к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">CC=gcc ./configure --prefix=/usr -G -O3 -r</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>CC=gcc</code></em></span> + </dt> + <dd> + <p> + Этот параметр определяет используемый компилятор + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-G</code></em></span> + </dt> + <dd> + <p> + Пропускает часть тестов, которые не будут работать, пока не + будет установлена программа bc. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-O3</code></em></span> + </dt> + <dd> + <p> + Указывает используемый уровень оптимизации. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-r</code></em></span> + </dt> + <dd> + <p> + Включает использование <span class= + "application">Readline</span> для улучшения функции + редактирования строк в bc. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать bc, запустите: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-bc" name="contents-bc"></a>8.13.2. Содержимое + пакета Bc + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">bc и dc</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="bc" name="bc"></a><span class="term"><span class= + "command"><strong>bc</strong></span></span> + </p> + </td> + <td> + <p> + Калькулятор командной строки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dc" name="dc"></a><span class="term"><span class= + "command"><strong>dc</strong></span></span> + </p> + </td> + <td> + <p> + Калькулятор командной строки с обратной польской нотацией + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="m4.html" title="M4-1.4.19">Пред.</a> + <p> + M4-1.4.19 + </p> + </li> + <li class="next"> + <a accesskey="n" href="flex.html" title="Flex-2.6.4">След.</a> + <p> + Flex-2.6.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/binutils.html b/lfs-12.0-sysv/chapter08/binutils.html new file mode 100644 index 0000000..7248a33 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/binutils.html @@ -0,0 +1,656 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.18. Binutils-2.41 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="dejagnu.html" title= + "DejaGNU-1.6.3">Пред.</a> + <p> + DejaGNU-1.6.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gmp.html" title="GMP-6.3.0">След.</a> + <p> + GMP-6.3.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-binutils" name="ch-system-binutils"></a>8.18. + Binutils-2.41 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Binutils содержит компоновщик, ассемблер и другие инструменты + для работы с объектными файлами. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">2.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">2.7 GB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.18.1. Установка пакета Binutils + </h2> + <p> + Документация Binutils рекомендует выполнять компиляцию в отдельном + каталоге: + </p> + <pre class="userinput"><kbd class="command">mkdir -v build +cd build</kbd></pre> + <p> + Подготовьте Binutils к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">../configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-gold \ + --enable-ld=default \ + --enable-plugins \ + --enable-shared \ + --disable-werror \ + --enable-64-bit-bfd \ + --with-system-zlib</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-gold</code></em></span> + </dt> + <dd> + <p> + Собирает компоновщик gold и устанавливает его как ld.gold + (вместе с компоновщиком по умолчанию). + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-ld=default</code></em></span> + </dt> + <dd> + <p> + Собирает оригинальный компоновщик bfd и устанавливает его как + ld (компоновщик по умолчанию) и как ld.bfd + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-plugins</code></em></span> + </dt> + <dd> + <p> + Включает поддержку плагинов для компоновщика. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-64-bit-bfd</code></em></span> + </dt> + <dd> + <p> + Включает 64-разрядную поддержку (на хостах с ограниченным + размерам слов). Может не понадобится в 64-разрядных системах, + но вреда от этого не будет. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-system-zlib</code></em></span> + </dt> + <dd> + <p> + Использовать установленную библиотеку zlib вместо сборки + собственной. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class= + "command">make tooldir=/usr</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра make:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>tooldir=/usr</code></em></span> + </dt> + <dd> + <p> + Обычно для tooldir (каталога, в котором будут расположены + исполняемые файлы) установлено значение <code class= + "filename">$(exec_prefix)/$(target_alias)</code>. Например, + машины x86_64 преобразуют это значение в <code class= + "filename">/usr/x86_64-unknown-linux-gnu</code>. Поскольку + это пользовательская система, то целевой каталог в + <code class="filename">/usr</code> не требуется. Параметр + <code class="filename">$(exec_prefix)/$(target_alias)</code> + использовался, если бы система применялась для + кросс-компиляции (например, при компиляции пакета на + компьютере Intel, который генерирует код, который может быть + выполнен на компьютерах PowerPC). + </p> + </dd> + </dl> + </div> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Набор тестов для Binutils в этом разделе считается критически + важным. Ни в коем случае не пропускайте его. + </p> + </div> + <p> + Выполните тестирование: + </p> + <pre class="userinput"><kbd class="command">make -k check</kbd></pre> + <p> + Чтобы получить список неудачных тестов, запустите: + </p> + <pre class="userinput"><kbd class= + "command">grep '^FAIL:' $(find -name '*.log')</kbd></pre> + <p> + Двенадцать тестов завершаются неудачно в наборе тестов gold, когда + GCC собирается с параметрами <code class= + "option">--enable-default-pie</code> и <code class= + "option">--enable-default-ssp</code>. + </p> + <p> + Также известно, что завершаются неудачно три теста в пакете + gprofng. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make tooldir=/usr install</kbd></pre> + <p> + Удалите бесполезные статические библиотеки: + </p> + <pre class="userinput"><kbd class= + "command">rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-binutils" name="contents-binutils"></a>8.18.2. + Содержимое пакета Binutils + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">addr2line, ar, as, c++filt, dwp, elfedit, + gprof, gprofng, ld, ld.bfd, ld.gold, nm, objcopy, objdump, + ranlib, readelf, size, strings и strip</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libbfd.so, libctf.so, libctf-nobfd.so, + libgprofng.so, libopcodes.so и libsframe.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/ldscripts</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="addr2line" name="addr2line"></a><span class= + "term"><span class= + "command"><strong>addr2line</strong></span></span> + </p> + </td> + <td> + <p> + Переводит адреса программ в имена файлов и номера строк; + учитывая адрес и имя исполняемого файла, использует + отладочную информацию в исполняемом файле, для + определения файла исходного кода и номера строки, + ассоциированной с адресом + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ar" name="ar"></a><span class="term"><span class= + "command"><strong>ar</strong></span></span> + </p> + </td> + <td> + <p> + Создаёт, изменяет и распаковывает архивы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="as" name="as"></a><span class="term"><span class= + "command"><strong>as</strong></span></span> + </p> + </td> + <td> + <p> + Ассемблер, который собирает результат работы <span class= + "command"><strong>gcc</strong></span> в объектные файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="c-filt" name="c-filt"></a><span class= + "term"><span class= + "command"><strong>c++filt</strong></span></span> + </p> + </td> + <td> + <p> + Используется компоновщиком для исправления символов C++ и + Java и предотвращения конфликтов перегруженных функций. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dwp" name="dwp"></a><span class= + "term"><span class="command"><strong>dwp</strong></span></span> + </p> + </td> + <td> + <p> + Утилита для упаковки DWARF + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="elfedit" name="elfedit"></a><span class= + "term"><span class= + "command"><strong>elfedit</strong></span></span> + </p> + </td> + <td> + <p> + Обновляет ELF заголовки в ELF файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gprof" name="gprof"></a><span class= + "term"><span class= + "command"><strong>gprof</strong></span></span> + </p> + </td> + <td> + <p> + Отображает в графическом виде информацию о профилировании + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gprofng" name="gprofng"></a><span class= + "term"><span class= + "command"><strong>gprofng</strong></span></span> + </p> + </td> + <td> + <p> + Собирает и анализирует данные о производительности + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ld" name="ld"></a><span class="term"><span class= + "command"><strong>ld</strong></span></span> + </p> + </td> + <td> + <p> + Компоновщик, который объединяет несколько объектных и + архивных файлов в один файл, перемещая их данные и + связывая символическими ссылками + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ld.gold" name="ld.gold"></a><span class= + "term"><span class= + "command"><strong>ld.gold</strong></span></span> + </p> + </td> + <td> + <p> + Урезанная версия ld, которая поддерживает только формат + объектных файлов elf + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ld.bfd" name="ld.bfd"></a><span class= + "term"><span class= + "command"><strong>ld.bfd</strong></span></span> + </p> + </td> + <td> + <p> + Жесткая ссылка на <span class= + "command"><strong>ld</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nm" name="nm"></a><span class="term"><span class= + "command"><strong>nm</strong></span></span> + </p> + </td> + <td> + <p> + Выводит список символов, используемых в данном объектном + файле + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="objcopy" name="objcopy"></a><span class= + "term"><span class= + "command"><strong>objcopy</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует один тип объектного файла в другой + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="objdump" name="objdump"></a><span class= + "term"><span class= + "command"><strong>objdump</strong></span></span> + </p> + </td> + <td> + <p> + Отображает информацию о данном объектном файле; можно + указать параметры, определяющие, какая конкретно + информация будет отображаться. Отображаемая информация + полезна для программистов, которые работают над + инструментами, используемыми при компиляции + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ranlib" name="ranlib"></a><span class= + "term"><span class= + "command"><strong>ranlib</strong></span></span> + </p> + </td> + <td> + <p> + Создает индекс содержимого архива и сохраняет его в + архиве; в индексе перечислены все символы, определенные в + перемещаемых объектных файлах, содержащихся в архиве + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="readelf" name="readelf"></a><span class= + "term"><span class= + "command"><strong>readelf</strong></span></span> + </p> + </td> + <td> + <p> + Отображает информацию о двоичных файлах типа ELF + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="size" name="size"></a><span class= + "term"><span class= + "command"><strong>size</strong></span></span> + </p> + </td> + <td> + <p> + Отображает размеры секций и общий размер указанных + объектных файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="strings" name="strings"></a><span class= + "term"><span class= + "command"><strong>strings</strong></span></span> + </p> + </td> + <td> + <p> + Выводит для каждого указанного файла последовательности + печатаемых символов, которые имеют по крайней мере + указанную длину (по умолчанию четыре); для объектных + файлов по умолчанию печатаются только строки из секций + инициализации и загрузки, в то время как для других + файлов он сканирует весь файл. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="strip" name="strip"></a><span class= + "term"><span class= + "command"><strong>strip</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет символы из объектных файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libbfd" name="libbfd"></a><span class= + "term"><code class="filename">libbfd</code></span> + </p> + </td> + <td> + <p> + Библиотека дескрипторов двоичных файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libctf" name="libctf"></a><span class= + "term"><code class="filename">libctf</code></span> + </p> + </td> + <td> + <p> + Библиотека отладки формата Compat ANSI-C Type + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libctf-nobfd" name="libctf-nobfd"></a><span class= + "term"><code class="filename">libctf-nobfd</code></span> + </p> + </td> + <td> + <p> + Вариант libctf, не использующий функциональность libbfd. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgprofng" name="libgprofng"></a><span class= + "term"><code class="filename">libgprofng</code></span> + </p> + </td> + <td> + <p> + Библиотека, содержащая большинство подпрограмм, + используемых <span class= + "command"><strong>gprofng</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libopcodes" name="libopcodes"></a><span class= + "term"><code class="filename">libopcodes</code></span> + </p> + </td> + <td> + <p> + Библиотека для работы с опкодами—<span class= + "quote">«<span class="quote">читаемыми</span>»</span> + версиями инструкций для процессора. Используется для + сборки таких утилит как <span class= + "command"><strong>objdump</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libsframe" name="libsframe"></a><span class= + "term"><code class="filename">libsframe</code></span> + </p> + </td> + <td> + <p> + Библиотека для поддержки обратной онлайн-трассировки с + использованием простого декодера разделов .sframe. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="dejagnu.html" title= + "DejaGNU-1.6.3">Пред.</a> + <p> + DejaGNU-1.6.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gmp.html" title="GMP-6.3.0">След.</a> + <p> + GMP-6.3.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/bison.html b/lfs-12.0-sysv/chapter08/bison.html new file mode 100644 index 0000000..cab98f5 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/bison.html @@ -0,0 +1,203 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.33. Bison-3.8.2 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="gettext.html" title="Gettext-0.22">Пред.</a> + <p> + Gettext-0.22 + </p> + </li> + <li class="next"> + <a accesskey="n" href="grep.html" title="Grep-3.11">След.</a> + <p> + Grep-3.11 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-bison" name="ch-system-bison"></a>8.33. Bison-3.8.2 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Bison содержит генератор синтаксического анализа. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">2.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">62 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.33.1. Установка пакета Bison + </h2> + <p> + Подготовьте Bison к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr --docdir=/usr/share/doc/bison-3.8.2</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Для тестирования пакета (около 5,5 SBU), выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-bison" name="contents-bison"></a>8.33.2. Содержимое + пакета Bison + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">bison и yacc</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">liby.a</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/bison</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="bison" name="bison"></a><span class= + "term"><span class= + "command"><strong>bison</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует из набора правил программу для анализа + структуры текстовых файлов; Bison является заменой Yacc + (Yet Another Compiler Compiler) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="yacc" name="yacc"></a><span class= + "term"><span class= + "command"><strong>yacc</strong></span></span> + </p> + </td> + <td> + <p> + Обертка для <span class= + "command"><strong>bison</strong></span>, предназначенная + для программ, которые до сих пор вызывают <span class= + "command"><strong>yacc</strong></span> вместо + <span class="command"><strong>bison</strong></span>; он + вызывает <span class= + "command"><strong>bison</strong></span> с параметром + <em class="parameter"><code>-y</code></em> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="liby" name="liby"></a><span class= + "term"><code class="filename">liby</code></span> + </p> + </td> + <td> + <p> + Библиотека Yacc, содержащая реализации Yacc-совместимых + функций <code class="function">yyerror</code> и + <code class="function">main</code>; обычно эта библиотека + не очень нужна, но требуется POSIX + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="gettext.html" title="Gettext-0.22">Пред.</a> + <p> + Gettext-0.22 + </p> + </li> + <li class="next"> + <a accesskey="n" href="grep.html" title="Grep-3.11">След.</a> + <p> + Grep-3.11 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/bzip2.html b/lfs-12.0-sysv/chapter08/bzip2.html new file mode 100644 index 0000000..f9f84a5 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/bzip2.html @@ -0,0 +1,394 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.7. Bzip2-1.0.8 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="zlib.html" title="Zlib-1.2.13">Пред.</a> + <p> + Zlib-1.2.13 + </p> + </li> + <li class="next"> + <a accesskey="n" href="xz.html" title="Xz-5.4.4">След.</a> + <p> + Xz-5.4.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-bzip2" name="ch-system-bzip2"></a>8.7. Bzip2-1.0.8 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Bzip2 содержит программы для сжатия и распаковки файлов. + Сжатие текстовых файлов с помощью <span class= + "command"><strong>bzip2</strong></span> даёт больший процент + сжатия, чем традиционный <span class= + "command"><strong>gzip</strong></span>. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">7.2 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.7.1. Установка пакета Bzip2 + </h2> + <p> + Примените патч, который установит документацию для этого пакета: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch</kbd></pre> + <p> + Следующая команда гарантирует установку символических ссылок с + относительным путём: + </p> + <pre class="userinput"><kbd class= + "command">sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile</kbd></pre> + <p> + Убедитесь, что справочные страницы установлены в правильном месте: + </p> + <pre class="userinput"><kbd class= + "command">sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile</kbd></pre> + <p> + Подготовьте Bzip2 к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">make -f Makefile-libbz2_so +make clean</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра make:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class="parameter"><code>-f + Makefile-libbz2_so</code></em></span> + </dt> + <dd> + <p> + Этот параметр позволяет выполнить сборку, с использованием + другого <code class="filename">Makefile</code>, в данном + случае <code class="filename">Makefile-libbz2_so</code>, + который создает динамическую библиотеку <code class= + "filename">libbz2.so</code> и связывает с ней Bzip2. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте и протестируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make PREFIX=/usr install</kbd></pre> + <p> + Установите библиотеку: + </p> + <pre class="userinput"><kbd class= + "command">cp -av libbz2.so.* /usr/lib +ln -sv libbz2.so.1.0.8 /usr/lib/libbz2.so</kbd></pre> + <p> + Установите общий бинарный файл <span class= + "command"><strong>bzip2</strong></span> в каталог <code class= + "filename">/usr/bin</code>, и замените две копии <span class= + "command"><strong>bzip2</strong></span> символическими ссылками: + </p> + <pre class="userinput"><kbd class= + "command">cp -v bzip2-shared /usr/bin/bzip2 +for i in /usr/bin/{bzcat,bunzip2}; do + ln -sfv bzip2 $i +done</kbd></pre> + <p> + Удалите ненужную статическую библиотеку: + </p> + <pre class="userinput"><kbd class= + "command">rm -fv /usr/lib/libbz2.a</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-bzip2" name="contents-bzip2"></a>8.7.2. Содержимое + пакета Bzip2 + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">bunzip2 (ссылка на bzip2), bzcat (ссылка + на bzip2), bzcmp (ссылка на bzdiff), bzdiff, bzegrep (ссылка на + bzgrep), bzfgrep (ссылка на bzgrep), bzgrep, bzip2, + bzip2recover, bzless (ссылка на bzmore) и bzmore</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libbz2.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/bzip2-1.0.8</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="bunzip2" name="bunzip2"></a><span class= + "term"><span class= + "command"><strong>bunzip2</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает bzip-файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzcat" name="bzcat"></a><span class= + "term"><span class= + "command"><strong>bzcat</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает в поток стандартного вывода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzcmp" name="bzcmp"></a><span class= + "term"><span class= + "command"><strong>bzcmp</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу <span class= + "command"><strong>cmp</strong></span> для bzip файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzdiff" name="bzdiff"></a><span class= + "term"><span class= + "command"><strong>bzdiff</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу <span class= + "command"><strong>diff</strong></span> для bzip файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzegrep" name="bzegrep"></a><span class= + "term"><span class= + "command"><strong>bzegrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу <span class= + "command"><strong>egrep</strong></span> для bzip файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzfgrep" name="bzfgrep"></a><span class= + "term"><span class= + "command"><strong>bzfgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу <span class= + "command"><strong>fgrep</strong></span> для bzip файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzgrep" name="bzgrep"></a><span class= + "term"><span class= + "command"><strong>bzgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу <span class= + "command"><strong>grep</strong></span> для bzip файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzip2" name="bzip2"></a><span class= + "term"><span class= + "command"><strong>bzip2</strong></span></span> + </p> + </td> + <td> + <p> + Сжимает файлы, используя алгоритм сжатия текста с блочной + сортировкой Барроуза — Уилера и кодирование Хафмана; + степень сжатия лучше, чем у более традиционных + архиваторов, использующих алгоритмы <span class= + "quote">«<span class="quote">Lempel-Ziv</span>»</span>, + например <span class= + "command"><strong>gzip</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzip2recover" name="bzip2recover"></a><span class= + "term"><span class= + "command"><strong>bzip2recover</strong></span></span> + </p> + </td> + <td> + <p> + Пытается восстанавливать данные из поврежденных архивов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzless" name="bzless"></a><span class= + "term"><span class= + "command"><strong>bzless</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу <span class= + "command"><strong>less</strong></span> для bzip файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bzmore" name="bzmore"></a><span class= + "term"><span class= + "command"><strong>bzmore</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу <span class= + "command"><strong>more</strong></span> для bzip файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libbz2" name="libbz2"></a><span class= + "term"><code class="filename">libbz2</code></span> + </p> + </td> + <td> + <p> + Библиотека, реализующая сжатие данных без потерь с + использованием алгоритма Барроуза-Уилера. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="zlib.html" title="Zlib-1.2.13">Пред.</a> + <p> + Zlib-1.2.13 + </p> + </li> + <li class="next"> + <a accesskey="n" href="xz.html" title="Xz-5.4.4">След.</a> + <p> + Xz-5.4.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/chapter08.html b/lfs-12.0-sysv/chapter08/chapter08.html new file mode 100644 index 0000000..0783d75 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/chapter08.html @@ -0,0 +1,337 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + Глава 8. Установка базового системного программного обеспечения + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Часть IV. Сборка системы LFS + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="../part4.html" title= + "Сборка системы LFS">Пред.</a> + <p> + Сборка системы LFS + </p> + </li> + <li class="next"> + <a accesskey="n" href="introduction.html" title= + "Введение">След.</a> + <p> + Введение + </p> + </li> + <li class="up"> + <a accesskey="u" href="../part4.html" title= + "Часть IV. Сборка системы LFS">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="chapter" lang="en" xml:lang="en"> + <h1 class="chapter"> + <a id="chapter-building-system" name="chapter-building-system"></a>8. + Установка базового системного программного обеспечения + </h1> + <div class="toc"> + <h3> + Содержание + </h3> + <ul> + <li class="sect1"> + <a href="introduction.html">Введение</a> + </li> + <li class="sect1"> + <a href="pkgmgt.html">Управление пакетами</a> + </li> + <li class="sect1"> + <a href="man-pages.html">Man-pages-6.05.01</a> + </li> + <li class="sect1"> + <a href="iana-etc.html">Iana-Etc-20230810</a> + </li> + <li class="sect1"> + <a href="glibc.html">Glibc-2.38</a> + </li> + <li class="sect1"> + <a href="zlib.html">Zlib-1.2.13</a> + </li> + <li class="sect1"> + <a href="bzip2.html">Bzip2-1.0.8</a> + </li> + <li class="sect1"> + <a href="xz.html">Xz-5.4.4</a> + </li> + <li class="sect1"> + <a href="zstd.html">Zstd-1.5.5</a> + </li> + <li class="sect1"> + <a href="file.html">File-5.45</a> + </li> + <li class="sect1"> + <a href="readline.html">Readline-8.2</a> + </li> + <li class="sect1"> + <a href="m4.html">M4-1.4.19</a> + </li> + <li class="sect1"> + <a href="bc.html">Bc-6.6.0</a> + </li> + <li class="sect1"> + <a href="flex.html">Flex-2.6.4</a> + </li> + <li class="sect1"> + <a href="tcl.html">Tcl-8.6.13</a> + </li> + <li class="sect1"> + <a href="expect.html">Expect-5.45.4</a> + </li> + <li class="sect1"> + <a href="dejagnu.html">DejaGNU-1.6.3</a> + </li> + <li class="sect1"> + <a href="binutils.html">Binutils-2.41</a> + </li> + <li class="sect1"> + <a href="gmp.html">GMP-6.3.0</a> + </li> + <li class="sect1"> + <a href="mpfr.html">MPFR-4.2.0</a> + </li> + <li class="sect1"> + <a href="mpc.html">MPC-1.3.1</a> + </li> + <li class="sect1"> + <a href="attr.html">Attr-2.5.1</a> + </li> + <li class="sect1"> + <a href="acl.html">Acl-2.3.1</a> + </li> + <li class="sect1"> + <a href="libcap.html">Libcap-2.69</a> + </li> + <li class="sect1"> + <a href="libxcrypt.html">Libxcrypt-4.4.36</a> + </li> + <li class="sect1"> + <a href="shadow.html">Shadow-4.13</a> + </li> + <li class="sect1"> + <a href="gcc.html">GCC-13.2.0</a> + </li> + <li class="sect1"> + <a href="pkgconf.html">Pkgconf-2.0.1</a> + </li> + <li class="sect1"> + <a href="ncurses.html">Ncurses-6.4</a> + </li> + <li class="sect1"> + <a href="sed.html">Sed-4.9</a> + </li> + <li class="sect1"> + <a href="psmisc.html">Psmisc-23.6</a> + </li> + <li class="sect1"> + <a href="gettext.html">Gettext-0.22</a> + </li> + <li class="sect1"> + <a href="bison.html">Bison-3.8.2</a> + </li> + <li class="sect1"> + <a href="grep.html">Grep-3.11</a> + </li> + <li class="sect1"> + <a href="bash.html">Bash-5.2.15</a> + </li> + <li class="sect1"> + <a href="libtool.html">Libtool-2.4.7</a> + </li> + <li class="sect1"> + <a href="gdbm.html">GDBM-1.23</a> + </li> + <li class="sect1"> + <a href="gperf.html">Gperf-3.1</a> + </li> + <li class="sect1"> + <a href="expat.html">Expat-2.5.0</a> + </li> + <li class="sect1"> + <a href="inetutils.html">Inetutils-2.4</a> + </li> + <li class="sect1"> + <a href="less.html">Less-643</a> + </li> + <li class="sect1"> + <a href="perl.html">Perl-5.38.0</a> + </li> + <li class="sect1"> + <a href="xml-parser.html">XML::Parser-2.46</a> + </li> + <li class="sect1"> + <a href="intltool.html">Intltool-0.51.0</a> + </li> + <li class="sect1"> + <a href="autoconf.html">Autoconf-2.71</a> + </li> + <li class="sect1"> + <a href="automake.html">Automake-1.16.5</a> + </li> + <li class="sect1"> + <a href="openssl.html">OpenSSL-3.1.2</a> + </li> + <li class="sect1"> + <a href="kmod.html">Kmod-30</a> + </li> + <li class="sect1"> + <a href="libelf.html">Libelf из Elfutils-0.189</a> + </li> + <li class="sect1"> + <a href="libffi.html">Libffi-3.4.4</a> + </li> + <li class="sect1"> + <a href="Python.html">Python-3.11.4</a> + </li> + <li class="sect1"> + <a href="flit-core.html">Flit-Core-3.9.0</a> + </li> + <li class="sect1"> + <a href="wheel.html">Wheel-0.41.1</a> + </li> + <li class="sect1"> + <a href="ninja.html">Ninja-1.11.1</a> + </li> + <li class="sect1"> + <a href="meson.html">Meson-1.2.1</a> + </li> + <li class="sect1"> + <a href="coreutils.html">Coreutils-9.3</a> + </li> + <li class="sect1"> + <a href="check.html">Check-0.15.2</a> + </li> + <li class="sect1"> + <a href="diffutils.html">Diffutils-3.10</a> + </li> + <li class="sect1"> + <a href="gawk.html">Gawk-5.2.2</a> + </li> + <li class="sect1"> + <a href="findutils.html">Findutils-4.9.0</a> + </li> + <li class="sect1"> + <a href="groff.html">Groff-1.23.0</a> + </li> + <li class="sect1"> + <a href="grub.html">GRUB-2.06</a> + </li> + <li class="sect1"> + <a href="gzip.html">Gzip-1.12</a> + </li> + <li class="sect1"> + <a href="iproute2.html">IPRoute2-6.4.0</a> + </li> + <li class="sect1"> + <a href="kbd.html">Kbd-2.6.1</a> + </li> + <li class="sect1"> + <a href="libpipeline.html">Libpipeline-1.5.7</a> + </li> + <li class="sect1"> + <a href="make.html">Make-4.4.1</a> + </li> + <li class="sect1"> + <a href="patch.html">Patch-2.7.6</a> + </li> + <li class="sect1"> + <a href="tar.html">Tar-1.35</a> + </li> + <li class="sect1"> + <a href="texinfo.html">Texinfo-7.0.3</a> + </li> + <li class="sect1"> + <a href="vim.html">Vim-9.0.1677</a> + </li> + <li class="sect1"> + <a href="markupsafe.html">MarkupSafe-2.1.3</a> + </li> + <li class="sect1"> + <a href="jinja2.html">Jinja2-3.1.2</a> + </li> + <li class="sect1"> + <a href="udev.html">Udev из Systemd-254</a> + </li> + <li class="sect1"> + <a href="man-db.html">Man-DB-2.11.2</a> + </li> + <li class="sect1"> + <a href="procps-ng.html">Procps-ng-4.0.3</a> + </li> + <li class="sect1"> + <a href="util-linux.html">Util-linux-2.39.1</a> + </li> + <li class="sect1"> + <a href="e2fsprogs.html">E2fsprogs-1.47.0</a> + </li> + <li class="sect1"> + <a href="sysklogd.html">Sysklogd-1.5.1</a> + </li> + <li class="sect1"> + <a href="sysvinit.html">Sysvinit-3.07</a> + </li> + <li class="sect1"> + <a href="aboutdebug.html">Об отладочных символах</a> + </li> + <li class="sect1"> + <a href="stripping.html">Удаление отладочных символов</a> + </li> + <li class="sect1"> + <a href="cleanup.html">Очистка</a> + </li> + </ul> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="../part4.html" title= + "Сборка системы LFS">Пред.</a> + <p> + Сборка системы LFS + </p> + </li> + <li class="next"> + <a accesskey="n" href="introduction.html" title= + "Введение">След.</a> + <p> + Введение + </p> + </li> + <li class="up"> + <a accesskey="u" href="../part4.html" title= + "Часть IV. Сборка системы LFS">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/check.html b/lfs-12.0-sysv/chapter08/check.html new file mode 100644 index 0000000..eb4705d --- /dev/null +++ b/lfs-12.0-sysv/chapter08/check.html @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.57. Check-0.15.2 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="coreutils.html" title= + "Coreutils-9.3">Пред.</a> + <p> + Coreutils-9.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="diffutils.html" title= + "Diffutils-3.10">След.</a> + <p> + Diffutils-3.10 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-check" name="ch-system-check"></a>8.57. Check-0.15.2 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Check - это фреймворк модульного тестирования для языка C. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU (около 1.6 SBU с тестами)</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">12 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.57.1. Установка пакета Check + </h2> + <p> + Подготовить Check к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr --disable-static</kbd></pre> + <p> + Соберите пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Когда компиляция будет завершена, запустите набор тестов: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make docdir=/usr/share/doc/check-0.15.2 install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-check" name="contents-check"></a>8.57.2. Содержимое + пакета Check + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">checkmk</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libcheck.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="checkmk" name="checkmk"></a><span class= + "term"><span class= + "command"><strong>checkmk</strong></span></span> + </p> + </td> + <td> + <p> + Сценарий Awk для генерации unit-тестов C, для + использования с платформой модульного тестирования Check. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libcheck" name="libcheck"></a><span class= + "term"><code class="filename">libcheck.so</code></span> + </p> + </td> + <td> + <p> + Содержит функции, позволяющие вызывать Check из программы + тестирования. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="coreutils.html" title= + "Coreutils-9.3">Пред.</a> + <p> + Coreutils-9.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="diffutils.html" title= + "Diffutils-3.10">След.</a> + <p> + Diffutils-3.10 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/cleanup.html b/lfs-12.0-sysv/chapter08/cleanup.html new file mode 100644 index 0000000..483de0c --- /dev/null +++ b/lfs-12.0-sysv/chapter08/cleanup.html @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.83. Очистка + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="stripping.html" title= + "Удаление отладочных символов">Пред.</a> + <p> + Удаление отладочных символов + </p> + </li> + <li class="next"> + <a accesskey="n" href="../chapter09/chapter09.html" title= + "Системные настройки">След.</a> + <p> + Системные настройки + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="sect1" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-cleanup" name="ch-system-cleanup"></a>8.83. Очистка + </h1> + <p> + Наконец, удалите некоторые лишние файлы, оставшиеся после запуска + тестов: + </p> + <pre class="userinput"><kbd class="command">rm -rf /tmp/*</kbd></pre> + <p> + Также в каталогах /usr/lib и /usr/libexec также есть несколько файлов + с расширением .la. Это файлы <span class="quote">«<span class= + "quote">архива libtool</span>»</span>. Как было сказано ранее, в + современной системе Linux файлы .la libtool необходимы только для + libltdl. Предполагается, что libltdl не будет загружать библиотеки в + LFS, кроме этого известно, что некоторые файлы .la могут нарушить + сборку пакетов BLFS. Удалите эти файлы сейчас: + </p> + <pre class="userinput"><kbd class= + "command">find /usr/lib /usr/libexec -name \*.la -delete</kbd></pre> + <p> + Дополнительные сведения об архивных файлах libtool см. в разделе BLFS + <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0/introduction/la-files.html"> + "О файлах архива Libtool (.la)"</a>. + </p> + <p> + Компилятор, собранный в <a class="xref" href= + "../chapter06/chapter06.html" title= + "Глава 6. Кросс-Компиляция временных инструментов">Глава 6</a> и + <a class="xref" href="../chapter07/chapter07.html" title= + "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов"> + Глава 7</a> все еще установлен, но больше не нужен. Удалите его + с помощью команды: + </p> + <pre class="userinput"><kbd class= + "command">find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf</kbd></pre> + <p> + Наконец, удалите временную учетную запись пользователя 'tester', + созданную в начале предыдущей главы. + </p> + <pre class="userinput"><kbd class= + "command">userdel -r tester</kbd></pre> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="stripping.html" title= + "Удаление отладочных символов">Пред.</a> + <p> + Удаление отладочных символов + </p> + </li> + <li class="next"> + <a accesskey="n" href="../chapter09/chapter09.html" title= + "Системные настройки">След.</a> + <p> + Системные настройки + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/coreutils.html b/lfs-12.0-sysv/chapter08/coreutils.html new file mode 100644 index 0000000..ec3deef --- /dev/null +++ b/lfs-12.0-sysv/chapter08/coreutils.html @@ -0,0 +1,1792 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.56. Coreutils-9.3 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="meson.html" title="Meson-1.2.1">Пред.</a> + <p> + Meson-1.2.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="check.html" title="Check-0.15.2">След.</a> + <p> + Check-0.15.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-coreutils" name="ch-system-coreutils"></a>8.56. + Coreutils-9.3 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Coreutils содержит основные утилиты, необходимые каждой + операционной системе. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.9 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">165 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.56.1. Установка пакета Coreutils + </h2> + <p> + Стандарт POSIX требует, чтобы программы пакета Coreutils правильно + распознавали символы даже в случае, если используются многобайтовые + локали. Следующий патч исправляет несоответствие этому требованию, + а также другие ошибки, касающиеся интернационализации: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../coreutils-9.3-i18n-1.patch</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + В этом патче было обнаружено много ошибок. Сообщая о новых + ошибках разработчикам Coreutils, сначала проверьте, + воспроизводятся ли эти ошибки без этого исправления. + </p> + </div> + <p> + Теперь подготовьте Coreutils к компиляции: + </p> + <pre class="userinput"><kbd class="command">autoreconf -fiv +FORCE_UNSAFE_CONFIGURE=1 ./configure \ + --prefix=/usr \ + --enable-no-install-program=kill,uptime</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><span class= + "command"><strong>autoreconf</strong></span></span> + </dt> + <dd> + <p> + Патч для интернационализации изменил систему сборки пакета, + поэтому файлы конфигурации необходимо сгенерировать заново. + </p> + </dd> + <dt> + <span class="term"><code class= + "envar">FORCE_UNSAFE_CONFIGURE=1</code></span> + </dt> + <dd> + <p> + Эта переменная среды позволяет собрать пакет от имени + пользователя <code class="systemitem">root</code>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-no-install-program=kill,uptime</code></em></span> + </dt> + <dd> + <p> + Назначение этого параметра — запретить Coreutils + устанавливать программы, которые будут установлены другими + пакетами. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Если вы не планируете запускать набор тестов, перейдите к разделу + <span class="quote">«<span class="quote">Установка + пакета</span>»</span>. + </p> + <p> + Теперь набор тестов готов к запуску. Сначала запустите тесты, + предназначенные для запуска от имени пользователя <code class= + "systemitem">root</code>: + </p> + <pre class="userinput"><kbd class= + "command">make NON_ROOT_USERNAME=tester check-root</kbd></pre> + <p> + Мы собираемся выполнить остальные тесты от имени пользователя + <code class="systemitem">tester</code>. Некоторые тесты требуют, + чтобы пользователь был членом более чем одной группы. Чтобы эти + тесты не были пропущены, добавьте временную группу и включите в неё + пользователя <code class="systemitem">tester</code>: + </p> + <pre class="userinput"><kbd class= + "command">groupadd -g 102 dummy -U tester</kbd></pre> + <p> + Исправьте некоторые разрешения, чтобы пользователь без полномочий + <code class="systemitem">root</code> мог компилировать и запускать + тесты: + </p> + <pre class="userinput"><kbd class= + "command">chown -Rv tester . </kbd></pre> + <p> + Теперь запустите тесты: + </p> + <pre class="userinput"><kbd class= + "command">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</kbd></pre> + <p> + Тест test-getlogin может завершиться ошибкой в среде chroot LFS. + </p> + <p> + Удалить временную группу: + </p> + <pre class="userinput"><kbd class= + "command">groupdel dummy</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Переместите программы туда, где они должны быть в соответствие со + спецификациями FHS: + </p> + <pre class="userinput"><kbd class= + "command">mv -v /usr/bin/chroot /usr/sbin +mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 +sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-coreutils" name="contents-coreutils"></a>8.56.2. + Содержимое пакета Coreutils + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">[, b2sum, base32, base64, basename, + basenc, cat, chcon, chgrp, chmod, chown, chroot, cksum, comm, + cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, + echo, env, expand, expr, factor, false, fmt, fold, groups, + head, hostid, id, install, join, link, ln, logname, ls, md5sum, + mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, + numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, + pwd, readlink, realpath, rm, rmdir, runcon, seq, sha1sum, + sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf, sleep, + sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, + test, timeout, touch, tr, true, truncate, tsort, tty, uname, + unexpand, uniq, unlink, users, vdir, wc, who, whoami и + yes</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libstdbuf.so (in + /usr/libexec/coreutils)</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/libexec/coreutils</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="lbracket" name="lbracket"></a><span class= + "term"><span class= + "command"><strong>[</strong></span></span> + </p> + </td> + <td> + <p> + Это команда /usr/bin/[, которая является синонимом + команды <span class= + "command"><strong>test</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="base32" name="base32"></a><span class= + "term"><span class= + "command"><strong>base32</strong></span></span> + </p> + </td> + <td> + <p> + Кодирует и декодирует данные в соответствии со + спецификацией base32 (RFC 4648) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="base64" name="base64"></a><span class= + "term"><span class= + "command"><strong>base64</strong></span></span> + </p> + </td> + <td> + <p> + Кодирует и декодирует данные в соответствии со + спецификацией base64 (RFC 4648) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="b2sum" name="b2sum"></a><span class= + "term"><span class= + "command"><strong>b2sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или проверяет контрольные суммы BLAKE2 + (512-битные) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="basename" name="basename"></a><span class= + "term"><span class= + "command"><strong>basename</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет любой путь и заданный суффикс из имени файла + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="basenc" name="basenc"></a><span class= + "term"><span class= + "command"><strong>basenc</strong></span></span> + </p> + </td> + <td> + <p> + Кодирует или декодирует данные с использованием различных + алгоритмов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cat" name="cat"></a><span class= + "term"><span class="command"><strong>cat</strong></span></span> + </p> + </td> + <td> + <p> + Присоединяет файлы к стандартному выходному потоку + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chcon" name="chcon"></a><span class= + "term"><span class= + "command"><strong>chcon</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет контекст безопасности для файлов и каталогов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chgrp" name="chgrp"></a><span class= + "term"><span class= + "command"><strong>chgrp</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет владельцев группы для файлов и директорий + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chmod" name="chmod"></a><span class= + "term"><span class= + "command"><strong>chmod</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет разрешения каждого файла на заданный режим; + режим может быть либо символьным представлением вносимых + изменений, либо восьмеричным числом, представляющим новые + разрешения. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chown" name="chown"></a><span class= + "term"><span class= + "command"><strong>chown</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет принадлежность файлов и директорий пользователю + и/или группе + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chroot" name="chroot"></a><span class= + "term"><span class= + "command"><strong>chroot</strong></span></span> + </p> + </td> + <td> + <p> + Запускает команду с указанным каталогом в качестве + корневого каталога <code class="filename">/</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cksum" name="cksum"></a><span class= + "term"><span class= + "command"><strong>cksum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит контрольную сумму Cyclic Redundancy Check (CRC) и + количество байтов для каждого указанного файла. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="comm" name="comm"></a><span class= + "term"><span class= + "command"><strong>comm</strong></span></span> + </p> + </td> + <td> + <p> + Сравнивает два отсортированных файла, выводя в три + столбца уникальные и общие строки. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cp" name="cp"></a><span class="term"><span class= + "command"><strong>cp</strong></span></span> + </p> + </td> + <td> + <p> + Копирует файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="csplit" name="csplit"></a><span class= + "term"><span class= + "command"><strong>csplit</strong></span></span> + </p> + </td> + <td> + <p> + Разбивает заданный файл на несколько новых файлов, + разделяя их в соответствии с заданными шаблонами или + номерами строк и выводя количество байтов для каждого + нового файла. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cut" name="cut"></a><span class= + "term"><span class="command"><strong>cut</strong></span></span> + </p> + </td> + <td> + <p> + Выдает участки строк, выбирая части в соответствии с + заданными полями или позициями + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="date" name="date"></a><span class= + "term"><span class= + "command"><strong>date</strong></span></span> + </p> + </td> + <td> + <p> + Отображает текущее дату и время в заданном формате или + устанавливает системные дату и время + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dd" name="dd"></a><span class="term"><span class= + "command"><strong>dd</strong></span></span> + </p> + </td> + <td> + <p> + Копирует файл, используя заданный размер блока и + количество, при необходимости выполняя преобразования на + нем. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="df" name="df"></a><span class="term"><span class= + "command"><strong>df</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает объем доступного (и используемого) дискового + пространства во всех смонтированных файловых системах или + только в файловых системах, содержащих выбранные файлы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dir" name="dir"></a><span class= + "term"><span class="command"><strong>dir</strong></span></span> + </p> + </td> + <td> + <p> + Выводит содержимое заданного каталога (так же, как + команда <span class="command"><strong>ls</strong></span>) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dircolors" name="dircolors"></a><span class= + "term"><span class= + "command"><strong>dircolors</strong></span></span> + </p> + </td> + <td> + <p> + Выводит команды для установки переменной среды + <code class="envar">LS_COLOR</code> для изменения + цветовой схемы, используемой <span class= + "command"><strong>ls</strong></span>. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dirname" name="dirname"></a><span class= + "term"><span class= + "command"><strong>dirname</strong></span></span> + </p> + </td> + <td> + <p> + Извлекает часть(части) каталога из заданного(заданных) + имени(имён) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="du" name="du"></a><span class="term"><span class= + "command"><strong>du</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает объем дискового пространства, используемого + текущим каталогом, каждым из заданных каталогов (включая + все подкаталоги) или каждым из заданных файлов. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="echo" name="echo"></a><span class= + "term"><span class= + "command"><strong>echo</strong></span></span> + </p> + </td> + <td> + <p> + Отображает указанные строки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="env" name="env"></a><span class= + "term"><span class="command"><strong>env</strong></span></span> + </p> + </td> + <td> + <p> + Запускает команду в модифицированной среде окружения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="expand" name="expand"></a><span class= + "term"><span class= + "command"><strong>expand</strong></span></span> + </p> + </td> + <td> + <p> + Конвертирует символы табуляции в пробелы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="expr" name="expr"></a><span class= + "term"><span class= + "command"><strong>expr</strong></span></span> + </p> + </td> + <td> + <p> + Вычисляет выражения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="factor" name="factor"></a><span class= + "term"><span class= + "command"><strong>factor</strong></span></span> + </p> + </td> + <td> + <p> + Выводит простые множители указанных целых чисел + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="false" name="false"></a><span class= + "term"><span class= + "command"><strong>false</strong></span></span> + </p> + </td> + <td> + <p> + Ничего не делает, указывает на неудачу; всегда + завершается с кодом состояния, указывающим на сбой + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fmt" name="fmt"></a><span class= + "term"><span class="command"><strong>fmt</strong></span></span> + </p> + </td> + <td> + <p> + Форматирует абзацы в указанных файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fold" name="fold"></a><span class= + "term"><span class= + "command"><strong>fold</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет перенос строк в указанных файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="groups" name="groups"></a><span class= + "term"><span class= + "command"><strong>groups</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает о принадлежности пользователя к группам + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="head" name="head"></a><span class= + "term"><span class= + "command"><strong>head</strong></span></span> + </p> + </td> + <td> + <p> + Выводит первые десять строк (или заданное количество + строк) каждого заданного файла. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="hostid" name="hostid"></a><span class= + "term"><span class= + "command"><strong>hostid</strong></span></span> + </p> + </td> + <td> + <p> + Выводит числовой идентификатор хоста (в шестнадцатеричном + формате) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="id" name="id"></a><span class="term"><span class= + "command"><strong>id</strong></span></span> + </p> + </td> + <td> + <p> + Выводит действующий идентификатор пользователя, + идентификатор группы и принадлежность к группам для + текущего или для указанного пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="install" name="install"></a><span class= + "term"><span class= + "command"><strong>install</strong></span></span> + </p> + </td> + <td> + <p> + Копирует файлы, одновременно устанавливая для них права + доступа, и, если возможно, устанавливая для них владельца + и группу + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="join" name="join"></a><span class= + "term"><span class= + "command"><strong>join</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет строки, которые имеют идентичные объединяемые + поля в двух различных файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="link" name="link"></a><span class= + "term"><span class= + "command"><strong>link</strong></span></span> + </p> + </td> + <td> + <p> + Создает жесткую ссылку (с указанным именем) на файл + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ln" name="ln"></a><span class="term"><span class= + "command"><strong>ln</strong></span></span> + </p> + </td> + <td> + <p> + Создает жесткие или мягкие (символические) ссылки между + файлами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="logname" name="logname"></a><span class= + "term"><span class= + "command"><strong>logname</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает имя входа текущего пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ls" name="ls"></a><span class="term"><span class= + "command"><strong>ls</strong></span></span> + </p> + </td> + <td> + <p> + Выводит список содержимого для каждого заданного каталога + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="md5sum" name="md5sum"></a><span class= + "term"><span class= + "command"><strong>md5sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или проверяет контрольные суммы Message Digest 5 + (MD5) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkdir" name="mkdir"></a><span class= + "term"><span class= + "command"><strong>mkdir</strong></span></span> + </p> + </td> + <td> + <p> + Создает директории с указанными именами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfifo" name="mkfifo"></a><span class= + "term"><span class= + "command"><strong>mkfifo</strong></span></span> + </p> + </td> + <td> + <p> + Создает "именованный канал" "первым пришел — первым ушел" + (FIFO), в нотации UNIX с заданными именами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mknod" name="mknod"></a><span class= + "term"><span class= + "command"><strong>mknod</strong></span></span> + </p> + </td> + <td> + <p> + Создает узлы устройств с заданными именами; узел + устройства представляет собой специальный символьный + файл, специальный файл блока или FIFO. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mktemp" name="mktemp"></a><span class= + "term"><span class= + "command"><strong>mktemp</strong></span></span> + </p> + </td> + <td> + <p> + Создает временные файлы безопасным способом; используется + в скриптах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mv" name="mv"></a><span class="term"><span class= + "command"><strong>mv</strong></span></span> + </p> + </td> + <td> + <p> + Перемещает или переименовывает файлы или каталоги + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nice" name="nice"></a><span class= + "term"><span class= + "command"><strong>nice</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу с измененным приоритетом исполнения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nl" name="nl"></a><span class="term"><span class= + "command"><strong>nl</strong></span></span> + </p> + </td> + <td> + <p> + Нумерует строки в указанных файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nohup" name="nohup"></a><span class= + "term"><span class= + "command"><strong>nohup</strong></span></span> + </p> + </td> + <td> + <p> + Запускает команду, невосприимчивую к зависаниям, а ее + вывод перенаправляется в файл журнала + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nproc" name="nproc"></a><span class= + "term"><span class= + "command"><strong>nproc</strong></span></span> + </p> + </td> + <td> + <p> + Выводит количество дочерних процессов, доступных для + процесса. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="numfmt" name="numfmt"></a><span class= + "term"><span class= + "command"><strong>numfmt</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует числа в или из удобочитаемых строк + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="od" name="od"></a><span class="term"><span class= + "command"><strong>od</strong></span></span> + </p> + </td> + <td> + <p> + Вывод дампа файла в восьмеричном и других форматах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="paste" name="paste"></a><span class= + "term"><span class= + "command"><strong>paste</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет указанные файлы, последовательно соединяя + соответствующие строки рядом друг с другом, разделенные + символами табуляции. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pathchk" name="pathchk"></a><span class= + "term"><span class= + "command"><strong>pathchk</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет, являются ли имена файлов допустимыми или + переносимыми + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pinky" name="pinky"></a><span class= + "term"><span class= + "command"><strong>pinky</strong></span></span> + </p> + </td> + <td> + <p> + Легковесный клиент типа finger; выдает некоторую + информацию о заданных пользователях + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pr" name="pr"></a><span class="term"><span class= + "command"><strong>pr</strong></span></span> + </p> + </td> + <td> + <p> + Разбивает файлы для печати на страницы и столбцы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="printenv" name="printenv"></a><span class= + "term"><span class= + "command"><strong>printenv</strong></span></span> + </p> + </td> + <td> + <p> + Выдает значения переменных окружения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="printf" name="printf"></a><span class= + "term"><span class= + "command"><strong>printf</strong></span></span> + </p> + </td> + <td> + <p> + Выводит аргументы в соответствии с заданным форматом, + подобно функции C printf. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ptx" name="ptx"></a><span class= + "term"><span class="command"><strong>ptx</strong></span></span> + </p> + </td> + <td> + <p> + Создает перестановочный индекс по содержимому указанных + файлов с каждым ключевым словом в своем контексте + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pwd" name="pwd"></a><span class= + "term"><span class="command"><strong>pwd</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает имя текущего рабочего каталога + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="readlink" name="readlink"></a><span class= + "term"><span class= + "command"><strong>readlink</strong></span></span> + </p> + </td> + <td> + <p> + Выдает значение указанной символической ссылки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="realpath" name="realpath"></a><span class= + "term"><span class= + "command"><strong>realpath</strong></span></span> + </p> + </td> + <td> + <p> + Возвращает приведенное к обычному виду полное имя файла + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rm" name="rm"></a><span class="term"><span class= + "command"><strong>rm</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет файлы или каталоги + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rmdir" name="rmdir"></a><span class= + "term"><span class= + "command"><strong>rmdir</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет каталоги, если они пусты + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="runcon" name="runcon"></a><span class= + "term"><span class= + "command"><strong>runcon</strong></span></span> + </p> + </td> + <td> + <p> + Запускает команду с указанным контекстом безопасности + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="seq" name="seq"></a><span class= + "term"><span class="command"><strong>seq</strong></span></span> + </p> + </td> + <td> + <p> + Выдает последовательность чисел из указанного диапазона с + указанным значением приращения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sha1sum" name="sha1sum"></a><span class= + "term"><span class= + "command"><strong>sha1sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или проверяет контрольные суммы 160-битного + алгоритма безопасного хеширования 1 (SHA1) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sha224sum" name="sha224sum"></a><span class= + "term"><span class= + "command"><strong>sha224sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или проверяет контрольные суммы 224-битного + алгоритма безопасного хеширования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sha256sum" name="sha256sum"></a><span class= + "term"><span class= + "command"><strong>sha256sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или проверяет контрольные суммы 256-битного + алгоритма безопасного хеширования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sha384sum" name="sha384sum"></a><span class= + "term"><span class= + "command"><strong>sha384sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или проверяет контрольные суммы 384-битного + алгоритма безопасного хеширования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sha512sum" name="sha512sum"></a><span class= + "term"><span class= + "command"><strong>sha512sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или проверяет контрольные суммы 512-битного + алгоритма безопасного хеширования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="shred" name="shred"></a><span class= + "term"><span class= + "command"><strong>shred</strong></span></span> + </p> + </td> + <td> + <p> + Многократно перезаписывает заданные файлы сложными + шаблонами, что затрудняет восстановление данных. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="shuf" name="shuf"></a><span class= + "term"><span class= + "command"><strong>shuf</strong></span></span> + </p> + </td> + <td> + <p> + Перемешивает строки текста + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sleep" name="sleep"></a><span class= + "term"><span class= + "command"><strong>sleep</strong></span></span> + </p> + </td> + <td> + <p> + Делает паузу на заданный промежуток времени + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sort" name="sort"></a><span class= + "term"><span class= + "command"><strong>sort</strong></span></span> + </p> + </td> + <td> + <p> + Сортирует строки в указанных файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="split" name="split"></a><span class= + "term"><span class= + "command"><strong>split</strong></span></span> + </p> + </td> + <td> + <p> + Разбивает заданный файл на несколько частей в + соответствии с указанным размером или количеством строк + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="stat" name="stat"></a><span class= + "term"><span class= + "command"><strong>stat</strong></span></span> + </p> + </td> + <td> + <p> + Отображает статус файла или файловой системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="stdbuf" name="stdbuf"></a><span class= + "term"><span class= + "command"><strong>stdbuf</strong></span></span> + </p> + </td> + <td> + <p> + Запускает команды с измененными операциями буферизации + для своих стандартных потоков. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="stty" name="stty"></a><span class= + "term"><span class= + "command"><strong>stty</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает или сообщает настройки терминала + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sum" name="sum"></a><span class= + "term"><span class="command"><strong>sum</strong></span></span> + </p> + </td> + <td> + <p> + Выводит контрольную сумму и количество блоков для каждого + заданного файла + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sync" name="sync"></a><span class= + "term"><span class= + "command"><strong>sync</strong></span></span> + </p> + </td> + <td> + <p> + Сбрасывает буферы файловой системы; он принудительно + записывает измененные блоки на диск и обновляет суперблок + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tac" name="tac"></a><span class= + "term"><span class="command"><strong>tac</strong></span></span> + </p> + </td> + <td> + <p> + Конкатенация содержимого указанных файлов в обратном + порядке + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tail" name="tail"></a><span class= + "term"><span class= + "command"><strong>tail</strong></span></span> + </p> + </td> + <td> + <p> + Выводит последние десять строк (или заданное количество + строк) каждого указанного файла + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tee" name="tee"></a><span class= + "term"><span class="command"><strong>tee</strong></span></span> + </p> + </td> + <td> + <p> + Считывает данные со стандартного потока ввода, записывает + как в стандартный вывод, так и в указанные файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="test" name="test"></a><span class= + "term"><span class= + "command"><strong>test</strong></span></span> + </p> + </td> + <td> + <p> + Сравнивает значения и проверяет типы файловs + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="timeout" name="timeout"></a><span class= + "term"><span class= + "command"><strong>timeout</strong></span></span> + </p> + </td> + <td> + <p> + Запускает команду с ограничением по времени + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="touch" name="touch"></a><span class= + "term"><span class= + "command"><strong>touch</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет временные метки файлов, устанавливая время + доступа и модификации данных файлов на текущее время; + несуществующие файлы создаются с нулевой длиной + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tr" name="tr"></a><span class="term"><span class= + "command"><strong>tr</strong></span></span> + </p> + </td> + <td> + <p> + Переводит, сжимает и удаляет заданные символы из + стандартного потока + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="true" name="true"></a><span class= + "term"><span class= + "command"><strong>true</strong></span></span> + </p> + </td> + <td> + <p> + Ничего не делает, указывает на успешное выполнение + операции; он всегда завершается с кодом состояния, + указывающим на успех + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="truncate" name="truncate"></a><span class= + "term"><span class= + "command"><strong>truncate</strong></span></span> + </p> + </td> + <td> + <p> + Сжимает или расширяет файл до указанного размера + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tsort" name="tsort"></a><span class= + "term"><span class= + "command"><strong>tsort</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет топологическую сортировку; записывает полностью + упорядоченный список в соответствии с частичным + упорядочением в данном файле + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tty" name="tty"></a><span class= + "term"><span class="command"><strong>tty</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает имя файла терминала, подключенного к + стандартному вводу. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uname" name="uname"></a><span class= + "term"><span class= + "command"><strong>uname</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает системную информацию + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="unexpand" name="unexpand"></a><span class= + "term"><span class= + "command"><strong>unexpand</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует пробелы в табуляции + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uniq" name="uniq"></a><span class= + "term"><span class= + "command"><strong>uniq</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет все повторяющиеся копии уже имеющихся строк, + кроме одной + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="unlink" name="unlink"></a><span class= + "term"><span class= + "command"><strong>unlink</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет указанный файл + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="users" name="users"></a><span class= + "term"><span class= + "command"><strong>users</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает имена пользователей, вошедших в систему в данный + момент + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vdir" name="vdir"></a><span class= + "term"><span class= + "command"><strong>vdir</strong></span></span> + </p> + </td> + <td> + <p> + То же, что <span class="command"><strong>ls + -l</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="wc" name="wc"></a><span class="term"><span class= + "command"><strong>wc</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает количество строк, слов и байт для каждого + заданного файла, а также общее количество строк, если + указано более одного файла + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="who" name="who"></a><span class= + "term"><span class="command"><strong>who</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает, кто вошел в систему + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="whoami" name="whoami"></a><span class= + "term"><span class= + "command"><strong>whoami</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает имя пользователя, соответствующее идентификатору + текущего пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="yes" name="yes"></a><span class= + "term"><span class="command"><strong>yes</strong></span></span> + </p> + </td> + <td> + <p> + Повторно выводит <span class="quote">«<span class= + "quote">y</span>»</span> или указанную строку, до тех + пор, пока команда не будет завершена с помощью kill + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libstdbuf" name="libstdbuf"></a><span class= + "term"><code class="filename">libstdbuf</code></span> + </p> + </td> + <td> + <p> + Библиотека, используемая командой <span class= + "command"><strong>stdbuf</strong></span> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="meson.html" title="Meson-1.2.1">Пред.</a> + <p> + Meson-1.2.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="check.html" title="Check-0.15.2">След.</a> + <p> + Check-0.15.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/dejagnu.html b/lfs-12.0-sysv/chapter08/dejagnu.html new file mode 100644 index 0000000..3830993 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/dejagnu.html @@ -0,0 +1,184 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.17. DejaGNU-1.6.3 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="expect.html" title="Expect-5.45.4">Пред.</a> + <p> + Expect-5.45.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="binutils.html" title= + "Binutils-2.41">След.</a> + <p> + Binutils-2.41 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-dejagnu" name="ch-system-dejagnu"></a>8.17. + DejaGNU-1.6.3 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет <span class="application">DejaGnu</span> содержит фреймворк + для запуска наборов тестов на инструментах GNU. Он написан на + <span class="command"><strong>expect</strong></span>, который в + свою очередь использует <span class="application">Tcl</span> + (командный язык инструментов). + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">6.9 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.17.1. Установка пакета DejaGNU + </h2> + <p> + Разработчики рекомендуют собирать DejaGNU в отдельном каталоге: + </p> + <pre class="userinput"><kbd class="command">mkdir -v build +cd build</kbd></pre> + <p> + Подготовьте DejaGNU к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">../configure --prefix=/usr +makeinfo --html --no-split -o doc/dejagnu.html ../doc/dejagnu.texi +makeinfo --plaintext -o doc/dejagnu.txt ../doc/dejagnu.texi</kbd></pre> + <p> + Соберите и установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install +install -v -dm755 /usr/share/doc/dejagnu-1.6.3 +install -v -m644 doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-1.6.3</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-dejagnu" name="contents-dejagnu"></a>8.17.2. + Содержимое пакета DejaGNU + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">dejagnu и runtest</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Short Descriptions + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="dejagnu" name="dejagnu"></a><span class= + "term"><span class= + "command"><strong>dejagnu</strong></span></span> + </p> + </td> + <td> + <p> + Вспомогательная программа запуска команд DejaGNU + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="runtest" name="runtest"></a><span class= + "term"><span class= + "command"><strong>runtest</strong></span></span> + </p> + </td> + <td> + <p> + Скрипт-обертка, который находит соответствующую оболочку + <span class="command"><strong>expect</strong></span>, и + запускает DejaGnu + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="expect.html" title="Expect-5.45.4">Пред.</a> + <p> + Expect-5.45.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="binutils.html" title= + "Binutils-2.41">След.</a> + <p> + Binutils-2.41 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/diffutils.html b/lfs-12.0-sysv/chapter08/diffutils.html new file mode 100644 index 0000000..184a441 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/diffutils.html @@ -0,0 +1,201 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.58. Diffutils-3.10 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="check.html" title="Check-0.15.2">Пред.</a> + <p> + Check-0.15.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gawk.html" title="Gawk-5.2.2">След.</a> + <p> + Gawk-5.2.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-diffutils" name="ch-system-diffutils"></a>8.58. + Diffutils-3.10 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Diffutils содержит программы, которые показывают различия + между файлами или каталогами. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">36 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.58.1. Установка пакета Diffutils + </h2> + <p> + Подготовьте Diffutils к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестровать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-diffutils" name="contents-diffutils"></a>8.58.2. + Содержимое пакета Diffutils + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">cmp, diff, diff3, и sdiff</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="cmp" name="cmp"></a><span class= + "term"><span class="command"><strong>cmp</strong></span></span> + </p> + </td> + <td> + <p> + Сравнивает побайтно два файла и сообщает о любых + различиях + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="diff" name="diff"></a><span class= + "term"><span class= + "command"><strong>diff</strong></span></span> + </p> + </td> + <td> + <p> + Сравнивает два файла или каталога и сообщает, какие + строки отличаются + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="diff3" name="diff3"></a><span class= + "term"><span class= + "command"><strong>diff3</strong></span></span> + </p> + </td> + <td> + <p> + Сравнивает три файла построчно + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sdiff" name="sdiff"></a><span class= + "term"><span class= + "command"><strong>sdiff</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет два файла и интерактивно выводит результат + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="check.html" title="Check-0.15.2">Пред.</a> + <p> + Check-0.15.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gawk.html" title="Gawk-5.2.2">След.</a> + <p> + Gawk-5.2.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/e2fsprogs.html b/lfs-12.0-sysv/chapter08/e2fsprogs.html new file mode 100644 index 0000000..f3ce360 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/e2fsprogs.html @@ -0,0 +1,775 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.78. E2fsprogs-1.47.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="util-linux.html" title= + "Util-linux-2.39.1">Пред.</a> + <p> + Util-linux-2.39.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="sysklogd.html" title= + "Sysklogd-1.5.1">След.</a> + <p> + Sysklogd-1.5.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-e2fsprogs" name="ch-system-e2fsprogs"></a>8.78. + E2fsprogs-1.47.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет E2fsprogs содержит утилиты для работы с файловой системой + <code class="systemitem">ext2</code>. Также он поддерживает + журналируемые файловые системы <code class="systemitem">ext3</code> + и <code class="systemitem">ext4</code>. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">2.4 SBU на жестком диске, 0.6 SBU на SSD + диске</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">95 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.78.1. Установка пакета E2fsprogs + </h2> + <p> + В документации к E2fsprogs рекомендуется выполнять сборку в + подкаталоге папки с исходниками: + </p> + <pre class="userinput"><kbd class="command">mkdir -v build +cd build</kbd></pre> + <p> + Подготовьте E2fsprogs к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">../configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-elf-shlibs \ + --disable-libblkid \ + --disable-libuuid \ + --disable-uuidd \ + --disable-fsck</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-elf-shlibs</code></em></span> + </dt> + <dd> + <p> + Параметр создает общие библиотеки, которые используют + некоторые программы в этом пакете. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-*</code></em></span> + </dt> + <dd> + <p> + Эти параметры предотвращают сборку и установку библиотек + <code class="systemitem">libuuid</code> и <code class= + "systemitem">libblkid</code>, демона <code class= + "systemitem">uuidd</code>, и обертку для <span class= + "command"><strong>fsck</strong></span>, поскольку util-linux + устанавливает более свежие версии. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы запустить тесты, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Известно, что один тест, с именем <code class= + "filename">m_assume_storage_prezeroed</code>, завершается ошибкой. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Удалите ненужные статические библиотеки: + </p> + <pre class="userinput"><kbd class= + "command">rm -fv /usr/lib/{libcom_err,libe2p,libext2fs,libss}.a</kbd></pre> + <p> + Этот пакет устанавливает сжатый файл <code class= + "filename">.info</code> но не обновляет общесистемный файл + <code class="filename">dir</code>. Разархивируйте этот файл, а + затем обновите системный файл <code class="filename">dir</code>, + используя следующие команды: + </p> + <pre class="userinput"><kbd class= + "command">gunzip -v /usr/share/info/libext2fs.info.gz +install-info --dir-file=/usr/share/info/dir /usr/share/info/libext2fs.info</kbd></pre> + <p> + По желанию, создайте и установите дополнительную документацию, + выполнив следующие команды: + </p> + <pre class="userinput"><kbd class= + "command">makeinfo -o doc/com_err.info ../lib/et/com_err.texinfo +install -v -m644 doc/com_err.info /usr/share/info +install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</kbd></pre> + </div> + <div class="configuration" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="conf-e2fsprogs" name="conf-e2fsprogs"></a>8.78.2. Настройка + E2fsprogs + </h2> + <p> + Файл <code class="filename">/etc/mke2fs.conf</code> содержит + значения по умолчанию для различных параметров командной строки + <span class="command"><strong>mke2fs</strong></span>. Вы можете + отредактировать файл, чтобы значения по умолчанию соответствовали + вашим потребностям. Например, некоторые утилиты (не в LFS или BLFS) + не могут распознать файловую систему <code class= + "systemitem">ext4</code> с включенным параметром <code class= + "literal">metadata_csum_seed</code>. <span class= + "bold"><strong>Если</strong></span> вам нужна такая утилита, вы + можете удалить параметр из списка по умолчанию для <code class= + "systemitem">ext4</code> с помощью команды: + </p> + <pre class="userinput"><kbd class= + "command">sed 's/metadata_csum_seed,//' -i /etc/mke2fs.conf</kbd></pre> + <p> + Подробности читайте в справочной странице <code class= + "filename">mke2fs.conf(5)</code>. + </p> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-e2fsprogs" name="contents-e2fsprogs"></a>8.78.3. + Содержимое пакета E2fsprogs + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">badblocks, chattr, compile_et, debugfs, + dumpe2fs, e2freefrag, e2fsck, e2image, e2label, e2mmpstatus, + e2scrub, e2scrub_all, e2undo, e4crypt, e4defrag, filefrag, + fsck.ext2, fsck.ext3, fsck.ext4, logsave, lsattr, mk_cmds, + mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mklost+found, + resize2fs и tune2fs</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libcom_err.so, libe2p.so, libext2fs.so, и + libss.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/e2p, /usr/include/et, + /usr/include/ext2fs, /usr/include/ss, /usr/lib/e2fsprogs, + /usr/share/et и /usr/share/ss</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="badblocks" name="badblocks"></a><span class= + "term"><span class= + "command"><strong>badblocks</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет поиск поврежденных блоков на устройстве (обычно + на разделе диска) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chattr" name="chattr"></a><span class= + "term"><span class= + "command"><strong>chattr</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет атрибуты файлов в файловых системах <code class= + "systemitem">ext{234}</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="compile_et" name="compile_et"></a><span class= + "term"><span class= + "command"><strong>compile_et</strong></span></span> + </p> + </td> + <td> + <p> + Компилятор таблицы ошибок; конвертирует таблицу имен + кодов ошибок и сообщений в файл исходного кода на языке С + с тем, чтобы ее можно было использовать с библиотекой + <code class="filename">com_err</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="debugfs" name="debugfs"></a><span class= + "term"><span class= + "command"><strong>debugfs</strong></span></span> + </p> + </td> + <td> + <p> + Отладчик файловой системы; его можно использовать для + проверки и изменения состояния файловых систем + <code class="systemitem">ext{234}</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dumpe2fs" name="dumpe2fs"></a><span class= + "term"><span class= + "command"><strong>dumpe2fs</strong></span></span> + </p> + </td> + <td> + <p> + Выводит информацию о суперблоке и группе блоков для + файловой системы, присутствующей на указанном устройстве. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2freefrag" name="e2freefrag"></a><span class= + "term"><span class= + "command"><strong>e2freefrag</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает информацию о фрагментации свободного + пространства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2fsck" name="e2fsck"></a><span class= + "term"><span class= + "command"><strong>e2fsck</strong></span></span> + </p> + </td> + <td> + <p> + Используется для проверки и, при необходимости, + восстановления файловых систем <code class= + "systemitem">ext{234}</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2image" name="e2image"></a><span class= + "term"><span class= + "command"><strong>e2image</strong></span></span> + </p> + </td> + <td> + <p> + Используется для сохранения важных данных файловых систем + <code class="systemitem">ext{234}</code> в файл + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2label" name="e2label"></a><span class= + "term"><span class= + "command"><strong>e2label</strong></span></span> + </p> + </td> + <td> + <p> + Отображает или изменяет метку файловой системы в файловой + системе <code class="systemitem">ext{234}</code> на + данном устройстве. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2mmpstatus" name="e2mmpstatus"></a><span class= + "term"><span class= + "command"><strong>e2mmpstatus</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет состояние MMP (Multiple Mount Protection - + защита от множественного монтирования) файловой системы + <code class="systemitem">ext4</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2scrub" name="e2scrub"></a><span class= + "term"><span class= + "command"><strong>e2scrub</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет содержимое смонтированной файловой системы + <code class="systemitem">ext{234}</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2scrub_all" name="e2scrub_all"></a><span class= + "term"><span class= + "command"><strong>e2scrub_all</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет все смонтированные файловые системы + <code class="systemitem">ext{234}</code> на наличие + ошибок + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e2undo" name="e2undo"></a><span class= + "term"><span class= + "command"><strong>e2undo</strong></span></span> + </p> + </td> + <td> + <p> + Воспроизводит журнал отмены (undo_log) для файловой + системы <code class="systemitem">ext{234}</code>, + обнаруженной на устройстве. [Это можно использовать для + отмены неудачной операции программой E2fsprogs.] + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e4crypt" name="e4crypt"></a><span class= + "term"><span class= + "command"><strong>e4crypt</strong></span></span> + </p> + </td> + <td> + <p> + Утилита шифрования файловой системы <code class= + "systemitem">Ext4</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="e4defrag" name="e4defrag"></a><span class= + "term"><span class= + "command"><strong>e4defrag</strong></span></span> + </p> + </td> + <td> + <p> + Онлайн дефрагментатор для файловой системы <code class= + "systemitem">ext4</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="filefrag" name="filefrag"></a><span class= + "term"><span class= + "command"><strong>filefrag</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает о том, насколько сильно может быть + фрагментирован конкретный файл + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fsck.ext2" name="fsck.ext2"></a><span class= + "term"><span class= + "command"><strong>fsck.ext2</strong></span></span> + </p> + </td> + <td> + <p> + По умолчанию проверяет файловые системы <code class= + "systemitem">ext2</code> и является жесткой ссылкой на + <span class="command"><strong>e2fsck</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fsck.ext3" name="fsck.ext3"></a><span class= + "term"><span class= + "command"><strong>fsck.ext3</strong></span></span> + </p> + </td> + <td> + <p> + По умолчанию проверяет файловые системы <code class= + "systemitem">ext3</code> и является жесткой ссылкой на + <span class="command"><strong>e2fsck</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fsck.ext4" name="fsck.ext4"></a><span class= + "term"><span class= + "command"><strong>fsck.ext4</strong></span></span> + </p> + </td> + <td> + <p> + По умолчанию проверяет файловые системы <code class= + "systemitem">ext4</code> и является жесткой ссылкой на + <span class="command"><strong>e2fsck</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="logsave" name="logsave"></a><span class= + "term"><span class= + "command"><strong>logsave</strong></span></span> + </p> + </td> + <td> + <p> + Сохраняет вывод команды в файл журнала + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsattr" name="lsattr"></a><span class= + "term"><span class= + "command"><strong>lsattr</strong></span></span> + </p> + </td> + <td> + <p> + Перечисляет атрибуты файлов во второй расширенной + файловой системе. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mk_cmds" name="mk_cmds"></a><span class= + "term"><span class= + "command"><strong>mk_cmds</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует таблицу имен команд и справочных сообщений в + исходный файл C, подходящий для использования с + библиотекой подсистемы <code class= + "filename">libss</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mke2fs" name="mke2fs"></a><span class= + "term"><span class= + "command"><strong>mke2fs</strong></span></span> + </p> + </td> + <td> + <p> + Создает файловую систему <code class= + "systemitem">ext{234}</code> на указанном устройстве + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfs.ext2" name="mkfs.ext2"></a><span class= + "term"><span class= + "command"><strong>mkfs.ext2</strong></span></span> + </p> + </td> + <td> + <p> + По умолчанию создает файловую систему <code class= + "systemitem">ext2</code> и является жесткой ссылкой на + <span class="command"><strong>mke2fs</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfs.ext3" name="mkfs.ext3"></a><span class= + "term"><span class= + "command"><strong>mkfs.ext3</strong></span></span> + </p> + </td> + <td> + <p> + По умолчанию создает файловую систему <code class= + "systemitem">ext3</code> и является жесткой ссылкой на + <span class="command"><strong>mke2fs</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfs.ext4" name="mkfs.ext4"></a><span class= + "term"><span class= + "command"><strong>mkfs.ext4</strong></span></span> + </p> + </td> + <td> + <p> + По умолчанию создает файловую систему <code class= + "systemitem">ext4</code> и является жесткой ссылкой на + <span class="command"><strong>mke2fs</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mklost-found" name="mklost-found"></a><span class= + "term"><span class= + "command"><strong>mklost+found</strong></span></span> + </p> + </td> + <td> + <p> + Используется для создания каталога <code class= + "filename">lost+found</code> в файловой системе + <code class="systemitem">ext{234}</code>; предварительно + выделяет дисковые блоки для этого каталога, чтобы + облегчить задачу <span class= + "command"><strong>e2fsck</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="resize2fs" name="resize2fs"></a><span class= + "term"><span class= + "command"><strong>resize2fs</strong></span></span> + </p> + </td> + <td> + <p> + Может использоваться для увеличения или уменьшения + файловой системы <code class="systemitem">ext{234}</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tune2fs" name="tune2fs"></a><span class= + "term"><span class= + "command"><strong>tune2fs</strong></span></span> + </p> + </td> + <td> + <p> + Позволяет настроить параметры для файловой системы + <code class="systemitem">ext{234}</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libcom_err" name="libcom_err"></a><span class= + "term"><code class="filename">libcom_err</code></span> + </p> + </td> + <td> + <p> + Стандартная процедура отображения ошибок + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libe2p" name="libe2p"></a><span class= + "term"><code class="filename">libe2p</code></span> + </p> + </td> + <td> + <p> + Используется <span class= + "command"><strong>dumpe2fs</strong></span>, <span class= + "command"><strong>chattr</strong></span>, и <span class= + "command"><strong>lsattr</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libext2fs" name="libext2fs"></a><span class= + "term"><code class="filename">libext2fs</code></span> + </p> + </td> + <td> + <p> + Содержит подпрограммы, позволяющие программам + пользовательского уровня управлять файловой системой + <code class="systemitem">ext{234}</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libss" name="libss"></a><span class= + "term"><code class="filename">libss</code></span> + </p> + </td> + <td> + <p> + Используется <span class= + "command"><strong>debugfs</strong></span> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="util-linux.html" title= + "Util-linux-2.39.1">Пред.</a> + <p> + Util-linux-2.39.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="sysklogd.html" title= + "Sysklogd-1.5.1">След.</a> + <p> + Sysklogd-1.5.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/expat.html b/lfs-12.0-sysv/chapter08/expat.html new file mode 100644 index 0000000..b4d6692 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/expat.html @@ -0,0 +1,187 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.39. Expat-2.5.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="gperf.html" title="Gperf-3.1">Пред.</a> + <p> + Gperf-3.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="inetutils.html" title= + "Inetutils-2.4">След.</a> + <p> + Inetutils-2.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-expat" name="ch-system-expat"></a>8.39. Expat-2.5.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Expat содержит потоковую библиотеку C для синтаксического + анализа XML + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">12 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.39.1. Установка пакета Expat + </h2> + <p> + Подготовьте Expat к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/expat-2.5.0</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + По желанию установите документацию: + </p> + <pre class="userinput"><kbd class= + "command">install -v -m644 doc/*.{html,css} /usr/share/doc/expat-2.5.0</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-expat" name="contents-expat"></a>8.39.2. Содержимое + пакета Expat + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">xmlwf</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libexpat.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/expat-2.5.0</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="xmlwf" name="xmlwf"></a><span class= + "term"><span class= + "command"><strong>xmlwf</strong></span></span> + </p> + </td> + <td> + <p> + Утилита проверки правильности формирования XML документов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libexpat" name="libexpat"></a><span class= + "term"><code class="filename">libexpat</code></span> + </p> + </td> + <td> + <p> + Содержит функции API для синтаксического анализа XML + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="gperf.html" title="Gperf-3.1">Пред.</a> + <p> + Gperf-3.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="inetutils.html" title= + "Inetutils-2.4">След.</a> + <p> + Inetutils-2.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/expect.html b/lfs-12.0-sysv/chapter08/expect.html new file mode 100644 index 0000000..f6d3b18 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/expect.html @@ -0,0 +1,256 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.16. Expect-5.45.4 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="tcl.html" title="Tcl-8.6.13">Пред.</a> + <p> + Tcl-8.6.13 + </p> + </li> + <li class="next"> + <a accesskey="n" href="dejagnu.html" title= + "DejaGNU-1.6.3">След.</a> + <p> + DejaGNU-1.6.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-expect" name="ch-system-expect"></a>8.16. + Expect-5.45.4 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет <span class="application">Expect</span> содержит инструменты + для автоматизации работы интерактивных приложений, таких как + <span class="command"><strong>telnet</strong></span>, <span class= + "command"><strong>ftp</strong></span>, <span class= + "command"><strong>passwd</strong></span>, <span class= + "command"><strong>fsck</strong></span>, <span class= + "command"><strong>rlogin</strong></span> и <span class= + "command"><strong>tip</strong></span>, с помощью скриптовых + диалогов и макросов. Кроме того <span class= + "application">Expect</span> полезен для тестирования перечисленных + выше приложений, а также для решения сложных задач взаимодействия с + другими средствами. Фреймворк <span class= + "application">DejaGnu</span> написан на языке <span class= + "application">Expect</span>. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">3.9 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.16.1. Установка пакета Expect + </h2> + <p> + Подготовьте Expect к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --with-tcl=/usr/lib \ + --enable-shared \ + --mandir=/usr/share/man \ + --with-tclinclude=/usr/include</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-tcl=/usr/lib</code></em></span> + </dt> + <dd> + <p> + Этот параметр необходим для указания <span class= + "command"><strong>configure</strong></span> где находится + скрипт <span class= + "command"><strong>tclConfig.sh</strong></span>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-tclinclude=/usr/include</code></em></span> + </dt> + <dd> + <p> + Этот параметр явно указывает Expect, где искать внутренние + заголовки Tcl. + </p> + </dd> + </dl> + </div> + <p> + Соберите пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Набор тестов для Expect считается критически важным. Не + пропускайте его ни при каких обстоятельствах. + </p> + </div> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Если какой-либо тест завершается неудачей с сообщением <span class= + "quote">«<span class="quote"><code class="computeroutput">The + system has no more ptys. Ask your system administrator to create + more</code></span>»</span>, это означает, что вы неправильно + смонтировали файловую систему <code class= + "systemitem">devpts</code>. Вам необходимо выйти из среды chroot, + ещё раз прочитать <a class="xref" href="../chapter07/kernfs.html" + title= + "7.3. Подготовка виртуальных файловых систем ядра">Раздел 7.3, + «Подготовка виртуальных файловых систем ядра»</a> и убедиться, что + файловая система <code class="systemitem">devpts</code> (и другие + файловые системы виртуального ядра) смонтированы правильно. Затем + повторно войдите в среду chroot, следуя инструкции <a class="xref" + href="../chapter07/chroot.html" title= + "7.4. Вход в окружение Chroot">Раздел 7.4, «Вход в окружение + Chroot»</a>. Эту проблему необходимо решить, прежде чем вы + продолжите. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install +ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-expect" name="contents-expect"></a>8.16.2. + Содержимое пакета Expect + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">expect</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libexpect5.45.4.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="expect" name="expect"></a><span class= + "term"><span class= + "command"><strong>expect</strong></span></span> + </p> + </td> + <td> + <p> + Взаимодействует с другими интерактивными программами в + соответствии со сценарием + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libexpect" name="libexpect"></a><span class= + "term"><code class= + "filename">libexpect-5.45.4.so</code></span> + </p> + </td> + <td> + <p> + Содержит функции, которые позволяют использовать Expect в + качестве расширения Tcl или непосредственно из C или C++ + (без Tcl). + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="tcl.html" title="Tcl-8.6.13">Пред.</a> + <p> + Tcl-8.6.13 + </p> + </li> + <li class="next"> + <a accesskey="n" href="dejagnu.html" title= + "DejaGNU-1.6.3">След.</a> + <p> + DejaGNU-1.6.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/file.html b/lfs-12.0-sysv/chapter08/file.html new file mode 100644 index 0000000..2043dfc --- /dev/null +++ b/lfs-12.0-sysv/chapter08/file.html @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.10. File-5.45 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="zstd.html" title="Zstd-1.5.5">Пред.</a> + <p> + Zstd-1.5.5 + </p> + </li> + <li class="next"> + <a accesskey="n" href="readline.html" title= + "Readline-8.2">След.</a> + <p> + Readline-8.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-file" name="ch-system-file"></a>8.10. File-5.45 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет File содержит утилиту для определения типа указанного файла + или файлов + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">17 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.10.1. Установка пакета File + </h2> + <p> + Подготовьте File к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-file" name="contents-file"></a>8.10.2. Содержимое + пакета File + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">file</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libmagic.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="file" name="file"></a><span class= + "term"><span class= + "command"><strong>file</strong></span></span> + </p> + </td> + <td> + <p> + Пытается классифицировать каждый указанный файл; он + делает это, выполняя серию тестов—тесты файловой системы, + тесты магических чисел и языковые тесты. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libmagic" name="libmagic"></a><span class= + "term"><code class="filename">libmagic</code></span> + </p> + </td> + <td> + <p> + Содержит функции распознавания магических чисел + используемые программой <span class= + "command"><strong>file</strong></span> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="zstd.html" title="Zstd-1.5.5">Пред.</a> + <p> + Zstd-1.5.5 + </p> + </li> + <li class="next"> + <a accesskey="n" href="readline.html" title= + "Readline-8.2">След.</a> + <p> + Readline-8.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/findutils.html b/lfs-12.0-sysv/chapter08/findutils.html new file mode 100644 index 0000000..97925ba --- /dev/null +++ b/lfs-12.0-sysv/chapter08/findutils.html @@ -0,0 +1,238 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.60. Findutils-4.9.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="gawk.html" title="Gawk-5.2.2">Пред.</a> + <p> + Gawk-5.2.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="groff.html" title="Groff-1.23.0">След.</a> + <p> + Groff-1.23.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-findutils" name="ch-system-findutils"></a>8.60. + Findutils-4.9.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Findutils содержит программы для поиска файлов. Эти программы + предназначены для поиска по всем файлам в дереве каталогов, а также + для создания, обслуживания и поиска в базе данных (часто быстрее, + чем рекурсивный поиск, но ненадежно, если база данных давно не + обновлялась).Findutils также предоставляет программу <span class= + "command"><strong>xargs</strong></span>, которую можно использовать + для запуска указанной команды для каждого файла, выбранного при + поиске. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.4 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">51 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.60.1. Установка пакета Findutils + </h2> + <p> + Подготовьте Findutils к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr --localstatedir=/var/lib/locate</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--localstatedir</code></em></span> + </dt> + <dd> + <p> + Этот параметр перемещает базу данных команды <span class= + "command"><strong>locate</strong></span> в <code class= + "filename">/var/lib/locate</code>, что соответствует + расположению, совместимому со стандартом FHS. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">chown -Rv tester . +su tester -c "PATH=$PATH make check"</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-findutils" name="contents-findutils"></a>8.60.2. + Содержимое пакета Findutils + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Installed programs:</strong> + <span class="segbody">Установленные программы</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/var/lib/locate</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="find" name="find"></a><span class= + "term"><span class= + "command"><strong>find</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет поиск в заданных каталогах файлов, + соответствующих критериям + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="locate" name="locate"></a><span class= + "term"><span class= + "command"><strong>locate</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет поиск по базе данных имен файлов и сообщает об + именах, которые содержат заданную строку или + соответствуют заданному шаблону. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="updatedb" name="updatedb"></a><span class= + "term"><span class= + "command"><strong>updatedb</strong></span></span> + </p> + </td> + <td> + <p> + Обновляет базу данных <span class= + "command"><strong>locate</strong></span>; сканирует всю + файловую систему (включая другие файловые системы, + которые в настоящее время смонтированы, если не указано + иное) и записывает найденные имена файлов в базу данных + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xargs" name="xargs"></a><span class= + "term"><span class= + "command"><strong>xargs</strong></span></span> + </p> + </td> + <td> + <p> + Может использоваться для применения заданной команды к + списку файлов + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="gawk.html" title="Gawk-5.2.2">Пред.</a> + <p> + Gawk-5.2.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="groff.html" title="Groff-1.23.0">След.</a> + <p> + Groff-1.23.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/flex.html b/lfs-12.0-sysv/chapter08/flex.html new file mode 100644 index 0000000..8fb7abc --- /dev/null +++ b/lfs-12.0-sysv/chapter08/flex.html @@ -0,0 +1,230 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.14. Flex-2.6.4 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="bc.html" title="Bc-6.6.0">Пред.</a> + <p> + Bc-6.6.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="tcl.html" title="Tcl-8.6.13">След.</a> + <p> + Tcl-8.6.13 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-flex" name="ch-system-flex"></a>8.14. Flex-2.6.4 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Flex содержит инструмент для генерации программ, распознающих + заданные шаблоны в тексте + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">33 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.14.1. Установка пакета Flex + </h2> + <p> + Подготовьте Flex к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --docdir=/usr/share/doc/flex-2.6.4 \ + --disable-static</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Для тестирования пакета (около 0,5 SBU) выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Некоторые программы пока не знают о <span class= + "command"><strong>flex</strong></span> и пытаются запустить его + предшественника - <span class= + "command"><strong>lex</strong></span>. Чтобы обеспечить их + работоспособность, создайте символическую ссылку <span class= + "command"><strong>lex</strong></span>, которая запускает + <code class="filename">flex</code> в режиме эмуляции <span class= + "command"><strong>lex</strong></span>, а также создайте + символическую ссылку на справочную страницу <span class= + "command"><strong>lex</strong></span>: + </p> + <pre class="userinput"><kbd class= + "command">ln -sv flex /usr/bin/lex +ln -sv flex.1 /usr/share/man/man1/lex.1</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-flex" name="contents-flex"></a>8.14.2. Содержимое + пакета Flex + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">flex, flex++ (ссылка на flex), и lex + (ссылка на flex)</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libfl.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/flex-2.6.4</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="flex" name="flex"></a><span class= + "term"><span class= + "command"><strong>flex</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент для создания программ, распознающих текст по + шаблону; это позволяет гибко указывать правила поиска + паттернов, устраняя необходимость разработки + специализированной программы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="flexpp" name="flexpp"></a><span class= + "term"><span class= + "command"><strong>flex++</strong></span></span> + </p> + </td> + <td> + <p> + Расширение flex используется для генерации кода и классов + C++. Является символической ссылкой на <span class= + "command"><strong>flex</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lex" name="lex"></a><span class= + "term"><span class="command"><strong>lex</strong></span></span> + </p> + </td> + <td> + <p> + Символическая ссылка, запускает <span class= + "command"><strong>flex</strong></span> в режиме эмуляции + <span class="command"><strong>lex</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libfl" name="libfl"></a><span class= + "term"><code class="filename">libfl</code></span> + </p> + </td> + <td> + <p> + Библиотека <code class="filename">flex</code> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="bc.html" title="Bc-6.6.0">Пред.</a> + <p> + Bc-6.6.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="tcl.html" title="Tcl-8.6.13">След.</a> + <p> + Tcl-8.6.13 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/flit-core.html b/lfs-12.0-sysv/chapter08/flit-core.html new file mode 100644 index 0000000..37255ac --- /dev/null +++ b/lfs-12.0-sysv/chapter08/flit-core.html @@ -0,0 +1,186 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.52. Flit-Core-3.9.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="Python.html" title="Python-3.11.4">Пред.</a> + <p> + Python-3.11.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="wheel.html" title="Wheel-0.41.1">След.</a> + <p> + Wheel-0.41.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-flit-core" name="ch-system-flit-core"></a>8.52. + Flit-Core-3.9.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Flit-core — это часть Flit, предназначенная для сборки дистрибутива + (инструмента для упаковки простых модулей Python). + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">1.7 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.52.1. Установка пакета Flit-Core + </h2> + <p> + Соберите пакет: + </p> + <pre class="userinput"><kbd class= + "command">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">pip3 install --no-index --no-user --find-links dist flit_core</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров конфигурации и команд pip3:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><span class= + "command"><strong>wheel</strong></span></span> + </dt> + <dd> + <p> + Эта команда создает архив wheel для этого пакета. + </p> + </dd> + <dt> + <span class="term"><em class="parameter"><code>-w + dist</code></em></span> + </dt> + <dd> + <p> + Указывает pip поместить созданный архив в каталог + <code class="filename">dist</code>. + </p> + </dd> + <dt> + <span class="term"><span class= + "command"><strong>install</strong></span></span> + </dt> + <dd> + <p> + Эта команда устанавливает пакет. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--no-build-isolation</code></em>, <em class= + "parameter"><code>--no-deps</code></em> и <em class= + "parameter"><code>--no-index</code></em></span> + </dt> + <dd> + <p> + Эти параметры предотвращают получение файлов из + онлайн-репозитория пакетов (PyPI). Если пакеты установлены в + правильном порядке, то нет необходимости загружать какие-либо + файлы; эти параметры усиливают безопасность в случае ошибки + пользователя. + </p> + </dd> + <dt> + <span class="term"><em class="parameter"><code>--find-links + dist</code></em></span> + </dt> + <dd> + <p> + Указывает pip искать архивы wheel в каталоге <code class= + "filename">dist</code>. + </p> + </dd> + </dl> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-flit-core" name="contents-flit-core"></a>8.52.2. + Содержимое пакета Flit-Core + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class= + "segbody">/usr/lib/python3.11/site-packages/flit_core и + /usr/lib/python3.11/site-packages/flit_core-3.9.0.dist-info</span> + </div> + </div> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="Python.html" title="Python-3.11.4">Пред.</a> + <p> + Python-3.11.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="wheel.html" title="Wheel-0.41.1">След.</a> + <p> + Wheel-0.41.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/gawk.html b/lfs-12.0-sysv/chapter08/gawk.html new file mode 100644 index 0000000..6d2f089 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gawk.html @@ -0,0 +1,244 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.59. Gawk-5.2.2 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="diffutils.html" title= + "Diffutils-3.10">Пред.</a> + <p> + Diffutils-3.10 + </p> + </li> + <li class="next"> + <a accesskey="n" href="findutils.html" title= + "Findutils-4.9.0">След.</a> + <p> + Findutils-4.9.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-gawk" name="ch-system-gawk"></a>8.59. Gawk-5.2.2 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Gawk содержит программы для работы с текстовыми файлами. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">46 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.59.1. Установка пакета Gawk + </h2> + <p> + Во-первых, отредактируйте Makefile, чтобы некоторые ненужные файлы + не были установлены + </p> + <pre class="userinput"><kbd class= + "command">sed -i 's/extras//' Makefile.in</kbd></pre> + <p> + Подготовьте Gawk к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">chown -Rv tester . +su tester -c "PATH=$PATH make check"</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make LN='ln -f' install</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение переопределенной переменной make:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><code class="envar">LN='ln -f'</code></span> + </dt> + <dd> + <p> + Эта переменная гарантирует, что предыдущая жесткая ссылка, + установленная в <a class="xref" href="../chapter06/gawk.html" + title="6.9. Gawk-5.2.2">Раздел 6.9, «Gawk-5.2.2»</a>, + будет обновлена здесь. + </p> + </dd> + </dl> + </div> + <p> + В процессе установки уже создан <span class= + "command"><strong>awk</strong></span> в виде символической ссылки + на <span class="command"><strong>gawk</strong></span>, создайте + также символическую ссылку на справочную страницу: + </p> + <pre class="userinput"><kbd class= + "command">ln -sv gawk.1 /usr/share/man/man1/awk.1</kbd></pre> + <p> + По желанию, установите документацию: + </p> + <pre class="userinput"><kbd class= + "command">mkdir -pv /usr/share/doc/gawk-5.2.2 +cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-5.2.2</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gawk" name="contents-gawk"></a>8.59.2. Содержимое + пакета Gawk + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">awk (ссылка на gawk), gawk и + gawk-5.2.2</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">filefuncs.so, fnmatch.so, fork.so, + inplace.so, intdiv.so, ordchr.so, readdir.so, readfile.so, + revoutput.so, revtwoway.so, rwarray.so и time.so (все в + /usr/lib/gawk)</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/gawk, /usr/libexec/awk, + /usr/share/awk и /usr/share/doc/gawk-5.2.2</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="awk" name="awk"></a><span class= + "term"><span class="command"><strong>awk</strong></span></span> + </p> + </td> + <td> + <p> + Ссылка на <span class= + "command"><strong>gawk</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gawk" name="gawk"></a><span class= + "term"><span class= + "command"><strong>gawk</strong></span></span> + </p> + </td> + <td> + <p> + Программа для работы с текстовыми файлами; это GNU + реализация <span class= + "command"><strong>awk</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gawk-version" name="gawk-version"></a><span class= + "term"><span class= + "command"><strong>gawk-5.2.2</strong></span></span> + </p> + </td> + <td> + <p> + Жесткая ссылка на <span class= + "command"><strong>gawk</strong></span> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="diffutils.html" title= + "Diffutils-3.10">Пред.</a> + <p> + Diffutils-3.10 + </p> + </li> + <li class="next"> + <a accesskey="n" href="findutils.html" title= + "Findutils-4.9.0">След.</a> + <p> + Findutils-4.9.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/gcc.html b/lfs-12.0-sysv/chapter08/gcc.html new file mode 100644 index 0000000..02ff6ce --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gcc.html @@ -0,0 +1,911 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.27. GCC-13.2.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="shadow.html" title="Shadow-4.13">Пред.</a> + <p> + Shadow-4.13 + </p> + </li> + <li class="next"> + <a accesskey="n" href="pkgconf.html" title= + "Pkgconf-2.0.1">След.</a> + <p> + Pkgconf-2.0.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-gcc" name="ch-system-gcc"></a>8.27. GCC-13.2.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет GCC содержит коллекцию компиляторов GNU, которая включает + компиляторы C и C++. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">42 SBU (с тестами)</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">5.5 GB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.27.1. Установка пакета GCC + </h2> + <p> + При сборке на x86_64 измените имя каталога по умолчанию для + 64-битных библиотек на <span class="quote">«<span class= + "quote">lib</span>»</span>: + </p> + <pre class="userinput"><kbd class="command">case $(uname -m) in + x86_64) + sed -e '/m64=/s/lib64/lib/' \ + -i.orig gcc/config/i386/t-linux64 + ;; +esac</kbd></pre> + <p> + Документация GCC рекомендует собирать GCC в отдельном каталоге: + </p> + <pre class="userinput"><kbd class="command">mkdir -v build +cd build</kbd></pre> + <p> + Подготовьте GCC к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">../configure --prefix=/usr \ + LD=ld \ + --enable-languages=c,c++ \ + --enable-default-pie \ + --enable-default-ssp \ + --disable-multilib \ + --disable-bootstrap \ + --disable-fixincludes \ + --with-system-zlib</kbd></pre> + <p> + GCC поддерживает семь различных языков программирования, но + предварительные условия для большинства из них еще не выполнены. + См. страницу <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0/general/gcc.html"> + BLFS Book GCC</a> для получения инструкций о том, как собрать все + языки, поддерживаемые GCC + </p> + <div class="variablelist"> + <p class="title"> + <strong>Значение новых параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>LD=ld</code></em></span> + </dt> + <dd> + <p> + Этот параметр указывает скрипту configure использовать ld, + установленный программой Binutils, собранной ранее в этой + главе, а не кросс версию, которая использовалась бы в + противном случае. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-fixincludes</code></em></span> + </dt> + <dd> + <p> + По умолчанию во время установки GCC некоторые системные + заголовки будут <span class="quote">«<span class= + "quote">исправлены</span>»</span> для использования с GCC. + Это не обязательно для современной системы Linux и + потенциально опасно, если пакет будет переустановлен после + установки GCC. Этот параметр не позволяет GCC <span class= + "quote">«<span class="quote">исправлять</span>»</span> + заголовки. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-system-zlib</code></em></span> + </dt> + <dd> + <p> + Этот параметр указывает GCC ссылаться на установленную в + системе копию библиотеки Zlib, а не на собственную внутреннюю + копию. + </p> + </dd> + </dl> + </div> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3><a id="pie-ssp-info" name="pie-ssp-info"></a> + <p> + PIE (позиционно-независимые исполняемые файлы) — это двоичные + программы, которые можно загружать в любое место памяти. Без PIE + функция безопасности под названием ASLR (рандомизация размещения + адресного пространства) может применяться к общим библиотекам, но + не к самим исполняемым файлам. Включение PIE позволяет + использовать ASLR для исполняемых файлов в дополнение к общим + библиотекам и смягчает некоторые атаки, основанные на + фиксированных адресах конфиденциального кода или данных в + исполняемых файлах. + </p> + <p> + SSP (Stack Smashing Protection - защита от разрушения стека) — + это метод, гарантирующий, что стек параметров не будет поврежден. + Повреждение стека может, например, изменить адрес возврата + подпрограммы, тем самым передав управление какому-то опасному + коду (существующему в программе или общих библиотеках или + каким-то образом внедренному злоумышленником). + </p> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + В этом разделе набор тестов для GCC считается важным, но занимает + много времени. Начинающим сборщикам не рекомендуется пропускать + его. Время выполнения тестов можно значительно сократить, добавив + -jx в приведенную ниже команду <span class="command"><strong>make + -k check</strong></span>, где x - количество ядер процессора в + вашей системе. + </p> + </div> + <p> + Известно, что один набор тестов GCC переполняет стек по умолчанию, + поэтому увеличьте размер стека перед запуском тестов: + </p> + <pre class="userinput"><kbd class= + "command">ulimit -s 32768</kbd></pre> + <p> + Выполните тестирование под непривилегированным пользователем, но не + останавливайтесь на ошибках: + </p> + <pre class="userinput"><kbd class="command">chown -Rv tester . +su tester -c "PATH=$PATH make -k check"</kbd></pre> + <p> + Чтобы получить сводку результатов набора тестов, выполните: + </p> + <pre class="userinput"><kbd class= + "command">../contrib/test_summary</kbd></pre> + <p> + Чтобы отфильтровать только итоговую сводку, передайте вывод через + pipe <strong class="userinput"><code>grep -A7 Summ</code></strong>. + </p> + <p> + Результаты можно сравнить с результатами, размещенными на <a class= + "ulink" href= + "https://mirror.linuxfromscratch.ru/lfs/build-logs/12.0/">https://mirror.linuxfromscratch.ru/lfs/build-logs/12.0/</a> + и <a class="ulink" href= + "https://gcc.gnu.org/ml/gcc-testresults/">https://gcc.gnu.org/ml/gcc-testresults/</a>. + </p> + <p> + Известно, что два теста с именами <code class= + "filename">copy.cc</code> и <code class="filename">pr56837.c</code> + завершаются ошибкой. Кроме того, известно, что несколько тестов в + каталоге <code class="filename">vect</code> завершаются неудачно, + если оборудование не поддерживает AVX. + </p> + <p> + Известно, что в Glibc-2.38, тесты анализатора с именами + <code class="filename">data-model-4.c</code> и <code class= + "filename">conftest-1.c</code> завершаются неудачно. Известно, что + в тестах asan, несколько тестов в <code class= + "filename">asan_test.C</code> завершаются неудачно. Известно, что + тест с именем <code class= + "filename">interception-malloc-test-1.C</code> завершился ошибкой. + </p> + <p> + Не всегда удается избежать неожиданных сбоев. Разработчики GCC + обычно знают об этих проблемах, но еще не решили их. Если + результаты теста не сильно отличаются от результатов по указанному + выше URL-адресу, можно продолжать. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Каталог сборки GCC теперь принадлежит пользователю <code class= + "systemitem">tester</code>, и владелец каталога заголовочных файлов + (и его содержимого) указан неверно. Измените владельца на + пользователя и группу <code class="systemitem">root</code>: + </p> + <pre class="userinput"><kbd class="command">chown -v -R root:root \ + /usr/lib/gcc/$(gcc -dumpmachine)/13.2.0/include{,-fixed}</kbd></pre> + <p> + Создайте символическую ссылку, требуемую <a class="ulink" href= + "https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s09.html">FHS</a> + по "историческим" причинам. + </p> + <pre class="userinput"><kbd class= + "command">ln -svr /usr/bin/cpp /usr/lib</kbd></pre> + <p> + Многие пакеты используют имя <span class= + "command"><strong>cc</strong></span> для вызова компилятора языка + Си. Мы уже создали <span class="command"><strong>cc</strong></span> + как символическую ссылку в <a class="xref" href= + "../chapter06/gcc-pass2.html" title= + "6.18. GCC-13.2.0 - Проход 2">GCC-Проход 2</a>, теперь создайте + символическую ссылку на его справочную страницу: + </p> + <pre class="userinput"><kbd class= + "command">ln -sv gcc.1 /usr/share/man/man1/cc.1</kbd></pre> + <p> + Добавьте символическую ссылку совместимости, чтобы включить сборку + программ с оптимизацией времени компоновки (LTO): + </p> + <pre class="userinput"><kbd class= + "command">ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/13.2.0/liblto_plugin.so \ + /usr/lib/bfd-plugins/</kbd></pre> + <p> + Теперь, когда наш окончательный набор инструментов готов, важно еще + раз убедиться, что компиляция и компоновка будут работать так, как + ожидалось. Мы сделаем это, выполнив проверку работоспособности: + </p> + <pre class="userinput"><kbd class= + "command">echo 'int main(){}' > dummy.c +cc dummy.c -v -Wl,--verbose &> dummy.log +readelf -l a.out | grep ': /lib'</kbd></pre> + <p> + Ошибок быть не должно, и вывод последней команды будет (с учетом + платформо-зависимых различий в имени динамического компоновщика): + </p> + <pre class="screen"><code class= + "computeroutput">[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</code></pre> + <p> + Теперь убедитесь, что мы настроили использование правильных + стартовых файлов: + </p> + <pre class="userinput"><kbd class= + "command">grep -E -o '/usr/lib.*/S?crt[1in].*succeeded' dummy.log</kbd></pre> + <p> + Вывод последней команды должен быть: + </p> + <pre class="screen"><code class= + "computeroutput">/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/Scrt1.o succeeded +/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/crti.o succeeded +/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/../../../../lib/crtn.o succeeded</code></pre> + <p> + В зависимости от архитектуры вашего компьютера вышеуказанные + параметры могут незначительно отличаться. Разница будет заключаться + в имени каталога после <code class="filename">/usr/lib/gcc</code>. + Здесь важно обратить внимание на то, что <span class= + "command"><strong>gcc</strong></span> нашел все три файла + <code class="filename">crt*.o</code> в каталоге <code class= + "filename">/usr/lib</code>. + </p> + <p> + Убедитесь, что компилятор ищет правильные заголовочные файлы: + </p> + <pre class="userinput"><kbd class= + "command">grep -B4 '^ /usr/include' dummy.log</kbd></pre> + <p> + Эта команда должна вернуть следующий вывод: + </p> + <pre class="screen"><code class= + "computeroutput">#include <...> search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include + /usr/local/include + /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include-fixed + /usr/include</code></pre> + <p> + Опять же, имя каталога может отличаться от указанного выше, в + зависимости от архитектуры вашей системы. + </p> + <p> + Затем убедитесь, что новый компоновщик использует правильные пути + поиска: + </p> + <pre class="userinput"><kbd class= + "command">grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'</kbd></pre> + <p> + Ссылки на пути, содержащие компоненты с '-linux-gnu', следует + игнорировать, но в противном случае вывод последней команды должен + быть таким: + </p> + <pre class="screen"><code class= + "computeroutput">SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib64") +SEARCH_DIR("/usr/local/lib64") +SEARCH_DIR("/lib64") +SEARCH_DIR("/usr/lib64") +SEARCH_DIR("/usr/x86_64-pc-linux-gnu/lib") +SEARCH_DIR("/usr/local/lib") +SEARCH_DIR("/lib") +SEARCH_DIR("/usr/lib");</code></pre> + <p> + 32-разрядная система может использовать несколько других каталогов. + Например, вот вывод с компьютера i686: + </p> + <pre class="screen"><code class= + "computeroutput">SEARCH_DIR("/usr/i686-pc-linux-gnu/lib32") +SEARCH_DIR("/usr/local/lib32") +SEARCH_DIR("/lib32") +SEARCH_DIR("/usr/lib32") +SEARCH_DIR("/usr/i686-pc-linux-gnu/lib") +SEARCH_DIR("/usr/local/lib") +SEARCH_DIR("/lib") +SEARCH_DIR("/usr/lib");</code></pre> + <p> + Затем убедитесь, что мы используем правильную libc: + </p> + <pre class="userinput"><kbd class= + "command">grep "/lib.*/libc.so.6 " dummy.log</kbd></pre> + <p> + Вывод последней команды должен быть: + </p> + <pre class="screen"><code class= + "computeroutput">attempt to open /usr/lib/libc.so.6 succeeded</code></pre> + <p> + Убедитесь, что GCC использует правильный динамический компоновщик: + </p> + <pre class="userinput"><kbd class= + "command">grep found dummy.log</kbd></pre> + <p> + Вывод последней команды должен быть (с учетом различий в имени + динамического компоновщика, зависящих от платформы): + </p> + <pre class="screen"><code class= + "computeroutput">found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2</code></pre> + <p> + Если вывод выглядит не так, как показано выше, или вообще не + получен, значит, где-то серьезная ошибка. Изучите и повторите шаги, + чтобы выяснить, в чем проблема, и исправьте ее. Любые проблемы + должны быть решены, прежде чем вы продолжите процесс. + </p> + <p> + Как только все заработает правильно, удалите тестовые файлы: + </p> + <pre class="userinput"><kbd class= + "command">rm -v dummy.c a.out dummy.log</kbd></pre> + <p> + Наконец, переместите файл: + </p> + <pre class="userinput"><kbd class= + "command">mkdir -pv /usr/share/gdb/auto-load/usr/lib +mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gcc" name="contents-gcc"></a>8.27.2. Содержимое + пакета GCC + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">c++, cc (link to gcc), cpp, g++, gcc, + gcc-ar, gcc-nm, gcc-ranlib, gcov, gcov-dump, gcov-tool, и + lto-dump</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libasan.{a,so}, libatomic.{a,so}, + libcc1.so, libgcc.a, libgcc_eh.a, libgcc_s.so, libgcov.a, + libgomp.{a,so}, libhwasan.{a,so}, libitm.{a,so}, + liblsan.{a,so}, liblto_plugin.so, libquadmath.{a,so}, + libssp.{a,so}, libssp_nonshared.a, libstdc++.{a,so}, + libstdc++exp.a, libstdc++fs.a, libsupc++.a, libtsan.{a,so} и + libubsan.{a,so}</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/c++, /usr/lib/gcc, + /usr/libexec/gcc и /usr/share/gcc-13.2.0</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="c" name="c"></a><span class="term"><span class= + "command"><strong>c++</strong></span></span> + </p> + </td> + <td> + <p> + Компилятор С++ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cc" name="cc"></a><span class="term"><span class= + "command"><strong>cc</strong></span></span> + </p> + </td> + <td> + <p> + Компилятор C + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cpp" name="cpp"></a><span class= + "term"><span class="command"><strong>cpp</strong></span></span> + </p> + </td> + <td> + <p> + Препроцессор C; он используется компилятором для + расширения инструкций #include, #define и подобные + директивы в исходных файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="g" name="g"></a><span class="term"><span class= + "command"><strong>g++</strong></span></span> + </p> + </td> + <td> + <p> + Компилятор C++ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gcc" name="gcc"></a><span class= + "term"><span class="command"><strong>gcc</strong></span></span> + </p> + </td> + <td> + <p> + Компилятор C + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gcc-ar" name="gcc-ar"></a><span class= + "term"><span class= + "command"><strong>gcc-ar</strong></span></span> + </p> + </td> + <td> + <p> + Обертка над <span class= + "command"><strong>ar</strong></span>, добавляющая плагин + в командную строку. Эта программа используется только для + добавления "оптимизации времени компоновки" и бесполезна + с параметрами сборки по умолчанию. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gcc-nm" name="gcc-nm"></a><span class= + "term"><span class= + "command"><strong>gcc-nm</strong></span></span> + </p> + </td> + <td> + <p> + Обертка над <span class= + "command"><strong>nm</strong></span>, добавляющая плагин + в командную строку. Эта программа используется только для + добавления "оптимизации времени компоновки" и бесполезна + с параметрами сборки по умолчанию. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gcc-ranlib" name="gcc-ranlib"></a><span class= + "term"><span class= + "command"><strong>gcc-ranlib</strong></span></span> + </p> + </td> + <td> + <p> + Обертка над <span class= + "command"><strong>ranlib</strong></span>, добавляющая + плагин в командную строку. Эта программа используется + только для добавления "оптимизации времени компоновки" и + бесполезна с параметрами сборки по умолчанию. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gcov" name="gcov"></a><span class= + "term"><span class= + "command"><strong>gcov</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент тестирования; он используется для анализа + программ, чтобы определить, где оптимизация будет иметь + наибольший эффект. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gcov-dump" name="gcov-dump"></a><span class= + "term"><span class= + "command"><strong>gcov-dump</strong></span></span> + </p> + </td> + <td> + <p> + Автономный инструмент для дампа профилей gcda and gcno + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gcov-tool" name="gcov-tool"></a><span class= + "term"><span class= + "command"><strong>gcov-tool</strong></span></span> + </p> + </td> + <td> + <p> + Автономный инструмент обработки профиля gcda + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lto-dump" name="lto-dump"></a><span class= + "term"><span class= + "command"><strong>lto-dump</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент для создания дампа объектных файлов, созданных + GCC с включенным LTO. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libasan" name="libasan"></a><span class= + "term"><code class="filename">libasan</code></span> + </p> + </td> + <td> + <p> + Библиотека времени выполнения Address Sanitizer + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libatomic" name="libatomic"></a><span class= + "term"><code class="filename">libatomic</code></span> + </p> + </td> + <td> + <p> + Встроенная библиотека времени выполнения GCC atomic + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libcc1" name="libcc1"></a><span class= + "term"><code class="filename">libcc1</code></span> + </p> + </td> + <td> + <p> + Библиотека предварительной обработки C + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgcc" name="libgcc"></a><span class= + "term"><code class="filename">libgcc</code></span> + </p> + </td> + <td> + <p> + Содержит средства поддержки времени исполнения для + <span class="command"><strong>gcc</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgcov" name="libgcov"></a><span class= + "term"><code class="filename">libgcov</code></span> + </p> + </td> + <td> + <p> + Эта библиотека компонуется с программой, когда в GCC + включено профилирование + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgomp" name="libgomp"></a><span class= + "term"><code class="filename">libgomp</code></span> + </p> + </td> + <td> + <p> + GNU реализация интерфейса OpenMP API мультиплатформенного + параллельного программирования для языков C/C++ и Fortran + с общим доступом к памяти + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libhwasan" name="libhwasan"></a><span class= + "term"><code class="filename">libhwasan</code></span> + </p> + </td> + <td> + <p> + Библиотека времени выполнения Hardware-Assisted Address + Sanitizer (аппаратной очистки адресов) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libitm" name="libitm"></a><span class= + "term"><code class="filename">libitm</code></span> + </p> + </td> + <td> + <p> + Библиотека транзакционной памяти GNU + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="liblsan" name="liblsan"></a><span class= + "term"><code class="filename">liblsan</code></span> + </p> + </td> + <td> + <p> + Библиотека времени выполнения Leak Sanitizer (средств + защиты от утечек) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="liblto_plugin" name= + "liblto_plugin"></a><span class="term"><code class= + "filename">liblto_plugin</code></span> + </p> + </td> + <td> + <p> + Плагин GCC LTO позволяет Binutils обрабатывать объектные + файлы, созданные GCC с включенным LTO. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libquadmath" name="libquadmath"></a><span class= + "term"><code class="filename">libquadmath</code></span> + </p> + </td> + <td> + <p> + API математической библиотеки GCC Quad Precision + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libssp" name="libssp"></a><span class= + "term"><code class="filename">libssp</code></span> + </p> + </td> + <td> + <p> + Содержит подпрограммы, поддерживающие функциональность + защиты стека GCC. Обычно они не используются, потому что + Glibc также предоставляет эти подпрограммы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libstdc" name="libstdc"></a><span class= + "term"><code class="filename">libstdc++</code></span> + </p> + </td> + <td> + <p> + Стандартная библиотека C++ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libstdcexp" name="libstdcexp"></a><span class= + "term"><code class="filename">libstdc++exp</code></span> + </p> + </td> + <td> + <p> + Экспериментальная библиотека контрактов C++ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libstdcfs" name="libstdcfs"></a><span class= + "term"><code class="filename">libstdc++fs</code></span> + </p> + </td> + <td> + <p> + Библиотека файловой системы ISO/IEC TS 18822:2015 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libsupc" name="libsupc"></a><span class= + "term"><code class="filename">libsupc++</code></span> + </p> + </td> + <td> + <p> + Предоставляет вспомогательные процедуры для языка + программирования C++ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libtsan" name="libtsan"></a><span class= + "term"><code class="filename">libtsan</code></span> + </p> + </td> + <td> + <p> + Библиотека времени выполнения Thread Sanitizer (средств + очистки потоков) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libubsan" name="libubsan"></a><span class= + "term"><code class="filename">libubsan</code></span> + </p> + </td> + <td> + <p> + Библиотека времени выполнения Undefined Behavior + Sanitizer (средств очистки неопределенного поведения) + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="shadow.html" title="Shadow-4.13">Пред.</a> + <p> + Shadow-4.13 + </p> + </li> + <li class="next"> + <a accesskey="n" href="pkgconf.html" title= + "Pkgconf-2.0.1">След.</a> + <p> + Pkgconf-2.0.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/gdbm.html b/lfs-12.0-sysv/chapter08/gdbm.html new file mode 100644 index 0000000..36cdcdd --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gdbm.html @@ -0,0 +1,243 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.37. GDBM-1.23 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="libtool.html" title= + "Libtool-2.4.7">Пред.</a> + <p> + Libtool-2.4.7 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gperf.html" title="Gperf-3.1">След.</a> + <p> + Gperf-3.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-gdbm" name="ch-system-gdbm"></a>8.37. GDBM-1.23 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет GDBM содержит менеджер баз данных GNU. Это библиотека функций + базы данных, использующая расширяемое хеширование и работающая + аналогично стандартной СУБД UNIX. Библиотека предоставляет + примитивы для хранения пар ключ/значение, поиска и извлечения + данных по его ключу и удаления ключа вместе с его данными. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">13 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.37.1. Установка пакета GDBM + </h2> + <p> + Подготовьте GDBM к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --enable-libgdbm-compat</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра configure:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><code class= + "envar">--enable-libgdbm-compat</code></span> + </dt> + <dd> + <p> + Этот параметр включает сборку библиотеки совместимости + libgdbm. Некоторым пакетам за пределами LFS могут + потребоваться более старые подпрограммы DBM, которые он + предоставляет. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gdbm" name="contents-gdbm"></a>8.37.2. Содержимое + пакета GDBM + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">gdbm_dump, gdbm_load, и gdbmtool</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libgdbm.so и libgdbm_compat.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="gdbm_dump" name="gdbm_dump"></a><span class= + "term"><span class= + "command"><strong>gdbm_dump</strong></span></span> + </p> + </td> + <td> + <p> + Сохраняет дамп базы данных GDBM в файл + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gdbm_load" name="gdbm_load"></a><span class= + "term"><span class= + "command"><strong>gdbm_load</strong></span></span> + </p> + </td> + <td> + <p> + Восстанавливает базу данных GDBM из дампа. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gdbmtool" name="gdbmtool"></a><span class= + "term"><span class= + "command"><strong>gdbmtool</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет и изменяет базу данных GDBM + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgdbm" name="libgdbm"></a><span class= + "term"><code class="filename">libgdbm</code></span> + </p> + </td> + <td> + <p> + Содержит функции для управления хэшированной базой данных + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgdbm_compat" name= + "libgdbm_compat"></a><span class="term"><code class= + "filename">libgdbm_compat</code></span> + </p> + </td> + <td> + <p> + Библиотека совместимости, содержащая более старые функции + DBM + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="libtool.html" title= + "Libtool-2.4.7">Пред.</a> + <p> + Libtool-2.4.7 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gperf.html" title="Gperf-3.1">След.</a> + <p> + Gperf-3.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/gettext.html b/lfs-12.0-sysv/chapter08/gettext.html new file mode 100644 index 0000000..82282cd --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gettext.html @@ -0,0 +1,594 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.32. Gettext-0.22 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="psmisc.html" title="Psmisc-23.6">Пред.</a> + <p> + Psmisc-23.6 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bison.html" title="Bison-3.8.2">След.</a> + <p> + Bison-3.8.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-gettext" name="ch-system-gettext"></a>8.32. + Gettext-0.22 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Gettext содержит утилиты для интернационализации и + локализации. Они позволяют компилировать программы с поддержкой NLS + (Native Language Support), позволяя им выводить сообщения на родном + языке пользователя. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">1.4 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">250 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.32.1. Установка пакета Gettext + </h2> + <p> + Подготовьте Gettext для компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/gettext-0.22</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет (это занимает много времени, около 3 + SBU), выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install +chmod -v 0755 /usr/lib/preloadable_libintl.so</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gettext" name="contents-gettext"></a>8.32.2. + Содержимое пакета Gettext + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">autopoint, envsubst, gettext, gettext.sh, + gettextize, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, + msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, + msgunfmt, msguniq, ngettext, recode-sr-latin, и xgettext</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libasprintf.so, libgettextlib.so, + libgettextpo.so, libgettextsrc.so, libtextstyle.so и + preloadable_libintl.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/gettext, + /usr/share/doc/gettext-0.22, /usr/share/gettext и + /usr/share/gettext-0.22</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="autopoint" name="autopoint"></a><span class= + "term"><span class= + "command"><strong>autopoint</strong></span></span> + </p> + </td> + <td> + <p> + Копирует файлы стандартной инфраструктуры Gettext в пакет + с исходным кодом + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="envsubst" name="envsubst"></a><span class= + "term"><span class= + "command"><strong>envsubst</strong></span></span> + </p> + </td> + <td> + <p> + Подставляет переменные окружения в строки, используемые + командной оболочкой + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gettext" name="gettext"></a><span class= + "term"><span class= + "command"><strong>gettext</strong></span></span> + </p> + </td> + <td> + <p> + Переводит сообщение с естественного языка на язык + пользователя, осуществляя для этого поиск уже сделанного + перевода в каталоге сообщений + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gettext.sh" name="gettext.sh"></a><span class= + "term"><span class= + "command"><strong>gettext.sh</strong></span></span> + </p> + </td> + <td> + <p> + В основном служит библиотекой функций оболочки для + gettext. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gettextize" name="gettextize"></a><span class= + "term"><span class= + "command"><strong>gettextize</strong></span></span> + </p> + </td> + <td> + <p> + Копирует все стандартные файлы Gettext в указанный + каталог верхнего уровня пакета, чтобы начать его + интернационализацию. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgattrib" name="msgattrib"></a><span class= + "term"><span class= + "command"><strong>msgattrib</strong></span></span> + </p> + </td> + <td> + <p> + Фильтрует сообщения каталога переводов в соответствии с + их атрибутами и управляет атрибутами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgcat" name="msgcat"></a><span class= + "term"><span class= + "command"><strong>msgcat</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет указанные файлы <code class= + "filename">.po</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgcmp" name="msgcmp"></a><span class= + "term"><span class= + "command"><strong>msgcmp</strong></span></span> + </p> + </td> + <td> + <p> + Сравнивает два файла <code class="filename">.po</code>, + чтобы проверить, что оба содержат один и тот же набор + строк msgid + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgcomm" name="msgcomm"></a><span class= + "term"><span class= + "command"><strong>msgcomm</strong></span></span> + </p> + </td> + <td> + <p> + Находит сообщения, которые являются общими для указанных + файлов <code class="filename">.po</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgconv" name="msgconv"></a><span class= + "term"><span class= + "command"><strong>msgconv</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует каталог переводов в другую кодировку символов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgen" name="msgen"></a><span class= + "term"><span class= + "command"><strong>msgen</strong></span></span> + </p> + </td> + <td> + <p> + Создает каталог переводов на английский язык + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgexec" name="msgexec"></a><span class= + "term"><span class= + "command"><strong>msgexec</strong></span></span> + </p> + </td> + <td> + <p> + Применяет команду ко всем переводам каталога переводов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgfilter" name="msgfilter"></a><span class= + "term"><span class= + "command"><strong>msgfilter</strong></span></span> + </p> + </td> + <td> + <p> + Применяет фильтр ко всем переводам каталога переводов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgfmt" name="msgfmt"></a><span class= + "term"><span class= + "command"><strong>msgfmt</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует каталог двоичных сообщений из каталога + переводов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msggrep" name="msggrep"></a><span class= + "term"><span class= + "command"><strong>msggrep</strong></span></span> + </p> + </td> + <td> + <p> + Извлекает все сообщения каталога переводов, которые + соответствуют заданному шаблону или принадлежат + нескольким указанным исходным файлам + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msginit" name="msginit"></a><span class= + "term"><span class= + "command"><strong>msginit</strong></span></span> + </p> + </td> + <td> + <p> + Создает новый файл <code class="filename">.po</code>, + инициализируя метаинформацию значениями из среды + пользователя. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgmerge" name="msgmerge"></a><span class= + "term"><span class= + "command"><strong>msgmerge</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет два необработанных перевода в один файл + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msgunfmt" name="msgunfmt"></a><span class= + "term"><span class= + "command"><strong>msgunfmt</strong></span></span> + </p> + </td> + <td> + <p> + Декомпилирует каталог двоичных сообщений в необработанный + текст перевода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="msguniq" name="msguniq"></a><span class= + "term"><span class= + "command"><strong>msguniq</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет дублирующиеся переводы в каталоге переводов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ngettext" name="ngettext"></a><span class= + "term"><span class= + "command"><strong>ngettext</strong></span></span> + </p> + </td> + <td> + <p> + Отображает перевод текстового сообщения на родной язык, + грамматическая форма которого зависит от числа. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="recode-sr-latin" name= + "recode-sr-latin"></a><span class="term"><span class= + "command"><strong>recode-sr-latin</strong></span></span> + </p> + </td> + <td> + <p> + Перекодирует сербский текст с кириллицы на латиницу. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xgettext" name="xgettext"></a><span class= + "term"><span class= + "command"><strong>xgettext</strong></span></span> + </p> + </td> + <td> + <p> + Извлекает переводимые строки сообщений из заданных + исходных файлов для создания первого шаблона перевода. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libasprintf" name="libasprintf"></a><span class= + "term"><code class="filename">libasprintf</code></span> + </p> + </td> + <td> + <p> + Определяет класс <span class= + "emphasis"><em>autosprintf</em></span>, который делает + подпрограммы вывода в формате C пригодными для + использования в программах на C++ для использования со + строками <span class= + "emphasis"><em><string></em></span> и потоками + <span class="emphasis"><em><iostream></em></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgettextlib" name= + "libgettextlib"></a><span class="term"><code class= + "filename">libgettextlib</code></span> + </p> + </td> + <td> + <p> + Содержит общие подпрограммы, используемые различными + программами Gettext; они не предназначены для общего + использования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgettextpo" name="libgettextpo"></a><span class= + "term"><code class="filename">libgettextpo</code></span> + </p> + </td> + <td> + <p> + Используется для написания специализированных программ, + обрабатывающих файлы <code class="filename">.po</code>; + эта библиотека используется, когда стандартных + приложений, поставляемых с Gettext (таких как + <span class="command"><strong>msgcomm</strong></span>, + <span class="command"><strong>msgcmp</strong></span>, + <span class="command"><strong>msgattrib</strong></span>, + и <span class="command"><strong>msgen</strong></span>), + недостаточно. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgettextsrc" name= + "libgettextsrc"></a><span class="term"><code class= + "filename">libgettextsrc</code></span> + </p> + </td> + <td> + <p> + Предоставляет общие подпрограммы, используемые различными + программами Gettext; они не предназначены для общего + использования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libtextstyle" name="libtextstyle"></a><span class= + "term"><code class="filename">libtextstyle</code></span> + </p> + </td> + <td> + <p> + Библиотека стилей текста + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="preloadable_libintl" name= + "preloadable_libintl"></a><span class="term"><code class= + "filename">preloadable_libintl</code></span> + </p> + </td> + <td> + <p> + Библиотека, предназначенная для использования LD_PRELOAD, + которая помогает <code class="filename">libintl</code> + записывать в журнал непереведённые сообщения + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="psmisc.html" title="Psmisc-23.6">Пред.</a> + <p> + Psmisc-23.6 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bison.html" title="Bison-3.8.2">След.</a> + <p> + Bison-3.8.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/glibc.html b/lfs-12.0-sysv/chapter08/glibc.html new file mode 100644 index 0000000..c0a7dbb --- /dev/null +++ b/lfs-12.0-sysv/chapter08/glibc.html @@ -0,0 +1,1229 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.5. Glibc-2.38 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="iana-etc.html" title= + "Iana-Etc-20230810">Пред.</a> + <p> + Iana-Etc-20230810 + </p> + </li> + <li class="next"> + <a accesskey="n" href="zlib.html" title="Zlib-1.2.13">След.</a> + <p> + Zlib-1.2.13 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-glibc" name="ch-system-glibc"></a>8.5. Glibc-2.38 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Glibc содержит основную библиотеку C. Эта библиотека + предоставляет основные процедуры для выделения памяти, поиска в + каталогах, открытия и закрытия файлов, чтения и записи файлов, + обработки строк, сопоставления с образцом, арифметики и так далее + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">11 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">3.0 GB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.5.1. Установка пакета Glibc + </h2> + <p> + Некоторые программы Glibc используют не совместимый с FHS каталог + <code class="filename">/var/db</code> для хранения своих данных во + время выполнения. Примените следующий патч, чтобы эти программы + хранили свои данные в каталогах, совместимых с FHS: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../glibc-2.38-fhs-1.patch</kbd></pre> + <p> + Теперь исправьте регрессию, из-за которой функция posix_memalign() + в некоторых условиях работала очень медленно: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../glibc-2.38-memalign_fix-1.patch</kbd></pre> + <p> + Документация Glibc рекомендует выполнять компиляцию в отдельном + каталоге: + </p> + <pre class="userinput"><kbd class="command">mkdir -v build +cd build</kbd></pre> + <p> + Убедитесь, что утилиты <span class= + "command"><strong>ldconfig</strong></span> и <span class= + "command"><strong>sln</strong></span> будут установлены в + <code class="filename">/usr/sbin</code>: + </p> + <pre class="userinput"><kbd class= + "command">echo "rootsbindir=/usr/sbin" > configparms</kbd></pre> + <p> + Подготовьте Glibc к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">../configure --prefix=/usr \ + --disable-werror \ + --enable-kernel=4.14 \ + --enable-stack-protector=strong \ + --with-headers=/usr/include \ + libc_cv_slibdir=/usr/lib</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-werror</code></em></span> + </dt> + <dd> + <p> + Отключает параметр -Werror, передаваемый GCC. Это необходимо + для запуска набора тестов. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-kernel=4.14</code></em></span> + </dt> + <dd> + <p> + Этот параметр сообщает системе сборки, что Glibc может + использоваться с ядрами старше 4.14. Это значение + используется для создание обходных путей на случай, если + системный вызов, представленный в более поздней версии, + нельзя будет использовать. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-stack-protector=strong</code></em></span> + </dt> + <dd> + <p> + Этот параметр повышает безопасность системы за счет + добавления дополнительного кода для проверки переполнения + буфера. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-headers=/usr/include</code></em></span> + </dt> + <dd> + <p> + Сообщает системе сборки местоположение заголовочных файлов + API ядра + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>libc_cv_slibdir=/usr/lib</code></em></span> + </dt> + <dd> + <p> + Эта переменная устанавливает правильную библиотеку для всей + системы. Мы не хотим, чтобы использовалась lib64 + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + В этом разделе набор тестов для Glibc считается критически + важным. Ни в коем случае не пропускайте его. + </p> + </div> + <p> + Как правило, несколько тестов не проходят. Ошибки тестирования, + перечисленные ниже, можно игнорировать. + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Вы можете увидеть, что ряд тестов завершились неудачей. Набор + тестов Glibc в некоторой степени зависит от хост-системы. Несколько + ошибок из более чем 5000 тестов можно игнорировать. Список наиболее + распространенных проблем последних версий LFS: + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + Известно, что <span class= + "emphasis"><em>io/tst-lchmod</em></span> не работает в среде + chroot LFS. + </p> + </li> + <li class="listitem"> + <p> + Известно что тест <span class= + "emphasis"><em>stdlib/tst-arc4random-thread</em></span> + завершается неудачей, если ядро хоста относительно старое. + </p> + </li> + <li class="listitem"> + <p> + Некоторые тесты, например, <span class= + "emphasis"><em>nss/tst-nss-files-hosts-multi</em></span> не + работают на относительно медленных системах из-за внутреннего + тайм-аута. + </p> + </li> + <li class="listitem"> + <p> + Кроме того, некоторые тесты могут завершиться неудачно при + использовании относительно старой модели процессора или + версии ядра хоста. + </p> + </li> + </ul> + </div> + <p> + На этапе установки Glibc будет жаловаться на отсутствие файла + <code class="filename">/etc/ld.so.conf</code>, хотя это безобидное + сообщение, предотвратить его появление можно с помощью команды: + </p> + <pre class="userinput"><kbd class= + "command">touch /etc/ld.so.conf</kbd></pre> + <p> + Исправьте Makefile, чтобы пропустить устаревшую проверку + работоспособности, которая завершается неудачей в современной + конфигурации Glibc: + </p> + <pre class="userinput"><kbd class= + "command">sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Исправьте жестко заданный путь к исполняемому загрузчику в скрипте + <span class="command"><strong>ldd</strong></span>: + </p> + <pre class="userinput"><kbd class= + "command">sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd</kbd></pre> + <p> + Установите файл настроек и создайте рабочий каталог <span class= + "command"><strong>nscd</strong></span>: + </p> + <pre class="userinput"><kbd class= + "command">cp -v ../nscd/nscd.conf /etc/nscd.conf +mkdir -pv /var/cache/nscd</kbd></pre> + <p> + Затем установите локали, которые дадут возможность системе отвечать + на разных языках. Ни одна из локалей не требуется системе, но если + некоторые из них отсутствуют, то наборы тестов ряда пакетов будут + пропускать важные тестовые сценарии. + </p> + <p> + Отдельные локали можно установить с помощью программы <span class= + "command"><strong>localedef</strong></span>. Например, вторая + команда <span class="command"><strong>localedef</strong></span> + приведенная ниже, объединяет определение независимой от набора + символов локали <code class= + "filename">/usr/share/i18n/locales/cs_CZ</code> с набором символов + <code class="filename">/usr/share/i18n/charmaps/UTF-8.gz</code> и + добавляет результат в файл <code class= + "filename">/usr/lib/locale/locale-archive</code>. Следующие + инструкции установят минимальный набор локалей, необходимый для + оптимального охвата тестов + </p> + <pre class="userinput"><kbd class="command">mkdir -pv /usr/lib/locale +localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true +localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8 +localedef -i de_DE -f ISO-8859-1 de_DE +localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro +localedef -i de_DE -f UTF-8 de_DE.UTF-8 +localedef -i el_GR -f ISO-8859-7 el_GR +localedef -i en_GB -f ISO-8859-1 en_GB +localedef -i en_GB -f UTF-8 en_GB.UTF-8 +localedef -i en_HK -f ISO-8859-1 en_HK +localedef -i en_PH -f ISO-8859-1 en_PH +localedef -i en_US -f ISO-8859-1 en_US +localedef -i en_US -f UTF-8 en_US.UTF-8 +localedef -i es_ES -f ISO-8859-15 es_ES@euro +localedef -i es_MX -f ISO-8859-1 es_MX +localedef -i fa_IR -f UTF-8 fa_IR +localedef -i fr_FR -f ISO-8859-1 fr_FR +localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro +localedef -i fr_FR -f UTF-8 fr_FR.UTF-8 +localedef -i is_IS -f ISO-8859-1 is_IS +localedef -i is_IS -f UTF-8 is_IS.UTF-8 +localedef -i it_IT -f ISO-8859-1 it_IT +localedef -i it_IT -f ISO-8859-15 it_IT@euro +localedef -i it_IT -f UTF-8 it_IT.UTF-8 +localedef -i ja_JP -f EUC-JP ja_JP +localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true +localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 +localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro +localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R +localedef -i ru_RU -f UTF-8 ru_RU.UTF-8 +localedef -i se_NO -f UTF-8 se_NO.UTF-8 +localedef -i ta_IN -f UTF-8 ta_IN.UTF-8 +localedef -i tr_TR -f UTF-8 tr_TR.UTF-8 +localedef -i zh_CN -f GB18030 zh_CN.GB18030 +localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS +localedef -i zh_TW -f UTF-8 zh_TW.UTF-8</kbd></pre> + <p> + Кроме того, установите локаль для вашей страны, языка и набора + символов. + </p> + <p> + В качестве альтернативы, установите сразу все локали перечисленные + в файле <code class= + "filename">glibc-2.38/localedata/SUPPORTED</code> (он включает все + локали из списка выше и многие другие), выполнив команду: + </p> + <pre class="userinput"><kbd class= + "command">make localedata/install-locales</kbd></pre> + <p> + Затем используйте команду <span class= + "command"><strong>localedef</strong></span> для создания и + установки локалей, не перечисленных в файле <code class= + "filename">glibc-2.38/localedata/SUPPORTED</code>, когда они вам + понадобятся. Например, для некоторых тестов в этой главе + потребуются следующие две локали: + </p> + <pre class="userinput"><kbd class= + "command">localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true +localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Glibc теперь использует libidn2 для разрешения + интернационализированных доменных имен. Если такая функция + необходима, то инструкцию по установке libidn2 можно найти на + странице <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0/general/libidn2.html"> + BLFS libidn2</a>. + </p> + </div> + </div> + <div class="configuration" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="conf-glibc" name="conf-glibc"></a>8.5.2. Настройка Glibc + </h2> + <div class="sect3"> + <h3 class="sect3"> + 8.5.2.1. Добавление nsswitch.conf + </h3> + <p> + Необходимо создать файл <code class= + "filename">/etc/nsswitch.conf</code>, потому что настроенный по + умолчанию Glibc плохо работает в сетевой среде. + </p> + <p> + Создайте новый фай <code class= + "filename">/etc/nsswitch.conf</code>, выполнив следующие + действия: + </p> + <pre class="userinput"><kbd class= + "command">cat > /etc/nsswitch.conf << "EOF" +<code class="literal"># Begin /etc/nsswitch.conf + +passwd: files +group: files +shadow: files + +hosts: files dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files + +# End /etc/nsswitch.conf</code> +EOF</kbd></pre> + </div> + <div class="sect3"> + <h3 class="sect3"> + 8.5.2.2. Добавление данных о часовом поясе + </h3> + <p> + Установите и настройте часовой пояс следующим образом: + </p> + <pre class="userinput"><kbd class= + "command">tar -xf ../../tzdata2023c.tar.gz + +ZONEINFO=/usr/share/zoneinfo +mkdir -pv $ZONEINFO/{posix,right} + +for tz in etcetera southamerica northamerica europe africa antarctica \ + asia australasia backward; do + zic -L /dev/null -d $ZONEINFO ${tz} + zic -L /dev/null -d $ZONEINFO/posix ${tz} + zic -L leapseconds -d $ZONEINFO/right ${tz} +done + +cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO +zic -d $ZONEINFO -p America/New_York +unset ZONEINFO</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение команд zic:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class="parameter"><code>zic -L + /dev/null ...</code></em></span> + </dt> + <dd> + <p> + Создаёт часовые пояса posix без секунд координации. Обычно + их помещают как в <code class="filename">zoneinfo</code> + так и в <code class="filename">zoneinfo/posix</code>. + Часовые пояса POSIX должны быть прописаны в <code class= + "filename">zoneinfo</code>, иначе различные тесты будут + сообщать об ошибках. На встраиваемых системах с небольшим + диском, где часовые пояса никогда не будут обновляться, + можно сэкономить примерно 1.9 MB не используя каталог + <code class="filename">posix</code>, однако некоторые + приложения или наборы тестов могут вызывать сбои. + </p> + </dd> + <dt> + <span class="term"><em class="parameter"><code>zic -L + leapseconds ...</code></em></span> + </dt> + <dd> + <p> + Создаёт правильные часовые пояса с секундами координации. + На встраиваемых системах с небольшим диском, где часовые + пояса никогда не будут обновляться, а правильность времени + неважна, можно выиграть примерно 1.9 MB, исключив каталог + <code class="filename">right</code>. + </p> + </dd> + <dt> + <span class="term"><em class="parameter"><code>zic ... -p + ...</code></em></span> + </dt> + <dd> + <p> + Создаёт файл <code class="filename">posixrules</code>. + Используется New York, потому что POSIX требует + соответствия правил летнего времени с правилами США. + </p> + </dd> + </dl> + </div> + <p> + Один из способов определить местный часовой пояс — запустить + следующий скрипт: + </p> + <pre class="userinput"><kbd class="command">tzselect</kbd></pre> + <p> + После нескольких вопросов о местоположении скрипт выдаст + наименование часового пояса (например <span class= + "emphasis"><em>America/Edmonton</em></span>). В файле + <code class="filename">/usr/share/zoneinfo</code> перечислены и + другие возможные часовые пояса, такие как <span class= + "emphasis"><em>Canada/Eastern</em></span> или <span class= + "emphasis"><em>EST5EDT</em></span>, которые не распознаются + скриптом, но могут быть использованы. + </p> + <p> + Создайте файл <code class="filename">/etc/localtime</code> + выполнив: + </p> + <pre class="userinput"><kbd class= + "command">ln -sfv /usr/share/zoneinfo/<em class= + "replaceable"><code><xxx></code></em> /etc/localtime</kbd></pre> + <p> + Замените <em class="replaceable"><code><xxx></code></em> на + имя выбранного часового пояса (например, Europe/Moscow). + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + <a id="conf-ld" name="conf-ld"></a>8.5.2.3. Настройка + динамического загрузчика + </h3> + <p> + По умолчанию, динамический загрузчик (<code class= + "filename">/lib/ld-linux.so.2</code>) ищет в каталоге + <code class="filename">/usr/lib</code>, нужные для работы + программ библиотеки. Однако, если библиотеки находятся в другом + каталоге, то его необходимо указать в файле <code class= + "filename">/etc/ld.so.conf</code>, чтобы динамический загрузчик + мог их найти. Два каталога - <code class= + "filename">/usr/local/lib</code> и <code class= + "filename">/opt/lib</code> часто используются для дополнительных + библиотек, поэтому добавьте их в пути поиска для динамического + загрузчика. + </p> + <p> + Создайте новый файл <code class="filename">/etc/ld.so.conf</code> + выполнив: + </p> + <pre class="userinput"><kbd class= + "command">cat > /etc/ld.so.conf << "EOF" +<code class="literal"># Begin /etc/ld.so.conf +/usr/local/lib +/opt/lib +</code> +EOF</kbd></pre> + <p> + Динамический загрузчик может выполнить поиск в каталоге и + включить содержимое найденных там файлов. Обычно такие файлы + состоят из одной строки и содержат путь к библиотеке. Чтобы + добавить эту возможность, выполните следующие команды: + </p> + <pre class="userinput"><kbd class= + "command">cat >> /etc/ld.so.conf << "EOF" +<code class="literal"># Add an include directory +include /etc/ld.so.conf.d/*.conf +</code> +EOF +mkdir -pv /etc/ld.so.conf.d</kbd></pre> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-glibc" name="contents-glibc"></a>8.5.3. Содержимое + пакета Glibc + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">gencat, getconf, getent, iconv, + iconvconfig, ldconfig, ldd, lddlibc4, ld.so (symlink to + ld-linux-x86-64.so.2 or ld-linux.so.2), locale, localedef, + makedb, mtrace, nscd, pcprofiledump, pldd, sln, sotruss, sprof, + tzselect, xtrace, zdump и zic</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">ld-linux-x86-64.so.2, ld-linux.so.2, + libBrokenLocale.{a,so}, libanl.{a,so}, libc.{a,so}, + libc_nonshared.a, libc_malloc_debug.so, libdl.{a,so.2}, libg.a, + libm.{a,so}, libmcheck.a, libmemusage.so, libmvec.{a,so}, + libnsl.so.1, libnss_compat.so, libnss_dns.so, libnss_files.so, + libnss_hesiod.so, libpcprofile.so, libpthread.{a,so.0}, + libresolv.{a,so}, librt.{a,so.1}, libthread_db.so и + libutil.{a,so.1}</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/arpa, /usr/include/bits, + /usr/include/gnu, /usr/include/net, /usr/include/netash, + /usr/include/netatalk, /usr/include/netax25, + /usr/include/neteconet, /usr/include/netinet, + /usr/include/netipx, /usr/include/netiucv, + /usr/include/netpacket, /usr/include/netrom, + /usr/include/netrose, /usr/include/nfs, /usr/include/protocols, + /usr/include/rpc, /usr/include/sys, /usr/lib/audit, + /usr/lib/gconv, /usr/lib/locale, /usr/libexec/getconf, + /usr/share/i18n, /usr/share/zoneinfo, /var/cache/nscd и + /var/lib/nss_db</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="gencat" name="gencat"></a><span class= + "term"><span class= + "command"><strong>gencat</strong></span></span> + </p> + </td> + <td> + <p> + Создает каталоги сообщений + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getconf" name="getconf"></a><span class= + "term"><span class= + "command"><strong>getconf</strong></span></span> + </p> + </td> + <td> + <p> + Отображает настройки системы для специфичных переменных + файловой системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getent" name="getent"></a><span class= + "term"><span class= + "command"><strong>getent</strong></span></span> + </p> + </td> + <td> + <p> + Получает записи из административной базы данных + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="iconv" name="iconv"></a><span class= + "term"><span class= + "command"><strong>iconv</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет преобразование набора символов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="iconvconfig" name="iconvconfig"></a><span class= + "term"><span class= + "command"><strong>iconvconfig</strong></span></span> + </p> + </td> + <td> + <p> + Создает быстрозагружаемые файлы настроек модуля + <span class="command"><strong>iconv</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ldconfig" name="ldconfig"></a><span class= + "term"><span class= + "command"><strong>ldconfig</strong></span></span> + </p> + </td> + <td> + <p> + Настраивает привязки времени выполнения динамического + компоновщика + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ldd" name="ldd"></a><span class= + "term"><span class="command"><strong>ldd</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает, какие общие библиотеки требуются каждой + программе или общей библиотеке + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lddlibc4" name="lddlibc4"></a><span class= + "term"><span class= + "command"><strong>lddlibc4</strong></span></span> + </p> + </td> + <td> + <p> + Помогает <span class= + "command"><strong>ldd</strong></span> работать с + объектными файлами. Он не существует на более новых + архитектурах, таких как x86_64 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="locale" name="locale"></a><span class= + "term"><span class= + "command"><strong>locale</strong></span></span> + </p> + </td> + <td> + <p> + Выводит различную информацию о текущей локали + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="localedef" name="localedef"></a><span class= + "term"><span class= + "command"><strong>localedef</strong></span></span> + </p> + </td> + <td> + <p> + Компилирует спецификации локали + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="makedb" name="makedb"></a><span class= + "term"><span class= + "command"><strong>makedb</strong></span></span> + </p> + </td> + <td> + <p> + Создает простую базу данных на основе текстового ввода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mtrace" name="mtrace"></a><span class= + "term"><span class= + "command"><strong>mtrace</strong></span></span> + </p> + </td> + <td> + <p> + Читает и интерпретирует файл трассировки памяти; + отображает сводку в удобочитаемом формате + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nscd" name="nscd"></a><span class= + "term"><span class= + "command"><strong>nscd</strong></span></span> + </p> + </td> + <td> + <p> + Демон, который обеспечивает кеширование наиболее + распространенных запросов к службе имен + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pcprofiledump" name= + "pcprofiledump"></a><span class="term"><span class= + "command"><strong>pcprofiledump</strong></span></span> + </p> + </td> + <td> + <p> + Создает дамп информации, генерируемой при профилировании + ПК + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pldd" name="pldd"></a><span class= + "term"><span class= + "command"><strong>pldd</strong></span></span> + </p> + </td> + <td> + <p> + Перечисляет динамические общие объекты, используемые + запущенными процессами. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sln" name="sln"></a><span class= + "term"><span class="command"><strong>sln</strong></span></span> + </p> + </td> + <td> + <p> + Статически скомпонованная программа <span class= + "command"><strong>ln</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sotruss" name="sotruss"></a><span class= + "term"><span class= + "command"><strong>sotruss</strong></span></span> + </p> + </td> + <td> + <p> + Отслеживает вызовы процедур общей библиотеки указанной + команды + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sprof" name="sprof"></a><span class= + "term"><span class= + "command"><strong>sprof</strong></span></span> + </p> + </td> + <td> + <p> + Читает и отображает данные профилирования общих объектов. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tzselect" name="tzselect"></a><span class= + "term"><span class= + "command"><strong>tzselect</strong></span></span> + </p> + </td> + <td> + <p> + Запрашивает у пользователя информацию о текущем + местоположении системы и выводит описание + соответствующего часового пояса. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xtrace" name="xtrace"></a><span class= + "term"><span class= + "command"><strong>xtrace</strong></span></span> + </p> + </td> + <td> + <p> + Отслеживает выполнение программы, отображая выполняемую в + данный момент функцию + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zdump" name="zdump"></a><span class= + "term"><span class= + "command"><strong>zdump</strong></span></span> + </p> + </td> + <td> + <p> + Выдает дамп часового пояса + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zic" name="zic"></a><span class= + "term"><span class="command"><strong>zic</strong></span></span> + </p> + </td> + <td> + <p> + Компилятор часовых поясов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ld.so" name="ld.so"></a><span class= + "term"><code class="filename">ld-*.so</code></span> + </p> + </td> + <td> + <p> + Вспомогательная программа для исполняемых файлов общей + библиотеки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libBrokenLocale" name= + "libBrokenLocale"></a><span class="term"><code class= + "filename">libBrokenLocale</code></span> + </p> + </td> + <td> + <p> + Используется внутри Glibc как грубый хак для запуска + сломанных программ (например, некоторые приложения + Motif). Прочитайте комментарии в <code class= + "filename">glibc-2.38/locale/broken_cur_max.c</code> для + получения дополнительной информации + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libanl" name="libanl"></a><span class= + "term"><code class="filename">libanl</code></span> + </p> + </td> + <td> + <p> + Библиотека-заглушка, не содержащая функций. Ранее это + была библиотека асинхронного поиска имен, функции которой + теперь находятся в <code class="filename">libc</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libc" name="libc"></a><span class= + "term"><code class="filename">libc</code></span> + </p> + </td> + <td> + <p> + Основная библиотека C + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libc_malloc_debug" name= + "libc_malloc_debug"></a><span class="term"><code class= + "filename">libc_malloc_debug</code></span> + </p> + </td> + <td> + <p> + Включает проверку выделения памяти при предварительной + загрузке + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libdl" name="libdl"></a><span class= + "term"><code class="filename">libdl</code></span> + </p> + </td> + <td> + <p> + Библиотека-заглушка, не содержащая функций. Ранее была + библиотекой интерфейса динамической компоновки, функции + которой теперь находятся в <code class= + "filename">libc</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libg" name="libg"></a><span class= + "term"><code class="filename">libg</code></span> + </p> + </td> + <td> + <p> + Библиотека-заглушка без функций. Раньше была библиотекой + среды выполнения для <span class= + "command"><strong>g++</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libm" name="libm"></a><span class= + "term"><code class="filename">libm</code></span> + </p> + </td> + <td> + <p> + Математическая библиотека + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libmvec" name="libmvec"></a><span class= + "term"><code class="filename">libmvec</code></span> + </p> + </td> + <td> + <p> + Библиотека векторных математических вычислений, + подключаемая по мере необходимости при использовании + <code class="filename">libm</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libmcheck" name="libmcheck"></a><span class= + "term"><code class="filename">libmcheck</code></span> + </p> + </td> + <td> + <p> + Включает проверку выделения памяти при подключении к + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libmemusage" name="libmemusage"></a><span class= + "term"><code class="filename">libmemusage</code></span> + </p> + </td> + <td> + <p> + Используется <span class= + "command"><strong>memusage</strong></span> для сбора + информации об использовании памяти программой + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libnsl" name="libnsl"></a><span class= + "term"><code class="filename">libnsl</code></span> + </p> + </td> + <td> + <p> + Библиотека сетевых служб, которая в настоящее время + устарела + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libnss" name="libnss"></a><span class= + "term"><code class="filename">libnss_*</code></span> + </p> + </td> + <td> + <p> + Модули Name Service Switch, содержащие функции для + разрешения имен хостов, имен пользователей, имен групп, + псевдонимов, служб, протоколов и т. д. Загружаются + <code class="filename">libc</code> в соответствии с + конфигурацией в <code class= + "filename">/etc/nsswitch.conf</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libpcprofile" name="libpcprofile"></a><span class= + "term"><code class="filename">libpcprofile</code></span> + </p> + </td> + <td> + <p> + Содержит функции профилирования, используемые для + отслеживания времени, потраченного процессором в + конкретных строках исходного кода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libpthread" name="libpthread"></a><span class= + "term"><code class="filename">libpthread</code></span> + </p> + </td> + <td> + <p> + Библиотека-заглушка, не содержащая функций. Ранее + содержала функции, обеспечивающие большинство + интерфейсов, заданных POSIX.1c Threads Extensions + (расширения реализации потоков) и интерфейсы семафоров, + указанных в POSIX.1b Real-time Extension (расширения + реального времени), теперь эти функции находятся в + <code class="filename">libc</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libresolv" name="libresolv"></a><span class= + "term"><code class="filename">libresolv</code></span> + </p> + </td> + <td> + <p> + Содержит функции создания, пересылки и интерпретации + пакетов, используемых на серверах доменных имен в сети + интернет + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="librt" name="librt"></a><span class= + "term"><code class="filename">librt</code></span> + </p> + </td> + <td> + <p> + Содержит функции, реализующие большую часть интерфейсов, + определяемых в POSIX.1b Real-time Extension (расширения + реального времени) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libthread_db" name="libthread_db"></a><span class= + "term"><code class="filename">libthread_db</code></span> + </p> + </td> + <td> + <p> + Содержит функции, полезные для сборки отладчиков для + многопоточных программ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libutil" name="libutil"></a><span class= + "term"><code class="filename">libutil</code></span> + </p> + </td> + <td> + <p> + Библиотека-заглушка, не содержащая функций. Ранее + содержал код для <span class="quote">«<span class= + "quote">стандартных</span>»</span> функций, используемых + во многих утилитах Unix. Эти функции теперь находятся в + <code class="filename">libc</code> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="iana-etc.html" title= + "Iana-Etc-20230810">Пред.</a> + <p> + Iana-Etc-20230810 + </p> + </li> + <li class="next"> + <a accesskey="n" href="zlib.html" title="Zlib-1.2.13">След.</a> + <p> + Zlib-1.2.13 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/gmp.html b/lfs-12.0-sysv/chapter08/gmp.html new file mode 100644 index 0000000..7c1e03d --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gmp.html @@ -0,0 +1,268 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.19. GMP-6.3.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="binutils.html" title= + "Binutils-2.41">Пред.</a> + <p> + Binutils-2.41 + </p> + </li> + <li class="next"> + <a accesskey="n" href="mpfr.html" title="MPFR-4.2.0">След.</a> + <p> + MPFR-4.2.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-gmp" name="ch-system-gmp"></a>8.19. GMP-6.3.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет GMP содержит математические библиотеки. Они содержат полезные + функции для арифметики с произвольной точностью. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">54 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.19.1. Установка пакета GMP + </h2> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Если вы выполняете сборку для 32-разрядной архитектуры x86, но + ваш процессор, способен выполнять 64-разрядный код, <span class= + "emphasis"><em>и</em></span> вы указали в переменных окружения + <code class="envar">CFLAGS</code>, скрипт configure попытается + выполнить настройку для 64-разрядной системы и завершится + ошибкой. Чтобы избежать этого, необходимо вызвать команду + configure с приведенным ниже параметром + </p> + <pre class="userinput"><kbd class="command"><em class= + "parameter"><code>ABI=32</code></em> ./configure ...</kbd></pre> + </div> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Настройки GMP по умолчанию собирают библиотеки, оптимизированные + для процессора хоста. Если требуются библиотеки, подходящие для + процессоров с меньшей производительностью, чем у процессора + хоста, можно собрать общие библиотеки, добавив параметр + <code class="option">--host=none-linux-gnu</code> в команде + <span class="command"><strong>configure</strong></span>. + </p> + </div> + <p> + Подготовьте GMP к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --enable-cxx \ + --disable-static \ + --docdir=/usr/share/doc/gmp-6.3.0</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение новых параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-cxx</code></em></span> + </dt> + <dd> + <p> + Этот параметр включает поддержку C++ + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--docdir=/usr/share/doc/gmp-6.3.0</code></em></span> + </dt> + <dd> + <p> + Эта переменная указывает местоположение для документации. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет и сгенерируйте HTML-документацию: + </p> + <pre class="userinput"><kbd class="command">make +make html</kbd></pre> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Набор тестов для GMP в этом разделе считается критически важным. + Ни в коем случае не пропускайте его. + </p> + </div> + <p> + Проверьте результаты: + </p> + <pre class="userinput"><kbd class= + "command">make check 2>&1 | tee gmp-check-log</kbd></pre> + <div class="admon caution"> + <img alt="[Внимание]" src="../images/caution.png" /> + <h3> + Внимание + </h3> + <p> + Код в GMP сильно оптимизирован для процессора, на котором он + собран. Иногда код, определяющий процессор, неверно определяет + возможности системы, и в тестах или других приложениях, + использующих библиотеки gmp, возникают ошибки с сообщением + "Illegal instruction". В этом случае gmp следует + переконфигурировать с параметром <code class= + "option">--host=none-linux-gnu</code> и пересобрать. + </p> + </div> + <p> + Убедитесь, что все 199 тестов в наборе тестов пройдены. Проверьте + результат, выполнив следующую команду: + </p> + <pre class="userinput"><kbd class= + "command">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</kbd></pre> + <p> + Установите пакет и его документацию: + </p> + <pre class="userinput"><kbd class="command">make install +make install-html</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gmp" name="contents-gmp"></a>8.19.2. Содержимое + пакета GMP + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libgmp.so и libgmpxx.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/gmp-6.3.0</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libgmp" name="libgmp"></a><span class= + "term"><code class="filename">libgmp</code></span> + </p> + </td> + <td> + <p> + Содержит точные математические функции + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libgmpxx" name="libgmpxx"></a><span class= + "term"><code class="filename">libgmpxx</code></span> + </p> + </td> + <td> + <p> + Содержит точные математические функции C++ + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="binutils.html" title= + "Binutils-2.41">Пред.</a> + <p> + Binutils-2.41 + </p> + </li> + <li class="next"> + <a accesskey="n" href="mpfr.html" title="MPFR-4.2.0">След.</a> + <p> + MPFR-4.2.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/gperf.html b/lfs-12.0-sysv/chapter08/gperf.html new file mode 100644 index 0000000..0448165 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gperf.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.38. Gperf-3.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="gdbm.html" title="GDBM-1.23">Пред.</a> + <p> + GDBM-1.23 + </p> + </li> + <li class="next"> + <a accesskey="n" href="expat.html" title="Expat-2.5.0">След.</a> + <p> + Expat-2.5.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-gperf" name="ch-system-gperf"></a>8.38. Gperf-3.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Gperf генерирует идеальную хэш-функцию из набора ключей. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">6.1 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.38.1. Установка пакета Gperf + </h2> + <p> + Подготовьте Gperf к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.1</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Известно, что тесты завершаются ошибкой при одновременном + выполнении нескольких тестов (параметр -j больше 1). Для выполнения + тестов, запустите следующую команду: + </p> + <pre class="userinput"><kbd class= + "command">make -j1 check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gperf" name="contents-gperf"></a>8.38.2. Содержимое + пакета Gperf + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">gperf</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/gperf-3.1</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="gperf" name="gperf"></a><span class= + "term"><span class= + "command"><strong>gperf</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует идеальный хэш из набора ключей + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="gdbm.html" title="GDBM-1.23">Пред.</a> + <p> + GDBM-1.23 + </p> + </li> + <li class="next"> + <a accesskey="n" href="expat.html" title="Expat-2.5.0">След.</a> + <p> + Expat-2.5.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/grep.html b/lfs-12.0-sysv/chapter08/grep.html new file mode 100644 index 0000000..6c06629 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/grep.html @@ -0,0 +1,195 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.34. Grep-3.11 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="bison.html" title="Bison-3.8.2">Пред.</a> + <p> + Bison-3.8.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bash.html" title="Bash-5.2.15">След.</a> + <p> + Bash-5.2.15 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-grep" name="ch-system-grep"></a>8.34. Grep-3.11 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Grep содержит программы для поиска по содержимому файлов. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.4 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">39 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.34.1. Установка пакета Grep + </h2> + <p> + Во-первых, удалите предупреждение об использовании egrep и fgrep, + которое приводит к сбою тестов некоторых пакетов: + </p> + <pre class="userinput"><kbd class= + "command">sed -i "s/echo/#echo/" src/egrep.sh</kbd></pre> + <p> + Подготовьте Grep к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-grep" name="contents-grep"></a>8.34.2. Содержимое + пакета Grep + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">egrep, fgrep, и grep</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="egrep" name="egrep"></a><span class= + "term"><span class= + "command"><strong>egrep</strong></span></span> + </p> + </td> + <td> + <p> + Выводит строки, соответствующие расширенному регулярному + выражению. Команда устарела, вместо неё используйте + <span class="command"><strong>grep -E</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fgrep" name="fgrep"></a><span class= + "term"><span class= + "command"><strong>fgrep</strong></span></span> + </p> + </td> + <td> + <p> + Выводит строки, соответствующие списку фиксированных + строк. Команда устарела, вместо неё используйте + <span class="command"><strong>grep -F</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grep" name="grep"></a><span class= + "term"><span class= + "command"><strong>grep</strong></span></span> + </p> + </td> + <td> + <p> + Выводит строки, соответствующие простому регулярному + выражению + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="bison.html" title="Bison-3.8.2">Пред.</a> + <p> + Bison-3.8.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bash.html" title="Bash-5.2.15">След.</a> + <p> + Bash-5.2.15 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/groff.html b/lfs-12.0-sysv/chapter08/groff.html new file mode 100644 index 0000000..0af3b31 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/groff.html @@ -0,0 +1,897 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.61. Groff-1.23.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="findutils.html" title= + "Findutils-4.9.0">Пред.</a> + <p> + Findutils-4.9.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="grub.html" title="GRUB-2.06">След.</a> + <p> + GRUB-2.06 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-groff" name="ch-system-groff"></a>8.61. Groff-1.23.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Groff содержит программы для обработки и форматирования + текста и изображений. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">107 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.61.1. Установка пакета Groff + </h2> + <p> + Groff ожидает, что переменная окружения <code class= + "envar">PAGE</code> будет содержать размер бумаги по умолчанию. Для + пользователей из США подходит <em class= + "parameter"><code>PAGE=letter</code></em>. Для других стран больше + подойдет <em class="parameter"><code>PAGE=A4</code></em>. Хотя + формат бумаги по умолчанию настраивается во время компиляции, его + можно переопределить позже, записав <span class= + "quote">«<span class="quote">A4</span>»</span> или <span class= + "quote">«<span class="quote">letter</span>»</span> в файл + <code class="filename">/etc/papersize</code>. + </p> + <p> + Подготовьте Groff к компиляции: + </p> + <pre class="userinput"><kbd class="command">PAGE=<em class= + "replaceable"><code><paper_size></code></em> ./configure --prefix=/usr</kbd></pre> + <p> + Соберите пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-groff" name="contents-groff"></a>8.61.2. Содержимое + пакета Groff + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">addftinfo, afmtodit, chem, eqn, + eqn2graph, gdiffmk, glilypond, gperl, gpinyin, grap2graph, grn, + grodvi, groff, groffer, grog, grolbp, grolj4, gropdf, grops, + grotty, hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff, + pdfmom, pdfroff, pfbtops, pic, pic2graph, post-grohtml, + preconv, pre-grohtml, refer, roff2dvi, roff2html, roff2pdf, + roff2ps, roff2text, roff2x, soelim, tbl, tfmtodit и + troff</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/groff и + /usr/share/doc/groff-1.23.0, /usr/share/groff</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="addftinfo" name="addftinfo"></a><span class= + "term"><span class= + "command"><strong>addftinfo</strong></span></span> + </p> + </td> + <td> + <p> + Читает файл шрифта troff и добавляет некоторую + дополнительную информацию о метрике шрифта, используемую + системой <span class= + "command"><strong>groff</strong></span>. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="afmtodit" name="afmtodit"></a><span class= + "term"><span class= + "command"><strong>afmtodit</strong></span></span> + </p> + </td> + <td> + <p> + Создаёт файл шрифта для использования с <span class= + "command"><strong>groff</strong></span> и <span class= + "command"><strong>grops</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chem" name="chem"></a><span class= + "term"><span class= + "command"><strong>chem</strong></span></span> + </p> + </td> + <td> + <p> + Препроцессор Groff для создания диаграмм химических + структур + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="eqn" name="eqn"></a><span class= + "term"><span class="command"><strong>eqn</strong></span></span> + </p> + </td> + <td> + <p> + Компилирует описания уравнений, имеющихся внутри входных + файлов troff, которые понятны <span class= + "command"><strong>troff</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="eqn2graph" name="eqn2graph"></a><span class= + "term"><span class= + "command"><strong>eqn2graph</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует a troff EQN (уравнение) во фрагмент + изображения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gdiffmk" name="gdiffmk"></a><span class= + "term"><span class= + "command"><strong>gdiffmk</strong></span></span> + </p> + </td> + <td> + <p> + Отображает различия между файлами groff/nroff/troff + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="glilypond" name="glilypond"></a><span class= + "term"><span class= + "command"><strong>glilypond</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует ноты, записанные на языке lilypond в язык + groff + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gperl" name="gperl"></a><span class= + "term"><span class= + "command"><strong>gperl</strong></span></span> + </p> + </td> + <td> + <p> + Препроцессор для groff, позволяющий вставлять код perl в + файлы groff + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gpinyin" name="gpinyin"></a><span class= + "term"><span class= + "command"><strong>gpinyin</strong></span></span> + </p> + </td> + <td> + <p> + Препроцессор groff, позволяющий вставлять Pinyin (запись + звуков китайского языка с помощью латинского алфавита) в + файлы groff. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grap2graph" name="grap2graph"></a><span class= + "term"><span class= + "command"><strong>grap2graph</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует диаграммы grap во фрагмент растрового + изображения (grap - это старый язык программирования Unix + для создания диаграмм) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grn" name="grn"></a><span class= + "term"><span class="command"><strong>grn</strong></span></span> + </p> + </td> + <td> + <p> + Препроцессор <span class= + "command"><strong>groff</strong></span> для файлов + gremlin + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grodvi" name="grodvi"></a><span class= + "term"><span class= + "command"><strong>grodvi</strong></span></span> + </p> + </td> + <td> + <p> + Драйвер для <span class= + "command"><strong>groff</strong></span>, создающий + выходные файлы в формате TeX dvi + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="groff" name="groff"></a><span class= + "term"><span class= + "command"><strong>groff</strong></span></span> + </p> + </td> + <td> + <p> + Внешний интерфейс к системе форматирования документов + groff; обычно он запускает программу <span class= + "command"><strong>troff</strong></span> и постпроцессор, + соответствующий выбранному устройству + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="groffer" name="groffer"></a><span class= + "term"><span class= + "command"><strong>groffer</strong></span></span> + </p> + </td> + <td> + <p> + Отображает файлы groff и справочные страницы на + терминалах X и tty + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grog" name="grog"></a><span class= + "term"><span class= + "command"><strong>grog</strong></span></span> + </p> + </td> + <td> + <p> + Читает файлы и пытается определить, какие из параметров + <span class="command"><strong>groff</strong></span> + <code class="option">-e</code>, <code class= + "option">-man</code>, <code class="option">-me</code>, + <code class="option">-mm</code>, <code class= + "option">-ms</code>, <code class="option">-p</code>, + <code class="option">-s</code>, или <code class= + "option">-t</code> требуются для печати файлов, и + указывает команду <span class= + "command"><strong>groff</strong></span> с этими + параметрами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grolbp" name="grolbp"></a><span class= + "term"><span class= + "command"><strong>grolbp</strong></span></span> + </p> + </td> + <td> + <p> + Драйвер <span class= + "command"><strong>groff</strong></span> для принтеров + Canon CAPSL (лазерные принтеры серий LBP-4 и LBP-8) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grolj4" name="grolj4"></a><span class= + "term"><span class= + "command"><strong>grolj4</strong></span></span> + </p> + </td> + <td> + <p> + Драйвер для <span class= + "command"><strong>groff</strong></span> который выводит + результат в формате PCL5, подходящем для принтера HP + LaserJet 4 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gropdf" name="gropdf"></a><span class= + "term"><span class= + "command"><strong>gropdf</strong></span></span> + </p> + </td> + <td> + <p> + Переводит выходные данные GNU <span class= + "command"><strong>troff</strong></span> в формат PDF + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grops" name="grops"></a><span class= + "term"><span class= + "command"><strong>grops</strong></span></span> + </p> + </td> + <td> + <p> + Переводит выходные данные GNU <span class= + "command"><strong>troff</strong></span> в формат + PostScript + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grotty" name="grotty"></a><span class= + "term"><span class= + "command"><strong>grotty</strong></span></span> + </p> + </td> + <td> + <p> + Переводит вывод GNU <span class= + "command"><strong>troff</strong></span> в форму, + подходящую для устройств, подобных пишущим машинкам. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="hpftodit" name="hpftodit"></a><span class= + "term"><span class= + "command"><strong>hpftodit</strong></span></span> + </p> + </td> + <td> + <p> + Создает файл шрифта для использования с <span class= + "command"><strong>groff -Tlj4</strong></span> из файла + метрик шрифта для HP + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="indxbib" name="indxbib"></a><span class= + "term"><span class= + "command"><strong>indxbib</strong></span></span> + </p> + </td> + <td> + <p> + Создает инвертированный индекс для библиографических баз + данных для указанного файла, используемый с <span class= + "command"><strong>refer</strong></span>, <span class= + "command"><strong>lookbib</strong></span>, и <span class= + "command"><strong>lkbib</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lkbib" name="lkbib"></a><span class= + "term"><span class= + "command"><strong>lkbib</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет поиск в библиографических базах данных ссылок, + содержащих указанные ключи, и сообщает о любых найденных + ссылках + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lookbib" name="lookbib"></a><span class= + "term"><span class= + "command"><strong>lookbib</strong></span></span> + </p> + </td> + <td> + <p> + Выводит приглашение при наличии стандартной ошибки (если + устройство стандартного ввода не является терминалом), + читает из устройства стандартного ввода строку, в которой + находится набор ключевых слов, ищет в библиографической + базе данных для указанного файла ссылки, содержащие эти + ключевые слова, выводит все ссылки, найденные в + стандартном выводе и повторяет этот процесс до тех пор, + пока не завершится входной поток + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mmroff" name="mmroff"></a><span class= + "term"><span class= + "command"><strong>mmroff</strong></span></span> + </p> + </td> + <td> + <p> + Простой препроцессор для <span class= + "command"><strong>groff</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="neqn" name="neqn"></a><span class= + "term"><span class= + "command"><strong>neqn</strong></span></span> + </p> + </td> + <td> + <p> + Форматирует уравнения для их вывода в формате American + Standard Code for Information Interchange (ASCII) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nroff" name="nroff"></a><span class= + "term"><span class= + "command"><strong>nroff</strong></span></span> + </p> + </td> + <td> + <p> + Скрипт, который эмулирует команду <span class= + "command"><strong>nroff</strong></span> с помощью + <span class="command"><strong>groff</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pdfmom" name="pdfmom"></a><span class= + "term"><span class= + "command"><strong>pdfmom</strong></span></span> + </p> + </td> + <td> + <p> + Это обертка над groff которая упрощает создание + PDF-документов из файлов, отформатированных с помощью + макросов mom. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pdfroff" name="pdfroff"></a><span class= + "term"><span class= + "command"><strong>pdfroff</strong></span></span> + </p> + </td> + <td> + <p> + Создает pdf-документы с помощью groff + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pfbtops" name="pfbtops"></a><span class= + "term"><span class= + "command"><strong>pfbtops</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует шрифт PostScript в формате <code class= + "filename">.pfb</code> в формат ASCII + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pic" name="pic"></a><span class= + "term"><span class="command"><strong>pic</strong></span></span> + </p> + </td> + <td> + <p> + Компилирует описания изображений, вставленных во входные + файлы troff или TeX, в команды, понятные TeX или + <span class="command"><strong>troff</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pic2graph" name="pic2graph"></a><span class= + "term"><span class= + "command"><strong>pic2graph</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует диаграмму PIC во фрагмент изображения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="post-grohtml" name="post-grohtml"></a><span class= + "term"><span class= + "command"><strong>post-grohtml</strong></span></span> + </p> + </td> + <td> + <p> + Переводит выходной поток GNU <span class= + "command"><strong>troff</strong></span> в HTML + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="preconv" name="preconv"></a><span class= + "term"><span class= + "command"><strong>preconv</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует кодировку входных файлов в формат, понимаемый + GNU <span class="command"><strong>troff</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pre-grohtml" name="pre-grohtml"></a><span class= + "term"><span class= + "command"><strong>pre-grohtml</strong></span></span> + </p> + </td> + <td> + <p> + Переводит выходной поток GNU <span class= + "command"><strong>troff</strong></span> в HTML + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="refer" name="refer"></a><span class= + "term"><span class= + "command"><strong>refer</strong></span></span> + </p> + </td> + <td> + <p> + Копирует содержимое файла в стандартный вывод, кроме тех + символов, которые расположены между <span class= + "emphasis"><em>.[</em></span> и <span class= + "emphasis"><em>.]</em></span> и интерпретируются как + цитаты, и кроме строк между <span class= + "emphasis"><em>.R1</em></span> и <span class= + "emphasis"><em>.R2</em></span>, которые интерпретируются + как команды, указывающие как цитаты должны быть + обработаны + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="roff2dvi" name="roff2dvi"></a><span class= + "term"><span class= + "command"><strong>roff2dvi</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файлы roff в формат DVI + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="roff2html" name="roff2html"></a><span class= + "term"><span class= + "command"><strong>roff2html</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файлы roff в формат HTML + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="roff2pdf" name="roff2pdf"></a><span class= + "term"><span class= + "command"><strong>roff2pdf</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файлы roff в формат PDF + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="roff2ps" name="roff2ps"></a><span class= + "term"><span class= + "command"><strong>roff2ps</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файлы roff в файлы ps + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="roff2text" name="roff2text"></a><span class= + "term"><span class= + "command"><strong>roff2text</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файлы roff в текстовые файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="roff2x" name="roff2x"></a><span class= + "term"><span class= + "command"><strong>roff2x</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файлы roff в другие форматы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="soelim" name="soelim"></a><span class= + "term"><span class= + "command"><strong>soelim</strong></span></span> + </p> + </td> + <td> + <p> + Читает файлы и заменяет строки вида <span class= + "emphasis"><em>.so file</em></span> содержимым указанного + файла <span class="emphasis"><em>file</em></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tbl" name="tbl"></a><span class= + "term"><span class="command"><strong>tbl</strong></span></span> + </p> + </td> + <td> + <p> + Компилирует описания таблиц, вставленные во входные файлы + troff, в команды, понимаемые <span class= + "command"><strong>troff</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tfmtodit" name="tfmtodit"></a><span class= + "term"><span class= + "command"><strong>tfmtodit</strong></span></span> + </p> + </td> + <td> + <p> + Создает файл шрифта для использования с <span class= + "command"><strong>groff -Tdvi</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="troff" name="troff"></a><span class= + "term"><span class= + "command"><strong>troff</strong></span></span> + </p> + </td> + <td> + <p> + Полностью совместим с Unix <span class= + "command"><strong>troff</strong></span>; его следует + вызывать с помощью команды <span class= + "command"><strong>groff</strong></span>, которая также + будет запускать препроцессоры и постпроцессоры в + соответствующем порядке и с соответствующими параметрами + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="findutils.html" title= + "Findutils-4.9.0">Пред.</a> + <p> + Findutils-4.9.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="grub.html" title="GRUB-2.06">След.</a> + <p> + GRUB-2.06 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/grub.html b/lfs-12.0-sysv/chapter08/grub.html new file mode 100644 index 0000000..70ab88c --- /dev/null +++ b/lfs-12.0-sysv/chapter08/grub.html @@ -0,0 +1,602 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.62. GRUB-2.06 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="groff.html" title="Groff-1.23.0">Пред.</a> + <p> + Groff-1.23.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gzip.html" title="Gzip-1.12">След.</a> + <p> + Gzip-1.12 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-grub" name="ch-system-grub"></a>8.62. GRUB-2.06 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет GRUB содержит загрузчик операционной системы от проекта GNU + (GRand Unified Bootloader). + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">161 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.62.1. Установка пакета GRUB + </h2> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Если ваша система поддерживает UEFI и вы хотите загрузить LFS с + UEFI, вы можете пропустить установку этого пакета в LFS и + установить GRUB с поддержкой UEFI (и его зависимости), следуя + инструкции <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0/postlfs/grub-efi.html"> + из BLFS</a>. + </p> + </div> + <div class="admon warning"> + <img alt="[Предупреждение]" src="../images/warning.png" /> + <h3> + Предупреждение + </h3> + <p> + Сбросьте переменные окружения, которые могут повлиять на сборку: + </p> + <pre class="userinput"><kbd class= + "command">unset {C,CPP,CXX,LD}FLAGS</kbd></pre> + <p> + Не пытайтесь <span class="quote">«<span class= + "quote">настраивать</span>»</span> этот пакет с помощью + пользовательских флагов компиляции. Этот пакет является + загрузчиком. Низкоуровневые операции в исходном коде могут быть + нарушены из-за агрессивной оптимизации. + </p> + </div> + <p> + Устранена проблема, приводившая к сбою <span class= + "command"><strong>grub-install</strong></span>, когда раздел + <code class="filename">/boot</code> (или корневой раздел, если + <code class="filename">/boot</code> не является отдельным разделом) + создается e2fsprogs-1.47.0 или более поздней версии: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../grub-2.06-upstream_fixes-1.patch</kbd></pre> + <p> + Подготовьте GRUB к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-efiemu \ + --disable-werror</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение новых параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-werror</code></em></span> + </dt> + <dd> + <p> + Этот параметр позволяет завершить сборку с предупреждениями, + появившимися в более поздних версиях Flex. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-efiemu</code></em></span> + </dt> + <dd> + <p> + Этот параметр запрещает установку компонента, отключает + функции и некоторые программы тестирования, которые не нужны + для LFS. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Запуск набора тестов не рекомендуется. Большинство тестов зависят + от пакетов, недоступных в ограниченной среде LFS. Если вы все равно + хотите запустить тесты, выполните <span class= + "command"><strong>make check</strong></span>. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install +mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</kbd></pre> + <p> + Создание загружаемой системы LFS с помощью GRUB будет обсуждаться в + <a class="xref" href="../chapter10/grub.html" title= + "10.4. Использование GRUB для настройки процесса загрузки">Раздел 10.4, + «Использование GRUB для настройки процесса загрузки»</a>. + </p> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gRUB" name="contents-gRUB"></a>8.62.2. Содержимое + пакета GRUB + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">grub-bios-setup, grub-editenv, grub-file, + grub-fstest, grub-glue-efi, grub-install, grub-kbdcomp, + grub-macbless, grub-menulst2cfg, grub-mkconfig, grub-mkimage, + grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, + grub-mkrelpath, grub-mkrescue, grub-mkstandalone, + grub-ofpathname, grub-probe, grub-reboot, grub-render-label, + grub-script-check, grub-set-default, grub-sparc64-setup и + grub-syslinux2cfg</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/grub, /etc/grub.d, + /usr/share/grub и /boot/grub (при первом запуске + grub-install)</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="grub-bios-setup" name= + "grub-bios-setup"></a><span class="term"><span class= + "command"><strong>grub-bios-setup</strong></span></span> + </p> + </td> + <td> + <p> + Вспомогательная программа для <span class= + "command"><strong>grub-install</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-editenv" name="grub-editenv"></a><span class= + "term"><span class= + "command"><strong>grub-editenv</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент для редактирования блока окружения + (environment block) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-file" name="grub-file"></a><span class= + "term"><span class= + "command"><strong>grub-file</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет, относится ли данный файл к указанному типу + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-fstest" name="grub-fstest"></a><span class= + "term"><span class= + "command"><strong>grub-fstest</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент для отладки драйвера файловой системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-glue-efi" name= + "grub-glue-efi"></a><span class="term"><span class= + "command"><strong>grub-glue-efi</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет 32-разрядные и 64-разрядные бинарные файлы в + один файл (для компьютеров Apple) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-install" name="grub-install"></a><span class= + "term"><span class= + "command"><strong>grub-install</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает GRUB на ваш диск + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-kbdcomp" name="grub-kbdcomp"></a><span class= + "term"><span class= + "command"><strong>grub-kbdcomp</strong></span></span> + </p> + </td> + <td> + <p> + Скрипт, который преобразует макет xkb в макет, + распознаваемый GRUB + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-macbless" name= + "grub-macbless"></a><span class="term"><span class= + "command"><strong>grub-macbless</strong></span></span> + </p> + </td> + <td> + <p> + Это аналог bless в стиле Mac для файловых систем HFS или + HFS+ (команда <span class= + "command"><strong>bless</strong></span> характерна для + компьютеров Apple; она делает устройство загрузочным) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-menulst2cfg" name= + "grub-menulst2cfg"></a><span class="term"><span class= + "command"><strong>grub-menulst2cfg</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует GRUB Legacy <code class= + "filename">menu.lst</code> в <code class= + "filename">grub.cfg</code> для использования с GRUB 2 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mkconfig" name= + "grub-mkconfig"></a><span class="term"><span class= + "command"><strong>grub-mkconfig</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует файл <code class="filename">grub.cfg</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mkimage" name="grub-mkimage"></a><span class= + "term"><span class= + "command"><strong>grub-mkimage</strong></span></span> + </p> + </td> + <td> + <p> + Создаёт загрузочный образ GRUB + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mklayout" name= + "grub-mklayout"></a><span class="term"><span class= + "command"><strong>grub-mklayout</strong></span></span> + </p> + </td> + <td> + <p> + Создаёт файл раскладки клавиатуры GRUB + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mknetdir" name= + "grub-mknetdir"></a><span class="term"><span class= + "command"><strong>grub-mknetdir</strong></span></span> + </p> + </td> + <td> + <p> + Подготавливает сетевой загрузочный каталог GRUB + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mkpasswd-pbkdf2" name= + "grub-mkpasswd-pbkdf2"></a><span class= + "term"><span class="command"><strong>grub-mkpasswd-pbkdf2</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует зашифрованный пароль PBKDF2 для использования + в меню загрузки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mkrelpath" name= + "grub-mkrelpath"></a><span class="term"><span class= + "command"><strong>grub-mkrelpath</strong></span></span> + </p> + </td> + <td> + <p> + Создает имена системных путей относительно корня + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mkrescue" name= + "grub-mkrescue"></a><span class="term"><span class= + "command"><strong>grub-mkrescue</strong></span></span> + </p> + </td> + <td> + <p> + Создает загрузочный образ GRUB, подходящий для дискеты, + CDROM/DVD или USB-накопителя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-mkstandalone" name= + "grub-mkstandalone"></a><span class="term"><span class= + "command"><strong>grub-mkstandalone</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует автономный образ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-ofpathname" name= + "grub-ofpathname"></a><span class="term"><span class= + "command"><strong>grub-ofpathname</strong></span></span> + </p> + </td> + <td> + <p> + Вспомогательная программа, которая выводит путь к + устройству GRUB + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-probe" name="grub-probe"></a><span class= + "term"><span class= + "command"><strong>grub-probe</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет информацию об устройстве для заданного пути или + устройства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-reboot" name="grub-reboot"></a><span class= + "term"><span class= + "command"><strong>grub-reboot</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает пункт меню в GRUB для загрузки по + умолчанию, только для следующей загрузки(однократно) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-render-label" name= + "grub-render-label"></a><span class="term"><span class= + "command"><strong>grub-render-label</strong></span></span> + </p> + </td> + <td> + <p> + Отображает .disk_label для компьютеров Apple Mac + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-script-check" name= + "grub-script-check"></a><span class="term"><span class= + "command"><strong>grub-script-check</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет скрипт настройки GRUB на наличие синтаксических + ошибок + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-set-default" name= + "grub-set-default"></a><span class="term"><span class= + "command"><strong>grub-set-default</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает для GRUB загрузочную запись по умолчанию + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-sparc64-setup" name= + "grub-sparc64-setup"></a><span class="term"><span class= + "command"><strong>grub-sparc64-setup</strong></span></span> + </p> + </td> + <td> + <p> + Вспомогательная программа для grub-setup + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grub-syslinux2cfg" name= + "grub-syslinux2cfg"></a><span class="term"><span class= + "command"><strong>grub-syslinux2cfg</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файл конфигурации syslinux в формат grub.cfg + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="groff.html" title="Groff-1.23.0">Пред.</a> + <p> + Groff-1.23.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gzip.html" title="Gzip-1.12">След.</a> + <p> + Gzip-1.12 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/gzip.html b/lfs-12.0-sysv/chapter08/gzip.html new file mode 100644 index 0000000..e08588b --- /dev/null +++ b/lfs-12.0-sysv/chapter08/gzip.html @@ -0,0 +1,365 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.63. Gzip-1.12 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="grub.html" title="GRUB-2.06">Пред.</a> + <p> + GRUB-2.06 + </p> + </li> + <li class="next"> + <a accesskey="n" href="iproute2.html" title= + "IPRoute2-6.4.0">След.</a> + <p> + IPRoute2-6.4.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-gzip" name="ch-system-gzip"></a>8.63. Gzip-1.12 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Gzip содержит программы для сжатия и распаковки файлов. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">21 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.63.1. Установка пакета Gzip + </h2> + <p> + Подготовьте Gzip к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-gzip" name="contents-gzip"></a>8.63.2. Содержимое + пакета Gzip + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">gunzip, gzexe, gzip, uncompress (жесткая + ссылка на gunzip), zcat, zcmp, zdiff, zegrep, zfgrep, zforce, + zgrep, zless, zmore и znew</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="gunzip" name="gunzip"></a><span class= + "term"><span class= + "command"><strong>gunzip</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает gzip-файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gzexe" name="gzexe"></a><span class= + "term"><span class= + "command"><strong>gzexe</strong></span></span> + </p> + </td> + <td> + <p> + Создает самораспаковывающиеся исполняемые файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gzip" name="gzip"></a><span class= + "term"><span class= + "command"><strong>gzip</strong></span></span> + </p> + </td> + <td> + <p> + Сжимает файлы, используя алгоритм Lempel-Ziv (LZ77). + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uncompress" name="uncompress"></a><span class= + "term"><span class= + "command"><strong>uncompress</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает сжатые файлы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zcat" name="zcat"></a><span class= + "term"><span class= + "command"><strong>zcat</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает указанные сжатые файлы в стандартный поток + вывода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zcmp" name="zcmp"></a><span class= + "term"><span class= + "command"><strong>zcmp</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>cmp</strong></span> для архивированных + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zdiff" name="zdiff"></a><span class= + "term"><span class= + "command"><strong>zdiff</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>diff</strong></span> для архивированных + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zegrep" name="zegrep"></a><span class= + "term"><span class= + "command"><strong>zegrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>egrep</strong></span> для + архивированных файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zfgrep" name="zfgrep"></a><span class= + "term"><span class= + "command"><strong>zfgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>fgrep</strong></span> для + архивированных файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zforce" name="zforce"></a><span class= + "term"><span class= + "command"><strong>zforce</strong></span></span> + </p> + </td> + <td> + <p> + Принудительно устанавливает расширение <code class= + "filename">.gz</code> всем сжатым файлам, чтобы + <span class="command"><strong>gzip</strong></span> не + сжимал их снова; это может быть полезно, когда имена + файлов были обрезаны во время передачи файла + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zgrep" name="zgrep"></a><span class= + "term"><span class= + "command"><strong>zgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>grep</strong></span> для архивированных + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zless" name="zless"></a><span class= + "term"><span class= + "command"><strong>zless</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>less</strong></span> для архивированных + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zmore" name="zmore"></a><span class= + "term"><span class= + "command"><strong>zmore</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>more</strong></span> для архивированных + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="znew" name="znew"></a><span class= + "term"><span class= + "command"><strong>znew</strong></span></span> + </p> + </td> + <td> + <p> + Повторно сжимает файлы из формата <span class= + "command"><strong>compress</strong></span> в формат + <span class="command"><strong>gzip</strong></span> — из + <code class="filename">.Z</code> в <code class= + "filename">.gz</code> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="grub.html" title="GRUB-2.06">Пред.</a> + <p> + GRUB-2.06 + </p> + </li> + <li class="next"> + <a accesskey="n" href="iproute2.html" title= + "IPRoute2-6.4.0">След.</a> + <p> + IPRoute2-6.4.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/iana-etc.html b/lfs-12.0-sysv/chapter08/iana-etc.html new file mode 100644 index 0000000..9069070 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/iana-etc.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.4. Iana-Etc-20230810 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="man-pages.html" title= + "Man-pages-6.05.01">Пред.</a> + <p> + Man-pages-6.05.01 + </p> + </li> + <li class="next"> + <a accesskey="n" href="glibc.html" title="Glibc-2.38">След.</a> + <p> + Glibc-2.38 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-iana-etc" name="ch-system-iana-etc"></a>8.4. + Iana-Etc-20230810 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Iana-Etc предоставляет данные для сетевых служб и протоколов. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">4.8 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.4.1. Установка пакета Iana-Etc + </h2> + <p> + Для этого пакета необходимо лишь скопировать нужные файлы: + </p> + <pre class="userinput"><kbd class= + "command">cp services protocols /etc</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-iana-etc" name="contents-iana-etc"></a>8.4.2. + Содержимое пакета Iana-Etc + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные файлы:</strong> + <span class="segbody">/etc/protocols и /etc/services</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="protocols" name="protocols"></a><span class= + "term"><code class= + "filename">/etc/protocols</code></span> + </p> + </td> + <td> + <p> + Описывает различные интернет-протоколы DARPA, которые + доступны из подсистемы TCP/IP + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="services" name="services"></a><span class= + "term"><code class="filename">/etc/services</code></span> + </p> + </td> + <td> + <p> + Обеспечивает сопоставление понятных текстовых имен для + интернет-сервисов с назначенными им номерами портов и + типами протоколов. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="man-pages.html" title= + "Man-pages-6.05.01">Пред.</a> + <p> + Man-pages-6.05.01 + </p> + </li> + <li class="next"> + <a accesskey="n" href="glibc.html" title="Glibc-2.38">След.</a> + <p> + Glibc-2.38 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/inetutils.html b/lfs-12.0-sysv/chapter08/inetutils.html new file mode 100644 index 0000000..313e5e5 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/inetutils.html @@ -0,0 +1,363 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.40. Inetutils-2.4 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="expat.html" title="Expat-2.5.0">Пред.</a> + <p> + Expat-2.5.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="less.html" title="Less-643">След.</a> + <p> + Less-643 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-inetutils" name="ch-system-inetutils"></a>8.40. + Inetutils-2.4 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Inetutils содержит базовые программы для работы с сетью. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">31 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.40.1. Установка пакета Inetutils + </h2> + <p> + Подготовьте Inetutils к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --bindir=/usr/bin \ + --localstatedir=/var \ + --disable-logger \ + --disable-whois \ + --disable-rcp \ + --disable-rexec \ + --disable-rlogin \ + --disable-rsh \ + --disable-servers</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-logger</code></em></span> + </dt> + <dd> + <p> + Параметр запрещает установку программы <span class= + "command"><strong>logger</strong></span>, используемой + скриптами для отправки сообщений системной службе логирования + (System Log Daemon). Не устанавливайте её, т.к. Util-linux + устанавливает более свежую версию. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-whois</code></em></span> + </dt> + <dd> + <p> + Этот параметр отключает сборку <span class= + "command"><strong>whois</strong></span>-клиента Inetutils, + который устарел. Инструкции для сборки более нового клиента + <span class="command"><strong>whois</strong></span> находятся + в книге BLFS. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-r*</code></em></span> + </dt> + <dd> + <p> + Отключает установку устаревших программ, которые не должны + использоваться по соображениям безопасности. Функционал этих + программы можно получить установкой пакета <span class= + "application">openssh</span> из книги BLFS. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-servers</code></em></span> + </dt> + <dd> + <p> + Отключает установку различных сетевых серверов, входящих в + состав пакета Inetutils. Эти серверы считаются неподходящими + для базовой системы LFS. Некоторые из них небезопасны по + своей природе и считаются надежными только в доверенных + сетях. Обратите внимание, что для многих из них доступны + более качественные замены. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните:: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Переместите программу в правильное место: + </p> + <pre class="userinput"><kbd class= + "command">mv -v /usr/{,s}bin/ifconfig</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-inetutils" name="contents-inetutils"></a>8.40.2. + Содержимое пакета Inetutils + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">dnsdomainname, ftp, ifconfig, hostname, + ping, ping6, talk, telnet, tftp и traceroute</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="dnsdomainname" name= + "dnsdomainname"></a><span class="term"><span class= + "command"><strong>dnsdomainname</strong></span></span> + </p> + </td> + <td> + <p> + Показывает системное DNS имя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ftp" name="ftp"></a><span class= + "term"><span class="command"><strong>ftp</strong></span></span> + </p> + </td> + <td> + <p> + Программа для передачи файлов по протоколу FTP + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="hostname" name="hostname"></a><span class= + "term"><span class= + "command"><strong>hostname</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает или задает имя хоста + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ifconfig" name="ifconfig"></a><span class= + "term"><span class= + "command"><strong>ifconfig</strong></span></span> + </p> + </td> + <td> + <p> + Управляет сетевыми интерфейсами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ping" name="ping"></a><span class= + "term"><span class= + "command"><strong>ping</strong></span></span> + </p> + </td> + <td> + <p> + Отправляет пакеты эхо-запросов и сообщает, сколько + времени занимают ответы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ping6" name="ping6"></a><span class= + "term"><span class= + "command"><strong>ping6</strong></span></span> + </p> + </td> + <td> + <p> + Версия <span class="command"><strong>ping</strong></span> + для сетей IPv6 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="talk" name="talk"></a><span class= + "term"><span class= + "command"><strong>talk</strong></span></span> + </p> + </td> + <td> + <p> + Используется для общения с другими пользователями + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="telnet" name="telnet"></a><span class= + "term"><span class= + "command"><strong>telnet</strong></span></span> + </p> + </td> + <td> + <p> + Интерфейс к протоколу TELNET + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tftp" name="tftp"></a><span class= + "term"><span class= + "command"><strong>tftp</strong></span></span> + </p> + </td> + <td> + <p> + Программа для передачи файлов по протоколу TFTP (Trivial + File Transfer Protocol — простой протокол передачи + файлов) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="traceroute" name="traceroute"></a><span class= + "term"><span class= + "command"><strong>traceroute</strong></span></span> + </p> + </td> + <td> + <p> + Отслеживает маршрут, по которому проходят ваши пакеты от + хоста на которым вы работаете, к другому узлу сети, + показывая все промежуточные переходы (шлюзы) на этом + пути. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="expat.html" title="Expat-2.5.0">Пред.</a> + <p> + Expat-2.5.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="less.html" title="Less-643">След.</a> + <p> + Less-643 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/intltool.html b/lfs-12.0-sysv/chapter08/intltool.html new file mode 100644 index 0000000..6dc318e --- /dev/null +++ b/lfs-12.0-sysv/chapter08/intltool.html @@ -0,0 +1,245 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.44. Intltool-0.51.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="xml-parser.html" title= + "XML::Parser-2.46">Пред.</a> + <p> + XML::Parser-2.46 + </p> + </li> + <li class="next"> + <a accesskey="n" href="autoconf.html" title= + "Autoconf-2.71">След.</a> + <p> + Autoconf-2.71 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-intltool" name="ch-system-intltool"></a>8.44. + Intltool-0.51.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Intltool — это инструмент интернационализации, используемый для + извлечения переводимых строк из исходных файлов. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">1.5 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.44.1. Установка пакета Intltool + </h2> + <p> + Сначала исправьте предупреждение, вызываемое perl-5.22 и более + поздними версиями: + </p> + <pre class="userinput"><kbd class= + "command">sed -i 's:\\\${:\\\$\\{:' intltool-update.in</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Приведенное выше регулярное выражение выглядит необычно из-за + множества слэшей. Что оно делает, так это добавляет обратную + косую черту перед правой фигурной скобкой в последовательности + '\${' в результате чего получается '\$\{'. + </p> + </div> + <p> + Подготовьте Intltool к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install +install -v -Dm644 doc/I18N-HOWTO /usr/share/doc/intltool-0.51.0/I18N-HOWTO</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-intltool" name="contents-intltool"></a>8.44.2. + Содержимое пакета Intltool + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">intltool-extract, intltool-merge, + intltool-prepare, intltool-update и intltoolize</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/intltool-0.51.0 и + /usr/share/intltool</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="intltoolize" name="intltoolize"></a><span class= + "term"><span class= + "command"><strong>intltoolize</strong></span></span> + </p> + </td> + <td> + <p> + Подготавливает пакет для использования intltool + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="intltool-extract" name= + "intltool-extract"></a><span class="term"><span class= + "command"><strong>intltool-extract</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует заголовочные файлы, которые могут быть + прочитаны с помощью <span class= + "command"><strong>gettext</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="intltool-merge" name= + "intltool-merge"></a><span class="term"><span class= + "command"><strong>intltool-merge</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет переведенные строки в файлы различных типов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="intltool-prepare" name= + "intltool-prepare"></a><span class="term"><span class= + "command"><strong>intltool-prepare</strong></span></span> + </p> + </td> + <td> + <p> + Обновляет файлы pot и объединяет их с файлами перевода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="intltool-update" name= + "intltool-update"></a><span class="term"><span class= + "command"><strong>intltool-update</strong></span></span> + </p> + </td> + <td> + <p> + Обновляет файлы шаблонов po и объединяет их с переводами + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="xml-parser.html" title= + "XML::Parser-2.46">Пред.</a> + <p> + XML::Parser-2.46 + </p> + </li> + <li class="next"> + <a accesskey="n" href="autoconf.html" title= + "Autoconf-2.71">След.</a> + <p> + Autoconf-2.71 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/introduction.html b/lfs-12.0-sysv/chapter08/introduction.html new file mode 100644 index 0000000..b620bdd --- /dev/null +++ b/lfs-12.0-sysv/chapter08/introduction.html @@ -0,0 +1,174 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.1. Введение + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="chapter08.html" title= + "Установка базового системного программного обеспечения">Пред.</a> + <p> + Установка базового системного программного обеспечения + </p> + </li> + <li class="next"> + <a accesskey="n" href="pkgmgt.html" title= + "Управление пакетами">След.</a> + <p> + Управление пакетами + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="sect1" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-introduction" name="ch-system-introduction"></a>8.1. + Введение + </h1> + <p> + В этой главе мы приступаем к сборке конечной системы LFS. + </p> + <p> + Установка программного обеспечения проста. Хотя во многих случаях + инструкции по установке можно было бы сделать короче и универсальнее, + мы решили предоставить полные инструкции для каждого пакета, чтобы + свести к минимуму вероятность ошибок. Ключом к пониманию того, что + заставляет систему Linux работать, является знание того, для чего + используется каждый пакет и зачем он вам (или системе) может + понадобиться. + </p> + <p> + Мы не рекомендуем использовать оптимизации. С ними программа может + работать немного быстрее, но также они могут вызвать сложности при + компиляции и проблемы при запуске программы. Если пакет не + компилируется при использовании оптимизации, попробуйте + скомпилировать его без оптимизации и посмотрите, решает ли это + проблему. Даже если пакет компилируется при использовании + оптимизации, существует риск, что он может быть скомпилирован + неправильно из-за сложных взаимодействий между кодом и инструментами + сборки. Также обратите внимание, что параметры <code class= + "option">-march</code> и <code class="option">-mtune</code>, не + тестировались со значениями отличными от указанных в книге. Это может + вызвать проблемы с пакетами набора инструментов (Binutils, GCC и + Glibc). Небольшие потенциальные плюсы, достигаемые за счет + оптимизации, часто перевешиваются рисками. Тем кто собирает LFS + впервые рекомендуется делать это без пользовательских оптимизаций. + </p> + <p> + С другой стороны, мы сохраняем оптимизацию включенной в конфигурации + пакетов по умолчанию. Кроме того, иногда мы явно включаем + оптимизированную конфигурацию, предоставляемую пакетом, но не + включенную по умолчанию. Сопровождающие пакета уже протестировали эти + конфигурации и считают их безопасными, поэтому маловероятно, что они + сломают сборку. Как правило, конфигурация по умолчанию уже включает + параметры <code class="option">-O2</code> или <code class= + "option">-O3</code>, поэтому результирующая система по-прежнему будет + работать очень быстро без какой-либо пользовательской оптимизации и в + то же время будет стабильной. + </p> + <p> + Перед инструкцией по установке на каждой странице представлена + информация о пакете, включая краткое описание того, что он содержит, + примерное время, необходимое для сборки, и сколько места на диске + требуется в процессе сборки. После инструкции по установке идет + список программ и библиотек (вместе с кратким описанием), которые + устанавливает пакет. + </p> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Для всех пакетов в <a class="xref" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Глава 8</a> + значения SBU и требуемое дисковое пространство указано с учетом + тестов. Значения SBU были рассчитаны с использованием четырех ядер + ЦП (-j4) для всех операций, если не указано иное. + </p> + </div> + <div class="sect2" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.1.1. О библиотеках + </h2> + <p> + Как правило, редакторы LFS не рекомендуют собирать и устанавливать + статические библиотеки. Большинство статических библиотек устарели + в современной системе Linux. Кроме того, линковка статической + библиотеки с программой может быть вредна. Если для устранения + проблемы безопасности требуется обновление библиотеки, все + программы, использующие статическую библиотеку, необходимо будет + повторно перелинковать с новой библиотекой. Поскольку использование + статических библиотек не всегда очевидно, соответствующие программы + (и процедуры, необходимые для линковки) могут быть даже неизвестны. + </p> + <p> + В инструкциях этой главы мы удаляем или отключаем установку + большинства статических библиотек. Обычно это делается путем + передачи параметра <code class="option">--disable-static</code> при + выполнении <span class="command"><strong>configure</strong></span>. + Иногда необходимо использовать альтернативные методы. В некоторых + случаях, в частности в пакетах Glibc и GCC, использование + статических библиотек остается важным элементом процесса сборки + пакетов. + </p> + <p> + Более подробное обсуждение библиотек смотрите <a class="ulink" + href="https://mirror.linuxfromscratch.ru/blfs/view/12.0/introduction/libraries.html"> + Библиотеки: статические или общие?</a> в книге BLFS. + </p> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="chapter08.html" title= + "Установка базового системного программного обеспечения">Пред.</a> + <p> + Установка базового системного программного обеспечения + </p> + </li> + <li class="next"> + <a accesskey="n" href="pkgmgt.html" title= + "Управление пакетами">След.</a> + <p> + Управление пакетами + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/iproute2.html b/lfs-12.0-sysv/chapter08/iproute2.html new file mode 100644 index 0000000..c650240 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/iproute2.html @@ -0,0 +1,436 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.64. IPRoute2-6.4.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="gzip.html" title="Gzip-1.12">Пред.</a> + <p> + Gzip-1.12 + </p> + </li> + <li class="next"> + <a accesskey="n" href="kbd.html" title="Kbd-2.6.1">След.</a> + <p> + Kbd-2.6.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-iproute2" name="ch-system-iproute2"></a>8.64. + IPRoute2-6.4.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет IPRoute2 содержит набор программ для базового и расширенного + администрирования сетей IPv4. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">17 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.64.1. Установка пакета IPRoute2 + </h2> + <p> + Программа <span class="command"><strong>arpd</strong></span>, + входящая в этот пакет, не будет собрана, поскольку зависит от + Berkeley DB, которая не установлена в LFS. Однако каталог и + справочная страница для <span class= + "command"><strong>arpd</strong></span> все равно будут установлены. + Предотвратить это можно, выполнив приведенные ниже команды. (Если + вам нужна <span class="command"><strong>arpd</strong></span>, + инструкции по компиляции Berkeley DB можно найти в книге BLFS по + адресу <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0/server/db.html">https://mirror.linuxfromscratch.ru/blfs/view/12.0/server/db.html</a>.) + </p> + <pre class="userinput"><kbd class="command">sed -i /ARPD/d Makefile +rm -fv man/man8/arpd.8</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class= + "command">make NETNS_RUN_DIR=/run/netns</kbd></pre> + <p> + Этот пакет не содержит рабочего набора тестов. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make SBINDIR=/usr/sbin install</kbd></pre> + <p> + По желанию, установите документацию: + </p> + <pre class="userinput"><kbd class= + "command">mkdir -pv /usr/share/doc/iproute2-6.4.0 +cp -v COPYING README* /usr/share/doc/iproute2-6.4.0</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-iproute2" name="contents-iproute2"></a>8.64.2. + Содержимое пакета IPRoute2 + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">bridge, ctstat (ссылка на lnstat), genl, + ifstat, ip, lnstat, nstat, routel, rtacct, rtmon, rtpr, rtstat + (ссылка на lnstat), ss и tc</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/etc/iproute2, /usr/lib/tc и + /usr/share/doc/iproute2-6.4.0</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="bridge" name="bridge"></a><span class= + "term"><span class= + "command"><strong>bridge</strong></span></span> + </p> + </td> + <td> + <p> + Настраивает сетевые мосты + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ctstat" name="ctstat"></a><span class= + "term"><span class= + "command"><strong>ctstat</strong></span></span> + </p> + </td> + <td> + <p> + Утилита состояния подключения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="genl" name="genl"></a><span class= + "term"><span class= + "command"><strong>genl</strong></span></span> + </p> + </td> + <td> + <p> + Универсальный интерфейс утилиты netlink + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ifstat" name="ifstat"></a><span class= + "term"><span class= + "command"><strong>ifstat</strong></span></span> + </p> + </td> + <td> + <p> + Показывает статистику интерфейса, включая количество + переданных и полученных пакетов по интерфейсам. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ip" name="ip"></a><span class="term"><span class= + "command"><strong>ip</strong></span></span> + </p> + </td> + <td> + <p> + Основной исполняемый файл. Он имеет несколько различных + функций, в том числе эти: + </p> + <p> + <span class="command"><strong>ip link <em class= + "replaceable"><code><device></code></em></strong></span> + позволяет пользователям просматривать состояние устройств + и вносить изменения + </p> + <p> + <span class="command"><strong>ip addr</strong></span> + позволяет пользователям просматривать адреса и их + свойства, добавлять новые адреса и удалять старые + </p> + <p> + <span class="command"><strong>ip neighbor</strong></span> + позволяет пользователям просматривать связи с соседями и + их свойства, добавлять новые записи и удалять старые + </p> + <p> + <span class="command"><strong>ip rule</strong></span> + позволяет пользователям просматривать политики + маршрутизации и изменять их + </p> + <p> + <span class="command"><strong>ip route</strong></span> + позволяет пользователям просматривать таблицу + маршрутизации и изменять правила таблицы маршрутизации + </p> + <p> + <span class="command"><strong>ip tunnel</strong></span> + позволяет пользователям просматривать IP-туннели и их + свойства, а также изменять их + </p> + <p> + <span class="command"><strong>ip maddr</strong></span> + позволяет пользователям просматривать multicast адреса и + их свойства и изменять их + </p> + <p> + <span class="command"><strong>ip mroute</strong></span> + позволяет пользователям устанавливать, изменять или + удалять multicast маршрутизацию. + </p> + <p> + <span class="command"><strong>ip monitor</strong></span> + позволяет пользователям постоянно отслеживать состояние + устройств, адресов и маршрутов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lnstat" name="lnstat"></a><span class= + "term"><span class= + "command"><strong>lnstat</strong></span></span> + </p> + </td> + <td> + <p> + Предоставляет сетевую статистику Linux; это обобщенная и + более полнофункциональная замена старой программы + <span class="command"><strong>rtstat</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nstat" name="nstat"></a><span class= + "term"><span class= + "command"><strong>nstat</strong></span></span> + </p> + </td> + <td> + <p> + Отображает сетевую статистику + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="routel" name="routel"></a><span class= + "term"><span class= + "command"><strong>routel</strong></span></span> + </p> + </td> + <td> + <p> + Компонент <span class="command"><strong>ip + route</strong></span> для просмотра таблиц маршрутизации + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rtacct" name="rtacct"></a><span class= + "term"><span class= + "command"><strong>rtacct</strong></span></span> + </p> + </td> + <td> + <p> + Отображает содержимое <code class= + "filename">/proc/net/rt_acct</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rtmon" name="rtmon"></a><span class= + "term"><span class= + "command"><strong>rtmon</strong></span></span> + </p> + </td> + <td> + <p> + Мониторит изменения таблицы маршрутизации + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rtpr" name="rtpr"></a><span class= + "term"><span class= + "command"><strong>rtpr</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует вывод <span class="command"><strong>ip + -o</strong></span> в удобочитаемую форму + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rtstat" name="rtstat"></a><span class= + "term"><span class= + "command"><strong>rtstat</strong></span></span> + </p> + </td> + <td> + <p> + Утилита состояния маршрута + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ss" name="ss"></a><span class="term"><span class= + "command"><strong>ss</strong></span></span> + </p> + </td> + <td> + <p> + Аналогично команде <span class= + "command"><strong>netstat</strong></span> показывает + активные соединения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tc" name="tc"></a><span class="term"><span class= + "command"><strong>tc</strong></span></span> + </p> + </td> + <td> + <p> + Управление трафиком для реализаций качества обслуживания + (QoS) и класса обслуживания (CoS) + </p> + <p> + <span class="command"><strong>tc qdisc</strong></span> + позволяет пользователям настроить дисциплину обработки + очередей + </p> + <p> + <span class="command"><strong>tc class</strong></span> + позволяет пользователям настраивать классы, на основе + планирования дисциплины обработки очередей + </p> + <p> + <span class="command"><strong>tc filter</strong></span> + позволяет пользователям настроить фильтрацию пакетов + QOS/COS + </p> + <p> + <span class="command"><strong>tc monitor</strong></span> + может использоваться для просмотра изменений, внесенных в + управление трафиком в ядре + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="gzip.html" title="Gzip-1.12">Пред.</a> + <p> + Gzip-1.12 + </p> + </li> + <li class="next"> + <a accesskey="n" href="kbd.html" title="Kbd-2.6.1">След.</a> + <p> + Kbd-2.6.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/jinja2.html b/lfs-12.0-sysv/chapter08/jinja2.html new file mode 100644 index 0000000..d22e5e0 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/jinja2.html @@ -0,0 +1,129 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.73. Jinja2-3.1.2 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="markupsafe.html" title= + "MarkupSafe-2.1.3">Пред.</a> + <p> + MarkupSafe-2.1.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="udev.html" title= + "Udev из Systemd-254">След.</a> + <p> + Udev из Systemd-254 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-jinja2" name="ch-system-jinja2"></a>8.73. + Jinja2-3.1.2 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Jinja2 - это модуль Python, который реализует простой язык шаблонов + pythonic + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">3.4 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.73.1. Установка пакета Jinja2 + </h2> + <p> + Соберите пакет: + </p> + <pre class="userinput"><kbd class= + "command">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">pip3 install --no-index --no-user --find-links dist Jinja2</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-jinja2" name="contents-jinja2"></a>8.73.2. + Содержимое пакета Jinja2 + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class= + "segbody">/usr/lib/python3.11/site-packages/Jinja2-3.1.2.dist-info</span> + </div> + </div> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="markupsafe.html" title= + "MarkupSafe-2.1.3">Пред.</a> + <p> + MarkupSafe-2.1.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="udev.html" title= + "Udev из Systemd-254">След.</a> + <p> + Udev из Systemd-254 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/kbd.html b/lfs-12.0-sysv/chapter08/kbd.html new file mode 100644 index 0000000..4e3a9cb --- /dev/null +++ b/lfs-12.0-sysv/chapter08/kbd.html @@ -0,0 +1,586 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.65. Kbd-2.6.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="iproute2.html" title= + "IPRoute2-6.4.0">Пред.</a> + <p> + IPRoute2-6.4.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libpipeline.html" title= + "Libpipeline-1.5.7">След.</a> + <p> + Libpipeline-1.5.7 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-kbd" name="ch-system-kbd"></a>8.65. Kbd-2.6.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Kbd содержит файлы таблиц клавиш, консольные шрифты и утилиты + клавиатуры. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">35 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.65.1. Установка пакета Kbd + </h2> + <p> + Поведение клавиш backspace и delete не согласуется между + раскладками в пакете Kbd. Следующий патч исправляет эту проблему + для раскладок i386: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../kbd-2.6.1-backspace-1.patch</kbd></pre> + <p> + После исправления клавиша backspace генерирует символ с кодом 127, + а клавиша delete генерирует хорошо известную + escape-последовательность. + </p> + <p> + Удалите ненужную программу <span class= + "command"><strong>resizecons</strong></span> (она требуется + несуществующей svgalib для предоставления файлов видеорежима — для + нормального использования <span class= + "command"><strong>setfont</strong></span>, который правильно + определяет размеры консоли) вместе с ее справочной страницей. + </p> + <pre class="userinput"><kbd class= + "command">sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure +sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</kbd></pre> + <p> + Подготовьте Kbd для компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr --disable-vlock</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра configure:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-vlock</code></em></span> + </dt> + <dd> + <p> + Этот параметр предотвращает сборку утилиты vlock, поскольку + для неё требуется библиотека PAM, которая недоступна в среде + chroot. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Для некоторых языков (например белорусского) пакет Kbd не + предоставляет подходящую раскладку, штатная раскладка + <span class="quote">«<span class="quote">by</span>»</span> + предполагает кодировку ISO-8859-5, а обычно используется + раскладка CP1251. Пользователи таких языков должны отдельно + загрузить рабочую раскладку. + </p> + </div> + <p> + По желанию, установите документацию:: + </p> + <pre class="userinput"><kbd class= + "command">cp -R -v docs/doc -T /usr/share/doc/kbd-2.6.1</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-kbd" name="contents-kbd"></a>8.65.2. Содержимое + пакета Kbd + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">chvt, deallocvt, dumpkeys, fgconsole, + getkeycodes, kbdinfo, kbd_mode, kbdrate, loadkeys, loadunimap, + mapscrn, openvt, psfaddtable (ссылка на psfxtable), psfgettable + (ссылка на psfxtable), psfstriptable (ссылка на psfxtable), + psfxtable, setfont, setkeycodes, setleds, setmetamode, + setvtrgb, showconsolefont, showkey, unicode_start и + unicode_stop</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/consolefonts, + /usr/share/consoletrans, /usr/share/keymaps, + /usr/share/doc/kbd-2.6.1 и /usr/share/unimaps</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="chvt" name="chvt"></a><span class= + "term"><span class= + "command"><strong>chvt</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет используемый виртуальный терминал + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="deallocvt" name="deallocvt"></a><span class= + "term"><span class= + "command"><strong>deallocvt</strong></span></span> + </p> + </td> + <td> + <p> + Освобождает неиспользуемые виртуальные терминалы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dumpkeys" name="dumpkeys"></a><span class= + "term"><span class= + "command"><strong>dumpkeys</strong></span></span> + </p> + </td> + <td> + <p> + Создает дамп таблиц перевода клавиатуры + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fgconsole" name="fgconsole"></a><span class= + "term"><span class= + "command"><strong>fgconsole</strong></span></span> + </p> + </td> + <td> + <p> + Выводит номер активного виртуального терминала + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getkeycodes" name="getkeycodes"></a><span class= + "term"><span class= + "command"><strong>getkeycodes</strong></span></span> + </p> + </td> + <td> + <p> + Выводит таблицу ядра соответствия сканкода и кода клавиши + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="kbdinfo" name="kbdinfo"></a><span class= + "term"><span class= + "command"><strong>kbdinfo</strong></span></span> + </p> + </td> + <td> + <p> + Получает информацию о состоянии консоли + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="kbd_mode" name="kbd_mode"></a><span class= + "term"><span class= + "command"><strong>kbd_mode</strong></span></span> + </p> + </td> + <td> + <p> + Выводит или устанавливает режим клавиатуры + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="kbdrate" name="kbdrate"></a><span class= + "term"><span class= + "command"><strong>kbdrate</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает частоту повторных нажатий клавиш и задержки + клавиатуры + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="loadkeys" name="loadkeys"></a><span class= + "term"><span class= + "command"><strong>loadkeys</strong></span></span> + </p> + </td> + <td> + <p> + Загружает таблицу преобразования клавиатуры + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="loadunimap" name="loadunimap"></a><span class= + "term"><span class= + "command"><strong>loadunimap</strong></span></span> + </p> + </td> + <td> + <p> + Загружает таблицу ядра отображения символов юникода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mapscrn" name="mapscrn"></a><span class= + "term"><span class= + "command"><strong>mapscrn</strong></span></span> + </p> + </td> + <td> + <p> + Устаревшая программа, которая использовалась для загрузки + определяемой пользователем таблицы соответствия выводимых + символов в драйвер консоли; теперь эту функцию выполняет + <span class="command"><strong>setfont</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="openvt" name="openvt"></a><span class= + "term"><span class= + "command"><strong>openvt</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу на новом виртуальном терминале (VT) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="psfaddtable" name="psfaddtable"></a><span class= + "term"><span class= + "command"><strong>psfaddtable</strong></span></span> + </p> + </td> + <td> + <p> + Добавляет таблицу символов Unicode в консольный шрифт. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="psfgettable" name="psfgettable"></a><span class= + "term"><span class= + "command"><strong>psfgettable</strong></span></span> + </p> + </td> + <td> + <p> + Извлекает встроенную таблицу символов Unicode из + консольного шрифта. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="psfstriptable" name= + "psfstriptable"></a><span class="term"><span class= + "command"><strong>psfstriptable</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет встроенную таблицу символов Unicode из + консольного шрифта. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="psfxtable" name="psfxtable"></a><span class= + "term"><span class= + "command"><strong>psfxtable</strong></span></span> + </p> + </td> + <td> + <p> + Обрабатывает таблицы символов Unicode для консольных + шрифтов. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setfont" name="setfont"></a><span class= + "term"><span class= + "command"><strong>setfont</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет шрифты Enhanced Graphic Adapter (EGA) и Video + Graphics Array (VGA), используемые в консоли + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setkeycodes" name="setkeycodes"></a><span class= + "term"><span class= + "command"><strong>setkeycodes</strong></span></span> + </p> + </td> + <td> + <p> + Загружает таблицу соответствия сканкодов ядра и кодов + клавиш; это удобно, если на клавиатуре есть нестандартные + клавиши + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setleds" name="setleds"></a><span class= + "term"><span class= + "command"><strong>setleds</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает значения флагов клавиатуры и индикаторов + (обычно - светодиоды) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setmetamode" name="setmetamode"></a><span class= + "term"><span class= + "command"><strong>setmetamode</strong></span></span> + </p> + </td> + <td> + <p> + Определяет обработку метаклавиши на клавиатуре (обычно, + это клавиша Win) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setvtrgb" name="setvtrgb"></a><span class= + "term"><span class= + "command"><strong>setvtrgb</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает цветовую схему консоли для всех виртуальных + терминалов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="showconsolefont" name= + "showconsolefont"></a><span class="term"><span class= + "command"><strong>showconsolefont</strong></span></span> + </p> + </td> + <td> + <p> + Показывает текущий шрифт экрана консоли EGA/VGA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="showkey" name="showkey"></a><span class= + "term"><span class= + "command"><strong>showkey</strong></span></span> + </p> + </td> + <td> + <p> + Показывает сканкоды, код клавиши и код ASCII для клавиш, + нажатых на клавиатуре + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="unicode_start" name= + "unicode_start"></a><span class="term"><span class= + "command"><strong>unicode_start</strong></span></span> + </p> + </td> + <td> + <p> + Переводит клавиатуру и консоль в режим UNICODE. [Не + используйте эту программу, если вы не используете файл + раскладки для кодировки ISO-8859-1. Для других кодировок + эта утилита выдает неправильные результаты]. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="unicode_stop" name="unicode_stop"></a><span class= + "term"><span class= + "command"><strong>unicode_stop</strong></span></span> + </p> + </td> + <td> + <p> + Возвращает клавиатуру и консоль из режима UNICODE + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="iproute2.html" title= + "IPRoute2-6.4.0">Пред.</a> + <p> + IPRoute2-6.4.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libpipeline.html" title= + "Libpipeline-1.5.7">След.</a> + <p> + Libpipeline-1.5.7 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/kmod.html b/lfs-12.0-sysv/chapter08/kmod.html new file mode 100644 index 0000000..6d9f69b --- /dev/null +++ b/lfs-12.0-sysv/chapter08/kmod.html @@ -0,0 +1,315 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.48. Kmod-30 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="openssl.html" title= + "OpenSSL-3.1.2">Пред.</a> + <p> + OpenSSL-3.1.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libelf.html" title= + "Libelf из Elfutils-0.189">След.</a> + <p> + Libelf из Elfutils-0.189 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-kmod" name="ch-system-kmod"></a>8.48. Kmod-30 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Kmod содержит библиотеки и утилиты для загрузки модулей ядра. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">12 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.48.1. Установка пакета Kmod + </h2> + <p> + Подготовьте Kmod к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-openssl \ + --with-xz \ + --with-zstd \ + --with-zlib</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-openssl</code></em></span> + </dt> + <dd> + <p> + Этот параметр позволяет Kmod обрабатывать сигнатуры PKCS7 для + модулей ядра. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-xz</code></em>, <em class= + "parameter"><code>--with-zlib</code></em>, и <em class= + "parameter"><code>--with-zstd</code></em></span> + </dt> + <dd> + <p> + Эти параметры позволяют Kmod обрабатывать сжатые модули ядра. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Набору тестов этого пакета необходимы необработанные заголовочные + файлы ядра (а не <span class="quote">«<span class= + "quote">очищенные</span>»</span>, установленных ранее), это выходит + за рамки LFS. + </p> + <p> + Установите пакет и создайте символические ссылки для совместимости + с Module-Init-Tools (пакетом, который ранее обрабатывал модули ядра + Linux): + </p> + <pre class="userinput"><kbd class="command">make install + +for target in depmod insmod modinfo modprobe rmmod; do + ln -sfv ../bin/kmod /usr/sbin/$target +done + +ln -sfv kmod /usr/bin/lsmod</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-kmod" name="contents-kmod"></a>8.48.2. Содержимое + пакета Kmod + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">depmod (ссылка на kmod), insmod (ссылка + на kmod), kmod, lsmod (ссылка на kmod), modinfo (ссылка на + kmod), modprobe (ссылка на kmod) и rmmod (ссылка на + kmod)</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libkmod.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="depmod" name="depmod"></a><span class= + "term"><span class= + "command"><strong>depmod</strong></span></span> + </p> + </td> + <td> + <p> + Создает файл зависимостей на основе символов найденных в + существующем наборе модулей; этот файл используется + программой <span class= + "command"><strong>modprobe</strong></span> для + автоматической загрузки необходимых модулей + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="insmod" name="insmod"></a><span class= + "term"><span class= + "command"><strong>insmod</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает загружаемый модуль в работающее ядро + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="kmod" name="kmod"></a><span class= + "term"><span class= + "command"><strong>kmod</strong></span></span> + </p> + </td> + <td> + <p> + Загружает и выгружает модули ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsmod" name="lsmod"></a><span class= + "term"><span class= + "command"><strong>lsmod</strong></span></span> + </p> + </td> + <td> + <p> + Список загруженных в данный момент модулей + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="modinfo" name="modinfo"></a><span class= + "term"><span class= + "command"><strong>modinfo</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет объектный файл, связанный с модулем ядра, и + отображает всю информацию, которую он смог собрать. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="modprobe" name="modprobe"></a><span class= + "term"><span class= + "command"><strong>modprobe</strong></span></span> + </p> + </td> + <td> + <p> + Использует файл зависимостей, созданный <span class= + "command"><strong>depmod</strong></span>, для + автоматической загрузки соответствующих модулей + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rmmod" name="rmmod"></a><span class= + "term"><span class= + "command"><strong>rmmod</strong></span></span> + </p> + </td> + <td> + <p> + Выгружает модули из работающего ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libkmod" name="libkmod"></a><span class= + "term"><code class="filename">libkmod</code></span> + </p> + </td> + <td> + <p> + Библиотека используемая другими программами для загрузки + и выгрузки модулей ядра + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="openssl.html" title= + "OpenSSL-3.1.2">Пред.</a> + <p> + OpenSSL-3.1.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libelf.html" title= + "Libelf из Elfutils-0.189">След.</a> + <p> + Libelf из Elfutils-0.189 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/less.html b/lfs-12.0-sysv/chapter08/less.html new file mode 100644 index 0000000..35c69e7 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/less.html @@ -0,0 +1,209 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.41. Less-643 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="inetutils.html" title= + "Inetutils-2.4">Пред.</a> + <p> + Inetutils-2.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="perl.html" title="Perl-5.38.0">След.</a> + <p> + Perl-5.38.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-less" name="ch-system-less"></a>8.41. Less-643 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Less содержит средство просмотра текстовых файлов + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">12 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.41.1. Установка пакета Less + </h2> + <p> + Подготовьте Less к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr --sysconfdir=/etc</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--sysconfdir=/etc</code></em></span> + </dt> + <dd> + <p> + Этот параметр указывает программам, созданным пакетом, искать + файлы конфигурации в <code class="filename">/etc</code>. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-less" name="contents-less"></a>8.41.2. Содержимое + пакета Less + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">less, lessecho и lesskey</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="less" name="less"></a><span class= + "term"><span class= + "command"><strong>less</strong></span></span> + </p> + </td> + <td> + <p> + Просмотрщик файлов; отображает содержимое данного файла, + позволяя пользователю прокручивать файл, искать строки и + переходить к меткам + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lessecho" name="lessecho"></a><span class= + "term"><span class= + "command"><strong>lessecho</strong></span></span> + </p> + </td> + <td> + <p> + Требуется для расширения метасимволов, таких как + <span class="emphasis"><em>*</em></span> и <span class= + "emphasis"><em>?</em></span>, в именах файлов в системах + Unix + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lesskey" name="lesskey"></a><span class= + "term"><span class= + "command"><strong>lesskey</strong></span></span> + </p> + </td> + <td> + <p> + Используется для привязки клавиш в программе <span class= + "command"><strong>less</strong></span> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="inetutils.html" title= + "Inetutils-2.4">Пред.</a> + <p> + Inetutils-2.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="perl.html" title="Perl-5.38.0">След.</a> + <p> + Perl-5.38.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/libcap.html b/lfs-12.0-sysv/chapter08/libcap.html new file mode 100644 index 0000000..c80b274 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/libcap.html @@ -0,0 +1,259 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.24. Libcap-2.69 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="acl.html" title="Acl-2.3.1">Пред.</a> + <p> + Acl-2.3.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libxcrypt.html" title= + "Libxcrypt-4.4.36">След.</a> + <p> + Libxcrypt-4.4.36 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-libcap" name="ch-system-libcap"></a>8.24. + Libcap-2.69 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Libcap реализует интерфейсы пользовательского пространства + для возможностей POSIX 1003.1e, доступных в ядрах Linux. Эти + возможности разделяют полномочия суперпользователя root на набор + отдельных привилегий. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">2.9 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.24.1. Установка пакета Libcap + </h2> + <p> + Запретите установку статических библиотек: + </p> + <pre class="userinput"><kbd class= + "command">sed -i '/install -m.*STA/d' libcap/Makefile</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class= + "command">make prefix=/usr lib=lib</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение опции make:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>lib=lib</code></em></span> + </dt> + <dd> + <p> + Этот параметр устанавливает библиотеки в каталог <code class= + "filename">/usr/lib</code>, а не <code class= + "filename">/usr/lib64</code> на x86_64. На x86 это никак не + влияет. + </p> + </dd> + </dl> + </div> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make prefix=/usr lib=lib install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-libcap" name="contents-libcap"></a>8.24.2. + Содержимое пакета Libcap + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">capsh, getcap, getpcaps и setcap</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libcap.so и libpsx.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="capsh" name="capsh"></a><span class= + "term"><span class= + "command"><strong>capsh</strong></span></span> + </p> + </td> + <td> + <p> + Обёртка к оболочке для исследования и ограничения + поддержки возможностей Linux + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getcap" name="getcap"></a><span class= + "term"><span class= + "command"><strong>getcap</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет возможности файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getpcaps" name="getpcaps"></a><span class= + "term"><span class= + "command"><strong>getpcaps</strong></span></span> + </p> + </td> + <td> + <p> + Отображает возможности запрашиваемого процесса + (процессов) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setcap" name="setcap"></a><span class= + "term"><span class= + "command"><strong>setcap</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает возможности файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libcap" name="libcap"></a><span class= + "term"><code class="filename">libcap</code></span> + </p> + </td> + <td> + <p> + Содержит функции для управления возможностями POSIX + 1003.1e. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libpsx" name="libpsx"></a><span class= + "term"><code class="filename">libpsx</code></span> + </p> + </td> + <td> + <p> + Содержит функции для поддержки семантики POSIX для + системных вызовов, связанных с библиотекой pthread + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="acl.html" title="Acl-2.3.1">Пред.</a> + <p> + Acl-2.3.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libxcrypt.html" title= + "Libxcrypt-4.4.36">След.</a> + <p> + Libxcrypt-4.4.36 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/libelf.html b/lfs-12.0-sysv/chapter08/libelf.html new file mode 100644 index 0000000..2e2e598 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/libelf.html @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.49. Libelf из Elfutils-0.189 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="kmod.html" title="Kmod-30">Пред.</a> + <p> + Kmod-30 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libffi.html" title="Libffi-3.4.4">След.</a> + <p> + Libffi-3.4.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-libelf" name="ch-system-libelf"></a>8.49. Libelf из + Elfutils-0.189 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Libelf — это библиотека для обработки файлов ELF (Executable and + Linkable Format - формат исполняемых и связываемых файлов). + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">122 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.49.1. Установка пакета Libelf + </h2> + <p> + Libelf является частью пакета elfutils-0.189. Используйте + elfutils-0.189.tar.bz2 в качестве исходного архива. + </p> + <p> + Подготовьте Libelf к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-debuginfod \ + --enable-libdebuginfod=dummy</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите только Libelf: + </p> + <pre class="userinput"><kbd class="command">make -C libelf install +install -vm644 config/libelf.pc /usr/lib/pkgconfig +rm /usr/lib/libelf.a</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-elfutils" name="contents-elfutils"></a>8.49.2. + Содержимое пакета Libelf + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libelf.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/elfutils</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libelf" name="libelf"></a><span class= + "term"><code class="filename">libelf.so</code></span> + </p> + </td> + <td> + <p> + Содержит функции API для обработки объектных файлов ELF + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="kmod.html" title="Kmod-30">Пред.</a> + <p> + Kmod-30 + </p> + </li> + <li class="next"> + <a accesskey="n" href="libffi.html" title="Libffi-3.4.4">След.</a> + <p> + Libffi-3.4.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/libffi.html b/lfs-12.0-sysv/chapter08/libffi.html new file mode 100644 index 0000000..4115958 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/libffi.html @@ -0,0 +1,211 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.50. Libffi-3.4.4 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="libelf.html" title= + "Libelf из Elfutils-0.189">Пред.</a> + <p> + Libelf из Elfutils-0.189 + </p> + </li> + <li class="next"> + <a accesskey="n" href="Python.html" title="Python-3.11.4">След.</a> + <p> + Python-3.11.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-libffi" name="ch-system-libffi"></a>8.50. + Libffi-3.4.4 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Библиотека Libffi предоставляет переносимый высокоуровневый + программный интерфейс для различных соглашений о вызовах. Это + позволяет программисту вызывать любую функцию, указанную в описании + интерфейса вызова во время выполнения. + </p> + <p> + FFI расшифровывается как интерфейс внешних функций. FFI позволяет + программе, написанной на одном языке, вызывать программу, + написанную на другом языке. В частности, Libffi может обеспечить + связь между интерпретатором, таким как Perl или Python, и + подпрограммами общей библиотеки, написанными на C или C++. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">1.8 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">11 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.50.1. Установка пакета Libffi + </h2> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Как и GMP, Libffi собирается с учетом оптимизаций, специфичных + для используемого процессора. При сборке для другой системы + измените значение параметра <em class= + "parameter"><code>--with-gcc-arch=</code></em> в следующей + команде на имя архитектуры, полностью реализованной процессором в + этой системе. Если этого не сделать, все приложения, ссылающиеся + на <code class="filename">libffi</code>, будут вызывать ошибку + <span class="quote">«<span class="quote">Illegal Operation - + недопустимая операция</span>»</span>. + </p> + </div> + <p> + Подготовьте Libffi к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --with-gcc-arch=native</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров configure:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-gcc-arch=native</code></em></span> + </dt> + <dd> + <p> + Убедитесь, что GCC оптимизируется для текущей системы. Если + значение не указано, то архитектура системы угадывается и + сгенерированный код может быть неправильным. Если + сгенерированный код будет скопирован из родной системы в + менее мощную, используйте архитектуру менее мощной системы в + качестве параметра. Дополнительные сведения об альтернативных + типах систем смотрите в <a class="ulink" href= + "https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/x86-Options.html"> + описании параметров x86 в руководстве GCC</a>. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-libffi" name="contents-libffi"></a>8.50.2. + Содержимое пакета Libffi + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libffi.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libffi" name="libffi"></a><span class= + "term"><code class="filename">libffi</code></span> + </p> + </td> + <td> + <p> + Содержит внешний интерфейс для API-функций + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="libelf.html" title= + "Libelf из Elfutils-0.189">Пред.</a> + <p> + Libelf из Elfutils-0.189 + </p> + </li> + <li class="next"> + <a accesskey="n" href="Python.html" title="Python-3.11.4">След.</a> + <p> + Python-3.11.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/libpipeline.html b/lfs-12.0-sysv/chapter08/libpipeline.html new file mode 100644 index 0000000..995c06e --- /dev/null +++ b/lfs-12.0-sysv/chapter08/libpipeline.html @@ -0,0 +1,158 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.66. Libpipeline-1.5.7 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="kbd.html" title="Kbd-2.6.1">Пред.</a> + <p> + Kbd-2.6.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="make.html" title="Make-4.4.1">След.</a> + <p> + Make-4.4.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-libpipeline" name="ch-system-libpipeline"></a>8.66. + Libpipeline-1.5.7 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Libpipeline содержит библиотеку для гибкого и удобного + управления подпроцессами. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">10 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.66.1. Установка пакета Libpipeline + </h2> + <p> + Подготовьте Libpipeline к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-libpipeline" name= + "contents-libpipeline"></a>8.66.2. Содержимое пакета Libpipeline + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libpipeline.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libpipeline" name="libpipeline"></a><span class= + "term"><code class="filename">libpipeline</code></span> + </p> + </td> + <td> + <p> + Эта библиотека используется для безопасного построения + конвейеров между подпроцессами. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="kbd.html" title="Kbd-2.6.1">Пред.</a> + <p> + Kbd-2.6.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="make.html" title="Make-4.4.1">След.</a> + <p> + Make-4.4.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/libtool.html b/lfs-12.0-sysv/chapter08/libtool.html new file mode 100644 index 0000000..5a4c01e --- /dev/null +++ b/lfs-12.0-sysv/chapter08/libtool.html @@ -0,0 +1,223 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.36. Libtool-2.4.7 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="bash.html" title="Bash-5.2.15">Пред.</a> + <p> + Bash-5.2.15 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gdbm.html" title="GDBM-1.23">След.</a> + <p> + GDBM-1.23 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-libtool" name="ch-system-libtool"></a>8.36. + Libtool-2.4.7 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Libtool содержит сценарий поддержки универсальной библиотеки + GNU. Это упрощает использование общих библиотек благодаря + согласованному переносимому интерфейсу. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">1.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">45 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.36.1. Установка пакета Libtool + </h2> + <p> + Подготовьте Libtool к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make -k check</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Время тестирования Libtool может быть значительно сокращено в + системе с несколькими ядрами. Для этого добавьте <span class= + "command"><strong>TESTSUITEFLAGS=-j<N></strong></span> к + строке выше. Например, использование -j4 может сократить время + тестирования более чем на 60 процентов. + </p> + </div> + <p> + Известно, что пять тестов в среде сборки LFS завершаются неудачно + из-за циклической зависимости, но эти тесты проходят успешно, если + запустить их повторно после установки automake. Кроме того, в + grep-3.8 два теста вызовут предупреждение для регулярных выражений, + несовместимых с POSIX и завершатся с ошибкой. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Удалите ненужную статическую библиотеку: + </p> + <pre class="userinput"><kbd class= + "command">rm -fv /usr/lib/libltdl.a</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-libtool" name="contents-libtool"></a>8.36.2. + Содержимое пакета Libtool + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">libtool и libtoolize</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libltdl.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/libltdl и + /usr/share/libtool</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libtool" name="libtool"></a><span class= + "term"><span class= + "command"><strong>libtool</strong></span></span> + </p> + </td> + <td> + <p> + Обеспечивает общие услуги поддержки при сборке библиотек + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libtoolize" name="libtoolize"></a><span class= + "term"><span class= + "command"><strong>libtoolize</strong></span></span> + </p> + </td> + <td> + <p> + Предоставляет стандартный способ добавления поддержки + <span class="command"><strong>libtool</strong></span> в + пакет + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libltdl" name="libltdl"></a><span class= + "term"><code class="filename">libltdl</code></span> + </p> + </td> + <td> + <p> + Скрывает различные проблемы, связанные с открытием + динамически загружаемых библиотек + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="bash.html" title="Bash-5.2.15">Пред.</a> + <p> + Bash-5.2.15 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gdbm.html" title="GDBM-1.23">След.</a> + <p> + GDBM-1.23 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/libxcrypt.html b/lfs-12.0-sysv/chapter08/libxcrypt.html new file mode 100644 index 0000000..af4edc5 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/libxcrypt.html @@ -0,0 +1,225 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.25. Libxcrypt-4.4.36 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="libcap.html" title="Libcap-2.69">Пред.</a> + <p> + Libcap-2.69 + </p> + </li> + <li class="next"> + <a accesskey="n" href="shadow.html" title="Shadow-4.13">След.</a> + <p> + Shadow-4.13 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-libxcrypt" name="ch-system-libxcrypt"></a>8.25. + Libxcrypt-4.4.36 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Libxcrypt содержит современную библиотеку для одностороннего + хэширования паролей. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">15 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.25.1. Установка пакета Libxcrypt + </h2> + <p> + Подготовьте Libxcrypt к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=no \ + --disable-static \ + --disable-failure-tokens</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение новых параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-hashes=strong,glibc</code></em></span> + </dt> + <dd> + <p> + Создает хэши, используя надежные алгоритмы хэширования, + рекомендуемые для безопасности, и алгоритмы хэширования, + предоставляемые традиционной библиотекой Glibc <code class= + "systemitem">libcrypt</code> для совместимости. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-obsolete-api=no</code></em></span> + </dt> + <dd> + <p> + Отключает устаревшие функции API. Они не нужны для + современной системы Linux, собранной из исходного кода. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-failure-tokens</code></em></span> + </dt> + <dd> + <p> + Отключает признак токена сбоя. Он необходим для совместимости + с традиционными хэш-библиотеками некоторых платформ, но + система Linux, основанная на Glibc, в нем не нуждается. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + С помощью приведенных выше инструкций были отключены устаревшие + функции API, поскольку ни один пакет, установленный путем + компиляции из исходных кодов, не будет связываться с ними во + время выполнения. Однако известные двоичные приложения, которые + используют эти функции, требуют ABI версии 1. Если вам необходим + этот функционал для какого-либо приложения, предоставляемого + только в бинарном виде, или для совместимости с LSB, соберите + пакет заново с помощью следующих команд: + </p> + <pre class="userinput"><kbd class="command">make distclean +./configure --prefix=/usr \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=glibc \ + --disable-static \ + --disable-failure-tokens +make +cp -av .libs/libcrypt.so.1* /usr/lib</kbd></pre> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-libxcrypt" name="contents-libxcrypt"></a>8.25.2. + Содержимое пакета Libxcrypt + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libcrypt.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libcrypt" name="libcrypt"></a><span class= + "term"><code class="filename">libcrypt</code></span> + </p> + </td> + <td> + <p> + Содержит функции для хэширования паролей + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="libcap.html" title="Libcap-2.69">Пред.</a> + <p> + Libcap-2.69 + </p> + </li> + <li class="next"> + <a accesskey="n" href="shadow.html" title="Shadow-4.13">След.</a> + <p> + Shadow-4.13 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/m4.html b/lfs-12.0-sysv/chapter08/m4.html new file mode 100644 index 0000000..2fcfa14 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/m4.html @@ -0,0 +1,168 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.12. M4-1.4.19 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="readline.html" title= + "Readline-8.2">Пред.</a> + <p> + Readline-8.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bc.html" title="Bc-6.6.0">След.</a> + <p> + Bc-6.6.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-m4" name="ch-system-m4"></a>8.12. M4-1.4.19 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет M4 содержит макропроцессор. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">49 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.12.1. Установка пакета M4 + </h2> + <p> + Подготовьте M4 к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-m4" name="contents-m4"></a>8.12.2. Содержимое + пакета M4 + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">m4</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="m4" name="m4"></a><span class="term"><span class= + "command"><strong>m4</strong></span></span> + </p> + </td> + <td> + <p> + Копирует указанные файлы, одновременно расширяя + содержащиеся в них макросы. Эти макросы являются либо + встроенными, либо определяемыми пользователем и могут + принимать любое количество аргументов. Помимо выполнения + макросов, <span class= + "command"><strong>m4</strong></span> имеет встроенные + функции для включения указанных файлов, выполнения команд + Unix, выполнения целочисленной арифметики, + манипулирования текстом, рекурсии и т.д. Программа + <span class="command"><strong>m4</strong></span> может + использоваться либо как интерфейс к компилятору, либо как + самостоятельный макропроцессор + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="readline.html" title= + "Readline-8.2">Пред.</a> + <p> + Readline-8.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bc.html" title="Bc-6.6.0">След.</a> + <p> + Bc-6.6.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/make.html b/lfs-12.0-sysv/chapter08/make.html new file mode 100644 index 0000000..b0bb047 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/make.html @@ -0,0 +1,161 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.67. Make-4.4.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="libpipeline.html" title= + "Libpipeline-1.5.7">Пред.</a> + <p> + Libpipeline-1.5.7 + </p> + </li> + <li class="next"> + <a accesskey="n" href="patch.html" title="Patch-2.7.6">След.</a> + <p> + Patch-2.7.6 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-make" name="ch-system-make"></a>8.67. Make-4.4.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Make содержит программу, управляющую генерацией исполняемых и + других файлов, из исходного кода. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.5 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">13 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.67.1. Установка пакета Make + </h2> + <p> + Подготовьте Make к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">chown -Rv tester . +su tester -c "PATH=$PATH make check"</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-make" name="contents-make"></a>8.67.2. Содержимое + пакета Make + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">make</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="make" name="make"></a><span class= + "term"><span class= + "command"><strong>make</strong></span></span> + </p> + </td> + <td> + <p> + Автоматически определяет, какие части пакета необходимо + (пере)компилировать и запускает соответствующие команды. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="libpipeline.html" title= + "Libpipeline-1.5.7">Пред.</a> + <p> + Libpipeline-1.5.7 + </p> + </li> + <li class="next"> + <a accesskey="n" href="patch.html" title="Patch-2.7.6">След.</a> + <p> + Patch-2.7.6 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/man-db.html b/lfs-12.0-sysv/chapter08/man-db.html new file mode 100644 index 0000000..104c24e --- /dev/null +++ b/lfs-12.0-sysv/chapter08/man-db.html @@ -0,0 +1,765 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.75. Man-DB-2.11.2 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="udev.html" title= + "Udev из Systemd-254">Пред.</a> + <p> + Udev из Systemd-254 + </p> + </li> + <li class="next"> + <a accesskey="n" href="procps-ng.html" title= + "Procps-ng-4.0.3">След.</a> + <p> + Procps-ng-4.0.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-man-db" name="ch-system-man-db"></a>8.75. + Man-DB-2.11.2 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Man-DB содержит программы для поиска и просмотра справочных + страниц. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">40 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.75.1. Установка пакета Man-DB + </h2> + <p> + Подготовьте Man-DB к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --docdir=/usr/share/doc/man-db-2.11.2 \ + --sysconfdir=/etc \ + --disable-setuid \ + --enable-cache-owner=bin \ + --with-browser=/usr/bin/lynx \ + --with-vgrind=/usr/bin/vgrind \ + --with-grap=/usr/bin/grap \ + --with-systemdtmpfilesdir= \ + --with-systemdsystemunitdir=</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-setuid</code></em></span> + </dt> + <dd> + <p> + Отключает установку setuid пользователю <code class= + "systemitem">man</code> при сборке программы <span class= + "command"><strong>man</strong></span>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-cache-owner=bin</code></em></span> + </dt> + <dd> + <p> + Изменяет владельца файлов общесистемного кэша на пользователя + <code class="systemitem">bin</code>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-...</code></em></span> + </dt> + <dd> + <p> + Эти три аргумента используются для настройки программ по + умолчанию. <span class="command"><strong>lynx</strong></span> + текстовый веб-браузер (см. инструкции по установке в книге + BLFS), <span class="command"><strong>vgrind</strong></span> + преобразует исходные коды программ во входные данные Groff, + <span class="command"><strong>grap</strong></span> удобен для + набора графов в документах Groff. Программы <span class= + "command"><strong>vgrind</strong></span> и <span class= + "command"><strong>grap</strong></span> обычно не нужны для + просмотра справочных страниц. Они не входят в состав книг LFS + или BLFS, но вы можете установить их самостоятельно после + сборки LFS. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-systemd...</code></em></span> + </dt> + <dd> + <p> + Эти параметры предотвращают установку ненужных каталогов и + файлов systemd. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Известно, что один тест с именем <code class= + "filename">man1/lexgrog.1</code> завершился неудачно. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="sect2" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.75.2. Не англоязычные страницы руководств в LFS + </h2> + <p> + В следующей таблице приведены наборы символов, в которых могут быть + закодированы страницы руководств пакета Man-DB, устанавливаемые в + директории <code class="filename">/usr/share/man/<ll></code>. + Кроме этого, Man-DB правильно определяет, имеют ли справочные + страницы, установленные в этом каталоге, кодировку UTF-8. + </p> + <div class="table"> + <a id="idm13666" name="idm13666"></a> + <p class="title"> + <strong>Таблица 8.1. Допустимые кодировки старых 8-битных страниц + руководств</strong> + </p> + <div class="table-contents"> + <table class="table" summary= + "Допустимые кодировки старых 8-битных страниц руководств" border= + "1"> + <colgroup> + <col width="1.5in" /> + <col width="1in" /> + <col width="2.5in" /> + <col width="1in" /> + </colgroup> + <thead> + <tr> + <th> + Язык (код) + </th> + <th> + Кодировка + </th> + <th> + Язык (код) + </th> + <th> + Кодировка + </th> + </tr> + </thead> + <tbody> + <tr> + <td> + Датский (da) + </td> + <td> + ISO-8859-1 + </td> + <td> + Хорватский (hr) + </td> + <td> + ISO-8859-2 + </td> + </tr> + <tr> + <td> + Немецкий (de) + </td> + <td> + ISO-8859-1 + </td> + <td> + Венгерский (hu) + </td> + <td> + ISO-8859-2 + </td> + </tr> + <tr> + <td> + Английский (en) + </td> + <td> + ISO-8859-1 + </td> + <td> + Японский (ja) + </td> + <td> + EUC-JP + </td> + </tr> + <tr> + <td> + Испанский (es) + </td> + <td> + ISO-8859-1 + </td> + <td> + Корейский (ko) + </td> + <td> + EUC-KR + </td> + </tr> + <tr> + <td> + Эстонский (et) + </td> + <td> + ISO-8859-1 + </td> + <td> + Литовский (lt) + </td> + <td> + ISO-8859-13 + </td> + </tr> + <tr> + <td> + Финский (fi) + </td> + <td> + ISO-8859-1 + </td> + <td> + Латышский (lv) + </td> + <td> + ISO-8859-13 + </td> + </tr> + <tr> + <td> + Французский (fr) + </td> + <td> + ISO-8859-1 + </td> + <td> + Македонский (mk) + </td> + <td> + ISO-8859-5 + </td> + </tr> + <tr> + <td> + Ирландский (ga) + </td> + <td> + ISO-8859-1 + </td> + <td> + Польский (pl) + </td> + <td> + ISO-8859-2 + </td> + </tr> + <tr> + <td> + Галисийский (gl) + </td> + <td> + ISO-8859-1 + </td> + <td> + Румынский (ro) + </td> + <td> + ISO-8859-2 + </td> + </tr> + <tr> + <td> + Индонезийский (id) + </td> + <td> + ISO-8859-1 + </td> + <td> + Русский (ru) + </td> + <td> + KOI8-R + </td> + </tr> + <tr> + <td> + Исландский (is) + </td> + <td> + ISO-8859-1 + </td> + <td> + Словацкий (sk) + </td> + <td> + ISO-8859-2 + </td> + </tr> + <tr> + <td> + Итальянский (it) + </td> + <td> + ISO-8859-1 + </td> + <td> + Словенский (sl) + </td> + <td> + ISO-8859-2 + </td> + </tr> + <tr> + <td> + Норвежский букмол (nb) + </td> + <td> + ISO-8859-1 + </td> + <td> + Сербский латинский (sr@latin) + </td> + <td> + ISO-8859-2 + </td> + </tr> + <tr> + <td> + Голландский (nl) + </td> + <td> + ISO-8859-1 + </td> + <td> + Сербский (sr) + </td> + <td> + ISO-8859-5 + </td> + </tr> + <tr> + <td> + Норвежский нюнорск (nn) + </td> + <td> + ISO-8859-1 + </td> + <td> + Турецкий (tr) + </td> + <td> + ISO-8859-9 + </td> + </tr> + <tr> + <td> + Норвежский (no) + </td> + <td> + ISO-8859-1 + </td> + <td> + Украинский (uk) + </td> + <td> + KOI8-U + </td> + </tr> + <tr> + <td> + Португальский (pt) + </td> + <td> + ISO-8859-1 + </td> + <td> + Вьетнамский (vi) + </td> + <td> + TCVN5712-1 + </td> + </tr> + <tr> + <td> + Шведский (sv) + </td> + <td> + ISO-8859-1 + </td> + <td> + Упрощенный китайский (zh_CN) + </td> + <td> + GBK + </td> + </tr> + <tr> + <td> + Белорусский (be) + </td> + <td> + CP1251 + </td> + <td> + Упрощенный китайский, Сингапур (zh_SG) + </td> + <td> + GBK + </td> + </tr> + <tr> + <td> + Болгарский (bg) + </td> + <td> + CP1251 + </td> + <td> + Традиционный китайский, Гонконг (zh_HK) + </td> + <td> + BIG5HKSCS + </td> + </tr> + <tr> + <td> + Чешский (cs) + </td> + <td> + ISO-8859-2 + </td> + <td> + Традиционный китайский (zh_TW) + </td> + <td> + BIG5 + </td> + </tr> + <tr> + <td> + Греческий (el) + </td> + <td> + ISO-8859-7 + </td> + <td> + + </td> + <td> + + </td> + </tr> + </tbody> + </table> + </div> + </div><br class="table-break" /> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Страницы руководств на языках, которые не указаны в списке, не + поддерживаются. + </p> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-man-db" name="contents-man-db"></a>8.75.3. + Содержимое пакета Man-DB + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">accessdb, apropos (ссылка на whatis), + catman, lexgrog, man, man-recode, mandb, manpath, и + whatis</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libman.so и libmandb.so (обе в + /usr/lib/man-db)</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/man-db, /usr/libexec/man-db и + /usr/share/doc/man-db-2.11.2</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="accessdb" name="accessdb"></a><span class= + "term"><span class= + "command"><strong>accessdb</strong></span></span> + </p> + </td> + <td> + <p> + Выводит содержимое базы данных <span class= + "command"><strong>whatis</strong></span> в удобочитаемой + форме. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="apropos" name="apropos"></a><span class= + "term"><span class= + "command"><strong>apropos</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет поиск в базе данных <span class= + "command"><strong>whatis</strong></span> и отображает + краткое описание системных команд, содержащих заданную + строку + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="catman" name="catman"></a><span class= + "term"><span class= + "command"><strong>catman</strong></span></span> + </p> + </td> + <td> + <p> + Создает или обновляет предварительно отформатированные + страницы руководств + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lexgrog" name="lexgrog"></a><span class= + "term"><span class= + "command"><strong>lexgrog</strong></span></span> + </p> + </td> + <td> + <p> + Отображает однострочную сводную информацию о данной + странице руководства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="man" name="man"></a><span class= + "term"><span class="command"><strong>man</strong></span></span> + </p> + </td> + <td> + <p> + Форматирует и отображает запрошенную страницу руководства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="man-recode" name="man-recode"></a><span class= + "term"><span class= + "command"><strong>man-recode</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует страницы руководства в другую кодировку + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mandb" name="mandb"></a><span class= + "term"><span class= + "command"><strong>mandb</strong></span></span> + </p> + </td> + <td> + <p> + Создает или обновляет базу данных <span class= + "command"><strong>whatis</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="manpath" name="manpath"></a><span class= + "term"><span class= + "command"><strong>manpath</strong></span></span> + </p> + </td> + <td> + <p> + Отображает содержимое переменной $MANPATH или (если + переменная $MANPATH не установлена) соответствующий путь + поиска, определяемый в настройках man.conf и в + пользовательском окружении + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="whatis" name="whatis"></a><span class= + "term"><span class= + "command"><strong>whatis</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет поиск в базе данных <span class= + "command"><strong>whatis</strong></span> и отображает + краткие описания системных команд, в которых в описании + ключей указано искомое слово + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libman" name="libman"></a><span class= + "term"><code class="filename">libman</code></span> + </p> + </td> + <td> + <p> + Включает поддержку <span class= + "command"><strong>man</strong></span> во время выполнения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libmandb" name="libmandb"></a><span class= + "term"><code class="filename">libmandb</code></span> + </p> + </td> + <td> + <p> + Включает поддержку <span class= + "command"><strong>man</strong></span> во время выполнения + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="udev.html" title= + "Udev из Systemd-254">Пред.</a> + <p> + Udev из Systemd-254 + </p> + </li> + <li class="next"> + <a accesskey="n" href="procps-ng.html" title= + "Procps-ng-4.0.3">След.</a> + <p> + Procps-ng-4.0.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/man-pages.html b/lfs-12.0-sysv/chapter08/man-pages.html new file mode 100644 index 0000000..5ed69a8 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/man-pages.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.3. Man-pages-6.05.01 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="pkgmgt.html" title= + "Управление пакетами">Пред.</a> + <p> + Управление пакетами + </p> + </li> + <li class="next"> + <a accesskey="n" href="iana-etc.html" title= + "Iana-Etc-20230810">След.</a> + <p> + Iana-Etc-20230810 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-man-pages" name="ch-system-man-pages"></a>8.3. + Man-pages-6.05.01 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Man-pages содержит более 2400 справочных руководств. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">33 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.3.1. Установка пакета Man-pages + </h2> + <p> + Удалите две справочные страницы для функций хэширования паролей. + <span class="application">Libxcrypt</span> предоставит улучшенную + версию этих справочных страниц: + </p> + <pre class="userinput"><kbd class= + "command">rm -v man3/crypt*</kbd></pre> + <p> + Установите пакет Man-pages выполнив команду: + </p> + <pre class="userinput"><kbd class= + "command">make prefix=/usr install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-manpages" name="contents-manpages"></a>8.3.2. + Содержимое пакета Man-pages + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные файлы:</strong> + <span class="segbody">различные справочные страницы</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="man-pages" name="man-pages"></a><span class= + "term"><code class="filename">man pages</code></span> + </p> + </td> + <td> + <p> + Описывают функции языка программирования C, важные файлы + устройств и важные файлы конфигурации. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="pkgmgt.html" title= + "Управление пакетами">Пред.</a> + <p> + Управление пакетами + </p> + </li> + <li class="next"> + <a accesskey="n" href="iana-etc.html" title= + "Iana-Etc-20230810">След.</a> + <p> + Iana-Etc-20230810 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/markupsafe.html b/lfs-12.0-sysv/chapter08/markupsafe.html new file mode 100644 index 0000000..440bf83 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/markupsafe.html @@ -0,0 +1,128 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.72. MarkupSafe-2.1.3 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="vim.html" title="Vim-9.0.1677">Пред.</a> + <p> + Vim-9.0.1677 + </p> + </li> + <li class="next"> + <a accesskey="n" href="jinja2.html" title="Jinja2-3.1.2">След.</a> + <p> + Jinja2-3.1.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-markupsafe" name="ch-system-markupsafe"></a>8.72. + MarkupSafe-2.1.3 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + MarkupSafe — это модуль Python, реализующий безопасное + использование строк в языках разметки XML/HTML/XHTML + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">548 KB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.72.1. Установка пакета MarkupSafe + </h2> + <p> + Скомпилируйте MarkupSafe с помощью следующей команды: + </p> + <pre class="userinput"><kbd class= + "command">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</kbd></pre> + <p> + С этим пакетом не поставляется тестов. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">pip3 install --no-index --no-user --find-links dist Markupsafe</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-markupsafe" name="contents-markupsafe"></a>8.72.2. + Содержимое пакета MarkupSafe + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class= + "segbody">/usr/lib/python3.11/site-packages/MarkupSafe-2.1.3.dist-info</span> + </div> + </div> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="vim.html" title="Vim-9.0.1677">Пред.</a> + <p> + Vim-9.0.1677 + </p> + </li> + <li class="next"> + <a accesskey="n" href="jinja2.html" title="Jinja2-3.1.2">След.</a> + <p> + Jinja2-3.1.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/meson.html b/lfs-12.0-sysv/chapter08/meson.html new file mode 100644 index 0000000..0b29709 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/meson.html @@ -0,0 +1,192 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.55. Meson-1.2.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="ninja.html" title="Ninja-1.11.1">Пред.</a> + <p> + Ninja-1.11.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="coreutils.html" title= + "Coreutils-9.3">След.</a> + <p> + Coreutils-9.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-meson" name="ch-system-meson"></a>8.55. Meson-1.2.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Meson — это система сборки с открытым исходным кодом, разработанная + таким образом, чтобы быть очень быстрой и максимально удобной для + пользователя. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">42 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.55.1. Установка пакета Meson + </h2> + <p> + Скомпилируйте Meson с помощью следующей команды: + </p> + <pre class="userinput"><kbd class= + "command">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</kbd></pre> + <p> + Для набора тестов требуются некоторые пакеты, выходящие за рамки + LFS. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">pip3 install --no-index --find-links dist meson +install -vDm644 data/shell-completions/bash/meson /usr/share/bash-completion/completions/meson +install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/_meson</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров установки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class="parameter"><code>-w + dist</code></em></span> + </dt> + <dd> + <p> + Помещает собранный wheels в каталог <code class= + "filename">dist</code>. + </p> + </dd> + <dt> + <span class="term"><em class="parameter"><code>--find-links + dist</code></em></span> + </dt> + <dd> + <p> + Устанавливает wheels из каталога <code class= + "filename">dist</code>. + </p> + </dd> + </dl> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-meson" name="contents-meson"></a>8.55.2. Содержимое + пакета Meson + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">meson</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class= + "segbody">/usr/lib/python3.11/site-packages/meson-1.2.1.dist-info + и /usr/lib/python3.11/site-packages/mesonbuild</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="meson" name="meson"></a><span class= + "term"><span class= + "command"><strong>meson</strong></span></span> + </p> + </td> + <td> + <p> + Высокопроизводительная система сборки + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="ninja.html" title="Ninja-1.11.1">Пред.</a> + <p> + Ninja-1.11.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="coreutils.html" title= + "Coreutils-9.3">След.</a> + <p> + Coreutils-9.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/mpc.html b/lfs-12.0-sysv/chapter08/mpc.html new file mode 100644 index 0000000..cd8cee1 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/mpc.html @@ -0,0 +1,164 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.21. MPC-1.3.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="mpfr.html" title="MPFR-4.2.0">Пред.</a> + <p> + MPFR-4.2.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="attr.html" title="Attr-2.5.1">След.</a> + <p> + Attr-2.5.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-mpc" name="ch-system-mpc"></a>8.21. MPC-1.3.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет MPC содержит библиотеку для арифметики комплексных чисел с + высокой точностью и правильным округлением результата. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">22 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.21.1. Установка пакета MPC + </h2> + <p> + Подготовьте MPC к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/mpc-1.3.1</kbd></pre> + <p> + Скомпилируйте пакет и сгенерируйте HTML-документацию: + </p> + <pre class="userinput"><kbd class="command">make +make html</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет и документацию к нему: + </p> + <pre class="userinput"><kbd class="command">make install +make install-html</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-mpc" name="contents-mpc"></a>8.21.2. Содержимое + пакета MPC + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libmpc.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/mpc-1.3.1</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libmpc" name="libmpc"></a><span class= + "term"><code class="filename">libmpc</code></span> + </p> + </td> + <td> + <p> + Содержит сложные математические функции + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="mpfr.html" title="MPFR-4.2.0">Пред.</a> + <p> + MPFR-4.2.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="attr.html" title="Attr-2.5.1">След.</a> + <p> + Attr-2.5.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/mpfr.html b/lfs-12.0-sysv/chapter08/mpfr.html new file mode 100644 index 0000000..cb145b2 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/mpfr.html @@ -0,0 +1,183 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.20. MPFR-4.2.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="gmp.html" title="GMP-6.3.0">Пред.</a> + <p> + GMP-6.3.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="mpc.html" title="MPC-1.3.1">След.</a> + <p> + MPC-1.3.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-mpfr" name="ch-system-mpfr"></a>8.20. MPFR-4.2.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет MPFR содержит функции для двоичных вычислений с плавающей + запятой произвольной точности. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">43 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.20.1. Установка пакета MPFR + </h2> + <p> + Исправьте тестовый пример, приводящий к ошибке в старых версиях + Glibc: + </p> + <pre class="userinput"><kbd class= + "command">sed -e 's/+01,234,567/+1,234,567 /' \ + -e 's/13.10Pd/13Pd/' \ + -i tests/tsprintf.c</kbd></pre> + <p> + Подготовьте MPFR к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --enable-thread-safe \ + --docdir=/usr/share/doc/mpfr-4.2.0</kbd></pre> + <p> + Скомпилируйте пакет и сгенерируйте HTML-документацию: + </p> + <pre class="userinput"><kbd class="command">make +make html</kbd></pre> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Набор тестов для MPFR в этом разделе считается критически важным. + Ни в коем случае не пропускайте его. + </p> + </div> + <p> + Выполните тестирование и убедитесь, что все 197 тестов пройдены: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет и документацию к нему: + </p> + <pre class="userinput"><kbd class="command">make install +make install-html</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-mpfr" name="contents-mpfr"></a>8.20.2. Содержимое + пакета MPFR + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libmpfr.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/mpfr-4.2.0</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libmpfr" name="libmpfr"></a><span class= + "term"><code class="filename">libmpfr</code></span> + </p> + </td> + <td> + <p> + Содержит математические функции с произвольной точностью + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="gmp.html" title="GMP-6.3.0">Пред.</a> + <p> + GMP-6.3.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="mpc.html" title="MPC-1.3.1">След.</a> + <p> + MPC-1.3.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/ncurses.html b/lfs-12.0-sysv/chapter08/ncurses.html new file mode 100644 index 0000000..c56e5dc --- /dev/null +++ b/lfs-12.0-sysv/chapter08/ncurses.html @@ -0,0 +1,554 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.29. Ncurses-6.4 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="pkgconf.html" title= + "Pkgconf-2.0.1">Пред.</a> + <p> + Pkgconf-2.0.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="sed.html" title="Sed-4.9">След.</a> + <p> + Sed-4.9 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-ncurses" name="ch-system-ncurses"></a>8.29. + Ncurses-6.4 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Ncurses содержит библиотеки для независимой от терминала + обработки ввода/вывода + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">45 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.29.1. Установка пакета Ncurses + </h2> + <p> + Подготовьте Ncurses к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --with-shared \ + --without-debug \ + --without-normal \ + --with-cxx-shared \ + --enable-pc-files \ + --enable-widec \ + --with-pkg-config-libdir=/usr/lib/pkgconfig</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение новых параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-shared</code></em></span> + </dt> + <dd> + <p> + Этот параметр позволяет Ncurses собирать и устанавливать + общие библиотеки C. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--without-normal</code></em></span> + </dt> + <dd> + <p> + Этот параметр отключает сборку и установку большинства + статических библиотек C. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--without-debug</code></em></span> + </dt> + <dd> + <p> + Этот параметр предотвращает сборку и установку отладочных + библиотек. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-cxx-shared</code></em></span> + </dt> + <dd> + <p> + Это аргумент позволяет Ncurses собирать и устанавливать общие + привязки C++. А также предотвращает сборку и установку + статических привязок C++. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-pc-files</code></em></span> + </dt> + <dd> + <p> + Этот параметр генерирует и устанавливает файлы .pc для + pkg-config. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--enable-widec</code></em></span> + </dt> + <dd> + <p> + Этот параметр указывает, что при сборке пакета вместо обычных + библиотек (например, <code class= + "filename">libncurses.so.6.4</code>) будут использоваться + библиотеки с расширенным набором символов (например, + <code class="filename">libncursesw.so.6.4</code>). Библиотеки + с расширенным набором символов могут использоваться как с + многобайтовыми локалями, так и с традиционными 8-битовыми + локалями, тогда как обычные библиотеки работают только с + 8-битовыми локалями. Библиотеки с расширенным набором + символов и обычные библиотеки совместимы на уровне исходного + кода, но не совместимыми на уровне двоичного. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + У этого пакета есть набор тестов, но его можно запустить только + после того, как пакет будет установлен. Тесты находятся в каталоге + <code class="filename">test/</code>. Дополнительные сведения см. в + файле <code class="filename">README</code> в этом каталоге. + </p> + <p> + Установка этого пакета приведет к перезаписи <code class= + "filename">libncursesw.so.6.4</code>. Это может привести к сбою + процесса оболочки, который использует код и данные из файла + библиотеки. Установите пакет с помощью <code class= + "literal">DESTDIR</code> и правильно замените файл библиотеки с + помощью команды <span class= + "command"><strong>install</strong></span>. + </p> + <pre class="userinput"><kbd class= + "command">make DESTDIR=$PWD/dest install +install -vm755 dest/usr/lib/libncursesw.so.6.4 /usr/lib +rm -v dest/usr/lib/libncursesw.so.6.4 +cp -av dest/* /</kbd></pre> + <p> + Многие приложения ожидают, что компоновщик сможет найти библиотеки + Ncurses, не поддерживающие расширенный набор символов. Свяжите + такие приложения с библиотеками расширенного набора символов с + помощью символических ссылок и скриптов компоновщика: + </p> + <pre class="userinput"><kbd class= + "command">for lib in ncurses form panel menu ; do + rm -vf /usr/lib/lib${lib}.so + echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so + ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc +done</kbd></pre> + <p> + Убедитесь, что старые приложения, которым нужна <code class= + "filename">-lcurses</code> для сборки, собираются правильно: + </p> + <pre class="userinput"><kbd class= + "command">rm -vf /usr/lib/libcursesw.so +echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so +ln -sfv libncurses.so /usr/lib/libcurses.so</kbd></pre> + <p> + По желанию установите документацию Ncurses: + </p> + <pre class="userinput"><kbd class= + "command">cp -v -R doc -T /usr/share/doc/ncurses-6.4</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + С помощью приведенных выше инструкций не создаются библиотеки + Ncurses, не использующие расширенный набор символов, поскольку ни + один пакет, установленный путем компиляции из исходного кода, не + будет связан с ними во время выполнения. Тем не менее, известно + что некоторые бинарные приложения, которые связаны с библиотекой + Ncurses и не поддерживающие расширенный набор символов, требуют + наличия версии 5. Если вам необходимо иметь такие библиотеки + из-за какого-либо приложения, имеющегося только в бинарном виде, + или для обеспечения совместимости с LSB, соберите пакет с помощью + следующих команд: + </p> + <pre class="userinput"><kbd class="command">make distclean +./configure --prefix=/usr \ + --with-shared \ + --without-normal \ + --without-debug \ + --without-cxx-binding \ + --with-abi-version=5 +make sources libs +cp -av lib/lib*.so.5* /usr/lib</kbd></pre> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-ncurses" name="contents-ncurses"></a>8.29.2. + Содержимое пакета Ncurses + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">captoinfo (ссылка на tic), clear, + infocmp, infotocap (ссылка на tic), ncursesw6-config, reset + (ссылка на tset), tabs, tic, toe, tput, и tset</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libcursesw.so (символическая ссылка и + скрипт компоновщика на libncursesw.so), libformw.so, + libmenuw.so, libncursesw.so, libncurses++w.so, libpanelw.so, и + их аналоги без "w" в именах библиотек.</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/tabset, /usr/share/terminfo, и + /usr/share/doc/ncurses-6.4</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="captoinfo" name="captoinfo"></a><span class= + "term"><span class= + "command"><strong>captoinfo</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует описание termcap в описание terminfo + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="clear" name="clear"></a><span class= + "term"><span class= + "command"><strong>clear</strong></span></span> + </p> + </td> + <td> + <p> + Очищает экран, если это возможно + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="infocmp" name="infocmp"></a><span class= + "term"><span class= + "command"><strong>infocmp</strong></span></span> + </p> + </td> + <td> + <p> + Сравнивает или показывает описания terminfo + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="infotocap" name="infotocap"></a><span class= + "term"><span class= + "command"><strong>infotocap</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует описание terminfo в описание termcap + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ncursesw6-config" name= + "ncursesw6-config"></a><span class="term"><span class= + "command"><strong>ncursesw6-config</strong></span></span> + </p> + </td> + <td> + <p> + Предоставляет информацию о конфигурации пакету ncurses + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="reset" name="reset"></a><span class= + "term"><span class= + "command"><strong>reset</strong></span></span> + </p> + </td> + <td> + <p> + Повторно инициализирует терминал со значениями по + умолчанию + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tabs" name="tabs"></a><span class= + "term"><span class= + "command"><strong>tabs</strong></span></span> + </p> + </td> + <td> + <p> + Очищает и устанавливает размеры табуляции в терминале + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tic" name="tic"></a><span class= + "term"><span class="command"><strong>tic</strong></span></span> + </p> + </td> + <td> + <p> + Компилятор описания terminfo, преобразует файл terminfo + из исходного формата в двоичный, который необходим для + подпрограмм библиотеки ncurses [Файл terminfo содержит + информацию о возможностях конкретного терминала.] + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="toe" name="toe"></a><span class= + "term"><span class="command"><strong>toe</strong></span></span> + </p> + </td> + <td> + <p> + Выводит список всех доступных типов терминалов, для + каждого из которых указывается его имя и приводится + описание + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tput" name="tput"></a><span class= + "term"><span class= + "command"><strong>tput</strong></span></span> + </p> + </td> + <td> + <p> + Позволяет использовать в командной оболочке настройки, + относящиеся к особенностям конкретного терминала; может + также использоваться для сброса или инициализации + терминала, либо для вывода полного имени терминала + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tset" name="tset"></a><span class= + "term"><span class= + "command"><strong>tset</strong></span></span> + </p> + </td> + <td> + <p> + Может использоваться для инициализации терминалов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libcursesw" name="libcursesw"></a><span class= + "term"><code class="filename">libcursesw</code></span> + </p> + </td> + <td> + <p> + Ссылка на <code class="filename">libncursesw</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libncursesw" name="libncursesw"></a><span class= + "term"><code class="filename">libncursesw</code></span> + </p> + </td> + <td> + <p> + Содержит функции, отображающие различными способами текст + на экране терминала. Хорошим примером использования этих + функций является меню, отображаемое командой <span class= + "command"><strong>make menuconfig</strong></span> при + настройке ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libncurses__w" name= + "libncurses__w"></a><span class="term"><code class= + "filename">libncurses++w</code></span> + </p> + </td> + <td> + <p> + Содержит функции связывания C++ с другими библиотеками в + пакете + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libformw" name="libformw"></a><span class= + "term"><code class="filename">libformw</code></span> + </p> + </td> + <td> + <p> + Содержит функции, реализующие формы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libmenuw" name="libmenuw"></a><span class= + "term"><code class="filename">libmenuw</code></span> + </p> + </td> + <td> + <p> + Содержит функции, реализующие меню + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libpanelw" name="libpanelw"></a><span class= + "term"><code class="filename">libpanelw</code></span> + </p> + </td> + <td> + <p> + Содержит функции, реализующие панели + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="pkgconf.html" title= + "Pkgconf-2.0.1">Пред.</a> + <p> + Pkgconf-2.0.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="sed.html" title="Sed-4.9">След.</a> + <p> + Sed-4.9 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/ninja.html b/lfs-12.0-sysv/chapter08/ninja.html new file mode 100644 index 0000000..591a1ed --- /dev/null +++ b/lfs-12.0-sysv/chapter08/ninja.html @@ -0,0 +1,206 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.54. Ninja-1.11.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="wheel.html" title="Wheel-0.41.1">Пред.</a> + <p> + Wheel-0.41.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="meson.html" title="Meson-1.2.1">След.</a> + <p> + Meson-1.2.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-ninja" name="ch-system-ninja"></a>8.54. Ninja-1.11.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Ninja - небольшая система сборки ориентированная на скорость. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">75 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.54.1. Установка пакета Ninja + </h2> + <p> + При запуске <span class="command"><strong>ninja</strong></span> + обычно использует максимальное количество процессов параллельно. По + умолчанию это количество ядер в системе плюс два. В некоторых + случаях это может привести к перегреву процессора или нехватке + памяти в системе. Когда <span class= + "command"><strong>ninja</strong></span> вызывается из командной + строки, передача параметра -jN ограничит количество параллельных + процессов. Некоторые пакеты встраивают выполнение <span class= + "command"><strong>ninja</strong></span> и параметр -j не + передается. + </p> + <p> + Использование приведенной ниже <span class= + "emphasis"><em>необязательной</em></span> процедуры позволяет + пользователю ограничить количество параллельных процессов с помощью + переменной окружения NINJAJOBS. <span class= + "bold"><strong>Пример</strong></span>, настройки: + </p> + <pre class="screen">export NINJAJOBS=4</pre> + <p> + ограничит <span class="command"><strong>ninja</strong></span> + четырьмя параллельными процессами. + </p> + <p> + По желанию, добавьте возможность использовать переменную окружения + NINJAJOBS, выполнив следующую команду: + </p> + <pre class="userinput"><kbd class="command">sed -i '/int Guess/a \ + int j = 0;\ + char* jobs = getenv( "NINJAJOBS" );\ + if ( jobs != NULL ) j = atoi( jobs );\ + if ( j > 0 ) return j;\ +' src/ninja.cc</kbd></pre> + <p> + Соберите Ninja с помощью команды: + </p> + <pre class="userinput"><kbd class= + "command">python3 configure.py --bootstrap</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров сборки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--bootstrap</code></em></span> + </dt> + <dd> + <p> + Этот параметр перестраивает Ninja под текущую систему. + </p> + </dd> + </dl> + </div> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">./ninja ninja_test +./ninja_test --gtest_filter=-SubprocessTest.SetWithLots</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">install -vm755 ninja /usr/bin/ +install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja +install -vDm644 misc/zsh-completion /usr/share/zsh/site-functions/_ninja</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-ninja" name="contents-ninja"></a>8.54.2. Содержимое + пакета Ninja + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">ninja</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="ninja" name="ninja"></a><span class= + "term"><span class= + "command"><strong>ninja</strong></span></span> + </p> + </td> + <td> + <p> + это система сборки Ninja + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="wheel.html" title="Wheel-0.41.1">Пред.</a> + <p> + Wheel-0.41.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="meson.html" title="Meson-1.2.1">След.</a> + <p> + Meson-1.2.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/openssl.html b/lfs-12.0-sysv/chapter08/openssl.html new file mode 100644 index 0000000..097e1f5 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/openssl.html @@ -0,0 +1,300 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.47. OpenSSL-3.1.2 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="automake.html" title= + "Automake-1.16.5">Пред.</a> + <p> + Automake-1.16.5 + </p> + </li> + <li class="next"> + <a accesskey="n" href="kmod.html" title="Kmod-30">След.</a> + <p> + Kmod-30 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-openssl" name="ch-system-openssl"></a>8.47. + OpenSSL-3.1.2 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет OpenSSL содержит инструменты управления и библиотеки, + относящиеся к криптографии. Они полезны для предоставления + криптографических функций другим пакетам, таким как OpenSSH, + приложениям электронной почты и веб-браузерам (для доступа к сайтам + по HTTPS). + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">3.0 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">587 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.47.1. Установка пакета OpenSSL + </h2> + <p> + Подготовьте OpenSSL к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./config --prefix=/usr \ + --openssldir=/etc/ssl \ + --libdir=lib \ + shared \ + zlib-dynamic</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Известно, что один тест, 30-test_afalg.t, завершится ошибкой, если + в ядре хоста не включен параметр <code class= + "option">CONFIG_CRYPTO_USER_API_SKCIPHER</code> или отсутствуют + какие-либо опции, обеспечивающих реализацию AES с CBC (например, + комбинация <code class="option">CONFIG_CRYPTO_AES</code> и + <code class="option">CONFIG_CRYPTO_CBC</code> или <code class= + "option">CONFIG_CRYPTO_AES_NI_INTEL</code>, если процессор + поддерживает AES-NI). В случае неудачи его можно смело + игнорировать. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile +make MANSUFFIX=ssl install</kbd></pre> + <p> + Добавьте версию к имени каталога документации, чтобы структура + соответствовала другим пакетам: + </p> + <pre class="userinput"><kbd class= + "command">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.1.2</kbd></pre> + <p> + По желанию, установите дополнительную документацию: + </p> + <pre class="userinput"><kbd class= + "command">cp -vfr doc/* /usr/share/doc/openssl-3.1.2</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Вы должны обновить OpenSSL, когда будет выпущена новая версия, + исправляющая уязвимости. Начиная с OpenSSL 3.0.0, схема + управления версиями OpenSSL следует формату MAJOR.MINOR.PATCH. + Совместимость API/ABI гарантируется для одной и той же ОСНОВНОЙ + (MAJOR) версии. Поскольку LFS устанавливает только общие + библиотеки, нет необходимости перекомпилировать пакеты, которые + ссылаются на <code class="filename">libcrypto.so</code> или + <code class="filename">libssl.so</code>, <span class= + "emphasis"><em>при обновлении до версии с тем же ОСНОВНЫМ номером + версии</em></span>. + </p> + <p> + Если установлен <span class="application">OpenSSH</span>, это + будет исключением из общего правила, указанного выше. Он содержит + чрезмерно ограничительную проверку версии OpenSSL, поэтому и + SSH-клиент, и SSH-сервер откажутся запускаться, если OpenSSL + обновлен с прежним номером MAJOR версии, но с другим номером + MINOR версии. После такого обновления вам необходимо пересобрать + <span class="application">OpenSSH</span>. <span class= + "bold"><strong>Если <span class="application">OpenSSH</span> + используется для доступа к системе, вам необходимо пересобрать и + переустановить его после обновления OpenSSL до новой MINOR версии + перед выходом из системы, иначе вы не сможете больше войти в + систему через SSH.</strong></span> + </p> + <p> + Все запущенные программы, связанные с этими библиотеками, после + обновления необходимо остановить и перезапустить. Для получения + более подробной информации ознакомьтесь с соответствующей записью + в <a class="xref" href="pkgmgt.html#pkgmgmt-upgrade-issues" + title="8.2.1. Проблемы с обновлением">Раздел 8.2.1, + «Проблемы с обновлением»</a>. + </p> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-openssl" name="contents-openssl"></a>8.47.2. + Содержимое пакета OpenSSL + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">c_rehash и openssl</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libcrypto.so и libssl.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/etc/ssl, /usr/include/openssl, + /usr/lib/engines и /usr/share/doc/openssl-3.1.2</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="c_rehash" name="c_rehash"></a><span class= + "term"><span class= + "command"><strong>c_rehash</strong></span></span> + </p> + </td> + <td> + <p> + это <span class="application">Perl</span> скрипт, который + сканирует все файлы в каталоге и добавляет символические + ссылки к их хеш-значениям. Использование <span class= + "command"><strong>c_rehash</strong></span> считается + устаревшим и должно быть заменено командой <span class= + "command"><strong>openssl rehash</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="openssl-prog" name="openssl-prog"></a><span class= + "term"><span class= + "command"><strong>openssl</strong></span></span> + </p> + </td> + <td> + <p> + это инструмент командной строки для использования + различных криптографических функций библиотеки + <span class="application">OpenSSL</span> из оболочки. Его + можно использовать для различных функций, которые + задокументированы в <span class="command"><strong>man 1 + openssl</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libcrypto" name="libcrypto"></a><span class= + "term"><code class="filename">libcrypto.so</code></span> + </p> + </td> + <td> + <p> + реализует широкий спектр криптографических алгоритмов, + используемых в различных интернет-стандартах. Услуги, + предоставляемые этой библиотекой, используют <span class= + "application">OpenSSL</span>-реализацию SSL, TLS и + S/MIME, а также для реализации <span class= + "application">OpenSSH</span>, <span class= + "application">OpenPGP</span> и других криптографических + стандартов. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libssl" name="libssl"></a><span class= + "term"><code class="filename">libssl.so</code></span> + </p> + </td> + <td> + <p> + реализует протокол безопасности транспортного уровня (TLS + v1). Он предоставляет богатый API, документацию по + которому можно найти, выполнив команду: <span class= + "command"><strong>man 7 ssl</strong></span> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="automake.html" title= + "Automake-1.16.5">Пред.</a> + <p> + Automake-1.16.5 + </p> + </li> + <li class="next"> + <a accesskey="n" href="kmod.html" title="Kmod-30">След.</a> + <p> + Kmod-30 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/patch.html b/lfs-12.0-sysv/chapter08/patch.html new file mode 100644 index 0000000..addccae --- /dev/null +++ b/lfs-12.0-sysv/chapter08/patch.html @@ -0,0 +1,165 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.68. Patch-2.7.6 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="make.html" title="Make-4.4.1">Пред.</a> + <p> + Make-4.4.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="tar.html" title="Tar-1.35">След.</a> + <p> + Tar-1.35 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-patch" name="ch-system-patch"></a>8.68. Patch-2.7.6 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Patch содержит программу для изменения или создания файлов + путём наложение <span class="quote">«<span class= + "quote">патча</span>»</span>, обычно, создаваемого программой + <span class="command"><strong>diff</strong></span>. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">12 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.68.1. Установка пакета Patch + </h2> + <p> + Подготовьте Patch к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-patch" name="contents-patch"></a>8.68.2. Содержимое + пакета Patch + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">patch</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="patch" name="patch"></a><span class= + "term"><span class= + "command"><strong>patch</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет файлы в соответствии с файлом исправления (патч + обычно представляет собой список отличий, создаваемый с + помощью программы <span class= + "command"><strong>diff</strong></span>. Применяя их к + исходным файлам, <span class= + "command"><strong>patch</strong></span> создает + исправленные версии.) + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="make.html" title="Make-4.4.1">Пред.</a> + <p> + Make-4.4.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="tar.html" title="Tar-1.35">След.</a> + <p> + Tar-1.35 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/perl.html b/lfs-12.0-sysv/chapter08/perl.html new file mode 100644 index 0000000..a32c173 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/perl.html @@ -0,0 +1,725 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.42. Perl-5.38.0 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="less.html" title="Less-643">Пред.</a> + <p> + Less-643 + </p> + </li> + <li class="next"> + <a accesskey="n" href="xml-parser.html" title= + "XML::Parser-2.46">След.</a> + <p> + XML::Parser-2.46 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-perl" name="ch-system-perl"></a>8.42. Perl-5.38.0 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Perl содержит практический язык для извлечения данных и + составления отчётов (Practical Extraction and Report Language). + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">7.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">239 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.42.1. Установка пакета Perl + </h2> + <p> + Эта версия Perl собирает модули Compress::Raw::Zlib и + Compress::Raw::BZip2. По умолчанию Perl будет использовать + внутреннюю копию исходников для сборки. Выполните следующую + команду, чтобы Perl использовал библиотеки, установленные в + системе: + </p> + <pre class="userinput"><kbd class="command">export BUILD_ZLIB=False +export BUILD_BZIP2=0</kbd></pre> + <p> + Чтобы иметь полный контроль над настройкой Perl, вы можете удалить + параметры <span class="quote">«<span class= + "quote">-des</span>»</span> из следующей команды и вручную выбрать + способ сборки этого пакета. В качестве альтернативы, используйте + команду точно так, как указано ниже, чтобы использовать значения по + умолчанию, которые Perl определяет автоматически: + </p> + <pre class="userinput"><kbd class= + "command">sh Configure -des \ + -Dprefix=/usr \ + -Dvendorprefix=/usr \ + -Dprivlib=/usr/lib/perl5/5.38/core_perl \ + -Darchlib=/usr/lib/perl5/5.38/core_perl \ + -Dsitelib=/usr/lib/perl5/5.38/site_perl \ + -Dsitearch=/usr/lib/perl5/5.38/site_perl \ + -Dvendorlib=/usr/lib/perl5/5.38/vendor_perl \ + -Dvendorarch=/usr/lib/perl5/5.38/vendor_perl \ + -Dman1dir=/usr/share/man/man1 \ + -Dman3dir=/usr/share/man/man3 \ + -Dpager="/usr/bin/less -isR" \ + -Duseshrplib \ + -Dusethreads</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров configure:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>-Dvendorprefix=/usr</code></em></span> + </dt> + <dd> + <p> + Параметр гарантирует, что <span class= + "command"><strong>perl</strong></span> знает, как указать + пакетам, где они должны устанавливать свои модули Perl. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Dpager="/usr/bin/less + -isR"</code></em></span> + </dt> + <dd> + <p> + Параметр указывает использовать <strong class= + "userinput"><code>less</code></strong> вместо <strong class= + "userinput"><code>more</code></strong>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Dman1dir=/usr/share/man/man1 + -Dman3dir=/usr/share/man/man3</code></em></span> + </dt> + <dd> + <p> + Так как Groff еще не установлен, <span class= + "command"><strong>Configure</strong></span> не будет + создавать man-страницы для Perl. Эти параметры переопределяют + это поведение. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Duseshrplib</code></em></span> + </dt> + <dd> + <p> + Собрать общую библиотеку libperl, необходимую некоторым + модулям Perl. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Dusethreads</code></em></span> + </dt> + <dd> + <p> + Собрать Perl с поддержкой потоков. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Dprivlib,-Darchlib,-Dsitelib,...</code></em></span> + </dt> + <dd> + <p> + Эти настройки определяют, где Perl ищет установленные модули. + Редакторы LFS решили поместить их в структуру каталогов, + основанную на MAJOR.MINOR версии Perl (5.38), что позволяет + обновлять Perl до более новых версий (5.38.0) без + необходимости переустанавливать все модули. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет (примерно 11 SBU), выполните: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Установка пакета и очистка: + </p> + <pre class="userinput"><kbd class="command">make install +unset BUILD_ZLIB BUILD_BZIP2</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-perl" name="contents-perl"></a>8.42.2. Содержимое + пакета Perl + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">corelist, cpan, enc2xs, encguess, h2ph, + h2xs, instmodsh, json_pp, libnetcfg, perl, perl5.38.0 (жесткая + ссылка на perl), perlbug, perldoc, perlivp, perlthanks (жесткая + ссылка на perlbug), piconv, pl2pm, pod2html, pod2man, pod2text, + pod2usage, podchecker, podselect, prove, ptar, ptardiff, + ptargrep, shasum, splain, xsubpp и zipdetails</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">Список слишком большой для + перечисления</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/perl5</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="corelist" name="corelist"></a><span class= + "term"><span class= + "command"><strong>corelist</strong></span></span> + </p> + </td> + <td> + <p> + Интерфейс командной строки для Module::CoreList + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cpan" name="cpan"></a><span class= + "term"><span class= + "command"><strong>cpan</strong></span></span> + </p> + </td> + <td> + <p> + Позволяет получать из командной строки доступ к архиву + документации и программ Perl (Comprehensive Perl Archive + Network - CPAN) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="enc2xs" name="enc2xs"></a><span class= + "term"><span class= + "command"><strong>enc2xs</strong></span></span> + </p> + </td> + <td> + <p> + Собирает расширение Perl для модуля Encode либо с + использование таблицы символов Unicode, либо с + использованием файлов кодирования Tcl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="encguess" name="encguess"></a><span class= + "term"><span class= + "command"><strong>encguess</strong></span></span> + </p> + </td> + <td> + <p> + Определяет тип кодировки одного или нескольких файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="h2ph" name="h2ph"></a><span class= + "term"><span class= + "command"><strong>h2ph</strong></span></span> + </p> + </td> + <td> + <p> + Конвертирует заголовочные файлы Си <code class= + "filename">.h</code> в заголовочные файлы Perl + <code class="filename">.ph</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="h2xs" name="h2xs"></a><span class= + "term"><span class= + "command"><strong>h2xs</strong></span></span> + </p> + </td> + <td> + <p> + Конвертирует заголовочные файлы Си <code class= + "filename">.h</code> в расширения Perl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="instmodsh" name="instmodsh"></a><span class= + "term"><span class= + "command"><strong>instmodsh</strong></span></span> + </p> + </td> + <td> + <p> + Сценарий оболочки для проверки установленных модулей + Perl; он может создать архив из установленного модуля. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="json_pp" name="json_pp"></a><span class= + "term"><span class= + "command"><strong>json_pp</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует данные между определенными входными и + выходными форматами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libnetcfg" name="libnetcfg"></a><span class= + "term"><span class= + "command"><strong>libnetcfg</strong></span></span> + </p> + </td> + <td> + <p> + Может использоваться для настройки Perl-модуля + <code class="filename">libnet</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="perl" name="perl"></a><span class= + "term"><span class= + "command"><strong>perl</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет лучшие возможности C, <span class= + "command"><strong>sed</strong></span>, <span class= + "command"><strong>awk</strong></span> и <span class= + "command"><strong>sh</strong></span> в одном языке + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="perl-version" name="perl-version"></a><span class= + "term"><span class= + "command"><strong>perl5.38.0</strong></span></span> + </p> + </td> + <td> + <p> + Жесткая ссылка на <span class= + "command"><strong>perl</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="perlbug" name="perlbug"></a><span class= + "term"><span class= + "command"><strong>perlbug</strong></span></span> + </p> + </td> + <td> + <p> + Используется для создания отчетов об ошибках в Perl или + модулях, которые поставляются с ним, и отправки их по + почте + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="perldoc" name="perldoc"></a><span class= + "term"><span class= + "command"><strong>perldoc</strong></span></span> + </p> + </td> + <td> + <p> + Отображает часть документации в формате pod, которая + встроена в дерево установки Perl или в сценарий Perl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="perlivp" name="perlivp"></a><span class= + "term"><span class= + "command"><strong>perlivp</strong></span></span> + </p> + </td> + <td> + <p> + Процедура проверки установки Perl; ее можно использовать + для проверки правильности установки Perl и его библиотек + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="perlthanks" name="perlthanks"></a><span class= + "term"><span class= + "command"><strong>perlthanks</strong></span></span> + </p> + </td> + <td> + <p> + Используется для создания сообщения-благодарности, + отсылаемого разработчикам Perl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="piconv" name="piconv"></a><span class= + "term"><span class= + "command"><strong>piconv</strong></span></span> + </p> + </td> + <td> + <p> + Perl версия конвертера <span class= + "command"><strong>iconv</strong></span>, используемого + для кодирования символов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pl2pm" name="pl2pm"></a><span class= + "term"><span class= + "command"><strong>pl2pm</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент для грубого конвертирования файлов + <code class="filename">.pl</code> Perl4 в модули + <code class="filename">.pm</code> Perl5 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pod2html" name="pod2html"></a><span class= + "term"><span class= + "command"><strong>pod2html</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует файлы из формата pod в формат HTML + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pod2man" name="pod2man"></a><span class= + "term"><span class= + "command"><strong>pod2man</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует данные pod в форматированный входной поток + для *roff + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pod2text" name="pod2text"></a><span class= + "term"><span class= + "command"><strong>pod2text</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует данные pod в форматированный текст ASCII + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pod2usage" name="pod2usage"></a><span class= + "term"><span class= + "command"><strong>pod2usage</strong></span></span> + </p> + </td> + <td> + <p> + Печатает в файл сообщения usage из встроенных документов + pod + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="podchecker" name="podchecker"></a><span class= + "term"><span class= + "command"><strong>podchecker</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет синтаксис файлов документации формата pod + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="podselect" name="podselect"></a><span class= + "term"><span class= + "command"><strong>podselect</strong></span></span> + </p> + </td> + <td> + <p> + Отображает выбранные разделы документации pod + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="prove" name="prove"></a><span class= + "term"><span class= + "command"><strong>prove</strong></span></span> + </p> + </td> + <td> + <p> + Инструмент командной строки для выполнения тестов с + помощью модуля Test::Harness + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ptar" name="ptar"></a><span class= + "term"><span class= + "command"><strong>ptar</strong></span></span> + </p> + </td> + <td> + <p> + Программа, похожая на <span class= + "command"><strong>tar</strong></span>, написанная на Perl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ptardiff" name="ptardiff"></a><span class= + "term"><span class= + "command"><strong>ptardiff</strong></span></span> + </p> + </td> + <td> + <p> + Программа на Perl для сравнения распакованного и + нераспакованного архивов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ptargrep" name="ptargrep"></a><span class= + "term"><span class= + "command"><strong>ptargrep</strong></span></span> + </p> + </td> + <td> + <p> + Программа на Perl для текстового поиска по шаблону внутри + tar-архива + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="shasum" name="shasum"></a><span class= + "term"><span class= + "command"><strong>shasum</strong></span></span> + </p> + </td> + <td> + <p> + Печатает или проверяет контрольные суммы SHA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="splain" name="splain"></a><span class= + "term"><span class= + "command"><strong>splain</strong></span></span> + </p> + </td> + <td> + <p> + Включает подробные предупреждения для диагностики в Perl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xsubpp" name="xsubpp"></a><span class= + "term"><span class= + "command"><strong>xsubpp</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует код Perl XS в код C + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zipdetails" name="zipdetails"></a><span class= + "term"><span class= + "command"><strong>zipdetails</strong></span></span> + </p> + </td> + <td> + <p> + Отображает сведения о внутренней структуре Zip-файла + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="less.html" title="Less-643">Пред.</a> + <p> + Less-643 + </p> + </li> + <li class="next"> + <a accesskey="n" href="xml-parser.html" title= + "XML::Parser-2.46">След.</a> + <p> + XML::Parser-2.46 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/pkgconf.html b/lfs-12.0-sysv/chapter08/pkgconf.html new file mode 100644 index 0000000..8d02151 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/pkgconf.html @@ -0,0 +1,204 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.28. Pkgconf-2.0.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="gcc.html" title="GCC-13.2.0">Пред.</a> + <p> + GCC-13.2.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="ncurses.html" title="Ncurses-6.4">След.</a> + <p> + Ncurses-6.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-pkgconf" name="ch-system-pkgconf"></a>8.28. + Pkgconf-2.0.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет pkgconf является преемником pkg-config и содержит инструмент, + который позволяет передавать пути установки или пути к библиотекам + для инструментов сборки на этапе настройки (configure) и + сборки(make) пакетов. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">4.6 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.28.1. Установка пакета Pkgconf + </h2> + <p> + Подготовьте Pkgconf к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/pkgconf-2.0.1</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Для обеспечения совместимости с исходным Pkg-config, создайте две + символические ссылки: + </p> + <pre class="userinput"><kbd class= + "command">ln -sv pkgconf /usr/bin/pkg-config +ln -sv pkgconf.1 /usr/share/man/man1/pkg-config.1</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-pkgconf" name="contents-pkgconf"></a>8.28.2. + Содержимое пакета Pkgconf + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">pkgconf, pkg-config (ссылка на pkgconf) и + bomtool</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libpkgconf.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/pkgconf-2.0.1</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="pkgconf" name="pkgconf"></a><span class= + "term"><span class= + "command"><strong>pkgconf</strong></span></span> + </p> + </td> + <td> + <p> + Возвращает метаданные указанной библиотеки или пакета + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="bomtool" name="bomtool"></a><span class= + "term"><span class= + "command"><strong>bomtool</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует спецификацию программного обеспечения из + файлов pkg-config с расширением .pc + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libpkgconf" name="libpkgconf"></a><span class= + "term"><code class="filename">libpkgconf</code></span> + </p> + </td> + <td> + <p> + Содержит большую часть функций pkgconf, позволяя другим + инструментам, таким как IDE и компиляторы, использовать + его фреймворки + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="gcc.html" title="GCC-13.2.0">Пред.</a> + <p> + GCC-13.2.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="ncurses.html" title="Ncurses-6.4">След.</a> + <p> + Ncurses-6.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/pkgmgt.html b/lfs-12.0-sysv/chapter08/pkgmgt.html new file mode 100644 index 0000000..63ac09d --- /dev/null +++ b/lfs-12.0-sysv/chapter08/pkgmgt.html @@ -0,0 +1,528 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.2. Управление пакетами + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="introduction.html" title= + "Введение">Пред.</a> + <p> + Введение + </p> + </li> + <li class="next"> + <a accesskey="n" href="man-pages.html" title= + "Man-pages-6.05.01">След.</a> + <p> + Man-pages-6.05.01 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="sect1" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-pkgmgt" name="ch-system-pkgmgt"></a>8.2. Управление + пакетами + </h1> + <p> + Управление пакетами — часто cпрашиваемое дополнение к книге LFS. + Менеджер пакетов позволяет отслеживать установку файлов, упрощая + удаление и обновление пакетов. Хороший менеджер пакетов также будет + обрабатывать конфигурационные файлы, чтобы сохранить пользовательские + настройки при переустановке или обновлении пакета. Прежде чем вы + начнете задаваться вопросом, НЕТ—в этом разделе не будет ни + говориться, ни рекомендоваться какой-либо конкретный менеджер + пакетов. Что он действительно предоставляет, так это обзор наиболее + популярных методов и того, как они работают. Идеальным менеджером + пакетов для вас может быть один из этих методов или комбинация двух и + более методов. В этом разделе кратко упоминаются проблемы, которые + могут возникнуть при обновлении пакетов. + </p> + <p> + Некоторые причины, по которым менеджер пакетов не упоминается в LFS + или BLFS представлены ниже: + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + Рассмотрение управления пакетами отвлекает внимание от целей + этих книг—обучения тому, как строится система Linux. + </p> + </li> + <li class="listitem"> + <p> + Существует множество решений для управления пакетами, каждое из + которых имеет свои сильные и слабые стороны. Трудно найти + такое, которое удовлетворит всех. + </p> + </li> + </ul> + </div> + <p> + Есть несколько советов, написанных на тему управления пакетами. + Посетите проект <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/hints/downloads/files/">Советы</a> + возможно вы найдете решение, которое соответствует вашим + потребностям. + </p> + <div class="sect2" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="pkgmgmt-upgrade-issues" name= + "pkgmgmt-upgrade-issues"></a>8.2.1. Проблемы с обновлением + </h2> + <p> + Менеджер пакетов упрощает обновление до более новых версий после их + выпуска. Как правило, инструкции в книгах LFS и BLFS можно + использовать для обновления до более новых версий. Вот некоторые + моменты, о которых следует помнить при обновлении пакетов, особенно + в работающей системе. + </p> + <div class="itemizedlist"> + <ul> + <li class="listitem"> + <p> + Если нужно обновить ядро Linux (например, с 5.10.17 до + 5.10.18 или 5.11.1), дополнительно пересобирать ничего не + нужно. Система продолжит нормально работать благодаря четко + определенной границе между ядром и пользовательским + пространством. В частности, заголовки Linux API не нужно (и + не следует, см. следующий пункт) обновлять вместе с ядром. + Вам просто нужно перезагрузить систему, чтобы использовать + обновленное ядро. + </p> + </li> + <li class="listitem"> + <p> + Если необходимо обновить заголовочные файлы Linux API или + Glibc до более новой версии (например, с Glibc-2.31 до + Glibc-2.32), безопаснее заново собрать LFS. Хотя вы + <span class="emphasis"><em>можете</em></span> пересобрать все + пакеты с их зависимостями, мы не рекомендуем этого делать. + </p> + </li> + <li class="listitem"> + <p> + Если пакет, содержащий общую библиотеку, обновляется и имя + библиотеки изменилось, то любые пакеты, динамически связанные + с библиотекой, необходимо перекомпилировать, чтобы связать с + более новой библиотекой. (Обратите внимание, что между + версией пакета и именем библиотеки нет никакой связи.) + Например, рассмотрим пакет foo-1.2.3, который устанавливает + общую библиотеку с именем <code class= + "filename">libfoo.so.1</code>. Предположим, вы обновили пакет + до более новой версии foo-1.2.4, которая устанавливает общую + библиотеку с именем <code class= + "filename">libfoo.so.2</code>, все пакеты, которые + динамически связаны с <code class= + "filename">libfoo.so.1</code>, должны быть перекомпилированы + для связи с <code class="filename">libfoo.so.2</code>, чтобы + использовать новую версию библиотеки. Вы не должны удалять + старые библиотеки, пока все зависимые пакеты не будут + перекомпилированы. + </p> + </li> + <li class="listitem"> + <p> + Если пакет (прямо или косвенно) связан как со старым, так и с + новым именем общей библиотеки (например, пакет ссылается как + на <code class="filename">libfoo.so.2</code>, так и на + <code class="filename">libbar.so.1</code>, в то время как + последний ссылается на <code class= + "filename">libfoo.so.3</code>), пакет может работать + неправильно, поскольку разные версии общей библиотеки + содержат несовместимые определения для некоторых имен + символов. Это может быть вызвано перекомпиляцией некоторых, + но не всех, пакетов, связанных со старой общей библиотекой, + после обновления пакета, предоставляющего общую библиотеку. + Чтобы избежать этой проблемы, пользователям необходимо как + можно скорее пересобрать каждый пакет, связанный с общей + библиотекой, с обновленной версией (например, с libfoo.so.2 + на libfoo.so.3). + </p> + </li> + <li class="listitem"> + <p> + Если пакет, содержащий общую библиотеку, обновляется, а имя + библиотеки не меняется, но уменьшается номер версии + <span class="bold"><strong>файла</strong></span> библиотеки + (например, библиотека по-прежнему называется <code class= + "filename">libfoo.so.1</code>, но имя файла библиотеки + изменилось с <code class="filename">libfoo.so.1.25</code> на + <code class="filename">libfoo.so.1.24</code>), следует + удалить файл библиотеки ранее установленной версии (в данном + случае <code class="filename">libfoo.so.1.25</code>). В + противном случае, команда <span class= + "command"><strong>ldconfig</strong></span> (запущенная + самостоятельно с помощью командной строки или при установке + какого-либо пакета) приведёт к сбросу символической ссылки + <code class="filename">libfoo.so.1</code>, которая будет + указывать на старый файл библиотеки, потому что кажется, что + она имеет <span class="quote">«<span class="quote">более + новую</span>»</span> версию, поскольку её номер версии + больше. Такая ситуация может произойти, если вам нужно + понизить версию пакета или авторы изменили схему управления + версиями файлов библиотеки. + </p> + </li> + <li class="listitem"> + <p> + Если пакет, содержащий общую библиотеку, обновляется, а имя + библиотеки не меняется, но устраняется серьезная проблема + (особенно уязвимость в системе безопасности), необходимо + перезапустить все работающие программы, связанные с общей + библиотекой. Следующая команда, запущенная от имени + пользователя <code class="systemitem">root</code> после + завершения обновления, выведет список программ, которые + использует старые версии этих библиотек (замените <em class= + "replaceable"><code>libfoo</code></em> именем библиотеки): + </p> + <pre class="userinput"><kbd class="command">grep -l '<em class= + "replaceable"><code>libfoo</code></em>.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u</kbd></pre> + <p> + Если для доступа к системе используется <span class= + "application">OpenSSH</span> и он связан с обновленной + библиотекой, вам необходимо перезапустить службу <span class= + "command"><strong>sshd</strong></span>, затем выйти из + системы, снова войти в систему и повторно выполнить + предыдущую команду, чтобы убедиться, что удаленные библиотеки + более не используются. + </p> + </li> + <li class="listitem"> + <p> + Если исполняемая программа или библиотека перезаписаны, + процессы, использующие код или данные из них, могут + завершиться сбоем. Правильный способ обновить программу или + общую библиотеку, не вызывая сбоя процесса, - это сначала + удалить его, а затем установить новую версию. Команда + <span class="command"><strong>install</strong></span>, + предоставляемая <span class="application">Coreutils</span>, + уже реализовала это, и большинство пакетов используют ее для + установки двоичных файлов и библиотек. Это означает, что + большую часть времени вас не будет беспокоить эта проблема. + Однако процесс установки некоторых пакетов (в частности, + Mozilla JS в BLFS) просто перезаписывает файл, если он + существует, и вызывает сбой. Поэтому безопаснее сохранить + свою работу и закрыть ненужные запущенные программы перед + обновлением пакета. + </p> + </li> + </ul> + </div> + </div> + <div class="sect2" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.2.2. Методы управления пакетами + </h2> + <p> + Ниже приведены некоторые распространенные методы управления + пакетами. Прежде чем принять решение о менеджере пакетов, проведите + исследование различных методов, особенно недостатки каждой + конкретной схемы. + </p> + <div class="sect3"> + <h3 class="sect3"> + 8.2.2.1. Всё у меня в голове! + </h3> + <p> + Да, это метод управления пакетами. Некоторым людям не нужен + менеджер пакетов, потому что они хорошо знакомы с пакетами и + знают, какие файлы устанавливаются каждым пакетом. Некоторым + пользователям также не требуется какое-либо управление пакетами, + поскольку они планируют пересобирать всю систему при каждом + изменении пакета. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 8.2.2.2. Установка в отдельные каталоги + </h3> + <p> + Это упрощенный метод управления пакетами, для которого не + требуется специальная программа для управления. Каждый пакет + устанавливается в отдельный каталог. Например, пакет foo-1.1 + устанавливается в <code class="filename">/usr/pkg/foo-1.1</code>, + а символическая ссылка создается из <code class= + "filename">/usr/pkg/foo</code> в <code class= + "filename">/usr/pkg/foo-1.1</code>. Когда появляется новая версия + foo-1.2, она устанавливается в <code class= + "filename">/usr/pkg/foo-1.2</code> и предыдущая символическая + ссылка заменяется символической ссылкой на новую версию. + </p> + <p> + Переменные окружения, такие как <code class="envar">PATH</code>, + <code class="envar">LD_LIBRARY_PATH</code>, <code class= + "envar">MANPATH</code>, <code class="envar">INFOPATH</code> и + <code class="envar">CPPFLAGS</code> необходимо расширить, включив + каталог <code class="filename">/usr/pkg/foo</code>. Для большого + количества пакетов, такая схема становится неуправляемой. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 8.2.2.3. Управление пакетами с использованием символических + ссылок + </h3> + <p> + Это разновидность предыдущей техники.Каждый пакет устанавливается + аналогично, но вместо создания символической ссылки на общее имя + пакета, каждому файлу создаётся символическая ссылка в иерархии + каталогов <code class="filename">/usr</code>. Это исключает + необходимость модификации значений переменных окружения. Хотя + такие ссылки могут быть созданы пользователем, многие менеджеры + пакетов используют именной такой подход. Наиболее популярные из + них - Stow, Epkg, Graft и Depot. + </p> + <p> + Установку нужно сымитировать, чтобы пакет думал, что он + установлен в <code class="filename">/usr</code>, хотя на самом + деле он установлен в иерархии <code class= + "filename">/usr/pkg</code>. Установка таким способом обычно + является нетривиальной задачей. Например, предположим, что вы + устанавливаете пакет libfoo-1.1. Следующие инструкции могут + привести к неправильной установке пакета: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr/pkg/libfoo/1.1 +make +make install</kbd></pre> + <p> + Установка будет выполнена, но зависимые пакеты не смогут + ссылаться на libfoo. Если вы скомпилируете пакет, который + ссылается на libfoo, вы заметите, что он связан с <code class= + "filename">/usr/pkg/libfoo/1.1/lib/libfoo.so.1</code> вместо + <code class="filename">/usr/lib/libfoo.so.1</code>, как вы + ожидаете. Правильный подход заключается в использовании + переменной <code class="envar">DESTDIR</code> для управления + установкой. Этот подход работает следующим образом: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr +make +make DESTDIR=/usr/pkg/libfoo/1.1 install</kbd></pre> + <p> + Большинство пакетов поддерживают этот подход, но есть и такие, + которые этого не делают. Для несовместимых пакетов вам может + потребоваться либо установить пакет вручную, либо вы можете + установить проблемные пакеты в <code class= + "filename">/opt</code>. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 8.2.2.4. На основе временной метки + </h3> + <p> + В этом методе файлу присваивается временная метка перед + установкой пакета. После установки простое использование команды + <span class="command"><strong>find</strong></span> с + соответствующими параметрами может создать журнал всех файлов, + установленных после создания файла с временной метки. Менеджером + пакетов, использующим этот подход, является install-log. + </p> + <p> + Хотя преимущество этой схемы в том, что она проста, у нее есть + два недостатка. Если во время установки, файлы устанавливаются с + отметкой времени, отличной от текущего времени, эти файлы не + будут отслеживаться менеджером пакетов. Кроме того, эта схема + может использоваться только при установке пакетов по одному. + Журналы ненадежны, если два пакета устанавливаются одновременно + на двух разных консолях. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 8.2.2.5. Отслеживание сценариев установки + </h3> + <p> + При таком подходе, записываются команды, выполняемые сценариями + установки. Есть два метода, которые можно использовать: + </p> + <p> + Переменная среды <code class="envar">LD_PRELOAD</code> может быть + установлена так, чтобы она указывала на библиотеку, которую нужно + предварительно загрузить перед установкой. Во время установки эта + библиотека отслеживает устанавливаемые пакеты, присоединяясь к + различным исполняемым файлам, таким как <span class= + "command"><strong>cp</strong></span>, <span class= + "command"><strong>install</strong></span>, <span class= + "command"><strong>mv</strong></span>, и отслеживая системные + вызовы, изменяющие файловую систему. Чтобы этот подход работал, + все исполняемые файлы должны быть динамически связаны без битов + suid или sgid. Предварительная загрузка библиотеки может вызвать + некоторые нежелательные побочные эффекты во время установки. + Поэтому рекомендуется выполнить некоторые тесты, чтобы убедиться, + что менеджер пакетов ничего не сломает и что он регистрирует все + соответствующие файлы. + </p> + <p> + Другой метод заключается в использовании <span class= + "command"><strong>strace</strong></span>, который регистрирует + все системные вызовы, сделанные во время выполнения сценариев + установки. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 8.2.2.6. Создание архивов пакетов + </h3> + <p> + В этой схеме установка пакета имитируется в отдельном дереве, как + описано ранее в разделе управление пакетами с использованием + символических ссылок. После установки из установленных файлов + создается архив пакета. Затем этот архив используется для + установки пакета на локальный компьютер или даже на другие + компьютеры. + </p> + <p> + Этот подход используется большинством менеджеров пакетов, + имеющихся в коммерческих дистрибутивах. Примерами менеджеров + пакетов, которые следуют этому подходу, являются RPM (который, + кстати, требуется согласно спецификации <a class="ulink" href= + "https://refspecs.linuxfoundation.org/lsb.shtml">Linux Standard + Base Specification</a>), pkg-utils, apt Debian и система Portage + Gentoo. Описание того, как использовать этот стиль управления + пакетами для систем LFS, находится по адресу <a class="ulink" + href= + "https://mirror.linuxfromscratch.ru/hints/downloads/files/fakeroot.txt"> + https://mirror.linuxfromscratch.ru/hints/downloads/files/fakeroot.txt</a>. + </p> + <p> + Создание файлов пакетов, содержащих информацию о зависимостях, + является сложной задачей и выходит за рамки LFS. + </p> + <p> + Slackware использует систему на основе <span class= + "command"><strong>tar</strong></span> для архивов пакетов. Эта + система намеренно не обрабатывает зависимости пакетов, как это + делают более сложные менеджеры пакетов. Подробнее об управлении + пакетами Slackware см. <a class="ulink" href= + "https://www.slackbook.org/html/package-management.html">https://www.slackbook.org/html/package-management.html</a>. + </p> + </div> + <div class="sect3"> + <h3 class="sect3"> + 8.2.2.7. Пользовательское управление пакетами + </h3> + <p> + Эта схема, уникальная для LFS, была разработана Маттиасом + Бенкманом и доступна в проекте <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/hints/downloads/files/">Hints</a>. + В этой схеме каждый пакет устанавливается отдельным пользователем + в стандартные папки. Файлы, принадлежащие пакету, легко + идентифицируются путем проверки идентификатора пользователя. + Особенности и недостатки этого подхода слишком сложны, чтобы + описывать их в этом разделе. Для получения более подробной + информации, пожалуйста, ознакомьтесь с советами по адресу + <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/hints/downloads/files/more_control_and_pkg_man.txt"> + https://mirror.linuxfromscratch.ru/hints/downloads/files/more_control_and_pkg_man.txt</a>. + </p> + </div> + </div> + <div class="sect2" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.2.3. Развертывание LFS на нескольких системах + </h2> + <p> + Одним из преимуществ системы LFS является отсутствие файлов, + зависящих от положения файлов на диске. Клонировать сборку LFS на + другой компьютер с той же архитектурой, что и у базовой системы, + так же просто, как использовать <span class= + "command"><strong>tar</strong></span> для архивации раздела LFS, + содержащем корневой каталог (около 900 МБ в несжатом виде для + базовой сборки LFS), скопировать этот файл по сети или с помощью CD + / USB носителя в новую систему и распаковать его. После этого + необходимо изменить несколько конфигурационных файлов. Файлы, + которые, возможно, потребуется изменить представлены в списке ниже: + <code class="filename">/etc/hosts</code>, <code class= + "filename">/etc/fstab</code>, <code class= + "filename">/etc/passwd</code>, <code class= + "filename">/etc/group</code>, <span class="phrase"><code class= + "filename">/etc/shadow</code>, <code class= + "filename">/etc/ld.so.conf</code>, <code class= + "filename">/etc/sysconfig/rc.site</code>, <code class= + "filename">/etc/sysconfig/network</code>, и <code class= + "filename">/etc/sysconfig/ifconfig.eth0</code>.</span> + </p> + <p> + Возможно, потребуется собрать собственное ядро для новой системы в + зависимости от различий в системном оборудовании и исходной + конфигурации ядра. + </p> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Поступали некоторые сообщения о проблемах при копировании между + похожими, но не идентичными архитектурами. Например, набор + инструкций для Intel не идентичен набору инструкций для + процессора AMD, и более поздние версии некоторых процессоров + могут содержать инструкции, недоступные в более ранних версиях. + </p> + </div> + <p> + Наконец, новую систему необходимо сделать загрузочной так, как это + описано в <a class="xref" href="../chapter10/grub.html" title= + "10.4. Использование GRUB для настройки процесса загрузки">Раздел 10.4, + «Использование GRUB для настройки процесса загрузки»</a>. + </p> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="introduction.html" title= + "Введение">Пред.</a> + <p> + Введение + </p> + </li> + <li class="next"> + <a accesskey="n" href="man-pages.html" title= + "Man-pages-6.05.01">След.</a> + <p> + Man-pages-6.05.01 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/procps-ng.html b/lfs-12.0-sysv/chapter08/procps-ng.html new file mode 100644 index 0000000..bd4f75f --- /dev/null +++ b/lfs-12.0-sysv/chapter08/procps-ng.html @@ -0,0 +1,412 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.76. Procps-ng-4.0.3 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="man-db.html" title="Man-DB-2.11.2">Пред.</a> + <p> + Man-DB-2.11.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="util-linux.html" title= + "Util-linux-2.39.1">След.</a> + <p> + Util-linux-2.39.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-procps" name="ch-system-procps"></a>8.76. + Procps-ng-4.0.3 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Procps-ng содержит программы для мониторинга процессов. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">25 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.76.1. Установка пакета Procps-ng + </h2> + <p> + Подготовьте Procps-ng к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --docdir=/usr/share/doc/procps-ng-4.0.3 \ + --disable-static \ + --disable-kill</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра configure:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--disable-kill</code></em></span> + </dt> + <dd> + <p> + Этот параметр отключает сборку команды <span class= + "command"><strong>kill</strong></span>; она будет установлена + из пакета Util-linux. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы запустить набор тестов, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-procps" name="contents-procps"></a>8.76.2. + Содержимое пакета Procps-ng + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">free, pgrep, pidof, pkill, pmap, ps, + pwdx, slabtop, sysctl, tload, top, uptime, vmstat, w и + watch</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libproc-2.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/procps и + /usr/share/doc/procps-ng-4.0.3</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="free" name="free"></a><span class= + "term"><span class= + "command"><strong>free</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает объем свободной и используемой памяти (как + физической, так и файла подкачки) в системе. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pgrep" name="pgrep"></a><span class= + "term"><span class= + "command"><strong>pgrep</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет поиск процессов на основе их имени и других + атрибутов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pidof" name="pidof"></a><span class= + "term"><span class= + "command"><strong>pidof</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает PIDы указанных программ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pkill" name="pkill"></a><span class= + "term"><span class= + "command"><strong>pkill</strong></span></span> + </p> + </td> + <td> + <p> + Отправка сигналов процессам на основе их имени и других + атрибутов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pmap" name="pmap"></a><span class= + "term"><span class= + "command"><strong>pmap</strong></span></span> + </p> + </td> + <td> + <p> + Команда выводит детальную информацию об использование + оперативной памяти процессами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ps" name="ps"></a><span class="term"><span class= + "command"><strong>ps</strong></span></span> + </p> + </td> + <td> + <p> + Список запущенных процессов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pwdx" name="pwdx"></a><span class= + "term"><span class= + "command"><strong>pwdx</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает текущий рабочий каталог процесса + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="slabtop" name="slabtop"></a><span class= + "term"><span class= + "command"><strong>slabtop</strong></span></span> + </p> + </td> + <td> + <p> + Отображает подробную информацию о кэш-памяти ядра в + режиме реального времени. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sysctl" name="sysctl"></a><span class= + "term"><span class= + "command"><strong>sysctl</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет параметры ядра во время выполнения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tload" name="tload"></a><span class= + "term"><span class= + "command"><strong>tload</strong></span></span> + </p> + </td> + <td> + <p> + Выводит график текущей средней загрузки системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="top" name="top"></a><span class= + "term"><span class="command"><strong>top</strong></span></span> + </p> + </td> + <td> + <p> + Отображает список процессов, наиболее интенсивно + использующих ЦП; обеспечивает просмотр активности + процессора в режиме реального времени + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uptime" name="uptime"></a><span class= + "term"><span class= + "command"><strong>uptime</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает сколько времени работает система, сколько + пользователей вошли в систему и средние значения загрузки + системы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vmstat" name="vmstat"></a><span class= + "term"><span class= + "command"><strong>vmstat</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает статистику виртуальной памяти, содержащую + информацию о процессах, памяти, подкачке, блочном + вводе/выводе (IO), прерываниях и активности ЦП. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="w" name="w"></a><span class="term"><span class= + "command"><strong>w</strong></span></span> + </p> + </td> + <td> + <p> + Показывает, какие пользователи в настоящее время вошли в + систему и с какого момента + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="watch" name="watch"></a><span class= + "term"><span class= + "command"><strong>watch</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет заданную команду повторно, отображая первый + экран, заполненный ее выводом; это позволяет пользователю + наблюдать за изменениями с течением времени + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libproc-2" name="libproc-2"></a><span class= + "term"><code class="filename">libproc-2</code></span> + </p> + </td> + <td> + <p> + Содержит функции, используемые большинством программ в + этом пакете. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="man-db.html" title="Man-DB-2.11.2">Пред.</a> + <p> + Man-DB-2.11.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="util-linux.html" title= + "Util-linux-2.39.1">След.</a> + <p> + Util-linux-2.39.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/psmisc.html b/lfs-12.0-sysv/chapter08/psmisc.html new file mode 100644 index 0000000..518d2db --- /dev/null +++ b/lfs-12.0-sysv/chapter08/psmisc.html @@ -0,0 +1,248 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.31. Psmisc-23.6 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="sed.html" title="Sed-4.9">Пред.</a> + <p> + Sed-4.9 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gettext.html" title="Gettext-0.22">След.</a> + <p> + Gettext-0.22 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-psmisc" name="ch-system-psmisc"></a>8.31. + Psmisc-23.6 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Psmisc содержит программы для отображения информации о + запущенных процессах. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">6.6 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.31.1. Установка пакета Psmisc + </h2> + <p> + Подготовьте Psmisc к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-psmisc" name="contents-psmisc"></a>8.31.2. + Содержимое пакета Psmisc + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">fuser, killall, peekfd, prtstat, pslog, + pstree и pstree.x11 (ссылка на pstree)</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="fuser" name="fuser"></a><span class= + "term"><span class= + "command"><strong>fuser</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает идентификаторы процессов (PID), которые + используют данные файлы или файловые системы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="killall" name="killall"></a><span class= + "term"><span class= + "command"><strong>killall</strong></span></span> + </p> + </td> + <td> + <p> + Уничтожает процессы по имени; посылает сигнал всем + процессам, выполняющим любую из заданных команд + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="peekfd" name="peekfd"></a><span class= + "term"><span class= + "command"><strong>peekfd</strong></span></span> + </p> + </td> + <td> + <p> + Просмотривает файловые дескрипторы запущенного процесса с + учетом его PID + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="prtstat" name="prtstat"></a><span class= + "term"><span class= + "command"><strong>prtstat</strong></span></span> + </p> + </td> + <td> + <p> + Выводит информацию о процессе + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pslog" name="pslog"></a><span class= + "term"><span class= + "command"><strong>pslog</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает текущий путь к журналам процесса + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pstree" name="pstree"></a><span class= + "term"><span class= + "command"><strong>pstree</strong></span></span> + </p> + </td> + <td> + <p> + Отображает запущенные процессы в виде дерева + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pstree.x11" name="pstree.x11"></a><span class= + "term"><span class= + "command"><strong>pstree.x11</strong></span></span> + </p> + </td> + <td> + <p> + То же, что и <span class= + "command"><strong>pstree</strong></span>, за исключением + того, что он ожидает подтверждения перед выходом. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="sed.html" title="Sed-4.9">Пред.</a> + <p> + Sed-4.9 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gettext.html" title="Gettext-0.22">След.</a> + <p> + Gettext-0.22 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/readline.html b/lfs-12.0-sysv/chapter08/readline.html new file mode 100644 index 0000000..84f6061 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/readline.html @@ -0,0 +1,238 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.11. Readline-8.2 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="file.html" title="File-5.45">Пред.</a> + <p> + File-5.45 + </p> + </li> + <li class="next"> + <a accesskey="n" href="m4.html" title="M4-1.4.19">След.</a> + <p> + M4-1.4.19 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-readline" name="ch-system-readline"></a>8.11. + Readline-8.2 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Readline представляет собой набор библиотек, предлагающих + возможности редактирования прямо в командной строке и просмотра + истории команд. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">16 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.11.1. Установка пакета Readline + </h2> + <p> + Переустановка пакета Readline приводит к перемещению старых + библиотек в <libraryname>.old. Обычно это не вызывает + проблем, но в некоторых случаях могут возникать ошибки линковки с + <span class="command"><strong>ldconfig</strong></span>. Этого можно + избежать, выполнив следующие две команды sed: + </p> + <pre class="userinput"><kbd class= + "command">sed -i '/MV.*old/d' Makefile.in +sed -i '/{OLDSUFF}/c:' support/shlib-install</kbd></pre> + <p> + Теперь устраните проблему, выявленную разработчиками: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../readline-8.2-upstream_fix-1.patch</kbd></pre> + <p> + Подготовьте Readline к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --with-curses \ + --docdir=/usr/share/doc/readline-8.2</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение нового параметра configure:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-curses</code></em></span> + </dt> + <dd> + <p> + Этот параметр сообщает Readline, что он может найти функции + библиотеки termcap в библиотеке curses, а не в отдельной + библиотеке termcap. Это позволит сгенерировать корректный + файл <code class="filename">readline.pc</code>. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class= + "command">make SHLIB_LIBS="-lncursesw"</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра make:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>SHLIB_LIBS="-lncursesw"</code></em></span> + </dt> + <dd> + <p> + Этот параметр принудительно линкует Readline с библиотекой + <code class="filename">libncursesw</code>. + </p> + </dd> + </dl> + </div> + <p> + С этим пакетом не поставляется набор тестов. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make SHLIB_LIBS="-lncursesw" install</kbd></pre> + <p> + По желанию установите документацию: + </p> + <pre class="userinput"><kbd class= + "command">install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-8.2</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-readline" name="contents-readline"></a>8.11.2. + Содержимое пакета Readline + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libhistory.so и libreadline.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/readline и + /usr/share/doc/readline-8.2</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libhistory" name="libhistory"></a><span class= + "term"><code class="filename">libhistory</code></span> + </p> + </td> + <td> + <p> + Обеспечивает согласованный пользовательский интерфейс для + вызова строк из истории + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libreadline" name="libreadline"></a><span class= + "term"><code class="filename">libreadline</code></span> + </p> + </td> + <td> + <p> + Предоставляет набор команд для управления текстом, + введенным в интерактивном сеансе программы. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="file.html" title="File-5.45">Пред.</a> + <p> + File-5.45 + </p> + </li> + <li class="next"> + <a accesskey="n" href="m4.html" title="M4-1.4.19">След.</a> + <p> + M4-1.4.19 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/sed.html b/lfs-12.0-sysv/chapter08/sed.html new file mode 100644 index 0000000..7c711d8 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/sed.html @@ -0,0 +1,163 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.30. Sed-4.9 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="ncurses.html" title="Ncurses-6.4">Пред.</a> + <p> + Ncurses-6.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="psmisc.html" title="Psmisc-23.6">След.</a> + <p> + Psmisc-23.6 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-sed" name="ch-system-sed"></a>8.30. Sed-4.9 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Sed содержит потоковый редактор текста + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">30 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.30.1. Установка пакета Sed + </h2> + <p> + Подготовьте Sed к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет и сгенерируйте HTML-документацию: + </p> + <pre class="userinput"><kbd class="command">make +make html</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">chown -Rv tester . +su tester -c "PATH=$PATH make check"</kbd></pre> + <p> + Установите пакет и документацию к нему: + </p> + <pre class="userinput"><kbd class="command">make install +install -d -m755 /usr/share/doc/sed-4.9 +install -m644 doc/sed.html /usr/share/doc/sed-4.9</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-sed" name="contents-sed"></a>8.30.2. Содержимое + пакета Sed + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">sed</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/sed-4.9</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="sed" name="sed"></a><span class= + "term"><span class="command"><strong>sed</strong></span></span> + </p> + </td> + <td> + <p> + Фильтрует и преобразует текстовые файлы за один проход + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="ncurses.html" title="Ncurses-6.4">Пред.</a> + <p> + Ncurses-6.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="psmisc.html" title="Psmisc-23.6">След.</a> + <p> + Psmisc-23.6 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/shadow.html b/lfs-12.0-sysv/chapter08/shadow.html new file mode 100644 index 0000000..9659b0f --- /dev/null +++ b/lfs-12.0-sysv/chapter08/shadow.html @@ -0,0 +1,945 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.26. Shadow-4.13 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="libxcrypt.html" title= + "Libxcrypt-4.4.36">Пред.</a> + <p> + Libxcrypt-4.4.36 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gcc.html" title="GCC-13.2.0">След.</a> + <p> + GCC-13.2.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-shadow" name="ch-system-shadow"></a>8.26. + Shadow-4.13 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Shadow содержит программы для безопасной обработки паролей. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">46 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.26.1. Установка пакета Shadow + </h2> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Если вы хотите принудительно использовать надежные пароли, + обратитесь к инструкции <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0/postlfs/cracklib.html"> + https://mirror.linuxfromscratch.ru/blfs/view/12.0/postlfs/cracklib.html</a> + для установки CrackLib перед сборкой. Затем добавьте параметр + <em class="parameter"><code>--with-libcrack</code></em> в + приведенную ниже команду <span class= + "command"><strong>configure</strong></span>. + </p> + </div> + <p> + Отключите установку <span class= + "command"><strong>groups</strong></span> и ее справочных страниц, + так как Coreutils предоставляет версию лучше. Кроме того, запретите + установку страниц руководств, так как они были установлены в + <a class="xref" href="man-pages.html" title= + "8.3. Man-pages-6.05.01">Раздел 8.3, «Man-pages-6.05.01»</a>: + </p> + <pre class="userinput"><kbd class= + "command">sed -i 's/groups$(EXEEXT) //' src/Makefile.in +find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; +find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; +find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</kbd></pre> + <p> + <a id="shadow-login_defs" name="shadow-login_defs"></a>Вместо + используемого по умолчанию метода <span class= + "emphasis"><em>crypt</em></span>, используйте более безопасный + метод шифрования паролей <span class= + "emphasis"><em>YESCRYPT</em></span>, который также позволяет + использовать пароли длиннее 8 символов. Также необходимо изменить + устаревшее местоположение для почтовых ящиков пользователей + <code class="filename">/var/spool/mail</code>, которое Shadow + использует по умолчанию, на используемое в настоящее время + <code class="filename">/var/mail</code>. И удалите <code class= + "filename">/bin</code> и <code class="filename">/sbin</code> из + <code class="envar">PATH</code>, поскольку они являются просто + символическими ссылками на их аналоги в <code class= + "filename">/usr</code>. + </p> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Если вы по какой-либо причине хотите включить <code class= + "filename">/bin</code> и/или <code class="filename">/sbin</code> + в <code class="envar">PATH</code>, измените <code class= + "envar">PATH</code> в файле <code class="filename">.bashrc</code> + после сборки LFS. + </p> + </div> + <pre class="userinput"><kbd class= + "command">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \ + -e 's:/var/spool/mail:/var/mail:' \ + -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ + -i etc/login.defs</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Если вы решили собрать Shadow с поддержкой Cracklib, выполните + эту команду: + </p> + <pre class="userinput"><kbd class= + "command">sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</kbd></pre> + </div> + <p> + Подготовьте Shadow к компиляции: + </p> + <pre class="userinput"><kbd class="command">touch /usr/bin/passwd +./configure --sysconfdir=/etc \ + --disable-static \ + --with-{b,yes}crypt \ + --with-group-name-max-length=32</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение новых параметров конфигурации:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><span class="command"><strong>touch + /usr/bin/passwd</strong></span></span> + </dt> + <dd> + <p> + Файл <code class="filename">/usr/bin/passwd</code> должен + существовать, потому что его местоположение жестко задано в + некоторых программах; если он не существует, скрипт установки + создаст его не в том месте. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-{b,yes}crypt</code></em></span> + </dt> + <dd> + <p> + Оболочка расширяет это значение до двух параметров: + <em class="parameter"><code>--with-bcrypt</code></em> и + <em class="parameter"><code>--with-yescrypt</code></em>. Они + позволяют Shadow использовать алгоритмы Bcrypt и Yescrypt, + реализованные в <span class="application">Libxcrypt</span>, + для хеширования паролей. Эти алгоритмы более безопасны (в + частности, гораздо более устойчивы к атакам с использованием + графических процессоров), чем традиционные алгоритмы SHA. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-group-name-max-length=32</code></em></span> + </dt> + <dd> + <p> + Максимально допустимая длина имени пользователя составляет 32 + символа. Сделайте такую же длину для названия группы. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + С этим пакетом не поставляется набор тестов. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make exec_prefix=/usr install +make -C man install-man</kbd></pre> + </div> + <div class="configuration" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="conf-shadow" name="conf-shadow"></a>8.26.2. Настройка Shadow + </h2> + <p> + Этот пакет содержит утилиты для добавления, изменения и удаления + пользователей и групп; установки и изменения их паролей; и + выполнения других задач администрирования. Полное объяснение того, + что означает <span class="emphasis"><em>password + shadowing</em></span>, см. в файле doc/HOWTO в дереве распакованных + исходных текстов. При использовании Shadow имейте в виду, что + программы, которым необходимо проверять пароли (дисплейные + менеджеры, FTP-программы, демоны pop3 и т.д.), должны быть + совместимы с Shadow. То есть они должны уметь работать с теневыми + паролями. + </p> + <p> + Чтобы включить поддержку теневых паролей, выполните следующую + команду:: + </p> + <pre class="userinput"><kbd class="command">pwconv</kbd></pre> + <p> + Чтобы включить использование теневых паролей для групп, запустите: + </p> + <pre class="userinput"><kbd class="command">grpconv</kbd></pre> + <p> + Конфигурация Shadow по умолчанию для утилиты <span class= + "command"><strong>useradd</strong></span> имеет несколько + особенностей, требующих пояснения. Во-первых, по умолчанию утилита + <span class="command"><strong>useradd</strong></span> создает + пользователя и группу с тем же названием, что и имя пользователя. + По умолчанию, идентификатора пользователя (UID) и идентификатора + группы (GID) начинаются с 1000. Это означает, что если вы не + передадите дополнительные параметры в <span class= + "command"><strong>useradd</strong></span>, каждый пользователь + будет членом уникальной группы в системе. Если такое поведение + нежелательно, вам нужно передать один из параметров <em class= + "parameter"><code>-g</code></em> или <em class= + "parameter"><code>-N</code></em> в <span class= + "command"><strong>useradd</strong></span> или изменить настройку + <em class="parameter"><code>USERGROUPS_ENAB</code></em> в файле + <code class="filename">/etc/login.defs</code>. Смотрите справочную + страницу <code class="filename">useradd(8)</code> для получения + дополнительной информации. + </p> + <p> + Во-вторых, чтобы изменить параметры по умолчанию, необходимо + создать файл <code class="filename">/etc/default/useradd</code> и + настроить его в соответствии с вашими потребностями. Создайте его: + </p> + <pre class="userinput"><kbd class="command">mkdir -p /etc/default +useradd -D --gid 999</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Пояснения к параметрам <code class= + "filename">/etc/default/useradd</code></strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>GROUP=999</code></em></span> + </dt> + <dd> + <p> + Этот параметр задает начальный номер группы, используемых в + файле <code class="filename">/etc/group</code>. Значение 999 + берется из приведенного выше параметра <em class= + "parameter"><code>--gid</code></em>. Вы можете установить + любое значение. Обратите внимание, что <span class= + "command"><strong>useradd</strong></span> никогда не будет + повторно использовать UID или GID. Если номер, указанный в + этом параметре, уже используется будет выбран следующий + доступный номер. Также обратите внимание, что если в вашей + системе нет группы с идентификатором, равным этому номеру, + при первом использовании <span class= + "command"><strong>useradd</strong></span> без параметра + <em class="parameter"><code>-g</code></em> — вы получите + следующее сообщение об ошибке: <code class= + "computeroutput">useradd: unknown GID 999</code>, даже если + учетная запись была создана правильно. Поэтому мы создали + группу <code class="systemitem">users</code> с этим + идентификатором в <a class="xref" href= + "../chapter07/createfiles.html" title= + "7.6. Создание основных файлов и символических ссылок">Раздел 7.6, + «Создание основных файлов и символических ссылок»</a>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>CREATE_MAIL_SPOOL=yes</code></em></span> + </dt> + <dd> + <p> + Этот параметр заставит утилиту <span class= + "command"><strong>useradd</strong></span> создавать файл + почтового ящика для каждого нового пользователя. <span class= + "command"><strong>useradd</strong></span> сделает этот файл + принадлежащим группе <code class="systemitem">mail</code> с + правами доступа 0660. Если вы предпочитаете, не создавать эти + файлы, выполните следующую команду: + </p> + <pre class="userinput"><kbd class= + "command">sed -i '/MAIL/s/yes/no/' /etc/default/useradd</kbd></pre> + </dd> + </dl> + </div> + </div> + <div class="configuration" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.26.3. Установка пароля пользователя root + </h2> + <p> + Придумайте пароль для <span class="emphasis"><em>root</em></span> и + установите командой: + </p> + <pre class="userinput"><kbd class="command">passwd root</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-shadow" name="contents-shadow"></a>8.26.4. + Содержимое пакета Shadow + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">chage, chfn, chgpasswd, chpasswd, chsh, + expiry, faillog, getsubids, gpasswd, groupadd, groupdel, + groupmems, groupmod, grpck, grpconv, grpunconv, lastlog, login, + logoutd, newgidmap, newgrp, newuidmap, newusers, nologin, + passwd, pwck, pwconv, pwunconv, sg (ссылка на newgrp), su, + useradd, userdel, usermod, vigr (ссылка на vipw) и vipw</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libsubid.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/etc/default и /usr/include/shadow</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="chage" name="chage"></a><span class= + "term"><span class= + "command"><strong>chage</strong></span></span> + </p> + </td> + <td> + <p> + Используется для изменения максимального количества дней + между обязательными сменами пароля + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chfn" name="chfn"></a><span class= + "term"><span class= + "command"><strong>chfn</strong></span></span> + </p> + </td> + <td> + <p> + Используется для изменения полного имени пользователя и + другой информации + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chgpasswd" name="chgpasswd"></a><span class= + "term"><span class= + "command"><strong>chgpasswd</strong></span></span> + </p> + </td> + <td> + <p> + Используется для обновления паролей групп в пакетном + режиме. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chpasswd" name="chpasswd"></a><span class= + "term"><span class= + "command"><strong>chpasswd</strong></span></span> + </p> + </td> + <td> + <p> + Используется для обновления паролей пользователей в + пакетном режиме. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chsh" name="chsh"></a><span class= + "term"><span class= + "command"><strong>chsh</strong></span></span> + </p> + </td> + <td> + <p> + Используется для изменения оболочки входа для + пользователя. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="expiry" name="expiry"></a><span class= + "term"><span class= + "command"><strong>expiry</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет и применяет текущую политику истечения срока + действия пароля + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="faillog" name="faillog"></a><span class= + "term"><span class= + "command"><strong>faillog</strong></span></span> + </p> + </td> + <td> + <p> + Используется для проверки журнала неудачных попыток входа + в систему, для установки максимального количества + неудачных попыток до блокировки учетной записи и для + сброса счетчика неудачных попыток. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getsubids" name="getsubids"></a><span class= + "term"><span class= + "command"><strong>getsubids</strong></span></span> + </p> + </td> + <td> + <p> + Используется для перечисления подчиненных диапазонов + идентификаторов для пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="gpasswd" name="gpasswd"></a><span class= + "term"><span class= + "command"><strong>gpasswd</strong></span></span> + </p> + </td> + <td> + <p> + Используется для добавления и удаления пользователей и + администраторов в группы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="groupadd" name="groupadd"></a><span class= + "term"><span class= + "command"><strong>groupadd</strong></span></span> + </p> + </td> + <td> + <p> + Создает группу с указанным именем + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="groupdel" name="groupdel"></a><span class= + "term"><span class= + "command"><strong>groupdel</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет группу с указанным именем + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="groupmems" name="groupmems"></a><span class= + "term"><span class= + "command"><strong>groupmems</strong></span></span> + </p> + </td> + <td> + <p> + Позволяет пользователю управлять своим собственным + списком членов группы без привилегий суперпользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="groupmod" name="groupmod"></a><span class= + "term"><span class= + "command"><strong>groupmod</strong></span></span> + </p> + </td> + <td> + <p> + Используется для изменения имени группы или GID + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grpck" name="grpck"></a><span class= + "term"><span class= + "command"><strong>grpck</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет целостность файлов групп <code class= + "filename">/etc/group</code> и <code class= + "filename">/etc/gshadow</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grpconv" name="grpconv"></a><span class= + "term"><span class= + "command"><strong>grpconv</strong></span></span> + </p> + </td> + <td> + <p> + Создает или изменяет файл теневых групп, используя для + этого обычный файл групп + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="grpunconv" name="grpunconv"></a><span class= + "term"><span class= + "command"><strong>grpunconv</strong></span></span> + </p> + </td> + <td> + <p> + Обновляет <code class="filename">/etc/group</code> из + <code class="filename">/etc/gshadow</code>, а затем + удаляет последний + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lastlog" name="lastlog"></a><span class= + "term"><span class= + "command"><strong>lastlog</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает о самом последнем входе в систему всех + пользователей или данного пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="login" name="login"></a><span class= + "term"><span class= + "command"><strong>login</strong></span></span> + </p> + </td> + <td> + <p> + Используется системой для того, чтобы пользователь мог + войти в систему + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="logoutd" name="logoutd"></a><span class= + "term"><span class= + "command"><strong>logoutd</strong></span></span> + </p> + </td> + <td> + <p> + Это демон, используемый для обеспечения соблюдения + ограничений на время входа в систему и порты + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="newgidmap" name="newgidmap"></a><span class= + "term"><span class= + "command"><strong>newgidmap</strong></span></span> + </p> + </td> + <td> + <p> + Используется для сопоставления gid пространства имен + пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="newgrp" name="newgrp"></a><span class= + "term"><span class= + "command"><strong>newgrp</strong></span></span> + </p> + </td> + <td> + <p> + Используется для изменения GID во время сеанса входа в + систему + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="newuidmap" name="newuidmap"></a><span class= + "term"><span class= + "command"><strong>newuidmap</strong></span></span> + </p> + </td> + <td> + <p> + Используется для сопоставления uid пространства имен + пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="newusers" name="newusers"></a><span class= + "term"><span class= + "command"><strong>newusers</strong></span></span> + </p> + </td> + <td> + <p> + Используется для создания или изменения + последовательности учетных записей + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nologin" name="nologin"></a><span class= + "term"><span class= + "command"><strong>nologin</strong></span></span> + </p> + </td> + <td> + <p> + Отображает сообщение о том, что учетная запись + недоступна; она предназначена для использования в + качестве оболочки по умолчанию для отключенных учетных + записей + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="passwd" name="passwd"></a><span class= + "term"><span class= + "command"><strong>passwd</strong></span></span> + </p> + </td> + <td> + <p> + Используется для изменения пароля для учетной записи + пользователя или группы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pwck" name="pwck"></a><span class= + "term"><span class= + "command"><strong>pwck</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет целостность файлов паролей <code class= + "filename">/etc/passwd</code> и <code class= + "filename">/etc/shadow</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pwconv" name="pwconv"></a><span class= + "term"><span class= + "command"><strong>pwconv</strong></span></span> + </p> + </td> + <td> + <p> + Создает или изменяет файл теневых паролей, используя для + этого обычный файл паролей + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pwunconv" name="pwunconv"></a><span class= + "term"><span class= + "command"><strong>pwunconv</strong></span></span> + </p> + </td> + <td> + <p> + Обновляет <code class="filename">/etc/passwd</code> из + <code class="filename">/etc/shadow</code> а затем удаляет + последний + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sg" name="sg"></a><span class="term"><span class= + "command"><strong>sg</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет указанную команду в случае, если у пользователя + идентификатор группы GID совпадает с идентификатором + указанной группы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="su" name="su"></a><span class="term"><span class= + "command"><strong>su</strong></span></span> + </p> + </td> + <td> + <p> + Запускает оболочку с заменой идентификаторов пользователя + и группы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="useradd" name="useradd"></a><span class= + "term"><span class= + "command"><strong>useradd</strong></span></span> + </p> + </td> + <td> + <p> + Создает нового пользователя с указанным именем, либо + изменяет информацию, задаваемую по умолчанию для нового + пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="userdel" name="userdel"></a><span class= + "term"><span class= + "command"><strong>userdel</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет учетную запись указанного пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="usermod" name="usermod"></a><span class= + "term"><span class= + "command"><strong>usermod</strong></span></span> + </p> + </td> + <td> + <p> + Используется для изменения имени пользователя, + идентификатора пользователя (UID), оболочки, группы, + домашнего каталога и т.д. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vigr" name="vigr"></a><span class= + "term"><span class= + "command"><strong>vigr</strong></span></span> + </p> + </td> + <td> + <p> + Редактирует файлы <code class= + "filename">/etc/group</code> или <code class= + "filename">/etc/gshadow</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vipw" name="vipw"></a><span class= + "term"><span class= + "command"><strong>vipw</strong></span></span> + </p> + </td> + <td> + <p> + Редактирует файлы <code class= + "filename">/etc/passwd</code> или <code class= + "filename">/etc/shadow</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libsubid" name="libsubid"></a><span class= + "term"><code class="filename">libsubid</code></span> + </p> + </td> + <td> + <p> + библиотека для обработки подчиненных диапазонов + идентификаторов пользователей и групп + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="libxcrypt.html" title= + "Libxcrypt-4.4.36">Пред.</a> + <p> + Libxcrypt-4.4.36 + </p> + </li> + <li class="next"> + <a accesskey="n" href="gcc.html" title="GCC-13.2.0">След.</a> + <p> + GCC-13.2.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/stripping.html b/lfs-12.0-sysv/chapter08/stripping.html new file mode 100644 index 0000000..f7beb74 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/stripping.html @@ -0,0 +1,223 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.82. Удаление отладочных символов + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="aboutdebug.html" title= + "Об отладочных символах">Пред.</a> + <p> + Об отладочных символах + </p> + </li> + <li class="next"> + <a accesskey="n" href="cleanup.html" title="Очистка">След.</a> + <p> + Очистка + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="sect1" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-stripping" name="ch-system-stripping"></a>8.82. + Удаление отладочных символов + </h1> + <p> + Этот раздел является необязательным. Если предполагаемый пользователь + не является программистом и не планирует выполнять какую-либо отладку + системного программного обеспечения, размер системы можно уменьшить + примерно на 2 ГБ, удалив отладочные символы и некоторые ненужные + записи таблицы символов из двоичных файлов и библиотек. Это не + вызывает никаких неудобств для обычного пользователя Linux. + </p> + <p> + Большинство людей, использующих приведенные ниже команды, не + испытывают никаких трудностей. Однако легко допустить опечатку и + сделать новую систему непригодной для использования. Поэтому перед + выполнением команды <span class= + "command"><strong>strip</strong></span> рекомендуется сделать + резервную копию системы LFS. + </p> + <p> + Команда <span class="command"><strong>strip</strong></span> с + параметром <em class="parameter"><code>--strip-unneeded</code></em> + удаляет все отладочные символы из двоичного файла или библиотеки. + Кроме этого, она удаляет все записи таблицы символов, ненужные + компоновщику (для статических библиотек) или динамическому + компоновщику (для динамически подключаемых двоичных файлов и общих + библиотек). + </p> + <p> + Отладочные символы для выбранных библиотек сохраняются в отдельных + файлах. Эта отладочная информация необходима при выполнении + регрессионных тестов, с помощью <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0//general/valgrind.html"> + valgrind</a> или <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0//general/gdb.html"> + gdb</a> в BLFS. + </p> + <p> + Обратите внимание, что команда <span class= + "command"><strong>strip</strong></span> перезапишет двоичный файл или + библиотеку, которую она обрабатывает. Это может привести к сбою + процессов, использующих код или данные из файла. Если это затронет + сам процесс, выполняющий <span class= + "command"><strong>strip</strong></span>, удаляемый двоичный файл или + библиотека могут быть уничтожены; это может сделать систему полностью + непригодной для использования. Чтобы избежать этого, мы скопируем + некоторые библиотеки и двоичные файлы в <code class= + "filename">/tmp</code>, очистим их и переустановим с помощью команды + <span class="command"><strong>install</strong></span>. Прочтите + статью <a class="xref" href="pkgmgt.html#pkgmgmt-upgrade-issues" + title="8.2.1. Проблемы с обновлением">Раздел 8.2.1, «Проблемы с + обновлением»</a>, чтобы понять, почему следует использовать команду + <span class="command"><strong>install</strong></span> здесь. + </p> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Имя загрузчика ELF — ld-linux-x86-64.so.2 в 64-битных системах. и + ld-linux.so.2 в 32-битных системах. Конструкция ниже выбирает + правильное имя для текущей архитектуры, исключая всё, что + заканчивается на <span class="quote">«<span class= + "quote">g</span>»</span>, если приведенные ниже команды уже были + выполнены. + </p> + </div> + <div class="admon important"> + <img alt="[Важно]" src="../images/important.png" /> + <h3> + Важно + </h3> + <p> + Если есть какой-либо пакет, версия которого отличается от версии, + указанной в книге (либо в соответствии с рекомендациями по + безопасности, либо в соответствии с личными предпочтениями), может + потребоваться обновить имя файла библиотеки в <code class= + "envar">save_usrlib</code> или <code class= + "envar">online_usrlib</code>. <span class="bold"><strong>В + противном случае система может стать полностью непригодной для + использования.</strong></span> + </p> + </div> + <pre class="userinput"><kbd class= + "command">save_usrlib="$(cd /usr/lib; ls ld-linux*[^g]) + libc.so.6 + libthread_db.so.1 + libquadmath.so.0.0.0 + libstdc++.so.6.0.32 + libitm.so.1.0.0 + libatomic.so.1.2.0" + +cd /usr/lib + +for LIB in $save_usrlib; do + objcopy --only-keep-debug $LIB $LIB.dbg + cp $LIB /tmp/$LIB + strip --strip-unneeded /tmp/$LIB + objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB + install -vm755 /tmp/$LIB /usr/lib + rm /tmp/$LIB +done + +online_usrbin="bash find strip" +online_usrlib="libbfd-2.41.so + libsframe.so.1.0.0 + libhistory.so.8.2 + libncursesw.so.6.4 + libm.so.6 + libreadline.so.8.2 + libz.so.1.2.13 + $(cd /usr/lib; find libnss*.so* -type f)" + +for BIN in $online_usrbin; do + cp /usr/bin/$BIN /tmp/$BIN + strip --strip-unneeded /tmp/$BIN + install -vm755 /tmp/$BIN /usr/bin + rm /tmp/$BIN +done + +for LIB in $online_usrlib; do + cp /usr/lib/$LIB /tmp/$LIB + strip --strip-unneeded /tmp/$LIB + install -vm755 /tmp/$LIB /usr/lib + rm /tmp/$LIB +done + +for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ + $(find /usr/lib -type f -name \*.a) \ + $(find /usr/{bin,sbin,libexec} -type f); do + case "$online_usrbin $online_usrlib $save_usrlib" in + *$(basename $i)* ) + ;; + * ) strip --strip-unneeded $i + ;; + esac +done + +unset BIN LIB save_usrlib online_usrbin online_usrlib +</kbd></pre> + <p> + Большое количество файлов будет помечено как ошибочные, потому что + формат файла не распознан. Эти предупреждения можно смело + игнорировать. Они указывают на то, что файлы являются скриптами, а не + двоичными файлами. + </p> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="aboutdebug.html" title= + "Об отладочных символах">Пред.</a> + <p> + Об отладочных символах + </p> + </li> + <li class="next"> + <a accesskey="n" href="cleanup.html" title="Очистка">След.</a> + <p> + Очистка + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/sysklogd.html b/lfs-12.0-sysv/chapter08/sysklogd.html new file mode 100644 index 0000000..a8a6ea1 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/sysklogd.html @@ -0,0 +1,208 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.79. Sysklogd-1.5.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="e2fsprogs.html" title= + "E2fsprogs-1.47.0">Пред.</a> + <p> + E2fsprogs-1.47.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="sysvinit.html" title= + "Sysvinit-3.07">След.</a> + <p> + Sysvinit-3.07 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-sysklogd" name="ch-system-sysklogd"></a>8.79. + Sysklogd-1.5.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Sysklogd содержит программы для логирования системных + сообщений, таких как сообщения ядра, когда происходят различные + события. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">680 KB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.79.1. Установка пакета Sysklogd + </h2> + <p> + Во-первых, устраните проблему, которая при некоторых условиях + вызывает в klogd ошибку сегментирования и исправьте устаревшую + программную конструкцию: + </p> + <pre class="userinput"><kbd class= + "command">sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c +sed -i 's/union wait/int/' syslogd.c</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Этот пакет не содержит набора тестов. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make BINDIR=/sbin install</kbd></pre> + </div> + <div class="configuration" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="conf-sysklogd" name="conf-sysklogd"></a>8.79.2. Настройка + Sysklogd + </h2> + <p> + Создайте новый файл <code class="filename">/etc/syslog.conf</code>, + выполнив следующую команду: + </p> + <pre class="userinput"><kbd class= + "command">cat > /etc/syslog.conf << "EOF" +<code class="literal"># Begin /etc/syslog.conf + +auth,authpriv.* -/var/log/auth.log +*.*;auth,authpriv.none -/var/log/sys.log +daemon.* -/var/log/daemon.log +kern.* -/var/log/kern.log +mail.* -/var/log/mail.log +user.* -/var/log/user.log +*.emerg * + +# End /etc/syslog.conf</code> +EOF</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-sysklogd" name="contents-sysklogd"></a>8.79.3. + Содержимое пакета Sysklogd + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">klogd и syslogd</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="klogd" name="klogd"></a><span class= + "term"><span class= + "command"><strong>klogd</strong></span></span> + </p> + </td> + <td> + <p> + Системный демон для перехвата и регистрации сообщений + ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="syslogd" name="syslogd"></a><span class= + "term"><span class= + "command"><strong>syslogd</strong></span></span> + </p> + </td> + <td> + <p> + Регистрирует сообщения системных программ для записи в + лог [Каждое регистрируемое сообщение содержит как минимум + время события, имя хоста, а также имя программы, но это + зависит от настроек службы логирования.] + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="e2fsprogs.html" title= + "E2fsprogs-1.47.0">Пред.</a> + <p> + E2fsprogs-1.47.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="sysvinit.html" title= + "Sysvinit-3.07">След.</a> + <p> + Sysvinit-3.07 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/sysvinit.html b/lfs-12.0-sysv/chapter08/sysvinit.html new file mode 100644 index 0000000..6f0d2e2 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/sysvinit.html @@ -0,0 +1,313 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.80. Sysvinit-3.07 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="sysklogd.html" title= + "Sysklogd-1.5.1">Пред.</a> + <p> + Sysklogd-1.5.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="aboutdebug.html" title= + "Об отладочных символах">След.</a> + <p> + Об отладочных символах + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-sysvinit" name="ch-system-sysvinit"></a>8.80. + Sysvinit-3.07 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Sysvinit содержит программы для управления загрузкой, + выполнением и выключением системы. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">4.5 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.80.1. Установка пакета Sysvinit + </h2> + <p> + Сначала примените патч, который удаляет несколько программ, + установленных другими пакетами и исправляет предупреждение + компилятора: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../sysvinit-3.07-consolidated-1.patch</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + С этим пакетом не поставляется набор тестов. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-sysvinit" name="contents-sysvinit"></a>8.80.2. + Содержимое пакета Sysvinit + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">bootlogd, fstab-decode, halt, init, + killall5, poweroff (ссылка на halt), reboot (ссылка на halt), + runlevel, shutdown и telinit (ссылка на init)</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="bootlogd" name="bootlogd"></a><span class= + "term"><span class= + "command"><strong>bootlogd</strong></span></span> + </p> + </td> + <td> + <p> + Логирует сообщения при загрузке системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fstab-decode" name="fstab-decode"></a><span class= + "term"><span class= + "command"><strong>fstab-decode</strong></span></span> + </p> + </td> + <td> + <p> + Запускает команду с аргументами, заданными в fstab + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="halt-sysv" name="halt-sysv"></a><span class= + "term"><span class= + "command"><strong>halt</strong></span></span> + </p> + </td> + <td> + <p> + Обычно вызывает команду <span class= + "command"><strong>shutdown</strong></span> с параметром + <em class="parameter"><code>-h</code></em>, за + исключением случаев, когда уровень запуска уже равен 0, + тогда он посылает ядру сигнал на остановку системы; Кроме + этого отмечает в файле <code class= + "filename">/var/log/wtmp</code>, что система завершает + работу + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="init-sysv" name="init-sysv"></a><span class= + "term"><span class= + "command"><strong>init</strong></span></span> + </p> + </td> + <td> + <p> + Первый процесс, который запускается после инициализации + оборудования; init берет на себя процесс загрузки и + запускает все процессы, которые указанны в его файле + конфигурации + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="killall5" name="killall5"></a><span class= + "term"><span class= + "command"><strong>killall5</strong></span></span> + </p> + </td> + <td> + <p> + Посылает сигнал всем процессам, за исключением процессов + в его собственном сеансе; он не завершит свою + родительскую оболочку + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="poweroff-sysv" name= + "poweroff-sysv"></a><span class="term"><span class= + "command"><strong>poweroff</strong></span></span> + </p> + </td> + <td> + <p> + Посылает ядру команду остановить систему и выключить + компьютер (смотрите команду <span class= + "command"><strong>halt</strong></span>) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="reboot-sysv" name="reboot-sysv"></a><span class= + "term"><span class= + "command"><strong>reboot</strong></span></span> + </p> + </td> + <td> + <p> + Посылает ядру команду перезагрузить систему (смотрите + команду <span class= + "command"><strong>halt</strong></span>) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="runlevel-sysv" name= + "runlevel-sysv"></a><span class="term"><span class= + "command"><strong>runlevel</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает о предыдущем и текущем уровнях выполнения так, + как это указано в последней записи в файле <code class= + "filename">/run/utmp</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="shutdown-sysv" name= + "shutdown-sysv"></a><span class="term"><span class= + "command"><strong>shutdown</strong></span></span> + </p> + </td> + <td> + <p> + Безопасно останавливает систему, отправляя сигналы всем + процессам и оповещая всех пользователей, находящихся в + системе + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="telinit-sysv" name="telinit-sysv"></a><span class= + "term"><span class= + "command"><strong>telinit</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает <span class= + "command"><strong>init</strong></span> на какой уровень + выполнения перейти + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="sysklogd.html" title= + "Sysklogd-1.5.1">Пред.</a> + <p> + Sysklogd-1.5.1 + </p> + </li> + <li class="next"> + <a accesskey="n" href="aboutdebug.html" title= + "Об отладочных символах">След.</a> + <p> + Об отладочных символах + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/tar.html b/lfs-12.0-sysv/chapter08/tar.html new file mode 100644 index 0000000..5861b35 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/tar.html @@ -0,0 +1,209 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.69. Tar-1.35 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="patch.html" title="Patch-2.7.6">Пред.</a> + <p> + Patch-2.7.6 + </p> + </li> + <li class="next"> + <a accesskey="n" href="texinfo.html" title= + "Texinfo-7.0.3">След.</a> + <p> + Texinfo-7.0.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-tar" name="ch-system-tar"></a>8.69. Tar-1.35 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Tar предоставляет возможность создавать tar архивы, а также + производить с ними различные манипуляции. Tar может распаковать + предварительно созданный архив, добавить или обновить файлы в нём, + вернуть список файлов в архиве. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">1.7 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">43 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.69.1. Установка пакета Tar + </h2> + <p> + Подготовьте Tar к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">FORCE_UNSAFE_CONFIGURE=1 \ +./configure --prefix=/usr</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра configure:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><code class= + "envar">FORCE_UNSAFE_CONFIGURE=1</code></span> + </dt> + <dd> + <p> + Этот параметр принудительно запускает тест для <code class= + "function">mknod</code> от имени пользователя <code class= + "systemitem">root</code>. Обычно считается опасным запускать + этот тест от имени пользователя <code class= + "systemitem">root</code>, но, поскольку он выполняется в + системе, которая была собрана лишь частично, его + переопределение допустимо. + </p> + </dd> + </dl> + </div> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + Время тестирования Tar можно значительно сократить в системе с + несколькими ядрами. Для этого добавьте <span class= + "command"><strong>TESTSUITEFLAGS=-j<N></strong></span> к + строке выше. Например, использование -j4 может сократить время + тестирования более чем на 70 процентов. + </p> + </div> + <p> + Известно, что один тест, capabilities: binary store/restore, + завершается ошибкой при запуске, потому что в LFS отсутствует + selinux, он будет пропущен, если ядро хоста не поддерживает + расширенные атрибуты или метки безопасности файловой системы, + используемой для сборки LFS. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install +make -C doc install-html docdir=/usr/share/doc/tar-1.35</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-tar" name="contents-tar"></a>8.69.2. Содержимое + пакета Tar + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">tar</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/doc/tar-1.35</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="tar" name="tar"></a><span class= + "term"><span class="command"><strong>tar</strong></span></span> + </p> + </td> + <td> + <p> + Создает архивы, извлекает файлы и отображает содержимое + архивов, также известных как Тарболл. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="patch.html" title="Patch-2.7.6">Пред.</a> + <p> + Patch-2.7.6 + </p> + </li> + <li class="next"> + <a accesskey="n" href="texinfo.html" title= + "Texinfo-7.0.3">След.</a> + <p> + Texinfo-7.0.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/tcl.html b/lfs-12.0-sysv/chapter08/tcl.html new file mode 100644 index 0000000..7c0e0fb --- /dev/null +++ b/lfs-12.0-sysv/chapter08/tcl.html @@ -0,0 +1,271 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.15. Tcl-8.6.13 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="flex.html" title="Flex-2.6.4">Пред.</a> + <p> + Flex-2.6.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="expect.html" title="Expect-5.45.4">След.</a> + <p> + Expect-5.45.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-tcl" name="ch-system-tcl"></a>8.15. Tcl-8.6.13 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет <span class="application">Tcl</span> содержит Tool Command + Language, надежный скриптовый язык общего назначения. Пакет + <span class="application">Expect</span> написан на языке + <span class="application">Tcl</span> (произносится как "тикл"). + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">2.7 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">89 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.15.1. Установка пакета Tcl + </h2> + <p> + Этот пакет и следующие два (Expect и DejaGNU) устанавливаются для + поддержки возможности тестирования Binutils, GCC и других пакетов. + Установка трех пакетов для целей тестирования может показаться + избыточной, но вы будете чувствовать себя увереннее, когда знаете, + что наиболее важные инструменты работают правильно. + </p> + <p> + Подготовьте Tcl к компиляции: + </p> + <pre class="userinput"><kbd class="command">SRCDIR=$(pwd) +cd unix +./configure --prefix=/usr \ + --mandir=/usr/share/man</kbd></pre> + <p> + Соберите пакет: + </p> + <pre class="userinput"><kbd class="command">make + +sed -e "s|$SRCDIR/unix|/usr/lib|" \ + -e "s|$SRCDIR|/usr/include|" \ + -i tclConfig.sh + +sed -e "s|$SRCDIR/unix/pkgs/tdbc1.1.5|/usr/lib/tdbc1.1.5|" \ + -e "s|$SRCDIR/pkgs/tdbc1.1.5/generic|/usr/include|" \ + -e "s|$SRCDIR/pkgs/tdbc1.1.5/library|/usr/lib/tcl8.6|" \ + -e "s|$SRCDIR/pkgs/tdbc1.1.5|/usr/include|" \ + -i pkgs/tdbc1.1.5/tdbcConfig.sh + +sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.3|/usr/lib/itcl4.2.3|" \ + -e "s|$SRCDIR/pkgs/itcl4.2.3/generic|/usr/include|" \ + -e "s|$SRCDIR/pkgs/itcl4.2.3|/usr/include|" \ + -i pkgs/itcl4.2.3/itclConfig.sh + +unset SRCDIR</kbd></pre> + <p> + Различные инструкции <span class="quote">«<span class= + "quote">sed</span>»</span> после команды <span class= + "quote">«<span class="quote">make</span>»</span> удаляют ссылки на + каталог сборки из файлов конфигурации и заменяют их на созданные + каталоги. Это необязательно для остальной части LFS, но может + понадобиться в случае, когда пакет, собранный позже, использует + Tcl. + </p> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Сделайте установленную библиотеку доступной для записи, чтобы позже + можно было удалить отладочные символы: + </p> + <pre class="userinput"><kbd class= + "command">chmod -v u+w /usr/lib/libtcl8.6.so</kbd></pre> + <p> + >Установите заголовочные файлы Tcl. Они потребуются для + следующего пакета - Expect. + </p> + <pre class="userinput"><kbd class= + "command">make install-private-headers</kbd></pre> + <p> + Теперь создайте необходимую символическую ссылку: + </p> + <pre class="userinput"><kbd class= + "command">ln -sfv tclsh8.6 /usr/bin/tclsh</kbd></pre> + <p> + Переименуйте справочную страницу, которая конфликтует со справочной + страницей Perl: + </p> + <pre class="userinput"><kbd class= + "command">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</kbd></pre> + <p> + При необходимости установите документацию, выполнив следующие + команды: + </p> + <pre class="userinput"><kbd class="command">cd .. +tar -xf ../tcl8.6.13-html.tar.gz --strip-components=1 +mkdir -v -p /usr/share/doc/tcl-8.6.13 +cp -v -r ./html/* /usr/share/doc/tcl-8.6.13</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-tcl" name="contents-tcl"></a>8.15.2. Содержимое + пакета Tcl + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">tclsh (ссылка на tclsh8.6) и + tclsh8.6</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libtcl8.6.so и libtclstub8.6.a</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="tclsh8.6" name="tclsh8.6"></a><span class= + "term"><span class= + "command"><strong>tclsh8.6</strong></span></span> + </p> + </td> + <td> + <p> + Командная оболочка Tcl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="tclsh" name="tclsh"></a><span class= + "term"><span class= + "command"><strong>tclsh</strong></span></span> + </p> + </td> + <td> + <p> + Ссылка на tclsh8.6 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libtcl8.6.so" name="libtcl8.6.so"></a><span class= + "term"><code class="filename">libtcl8.6.so</code></span> + </p> + </td> + <td> + <p> + Библиотека Tcl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libtclstub8.6.a" name= + "libtclstub8.6.a"></a><span class="term"><code class= + "filename">libtclstub8.6.a</code></span> + </p> + </td> + <td> + <p> + Библиотека-заглушка Tcl + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="flex.html" title="Flex-2.6.4">Пред.</a> + <p> + Flex-2.6.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="expect.html" title="Expect-5.45.4">След.</a> + <p> + Expect-5.45.4 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/texinfo.html b/lfs-12.0-sysv/chapter08/texinfo.html new file mode 100644 index 0000000..ced0b27 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/texinfo.html @@ -0,0 +1,334 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.70. Texinfo-7.0.3 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="tar.html" title="Tar-1.35">Пред.</a> + <p> + Tar-1.35 + </p> + </li> + <li class="next"> + <a accesskey="n" href="vim.html" title="Vim-9.0.1677">След.</a> + <p> + Vim-9.0.1677 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-texinfo" name="ch-system-texinfo"></a>8.70. + Texinfo-7.0.3 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Texinfo содержит программы для чтения, записи и + преобразования информационных страниц. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">128 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.70.1. Установка пакета Texinfo + </h2> + <p> + Подготовьте Texinfo к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + По желанию установите компоненты, входящие в пакет TeX:: + </p> + <pre class="userinput"><kbd class= + "command">make TEXMF=/usr/share/texmf install-tex</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметра make:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>TEXMF=/usr/share/texmf</code></em></span> + </dt> + <dd> + <p> + Переменная makefile <code class="envar">TEXMF</code> содержит + расположение корня дерева TeX, это понадобится, если, + например, пакет TeX планируется установить позже. + </p> + </dd> + </dl> + </div> + <p> + Система документации использует простой текстовый файл для хранения + списка пунктов меню. Файл находится в <code class= + "filename">/usr/share/info/dir</code>. К сожалению, из-за случайных + проблем в Makefile различных пакетов он иногда может не + синхронизироваться с информационными страницами, установленными в + системе. Если когда-либо потребуется пересоздать файл <code class= + "filename">/usr/share/info/dir</code>, следующие необязательные + команды решают эту задачу: + </p> + <pre class="userinput"><kbd class="command">pushd /usr/share/info + rm -v dir + for f in * + do install-info $f dir 2>/dev/null + done +popd</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-texinfo" name="contents-texinfo"></a>8.70.2. + Содержимое пакета Texinfo + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">info, install-info, makeinfo (ссылка на + texi2any), pdftexi2dvi, pod2texi, texi2any, texi2dvi, texi2pdf, + и texindex</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">MiscXS.so, Parsetexi.so и XSParagraph.so + (все в /usr/lib/texinfo)</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/texinfo и + /usr/lib/texinfo</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="info" name="info"></a><span class= + "term"><span class= + "command"><strong>info</strong></span></span> + </p> + </td> + <td> + <p> + Используется для чтения информационных страниц, которые + похожи на справочные страницы, но гораздо подробнее + описывают применение всех доступных параметров командной + строки [Например, сравните <span class= + "command"><strong>man bison</strong></span> и + <span class="command"><strong>info + bison</strong></span>.] + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="install-info" name="install-info"></a><span class= + "term"><span class= + "command"><strong>install-info</strong></span></span> + </p> + </td> + <td> + <p> + Используется для установки информационных страниц; он + обновляет записи в индексном файле команды <span class= + "command"><strong>info</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="makeinfo" name="makeinfo"></a><span class= + "term"><span class= + "command"><strong>makeinfo</strong></span></span> + </p> + </td> + <td> + <p> + Переводит исходные документы Texinfo в информационные + страницы, обычный текст или HTML. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pdftexi2dvi" name="pdftexi2dvi"></a><span class= + "term"><span class= + "command"><strong>pdftexi2dvi</strong></span></span> + </p> + </td> + <td> + <p> + Используется для форматирования документа Texinfo в файл + Portable Document Format (PDF). + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pod2texi" name="pod2texi"></a><span class= + "term"><span class= + "command"><strong>pod2texi</strong></span></span> + </p> + </td> + <td> + <p> + Преобразует Pod в формат Texinfo + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="texi2any" name="texi2any"></a><span class= + "term"><span class= + "command"><strong>texi2any</strong></span></span> + </p> + </td> + <td> + <p> + Переводит исходную документацию Texinfo в различные + другие форматы. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="texi2dvi" name="texi2dvi"></a><span class= + "term"><span class= + "command"><strong>texi2dvi</strong></span></span> + </p> + </td> + <td> + <p> + Используется для форматирования документа Texinfo в + независимый от устройства файл, который можно распечатать + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="texi2pdf" name="texi2pdf"></a><span class= + "term"><span class= + "command"><strong>texi2pdf</strong></span></span> + </p> + </td> + <td> + <p> + Используется для форматирования данного документа Texinfo + в файл Portable Document Format (PDF). + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="texindex" name="texindex"></a><span class= + "term"><span class= + "command"><strong>texindex</strong></span></span> + </p> + </td> + <td> + <p> + Используется для сортировки индексных файлов Texinfo. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="tar.html" title="Tar-1.35">Пред.</a> + <p> + Tar-1.35 + </p> + </li> + <li class="next"> + <a accesskey="n" href="vim.html" title="Vim-9.0.1677">След.</a> + <p> + Vim-9.0.1677 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/udev.html b/lfs-12.0-sysv/chapter08/udev.html new file mode 100644 index 0000000..a55d603 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/udev.html @@ -0,0 +1,366 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.74. Udev из Systemd-254 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="jinja2.html" title="Jinja2-3.1.2">Пред.</a> + <p> + Jinja2-3.1.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="man-db.html" title="Man-DB-2.11.2">След.</a> + <p> + Man-DB-2.11.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-udev" name="ch-system-udev"></a>8.74. Udev из + Systemd-254 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Udev содержит программы для динамического создания узлов + устройств. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.2 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">138 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.74.1. Установка пакета Udev + </h2> + <p> + Udev является частью пакета systemd-254. Используйте файл + systemd-254.tar.xz в качестве исходного архива. + </p> + <p> + Удалите две ненужные группы <code class="systemitem">render</code> + и <code class="systemitem">sgx</code>, из правил udev по умолчанию: + </p> + <pre class="userinput"><kbd class= + "command">sed -i -e 's/GROUP="render"/GROUP="video"/' \ + -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in</kbd></pre> + <p> + Удалите одно правило udev, требующее полной установки Systemd: + </p> + <pre class="userinput"><kbd class= + "command">sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in</kbd></pre> + <p> + Подготовьте Udev к компиляции: + </p> + <pre class="userinput"><kbd class="command">mkdir -p build +cd build + +meson setup \ + --prefix=/usr \ + --buildtype=release \ + -Dmode=release \ + -Ddev-kvm-mode=0660 \ + -Dlink-udev-shared=false \ + ..</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров meson:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--buildtype=release</code></em></span> + </dt> + <dd> + <p> + Этот параметр переопределяет тип сборки по умолчанию + (<span class="quote">«<span class= + "quote">debug</span>»</span>), который создает + неоптимизированные двоичные файлы. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Dmode=release</code></em></span> + </dt> + <dd> + <p> + Отключает некоторые функции, которые разработчики считают + экспериментальными. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Ddev-kvm-mode=0660</code></em></span> + </dt> + <dd> + <p> + По умолчанию правило udev разрешает всем пользователям доступ + к <code class="filename">/dev/kvm</code>. Редакторы LFS + считают это опасным. Данная опция переопределяет разрешение + по умолчанию. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>-Dlink-udev-shared=false</code></em></span> + </dt> + <dd> + <p> + Эта опция запрещает udev связываться с внутренней общей + библиотекой systemd <code class= + "systemitem">libsystemd-shared</code>. Эта библиотека + предназначена для совместного использования многими + компонентами Systemd, и ее использование избыточно, когда + установлен только udev + </p> + </dd> + </dl> + </div> + <p> + Соберите только компоненты, необходимые для udev: + </p> + <pre class="userinput"><kbd class= + "command">ninja udevadm systemd-hwdb \ + $(grep -o -E "^build (src/libudev|src/udev|rules.d|hwdb.d)[^:]*" \ + build.ninja | awk '{ print $2 }') \ + $(realpath libudev.so --relative-to .)</kbd></pre> + <p> + Удалите один файл правил udev, требующий полной установки Systemd: + </p> + <pre class="userinput"><kbd class= + "command">rm rules.d/90-vconsole.rules</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">install -vm755 -d {/usr/lib,/etc}/udev/{hwdb,rules}.d +install -vm755 -d /usr/{lib,share}/pkgconfig +install -vm755 udevadm /usr/bin/ +install -vm755 systemd-hwdb /usr/bin/udev-hwdb +ln -svfn ../bin/udevadm /usr/sbin/udevd +cp -av libudev.so{,*[0-9]} /usr/lib/ +install -vm644 ../src/libudev/libudev.h /usr/include/ +install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ +install -vm644 src/udev/*.pc /usr/share/pkgconfig/ +install -vm644 ../src/udev/udev.conf /etc/udev/ +install -vm644 rules.d/* ../rules.d/{*.rules,README} /usr/lib/udev/rules.d/ +install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ +install -vm755 $(find src/udev -type f | grep -F -v ".") /usr/lib/udev</kbd></pre> + <p> + Установите некоторые пользовательские правила и файлы поддержки, + полезные в среде LFS: + </p> + <pre class="userinput"><kbd class= + "command">tar -xvf ../../udev-lfs-20230818.tar.xz +make -f udev-lfs-20230818/Makefile.lfs install</kbd></pre> + <p> + Установите справочные страницы: + </p> + <pre class="userinput"><kbd class= + "command">tar -xf ../../systemd-man-pages-254.tar.xz \ + --no-same-owner --strip-components=1 \ + -C /usr/share/man --wildcards '*/udev*' '*/libudev*' \ + '*/systemd-'{hwdb,udevd.service}.8 +sed 's/systemd\(\\\?-\)/udev\1/' /usr/share/man/man8/systemd-hwdb.8 \ + > /usr/share/man/man8/udev-hwdb.8 +sed 's|lib.*udevd|sbin/udevd|' \ + /usr/share/man/man8/systemd-udevd.service.8 \ + > /usr/share/man/man8/udevd.8 +rm /usr/share/man/man8/systemd-*.8</kbd></pre> + </div> + <div class="configuration" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="conf-udev" name="conf-udev"></a>8.74.2. Настройка Udev + </h2> + <p> + Информация об аппаратных устройствах хранится в каталогах + <code class="filename">/etc/udev/hwdb.d</code> и <code class= + "filename">/usr/lib/udev/hwdb.d</code>. <span class= + "application">Udev</span> необходимо, чтобы эта информация была + скомпилирована в двоичную базу данных <code class= + "filename">/etc/udev/hwdb.bin</code>. Создайте исходную базу + данных: + </p> + <pre class="userinput"><kbd class= + "command">udev-hwdb update</kbd></pre> + <p> + Эту команду необходимо запускать каждый раз при обновлении + информации об оборудовании. + </p> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-udev" name="contents-udev"></a>8.74.3. Содержимое + пакета Udev + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">udevadm, udevd (символическая ссылка на + udevadm) и udev-hwdb</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libudev.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/etc/udev и /usr/lib/udev</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Short Descriptions + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="udevadm" name="udevadm"></a><span class= + "term"><span class= + "command"><strong>udevadm</strong></span></span> + </p> + </td> + <td> + <p> + Универсальный инструмент администрирования udev: + управляет демоном udevd, предоставляет информацию из базы + данных Udev, отслеживает uevents, ожидает завершения + uevents, проверяет конфигурацию Udev и запускает uevents + для данного устройства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="udevd" name="udevd"></a><span class= + "term"><span class= + "command"><strong>udevd</strong></span></span> + </p> + </td> + <td> + <p> + Демон, который прослушивает uevents в сокете netlink, + создает устройства и запускает настроенные внешние + программы в ответ на эти uevents + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="udev-hwdb" name="udev-hwdb"></a><span class= + "term"><span class= + "command"><strong>udev-hwdb</strong></span></span> + </p> + </td> + <td> + <p> + Обновляет или запрашивает базу данных оборудования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libudev" name="libudev"></a><span class= + "term"><code class="filename">libudev</code></span> + </p> + </td> + <td> + <p> + Библиотека для получения информации об устройствах udev + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="etc-udev" name="etc-udev"></a><span class= + "term"><code class="filename">/etc/udev</code></span> + </p> + </td> + <td> + <p> + Содержит файлы конфигурации Udev, разрешения для + устройств и правила именования устройств + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="jinja2.html" title="Jinja2-3.1.2">Пред.</a> + <p> + Jinja2-3.1.2 + </p> + </li> + <li class="next"> + <a accesskey="n" href="man-db.html" title="Man-DB-2.11.2">След.</a> + <p> + Man-DB-2.11.2 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/util-linux.html b/lfs-12.0-sysv/chapter08/util-linux.html new file mode 100644 index 0000000..7a5228f --- /dev/null +++ b/lfs-12.0-sysv/chapter08/util-linux.html @@ -0,0 +1,1928 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.77. Util-linux-2.39.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="procps-ng.html" title= + "Procps-ng-4.0.3">Пред.</a> + <p> + Procps-ng-4.0.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="e2fsprogs.html" title= + "E2fsprogs-1.47.0">След.</a> + <p> + E2fsprogs-1.47.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-util-linux" name="ch-system-util-linux"></a>8.77. + Util-linux-2.39.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Util-linux содержит различные служебные программы. Среди них + утилиты для работы с файловыми системами, консолями, разделами и + сообщениями. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.5 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">310 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.77.1. Установка пакета Util-linux + </h2> + <p> + Сначала отключите проблемные тесты: + </p> + <pre class="userinput"><kbd class= + "command">sed -i '/test_mkfds/s/^/#/' tests/helpers/Makemodule.am</kbd></pre> + <p> + Подготовьте Util-linux к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ + --bindir=/usr/bin \ + --libdir=/usr/lib \ + --runstatedir=/run \ + --sbindir=/usr/sbin \ + --disable-chfn-chsh \ + --disable-login \ + --disable-nologin \ + --disable-su \ + --disable-setpriv \ + --disable-runuser \ + --disable-pylibmount \ + --disable-static \ + --without-python \ + --without-systemd \ + --without-systemdsystemunitdir \ + --docdir=/usr/share/doc/util-linux-2.39.1</kbd></pre> + <p> + Параметры --disable и --without предотвращают появление + предупреждений о сборке компонентов, для которых требуются пакеты, + отсутствующие в LFS, или которые несовместимы с программами, + установленными другими пакетами. + </p> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + По желанию запустите набор тестов от имени пользователя без + полномочий <code class="systemitem">root</code>: + </p> + <div class="admon warning"> + <img alt="[Предупреждение]" src="../images/warning.png" /> + <h3> + Предупреждение + </h3> + <p> + Запуск набора тестов от имени пользователя <code class= + "systemitem">root</code> может повредить вашу систему. Чтобы + запустить тесты, опция CONFIG_SCSI_DEBUG для ядра должна быть + доступна в текущей работающей системе и должна быть собрана как + модуль. Включение её в ядро будет прерывать загрузку. Для полного + охвата тестами в систему необходимо установить другие пакеты из + BLFS. По желанию, этот тест можно запустить после загрузки в + готовую систему LFS: + </p> + <pre class="userinput"><kbd class= + "command">bash tests/run.sh --srcdir=$PWD --builddir=$PWD</kbd></pre> + </div> + <pre class="userinput"><kbd class="command">chown -Rv tester . +su tester -c "make -k check"</kbd></pre> + <p> + Тесты с <span class="emphasis"><em>жесткими ссылками</em></span> + завершатся неудачей, если в ядре хоста не включена опция + <code class="option">CONFIG_CRYPTO_USER_API_HASH</code> или не + включено никаких опций, обеспечивающих реализацию SHA256 (например, + <code class="option">CONFIG_CRYPTO_SHA256</code> или <code class= + "option">CONFIG_CRYPTO_SHA256_SSSE3</code>, если процессор + поддерживает инструкции SSE3). Кроме того, известно, что два + подтеста из misc: mbsencode и один подтест из script: replay не + проходят. + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-utillinux" name="contents-utillinux"></a>8.77.2. + Содержимое пакета Util-linux + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">addpart, agetty, blkdiscard, blkid, + blkzone, blockdev, cal, cfdisk, chcpu, chmem, choom, chrt, col, + colcrt, colrm, column, ctrlaltdel, delpart, dmesg, eject, + fallocate, fdisk, fincore, findfs, findmnt, flock, fsck, + fsck.cramfs, fsck.minix, fsfreeze, fstrim, getopt, hardlink, + hexdump, hwclock, i386 (ссылка на setarch), ionice, ipcmk, + ipcrm, ipcs, irqtop, isosize, kill, last, lastb (ссылка на + last), ldattach, linux32 (link to setarch), linux64 (ссылка на + setarch), logger, look, losetup, lsblk, lscpu, lsipc, lsirq, + lsfd, lslocks, lslogins, lsmem, lsns, mcookie, mesg, mkfs, + mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, + mountpoint, namei, nsenter, partx, pivot_root, prlimit, + readprofile, rename, renice, resizepart, rev, rfkill, rtcwake, + script, scriptlive, scriptreplay, setarch, setsid, setterm, + sfdisk, sulogin, swaplabel, swapoff, swapon, switch_root, + taskset, uclampset, ul, umount, uname26 (ссылка на setarch), + unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, + whereis, wipefs, x86_64 (ссылка на setarch) и zramctl</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libblkid.so, libfdisk.so, libmount.so, + libsmartcols.so и libuuid.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/blkid, + /usr/include/libfdisk, /usr/include/libmount, + /usr/include/libsmartcols, /usr/include/uuid, + /usr/share/doc/util-linux-2.39.1 и /var/lib/hwclock</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="addpart" name="addpart"></a><span class= + "term"><span class= + "command"><strong>addpart</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает ядру Linux о новых разделах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="agetty" name="agetty"></a><span class= + "term"><span class= + "command"><strong>agetty</strong></span></span> + </p> + </td> + <td> + <p> + Открывает порт tty, запрашивает имя для входа, а затем + вызывает программу <span class= + "command"><strong>login</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="blkdiscard" name="blkdiscard"></a><span class= + "term"><span class= + "command"><strong>blkdiscard</strong></span></span> + </p> + </td> + <td> + <p> + Очищает сектора на устройстве + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="blkid" name="blkid"></a><span class= + "term"><span class= + "command"><strong>blkid</strong></span></span> + </p> + </td> + <td> + <p> + Утилита командной строки для вывода атрибутов блочного + устройства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="blkzone" name="blkzone"></a><span class= + "term"><span class= + "command"><strong>blkzone</strong></span></span> + </p> + </td> + <td> + <p> + Используется для управления зонированными блочными + системами хранения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="blockdev" name="blockdev"></a><span class= + "term"><span class= + "command"><strong>blockdev</strong></span></span> + </p> + </td> + <td> + <p> + Позволяет пользователям вызывать ioctl блочного + устройства из командной строки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cal" name="cal"></a><span class= + "term"><span class="command"><strong>cal</strong></span></span> + </p> + </td> + <td> + <p> + Отображает простой календарь + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="cfdisk" name="cfdisk"></a><span class= + "term"><span class= + "command"><strong>cfdisk</strong></span></span> + </p> + </td> + <td> + <p> + Управляет таблицей разделов данного устройства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chcpu" name="chcpu"></a><span class= + "term"><span class= + "command"><strong>chcpu</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет состояние процессоров + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chmem" name="chmem"></a><span class= + "term"><span class= + "command"><strong>chmem</strong></span></span> + </p> + </td> + <td> + <p> + Настраивает память + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="choom" name="choom"></a><span class= + "term"><span class= + "command"><strong>choom</strong></span></span> + </p> + </td> + <td> + <p> + Отображает и регулирует оценки OOM-killer, используемые + для определения того, какой процесс следует завершить + первым, когда в Linux заканчивается память + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="chrt" name="chrt"></a><span class= + "term"><span class= + "command"><strong>chrt</strong></span></span> + </p> + </td> + <td> + <p> + Манипулирует атрибутами процесса в режиме реального + времени + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="col" name="col"></a><span class= + "term"><span class="command"><strong>col</strong></span></span> + </p> + </td> + <td> + <p> + Фильтрует обратные переносы строк из входного потока + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="colcrt" name="colcrt"></a><span class= + "term"><span class= + "command"><strong>colcrt</strong></span></span> + </p> + </td> + <td> + <p> + Фильтрует данные, выдаваемые командой <span class= + "command"><strong>nroff</strong></span> на терминалы, у + которых отсутствует ряд возможностей, например, + отображение перечеркнутых символов или верхних и нижних + индексов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="colrm" name="colrm"></a><span class= + "term"><span class= + "command"><strong>colrm</strong></span></span> + </p> + </td> + <td> + <p> + Фильтрует вывод указанных столбцов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="column" name="column"></a><span class= + "term"><span class= + "command"><strong>column</strong></span></span> + </p> + </td> + <td> + <p> + Форматирует заданный файл в несколько столбцов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ctrlaltdel" name="ctrlaltdel"></a><span class= + "term"><span class= + "command"><strong>ctrlaltdel</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает для комбинации символов Ctrl+Alt+Del + жесткую или мягкую перезагрузку + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="delpart" name="delpart"></a><span class= + "term"><span class= + "command"><strong>delpart</strong></span></span> + </p> + </td> + <td> + <p> + Запрашивает у ядра Linux удаление раздела + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="dmesg" name="dmesg"></a><span class= + "term"><span class= + "command"><strong>dmesg</strong></span></span> + </p> + </td> + <td> + <p> + Выводит загрузочные сообщения ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="eject" name="eject"></a><span class= + "term"><span class= + "command"><strong>eject</strong></span></span> + </p> + </td> + <td> + <p> + Извлекает съемный носитель + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fallocate" name="fallocate"></a><span class= + "term"><span class= + "command"><strong>fallocate</strong></span></span> + </p> + </td> + <td> + <p> + Предварительное выделение места под файл + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fdisk" name="fdisk"></a><span class= + "term"><span class= + "command"><strong>fdisk</strong></span></span> + </p> + </td> + <td> + <p> + Манипулирует таблицей разделов указанного устройства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fincore" name="fincore"></a><span class= + "term"><span class= + "command"><strong>fincore</strong></span></span> + </p> + </td> + <td> + <p> + Подчитывает сколько страниц приложение хранит в памяти + ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="findfs" name="findfs"></a><span class= + "term"><span class= + "command"><strong>findfs</strong></span></span> + </p> + </td> + <td> + <p> + Находит файловую систему по метке или универсальному + уникальному идентификатору (UUID) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="findmnt" name="findmnt"></a><span class= + "term"><span class= + "command"><strong>findmnt</strong></span></span> + </p> + </td> + <td> + <p> + Представляет собой интерфейс командной строки к + библиотеке libmount для работы с файлами mountinfo, fstab + и mtab + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="flock" name="flock"></a><span class= + "term"><span class= + "command"><strong>flock</strong></span></span> + </p> + </td> + <td> + <p> + Осуществляет блокировку файла, а затем выполняет команду, + не снимая блокировку + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fsck" name="fsck"></a><span class= + "term"><span class= + "command"><strong>fsck</strong></span></span> + </p> + </td> + <td> + <p> + Используется для проверки и, при необходимости, + восстановления файловых систем + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fsck.cramfs" name="fsck.cramfs"></a><span class= + "term"><span class= + "command"><strong>fsck.cramfs</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет проверку целостности файловой системы Cramfs на + данном устройстве + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fsck.minix" name="fsck.minix"></a><span class= + "term"><span class= + "command"><strong>fsck.minix</strong></span></span> + </p> + </td> + <td> + <p> + Выполняет проверку целостности файловой системы Minix на + данном устройстве + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fsfreeze" name="fsfreeze"></a><span class= + "term"><span class= + "command"><strong>fsfreeze</strong></span></span> + </p> + </td> + <td> + <p> + Очень простая программа-обертка для выполнение операций с + драйвером ядра FIFREEZE/FITHAW ioctl + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="fstrim" name="fstrim"></a><span class= + "term"><span class= + "command"><strong>fstrim</strong></span></span> + </p> + </td> + <td> + <p> + Освобождает неиспользованные блоки смонтированной + файловой системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="getopt" name="getopt"></a><span class= + "term"><span class= + "command"><strong>getopt</strong></span></span> + </p> + </td> + <td> + <p> + Разбирает параметры указанной командной строки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="hardlink" name="hardlink"></a><span class= + "term"><span class= + "command"><strong>hardlink</strong></span></span> + </p> + </td> + <td> + <p> + Объединяет дубликаты файлов путем создания жестких ссылок + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="hexdump" name="hexdump"></a><span class= + "term"><span class= + "command"><strong>hexdump</strong></span></span> + </p> + </td> + <td> + <p> + Создает дамп указанного файла в шестнадцатеричном, + десятичном, восьмеричном или ascii-формате + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="hwclock" name="hwclock"></a><span class= + "term"><span class= + "command"><strong>hwclock</strong></span></span> + </p> + </td> + <td> + <p> + Читает или устанавливает значение аппаратных часов + системы, называемых также часами реального времени (RTC- + Real-Time Clock) или часами БИОС (BIOS - Basic + Input-Output System) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="i386" name="i386"></a><span class= + "term"><span class= + "command"><strong>i386</strong></span></span> + </p> + </td> + <td> + <p> + Символьная ссылка на setarch + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ionice" name="ionice"></a><span class= + "term"><span class= + "command"><strong>ionice</strong></span></span> + </p> + </td> + <td> + <p> + Читает или устанавливает класс и приоритет обработки + ввода/вывода для программ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ipcmk" name="ipcmk"></a><span class= + "term"><span class= + "command"><strong>ipcmk</strong></span></span> + </p> + </td> + <td> + <p> + Создает различные ресурсы межпроцессного взаимодействия + (IPC) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ipcrm" name="ipcrm"></a><span class= + "term"><span class= + "command"><strong>ipcrm</strong></span></span> + </p> + </td> + <td> + <p> + Удаляет указанный ресурс межпроцессного взаимодействия + (IPC) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ipcs" name="ipcs"></a><span class= + "term"><span class= + "command"><strong>ipcs</strong></span></span> + </p> + </td> + <td> + <p> + Предоставляет информацию о состоянии IPC + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="irqtop" name="irqtop"></a><span class= + "term"><span class= + "command"><strong>irqtop</strong></span></span> + </p> + </td> + <td> + <p> + Отображает информацию о счетчике прерываний ядра в стиле + <code class="filename">top(1)</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="isosize" name="isosize"></a><span class= + "term"><span class= + "command"><strong>isosize</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает о размере файловой системы iso9660 + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="kill" name="kill"></a><span class= + "term"><span class= + "command"><strong>kill</strong></span></span> + </p> + </td> + <td> + <p> + Посылает сигналы процессам + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="last" name="last"></a><span class= + "term"><span class= + "command"><strong>last</strong></span></span> + </p> + </td> + <td> + <p> + Показывает, какие пользователи в последний раз входили (и + выходили), выполняя поиск в файле <code class= + "filename">/var/log/wtmp</code>; кроме этого показывает + информацию о загрузке системы, завершение работы и + изменениях уровня выполнения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lastb" name="lastb"></a><span class= + "term"><span class= + "command"><strong>lastb</strong></span></span> + </p> + </td> + <td> + <p> + Показывает неудачные попытки входа в систему, + зарегистрированные в <code class= + "filename">/var/log/btmp</code> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ldattach" name="ldattach"></a><span class= + "term"><span class= + "command"><strong>ldattach</strong></span></span> + </p> + </td> + <td> + <p> + Назначает устройству последовательного доступа алгоритм, + определяющий дисциплину обслуживания этого устройства + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="linux32" name="linux32"></a><span class= + "term"><span class= + "command"><strong>linux32</strong></span></span> + </p> + </td> + <td> + <p> + Символическая ссылка на setarch + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="linux64" name="linux64"></a><span class= + "term"><span class= + "command"><strong>linux64</strong></span></span> + </p> + </td> + <td> + <p> + Символическая ссылка на setarch + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="logger" name="logger"></a><span class= + "term"><span class= + "command"><strong>logger</strong></span></span> + </p> + </td> + <td> + <p> + Добавляет указанное сообщение в системный журнал + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="look" name="look"></a><span class= + "term"><span class= + "command"><strong>look</strong></span></span> + </p> + </td> + <td> + <p> + Отображает строки, начинающиеся с указанной + последовательности символов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="losetup" name="losetup"></a><span class= + "term"><span class= + "command"><strong>losetup</strong></span></span> + </p> + </td> + <td> + <p> + Настраивает и управляет устройствами типа loop + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsblk" name="lsblk"></a><span class= + "term"><span class= + "command"><strong>lsblk</strong></span></span> + </p> + </td> + <td> + <p> + Выводит информацию обо всех или выбранных блочных + устройствах в древовидном формате + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lscpu" name="lscpu"></a><span class= + "term"><span class= + "command"><strong>lscpu</strong></span></span> + </p> + </td> + <td> + <p> + Выводит информацию об архитектуре процессора + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsfd" name="lsfd"></a><span class= + "term"><span class= + "command"><strong>lsfd</strong></span></span> + </p> + </td> + <td> + <p> + Отображает информацию об открытых файлах; заменяет + <span class="command"><strong>lsof</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsipc" name="lsipc"></a><span class= + "term"><span class= + "command"><strong>lsipc</strong></span></span> + </p> + </td> + <td> + <p> + Выводит информацию об объектах IPC, которые в настоящее + время используются в системе + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsirq" name="lsirq"></a><span class= + "term"><span class= + "command"><strong>lsirq</strong></span></span> + </p> + </td> + <td> + <p> + Отображает информацию о счетчике прерываний ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lslocks" name="lslocks"></a><span class= + "term"><span class= + "command"><strong>lslocks</strong></span></span> + </p> + </td> + <td> + <p> + Отображает список всех заблокированных в настоящее время + файлов в системе + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lslogins" name="lslogins"></a><span class= + "term"><span class= + "command"><strong>lslogins</strong></span></span> + </p> + </td> + <td> + <p> + Выводит информацию о пользователях, группах и системных + учетных записях + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsmem" name="lsmem"></a><span class= + "term"><span class= + "command"><strong>lsmem</strong></span></span> + </p> + </td> + <td> + <p> + Отображает диапазоны доступной памяти с указанием их + оперативного статуса + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lsns" name="lsns"></a><span class= + "term"><span class= + "command"><strong>lsns</strong></span></span> + </p> + </td> + <td> + <p> + Отображает список пространств имен + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mcookie" name="mcookie"></a><span class= + "term"><span class= + "command"><strong>mcookie</strong></span></span> + </p> + </td> + <td> + <p> + Генерирует для <span class= + "command"><strong>xauth</strong></span> магические куки + (128-битные случайные числа в шестнадцатеричном формате) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mesg" name="mesg"></a><span class= + "term"><span class= + "command"><strong>mesg</strong></span></span> + </p> + </td> + <td> + <p> + Определяет, могут ли другие пользователи отправлять + сообщения на терминал текущего пользователя + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfs" name="mkfs"></a><span class= + "term"><span class= + "command"><strong>mkfs</strong></span></span> + </p> + </td> + <td> + <p> + Создает файловую систему на устройстве (обычно это раздел + жесткого диска) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfs.bfs" name="mkfs.bfs"></a><span class= + "term"><span class= + "command"><strong>mkfs.bfs</strong></span></span> + </p> + </td> + <td> + <p> + Создает файловую систему Santa Cruz Operations (SCO) bfs + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfs.cramfs" name="mkfs.cramfs"></a><span class= + "term"><span class= + "command"><strong>mkfs.cramfs</strong></span></span> + </p> + </td> + <td> + <p> + Создает файловую систему cramfs + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkfs.minix" name="mkfs.minix"></a><span class= + "term"><span class= + "command"><strong>mkfs.minix</strong></span></span> + </p> + </td> + <td> + <p> + Создает файловую систему Minix + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mkswap" name="mkswap"></a><span class= + "term"><span class= + "command"><strong>mkswap</strong></span></span> + </p> + </td> + <td> + <p> + Инициализирует данное устройство или файл для + использования в качестве области подкачки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="more" name="more"></a><span class= + "term"><span class= + "command"><strong>more</strong></span></span> + </p> + </td> + <td> + <p> + Фильтр постраничного вывода текста + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mount" name="mount"></a><span class= + "term"><span class= + "command"><strong>mount</strong></span></span> + </p> + </td> + <td> + <p> + Подключение файловой системы, находящейся на заданном + устройстве, к указанному каталогу в дереве файловой + системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="mountpoint" name="mountpoint"></a><span class= + "term"><span class= + "command"><strong>mountpoint</strong></span></span> + </p> + </td> + <td> + <p> + Проверяет, является ли каталог точкой монтирования + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="namei" name="namei"></a><span class= + "term"><span class= + "command"><strong>namei</strong></span></span> + </p> + </td> + <td> + <p> + Разделяет на составляющие путь к файлу или каталогу, + показывая информацию о типе каждого элемента + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="nsenter" name="nsenter"></a><span class= + "term"><span class= + "command"><strong>nsenter</strong></span></span> + </p> + </td> + <td> + <p> + Запускает программу в пространстве имен других процессов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="partx" name="partx"></a><span class= + "term"><span class= + "command"><strong>partx</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает ядру информацию о наличии и количестве разделов, + находящихся на диске + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="pivot_root" name="pivot_root"></a><span class= + "term"><span class= + "command"><strong>pivot_root</strong></span></span> + </p> + </td> + <td> + <p> + Делает данную файловую систему новой корневой файловой + системой текущего процесса + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="prlimit" name="prlimit"></a><span class= + "term"><span class= + "command"><strong>prlimit</strong></span></span> + </p> + </td> + <td> + <p> + Получает и устанавливает ограничения использования + ресурсов процесса + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="readprofile" name="readprofile"></a><span class= + "term"><span class= + "command"><strong>readprofile</strong></span></span> + </p> + </td> + <td> + <p> + Читает информацию о профилировании ядра + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rename" name="rename"></a><span class= + "term"><span class= + "command"><strong>rename</strong></span></span> + </p> + </td> + <td> + <p> + Переименовывает заданные файлы, заменяя одну строку + другой + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="renice" name="renice"></a><span class= + "term"><span class= + "command"><strong>renice</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет приоритет запущенных процессов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="resizepart" name="resizepart"></a><span class= + "term"><span class= + "command"><strong>resizepart</strong></span></span> + </p> + </td> + <td> + <p> + Запрашивает у ядра Linux изменение размера раздела + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rev" name="rev"></a><span class= + "term"><span class="command"><strong>rev</strong></span></span> + </p> + </td> + <td> + <p> + Меняет в указанном файле порядок строк на обратный + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rfkill" name="rfkill"></a><span class= + "term"><span class= + "command"><strong>rfkill</strong></span></span> + </p> + </td> + <td> + <p> + Bнструмент командной строки для управления беспроводными + устройствами + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rtcwake" name="rtcwake"></a><span class= + "term"><span class= + "command"><strong>rtcwake</strong></span></span> + </p> + </td> + <td> + <p> + Используется для перехода системы в спящий режим до + указанного времени пробуждения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="script" name="script"></a><span class= + "term"><span class= + "command"><strong>script</strong></span></span> + </p> + </td> + <td> + <p> + Создает скрипт терминальной сессии + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="scriptlive" name="scriptlive"></a><span class= + "term"><span class= + "command"><strong>scriptlive</strong></span></span> + </p> + </td> + <td> + <p> + Перезапускает скрипт терминальной сессии, используя + информацию о времени + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="scriptreplay" name="scriptreplay"></a><span class= + "term"><span class= + "command"><strong>scriptreplay</strong></span></span> + </p> + </td> + <td> + <p> + Воспроизводит скрипт в соответствие с указанным временем + запуска + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setarch" name="setarch"></a><span class= + "term"><span class= + "command"><strong>setarch</strong></span></span> + </p> + </td> + <td> + <p> + В окружении, используемом новой программой, изменяет + информацию об архитектуре и устанавливает флаги + персонализации + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setsid" name="setsid"></a><span class= + "term"><span class= + "command"><strong>setsid</strong></span></span> + </p> + </td> + <td> + <p> + Запускает указанную программу в новом сеансе + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="setterm" name="setterm"></a><span class= + "term"><span class= + "command"><strong>setterm</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает атрибуты терминала + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sfdisk" name="sfdisk"></a><span class= + "term"><span class= + "command"><strong>sfdisk</strong></span></span> + </p> + </td> + <td> + <p> + Управляет таблицей разделов диска + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="sulogin" name="sulogin"></a><span class= + "term"><span class= + "command"><strong>sulogin</strong></span></span> + </p> + </td> + <td> + <p> + Позволяет пользователю <code class= + "systemitem">root</code> входить в систему; обычно он + вызывается <span class= + "command"><strong>init</strong></span>, когда система + переходит в однопользовательский режим + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="swaplabel" name="swaplabel"></a><span class= + "term"><span class= + "command"><strong>swaplabel</strong></span></span> + </p> + </td> + <td> + <p> + Изменяет UUID и метку раздела подкачки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="swapoff" name="swapoff"></a><span class= + "term"><span class= + "command"><strong>swapoff</strong></span></span> + </p> + </td> + <td> + <p> + Отключает устройства и файлы подкачки + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="swapon" name="swapon"></a><span class= + "term"><span class= + "command"><strong>swapon</strong></span></span> + </p> + </td> + <td> + <p> + Включает устройства и файлы, применяемые для раздела + подкачки, а также выводит список устройств и файлов, + используемых в данный момент + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="switch_root" name="switch_root"></a><span class= + "term"><span class= + "command"><strong>switch_root</strong></span></span> + </p> + </td> + <td> + <p> + Переключается на другую файловую систему и устанавливает + её в качестве корневой + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="taskset" name="taskset"></a><span class= + "term"><span class= + "command"><strong>taskset</strong></span></span> + </p> + </td> + <td> + <p> + Устанавливает привязку процессора к процессу + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uclampset" name="uclampset"></a><span class= + "term"><span class= + "command"><strong>uclampset</strong></span></span> + </p> + </td> + <td> + <p> + Управляет атрибутами ограничения использования системы + или процесса + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="ul" name="ul"></a><span class="term"><span class= + "command"><strong>ul</strong></span></span> + </p> + </td> + <td> + <p> + Фильтр для преобразования символов подчеркивания в + escape-последовательности + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="umount" name="umount"></a><span class= + "term"><span class= + "command"><strong>umount</strong></span></span> + </p> + </td> + <td> + <p> + Размонтирует файловую систему из дерева ФС + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uname26" name="uname26"></a><span class= + "term"><span class= + "command"><strong>uname26</strong></span></span> + </p> + </td> + <td> + <p> + Символическая ссылка на setarch + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="unshare" name="unshare"></a><span class= + "term"><span class= + "command"><strong>unshare</strong></span></span> + </p> + </td> + <td> + <p> + Позволяет процессу (или потоку) отделить части своего + контекста выполнения, которые используются совместно с + другими процессами (или потоками) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="utmpdump" name="utmpdump"></a><span class= + "term"><span class= + "command"><strong>utmpdump</strong></span></span> + </p> + </td> + <td> + <p> + Отображает содержимое указанного файла входа в систему в + удобном для пользователя формате + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uuidd" name="uuidd"></a><span class= + "term"><span class= + "command"><strong>uuidd</strong></span></span> + </p> + </td> + <td> + <p> + Демон, используемый библиотекой UUID для создания + безопасных и гарантированно уникальных идентификаторов + UUID + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uuidgen" name="uuidgen"></a><span class= + "term"><span class= + "command"><strong>uuidgen</strong></span></span> + </p> + </td> + <td> + <p> + Создает новые идентификаторы (UUID). Каждый новый UUID - + это случайная последовательность, которая, будет с очень + высокой вероятностью (примерно 3,4 х 10 в 38 степени + вариантов) уникальной среди всех идентификаторов, + созданных как на локальной машине, так и на любых других + системах, в прошлом и будущем + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="uuidparse" name="uuidparse"></a><span class= + "term"><span class= + "command"><strong>uuidparse</strong></span></span> + </p> + </td> + <td> + <p> + Утилита для анализа уникальных идентификаторов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="wall" name="wall"></a><span class= + "term"><span class= + "command"><strong>wall</strong></span></span> + </p> + </td> + <td> + <p> + Отображает содержимое файла или, по умолчанию, его вывод + на терминалах всех пользователей, вошедших в систему в + данный момент + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="wdctl" name="wdctl"></a><span class= + "term"><span class= + "command"><strong>wdctl</strong></span></span> + </p> + </td> + <td> + <p> + Показывает статус аппаратного сторожевого таймера + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="whereis" name="whereis"></a><span class= + "term"><span class= + "command"><strong>whereis</strong></span></span> + </p> + </td> + <td> + <p> + Сообщает местоположение двоичного файла, исходного кода и + справочной страницы для указанной команды + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="wipefs" name="wipefs"></a><span class= + "term"><span class= + "command"><strong>wipefs</strong></span></span> + </p> + </td> + <td> + <p> + Стирает с устройства сигнатуру файловой системы + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="x86_64" name="x86_64"></a><span class= + "term"><span class= + "command"><strong>x86_64</strong></span></span> + </p> + </td> + <td> + <p> + Символическая ссылка на setarch + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zramctl" name="zramctl"></a><span class= + "term"><span class= + "command"><strong>zramctl</strong></span></span> + </p> + </td> + <td> + <p> + Программа для настройки и управления устройствами zram + (сжатый RAM-диск) + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libblkid" name="libblkid"></a><span class= + "term"><code class="filename">libblkid</code></span> + </p> + </td> + <td> + <p> + Содержит подпрограммы для идентификации устройства и + извлечения токена + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libfdisk" name="libfdisk"></a><span class= + "term"><code class="filename">libfdisk</code></span> + </p> + </td> + <td> + <p> + Содержит подпрограммы для управления таблицами разделов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libmount" name="libmount"></a><span class= + "term"><code class="filename">libmount</code></span> + </p> + </td> + <td> + <p> + Содержит подпрограммы для монтирования и размонтирования + блочных устройств + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libsmartcols" name="libsmartcols"></a><span class= + "term"><code class="filename">libsmartcols</code></span> + </p> + </td> + <td> + <p> + Содержит подпрограммы для более удобного вывода на экран + информации в табличном виде + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libuuid" name="libuuid"></a><span class= + "term"><code class="filename">libuuid</code></span> + </p> + </td> + <td> + <p> + Содержит подпрограммы для генерации уникальных + идентификаторов для объектов, которые могут быть доступны + за пределами локальной системы + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="procps-ng.html" title= + "Procps-ng-4.0.3">Пред.</a> + <p> + Procps-ng-4.0.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="e2fsprogs.html" title= + "E2fsprogs-1.47.0">След.</a> + <p> + E2fsprogs-1.47.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/vim.html b/lfs-12.0-sysv/chapter08/vim.html new file mode 100644 index 0000000..7ebd94f --- /dev/null +++ b/lfs-12.0-sysv/chapter08/vim.html @@ -0,0 +1,448 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.71. Vim-9.0.1677 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="texinfo.html" title= + "Texinfo-7.0.3">Пред.</a> + <p> + Texinfo-7.0.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="markupsafe.html" title= + "MarkupSafe-2.1.3">След.</a> + <p> + MarkupSafe-2.1.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-vim" name="ch-system-vim"></a>8.71. Vim-9.0.1677 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Vim содержит мощный текстовый редактор. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">2.3 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">229 MB</span> + </div> + </div> + </div> + <div class="admon tip"> + <img alt="[Подсказка]" src="../images/tip.png" /> + <h3> + Альтернативы Vim + </h3> + <p> + .Если вы предпочитаете другой текстовый редактор, например, + Emacs, Joe или Nano, обратитесь к <a class="ulink" href= + "https://mirror.linuxfromscratch.ru/blfs/view/12.0/postlfs/editors.html"> + https://mirror.linuxfromscratch.ru/blfs/view/12.0/postlfs/editors.html</a> + за рекомендациями по установке. + </p> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.71.1. Установка пакета Vim + </h2> + <p> + Во-первых, измените расположение файла конфигурации <code class= + "filename">vimrc</code> на <code class="filename">/etc</code>: + </p> + <pre class="userinput"><kbd class= + "command">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h</kbd></pre> + <p> + Подготовьте Vim к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы подготовить тесты, убедитесь, что пользователь <code class= + "systemitem">tester</code> может писать в исходное дерево: + </p> + <pre class="userinput"><kbd class= + "command">chown -Rv tester .</kbd></pre> + <p> + Теперь запустите тесты от имени пользователя <code class= + "systemitem">tester</code>: + </p> + <pre class="userinput"><kbd class= + "command">su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log</kbd></pre> + <p> + Набор тестов выводит на экран много двоичных данных. Это может + вызвать проблемы с настройками текущего терминала. Чтобы этого + избежать, перенаправьте вывод в файл журнала, как показано выше. + Тест пройден успешно, если в файле журнала по завершении есть + надпись "ALL DONE". + </p> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Многие пользователи рефлекторно набирают <span class= + "command"><strong>vi</strong></span> вместо <span class= + "command"><strong>vim</strong></span>. Чтобы разрешить выполнение + <span class="command"><strong>vim</strong></span>, когда + пользователи вводят <span class= + "command"><strong>vi</strong></span>, создайте символическую ссылку + как для двоичного файла, так и для справочной страницы: + </p> + <pre class="userinput"><kbd class="command">ln -sv vim /usr/bin/vi +for L in /usr/share/man/{,*/}man1/vim.1; do + ln -sv vim.1 $(dirname $L)/vi.1 +done</kbd></pre> + <p> + По умолчанию документация Vim установливается в каталог + <code class="filename">/usr/share/vim</code>. Следующая + символическая ссылка позволяет получить доступ к документации через + каталог <code class="filename">/usr/share/doc/vim-9.0.1677</code>, + что согласуется с расположением документации остальных пакетов: + </p> + <pre class="userinput"><kbd class= + "command">ln -sv ../vim/vim90/doc /usr/share/doc/vim-9.0.1677</kbd></pre> + <p> + Если в LFS будет установлена система X Window, может потребоваться + перекомпилировать Vim после установки X. Vim поставляется с + графической версией редактора, для которой требуется установка X и + некоторых дополнительных библиотек. Для получения дополнительной + информации об этом процессе обратитесь к документации по Vim и + странице установки Vim в книге BLFS по адресу <a class="ulink" + href="https://mirror.linuxfromscratch.ru/blfs/view/12.0/postlfs/vim.html"> + https://mirror.linuxfromscratch.ru/blfs/view/12.0/postlfs/vim.html</a>. + </p> + </div> + <div class="configuration" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="conf-vim" name="conf-vim"></a>8.71.2. Настройка Vim + </h2> + <p> + По умолчанию <span class="command"><strong>vim</strong></span> + работает в режиме, несовместимом с vi. Это может показаться + необычным для пользователей, которые в прошлом использовали другие + редакторы. Параметр <span class="quote">«<span class= + "quote">nocompatible</span>»</span> включен ниже, чтобы подчеркнуть + тот факт, что используется новое поведение. Настройка также + напоминает тем, кто хотел бы перейти в режим <span class= + "quote">«<span class="quote">compatible</span>»</span>, что + параметр должен быть первым в файле конфигурации. Это необходимо, + потому что изменяются другие параметры, и переопределения + происходят после этой настройки. Создайте файл конфигурации + <span class="command"><strong>vim</strong></span> по умолчанию, + выполнив следующие действия: + </p> + <pre class="userinput"><kbd class= + "command">cat > /etc/vimrc << "EOF" +<code class="literal">" Begin /etc/vimrc + +" Ensure defaults are set before customizing settings, not after +source $VIMRUNTIME/defaults.vim +let skip_defaults_vim=1 + +set nocompatible +set backspace=2 +set mouse= +syntax on +if (&term == "xterm") || (&term == "putty") + set background=dark +endif + +" End /etc/vimrc</code> +EOF</kbd></pre> + <p> + Параметр <em class="parameter"><code>set nocompatible</code></em> + заставляет <span class="command"><strong>vim</strong></span> вести + себя более правильно (по умолчанию), чем vi-совместимый способ. + Удалите <span class="quote">«<span class="quote">no</span>»</span>, + чтобы сохранить старое поведение <span class= + "command"><strong>vi</strong></span>. Параметр <em class= + "parameter"><code>set backspace=2</code></em> позволяет удалять + символы через перенос строки, автоматические отступы и начало + вставки. Параметр <em class="parameter"><code>syntax on</code></em> + включает подсветку синтаксиса vim. Параметр <em class= + "parameter"><code>set mouse=</code></em> позволяет правильно + вставлять текст с помощью мыши при работе в chroot или через + удаленное соединение. Наконец, оператор <span class= + "emphasis"><em>if</em></span> с параметром <em class= + "parameter"><code>set background=dark</code></em> корректирует + предположение <span class="command"><strong>vim</strong></span> о + цвете фона некоторых эмуляторов терминала. Это придает подсветке + лучшую цветовую схему для использования на черном фоне этих + программ. + </p> + <p> + Документацию по другим доступным параметрам можно получить, + выполнив следующую команду: + </p> + <pre class="userinput"><kbd class= + "command">vim -c ':options'</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + По умолчанию vim устанавливает файлы проверки орфографии только + для английского языка. Для установки файлов проверки орфографии + других языков, скопируйте файлы <code class= + "filename">.spl</code> и, при необходимости, <code class= + "filename">.sug</code> для вашего языка и кодировки символов из + <code class="filename">runtime/spell</code>, сохраните их в + <code class="filename">/usr/share/vim/vim90/spell/</code>. + </p> + <p> + Чтобы использовать эти файлы проверки орфографии, необходимо + указать параметры для vim в файле <code class= + "filename">/etc/vimrc</code>, пример: + </p> + <pre class="screen"><code class="literal">set spelllang=en,ru +set spell</code></pre> + <p> + Дополнительные сведения смотрите в файле <code class= + "filename">runtime/spell/README.txt</code>. + </p> + </div> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-vim" name="contents-vim"></a>8.71.3. Содержимое + пакета Vim + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">ex (ссылка на vim), rview (ссылка на + vim), rvim (ссылка на vim), vi (ссылка на vim), view (ссылка на + vim), vim, vimdiff (ссылка на vim), vimtutor и xxd</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/share/vim</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="ex" name="ex"></a><span class="term"><span class= + "command"><strong>ex</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>vim</strong></span> в режиме ex + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rview" name="rview"></a><span class= + "term"><span class= + "command"><strong>rview</strong></span></span> + </p> + </td> + <td> + <p> + Это ограниченная версия <span class= + "command"><strong>view</strong></span>; никакие команды + оболочки не могут быть запущены, и <span class= + "command"><strong>view</strong></span> не может быть + приостановлен + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="rvim" name="rvim"></a><span class= + "term"><span class= + "command"><strong>rvim</strong></span></span> + </p> + </td> + <td> + <p> + Это ограниченная версия <span class= + "command"><strong>vim</strong></span>; никакие команды + оболочки не могут быть запущены, и <span class= + "command"><strong>vim</strong></span> не может быть + приостановлен + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vi" name="vi"></a><span class="term"><span class= + "command"><strong>vi</strong></span></span> + </p> + </td> + <td> + <p> + Ссылка на <span class= + "command"><strong>vim</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="view" name="view"></a><span class= + "term"><span class= + "command"><strong>view</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>vim</strong></span> в режиме только для + чтения + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vim" name="vim"></a><span class= + "term"><span class="command"><strong>vim</strong></span></span> + </p> + </td> + <td> + <p> + Сам редактор + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vimdiff" name="vimdiff"></a><span class= + "term"><span class= + "command"><strong>vimdiff</strong></span></span> + </p> + </td> + <td> + <p> + Редактирует две или три версии файла с помощью + <span class="command"><strong>vim</strong></span> и + показывает различия + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="vimtutor" name="vimtutor"></a><span class= + "term"><span class= + "command"><strong>vimtutor</strong></span></span> + </p> + </td> + <td> + <p> + Обучает основным горячим клавишам и командам <span class= + "command"><strong>vim</strong></span> + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xxd" name="xxd"></a><span class= + "term"><span class="command"><strong>xxd</strong></span></span> + </p> + </td> + <td> + <p> + Создает шестнадцатеричный дамп данного файла; он также + может выполнять обратную операцию, поэтому его можно + использовать для бинарных патчей + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="texinfo.html" title= + "Texinfo-7.0.3">Пред.</a> + <p> + Texinfo-7.0.3 + </p> + </li> + <li class="next"> + <a accesskey="n" href="markupsafe.html" title= + "MarkupSafe-2.1.3">След.</a> + <p> + MarkupSafe-2.1.3 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/wheel.html b/lfs-12.0-sysv/chapter08/wheel.html new file mode 100644 index 0000000..1f34b14 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/wheel.html @@ -0,0 +1,158 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.53. Wheel-0.41.1 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="flit-core.html" title= + "Flit-Core-3.9.0">Пред.</a> + <p> + Flit-Core-3.9.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="ninja.html" title="Ninja-1.11.1">След.</a> + <p> + Ninja-1.11.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-wheel" name="ch-system-wheel"></a>8.53. Wheel-0.41.1 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Wheel — это библиотека Python, которая является эталонной + реализацией стандарта упаковки программ на языке Python. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">1.5 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.53.1. Установка пакета Wheel + </h2> + <p> + Скомпилируйте Wheel с помощью следующей команды: + </p> + <pre class="userinput"><kbd class= + "command">pip3 wheel -w dist --no-build-isolation --no-deps $PWD</kbd></pre> + <p> + Установите Wheel: + </p> + <pre class="userinput"><kbd class= + "command">pip3 install --no-index --find-links=dist wheel</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-wheel" name="contents-wheel"></a>8.53.2. Содержимое + пакета Wheel + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">wheel</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/lib/python3.11/site-packages/wheel и + /usr/lib/python3.11/site-packages/wheel-0.41.1.dist-info</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="wheel-wheel" name="wheel-wheel"></a><span class= + "term"><span class= + "command"><strong>wheel</strong></span></span> + </p> + </td> + <td> + <p> + это утилита для распаковки, упаковки или преобразования + wheel-архивов + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="flit-core.html" title= + "Flit-Core-3.9.0">Пред.</a> + <p> + Flit-Core-3.9.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="ninja.html" title="Ninja-1.11.1">След.</a> + <p> + Ninja-1.11.1 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/xml-parser.html b/lfs-12.0-sysv/chapter08/xml-parser.html new file mode 100644 index 0000000..d1c341a --- /dev/null +++ b/lfs-12.0-sysv/chapter08/xml-parser.html @@ -0,0 +1,159 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.43. XML::Parser-2.46 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="perl.html" title="Perl-5.38.0">Пред.</a> + <p> + Perl-5.38.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="intltool.html" title= + "Intltool-0.51.0">След.</a> + <p> + Intltool-0.51.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-xml-parser" name="ch-system-xml-parser"></a>8.43. + XML::Parser-2.46 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Модуль XML::Parser представляет собой Perl-интерфейс к XML-парсеру + Джеймса Кларка Expat. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">2.3 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.43.1. Установка пакета XML::Parser + </h2> + <p> + Подготовьте XML::Parser к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">perl Makefile.PL</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-xml-parser" name="contents-xml-parser"></a>8.43.2. + Содержимое XML::Parser + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленный модуль:</strong> + <span class="segbody">Expat.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="Expat" name="Expat"></a><span class= + "term"><code class="filename">Expat</code></span> + </p> + </td> + <td> + <p> + предоставляет Perl интерфейс для Expat + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="perl.html" title="Perl-5.38.0">Пред.</a> + <p> + Perl-5.38.0 + </p> + </li> + <li class="next"> + <a accesskey="n" href="intltool.html" title= + "Intltool-0.51.0">След.</a> + <p> + Intltool-0.51.0 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/xz.html b/lfs-12.0-sysv/chapter08/xz.html new file mode 100644 index 0000000..67488fc --- /dev/null +++ b/lfs-12.0-sysv/chapter08/xz.html @@ -0,0 +1,531 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.8. Xz-5.4.4 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="bzip2.html" title="Bzip2-1.0.8">Пред.</a> + <p> + Bzip2-1.0.8 + </p> + </li> + <li class="next"> + <a accesskey="n" href="zstd.html" title="Zstd-1.5.5">След.</a> + <p> + Zstd-1.5.5 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-xz" name="ch-system-xz"></a>8.8. Xz-5.4.4 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Xz содержит программы для сжатия и распаковки файлов. Он + предоставляет возможности для lzma и более новых форматов сжатия + xz. Сжатие текстовых файлов с помощью <span class= + "command"><strong>xz</strong></span> дает лучший процент сжатия, + чем с традиционные <span class= + "command"><strong>gzip</strong></span> или <span class= + "command"><strong>bzip2</strong></span>. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">24 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.8.1. Установка пакета Xz + </h2> + <p> + Подготовьте Xz к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/xz-5.4.4</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-xz" name="contents-xz"></a>8.8.2. Содержимое пакета + Xz + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">lzcat (ссылка на xz), lzcmp (ссылка на + xzdiff), lzdiff (ссылка на xzdiff), lzegrep (ссылка на xzgrep), + lzfgrep (ссылка на xzgrep), lzgrep (ссылка на xzgrep), lzless + (ссылка на xzless), lzma (ссылка на xz), lzmadec, lzmainfo, + lzmore (ссылка на xzmore), unlzma (ссылка на xz), unxz (ссылка + на xz), xz, xzcat (ссылка на xz), xzcmp (ссылка на xzdiff), + xzdec, xzdiff, xzegrep (ссылка на xzgrep), xzfgrep (ссылка на + xzgrep), xzgrep, xzless и xzmore</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">liblzma.so</span> + </div> + <div class="seg"> + <strong class="segtitle">Созданные каталоги:</strong> + <span class="segbody">/usr/include/lzma и + /usr/share/doc/xz-5.4.4</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="lzcat" name="lzcat"></a><span class= + "term"><span class= + "command"><strong>lzcat</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает в стандартный поток вывода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzcmp" name="lzcmp"></a><span class= + "term"><span class= + "command"><strong>lzcmp</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>cmp</strong></span> для файлов сжатых + LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzdiff" name="lzdiff"></a><span class= + "term"><span class= + "command"><strong>lzdiff</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>diff</strong></span> для файлов сжатых + LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzegrep" name="lzegrep"></a><span class= + "term"><span class= + "command"><strong>lzegrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>egrep</strong></span> для файлов сжатых + LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzfgrep" name="lzfgrep"></a><span class= + "term"><span class= + "command"><strong>lzfgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>fgrep</strong></span> для файлов сжатых + LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzgrep" name="lzgrep"></a><span class= + "term"><span class= + "command"><strong>lzgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>grep</strong></span> для файлов сжатых + LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzless" name="lzless"></a><span class= + "term"><span class= + "command"><strong>lzless</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>less</strong></span> для файлов сжатых + LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzma" name="lzma"></a><span class= + "term"><span class= + "command"><strong>lzma</strong></span></span> + </p> + </td> + <td> + <p> + Сжимает или распаковывает файлы в формате LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzmadec" name="lzmadec"></a><span class= + "term"><span class= + "command"><strong>lzmadec</strong></span></span> + </p> + </td> + <td> + <p> + Небольшой и быстрый декодер для файлов сжатых LZMA. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzmainfo" name="lzmainfo"></a><span class= + "term"><span class= + "command"><strong>lzmainfo</strong></span></span> + </p> + </td> + <td> + <p> + Показывает информацию, хранящуюся в заголовке сжатого + файла LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="lzmore" name="lzmore"></a><span class= + "term"><span class= + "command"><strong>lzmore</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>more</strong></span> для файлов сжатых + LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="unlzma" name="unlzma"></a><span class= + "term"><span class= + "command"><strong>unlzma</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает файлы в формате LZMA + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="unxz" name="unxz"></a><span class= + "term"><span class= + "command"><strong>unxz</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает файлы в формате XZ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xz" name="xz"></a><span class="term"><span class= + "command"><strong>xz</strong></span></span> + </p> + </td> + <td> + <p> + Сжимает или распаковывает файлы в формате XZ. + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzcat" name="xzcat"></a><span class= + "term"><span class= + "command"><strong>xzcat</strong></span></span> + </p> + </td> + <td> + <p> + Распаковывает в стандартный поток вывода + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzcmp" name="xzcmp"></a><span class= + "term"><span class= + "command"><strong>xzcmp</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>cmp</strong></span> для сжатых XZ + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzdec" name="xzdec"></a><span class= + "term"><span class= + "command"><strong>xzdec</strong></span></span> + </p> + </td> + <td> + <p> + Небольшой и быстрый декодер для файлов сжатых XZ + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzdiff" name="xzdiff"></a><span class= + "term"><span class= + "command"><strong>xzdiff</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>diff</strong></span> для сжатых XZ + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzegrep" name="xzegrep"></a><span class= + "term"><span class= + "command"><strong>xzegrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>egrep</strong></span> для сжатых XZ + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzfgrep" name="xzfgrep"></a><span class= + "term"><span class= + "command"><strong>xzfgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>fgrep</strong></span> для сжатых XZ + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzgrep" name="xzgrep"></a><span class= + "term"><span class= + "command"><strong>xzgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>grep</strong></span> для сжатых XZ + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzless" name="xzless"></a><span class= + "term"><span class= + "command"><strong>xzless</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>less</strong></span> для сжатых XZ + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="xzmore" name="xzmore"></a><span class= + "term"><span class= + "command"><strong>xzmore</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>more</strong></span> для сжатых XZ + файлов + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="liblzma" name="liblzma"></a><span class= + "term"><code class="filename">liblzma</code></span> + </p> + </td> + <td> + <p> + Библиотека, реализующая сжатие данных без потерь с + блочной сортировкой с использованием алгоритма + Lempel-Ziv-Markov + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="bzip2.html" title="Bzip2-1.0.8">Пред.</a> + <p> + Bzip2-1.0.8 + </p> + </li> + <li class="next"> + <a accesskey="n" href="zstd.html" title="Zstd-1.5.5">След.</a> + <p> + Zstd-1.5.5 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/zlib.html b/lfs-12.0-sysv/chapter08/zlib.html new file mode 100644 index 0000000..b1ab8eb --- /dev/null +++ b/lfs-12.0-sysv/chapter08/zlib.html @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.6. Zlib-1.2.13 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="glibc.html" title="Glibc-2.38">Пред.</a> + <p> + Glibc-2.38 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bzip2.html" title="Bzip2-1.0.8">След.</a> + <p> + Bzip2-1.0.8 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-zlib" name="ch-system-zlib"></a>8.6. Zlib-1.2.13 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Пакет Zlib содержит подпрограммы сжатия и распаковки, используемые + некоторыми программами. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">менее 0.1 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">6.2 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.6.1. Установка пакета Zlib + </h2> + <p> + Подготовьте Zlib к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr</kbd></pre> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install</kbd></pre> + <p> + Удалите бесполезную статическую библиотеку: + </p> + <pre class="userinput"><kbd class= + "command">rm -fv /usr/lib/libz.a</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-zlib" name="contents-zlib"></a>8.6.2. Содержимое + пакета Zlib + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libz.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="libz" name="libz"></a><span class= + "term"><code class="filename">libz</code></span> + </p> + </td> + <td> + <p> + Содержит функции сжатия и распаковки, используемые + некоторыми программами. + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="glibc.html" title="Glibc-2.38">Пред.</a> + <p> + Glibc-2.38 + </p> + </li> + <li class="next"> + <a accesskey="n" href="bzip2.html" title="Bzip2-1.0.8">След.</a> + <p> + Bzip2-1.0.8 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> diff --git a/lfs-12.0-sysv/chapter08/zstd.html b/lfs-12.0-sysv/chapter08/zstd.html new file mode 100644 index 0000000..793c233 --- /dev/null +++ b/lfs-12.0-sysv/chapter08/zstd.html @@ -0,0 +1,224 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> + <title> + 8.9. Zstd-1.5.5 + </title> + <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> + <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> + <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= + "text/css" media="print" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + </head> + <body class="lfs" id="lfs-12.0"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.0 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="xz.html" title="Xz-5.4.4">Пред.</a> + <p> + Xz-5.4.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="file.html" title="File-5.45">След.</a> + <p> + File-5.45 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + <div class="wrap" lang="en" xml:lang="en"> + <h1 class="sect1"> + <a id="ch-system-zstd" name="ch-system-zstd"></a>8.9. Zstd-1.5.5 + </h1> + <div class="package" lang="en" xml:lang="en"> + <p> + Zstandard — это алгоритм сжатия в реальном времени, обеспечивающий + высокую степень сжатия. Он предлагает очень широкий диапазон + компромиссов между сжатием и скоростью при поддержке очень быстрого + декодера. + </p> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Приблизительное время сборки:</strong> + <span class="segbody">0.4 SBU</span> + </div> + <div class="seg"> + <strong class="segtitle">Требуемое дисковое + пространство:</strong> <span class="segbody">77 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="en" xml:lang="en"> + <h2 class="sect2"> + 8.9.1. Установка пакета Zstd + </h2> + <p> + Скомпилируйте пакет: + </p> + <pre class="userinput"><kbd class= + "command">make prefix=/usr</kbd></pre> + <div class="admon note"> + <img alt="[Примечание]" src="../images/note.png" /> + <h3> + Примечание + </h3> + <p> + В выходных данных теста есть несколько мест, выводящих сообщение + 'failed'. Они ожидаемы, и только 'FAIL' является фактическим + сбоем теста. Сбоев при тестировании быть не должно. + </p> + </div> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make check</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class= + "command">make prefix=/usr install</kbd></pre> + <p> + Удалите статическую библиотеку: + </p> + <pre class="userinput"><kbd class= + "command">rm -v /usr/lib/libzstd.a</kbd></pre> + </div> + <div class="content" lang="en" xml:lang="en"> + <h2 class="sect2"> + <a id="contents-zstd" name="contents-zstd"></a>8.9.2. Содержимое + пакета Zstd + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">zstd, zstdcat (ссылка на zstd), zstdgrep, + zstdless, zstdmt (ссылка на zstd) и unzstd (ссылка на + zstd)</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libzstd.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="zstd" name="zstd"></a><span class= + "term"><span class= + "command"><strong>zstd</strong></span></span> + </p> + </td> + <td> + <p> + Сжимает или распаковывает файлы в формате ZSTD + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zstdgrep" name="zstdgrep"></a><span class= + "term"><span class= + "command"><strong>zstdgrep</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>grep</strong></span> на сжатых ZSTD + файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="zstdless" name="zstdless"></a><span class= + "term"><span class= + "command"><strong>zstdless</strong></span></span> + </p> + </td> + <td> + <p> + Запускает <span class= + "command"><strong>less</strong></span> на сжатых ZSTD + файлах + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libzstd" name="libzstd"></a><span class= + "term"><code class="filename">libzstd</code></span> + </p> + </td> + <td> + <p> + Библиотека, реализующая сжатие данных без потерь, с + использованием алгоритма ZSTD + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="xz.html" title="Xz-5.4.4">Пред.</a> + <p> + Xz-5.4.4 + </p> + </li> + <li class="next"> + <a accesskey="n" href="file.html" title="File-5.45">След.</a> + <p> + File-5.45 + </p> + </li> + <li class="up"> + <a accesskey="u" href="chapter08.html" title= + "Глава 8. Установка базового системного программного обеспечения">Наверх</a> + </li> + <li class="home"> + <a accesskey="h" href="../index.html" title= + "Линукс с нуля - Версия 12.0">Начало</a> + </li> + </ul> + </div> + </body> +</html> |