summaryrefslogtreecommitdiff
path: root/lfs-12.2-sysv/chapter08
diff options
context:
space:
mode:
authorSn4il <sn4il@thedroth.rocks>2024-09-02 15:54:35 +0300
committerSn4il <sn4il@thedroth.rocks>2024-09-02 15:54:35 +0300
commit2203e654b389586650d553251b04544a34f189bf (patch)
tree0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.2-sysv/chapter08
parent200d528e55ca954d37769f4d143f10c9519b00e7 (diff)
downloadsn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz
sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip
LFS 12.2
Diffstat (limited to 'lfs-12.2-sysv/chapter08')
-rw-r--r--lfs-12.2-sysv/chapter08/Python.html395
-rw-r--r--lfs-12.2-sysv/chapter08/aboutdebug.html136
-rw-r--r--lfs-12.2-sysv/chapter08/acl.html215
-rw-r--r--lfs-12.2-sysv/chapter08/attr.html214
-rw-r--r--lfs-12.2-sysv/chapter08/autoconf.html289
-rw-r--r--lfs-12.2-sysv/chapter08/automake.html233
-rw-r--r--lfs-12.2-sysv/chapter08/bash.html266
-rw-r--r--lfs-12.2-sysv/chapter08/bc.html214
-rw-r--r--lfs-12.2-sysv/chapter08/binutils.html643
-rw-r--r--lfs-12.2-sysv/chapter08/bison.html205
-rw-r--r--lfs-12.2-sysv/chapter08/bzip2.html394
-rw-r--r--lfs-12.2-sysv/chapter08/chapter08.html343
-rw-r--r--lfs-12.2-sysv/chapter08/check.html180
-rw-r--r--lfs-12.2-sysv/chapter08/cleanup.html120
-rw-r--r--lfs-12.2-sysv/chapter08/coreutils.html1801
-rw-r--r--lfs-12.2-sysv/chapter08/dejagnu.html184
-rw-r--r--lfs-12.2-sysv/chapter08/diffutils.html201
-rw-r--r--lfs-12.2-sysv/chapter08/e2fsprogs.html775
-rw-r--r--lfs-12.2-sysv/chapter08/expat.html187
-rw-r--r--lfs-12.2-sysv/chapter08/expect.html260
-rw-r--r--lfs-12.2-sysv/chapter08/file.html180
-rw-r--r--lfs-12.2-sysv/chapter08/findutils.html238
-rw-r--r--lfs-12.2-sysv/chapter08/flex.html230
-rw-r--r--lfs-12.2-sysv/chapter08/flit-core.html196
-rw-r--r--lfs-12.2-sysv/chapter08/gawk.html248
-rw-r--r--lfs-12.2-sysv/chapter08/gcc.html911
-rw-r--r--lfs-12.2-sysv/chapter08/gdbm.html243
-rw-r--r--lfs-12.2-sysv/chapter08/gettext.html594
-rw-r--r--lfs-12.2-sysv/chapter08/glibc.html1315
-rw-r--r--lfs-12.2-sysv/chapter08/gmp.html268
-rw-r--r--lfs-12.2-sysv/chapter08/gperf.html163
-rw-r--r--lfs-12.2-sysv/chapter08/grep.html195
-rw-r--r--lfs-12.2-sysv/chapter08/groff.html897
-rw-r--r--lfs-12.2-sysv/chapter08/grub.html599
-rw-r--r--lfs-12.2-sysv/chapter08/gzip.html365
-rw-r--r--lfs-12.2-sysv/chapter08/iana-etc.html163
-rw-r--r--lfs-12.2-sysv/chapter08/inetutils.html369
-rw-r--r--lfs-12.2-sysv/chapter08/intltool.html245
-rw-r--r--lfs-12.2-sysv/chapter08/introduction.html174
-rw-r--r--lfs-12.2-sysv/chapter08/iproute2.html432
-rw-r--r--lfs-12.2-sysv/chapter08/jinja2.html128
-rw-r--r--lfs-12.2-sysv/chapter08/kbd.html586
-rw-r--r--lfs-12.2-sysv/chapter08/kmod.html330
-rw-r--r--lfs-12.2-sysv/chapter08/less.html209
-rw-r--r--lfs-12.2-sysv/chapter08/libcap.html258
-rw-r--r--lfs-12.2-sysv/chapter08/libelf.html169
-rw-r--r--lfs-12.2-sysv/chapter08/libffi.html210
-rw-r--r--lfs-12.2-sysv/chapter08/libpipeline.html158
-rw-r--r--lfs-12.2-sysv/chapter08/libtool.html211
-rw-r--r--lfs-12.2-sysv/chapter08/libxcrypt.html225
-rw-r--r--lfs-12.2-sysv/chapter08/lz4.html217
-rw-r--r--lfs-12.2-sysv/chapter08/m4.html168
-rw-r--r--lfs-12.2-sysv/chapter08/make.html161
-rw-r--r--lfs-12.2-sysv/chapter08/man-db.html761
-rw-r--r--lfs-12.2-sysv/chapter08/man-pages.html156
-rw-r--r--lfs-12.2-sysv/chapter08/markupsafe.html128
-rw-r--r--lfs-12.2-sysv/chapter08/meson.html192
-rw-r--r--lfs-12.2-sysv/chapter08/mpc.html164
-rw-r--r--lfs-12.2-sysv/chapter08/mpfr.html175
-rw-r--r--lfs-12.2-sysv/chapter08/ncurses.html527
-rw-r--r--lfs-12.2-sysv/chapter08/ninja.html209
-rw-r--r--lfs-12.2-sysv/chapter08/openssl.html287
-rw-r--r--lfs-12.2-sysv/chapter08/patch.html165
-rw-r--r--lfs-12.2-sysv/chapter08/perl.html691
-rw-r--r--lfs-12.2-sysv/chapter08/pkgconf.html208
-rw-r--r--lfs-12.2-sysv/chapter08/pkgmgt.html539
-rw-r--r--lfs-12.2-sysv/chapter08/procps-ng.html419
-rw-r--r--lfs-12.2-sysv/chapter08/psmisc.html249
-rw-r--r--lfs-12.2-sysv/chapter08/readline.html242
-rw-r--r--lfs-12.2-sysv/chapter08/sed.html163
-rw-r--r--lfs-12.2-sysv/chapter08/setuptools.html128
-rw-r--r--lfs-12.2-sysv/chapter08/shadow.html955
-rw-r--r--lfs-12.2-sysv/chapter08/stripping.html224
-rw-r--r--lfs-12.2-sysv/chapter08/sysklogd.html195
-rw-r--r--lfs-12.2-sysv/chapter08/sysvinit.html313
-rw-r--r--lfs-12.2-sysv/chapter08/tar.html194
-rw-r--r--lfs-12.2-sysv/chapter08/tcl.html293
-rw-r--r--lfs-12.2-sysv/chapter08/texinfo.html334
-rw-r--r--lfs-12.2-sysv/chapter08/udev.html405
-rw-r--r--lfs-12.2-sysv/chapter08/util-linux.html1929
-rw-r--r--lfs-12.2-sysv/chapter08/vim.html449
-rw-r--r--lfs-12.2-sysv/chapter08/wheel.html160
-rw-r--r--lfs-12.2-sysv/chapter08/xml-parser.html159
-rw-r--r--lfs-12.2-sysv/chapter08/xz.html531
-rw-r--r--lfs-12.2-sysv/chapter08/zlib.html162
-rw-r--r--lfs-12.2-sysv/chapter08/zstd.html224
86 files changed, 30240 insertions, 0 deletions
diff --git a/lfs-12.2-sysv/chapter08/Python.html b/lfs-12.2-sysv/chapter08/Python.html
new file mode 100644
index 0000000..c85ec03
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/Python.html
@@ -0,0 +1,395 @@
+<!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. Python-3.12.5
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="libffi.html" title="Libffi-3.4.6">Пред.</a>
+ <p>
+ Libffi-3.4.6
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-Python" name="ch-system-Python"></a>8.52.
+ Python-3.12.5
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Python 3 содержит среду разработчика Python. Его можно
+ использовать для объектно-ориентированного программирования,
+ написания скриптов, прототипирования больших программ и разработка
+ целых приложений. Python — это интерпретируемый язык
+ программирования.
+ </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">530 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.52.1. Установка пакета Python 3
+ </h2>
+ <p>
+ Подготовьте Python к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --enable-shared \
+ --with-system-expat \
+ --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>--enable-optimizations</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр позволяет выполнить обширные, но отнимающие
+ много времени, действия по оптимизации. Интерпретатор
+ собирается дважды; тесты, выполненные при первой сборке,
+ используются для улучшения финальной версии.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make</kbd></pre>
+ <p>
+ Известно, что некоторые тесты <span class=
+ "command"><strong>Python</strong></span> иногда зависают на
+ неопределенный срок. Чтобы протестировать пакет, запустите набор
+ тестов, установив 2-минутный лимит времени для каждого тестового
+ примера:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">make test TESTOPTS="--timeout 120"</kbd></pre>
+ <p>
+ На медленной системе вам может потребоваться ещё увеличить
+ ограничение по времени, и 1 SBU (измеряется при сборке Binutils -
+ Проход 1 с использованием одного ядра ЦП) должно быть достаточно. В
+ процессе выполнения некоторых тестов бывают сбои, поэтому набор
+ тестов автоматически перезапускает неудачно завершённые тесты. Если
+ сначала тест не пройден, но пройден при повторном запуске, его
+ следует считать пройденным.
+ </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 &gt; /etc/pip.conf &lt;&lt; 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.12.5/html
+
+tar --no-same-owner \
+ -xvf ../python-3.12.5-docs-html.tar.bz2
+cp -R --no-preserve=mode python-3.12.5-docs-html/* \
+ /usr/share/doc/python-3.12.5/html</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>
+ (tar) и <code class="option">--no-preserve=mode</code>
+ (cp)</span>
+ </dt>
+ <dd>
+ <p>
+ Параметры обеспечивают, что установленные файлы имеют
+ корректные права и владельца файлов. Использование
+ <span class="application">tar</span> без этих параметров
+ приведет к установке файлов с правами пользователя создавшего
+ архив и файлы будут иметь ограниченные разрешения.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-python" name="contents-python"></a>8.52.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.12.so и libpython3.so</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Созданные каталоги:</strong>
+ <span class="segbody">/usr/include/python3.12, /usr/lib/python3
+ и /usr/share/doc/python-3.12.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="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.6">Пред.</a>
+ <p>
+ Libffi-3.4.6
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/aboutdebug.html b/lfs-12.2-sysv/chapter08/aboutdebug.html
new file mode 100644
index 0000000..db2f477
--- /dev/null
+++ b/lfs-12.2-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.83. Об отладочных символах
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="sysvinit.html" title=
+ "SysVinit-3.10">Пред.</a>
+ <p>
+ SysVinit-3.10
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-aboutdebug" name="ch-system-aboutdebug"></a>8.83. Об
+ отладочных символах
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <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.10">Пред.</a>
+ <p>
+ SysVinit-3.10
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/acl.html b/lfs-12.2-sysv/chapter08/acl.html
new file mode 100644
index 0000000..e87194c
--- /dev/null
+++ b/lfs-12.2-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.25. Acl-2.3.2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="attr.html" title="Attr-2.5.2">Пред.</a>
+ <p>
+ Attr-2.5.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="libcap.html" title="Libcap-2.70">След.</a>
+ <p>
+ Libcap-2.70
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-acl" name="ch-system-acl"></a>8.25. Acl-2.3.2
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.3 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.25.1. Установка пакета Acl
+ </h2>
+ <p>
+ Подготовьте Acl к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --disable-static \
+ --docdir=/usr/share/doc/acl-2.3.2</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-acl" name="contents-acl"></a>8.25.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.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="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.2">Пред.</a>
+ <p>
+ Attr-2.5.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="libcap.html" title="Libcap-2.70">След.</a>
+ <p>
+ Libcap-2.70
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/attr.html b/lfs-12.2-sysv/chapter08/attr.html
new file mode 100644
index 0000000..ad0325c
--- /dev/null
+++ b/lfs-12.2-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.24. Attr-2.5.2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">След.</a>
+ <p>
+ Acl-2.3.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-attr" name="ch-system-attr"></a>8.24. Attr-2.5.2
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.24.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.2</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-attr" name="contents-attr"></a>8.24.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.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="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.2">След.</a>
+ <p>
+ Acl-2.3.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/autoconf.html b/lfs-12.2-sysv/chapter08/autoconf.html
new file mode 100644
index 0000000..fb75312
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/autoconf.html
@@ -0,0 +1,289 @@
+<!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. Autoconf-2.72
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.17">След.</a>
+ <p>
+ Automake-1.17
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-autoconf" name="ch-system-autoconf"></a>8.46.
+ Autoconf-2.72
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Autoconf содержит программы для создания сценариев оболочки,
+ которые могут автоматически настраивать исходный код.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">менее 0.1 SBU (около 1.8 SBU с
+ тестами)</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">25 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.46.1. Установка пакета Autoconf
+ </h2>
+ <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>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-autoconf" name="contents-autoconf"></a>8.46.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.17">След.</a>
+ <p>
+ Automake-1.17
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/automake.html b/lfs-12.2-sysv/chapter08/automake.html
new file mode 100644
index 0000000..db7e729
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/automake.html
@@ -0,0 +1,233 @@
+<!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. Automake-1.17
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="autoconf.html" title=
+ "Autoconf-2.72">Пред.</a>
+ <p>
+ Autoconf-2.72
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="openssl.html" title=
+ "OpenSSL-3.3.1">След.</a>
+ <p>
+ OpenSSL-3.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-automake" name="ch-system-automake"></a>8.47.
+ Automake-1.17
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Automake содержит программы генерации Makefile для
+ использования с Autoconf.
+ </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">121 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.47.1. Установка пакета Automake
+ </h2>
+ <p>
+ Подготовьте Automake к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr --docdir=/usr/share/doc/automake-1.17</kbd></pre>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make</kbd></pre>
+ <p>
+ Использование четырех параллельных заданий ускоряет тестирование
+ даже на системах с меньшим количеством логических ядер из-за
+ внутренних задержек в отдельных тестах. Чтобы протестировать пакет,
+ выполните:
+ </p>
+ <pre class="userinput"><kbd class="command">make <em class=
+ "replaceable"><code>-j$(($(nproc)&gt;4?$(nproc):4))</code></em> check</kbd></pre>
+ <p>
+ Замените <em class="replaceable"><code>$((...))</code></em>
+ количеством логических ядер, которые вы хотите использовать, если
+ вы не планируете использовать все.
+ </p>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-automake" name="contents-automake"></a>8.47.2.
+ Содержимое пакета Automake
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Установленные программы:</strong>
+ <span class="segbody">aclocal, aclocal-1.17 (жестко связан с
+ aclocal), automake, и automake-1.17 (жестко связан с
+ automake)</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Созданные каталоги:</strong>
+ <span class="segbody">/usr/share/aclocal-1.17,
+ /usr/share/automake-1.17, и /usr/share/doc/automake-1.17</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.17</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.17</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.72">Пред.</a>
+ <p>
+ Autoconf-2.72
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="openssl.html" title=
+ "OpenSSL-3.3.1">След.</a>
+ <p>
+ OpenSSL-3.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/bash.html b/lfs-12.2-sysv/chapter08/bash.html
new file mode 100644
index 0000000..ed0e083
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/bash.html
@@ -0,0 +1,266 @@
+<!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. Bash-5.2.32
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-bash" name="ch-system-bash"></a>8.36. Bash-5.2.32
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Bash содержит Bourne-Again Shell.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">1.2 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">52 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.36.1. Установка пакета Bash
+ </h2>
+ <p>
+ Подготовьте Bash к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --without-bash-malloc \
+ --with-installed-readline \
+ bash_cv_strtold_broken=no \
+ --docdir=/usr/share/doc/bash-5.2.32</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 -R 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 &lt;&lt; "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">&lt;</code> и <code class=
+ "computeroutput">&gt;</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-bash" name="contents-bash"></a>8.36.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.32</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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/bc.html b/lfs-12.2-sysv/chapter08/bc.html
new file mode 100644
index 0000000..0805dd5
--- /dev/null
+++ b/lfs-12.2-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.14. Bc-6.7.6
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-bc" name="ch-system-bc"></a>8.14. Bc-6.7.6
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.8 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.14.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>
+ Чтобы протестировать пакет, выполните:
+ </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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-bc" name="contents-bc"></a>8.14.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/binutils.html b/lfs-12.2-sysv/chapter08/binutils.html
new file mode 100644
index 0000000..f484736
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/binutils.html
@@ -0,0 +1,643 @@
+<!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. Binutils-2.43.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="pkgconf.html" title=
+ "Pkgconf-2.3.0">Пред.</a>
+ <p>
+ Pkgconf-2.3.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-binutils" name="ch-system-binutils"></a>8.20.
+ Binutils-2.43.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Binutils содержит компоновщик, ассемблер и другие инструменты
+ для работы с объектными файлами.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">2.0 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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.20.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 \
+ --enable-new-dtags \
+ --with-system-zlib \
+ --enable-default-hash-style=gnu</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>--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>
+ Установите пакет:
+ </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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-binutils" name="contents-binutils"></a>8.20.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="pkgconf.html" title=
+ "Pkgconf-2.3.0">Пред.</a>
+ <p>
+ Pkgconf-2.3.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/bison.html b/lfs-12.2-sysv/chapter08/bison.html
new file mode 100644
index 0000000..50fe853
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/bison.html
@@ -0,0 +1,205 @@
+<!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. Bison-3.8.2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="gettext.html" title=
+ "Gettext-0.22.5">Пред.</a>
+ <p>
+ Gettext-0.22.5
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-bison" name="ch-system-bison"></a>8.34. Bison-3.8.2
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.34.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-bison" name="contents-bison"></a>8.34.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.5">Пред.</a>
+ <p>
+ Gettext-0.22.5
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/bzip2.html b/lfs-12.2-sysv/chapter08/bzip2.html
new file mode 100644
index 0000000..3298fdc
--- /dev/null
+++ b/lfs-12.2-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 Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="zlib.html" title="Zlib-1.3.1">Пред.</a>
+ <p>
+ Zlib-1.3.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="xz.html" title="Xz-5.6.2">След.</a>
+ <p>
+ Xz-5.6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-bzip2" name="ch-system-bzip2"></a>8.7. Bzip2-1.0.8
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <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.3.1">Пред.</a>
+ <p>
+ Zlib-1.3.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="xz.html" title="Xz-5.6.2">След.</a>
+ <p>
+ Xz-5.6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/chapter08.html b/lfs-12.2-sysv/chapter08/chapter08.html
new file mode 100644
index 0000000..5bbd44a
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/chapter08.html
@@ -0,0 +1,343 @@
+<!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 Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Часть&nbsp;IV.&nbsp;Сборка системы 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=
+ "Часть&nbsp;IV.&nbsp;Сборка системы LFS">Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="chapter">
+ <a id="chapter-building-system" name="chapter-building-system"></a>8.
+ Установка базового системного программного обеспечения
+ </h1>
+ <div class="chapter" lang="ru" xml:lang="ru">
+ <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.9.1</a>
+ </li>
+ <li class="sect1">
+ <a href="iana-etc.html">Iana-Etc-20240806</a>
+ </li>
+ <li class="sect1">
+ <a href="glibc.html">Glibc-2.40</a>
+ </li>
+ <li class="sect1">
+ <a href="zlib.html">Zlib-1.3.1</a>
+ </li>
+ <li class="sect1">
+ <a href="bzip2.html">Bzip2-1.0.8</a>
+ </li>
+ <li class="sect1">
+ <a href="xz.html">Xz-5.6.2</a>
+ </li>
+ <li class="sect1">
+ <a href="lz4.html">Lz4-1.10.0</a>
+ </li>
+ <li class="sect1">
+ <a href="zstd.html">Zstd-1.5.6</a>
+ </li>
+ <li class="sect1">
+ <a href="file.html">File-5.45</a>
+ </li>
+ <li class="sect1">
+ <a href="readline.html">Readline-8.2.13</a>
+ </li>
+ <li class="sect1">
+ <a href="m4.html">M4-1.4.19</a>
+ </li>
+ <li class="sect1">
+ <a href="bc.html">Bc-6.7.6</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.14</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="pkgconf.html">Pkgconf-2.3.0</a>
+ </li>
+ <li class="sect1">
+ <a href="binutils.html">Binutils-2.43.1</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.1</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.2</a>
+ </li>
+ <li class="sect1">
+ <a href="acl.html">Acl-2.3.2</a>
+ </li>
+ <li class="sect1">
+ <a href="libcap.html">Libcap-2.70</a>
+ </li>
+ <li class="sect1">
+ <a href="libxcrypt.html">Libxcrypt-4.4.36</a>
+ </li>
+ <li class="sect1">
+ <a href="shadow.html">Shadow-4.16.0</a>
+ </li>
+ <li class="sect1">
+ <a href="gcc.html">GCC-14.2.0</a>
+ </li>
+ <li class="sect1">
+ <a href="ncurses.html">Ncurses-6.5</a>
+ </li>
+ <li class="sect1">
+ <a href="sed.html">Sed-4.9</a>
+ </li>
+ <li class="sect1">
+ <a href="psmisc.html">Psmisc-23.7</a>
+ </li>
+ <li class="sect1">
+ <a href="gettext.html">Gettext-0.22.5</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.32</a>
+ </li>
+ <li class="sect1">
+ <a href="libtool.html">Libtool-2.4.7</a>
+ </li>
+ <li class="sect1">
+ <a href="gdbm.html">GDBM-1.24</a>
+ </li>
+ <li class="sect1">
+ <a href="gperf.html">Gperf-3.1</a>
+ </li>
+ <li class="sect1">
+ <a href="expat.html">Expat-2.6.2</a>
+ </li>
+ <li class="sect1">
+ <a href="inetutils.html">Inetutils-2.5</a>
+ </li>
+ <li class="sect1">
+ <a href="less.html">Less-661</a>
+ </li>
+ <li class="sect1">
+ <a href="perl.html">Perl-5.40.0</a>
+ </li>
+ <li class="sect1">
+ <a href="xml-parser.html">XML::Parser-2.47</a>
+ </li>
+ <li class="sect1">
+ <a href="intltool.html">Intltool-0.51.0</a>
+ </li>
+ <li class="sect1">
+ <a href="autoconf.html">Autoconf-2.72</a>
+ </li>
+ <li class="sect1">
+ <a href="automake.html">Automake-1.17</a>
+ </li>
+ <li class="sect1">
+ <a href="openssl.html">OpenSSL-3.3.1</a>
+ </li>
+ <li class="sect1">
+ <a href="kmod.html">Kmod-33</a>
+ </li>
+ <li class="sect1">
+ <a href="libelf.html">Libelf из Elfutils-0.191</a>
+ </li>
+ <li class="sect1">
+ <a href="libffi.html">Libffi-3.4.6</a>
+ </li>
+ <li class="sect1">
+ <a href="Python.html">Python-3.12.5</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.44.0</a>
+ </li>
+ <li class="sect1">
+ <a href="setuptools.html">Setuptools-72.2.0</a>
+ </li>
+ <li class="sect1">
+ <a href="ninja.html">Ninja-1.12.1</a>
+ </li>
+ <li class="sect1">
+ <a href="meson.html">Meson-1.5.1</a>
+ </li>
+ <li class="sect1">
+ <a href="coreutils.html">Coreutils-9.5</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.3.0</a>
+ </li>
+ <li class="sect1">
+ <a href="findutils.html">Findutils-4.10.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.12</a>
+ </li>
+ <li class="sect1">
+ <a href="gzip.html">Gzip-1.13</a>
+ </li>
+ <li class="sect1">
+ <a href="iproute2.html">IPRoute2-6.10.0</a>
+ </li>
+ <li class="sect1">
+ <a href="kbd.html">Kbd-2.6.4</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.1</a>
+ </li>
+ <li class="sect1">
+ <a href="vim.html">Vim-9.1.0660</a>
+ </li>
+ <li class="sect1">
+ <a href="markupsafe.html">MarkupSafe-2.1.5</a>
+ </li>
+ <li class="sect1">
+ <a href="jinja2.html">Jinja2-3.1.4</a>
+ </li>
+ <li class="sect1">
+ <a href="udev.html">Udev из Systemd-256.4</a>
+ </li>
+ <li class="sect1">
+ <a href="man-db.html">Man-DB-2.12.1</a>
+ </li>
+ <li class="sect1">
+ <a href="procps-ng.html">Procps-ng-4.0.4</a>
+ </li>
+ <li class="sect1">
+ <a href="util-linux.html">Util-linux-2.40.2</a>
+ </li>
+ <li class="sect1">
+ <a href="e2fsprogs.html">E2fsprogs-1.47.1</a>
+ </li>
+ <li class="sect1">
+ <a href="sysklogd.html">Sysklogd-2.6.1</a>
+ </li>
+ <li class="sect1">
+ <a href="sysvinit.html">SysVinit-3.10</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=
+ "Часть&nbsp;IV.&nbsp;Сборка системы LFS">Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/check.html b/lfs-12.2-sysv/chapter08/check.html
new file mode 100644
index 0000000..36fe116
--- /dev/null
+++ b/lfs-12.2-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.59. Check-0.15.2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="coreutils.html" title=
+ "Coreutils-9.5">Пред.</a>
+ <p>
+ Coreutils-9.5
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-check" name="ch-system-check"></a>8.59. Check-0.15.2
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Check - это фреймворк модульного тестирования для языка C.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">0.1 SBU (около 2.1 SBU с тестами)</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">11 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.59.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-check" name="contents-check"></a>8.59.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.5">Пред.</a>
+ <p>
+ Coreutils-9.5
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/cleanup.html b/lfs-12.2-sysv/chapter08/cleanup.html
new file mode 100644
index 0000000..97276c0
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/cleanup.html
@@ -0,0 +1,120 @@
+<!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.85. Очистка
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-cleanup" name="ch-system-cleanup"></a>8.85. Очистка
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <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.2/introduction/la-files.html">
+ "О файлах Libtool Archive (.la)"</a>.
+ </p>
+ <p>
+ Компилятор, собранный в <a class="xref" href=
+ "../chapter06/chapter06.html" title=
+ "Глава 6. Кросс-Компиляция временных инструментов">Глава&nbsp;6</a> и
+ <a class="xref" href="../chapter07/chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Глава&nbsp;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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/coreutils.html b/lfs-12.2-sysv/chapter08/coreutils.html
new file mode 100644
index 0000000..d6d4972
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/coreutils.html
@@ -0,0 +1,1801 @@
+<!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. Coreutils-9.5
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="meson.html" title="Meson-1.5.1">Пред.</a>
+ <p>
+ Meson-1.5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-coreutils" name="ch-system-coreutils"></a>8.58.
+ Coreutils-9.5
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Coreutils содержит основные утилиты, необходимые каждой
+ операционной системе.
+ </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">173 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.58.1. Установка пакета Coreutils
+ </h2>
+ <p>
+ Стандарт POSIX требует, чтобы программы пакета Coreutils правильно
+ распознавали символы даже в случае, если используются многобайтовые
+ локали. Следующий патч исправляет несоответствие этому требованию,
+ а также другие ошибки, касающиеся интернационализации:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">patch -Np1 -i ../coreutils-9.5-i18n-2.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 -R tester . </kbd></pre>
+ <p>
+ Теперь запустите тесты (используя <code class=
+ "filename">/dev/null</code> для стандартного ввода, иначе два теста
+ могут быть не пройдены при сборке LFS в графическом терминале, или
+ сеансе SSH, или GNU Screen, поскольку стандартный ввод подключен к
+ PTY из хост-дистрибутива, а узел устройства для такого PTY
+ недоступен из среды chroot LFS):
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \
+ &lt; /dev/null</kbd></pre>
+ <p>
+ Удалить временную группу:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">groupdel dummy</kbd></pre>
+ <p>
+ Известно, что два теста, <code class=
+ "filename">tests/cp/preserve-mode.sh</code> и <code class=
+ "filename">tests/mv/acl.sh</code>, завершаются неудачно в среде
+ chroot, но проходят успешно в собранной системе.
+ </p>
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-coreutils" name="contents-coreutils"></a>8.58.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>
+ Повторно выводит <code class="literal">y</code> или
+ указанную строку, до тех пор, пока команда не будет
+ завершена с помощью 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.5.1">Пред.</a>
+ <p>
+ Meson-1.5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/dejagnu.html b/lfs-12.2-sysv/chapter08/dejagnu.html
new file mode 100644
index 0000000..895517c
--- /dev/null
+++ b/lfs-12.2-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.18. DejaGNU-1.6.3
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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="pkgconf.html" title=
+ "Pkgconf-2.3.0">След.</a>
+ <p>
+ Pkgconf-2.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-dejagnu" name="ch-system-dejagnu"></a>8.18.
+ DejaGNU-1.6.3
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.18.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 check</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>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-dejagnu" name="contents-dejagnu"></a>8.18.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="pkgconf.html" title=
+ "Pkgconf-2.3.0">След.</a>
+ <p>
+ Pkgconf-2.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/diffutils.html b/lfs-12.2-sysv/chapter08/diffutils.html
new file mode 100644
index 0000000..ff7f150
--- /dev/null
+++ b/lfs-12.2-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.60. Diffutils-3.10
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.3.0">След.</a>
+ <p>
+ Gawk-5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-diffutils" name="ch-system-diffutils"></a>8.60.
+ Diffutils-3.10
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">42 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.60.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-diffutils" name="contents-diffutils"></a>8.60.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.3.0">След.</a>
+ <p>
+ Gawk-5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/e2fsprogs.html b/lfs-12.2-sysv/chapter08/e2fsprogs.html
new file mode 100644
index 0000000..dd7043c
--- /dev/null
+++ b/lfs-12.2-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.80. E2fsprogs-1.47.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="util-linux.html" title=
+ "Util-linux-2.40.2">Пред.</a>
+ <p>
+ Util-linux-2.40.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="sysklogd.html" title=
+ "Sysklogd-2.6.1">След.</a>
+ <p>
+ Sysklogd-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-e2fsprogs" name="ch-system-e2fsprogs"></a>8.80.
+ E2fsprogs-1.47.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.5 SBU на SSD
+ диске</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">98 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.80.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="conf-e2fsprogs" name="conf-e2fsprogs"></a>8.80.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>
+ Подробности читайте на странице руководства <a class="ulink" href=
+ "https://man.archlinux.org/man/mke2fs.conf.5">mke2fs.conf(5)</a>.
+ </p>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-e2fsprogs" name="contents-e2fsprogs"></a>8.80.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.40.2">Пред.</a>
+ <p>
+ Util-linux-2.40.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="sysklogd.html" title=
+ "Sysklogd-2.6.1">След.</a>
+ <p>
+ Sysklogd-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/expat.html b/lfs-12.2-sysv/chapter08/expat.html
new file mode 100644
index 0000000..78fc7a3
--- /dev/null
+++ b/lfs-12.2-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.40. Expat-2.6.2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.5">След.</a>
+ <p>
+ Inetutils-2.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-expat" name="ch-system-expat"></a>8.40. Expat-2.6.2
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">13 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.40.1. Установка пакета Expat
+ </h2>
+ <p>
+ Подготовьте Expat к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --disable-static \
+ --docdir=/usr/share/doc/expat-2.6.2</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.6.2</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-expat" name="contents-expat"></a>8.40.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.6.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="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.5">След.</a>
+ <p>
+ Inetutils-2.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/expect.html b/lfs-12.2-sysv/chapter08/expect.html
new file mode 100644
index 0000000..5c02507
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/expect.html
@@ -0,0 +1,260 @@
+<!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. Expect-5.45.4
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="tcl.html" title="Tcl-8.6.14">Пред.</a>
+ <p>
+ Tcl-8.6.14
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-expect" name="ch-system-expect"></a>8.17.
+ Expect-5.45.4
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.17.1. Установка пакета Expect
+ </h2>
+ <p>
+ Expect для работы необходим псевдотерминал(PTY). Убедитесь, что PTY
+ работают правильно в среде chroot, выполнив простой тест:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">python3 -c 'from pty import spawn; spawn(["echo", "ok"])'</kbd></pre>
+ <p>
+ Эта команда должна вывести <code class="computeroutput">ok</code>.
+ Если вместо этого вывод содержит <code class=
+ "computeroutput">OSError: out of pty devices</code>, то среда не
+ настроена для правильной работы PTY. Вам необходимо выйти из среды
+ chroot, ещё раз прочитать <a class="xref" href=
+ "../chapter07/kernfs.html" title=
+ "7.3. Подготовка виртуальных файловых систем ядра">Раздел&nbsp;7.3,
+ «Подготовка виртуальных файловых систем ядра»</a> и убедиться, что
+ файловая система <code class="systemitem">devpts</code> (и другие
+ файловые системы виртуального ядра) смонтирована правильно. Затем
+ повторно войдите в среду chroot, следуя инструкции <a class="xref"
+ href="../chapter07/chroot.html" title=
+ "7.4. Вход в окружение Chroot">Раздел&nbsp;7.4, «Вход в окружение
+ Chroot»</a>. Эту проблему необходимо решить, прежде чем вы
+ продолжите, иначе наборы тестов, зависимые от Expect (например,
+ наборы тестов Bash, Binutils, GCC, GDBM и, конечно, самого Expect),
+ потерпят фатальный сбой, а также могут произойти другие
+ незначительные сбои.
+ </p>
+ <p>
+ Теперь внесите некоторые изменения, чтобы разрешить использование
+ пакета с gcc-14.1 или более поздней версией:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">patch -Np1 -i ../expect-5.45.4-gcc14-1.patch</kbd></pre>
+ <p>
+ Подготовьте Expect к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --with-tcl=/usr/lib \
+ --enable-shared \
+ --disable-rpath \
+ --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>
+ <p>
+ Чтобы протестировать пакет, выполните:
+ </p>
+ <pre class="userinput"><kbd class="command">make test</kbd></pre>
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-expect" name="contents-expect"></a>8.17.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.14">Пред.</a>
+ <p>
+ Tcl-8.6.14
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/file.html b/lfs-12.2-sysv/chapter08/file.html
new file mode 100644
index 0000000..d594877
--- /dev/null
+++ b/lfs-12.2-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.11. File-5.45
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="zstd.html" title="Zstd-1.5.6">Пред.</a>
+ <p>
+ Zstd-1.5.6
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="readline.html" title=
+ "Readline-8.2.13">След.</a>
+ <p>
+ Readline-8.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-file" name="ch-system-file"></a>8.11. File-5.45
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.11.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-file" name="contents-file"></a>8.11.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.6">Пред.</a>
+ <p>
+ Zstd-1.5.6
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="readline.html" title=
+ "Readline-8.2.13">След.</a>
+ <p>
+ Readline-8.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/findutils.html b/lfs-12.2-sysv/chapter08/findutils.html
new file mode 100644
index 0000000..6c40c07
--- /dev/null
+++ b/lfs-12.2-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.62. Findutils-4.10.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="gawk.html" title="Gawk-5.3.0">Пред.</a>
+ <p>
+ Gawk-5.3.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-findutils" name="ch-system-findutils"></a>8.62.
+ Findutils-4.10.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.7 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">62 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.62.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 -R 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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-findutils" name="contents-findutils"></a>8.62.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.3.0">Пред.</a>
+ <p>
+ Gawk-5.3.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/flex.html b/lfs-12.2-sysv/chapter08/flex.html
new file mode 100644
index 0000000..2cc0ff5
--- /dev/null
+++ b/lfs-12.2-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.15. Flex-2.6.4
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="bc.html" title="Bc-6.7.6">Пред.</a>
+ <p>
+ Bc-6.7.6
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="tcl.html" title="Tcl-8.6.14">След.</a>
+ <p>
+ Tcl-8.6.14
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-flex" name="ch-system-flex"></a>8.15. Flex-2.6.4
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.15.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-flex" name="contents-flex"></a>8.15.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.7.6">Пред.</a>
+ <p>
+ Bc-6.7.6
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="tcl.html" title="Tcl-8.6.14">След.</a>
+ <p>
+ Tcl-8.6.14
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/flit-core.html b/lfs-12.2-sysv/chapter08/flit-core.html
new file mode 100644
index 0000000..d50e823
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/flit-core.html
@@ -0,0 +1,196 @@
+<!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. Flit-Core-3.9.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="Python.html" title="Python-3.12.5">Пред.</a>
+ <p>
+ Python-3.12.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="wheel.html" title="Wheel-0.44.0">След.</a>
+ <p>
+ Wheel-0.44.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-flit-core" name="ch-system-flit-core"></a>8.53.
+ Flit-Core-3.9.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.6 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.53.1. Установка пакета Flit-Core
+ </h2>
+ <p>
+ Соберите пакет:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">pip3 wheel -w dist --no-cache-dir --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"><em class=
+ "parameter"><code>--no-cache-dir</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Не позволяет pip копировать созданный wheel-пакет в каталог
+ <code class="filename">/root/.cache/pip</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-flit-core" name="contents-flit-core"></a>8.53.2.
+ Содержимое пакета Flit-Core
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Созданные каталоги:</strong>
+ <span class=
+ "segbody">/usr/lib/python3.12/site-packages/flit_core и
+ /usr/lib/python3.12/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.12.5">Пред.</a>
+ <p>
+ Python-3.12.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="wheel.html" title="Wheel-0.44.0">След.</a>
+ <p>
+ Wheel-0.44.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/gawk.html b/lfs-12.2-sysv/chapter08/gawk.html
new file mode 100644
index 0000000..0f3ae87
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/gawk.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.61. Gawk-5.3.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.10.0">След.</a>
+ <p>
+ Findutils-4.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-gawk" name="ch-system-gawk"></a>8.61. Gawk-5.3.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Gawk содержит программы для работы с текстовыми файлами.
+ </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">42 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.61.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 -R tester .
+su tester -c "PATH=$PATH make check"</kbd></pre>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">rm -f /usr/bin/gawk-5.3.0
+make install</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение команды:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><span class="command"><strong>rm -f
+ /usr/bin/gawk-5.3.0</strong></span></span>
+ </dt>
+ <dd>
+ <p>
+ Система сборки не будет пересоздавать жесткую ссылку
+ <code class="filename">gawk-5.3.0</code>, если она
+ существует. Удалите её, чтобы гарантировать, что предыдущая
+ жесткая ссылка, созданная в <a class="xref" href=
+ "../chapter06/gawk.html" title=
+ "6.9. Gawk-5.3.0">Раздел&nbsp;6.9, «Gawk-5.3.0»</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.3.0
+cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-5.3.0</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gawk" name="contents-gawk"></a>8.61.2. Содержимое
+ пакета Gawk
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Установленные программы:</strong>
+ <span class="segbody">awk (ссылка на gawk), gawk и
+ gawk-5.3.0</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.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="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.3.0</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.10.0">След.</a>
+ <p>
+ Findutils-4.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/gcc.html b/lfs-12.2-sysv/chapter08/gcc.html
new file mode 100644
index 0000000..6579968
--- /dev/null
+++ b/lfs-12.2-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.29. GCC-14.2.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="shadow.html" title="Shadow-4.16.0">Пред.</a>
+ <p>
+ Shadow-4.16.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="ncurses.html" title="Ncurses-6.5">След.</a>
+ <p>
+ Ncurses-6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-gcc" name="ch-system-gcc"></a>8.29. GCC-14.2.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет GCC содержит коллекцию компиляторов GNU, которая включает
+ компиляторы C и C++.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">46 SBU (с тестами)</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">6.3 GB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.29.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 \
+ --enable-host-pie \
+ --disable-multilib \
+ --disable-bootstrap \
+ --disable-fixincludes \
+ --with-system-zlib</kbd></pre>
+ <p>
+ GCC поддерживает семь различных языков программирования, но
+ предварительные условия для большинства из них еще не выполнены.
+ См. страницу <a class="ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2/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 может потребоваться больше места в стеке для компиляции
+ некоторых сложных шаблонов кода. В качестве меры предосторожности
+ для хост-дистрибутивов с жестким ограничением стека явно установите
+ неограниченный жесткий предел. В большинстве хост-дистрибутивов (и
+ в собранной LFS) жесткий предел по умолчанию неограничен, но нет
+ ничего плохого в том, чтобы установить его явно. Также нет
+ необходимости изменять мягкий предел размера стека, поскольку GCC
+ автоматически установит для него соответствующее значение, если это
+ значение не превышает жесткий предел:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">ulimit -s -H unlimited</kbd></pre>
+ <p>
+ Теперь удалите/исправьте несколько известных ошибок тестирования:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp
+sed -e 's/no-pic /&amp;-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c
+sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c
+sed -e 's/{ target nonpic } //' \
+ -e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c</kbd></pre>
+ <p>
+ Выполните тестирование от имени непривилегированного пользователя,
+ но не останавливайтесь на ошибках:
+ </p>
+ <pre class="userinput"><kbd class="command">chown -R 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.2/">https://mirror.linuxfromscratch.ru/lfs/build-logs/12.2/</a>
+ и <a class="ulink" href=
+ "https://gcc.gnu.org/ml/gcc-testresults/">https://gcc.gnu.org/ml/gcc-testresults/</a>.
+ </p>
+ <p>
+ Не всегда удается избежать неожиданных сбоев. В некоторых случаях
+ неудачное завершение тестов - это следствие их выполнения на
+ конкретном оборудовании системы. Если результаты теста не сильно
+ отличаются от результатов по указанному выше 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)/14.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-14.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)/14.2.0/liblto_plugin.so \
+ /usr/lib/bfd-plugins/</kbd></pre>
+ <p>
+ Теперь, когда наш окончательный набор инструментов готов, важно еще
+ раз убедиться, что компиляция и компоновка будут работать так, как
+ ожидалось. Мы сделаем это, выполнив проверку работоспособности:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">echo 'int main(){}' &gt; dummy.c
+cc dummy.c -v -Wl,--verbose &amp;&gt; 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/14.2.0/../../../../lib/Scrt1.o succeeded
+/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.0/../../../../lib/crti.o succeeded
+/usr/lib/gcc/x86_64-pc-linux-gnu/14.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 &lt;...&gt; search starts here:
+ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.0/include
+ /usr/local/include
+ /usr/lib/gcc/x86_64-pc-linux-gnu/14.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gcc" name="contents-gcc"></a>8.29.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-14.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>
+ Библиотека, которая позволяет GDB использовать GCC
+ </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.16.0">Пред.</a>
+ <p>
+ Shadow-4.16.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="ncurses.html" title="Ncurses-6.5">След.</a>
+ <p>
+ Ncurses-6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/gdbm.html b/lfs-12.2-sysv/chapter08/gdbm.html
new file mode 100644
index 0000000..f9c5bef
--- /dev/null
+++ b/lfs-12.2-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.38. GDBM-1.24
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-gdbm" name="ch-system-gdbm"></a>8.38. GDBM-1.24
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.38.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gdbm" name="contents-gdbm"></a>8.38.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/gettext.html b/lfs-12.2-sysv/chapter08/gettext.html
new file mode 100644
index 0000000..6ef07a6
--- /dev/null
+++ b/lfs-12.2-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.33. Gettext-0.22.5
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="psmisc.html" title="Psmisc-23.7">Пред.</a>
+ <p>
+ Psmisc-23.7
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-gettext" name="ch-system-gettext"></a>8.33.
+ Gettext-0.22.5
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Gettext содержит утилиты для интернационализации и
+ локализации. Они позволяют компилировать программы с поддержкой NLS
+ (Native Language Support), позволяя им выводить сообщения на родном
+ языке пользователя.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">1.6 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">260 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.33.1. Установка пакета Gettext
+ </h2>
+ <p>
+ Подготовьте Gettext для компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --disable-static \
+ --docdir=/usr/share/doc/gettext-0.22.5</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gettext" name="contents-gettext"></a>8.33.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.5, /usr/share/gettext и
+ /usr/share/gettext-0.22.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="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>&lt;string&gt;</em></span> и потоками
+ <span class="emphasis"><em>&lt;iostream&gt;</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.7">Пред.</a>
+ <p>
+ Psmisc-23.7
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/glibc.html b/lfs-12.2-sysv/chapter08/glibc.html
new file mode 100644
index 0000000..cf09649
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/glibc.html
@@ -0,0 +1,1315 @@
+<!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.40
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="iana-etc.html" title=
+ "Iana-Etc-20240806">Пред.</a>
+ <p>
+ Iana-Etc-20240806
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="zlib.html" title="Zlib-1.3.1">След.</a>
+ <p>
+ Zlib-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-glibc" name="ch-system-glibc"></a>8.5. Glibc-2.40
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Glibc содержит основную библиотеку C. Эта библиотека
+ предоставляет основные процедуры для выделения памяти, поиска в
+ каталогах, открытия и закрытия файлов, чтения и записи файлов,
+ обработки строк, сопоставления с образцом, арифметики и так далее
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">12 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">3.1 GB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <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.40-fhs-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" &gt; configparms</kbd></pre>
+ <p>
+ Подготовьте Glibc к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">../configure --prefix=/usr \
+ --disable-werror \
+ --enable-kernel=4.19 \
+ --enable-stack-protector=strong \
+ --disable-nscd \
+ 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.19</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр сообщает системе сборки, что Glibc может
+ использоваться с ядрами старше 4.19. Это значение
+ используется для создание обходных путей на случай, если
+ системный вызов, представленный в более поздней версии,
+ нельзя будет использовать.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--enable-stack-protector=strong</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр повышает безопасность системы за счет
+ добавления дополнительного кода для проверки переполнения
+ буфера. Обратите внимание, что Glibc всегда явно
+ переопределяет параметры GCC по умолчанию, поэтому необходимо
+ всегда указывать эту опцию, несмотря на то, что мы уже
+ указали <code class="option">--enable-default-ssp</code> для
+ GCC.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--disable-nscd</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Параметр отключает сборку демона кэша службы имен, который
+ больше не используется.
+ </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>nss/tst-nss-files-hosts-multi</em></span> и
+ <span class=
+ "emphasis"><em>nptl/tst-thread-affinity*</em></span>
+ завершаются неудачей из-за тайм-аута (особенно когда система
+ работает относительно медленно и/или набор тестов запущен в
+ несколько потоков). Эти тесты могут быть идентифицированы с
+ помощью следующей команды:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">grep "Timed out" $(find -name \*.out)</kbd></pre>
+ <p>
+ Можно повторно запустить отдельный тест, увеличив таймаут с
+ помощью команды <span class=
+ "command"><strong>TIMEOUTFACTOR=<em class=
+ "replaceable"><code>&lt;factor&gt;</code></em> make test
+ t=<em class="replaceable"><code>&lt;test
+ name&gt;</code></em></strong></span>. Например, <span class=
+ "command"><strong>TIMEOUTFACTOR=10 make test
+ t=nss/tst-nss-files-hosts-multi</strong></span> перезапустит
+ <span class=
+ "emphasis"><em>nss/tst-nss-files-hosts-multi</em></span>,
+ увеличив начальный таймаут в 10 раз.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Кроме того, некоторые тесты могут завершиться неудачно при
+ использовании относительно старой модели процессора
+ (например, <span class=
+ "emphasis"><em>elf/tst-cpu-features-cpuinfo</em></span>) или
+ версии ядра хоста (например, <span class=
+ "emphasis"><em>stdlib/tst-arc4random-thread</em></span>).
+ </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>
+ <div class="admon important">
+ <img alt="[Важно]" src="../images/important.png" />
+ <h3>
+ Важно
+ </h3>
+ <p>
+ При обновлении Glibc до новой минорной версии (например, с
+ Glibc-2.36 до Glibc-2.40) в работающей системе LFS вам необходимо
+ принять некоторые дополнительные меры предосторожности, чтобы
+ избежать поломки системы:
+ </p>
+ <div class="itemizedlist">
+ <ul>
+ <li class="listitem">
+ <p>
+ Обновление Glibc в системе LFS до версии 11.0 не
+ поддерживается. Пересоберите LFS, если вы используете такую
+ старую систему, но вам нужна более новая Glibc.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ При обновлении системы LFS до версии 12.0 установите
+ <span class="application">Libxcrypt</span> следуя
+ инструкции <a class="xref" href="libxcrypt.html" title=
+ "8.27. Libxcrypt-4.4.36">Раздел&nbsp;8.27,
+ «Libxcrypt-4.4.36.»</a>. В дополнение к обычной установке
+ <span class="application">Libxcrypt</span>, <span class=
+ "bold"><strong>вы ДОЛЖНЫ следовать примечанию со страницы
+ Libxcrypt, чтобы установить <code class=
+ "filename">libcrypt.so.1*</code> (заменив <code class=
+ "filename">libcrypt.so.1</code> из предыдущей установки
+ Glibc)</strong></span>.
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ При обновлении системы LFS до версии 12.1 удалите программу
+ <span class="command"><strong>nscd</strong></span>:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">rm -f /usr/sbin/nscd</kbd></pre>
+ </li>
+ <li class="listitem">
+ <p>
+ Обновите ядро и перезагрузитесь, если оно старше 4.19
+ (проверьте текущую версию с помощью <span class=
+ "command"><strong>uname -r</strong></span>) или, если вы
+ хотите обновить имеющееся ядро, выполните действия из
+ <a class="xref" href="../chapter10/kernel.html" title=
+ "10.3. Linux-6.10.5">Раздел&nbsp;10.3, «Linux-6.10.5.»</a>
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Обновите заголовочные файлы API ядра, если они старше 4.19
+ (проверьте текущую версию с помощью <span class=
+ "command"><strong>cat
+ /usr/include/linux/version.h</strong></span>) или, если вы
+ просто хотите обновить их, следуйте <a class="xref" href=
+ "../chapter05/linux-headers.html" title=
+ "5.4. Заголовочные файлы Linux-6.10.5 API">Раздел&nbsp;5.4,
+ «Заголовочные файлы Linux-6.10.5 API»</a> (но удалив
+ <code class="envar">$LFS</code> из команды <span class=
+ "command"><strong>cp</strong></span>).
+ </p>
+ </li>
+ <li class="listitem">
+ <p>
+ Выполните установку <code class="envar">DESTDIR</code> и
+ обновите общие библиотеки Glibc в системе с помощью одной
+ команды <span class=
+ "command"><strong>install</strong></span>:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">make DESTDIR=$PWD/dest install
+install -vm755 dest/usr/lib/*.so.* /usr/lib</kbd></pre>
+ </li>
+ </ul>
+ </div>
+ <p>
+ Крайне важно строго следовать описанным выше шагам, если вы не
+ совсем понимаете, что делаете. <span class="bold"><strong>Любое
+ неожиданное отклонение может сделать систему полностью
+ непригодной для использования. ВЫ ПРЕДУПРЕЖДЕНЫ.</strong></span>
+ </p>
+ <p>
+ Затем продолжайте выполнять команды <span class=
+ "command"><strong>make install</strong></span>, <span class=
+ "command"><strong>sed</strong></span> для <code class=
+ "filename">/usr/bin/ldd</code> и команды для установки локалей.
+ Как только они будут выполнены, перезагрузите систему.
+ </p>
+ </div>
+ <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>
+ Затем установите локали, которые дадут возможность системе отвечать
+ на разных языках. Ни одна из локалей не требуется системе, но если
+ некоторые из них отсутствуют, то наборы тестов ряда пакетов будут
+ пропускать важные тестовые сценарии.
+ </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">localedef -i C -f UTF-8 C.UTF-8
+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&gt; /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.40/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.40/localedata/SUPPORTED</code>, когда они вам
+ понадобятся. Например, для некоторых тестов в этой главе
+ потребуются следующие две локали:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">localedef -i C -f UTF-8 C.UTF-8
+localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2&gt; /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.2/general/libidn2.html">
+ BLFS libidn2</a>.
+ </p>
+ </div>
+ </div>
+ <div class="configuration" lang="ru" xml:lang="ru">
+ <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 &gt; /etc/nsswitch.conf &lt;&lt; "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 ../../tzdata2024a.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>&lt;xxx&gt;</code></em> /etc/localtime</kbd></pre>
+ <p>
+ Замените <em class="replaceable"><code>&lt;xxx&gt;</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 &gt; /etc/ld.so.conf &lt;&lt; "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 &gt;&gt; /etc/ld.so.conf &lt;&lt; "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="ru" xml:lang="ru">
+ <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, 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/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="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.40/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-20240806">Пред.</a>
+ <p>
+ Iana-Etc-20240806
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="zlib.html" title="Zlib-1.3.1">След.</a>
+ <p>
+ Zlib-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/gmp.html b/lfs-12.2-sysv/chapter08/gmp.html
new file mode 100644
index 0000000..3fb015f
--- /dev/null
+++ b/lfs-12.2-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.21. GMP-6.3.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="binutils.html" title=
+ "Binutils-2.43.1">Пред.</a>
+ <p>
+ Binutils-2.43.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="mpfr.html" title="MPFR-4.2.1">След.</a>
+ <p>
+ MPFR-4.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-gmp" name="ch-system-gmp"></a>8.21. GMP-6.3.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.21.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&gt;&amp;1 | tee gmp-check-log</kbd></pre>
+ <div class="admon caution">
+ <img alt="[Внимание]" src="../images/caution.png" />
+ <h3>
+ Внимание
+ </h3>
+ <p>
+ Код в GMP сильно оптимизирован для процессора, на котором он
+ собран. Иногда код, определяющий процессор, неверно определяет
+ возможности системы, и в тестах или других приложениях,
+ использующих библиотеки gmp, возникают ошибки с сообщением
+ <code class="computeroutput">Illegal instruction</code>. В этом
+ случае 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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gmp" name="contents-gmp"></a>8.21.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.43.1">Пред.</a>
+ <p>
+ Binutils-2.43.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="mpfr.html" title="MPFR-4.2.1">След.</a>
+ <p>
+ MPFR-4.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/gperf.html b/lfs-12.2-sysv/chapter08/gperf.html
new file mode 100644
index 0000000..aee9d88
--- /dev/null
+++ b/lfs-12.2-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.39. Gperf-3.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="gdbm.html" title="GDBM-1.24">Пред.</a>
+ <p>
+ GDBM-1.24
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="expat.html" title="Expat-2.6.2">След.</a>
+ <p>
+ Expat-2.6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-gperf" name="ch-system-gperf"></a>8.39. Gperf-3.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.39.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gperf" name="contents-gperf"></a>8.39.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.24">Пред.</a>
+ <p>
+ GDBM-1.24
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="expat.html" title="Expat-2.6.2">След.</a>
+ <p>
+ Expat-2.6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/grep.html b/lfs-12.2-sysv/chapter08/grep.html
new file mode 100644
index 0000000..498f9d2
--- /dev/null
+++ b/lfs-12.2-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.35. Grep-3.11
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.32">След.</a>
+ <p>
+ Bash-5.2.32
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-grep" name="ch-system-grep"></a>8.35. Grep-3.11
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.35.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-grep" name="contents-grep"></a>8.35.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.32">След.</a>
+ <p>
+ Bash-5.2.32
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/groff.html b/lfs-12.2-sysv/chapter08/groff.html
new file mode 100644
index 0000000..ba486dc
--- /dev/null
+++ b/lfs-12.2-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.63. Groff-1.23.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="findutils.html" title=
+ "Findutils-4.10.0">Пред.</a>
+ <p>
+ Findutils-4.10.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="grub.html" title="GRUB-2.12">След.</a>
+ <p>
+ GRUB-2.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-groff" name="ch-system-groff"></a>8.63. Groff-1.23.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.63.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>&lt;paper_size&gt;</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-groff" name="contents-groff"></a>8.63.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.10.0">Пред.</a>
+ <p>
+ Findutils-4.10.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="grub.html" title="GRUB-2.12">След.</a>
+ <p>
+ GRUB-2.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/grub.html b/lfs-12.2-sysv/chapter08/grub.html
new file mode 100644
index 0000000..8d570c1
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/grub.html
@@ -0,0 +1,599 @@
+<!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. GRUB-2.12
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.13">След.</a>
+ <p>
+ Gzip-1.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-grub" name="ch-system-grub"></a>8.64. GRUB-2.12
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">166 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.64.1. Установка пакета GRUB
+ </h2>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Если ваша система поддерживает UEFI и вы хотите загрузить LFS с
+ UEFI, вам необходимо установить GRUB с поддержкой UEFI (и его
+ зависимости), следуя инструкциям на <a class="ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/grub-efi.html">
+ страница BLFS</a>. Вы можете пропустить установку этого пакета
+ или установить его и пакет из BLFS (на странице BLFS приведены
+ инструкции для обоих случаев).
+ </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>
+ Добавьте файл, отсутствующий в архиве релиза:
+ </p>
+ <pre class="userinput"><kbd class="command">echo <code class=
+ "literal">depends bli part_gpt</code> &gt; grub-core/extra_deps.lst</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 для настройки процесса загрузки">Раздел&nbsp;10.4,
+ «Использование GRUB для настройки процесса загрузки»</a>.
+ </p>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gRUB" name="contents-gRUB"></a>8.64.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.13">След.</a>
+ <p>
+ Gzip-1.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/gzip.html b/lfs-12.2-sysv/chapter08/gzip.html
new file mode 100644
index 0000000..1f6b947
--- /dev/null
+++ b/lfs-12.2-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.65. Gzip-1.13
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="grub.html" title="GRUB-2.12">Пред.</a>
+ <p>
+ GRUB-2.12
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="iproute2.html" title=
+ "IPRoute2-6.10.0">След.</a>
+ <p>
+ IPRoute2-6.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-gzip" name="ch-system-gzip"></a>8.65. Gzip-1.13
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.65.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-gzip" name="contents-gzip"></a>8.65.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.12">Пред.</a>
+ <p>
+ GRUB-2.12
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="iproute2.html" title=
+ "IPRoute2-6.10.0">След.</a>
+ <p>
+ IPRoute2-6.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/iana-etc.html b/lfs-12.2-sysv/chapter08/iana-etc.html
new file mode 100644
index 0000000..468278e
--- /dev/null
+++ b/lfs-12.2-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-20240806
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="man-pages.html" title=
+ "Man-pages-6.9.1">Пред.</a>
+ <p>
+ Man-pages-6.9.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="glibc.html" title="Glibc-2.40">След.</a>
+ <p>
+ Glibc-2.40
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-iana-etc" name="ch-system-iana-etc"></a>8.4.
+ Iana-Etc-20240806
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <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.9.1">Пред.</a>
+ <p>
+ Man-pages-6.9.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="glibc.html" title="Glibc-2.40">След.</a>
+ <p>
+ Glibc-2.40
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/inetutils.html b/lfs-12.2-sysv/chapter08/inetutils.html
new file mode 100644
index 0000000..ebf5989
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/inetutils.html
@@ -0,0 +1,369 @@
+<!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. Inetutils-2.5
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="expat.html" title="Expat-2.6.2">Пред.</a>
+ <p>
+ Expat-2.6.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="less.html" title="Less-661">След.</a>
+ <p>
+ Less-661
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-inetutils" name="ch-system-inetutils"></a>8.41.
+ Inetutils-2.5
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">35 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.41.1. Установка пакета Inetutils
+ </h2>
+ <p>
+ Сначала внесите некоторые изменения, чтобы сборку пакета с помощью
+ gcc-14.1 или более поздней версии:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c</kbd></pre>
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-inetutils" name="contents-inetutils"></a>8.41.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.6.2">Пред.</a>
+ <p>
+ Expat-2.6.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="less.html" title="Less-661">След.</a>
+ <p>
+ Less-661
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/intltool.html b/lfs-12.2-sysv/chapter08/intltool.html
new file mode 100644
index 0000000..48dfd25
--- /dev/null
+++ b/lfs-12.2-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.45. Intltool-0.51.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="xml-parser.html" title=
+ "XML::Parser-2.47">Пред.</a>
+ <p>
+ XML::Parser-2.47
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="autoconf.html" title=
+ "Autoconf-2.72">След.</a>
+ <p>
+ Autoconf-2.72
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-intltool" name="ch-system-intltool"></a>8.45.
+ Intltool-0.51.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.45.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-intltool" name="contents-intltool"></a>8.45.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.47">Пред.</a>
+ <p>
+ XML::Parser-2.47
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="autoconf.html" title=
+ "Autoconf-2.72">След.</a>
+ <p>
+ Autoconf-2.72
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/introduction.html b/lfs-12.2-sysv/chapter08/introduction.html
new file mode 100644
index 0000000..5635efd
--- /dev/null
+++ b/lfs-12.2-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 Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-introduction" name="ch-system-introduction"></a>8.1.
+ Введение
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <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. Установка базового системного программного обеспечения">Глава&nbsp;8</a>
+ значения SBU и требуемое дисковое пространство указано с учетом
+ тестов. Значения SBU были рассчитаны с использованием четырех ядер
+ ЦП (-j4) для всех операций, если не указано иное.
+ </p>
+ </div>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <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.2/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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/iproute2.html b/lfs-12.2-sysv/chapter08/iproute2.html
new file mode 100644
index 0000000..a1e97b5
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/iproute2.html
@@ -0,0 +1,432 @@
+<!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. IPRoute2-6.10.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="gzip.html" title="Gzip-1.13">Пред.</a>
+ <p>
+ Gzip-1.13
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="kbd.html" title="Kbd-2.6.4">След.</a>
+ <p>
+ Kbd-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-iproute2" name="ch-system-iproute2"></a>8.66.
+ IPRoute2-6.10.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.66.1. Установка пакета IPRoute2
+ </h2>
+ <p>
+ Программа <span class="command"><strong>arpd</strong></span>,
+ входящая в этот пакет, не будет собрана, поскольку зависит от
+ Berkeley DB, которая не установлена в LFS. Однако каталог и
+ справочная страница для <span class=
+ "command"><strong>arpd</strong></span> все равно будут установлены.
+ Предотвратить это можно, выполнив приведенные ниже команды.
+ </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.10.0
+cp -v COPYING README* /usr/share/doc/iproute2-6.10.0</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-iproute2" name="contents-iproute2"></a>8.66.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.10.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>&lt;device&gt;</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.13">Пред.</a>
+ <p>
+ Gzip-1.13
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="kbd.html" title="Kbd-2.6.4">След.</a>
+ <p>
+ Kbd-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/jinja2.html b/lfs-12.2-sysv/chapter08/jinja2.html
new file mode 100644
index 0000000..2a41cb5
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/jinja2.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.75. Jinja2-3.1.4
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="markupsafe.html" title=
+ "MarkupSafe-2.1.5">Пред.</a>
+ <p>
+ MarkupSafe-2.1.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="udev.html" title=
+ "Udev из Systemd-256.4">След.</a>
+ <p>
+ Udev из Systemd-256.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-jinja2" name="ch-system-jinja2"></a>8.75. Jinja2-3.1.4
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">2.5 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.75.1. Установка пакета Jinja2
+ </h2>
+ <p>
+ Соберите пакет:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">pip3 wheel -w dist --no-cache-dir --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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-jinja2" name="contents-jinja2"></a>8.75.2.
+ Содержимое пакета Jinja2
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Созданные каталоги:</strong>
+ <span class=
+ "segbody">/usr/lib/python3.12/site-packages/Jinja2-3.1.4.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.5">Пред.</a>
+ <p>
+ MarkupSafe-2.1.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="udev.html" title=
+ "Udev из Systemd-256.4">След.</a>
+ <p>
+ Udev из Systemd-256.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/kbd.html b/lfs-12.2-sysv/chapter08/kbd.html
new file mode 100644
index 0000000..83a14aa
--- /dev/null
+++ b/lfs-12.2-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.67. Kbd-2.6.4
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="iproute2.html" title=
+ "IPRoute2-6.10.0">Пред.</a>
+ <p>
+ IPRoute2-6.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-kbd" name="ch-system-kbd"></a>8.67. Kbd-2.6.4
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">34 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.67.1. Установка пакета Kbd
+ </h2>
+ <p>
+ Поведение клавиш backspace и delete не согласуется между
+ раскладками в пакете Kbd. Следующий патч исправляет эту проблему
+ для раскладок i386:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">patch -Np1 -i ../kbd-2.6.4-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.4</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-kbd" name="contents-kbd"></a>8.67.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.4 и /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.10.0">Пред.</a>
+ <p>
+ IPRoute2-6.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/kmod.html b/lfs-12.2-sysv/chapter08/kmod.html
new file mode 100644
index 0000000..d381631
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/kmod.html
@@ -0,0 +1,330 @@
+<!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. Kmod-33
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="openssl.html" title=
+ "OpenSSL-3.3.1">Пред.</a>
+ <p>
+ OpenSSL-3.3.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="libelf.html" title=
+ "Libelf из Elfutils-0.191">След.</a>
+ <p>
+ Libelf из Elfutils-0.191
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-kmod" name="ch-system-kmod"></a>8.49. Kmod-33
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">11 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.49.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 \
+ --disable-manpages</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>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--disable-manpages</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Эта опция отключает генерацию справочных страниц, для которых
+ требуется внешняя программа.
+ </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). Система сборки создаст все эти
+ символические ссылки в <code class="filename">/usr/bin</code>, но
+ здесь нам нужна только команда <span class=
+ "command"><strong>lsmod</strong></span>, а все остальные
+ символические ссылки должны вести в <code class=
+ "filename">/usr/sbin</code>:
+ </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
+ rm -fv /usr/bin/$target
+done</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-kmod" name="contents-kmod"></a>8.49.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.3.1">Пред.</a>
+ <p>
+ OpenSSL-3.3.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="libelf.html" title=
+ "Libelf из Elfutils-0.191">След.</a>
+ <p>
+ Libelf из Elfutils-0.191
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/less.html b/lfs-12.2-sysv/chapter08/less.html
new file mode 100644
index 0000000..19509fe
--- /dev/null
+++ b/lfs-12.2-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.42. Less-661
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="inetutils.html" title=
+ "Inetutils-2.5">Пред.</a>
+ <p>
+ Inetutils-2.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="perl.html" title="Perl-5.40.0">След.</a>
+ <p>
+ Perl-5.40.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-less" name="ch-system-less"></a>8.42. Less-661
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">14 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.42.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-less" name="contents-less"></a>8.42.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.5">Пред.</a>
+ <p>
+ Inetutils-2.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="perl.html" title="Perl-5.40.0">След.</a>
+ <p>
+ Perl-5.40.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/libcap.html b/lfs-12.2-sysv/chapter08/libcap.html
new file mode 100644
index 0000000..c1e0844
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/libcap.html
@@ -0,0 +1,258 @@
+<!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. Libcap-2.70
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="acl.html" title="Acl-2.3.2">Пред.</a>
+ <p>
+ Acl-2.3.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-libcap" name="ch-system-libcap"></a>8.26. Libcap-2.70
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.26.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-libcap" name="contents-libcap"></a>8.26.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.2">Пред.</a>
+ <p>
+ Acl-2.3.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/libelf.html b/lfs-12.2-sysv/chapter08/libelf.html
new file mode 100644
index 0000000..357909d
--- /dev/null
+++ b/lfs-12.2-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.50. Libelf из Elfutils-0.191
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="kmod.html" title="Kmod-33">Пред.</a>
+ <p>
+ Kmod-33
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="libffi.html" title="Libffi-3.4.6">След.</a>
+ <p>
+ Libffi-3.4.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-libelf" name="ch-system-libelf"></a>8.50. Libelf из
+ Elfutils-0.191
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">127 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.50.1. Установка пакета Libelf
+ </h2>
+ <p>
+ Libelf является частью пакета elfutils-0.191. Используйте
+ elfutils-0.191.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-elfutils" name="contents-elfutils"></a>8.50.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-33">Пред.</a>
+ <p>
+ Kmod-33
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="libffi.html" title="Libffi-3.4.6">След.</a>
+ <p>
+ Libffi-3.4.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/libffi.html b/lfs-12.2-sysv/chapter08/libffi.html
new file mode 100644
index 0000000..b3f7d9e
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/libffi.html
@@ -0,0 +1,210 @@
+<!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. Libffi-3.4.6
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="libelf.html" title=
+ "Libelf из Elfutils-0.191">Пред.</a>
+ <p>
+ Libelf из Elfutils-0.191
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="Python.html" title="Python-3.12.5">След.</a>
+ <p>
+ Python-3.12.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-libffi" name="ch-system-libffi"></a>8.51. Libffi-3.4.6
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.7 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">11 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.51.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-14.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-libffi" name="contents-libffi"></a>8.51.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.191">Пред.</a>
+ <p>
+ Libelf из Elfutils-0.191
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="Python.html" title="Python-3.12.5">След.</a>
+ <p>
+ Python-3.12.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/libpipeline.html b/lfs-12.2-sysv/chapter08/libpipeline.html
new file mode 100644
index 0000000..2480ece
--- /dev/null
+++ b/lfs-12.2-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.68. Libpipeline-1.5.7
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="kbd.html" title="Kbd-2.6.4">Пред.</a>
+ <p>
+ Kbd-2.6.4
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-libpipeline" name="ch-system-libpipeline"></a>8.68.
+ Libpipeline-1.5.7
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">9.7 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.68.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-libpipeline" name=
+ "contents-libpipeline"></a>8.68.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.4">Пред.</a>
+ <p>
+ Kbd-2.6.4
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/libtool.html b/lfs-12.2-sysv/chapter08/libtool.html
new file mode 100644
index 0000000..abca931
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/libtool.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.37. Libtool-2.4.7
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="bash.html" title="Bash-5.2.32">Пред.</a>
+ <p>
+ Bash-5.2.32
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="gdbm.html" title="GDBM-1.24">След.</a>
+ <p>
+ GDBM-1.24
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-libtool" name="ch-system-libtool"></a>8.37.
+ Libtool-2.4.7
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Libtool содержит сценарий поддержки универсальной библиотеки
+ GNU. Это упрощает использование общих библиотек благодаря
+ согласованному переносимому интерфейсу.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">0.8 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">45 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.37.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>
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-libtool" name="contents-libtool"></a>8.37.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.32">Пред.</a>
+ <p>
+ Bash-5.2.32
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="gdbm.html" title="GDBM-1.24">След.</a>
+ <p>
+ GDBM-1.24
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/libxcrypt.html b/lfs-12.2-sysv/chapter08/libxcrypt.html
new file mode 100644
index 0000000..03550e2
--- /dev/null
+++ b/lfs-12.2-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.27. Libxcrypt-4.4.36
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="libcap.html" title="Libcap-2.70">Пред.</a>
+ <p>
+ Libcap-2.70
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="shadow.html" title="Shadow-4.16.0">След.</a>
+ <p>
+ Shadow-4.16.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-libxcrypt" name="ch-system-libxcrypt"></a>8.27.
+ Libxcrypt-4.4.36
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">12 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.27.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 --remove-destination .libs/libcrypt.so.1* /usr/lib</kbd></pre>
+ </div>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-libxcrypt" name="contents-libxcrypt"></a>8.27.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.70">Пред.</a>
+ <p>
+ Libcap-2.70
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="shadow.html" title="Shadow-4.16.0">След.</a>
+ <p>
+ Shadow-4.16.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/lz4.html b/lfs-12.2-sysv/chapter08/lz4.html
new file mode 100644
index 0000000..672a0d9
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/lz4.html
@@ -0,0 +1,217 @@
+<!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. Lz4-1.10.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="xz.html" title="Xz-5.6.2">Пред.</a>
+ <p>
+ Xz-5.6.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="zstd.html" title="Zstd-1.5.6">След.</a>
+ <p>
+ Zstd-1.5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-lz4" name="ch-system-lz4"></a>8.9. Lz4-1.10.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Lz4 - это алгоритм сжатия без потерь, обеспечивающий скорость
+ сжатия более 500 МБ/с на ядро. Он оснащен чрезвычайно быстрым
+ декодером со скоростью несколько ГБ/с. Lz4 может работать с
+ Zstandard, позволяя обоим алгоритмам быстрее сжимать данные.
+ </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.2 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.9.1. Установка пакета Lz4
+ </h2>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">make BUILD_STATIC=no PREFIX=/usr</kbd></pre>
+ <p>
+ Чтобы протестировать пакет, выполните:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">make -j1 check</kbd></pre>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">make BUILD_STATIC=no PREFIX=/usr install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-lz4" name="contents-lz4"></a>8.9.2. Содержимое
+ пакета Lz4
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Установленные программы:</strong>
+ <span class="segbody">lz4, lz4c (ссылка на lz4), lz4cat (ссылка
+ на lz4) и unlz4 (ссылка на lz4)</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Установленные библиотеки:</strong>
+ <span class="segbody">liblz4.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="lz4" name="lz4"></a><span class=
+ "term"><span class="command"><strong>lz4</strong></span></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ Сжимает или распаковывает файлы, используя алгоритм LZ4
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <a id="lz4c" name="lz4c"></a><span class=
+ "term"><span class=
+ "command"><strong>lz4c</strong></span></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ Сжимает файлы, используя LZ4
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <a id="lz4cat" name="lz4cat"></a><span class=
+ "term"><span class=
+ "command"><strong>lz4cat</strong></span></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ Выводит содержимое файла, сжатого с использованием LZ4
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <a id="unlz4" name="unlz4"></a><span class=
+ "term"><span class=
+ "command"><strong>unlz4</strong></span></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ Распаковывает файлы, используя LZ4
+ </p>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>
+ <a id="liblz4" name="liblz4"></a><span class=
+ "term"><code class="filename">liblz4</code></span>
+ </p>
+ </td>
+ <td>
+ <p>
+ Библиотека, реализующая сжатие данных без потерь с
+ использованием алгоритма LZ4
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="xz.html" title="Xz-5.6.2">Пред.</a>
+ <p>
+ Xz-5.6.2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="zstd.html" title="Zstd-1.5.6">След.</a>
+ <p>
+ Zstd-1.5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/m4.html b/lfs-12.2-sysv/chapter08/m4.html
new file mode 100644
index 0000000..a94abaa
--- /dev/null
+++ b/lfs-12.2-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.13. M4-1.4.19
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="readline.html" title=
+ "Readline-8.2.13">Пред.</a>
+ <p>
+ Readline-8.2.13
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="bc.html" title="Bc-6.7.6">След.</a>
+ <p>
+ Bc-6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-m4" name="ch-system-m4"></a>8.13. M4-1.4.19
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">48 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.13.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-m4" name="contents-m4"></a>8.13.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.13">Пред.</a>
+ <p>
+ Readline-8.2.13
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="bc.html" title="Bc-6.7.6">След.</a>
+ <p>
+ Bc-6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/make.html b/lfs-12.2-sysv/chapter08/make.html
new file mode 100644
index 0000000..9272cfa
--- /dev/null
+++ b/lfs-12.2-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.69. Make-4.4.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-make" name="ch-system-make"></a>8.69. Make-4.4.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Make содержит программу, управляющую генерацией исполняемых и
+ других файлов, из исходного кода.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">0.7 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">13 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.69.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 -R 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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-make" name="contents-make"></a>8.69.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/man-db.html b/lfs-12.2-sysv/chapter08/man-db.html
new file mode 100644
index 0000000..f7a0c9e
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/man-db.html
@@ -0,0 +1,761 @@
+<!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. Man-DB-2.12.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="udev.html" title=
+ "Udev из Systemd-256.4">Пред.</a>
+ <p>
+ Udev из Systemd-256.4
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="procps-ng.html" title=
+ "Procps-ng-4.0.4">След.</a>
+ <p>
+ Procps-ng-4.0.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-man-db" name="ch-system-man-db"></a>8.77.
+ Man-DB-2.12.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Man-DB содержит программы для поиска и просмотра справочных
+ страниц.
+ </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">43 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.77.1. Установка пакета Man-DB
+ </h2>
+ <p>
+ Подготовьте Man-DB к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --docdir=/usr/share/doc/man-db-2.12.1 \
+ --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>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.77.2. Не англоязычные страницы руководств в LFS
+ </h2>
+ <p>
+ В следующей таблице приведены наборы символов, в которых могут быть
+ закодированы страницы руководств пакета Man-DB, устанавливаемые в
+ директории <code class="filename">/usr/share/man/&lt;ll&gt;</code>.
+ Кроме этого, Man-DB правильно определяет, имеют ли справочные
+ страницы, установленные в этом каталоге, кодировку UTF-8.
+ </p>
+ <div class="table">
+ <a id="idm13906" name="idm13906"></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>
+ &nbsp;
+ </td>
+ <td>
+ &nbsp;
+ </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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-man-db" name="contents-man-db"></a>8.77.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.12.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="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-256.4">Пред.</a>
+ <p>
+ Udev из Systemd-256.4
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="procps-ng.html" title=
+ "Procps-ng-4.0.4">След.</a>
+ <p>
+ Procps-ng-4.0.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/man-pages.html b/lfs-12.2-sysv/chapter08/man-pages.html
new file mode 100644
index 0000000..d39ba40
--- /dev/null
+++ b/lfs-12.2-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.9.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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-20240806">След.</a>
+ <p>
+ Iana-Etc-20240806
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-man-pages" name="ch-system-man-pages"></a>8.3.
+ Man-pages-6.9.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">52 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <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-20240806">След.</a>
+ <p>
+ Iana-Etc-20240806
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/markupsafe.html b/lfs-12.2-sysv/chapter08/markupsafe.html
new file mode 100644
index 0000000..0a07b23
--- /dev/null
+++ b/lfs-12.2-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.74. MarkupSafe-2.1.5
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="vim.html" title="Vim-9.1.0660">Пред.</a>
+ <p>
+ Vim-9.1.0660
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="jinja2.html" title="Jinja2-3.1.4">След.</a>
+ <p>
+ Jinja2-3.1.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-markupsafe" name="ch-system-markupsafe"></a>8.74.
+ MarkupSafe-2.1.5
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">508 KB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.74.1. Установка пакета MarkupSafe
+ </h2>
+ <p>
+ Скомпилируйте MarkupSafe с помощью следующей команды:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">pip3 wheel -w dist --no-cache-dir --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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-markupsafe" name="contents-markupsafe"></a>8.74.2.
+ Содержимое пакета MarkupSafe
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Созданные каталоги:</strong>
+ <span class=
+ "segbody">/usr/lib/python3.12/site-packages/MarkupSafe-2.1.5.dist-info</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="vim.html" title="Vim-9.1.0660">Пред.</a>
+ <p>
+ Vim-9.1.0660
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="jinja2.html" title="Jinja2-3.1.4">След.</a>
+ <p>
+ Jinja2-3.1.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/meson.html b/lfs-12.2-sysv/chapter08/meson.html
new file mode 100644
index 0000000..7e51185
--- /dev/null
+++ b/lfs-12.2-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.57. Meson-1.5.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="ninja.html" title="Ninja-1.12.1">Пред.</a>
+ <p>
+ Ninja-1.12.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="coreutils.html" title=
+ "Coreutils-9.5">След.</a>
+ <p>
+ Coreutils-9.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-meson" name="ch-system-meson"></a>8.57. Meson-1.5.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">43 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.57.1. Установка пакета Meson
+ </h2>
+ <p>
+ Скомпилируйте Meson с помощью следующей команды:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">pip3 wheel -w dist --no-cache-dir --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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-meson" name="contents-meson"></a>8.57.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.12/site-packages/meson-1.5.1.dist-info
+ и /usr/lib/python3.12/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.12.1">Пред.</a>
+ <p>
+ Ninja-1.12.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="coreutils.html" title=
+ "Coreutils-9.5">След.</a>
+ <p>
+ Coreutils-9.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/mpc.html b/lfs-12.2-sysv/chapter08/mpc.html
new file mode 100644
index 0000000..710af18
--- /dev/null
+++ b/lfs-12.2-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.23. MPC-1.3.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="mpfr.html" title="MPFR-4.2.1">Пред.</a>
+ <p>
+ MPFR-4.2.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="attr.html" title="Attr-2.5.2">След.</a>
+ <p>
+ Attr-2.5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-mpc" name="ch-system-mpc"></a>8.23. MPC-1.3.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.23.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-mpc" name="contents-mpc"></a>8.23.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.1">Пред.</a>
+ <p>
+ MPFR-4.2.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="attr.html" title="Attr-2.5.2">След.</a>
+ <p>
+ Attr-2.5.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/mpfr.html b/lfs-12.2-sysv/chapter08/mpfr.html
new file mode 100644
index 0000000..945e3c9
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/mpfr.html
@@ -0,0 +1,175 @@
+<!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. MPFR-4.2.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-mpfr" name="ch-system-mpfr"></a>8.22. MPFR-4.2.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.22.1. Установка пакета MPFR
+ </h2>
+ <p>
+ Подготовьте MPFR к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --disable-static \
+ --enable-thread-safe \
+ --docdir=/usr/share/doc/mpfr-4.2.1</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>
+ Выполните тестирование и убедитесь, что все 198 тестов пройдены:
+ </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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-mpfr" name="contents-mpfr"></a>8.22.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.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="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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/ncurses.html b/lfs-12.2-sysv/chapter08/ncurses.html
new file mode 100644
index 0000000..38e1723
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/ncurses.html
@@ -0,0 +1,527 @@
+<!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. Ncurses-6.5
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="gcc.html" title="GCC-14.2.0">Пред.</a>
+ <p>
+ GCC-14.2.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-ncurses" name="ch-system-ncurses"></a>8.30.
+ Ncurses-6.5
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">46 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.30.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 \
+ --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>
+ </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.5</code>. Это может привести к сбою
+ процесса оболочки, который использует код и данные из файла
+ библиотеки. Установите пакет с помощью <code class=
+ "literal">DESTDIR</code> и правильно замените файл библиотеки с
+ помощью команды <span class=
+ "command"><strong>install</strong></span>(также отредактирован
+ заголовочный файл <code class="filename">curses.h</code>, чтобы
+ обеспечить использование ABI расширенного набора символов, как это
+ сделано в <a class="xref" href="../chapter06/ncurses.html" title=
+ "6.3. Ncurses-6.5">Раздел&nbsp;6.3, «Ncurses-6.5»</a>).
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">make DESTDIR=$PWD/dest install
+install -vm755 dest/usr/lib/libncursesw.so.6.5 /usr/lib
+rm -v dest/usr/lib/libncursesw.so.6.5
+sed -e 's/^#if.*XOPEN.*$/#if 1/' \
+ -i dest/usr/include/curses.h
+cp -av dest/* /</kbd></pre>
+ <p>
+ Многие приложения ожидают, что компоновщик может найти библиотеки
+ Ncurses, не поддерживающие расширенный набор символов. Используя
+ трюк ниже, свяжите такие приложения с библиотеками расширенного
+ набора символов с помощью символических ссылок (обратите внимание,
+ что ссылки <code class="filename">.so</code> безопасны только в том
+ случае, если <code class="filename">curses.h</code> отредактирован
+ так, чтобы всегда использовать ABI расширенного набора символов):
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">for lib in ncurses form panel menu ; do
+ ln -sfv lib${lib}w.so /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">ln -sfv libncursesw.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.5</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-ncurses" name="contents-ncurses"></a>8.30.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">libcurses.so (символическая ссылка),
+ libform.so (символическая ссылка), libformw.so, libmenu.so
+ (символическая ссылка), libmenuw.so, libncurses.so
+ (символическая ссылка), libncursesw.so, libncurses++w.so,
+ libpanel.so (символическая ссылка) и libpanelw.so,</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Созданные каталоги:</strong>
+ <span class="segbody">/usr/share/tabset, /usr/share/terminfo и
+ /usr/share/doc/ncurses-6.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="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="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="gcc.html" title="GCC-14.2.0">Пред.</a>
+ <p>
+ GCC-14.2.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/ninja.html b/lfs-12.2-sysv/chapter08/ninja.html
new file mode 100644
index 0000000..e5f44b7
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/ninja.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.56. Ninja-1.12.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="setuptools.html" title=
+ "Setuptools-72.2.0">Пред.</a>
+ <p>
+ Setuptools-72.2.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="meson.html" title="Meson-1.5.1">След.</a>
+ <p>
+ Meson-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-ninja" name="ch-system-ninja"></a>8.56. Ninja-1.12.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Ninja - небольшая система сборки ориентированная на скорость.
+ </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">37 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.56.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 &gt; 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>
+ Тесты этого пакета не могут быть выполнены в среде chroot, так как
+ для них требуется <a class="ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2/general/cmake.html">
+ cmake</a>.
+ </p>
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-ninja" name="contents-ninja"></a>8.56.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="setuptools.html" title=
+ "Setuptools-72.2.0">Пред.</a>
+ <p>
+ Setuptools-72.2.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="meson.html" title="Meson-1.5.1">След.</a>
+ <p>
+ Meson-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/openssl.html b/lfs-12.2-sysv/chapter08/openssl.html
new file mode 100644
index 0000000..b6e012e
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/openssl.html
@@ -0,0 +1,287 @@
+<!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. OpenSSL-3.3.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="automake.html" title=
+ "Automake-1.17">Пред.</a>
+ <p>
+ Automake-1.17
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="kmod.html" title="Kmod-33">След.</a>
+ <p>
+ Kmod-33
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-openssl" name="ch-system-openssl"></a>8.48.
+ OpenSSL-3.3.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет OpenSSL содержит инструменты управления и библиотеки,
+ относящиеся к криптографии. Они полезны для предоставления
+ криптографических функций другим пакетам, таким как OpenSSH,
+ приложениям электронной почты и веб-браузерам (для доступа к сайтам
+ по HTTPS).
+ </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">883 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.48.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">HARNESS_JOBS=<em class=
+ "replaceable"><code>$(nproc)</code></em> 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.3.1</kbd></pre>
+ <p>
+ По желанию, установите дополнительную документацию:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">cp -vfr doc/* /usr/share/doc/openssl-3.3.1</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>
+ Все запущенные программы, связанные с этими библиотеками, после
+ обновления необходимо остановить и перезапустить. Для получения
+ более подробной информации ознакомьтесь с соответствующей записью
+ в <a class="xref" href="pkgmgt.html#pkgmgmt-upgrade-issues"
+ title="8.2.1. Проблемы с обновлением">Раздел&nbsp;8.2.1,
+ «Проблемы с обновлением»</a>.
+ </p>
+ </div>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-openssl" name="contents-openssl"></a>8.48.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.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="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> из оболочки. Его
+ можно использовать для различных функций, которые
+ задокументированы в <a class="ulink" href=
+ "https://man.archlinux.org/man/openssl.1">openssl(1)</a>
+ </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, документацию по
+ которому можно найти в руководстве <a class="ulink" href=
+ "https://man.archlinux.org/man/ssl.7">ssl(7)</a>
+ </p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="automake.html" title=
+ "Automake-1.17">Пред.</a>
+ <p>
+ Automake-1.17
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="kmod.html" title="Kmod-33">След.</a>
+ <p>
+ Kmod-33
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/patch.html b/lfs-12.2-sysv/chapter08/patch.html
new file mode 100644
index 0000000..37397c7
--- /dev/null
+++ b/lfs-12.2-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.70. Patch-2.7.6
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-patch" name="ch-system-patch"></a>8.70. Patch-2.7.6
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.2 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">12 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.70.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-patch" name="contents-patch"></a>8.70.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/perl.html b/lfs-12.2-sysv/chapter08/perl.html
new file mode 100644
index 0000000..b9668e9
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/perl.html
@@ -0,0 +1,691 @@
+<!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. Perl-5.40.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="less.html" title="Less-661">Пред.</a>
+ <p>
+ Less-661
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="xml-parser.html" title=
+ "XML::Parser-2.47">След.</a>
+ <p>
+ XML::Parser-2.47
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-perl" name="ch-system-perl"></a>8.43. Perl-5.40.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Perl содержит практический язык для извлечения данных и
+ составления отчётов (Practical Extraction and Report Language).
+ </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">245 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.43.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 \
+ -D prefix=/usr \
+ -D vendorprefix=/usr \
+ -D privlib=/usr/lib/perl5/5.40/core_perl \
+ -D archlib=/usr/lib/perl5/5.40/core_perl \
+ -D sitelib=/usr/lib/perl5/5.40/site_perl \
+ -D sitearch=/usr/lib/perl5/5.40/site_perl \
+ -D vendorlib=/usr/lib/perl5/5.40/vendor_perl \
+ -D vendorarch=/usr/lib/perl5/5.40/vendor_perl \
+ -D man1dir=/usr/share/man/man1 \
+ -D man3dir=/usr/share/man/man3 \
+ -D pager="/usr/bin/less -isR" \
+ -D useshrplib \
+ -D usethreads</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение параметров Configure:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class="parameter"><code>-D
+ pager="/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>-D
+ man1dir=/usr/share/man/man1 -D
+ man3dir=/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>-D
+ usethreads</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Собрать Perl с поддержкой потоков.
+ </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">TEST_JOBS=$(nproc) make test_harness</kbd></pre>
+ <p>
+ Установка пакета и очистка:
+ </p>
+ <pre class="userinput"><kbd class="command">make install
+unset BUILD_ZLIB BUILD_BZIP2</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-perl" name="contents-perl"></a>8.43.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.40.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.40.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-661">Пред.</a>
+ <p>
+ Less-661
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="xml-parser.html" title=
+ "XML::Parser-2.47">След.</a>
+ <p>
+ XML::Parser-2.47
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/pkgconf.html b/lfs-12.2-sysv/chapter08/pkgconf.html
new file mode 100644
index 0000000..834ed01
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/pkgconf.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.19. Pkgconf-2.3.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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="binutils.html" title=
+ "Binutils-2.43.1">След.</a>
+ <p>
+ Binutils-2.43.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-pkgconf" name="ch-system-pkgconf"></a>8.19.
+ Pkgconf-2.3.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.7 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.19.1. Установка пакета Pkgconf
+ </h2>
+ <p>
+ Подготовьте Pkgconf к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --disable-static \
+ --docdir=/usr/share/doc/pkgconf-2.3.0</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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-pkgconf" name="contents-pkgconf"></a>8.19.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.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="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="dejagnu.html" title=
+ "DejaGNU-1.6.3">Пред.</a>
+ <p>
+ DejaGNU-1.6.3
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="binutils.html" title=
+ "Binutils-2.43.1">След.</a>
+ <p>
+ Binutils-2.43.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/pkgmgt.html b/lfs-12.2-sysv/chapter08/pkgmgt.html
new file mode 100644
index 0000000..ddc3326
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/pkgmgt.html
@@ -0,0 +1,539 @@
+<!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 Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.9.1">След.</a>
+ <p>
+ Man-pages-6.9.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-pkgmgt" name="ch-system-pkgmgt"></a>8.2. Управление
+ пакетами
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <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>
+ Если необходимо обновить Glibc до более новой версии
+ (например, с Glibc-2.36 до Glibc-2.40) необходимо выполнить
+ некоторые дополнительные действия, чтобы избежать поломки
+ системы. Подробности читайте в <a class="xref" href=
+ "glibc.html" title="8.5. Glibc-2.40">Раздел&nbsp;8.5,
+ «Glibc-2.40»</a>.
+ </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>,
+ уже реализовала это, и большинство пакетов используют ее для
+ установки двоичных файлов и библиотек. Это означает, что
+ большую часть времени вас не будет беспокоить эта проблема.
+ Однако процесс установки некоторых пакетов (в частности,
+ SpiderMonkey в BLFS) просто перезаписывает файл, если он
+ существует, и вызывает сбой. Поэтому безопаснее сохранить
+ свою работу и закрыть ненужные запущенные программы перед
+ обновлением пакета.
+ </p>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <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">/opt/foo-1.1</code>, а
+ символическая ссылка создается из <code class=
+ "filename">/opt/foo</code> в <code class=
+ "filename">/opt/foo-1.1</code>. Когда появляется новая версия
+ foo-1.2, она устанавливается в <code class=
+ "filename">/opt/foo-1.2</code> и предыдущая символическая ссылка
+ заменяется символической ссылкой на новую версию.
+ </p>
+ <p>
+ Переменные окружения, такие как <code class="envar">PATH</code>,
+ <code class="envar">MANPATH</code>, <code class=
+ "envar">INFOPATH</code>, <code class=
+ "envar">PKG_CONFIG_PATH</code>, <code class=
+ "envar">CPPFLAGS</code>, <code class="envar">LDFLAGS</code> и
+ файл конфигурации <code class="filename">/etc/ld.so.conf</code>,
+ возможно, потребуется расширить, включив соответствующие
+ подкаталоги в <code class="filename">/opt/foo-x.y</code>.
+ </p>
+ <p>
+ Этот подход используется в книге BLFS для установки некоторых
+ очень больших пакетов, чтобы упростить их обновление. Если вы
+ устанавливаете много таких пакетов, эта схема становится
+ неуправляемой. Некоторые пакеты (например, заголовки Linux API и
+ Glibc) могут плохо работать с такой структурой. <span class=
+ "bold"><strong>Никогда не используйте её в масштабах всей
+ системы.</strong></span>
+ </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="ru" xml:lang="ru">
+ <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 для настройки процесса загрузки">Раздел&nbsp;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.9.1">След.</a>
+ <p>
+ Man-pages-6.9.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/procps-ng.html b/lfs-12.2-sysv/chapter08/procps-ng.html
new file mode 100644
index 0000000..fcd8c75
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/procps-ng.html
@@ -0,0 +1,419 @@
+<!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. Procps-ng-4.0.4
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="man-db.html" title="Man-DB-2.12.1">Пред.</a>
+ <p>
+ Man-DB-2.12.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="util-linux.html" title=
+ "Util-linux-2.40.2">След.</a>
+ <p>
+ Util-linux-2.40.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-procps" name="ch-system-procps"></a>8.78.
+ Procps-ng-4.0.4
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">26 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.78.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.4 \
+ --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">chown -R tester .
+su tester -c "PATH=$PATH make check"</kbd></pre>
+ <p>
+ Известно, что тест <code class="literal">ps with output flag
+ bsdtime,cputime,etime,etimes</code> завершается неудачно, если ядро
+ хоста собрано с выключенным параметром <code class=
+ "literal">CONFIG_BSD_PROCESS_ACCT</code>
+ </p>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-procps" name="contents-procps"></a>8.78.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.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="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.12.1">Пред.</a>
+ <p>
+ Man-DB-2.12.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="util-linux.html" title=
+ "Util-linux-2.40.2">След.</a>
+ <p>
+ Util-linux-2.40.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/psmisc.html b/lfs-12.2-sysv/chapter08/psmisc.html
new file mode 100644
index 0000000..7057b85
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/psmisc.html
@@ -0,0 +1,249 @@
+<!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. Psmisc-23.7
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.5">След.</a>
+ <p>
+ Gettext-0.22.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-psmisc" name="ch-system-psmisc"></a>8.32. Psmisc-23.7
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.7 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.32.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-psmisc" name="contents-psmisc"></a>8.32.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.5">След.</a>
+ <p>
+ Gettext-0.22.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/readline.html b/lfs-12.2-sysv/chapter08/readline.html
new file mode 100644
index 0000000..ceaaaa6
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/readline.html
@@ -0,0 +1,242 @@
+<!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. Readline-8.2.13
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-readline" name="ch-system-readline"></a>8.12.
+ Readline-8.2.13
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.12.1. Установка пакета Readline
+ </h2>
+ <p>
+ Переустановка пакета Readline приводит к перемещению старых
+ библиотек в &lt;libraryname&gt;.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>
+ Запретите использование библиотеки поиска списка жестко
+ запрограммированных путей (rpath) в общих библиотеках. Этому пакету
+ не требуется rpath для установки в стандартное местоположение,
+ кроме того, rpath иногда может вызывать нежелательные эффекты или
+ даже проблемы с безопасностью:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf</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.13</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.13</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-readline" name="contents-readline"></a>8.12.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.13</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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/sed.html b/lfs-12.2-sysv/chapter08/sed.html
new file mode 100644
index 0000000..7e8cac0
--- /dev/null
+++ b/lfs-12.2-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.31. Sed-4.9
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="ncurses.html" title="Ncurses-6.5">Пред.</a>
+ <p>
+ Ncurses-6.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="psmisc.html" title="Psmisc-23.7">След.</a>
+ <p>
+ Psmisc-23.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-sed" name="ch-system-sed"></a>8.31. Sed-4.9
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.31.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 -R 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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-sed" name="contents-sed"></a>8.31.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.5">Пред.</a>
+ <p>
+ Ncurses-6.5
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="psmisc.html" title="Psmisc-23.7">След.</a>
+ <p>
+ Psmisc-23.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/setuptools.html b/lfs-12.2-sysv/chapter08/setuptools.html
new file mode 100644
index 0000000..c0f41ea
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/setuptools.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.55. Setuptools-72.2.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="wheel.html" title="Wheel-0.44.0">Пред.</a>
+ <p>
+ Wheel-0.44.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="ninja.html" title="Ninja-1.12.1">След.</a>
+ <p>
+ Ninja-1.12.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-setuptools" name="ch-system-setuptools"></a>8.55.
+ Setuptools-72.2.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Setuptools это инструмент, используемый для загрузки, сборки,
+ установки, обновления и удаления пакетов 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">35 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.55.1. Установка пакета Setuptools
+ </h2>
+ <p>
+ Соберите пакет:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</kbd></pre>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">pip3 install --no-index --find-links dist setuptools</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-setuptools" name="contents-setuptools"></a>8.55.2.
+ Содержимое пакета Setuptools
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Созданные каталоги:</strong>
+ <span class=
+ "segbody">/usr/lib/python3.12/site-packages/_distutils_hack,
+ /usr/lib/python3.12/site-packages/pkg_resources,
+ /usr/lib/python3.12/site-packages/setuptools, and
+ /usr/lib/python3.12/site-packages/setuptools-72.2.0.dist-info</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="wheel.html" title="Wheel-0.44.0">Пред.</a>
+ <p>
+ Wheel-0.44.0
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="ninja.html" title="Ninja-1.12.1">След.</a>
+ <p>
+ Ninja-1.12.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/shadow.html b/lfs-12.2-sysv/chapter08/shadow.html
new file mode 100644
index 0000000..4197613
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/shadow.html
@@ -0,0 +1,955 @@
+<!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. Shadow-4.16.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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-14.2.0">След.</a>
+ <p>
+ GCC-14.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-shadow" name="ch-system-shadow"></a>8.28.
+ Shadow-4.16.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">112 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.28.1. Установка пакета Shadow
+ </h2>
+ <div class="admon important">
+ <img alt="[Важно]" src="../images/important.png" />
+ <h3>
+ Важно
+ </h3>
+ <p>
+ Если вы установили Linux-PAM, вам следует перейти <a class=
+ "ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/shadow.xml">
+ на страницу BLFS shadow</a> вместо этой страницы, чтобы собрать
+ (пересобрать, или обновить) shadow.
+ </p>
+ </div>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Если вы хотите принудительно использовать надежные пароли,
+ обратитесь к инструкции <a class="ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/cracklib.html">
+ https://mirror.linuxfromscratch.ru/blfs/view/12.2/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.9.1">Раздел&nbsp;8.3, «Man-pages-6.9.1»</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 \
+ --without-libbsd \
+ --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>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--without-libbsd</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Не используйте функцию readpassphrase из иблиотеки libbsd,
+ которой нет в LFS. Вместо этого используйте внутреннюю копию.
+ </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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="conf-shadow" name="conf-shadow"></a>8.28.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>. Смотрите справочную
+ страницу <a class="ulink" href=
+ "https://man.archlinux.org/man/useradd.8">useradd(8)</a> для
+ получения дополнительной информации.
+ </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. Создание основных файлов и символических ссылок">Раздел&nbsp;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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.28.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-shadow" name="contents-shadow"></a>8.28.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, 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="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-14.2.0">След.</a>
+ <p>
+ GCC-14.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/stripping.html b/lfs-12.2-sysv/chapter08/stripping.html
new file mode 100644
index 0000000..54c8779
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/stripping.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.84. Удаление отладочных символов
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-stripping" name="ch-system-stripping"></a>8.84.
+ Удаление отладочных символов
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <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>
+ Отладочные символы из выбранных библиотек сжимаются с помощью
+ <span class="application">Zlib</span> и сохраняются в отдельных
+ файлах. Эта отладочная информация необходима при выполнении
+ регрессионных тестов, с помощью <a class="ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2//general/valgrind.html">
+ valgrind</a> или <a class="ulink" href=
+ "https://mirror.linuxfromscratch.ru/blfs/view/12.2//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. Проблемы с обновлением">Раздел&nbsp;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-битных системах. Конструкция ниже выбирает
+ правильное имя для текущей архитектуры, исключая всё, что
+ заканчивается на <code class="literal">g</code>, если приведенные
+ ниже команды уже были выполнены.
+ </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.33
+ libitm.so.1.0.0
+ libatomic.so.1.2.0"
+
+cd /usr/lib
+
+for LIB in $save_usrlib; do
+ objcopy --only-keep-debug --compress-debug-sections=zlib $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.43.1.so
+ libsframe.so.1.0.0
+ libhistory.so.8.2
+ libncursesw.so.6.5
+ libm.so.6
+ libreadline.so.8.2
+ libz.so.1.3.1
+ libzstd.so.1.5.6
+ $(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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/sysklogd.html b/lfs-12.2-sysv/chapter08/sysklogd.html
new file mode 100644
index 0000000..0404d09
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/sysklogd.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.81. Sysklogd-2.6.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="e2fsprogs.html" title=
+ "E2fsprogs-1.47.1">Пред.</a>
+ <p>
+ E2fsprogs-1.47.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="sysvinit.html" title=
+ "SysVinit-3.10">След.</a>
+ <p>
+ SysVinit-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-sysklogd" name="ch-system-sysklogd"></a>8.81.
+ Sysklogd-2.6.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">3.9 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.81.1. Установка пакета Sysklogd
+ </h2>
+ <p>
+ Подготовьте пакет к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --runstatedir=/run \
+ --without-logger</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="configuration" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="conf-sysklogd" name="conf-sysklogd"></a>8.81.2. Настройка
+ Sysklogd
+ </h2>
+ <p>
+ Создайте новый файл <code class="filename">/etc/syslog.conf</code>,
+ выполнив следующую команду:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">cat &gt; /etc/syslog.conf &lt;&lt; "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 *
+
+# Do not open any internet ports.
+secure_mode 2
+
+# End /etc/syslog.conf</code>
+EOF</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-sysklogd" name="contents-sysklogd"></a>8.81.3.
+ Содержимое пакета Sysklogd
+ </h2>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Установленные программы:</strong>
+ <span class="segbody">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="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.1">Пред.</a>
+ <p>
+ E2fsprogs-1.47.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="sysvinit.html" title=
+ "SysVinit-3.10">След.</a>
+ <p>
+ SysVinit-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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/sysvinit.html b/lfs-12.2-sysv/chapter08/sysvinit.html
new file mode 100644
index 0000000..e31cbcb
--- /dev/null
+++ b/lfs-12.2-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.82. SysVinit-3.10
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="sysklogd.html" title=
+ "Sysklogd-2.6.1">Пред.</a>
+ <p>
+ Sysklogd-2.6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-sysvinit" name="ch-system-sysvinit"></a>8.82.
+ SysVinit-3.10
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">2.8 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.82.1. Установка пакета SysVinit
+ </h2>
+ <p>
+ Сначала примените патч, который удаляет несколько программ,
+ установленных другими пакетами и исправляет предупреждение
+ компилятора:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">patch -Np1 -i ../sysvinit-3.10-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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-sysvinit" name="contents-sysvinit"></a>8.82.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-2.6.1">Пред.</a>
+ <p>
+ Sysklogd-2.6.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/tar.html b/lfs-12.2-sysv/chapter08/tar.html
new file mode 100644
index 0000000..211b17e
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/tar.html
@@ -0,0 +1,194 @@
+<!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. Tar-1.35
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.1">След.</a>
+ <p>
+ Texinfo-7.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-tar" name="ch-system-tar"></a>8.71. Tar-1.35
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Tar предоставляет возможность создавать tar архивы, а также
+ производить с ними различные манипуляции. Tar может распаковать
+ предварительно созданный архив, добавить или обновить файлы в нём,
+ вернуть список файлов в архиве.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">0.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.71.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>
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-tar" name="contents-tar"></a>8.71.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.1">След.</a>
+ <p>
+ Texinfo-7.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/tcl.html b/lfs-12.2-sysv/chapter08/tcl.html
new file mode 100644
index 0000000..0b1860f
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/tcl.html
@@ -0,0 +1,293 @@
+<!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. Tcl-8.6.14
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-tcl" name="ch-system-tcl"></a>8.16. Tcl-8.6.14
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">3.2 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">91 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.16.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 \
+ --disable-rpath</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение новых параметров конфигурации:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--disable-rpath</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр предотвращает использование библиотеки поиска
+ списка жестко запрограммированных путей (rpath) в двоичных
+ исполняемых файлах и общих библиотеках. Этому пакету не
+ требуется rpath для установки в стандартное местоположение,
+ кроме того, rpath иногда может вызывать нежелательные эффекты
+ или даже проблемы с безопасностью.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <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.7|/usr/lib/tdbc1.1.7|" \
+ -e "s|$SRCDIR/pkgs/tdbc1.1.7/generic|/usr/include|" \
+ -e "s|$SRCDIR/pkgs/tdbc1.1.7/library|/usr/lib/tcl8.6|" \
+ -e "s|$SRCDIR/pkgs/tdbc1.1.7|/usr/include|" \
+ -i pkgs/tdbc1.1.7/tdbcConfig.sh
+
+sed -e "s|$SRCDIR/unix/pkgs/itcl4.2.4|/usr/lib/itcl4.2.4|" \
+ -e "s|$SRCDIR/pkgs/itcl4.2.4/generic|/usr/include|" \
+ -e "s|$SRCDIR/pkgs/itcl4.2.4|/usr/include|" \
+ -i pkgs/itcl4.2.4/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.14-html.tar.gz --strip-components=1
+mkdir -v -p /usr/share/doc/tcl-8.6.14
+cp -v -r ./html/* /usr/share/doc/tcl-8.6.14</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-tcl" name="contents-tcl"></a>8.16.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/texinfo.html b/lfs-12.2-sysv/chapter08/texinfo.html
new file mode 100644
index 0000000..c5643be
--- /dev/null
+++ b/lfs-12.2-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.72. Texinfo-7.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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.1.0660">След.</a>
+ <p>
+ Vim-9.1.0660
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-texinfo" name="ch-system-texinfo"></a>8.72.
+ Texinfo-7.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">139 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.72.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&gt;/dev/null
+ done
+popd</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-texinfo" name="contents-texinfo"></a>8.72.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.1.0660">След.</a>
+ <p>
+ Vim-9.1.0660
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/udev.html b/lfs-12.2-sysv/chapter08/udev.html
new file mode 100644
index 0000000..9b018a9
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/udev.html
@@ -0,0 +1,405 @@
+<!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. Udev из Systemd-256.4
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="jinja2.html" title="Jinja2-3.1.4">Пред.</a>
+ <p>
+ Jinja2-3.1.4
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="man-db.html" title="Man-DB-2.12.1">След.</a>
+ <p>
+ Man-DB-2.12.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-udev" name="ch-system-udev"></a>8.76. Udev из
+ Systemd-256.4
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">144 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.76.1. Установка пакета Udev
+ </h2>
+ <p>
+ Udev является частью пакета systemd-256.4. Используйте файл
+ systemd-256.4.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">sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h</kbd></pre>
+ <p>
+ Подготовьте Udev к компиляции:
+ </p>
+ <pre class="userinput"><kbd class="command">mkdir -p build
+cd build
+
+meson setup .. \
+ --prefix=/usr \
+ --buildtype=release \
+ -D mode=release \
+ -D dev-kvm-mode=0660 \
+ -D link-udev-shared=false \
+ -D logind=false \
+ -D vconsole=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>-D
+ mode=release</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Отключает некоторые функции, которые разработчики считают
+ экспериментальными.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class="parameter"><code>-D
+ dev-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>-D
+ link-udev-shared=false</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Эта опция запрещает udev связываться с внутренней общей
+ библиотекой systemd <code class=
+ "systemitem">libsystemd-shared</code>. Эта библиотека
+ предназначена для совместного использования многими
+ компонентами Systemd, и ее использование избыточно, когда
+ установлен только udev.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class="parameter"><code>-D logind=false
+ -D vconsole=false</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Эти параметры предотвращают создание нескольких файлов правил
+ udev, принадлежащих другим компонентам Systemd, которые мы не
+ будем устанавливать.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ Получите список предоставляемых udev helpers и сохраните его в
+ переменной (экспортировать его не обязательно, но это упрощает
+ сборку от имени обычного пользователя или при использовании
+ менеджера пакетов):
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">export udev_helpers=$(grep "'name' :" ../src/udev/meson.build | \
+ awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')</kbd></pre>
+ <p>
+ Соберите только компоненты, необходимые для udev:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">ninja udevadm systemd-hwdb \
+ $(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \
+ $(realpath libudev.so --relative-to .) \
+ $udev_helpers</kbd></pre>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">install -vm755 -d {/usr/lib,/etc}/udev/{hwdb.d,rules.d,network}
+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/README /usr/lib/udev/rules.d/
+install -vm644 $(find ../rules.d/*.rules \
+ -not -name '*power-switch*') /usr/lib/udev/rules.d/
+install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/
+install -vm755 $udev_helpers /usr/lib/udev
+install -vm644 ../network/99-default.link /usr/lib/udev/network</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-256.4.tar.xz \
+ --no-same-owner --strip-components=1 \
+ -C /usr/share/man --wildcards '*/udev*' '*/libudev*' \
+ '*/systemd.link.5' \
+ '*/systemd-'{hwdb,udevd.service}.8
+
+sed 's|systemd/network|udev/network|' \
+ /usr/share/man/man5/systemd.link.5 \
+ &gt; /usr/share/man/man5/udev.link.5
+
+sed 's/systemd\(\\\?-\)/udev\1/' /usr/share/man/man8/systemd-hwdb.8 \
+ &gt; /usr/share/man/man8/udev-hwdb.8
+
+sed 's|lib.*udevd|sbin/udevd|' \
+ /usr/share/man/man8/systemd-udevd.service.8 \
+ &gt; /usr/share/man/man8/udevd.8
+
+rm /usr/share/man/man*/systemd*</kbd></pre>
+ <p>
+ Наконец, сбросьте значение переменной <code class=
+ "envar">udev_helpers</code>:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">unset udev_helpers</kbd></pre>
+ </div>
+ <div class="configuration" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="conf-udev" name="conf-udev"></a>8.76.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-udev" name="contents-udev"></a>8.76.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.4">Пред.</a>
+ <p>
+ Jinja2-3.1.4
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="man-db.html" title="Man-DB-2.12.1">След.</a>
+ <p>
+ Man-DB-2.12.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/util-linux.html b/lfs-12.2-sysv/chapter08/util-linux.html
new file mode 100644
index 0000000..3703921
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/util-linux.html
@@ -0,0 +1,1929 @@
+<!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. Util-linux-2.40.2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="procps-ng.html" title=
+ "Procps-ng-4.0.4">Пред.</a>
+ <p>
+ Procps-ng-4.0.4
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="e2fsprogs.html" title=
+ "E2fsprogs-1.47.1">След.</a>
+ <p>
+ E2fsprogs-1.47.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-util-linux" name="ch-system-util-linux"></a>8.79.
+ Util-linux-2.40.2
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">315 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.79.1. Установка пакета Util-linux
+ </h2>
+ <p>
+ Подготовьте Util-linux к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --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-liblastlog2 \
+ --disable-static \
+ --without-python \
+ --without-systemd \
+ --without-systemdsystemunitdir \
+ ADJTIME_PATH=/var/lib/hwclock/adjtime \
+ --docdir=/usr/share/doc/util-linux-2.40.2</kbd></pre>
+ <p>
+ Параметры --disable и --without предотвращают появление
+ предупреждений о сборке компонентов, для которых требуются пакеты,
+ отсутствующие в LFS, или которые несовместимы с программами,
+ установленными другими пакетами.
+ </p>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make</kbd></pre>
+ <p>
+ По желанию создайте фиктивный файл <code class=
+ "filename">/etc/fstab</code> для выполнения двух тестов и запустите
+ набор тестов от имени пользователя без полномочий <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">touch /etc/fstab
+chown -R 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). Кроме того, тест lsfd: inotify
+ завершится неудачно, если опция ядра <code class=
+ "option">CONFIG_NETLINK_DIAG</code> не включена.
+ </p>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-utillinux" name="contents-utillinux"></a>8.79.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.40.2 и /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>
+ Отображает информацию о счетчике прерываний ядра в стиле
+ <a class="ulink" href=
+ "https://man.archlinux.org/man/top.1">top(1)</a>
+ </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 -
+ это случайная последовательность, которая, будет с очень
+ высокой вероятностью уникальной среди всех
+ идентификаторов, созданных как на локальной машине, так и
+ на любых других системах, в прошлом и будущем
+ (2<sup>128</sup> или около 3,4 х 10<sup>38</sup>
+ вариантов)
+ </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.4">Пред.</a>
+ <p>
+ Procps-ng-4.0.4
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="e2fsprogs.html" title=
+ "E2fsprogs-1.47.1">След.</a>
+ <p>
+ E2fsprogs-1.47.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/vim.html b/lfs-12.2-sysv/chapter08/vim.html
new file mode 100644
index 0000000..78bbe33
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/vim.html
@@ -0,0 +1,449 @@
+<!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. Vim-9.1.0660
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="texinfo.html" title="Texinfo-7.1">Пред.</a>
+ <p>
+ Texinfo-7.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="markupsafe.html" title=
+ "MarkupSafe-2.1.5">След.</a>
+ <p>
+ MarkupSafe-2.1.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-vim" name="ch-system-vim"></a>8.73. Vim-9.1.0660
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <p>
+ Пакет Vim содержит мощный текстовый редактор.
+ </p>
+ <div class="segmentedlist">
+ <div class="seglistitem">
+ <div class="seg">
+ <strong class="segtitle">Приблизительное время сборки:</strong>
+ <span class="segbody">2.9 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">245 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.2/postlfs/editors.html">
+ https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/editors.html</a>
+ за рекомендациями по установке.
+ </p>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.73.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"' &gt;&gt; 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 -R tester .</kbd></pre>
+ <p>
+ Теперь запустите тесты от имени пользователя <code class=
+ "systemitem">tester</code>:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">su tester -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \
+ &amp;&gt; vim-test.log</kbd></pre>
+ <p>
+ Набор тестов выводит на экран много двоичных данных. Это может
+ вызвать проблемы с настройками текущего терминала (особенно, когда
+ мы переопределяем переменную <code class="envar">TERM</code>, чтобы
+ удовлетворить некоторые требования набора тестов). Чтобы этого
+ избежать, перенаправьте вывод в файл журнала, как показано выше.
+ Тест пройден успешно, если лог по завершении содержит текст:
+ <code class="computeroutput">ALL DONE</code>.
+ </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.1.0660</code>,
+ что согласуется с расположением документации остальных пакетов:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">ln -sv ../vim/vim91/doc /usr/share/doc/vim-9.1.0660</kbd></pre>
+ <p>
+ Если в LFS будет установлена система X Window, может потребоваться
+ перекомпилировать Vim после установки X. Vim поставляется с
+ графической версией редактора, для которой требуется установка X и
+ некоторых дополнительных библиотек. Для получения дополнительной
+ информации об этом процессе обратитесь к документации по Vim и
+ странице установки Vim в книге BLFS по адресу <a class="ulink"
+ href="https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/vim.html">
+ https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/vim.html</a>.
+ </p>
+ </div>
+ <div class="configuration" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="conf-vim" name="conf-vim"></a>8.73.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 &gt; /etc/vimrc &lt;&lt; "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 (&amp;term == "xterm") || (&amp;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/vim91/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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-vim" name="contents-vim"></a>8.73.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.1">Пред.</a>
+ <p>
+ Texinfo-7.1
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="markupsafe.html" title=
+ "MarkupSafe-2.1.5">След.</a>
+ <p>
+ MarkupSafe-2.1.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/wheel.html b/lfs-12.2-sysv/chapter08/wheel.html
new file mode 100644
index 0000000..d5a11e4
--- /dev/null
+++ b/lfs-12.2-sysv/chapter08/wheel.html
@@ -0,0 +1,160 @@
+<!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. Wheel-0.44.0
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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="setuptools.html" title=
+ "Setuptools-72.2.0">След.</a>
+ <p>
+ Setuptools-72.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-wheel" name="ch-system-wheel"></a>8.54. Wheel-0.44.0
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.54.1. Установка пакета Wheel
+ </h2>
+ <p>
+ Скомпилируйте Wheel с помощью следующей команды:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">pip3 wheel -w dist --no-cache-dir --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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-wheel" name="contents-wheel"></a>8.54.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.12/site-packages/wheel и
+ /usr/lib/python3.12/site-packages/wheel-0.44.0.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="setuptools.html" title=
+ "Setuptools-72.2.0">След.</a>
+ <p>
+ Setuptools-72.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/xml-parser.html b/lfs-12.2-sysv/chapter08/xml-parser.html
new file mode 100644
index 0000000..63f1272
--- /dev/null
+++ b/lfs-12.2-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.44. XML::Parser-2.47
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="perl.html" title="Perl-5.40.0">Пред.</a>
+ <p>
+ Perl-5.40.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-xml-parser" name="ch-system-xml-parser"></a>8.44.
+ XML::Parser-2.47
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.4 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.44.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-xml-parser" name="contents-xml-parser"></a>8.44.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.40.0">Пред.</a>
+ <p>
+ Perl-5.40.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/xz.html b/lfs-12.2-sysv/chapter08/xz.html
new file mode 100644
index 0000000..bc57cf9
--- /dev/null
+++ b/lfs-12.2-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.6.2
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </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="lz4.html" title="Lz4-1.10.0">След.</a>
+ <p>
+ Lz4-1.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-xz" name="ch-system-xz"></a>8.8. Xz-5.6.2
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">21 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <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.6.2</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="ru" xml:lang="ru">
+ <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.6.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="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="lz4.html" title="Lz4-1.10.0">След.</a>
+ <p>
+ Lz4-1.10.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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/zlib.html b/lfs-12.2-sysv/chapter08/zlib.html
new file mode 100644
index 0000000..d042963
--- /dev/null
+++ b/lfs-12.2-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.3.1
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="glibc.html" title="Glibc-2.40">Пред.</a>
+ <p>
+ Glibc-2.40
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-zlib" name="ch-system-zlib"></a>8.6. Zlib-1.3.1
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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.4 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <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="ru" xml:lang="ru">
+ <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.40">Пред.</a>
+ <p>
+ Glibc-2.40
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
diff --git a/lfs-12.2-sysv/chapter08/zstd.html b/lfs-12.2-sysv/chapter08/zstd.html
new file mode 100644
index 0000000..2af98df
--- /dev/null
+++ b/lfs-12.2-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.10. Zstd-1.5.6
+ </title>
+ <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
+ <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
+ <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.2">
+ <div class="navheader">
+ <h4>
+ Линукс с нуля - Версия 12.2
+ </h4>
+ <h3>
+ Глава 8. Установка базового системного программного обеспечения
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="lz4.html" title="Lz4-1.10.0">Пред.</a>
+ <p>
+ Lz4-1.10.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-system-zstd" name="ch-system-zstd"></a>8.10. Zstd-1.5.6
+ </h1>
+ <div class="wrap" lang="ru" xml:lang="ru">
+ <div class="package" lang="ru" xml:lang="ru">
+ <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">84 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 8.10.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="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="contents-zstd" name="contents-zstd"></a>8.10.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="lz4.html" title="Lz4-1.10.0">Пред.</a>
+ <p>
+ Lz4-1.10.0
+ </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.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>