summaryrefslogtreecommitdiff
path: root/lfs-12.2-sysv/chapter07
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/chapter07
parent200d528e55ca954d37769f4d143f10c9519b00e7 (diff)
downloadsn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz
sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip
LFS 12.2
Diffstat (limited to 'lfs-12.2-sysv/chapter07')
-rw-r--r--lfs-12.2-sysv/chapter07/Python.html186
-rw-r--r--lfs-12.2-sysv/chapter07/bison.html142
-rw-r--r--lfs-12.2-sysv/chapter07/changingowner.html119
-rw-r--r--lfs-12.2-sysv/chapter07/chapter07.html134
-rw-r--r--lfs-12.2-sysv/chapter07/chroot.html170
-rw-r--r--lfs-12.2-sysv/chapter07/cleanup.html285
-rw-r--r--lfs-12.2-sysv/chapter07/createfiles.html266
-rw-r--r--lfs-12.2-sysv/chapter07/creatingdirs.html173
-rw-r--r--lfs-12.2-sysv/chapter07/gettext.html153
-rw-r--r--lfs-12.2-sysv/chapter07/introduction.html115
-rw-r--r--lfs-12.2-sysv/chapter07/kernfs.html207
-rw-r--r--lfs-12.2-sysv/chapter07/perl.html186
-rw-r--r--lfs-12.2-sysv/chapter07/texinfo.html125
-rw-r--r--lfs-12.2-sysv/chapter07/util-linux.html214
14 files changed, 2475 insertions, 0 deletions
diff --git a/lfs-12.2-sysv/chapter07/Python.html b/lfs-12.2-sysv/chapter07/Python.html
new file mode 100644
index 0000000..5912260
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/Python.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
+ <title>
+ 7.10. 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </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="texinfo.html" title="Texinfo-7.1">След.</a>
+ <p>
+ Texinfo-7.1
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-Python" name="ch-tools-Python"></a>7.10. 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">0.4 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">603 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.10.1. Установка пакета Python
+ </h2>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Существует два пакета, имена которых начинаются с префикса
+ <span class="quote">«<span class="quote">python</span>»</span>.
+ Сейчас необходимо распаковать файл <code class=
+ "filename">Python-3.12.5.tar.xz</code> (обратите внимание на
+ заглавную первую букву).
+ </p>
+ </div>
+ <p>
+ Подготовка Python к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --prefix=/usr \
+ --enable-shared \
+ --without-ensurepip</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение параметров настройки:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--enable-shared</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр отключает установку статичных библиотек.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--without-ensurepip</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр отключает установщик пакетов Python, который на
+ данном этапе не нужен.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make</kbd></pre>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Некоторые модули Python 3 не могут быть собраны сейчас, потому
+ что зависимости еще не установлены. Для модуля <code class=
+ "filename">ssl</code> выводится сообщение <code class=
+ "computeroutput">Python требует OpenSSL 1.1.1 или новее</code>.
+ Сообщение следует проигнорировать. Просто убедитесь, что команда
+ <span class="command"><strong>make</strong></span> верхнего
+ уровня не завершилась ошибкой. Дополнительные модули сейчас не
+ нужны, и они будут собраны в <a class="xref" href=
+ "../chapter08/chapter08.html" title=
+ "Глава 8. Установка базового системного программного обеспечения">
+ Глава&nbsp;8</a>.
+ </p>
+ </div>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <p>
+ Подробная информация об этом пакете находится в <a class="xref"
+ href="../chapter08/Python.html#contents-python" title=
+ "8.52.2. Содержимое пакета Python 3">Раздел&nbsp;8.52.2,
+ «Содержимое пакета Python 3.»</a>
+ </p>
+ </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="texinfo.html" title="Texinfo-7.1">След.</a>
+ <p>
+ Texinfo-7.1
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/bison.html b/lfs-12.2-sysv/chapter07/bison.html
new file mode 100644
index 0000000..ae67c9a
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/bison.html
@@ -0,0 +1,142 @@
+<!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>
+ 7.8. 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </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="perl.html" title="Perl-5.40.0">След.</a>
+ <p>
+ Perl-5.40.0
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-bison" name="ch-tools-bison"></a>7.8. 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">0.2 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">57 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.8.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>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение нового параметра конфигурации:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--docdir=/usr/share/doc/bison-3.8.2</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр указывает системе сборки установить
+ документацию к bison в каталог с версией пакета.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make</kbd></pre>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <p>
+ Подробная информация об этом пакете находится в <a class="xref"
+ href="../chapter08/bison.html#contents-bison" title=
+ "8.34.2. Содержимое пакета Bison">Раздел&nbsp;8.34.2, «Содержимое
+ пакета Bison.»</a>
+ </p>
+ </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="perl.html" title="Perl-5.40.0">След.</a>
+ <p>
+ Perl-5.40.0
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/changingowner.html b/lfs-12.2-sysv/chapter07/changingowner.html
new file mode 100644
index 0000000..f9a30fc
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/changingowner.html
@@ -0,0 +1,119 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
+ <title>
+ 7.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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="introduction.html" title=
+ "Введение">Пред.</a>
+ <p>
+ Введение
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="kernfs.html" title=
+ "Подготовка виртуальных файловых систем ядра">След.</a>
+ <p>
+ Подготовка виртуальных файловых систем ядра
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-changingowner" name="ch-tools-changingowner"></a>7.2.
+ Смена владельца
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Команды, приведенные в оставшейся части книги, должны выполняться
+ от имени пользователя <code class="systemitem">root</code>, а не
+ <code class="systemitem">lfs</code>. Дважды проверьте, что
+ переменная <code class="envar">$LFS</code> установлена в переменных
+ окружения пользователя <code class="systemitem">root</code>.
+ </p>
+ </div>
+ <p>
+ В настоящее время вся иерархия каталогов в <code class=
+ "filename">$LFS</code> принадлежит пользователю <code class=
+ "systemitem">lfs</code>, существующему только на хост-системе. Если
+ права на файлы и каталоги внутри <code class="filename">$LFS</code>
+ оставить как есть, то они будут принадлежать ID пользователя без
+ существующей учетной записи. Это опасно, так как созданная позже
+ учетная запись, может получить такой же ID пользователя и стать
+ владельцем всех файлов в <code class="filename">$LFS</code>, тем
+ самым делая эти файлы уязвимыми для возможных злонамеренных
+ манипуляций.
+ </p>
+ <p>
+ Для решения проблемы измените владельца каталогов <code class=
+ "filename">$LFS/*</code> на пользователя <code class=
+ "systemitem">root</code>, выполнив следующую команду:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">chown --from lfs -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools}
+case $(uname -m) in
+ x86_64) chown --from lfs -R root:root $LFS/lib64 ;;
+esac</kbd></pre>
+ </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="kernfs.html" title=
+ "Подготовка виртуальных файловых систем ядра">След.</a>
+ <p>
+ Подготовка виртуальных файловых систем ядра
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/chapter07.html b/lfs-12.2-sysv/chapter07/chapter07.html
new file mode 100644
index 0000000..16d075b
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/chapter07.html
@@ -0,0 +1,134 @@
+<!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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </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;III.&nbsp;Сборка кросс-компилятора и набора временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="../chapter06/gcc-pass2.html" title=
+ "GCC-14.2.0 - Проход 2">Пред.</a>
+ <p>
+ GCC-14.2.0 - Проход 2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="introduction.html" title=
+ "Введение">След.</a>
+ <p>
+ Введение
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="../part3.html" title=
+ "Часть&nbsp;III.&nbsp;Сборка кросс-компилятора и набора временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="chapter">
+ <a id="chapter-chroot-temporary-tools" name=
+ "chapter-chroot-temporary-tools"></a>7. Вход в окружение Chroot и
+ создание дополнительных временных инструментов
+ </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="changingowner.html">Смена владельца</a>
+ </li>
+ <li class="sect1">
+ <a href="kernfs.html">Подготовка виртуальных файловых систем
+ ядра</a>
+ </li>
+ <li class="sect1">
+ <a href="chroot.html">Вход в окружение Chroot</a>
+ </li>
+ <li class="sect1">
+ <a href="creatingdirs.html">Создание каталогов</a>
+ </li>
+ <li class="sect1">
+ <a href="createfiles.html">Создание основных файлов и
+ символических ссылок</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="perl.html">Perl-5.40.0</a>
+ </li>
+ <li class="sect1">
+ <a href="Python.html">Python-3.12.5</a>
+ </li>
+ <li class="sect1">
+ <a href="texinfo.html">Texinfo-7.1</a>
+ </li>
+ <li class="sect1">
+ <a href="util-linux.html">Util-linux-2.40.2</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="../chapter06/gcc-pass2.html" title=
+ "GCC-14.2.0 - Проход 2">Пред.</a>
+ <p>
+ GCC-14.2.0 - Проход 2
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="introduction.html" title=
+ "Введение">След.</a>
+ <p>
+ Введение
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="../part3.html" title=
+ "Часть&nbsp;III.&nbsp;Сборка кросс-компилятора и набора временных инструментов">
+ Наверх</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/chapter07/chroot.html b/lfs-12.2-sysv/chapter07/chroot.html
new file mode 100644
index 0000000..e02272c
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/chroot.html
@@ -0,0 +1,170 @@
+<!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>
+ 7.4. Вход в окружение Chroot
+ </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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="kernfs.html" title=
+ "Подготовка виртуальных файловых систем ядра">Пред.</a>
+ <p>
+ Подготовка виртуальных файловых систем ядра
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="creatingdirs.html" title=
+ "Создание каталогов">След.</a>
+ <p>
+ Создание каталогов
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-chroot" name="ch-tools-chroot"></a>7.4. Вход в
+ окружение Chroot
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <p>
+ Теперь, когда все пакеты, необходимые для сборки остальных
+ инструментов установлены в системе, пришло время войти в окружение
+ chroot и завершить установку временных инструментов. Эта среда также
+ будет использоваться для установки конечной системы. От имени
+ пользователя <code class="systemitem">root</code> выполните следующую
+ команду для входа в chroot, в которой на данный момент нет ничего,
+ кроме временных инструментов:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">chroot "$LFS" /usr/bin/env -i \
+ HOME=/root \
+ TERM="$TERM" \
+ PS1='(lfs chroot) \u:\w\$ ' \
+ PATH=/usr/bin:/usr/sbin \
+ MAKEFLAGS="-j<em class="replaceable"><code>$(nproc)</code></em>" \
+ TESTSUITEFLAGS="-j<em class="replaceable"><code>$(nproc)</code></em>" \
+ /bin/bash --login</kbd></pre>
+ <p>
+ Если вы не хотите использовать все доступные логические ядра,
+ замените параметр <em class="replaceable"><code>$(nproc)</code></em>
+ количеством логических ядер, которые вы хотите использовать для
+ сборки пакетов в этой и последующих главах. На наборы тестов
+ некоторых пакетов (в частности Autoconf, Libtool и Tar) в <a class=
+ "xref" href="../chapter08/chapter08.html" title=
+ "Глава 8. Установка базового системного программного обеспечения">Глава&nbsp;8</a>
+ не влияет установка переменной <code class="envar">MAKEFLAGS</code>,
+ вместо этого они используют переменную среды <code class=
+ "envar">TESTSUITEFLAGS</code>. Мы также установили её здесь для
+ запуска тестов с поддержкой нескольких ядер.
+ </p>
+ <p>
+ Параметр <em class="parameter"><code>-i</code></em> команды
+ <span class="command"><strong>env</strong></span>, очистит все
+ переменные в среде chroot. После этого переменные <code class=
+ "envar">HOME</code>, <code class="envar">TERM</code>, <code class=
+ "envar">PS1</code> и <code class="envar">PATH</code> будут
+ установлены заново. Конструкция <em class=
+ "parameter"><code>TERM=$TERM</code></em> установит переменную TERM
+ внутри chroot в то же значение, что и вне chroot. Эта переменная
+ необходима для корректной работы таких программ как <span class=
+ "command"><strong>vim</strong></span> и <span class=
+ "command"><strong>less</strong></span>. Если понадобятся другие
+ переменные окружения, такие как <code class="envar">CFLAGS</code> или
+ <code class="envar">CXXFLAGS</code>, то это подходящее место для их
+ установки.
+ </p>
+ <p>
+ С этого момента больше нет необходимости использовать переменную
+ <code class="envar">LFS</code>, поскольку вся работа будет ограничена
+ файловой системой LFS; команда <span class=
+ "command"><strong>chroot</strong></span> запускает оболочку Bash с
+ корневым каталогом (<code class="filename">/</code>), установленным в
+ <code class="filename">$LFS</code>.
+ </p>
+ <p>
+ Обратите внимание, что каталог <code class=
+ "filename">/tools/bin</code> не указан в переменной окружения
+ <code class="envar">PATH</code>. Это означает, что кросс-тулчейн
+ больше не будет использоваться.
+ </p>
+ <p>
+ Также обратите внимание, что в командной строке <span class=
+ "command"><strong>bash</strong></span> будет указано <code class=
+ "computeroutput">I have no name!</code>. Это нормально, поскольку
+ файл <code class="filename">/etc/passwd</code> еще не создан.
+ </p>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Важно, чтобы все команды в оставшейся части этой главы и следующих
+ главах выполнялись из среды chroot. Если вы покидаете эту среду по
+ какой-либо причине (например, при перезагрузке), убедитесь, что
+ файловые системы виртуального ядра смонтированы, как описано в
+ <a class="xref" href="kernfs.html#ch-tools-bindmount" title=
+ "7.3.1. Монтирование и заполнение /dev">Раздел&nbsp;7.3.1,
+ «Монтирование и заполнение /dev»</a> и <a class="xref" href=
+ "kernfs.html#ch-tools-kernfsmount" title=
+ "7.3.2. Монтирование виртуальных файловых систем ядра">Раздел&nbsp;7.3.2,
+ «Монтирование виртуальных файловых систем ядра»</a>, а затем
+ войдите в среду chroot для продолжения установки.
+ </p>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="kernfs.html" title=
+ "Подготовка виртуальных файловых систем ядра">Пред.</a>
+ <p>
+ Подготовка виртуальных файловых систем ядра
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="creatingdirs.html" title=
+ "Создание каталогов">След.</a>
+ <p>
+ Создание каталогов
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/cleanup.html b/lfs-12.2-sysv/chapter07/cleanup.html
new file mode 100644
index 0000000..cc8c9c1
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/cleanup.html
@@ -0,0 +1,285 @@
+<!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>
+ 7.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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </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="../part4.html" title=
+ "Сборка системы LFS">След.</a>
+ <p>
+ Сборка системы LFS
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-cleanup" name="ch-tools-cleanup"></a>7.13. Очистка и
+ сохранение временной системы
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.13.1. Очистка
+ </h2>
+ <p>
+ Во-первых, удалите установленную документацию, чтобы предотвратить
+ ее попадание в конечную систему и сэкономить около 35 МБ места:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">rm -rf /usr/share/{info,man,doc}/*</kbd></pre>
+ <p>
+ Во-вторых, в современных системах Linux файлы .la библиотеки
+ libtool полезны только для libltdl. Никакие библиотеки в LFS не
+ загружаются с помощью libltdl. Известно, что некоторые файлы .la
+ могут привести к сбою во время сборки пакетов BLFS. Удалите эти
+ файлы сейчас:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">find /usr/{lib,libexec} -name \*.la -delete</kbd></pre>
+ <p>
+ Сейчас размер системы составляет около 3 ГБ, однако каталог /tools
+ больше не понадобится. Удалите его, чтобы освободить около 1 ГБ
+ дискового пространства:
+ </p>
+ <pre class="userinput"><kbd class="command">rm -rf /tools</kbd></pre>
+ </div>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.13.2. Резервное копирование
+ </h2>
+ <p>
+ На данный момент основные программы и библиотеки собраны, и ваша
+ система LFS находится в хорошем состоянии. Можно создать резервную
+ копию вашей системы для последующего повторного использования. В
+ случае фатальных сбоев в следующих главах часто оказывается, что
+ удалить все и начать заново (более осторожно) — лучший вариант
+ восстановления. К сожалению, все временные файлы также будут
+ удалены. Чтобы не тратить лишнее время на повторную сборку того,
+ что было успешно собрано, полезно создать резервную копию текущей
+ системы LFS.
+ </p>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Все остальные шаги в этом разделе являются необязательными. Тем
+ не менее, как только вы начнете устанавливать пакеты в <a class=
+ "xref" href="../chapter08/chapter08.html" title=
+ "Глава 8. Установка базового системного программного обеспечения">
+ Глава&nbsp;8</a>, временные файлы будут перезаписаны. Поэтому
+ рекомендуется создание резервной копии текущей системы, как
+ описано ниже.
+ </p>
+ </div>
+ <p>
+ Следующие шаги выполняются вне среды chroot. Это означает, что
+ прежде чем продолжить вы должны покинуть среду chroot. Причиной
+ этого является то, что необходимо получить доступ к расположению
+ файловой системы за пределами среды chroot для хранения/чтения
+ архива резервных копий, который не должен размещаться в иерархии
+ <code class="filename">$LFS</code>.
+ </p>
+ <p>
+ Если вы решили сделать резервную копию, покиньте среду chroot:
+ </p>
+ <pre class="userinput"><kbd class="command">exit</kbd></pre>
+ <div class="admon important">
+ <img alt="[Важно]" src="../images/important.png" />
+ <h3>
+ Важно
+ </h3>
+ <p>
+ Все следующие инструкции выполняются пользователем <code class=
+ "systemitem">root</code> в вашей хост-системе. Будьте особенно
+ внимательны к командам, которые вы собираетесь запускать,
+ поскольку ошибки, допущенные здесь, могут изменить вашу
+ хост-систему. Имейте в виду, что переменная окружения
+ <code class="envar">LFS</code> по умолчанию установлена для
+ пользователя <code class="systemitem">lfs</code>, но может не
+ быть установлена для <code class="systemitem">root</code>.
+ </p>
+ <p>
+ Всякий раз, когда команды должны выполняться от <code class=
+ "systemitem">root</code>, убедитесь, что вы установили переменную
+ <code class="envar">LFS</code>.
+ </p>
+ <p>
+ Это обсуждалось в <a class="xref" href=
+ "../chapter02/aboutlfs.html" title=
+ "2.6. Установка переменной $LFS">Раздел&nbsp;2.6, «Установка
+ переменной $LFS»</a>.
+ </p>
+ </div>
+ <p>
+ Перед созданием резервной копии размонтируйте виртуальные файловые
+ системы:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">mountpoint -q $LFS/dev/shm &amp;&amp; umount $LFS/dev/shm
+umount $LFS/dev/pts
+umount $LFS/{sys,proc,run,dev}</kbd></pre>
+ <p>
+ Убедитесь, что у вас есть как минимум 1 ГБ свободного места на
+ диске (исходные tar-архивы будут включены в архив резервных копий)
+ в файловой системе, содержащей каталог, в котором вы создаете архив
+ резервных копий.
+ </p>
+ <p>
+ Обратите внимание, что в приведенных ниже инструкциях указан
+ домашний каталог пользователя <code class="systemitem">root</code>
+ хост-системы, который обычно находится в корневой файловой системе.
+ Замените <code class="envar">$HOME</code> каталогом на ваш выбор,
+ если вы не хотите, чтобы резервная копия хранилась в домашнем
+ каталоге пользователя <code class="systemitem">root</code>.
+ </p>
+ <p>
+ Создайте архив резервной копии, выполнив следующую команду:
+ </p>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Поскольку архив резервной копии сжимается, процесс занимает
+ довольно много времени (более 10 минут) даже на достаточно
+ быстрой системе.
+ </p>
+ </div>
+ <pre class="userinput"><kbd class="command">cd $LFS
+tar -cJpf $HOME/lfs-temp-tools-12.2.tar.xz .</kbd></pre>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Если вы переходите к главе 8, не забудьте повторно войти в среду
+ chroot, как описано в разделе <span class="quote">«<span class=
+ "quote">Важно</span>»</span> ниже.
+ </p>
+ </div>
+ </div>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.13.3. Восстановление
+ </h2>
+ <p>
+ В случае, если были допущены какие-либо ошибки и вам нужно начать
+ все сначала, вы можете использовать эту резервную копию для
+ восстановления системы и сэкономить время на восстановление.
+ Поскольку исходники находятся в папке <code class=
+ "filename">$LFS</code>, они также включены в архив резервной копии,
+ поэтому их не нужно загружать повторно. Убедившись, что переменная
+ <code class="envar">$LFS</code> настроена правильно, вы можете
+ восстановить резервную копию, выполнив следующие команды:
+ </p>
+ <div class="admon warning">
+ <img alt="[Предупреждение]" src="../images/warning.png" />
+ <h3>
+ Предупреждение
+ </h3>
+ <p>
+ Следующие команды чрезвычайно опасны. Если вы запустите команду
+ <span class="command"><strong>rm -rf ./*</strong></span> от имени
+ пользователя <code class="systemitem">root</code> и не перейдете
+ в каталог $LFS или переменная окружения <code class=
+ "envar">LFS</code> не будет установлена для пользователя
+ <code class="systemitem">root</code>, это уничтожит всю вашу
+ хост-систему. ВЫ ПРЕДУПРЕЖДЕНЫ.
+ </p>
+ </div>
+ <pre class="screen"><code class="computeroutput">cd $LFS
+rm -rf ./*
+tar -xpf $HOME/lfs-temp-tools-12.2.tar.xz</code></pre>
+ <p>
+ Еще раз проверьте, правильно ли настроено окружение, и продолжайте
+ сборку остальной части системы.
+ </p>
+ <div class="admon important">
+ <img alt="[Важно]" src="../images/important.png" />
+ <h3>
+ Важно
+ </h3>
+ <p>
+ Если вы покинули среду chroot, чтобы создать резервную копию или
+ перезапустить сборку с помощью восстановления, не забудьте
+ проверить, что виртуальные файловые системы все еще смонтированы
+ (<span class="command"><strong>findmnt | grep
+ $LFS</strong></span>). Если они не смонтированы, перемонтируйте
+ их сейчас, как описано в <a class="xref" href="kernfs.html"
+ title="7.3. Подготовка виртуальных файловых систем ядра">Раздел&nbsp;7.3,
+ «Подготовка виртуальных файловых систем ядра»</a>, и повторно
+ войдите в среду chroot (см. <a class="xref" href="chroot.html"
+ title="7.4. Вход в окружение Chroot">Раздел&nbsp;7.4, «Вход в
+ окружение Chroot»</a>), прежде чем продолжить.
+ </p>
+ </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="../part4.html" title=
+ "Сборка системы LFS">След.</a>
+ <p>
+ Сборка системы LFS
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/createfiles.html b/lfs-12.2-sysv/chapter07/createfiles.html
new file mode 100644
index 0000000..588c103
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/createfiles.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>
+ 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="creatingdirs.html" title=
+ "Создание каталогов">Пред.</a>
+ <p>
+ Создание каталогов
+ </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="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-createfiles" name="ch-tools-createfiles"></a>7.6.
+ Создание основных файлов и символических ссылок
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <p>
+ Исторически сложилось, что Linux хранит список примонтированных
+ файловых систем в файле <code class="filename">/etc/mtab</code>.
+ Современные ядра хранят этот список внутри себя и предоставляют его
+ пользователю через файловую систему <code class=
+ "filename">/proc</code>. Чтобы удовлетворять требованиям утилит,
+ которые ожидают наличия <code class="filename">/etc/mtab</code>,
+ создайте следующую символическую ссылку:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">ln -sv /proc/self/mounts /etc/mtab</kbd></pre>
+ <p>
+ Создайте файл <code class="filename">/etc/hosts</code>, на который
+ будут ссылаться некоторые наборы тестов, а также один из файлов
+ конфигурации Perl:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">cat &gt; /etc/hosts &lt;&lt; EOF
+<code class="literal">127.0.0.1 localhost $(hostname)
+::1 localhost</code>
+EOF</kbd></pre>
+ <p>
+ Чтобы пользователь <code class="systemitem">root</code> мог войти в
+ систему и распознавался системой, в файлах <code class=
+ "filename">/etc/passwd</code> и <code class=
+ "filename">/etc/group</code> должны быть соответствующие записи.
+ </p>
+ <p>
+ Создайте файл <code class="filename">/etc/passwd</code> выполнив
+ следующую команду:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">cat &gt; /etc/passwd &lt;&lt; "EOF"
+<code class="literal">root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/dev/null:/usr/bin/false
+daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false
+messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/usr/bin/false
+uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false
+nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false</code>
+EOF</kbd></pre>
+ <p>
+ Пароль пользователя <code class="systemitem">root</code> будет задан
+ позднее.
+ </p>
+ <p>
+ Создайте файл <code class="filename">/etc/group</code>, выполнив
+ следующую команду:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">cat &gt; /etc/group &lt;&lt; "EOF"
+<code class="literal">root:x:0:
+bin:x:1:daemon
+sys:x:2:
+kmem:x:3:
+tape:x:4:
+tty:x:5:
+daemon:x:6:
+floppy:x:7:
+disk:x:8:
+lp:x:9:
+dialout:x:10:
+audio:x:11:
+video:x:12:
+utmp:x:13:
+cdrom:x:15:
+adm:x:16:
+messagebus:x:18:
+input:x:24:
+mail:x:34:
+kvm:x:61:
+uuidd:x:80:
+wheel:x:97:
+users:x:999:
+nogroup:x:65534:</code>
+EOF</kbd></pre>
+ <p>
+ Созданные группы не являются частью какого-либо стандарта — это
+ группы, определяемые частично требованиями конфигурации Udev в главе
+ 9, а частично общими соглашениями, используемыми в ряде существующих
+ дистрибутивов Linux. Кроме того, некоторые наборы тестов зависят от
+ конкретных пользователей или групп. Спецификация LSB (доступна по
+ адресу <a class="ulink" href=
+ "https://refspecs.linuxfoundation.org/lsb.shtml">https://refspecs.linuxfoundation.org/lsb.shtml</a>)
+ рекомендует, чтобы, помимо группы <code class=
+ "systemitem">root</code> с идентификатор (GID) 0 присутствовала
+ группа <code class="systemitem">bin</code> с GID 1. GID 5 широко
+ используется для группы <code class="systemitem">tty</code>, число 5
+ также используется в <span class="phrase"><code class=
+ "filename">/etc/fstab</code></span> для файловой системы <code class=
+ "systemitem">devpts</code>. Все остальные имена групп и GID могут
+ свободно выбираться системным администратором, так как хорошо
+ написанные программы не зависят от номеров GID, а чаще используют
+ название группы.
+ </p>
+ <p>
+ Идентификатор 65534 используется ядром для NFS и отдельных
+ пользовательских пространств имен для несопоставленных пользователей
+ и групп (они существуют на сервере NFS или родительском пространстве
+ имен пользователя, но <span class="quote">«<span class="quote">не
+ существует</span>»</span> на локальном компьютере или в отдельном
+ пространстве имен). Мы присваиваем <code class=
+ "systemitem">nobody</code> и <code class="systemitem">nogroup</code>
+ для того, чтобы избежать несопоставленных идентификаторов. Другие
+ дистрибутивы могут обрабатывать этот идентификатор по-разному,
+ поэтому любая переносимая программа не должна зависеть от этого
+ присвоения.
+ </p>
+ <p>
+ Для некоторых пакетов требуется локаль.
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">localedef -i C -f UTF-8 C.UTF-8</kbd></pre>
+ <p>
+ Для некоторых тестов в <a class="xref" href=
+ "../chapter08/chapter08.html" title=
+ "Глава 8. Установка базового системного программного обеспечения">Глава&nbsp;8</a>
+ требуется обычный пользователь. Добавим такого пользователя здесь и
+ удалим эту учетную запись в конце главы.
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">echo "tester:x:101:101::/home/tester:/bin/bash" &gt;&gt; /etc/passwd
+echo "tester:x:101:" &gt;&gt; /etc/group
+install -o tester -d /home/tester</kbd></pre>
+ <p>
+ Чтобы удалить приглашение <span class="quote">«<span class="quote">I
+ have no name!</span>»</span>, запустите новую оболочку. Поскольку
+ файлы <code class="filename">/etc/passwd</code> и <code class=
+ "filename">/etc/group</code> были созданы, разрешение имен
+ пользователей и групп теперь будет работать:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">exec /usr/bin/bash --login</kbd></pre>
+ <p>
+ Программы <span class="command"><strong>login</strong></span>,
+ <span class="command"><strong>agetty</strong></span>, <span class=
+ "command"><strong>init</strong></span> (и другие) используют ряд
+ журналов для записи такой информации, как кто и когда входил в
+ систему. Однако эти программы не будут записывать данные в журналы,
+ если они еще не существуют. Инициализируйте журналы и предоставьте им
+ соответствующие разрешения:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">touch /var/log/{btmp,lastlog,faillog,wtmp}
+chgrp -v utmp /var/log/lastlog
+chmod -v 664 /var/log/lastlog
+chmod -v 600 /var/log/btmp</kbd></pre>
+ <p>
+ В файл <code class="filename">/var/log/wtmp</code> записываются все
+ входы и выходы из системы. В файл <code class=
+ "filename">/var/log/lastlog</code> записывается время последнего
+ входа каждого пользователя в систему. В файл <code class=
+ "filename">/var/log/faillog</code> записываются неудачные попытки
+ входа в систему. В файл <code class="filename">/var/log/btmp</code>
+ также записываются неудачные попытки входа в систему.
+ </p>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ В файл <code class="filename">/run/utmp</code> записываются
+ пользователи, которые в данный момент вошли в систему. Он создаётся
+ динамически, в процессе выполнения сценариев загрузки.
+ </p>
+ </div>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Файлы <span class="phrase"><code class=
+ "filename">utmp</code>,</span> <code class="filename">wtmp</code>,
+ <code class="filename">btmp</code> и <code class=
+ "filename">lastlog</code> используют для временных меток
+ 32-разрядные целые числа, значения счетчика достигнет максимума (2
+ 147 483 647) 19 января 2038 года ("проблема 2038 года"). Многие
+ пакеты перестали их использовать, другие же, собираются прекратить
+ их использование. Вероятно, лучше считать их устаревшими.
+ </p>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="creatingdirs.html" title=
+ "Создание каталогов">Пред.</a>
+ <p>
+ Создание каталогов
+ </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="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/creatingdirs.html b/lfs-12.2-sysv/chapter07/creatingdirs.html
new file mode 100644
index 0000000..6bf9fdf
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/creatingdirs.html
@@ -0,0 +1,173 @@
+<!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>
+ 7.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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="chroot.html" title=
+ "Вход в окружение Chroot">Пред.</a>
+ <p>
+ Вход в окружение Chroot
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="createfiles.html" title=
+ "Создание основных файлов и символических ссылок">След.</a>
+ <p>
+ Создание основных файлов и символических ссылок
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-creatingdirs" name="ch-tools-creatingdirs"></a>7.5.
+ Создание каталогов
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <p>
+ Пришло время создать полную структуру каталогов в файловой системе
+ LFS.
+ </p>
+ <div class="admon note">
+ <img alt="[Примечание]" src="../images/note.png" />
+ <h3>
+ Примечание
+ </h3>
+ <p>
+ Некоторые из каталогов, упомянутых в этом разделе, возможно, уже
+ были созданы ранее с помощью явных инструкций или при установке
+ некоторых пакетов. Они повторяются ниже для полноты картины.
+ </p>
+ </div>
+ <p>
+ Создайте несколько каталогов, которые не входили в ограниченный
+ набор, используемый в предыдущих главах, выполнив следующую команду:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">mkdir -pv /{boot,home,mnt,opt,srv}</kbd></pre>
+ <p>
+ Создайте необходимые подкаталоги, выполнив следующие команды:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">mkdir -pv /etc/{opt,sysconfig}
+mkdir -pv /lib/firmware
+mkdir -pv /media/{floppy,cdrom}
+mkdir -pv /usr/{,local/}{include,src}
+mkdir -pv /usr/lib/locale
+mkdir -pv /usr/local/{bin,lib,sbin}
+mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
+mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
+mkdir -pv /usr/{,local/}share/man/man{1..8}
+mkdir -pv /var/{cache,local,log,mail,opt,spool}
+mkdir -pv /var/lib/{color,misc,locate}
+
+ln -sfv /run /var/run
+ln -sfv /run/lock /var/lock
+
+install -dv -m 0750 /root
+install -dv -m 1777 /tmp /var/tmp</kbd></pre>
+ <p>
+ По умолчанию каталоги создаются с правами 755, но это нежелательно
+ делать для всех каталогов. В приведенных выше командах вносятся два
+ изменения — одно в домашний каталог пользователя <code class=
+ "systemitem">root</code>, а другое в каталоги для временных файлов.
+ </p>
+ <p>
+ Первое изменение гарантирует, что никто не сможет войти в каталог
+ <code class="filename">/root</code> — точно так же, как обычный
+ пользователь сделал бы это со своим собственным домашним каталогом.
+ Второе изменение гарантирует, что любой пользователь может писать в
+ каталоги <code class="filename">/tmp</code> и <code class=
+ "filename">/var/tmp</code>, но не может удалять из них файлы другого
+ пользователя. Последнее запрещено так называемым <span class=
+ "quote">«<span class="quote">sticky bit (липким
+ битом)</span>»</span>, старшим битом (1) в битовой маске 1777
+ </p>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.5.1. Примечание о соответствии требованиям FHS
+ </h2>
+ <p>
+ Это дерево каталогов основано на стандарте иерархии файловой
+ системы (FHS) (доступен по адресу <a class="ulink" href=
+ "https://refspecs.linuxfoundation.org/fhs.shtml">https://refspecs.linuxfoundation.org/fhs.shtml</a>).
+ FHS также указывает, что наличие некоторых каталогов необязательно,
+ например, <code class="filename">/usr/local/games</code> и
+ <code class="filename">/usr/share/games</code>. В LFS мы создаем
+ только те каталоги, которые действительно необходимы. Однако, не
+ стесняйтесь создавать дополнительные каталоги, если хотите.
+ </p>
+ <div class="admon warning">
+ <img alt="[Предупреждение]" src="../images/warning.png" />
+ <h3>
+ Предупреждение
+ </h3>
+ <p>
+ FHS не требует наличия каталога <code class=
+ "filename">/usr/lib64</code>, и редакторы LFS решили его не
+ использовать. Чтобы инструкции в LFS и BLFS работали корректно,
+ крайне важно, чтобы этот каталог не существовал. Время от времени
+ вам следует проверять, что он не существует, потому что его легко
+ создать непреднамеренно, и это, вероятно, приведет к поломке
+ вашей системы.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="chroot.html" title=
+ "Вход в окружение Chroot">Пред.</a>
+ <p>
+ Вход в окружение Chroot
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="createfiles.html" title=
+ "Создание основных файлов и символических ссылок">След.</a>
+ <p>
+ Создание основных файлов и символических ссылок
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/gettext.html b/lfs-12.2-sysv/chapter07/gettext.html
new file mode 100644
index 0000000..b57e580
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/gettext.html
@@ -0,0 +1,153 @@
+<!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>
+ 7.7. 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="createfiles.html" title=
+ "Создание основных файлов и символических ссылок">Пред.</a>
+ <p>
+ Создание основных файлов и символических ссылок
+ </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="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-gettext" name="ch-tools-gettext"></a>7.7.
+ 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.1 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">321 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.7.1. Установка пакета Gettext
+ </h2>
+ <p>
+ Для временного набора инструментов нам нужно установить только три
+ программы из пакета Gettext.
+ </p>
+ <p>
+ Подготовьте Gettext к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --disable-shared</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение параметров настройки:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--disable-shared</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ В настоящее время нам не нужно устанавливать какие-либо общие
+ библиотеки Gettext, поэтому нет необходимости их собирать.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make</kbd></pre>
+ <p>
+ Установите программы <span class=
+ "command"><strong>msgfmt</strong></span>, <span class=
+ "command"><strong>msgmerge</strong></span>, и <span class=
+ "command"><strong>xgettext</strong></span> programs:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <p>
+ Подробная информация об этом пакете находится в <a class="xref"
+ href="../chapter08/gettext.html#contents-gettext" title=
+ "8.33.2. Содержимое пакета Gettext">Раздел&nbsp;8.33.2, «Содержимое
+ пакета Gettext.»</a>
+ </p>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="createfiles.html" title=
+ "Создание основных файлов и символических ссылок">Пред.</a>
+ <p>
+ Создание основных файлов и символических ссылок
+ </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="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/introduction.html b/lfs-12.2-sysv/chapter07/introduction.html
new file mode 100644
index 0000000..a93eaf4
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/introduction.html
@@ -0,0 +1,115 @@
+<!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>
+ 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="chapter07.html" title=
+ "Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Пред.</a>
+ <p>
+ Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="changingowner.html" title=
+ "Смена владельца">След.</a>
+ <p>
+ Смена владельца
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-introduction-chroot" name=
+ "ch-tools-introduction-chroot"></a>7.1. Введение
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <p>
+ В этой главе рассказывается, как собрать последние недостающие части
+ временной системы: инструменты, необходимые для сборки различных
+ пакетов. Теперь, когда все циклические зависимости устранены, для
+ сборки можно использовать среду <span class="quote">«<span class=
+ "quote">chroot</span>»</span>, полностью изолированную от
+ операционной системы хоста (за исключением работающего ядра).
+ </p>
+ <p>
+ Для правильной работы изолированной среды необходимо установить связь
+ с работающим ядром. Это делается с помощью так называемых
+ <span class="emphasis"><em>виртуальных файловых систем
+ ядра</em></span>, которые будут смонтированы перед входом в среду
+ chroot. Вы можете проверить, смонтированы ли они, выполнив команду
+ <span class="command"><strong>findmnt</strong></span>.
+ </p>
+ <p>
+ До <a class="xref" href="chroot.html" title=
+ "7.4. Вход в окружение Chroot">Раздел&nbsp;7.4, «Вход в окружение
+ Chroot»</a> команды должны выполняться от имени <code class=
+ "systemitem">root</code> с установленной переменной <code class=
+ "envar">LFS</code>. После входа в chroot все команды выполняются от
+ имени <code class="systemitem">root</code>, к счастью, без доступа к
+ операционной системе компьютера, на котором вы собираете LFS. В любом
+ случае будьте осторожны, так как неверными командами легко разрушить
+ всю систему LFS.
+ </p>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="chapter07.html" title=
+ "Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Пред.</a>
+ <p>
+ Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="changingowner.html" title=
+ "Смена владельца">След.</a>
+ <p>
+ Смена владельца
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/kernfs.html b/lfs-12.2-sysv/chapter07/kernfs.html
new file mode 100644
index 0000000..8023295
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/kernfs.html
@@ -0,0 +1,207 @@
+<!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>
+ 7.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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </h3>
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="changingowner.html" title=
+ "Смена владельца">Пред.</a>
+ <p>
+ Смена владельца
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="chroot.html" title=
+ "Вход в окружение Chroot">След.</a>
+ <p>
+ Вход в окружение Chroot
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-kernfs" name="ch-tools-kernfs"></a>7.3. Подготовка
+ виртуальных файловых систем ядра
+ </h1>
+ <div class="sect1" lang="ru" xml:lang="ru">
+ <p>
+ Приложения, работающие в пользовательском пространстве, используют
+ различные файловые системы, созданные ядром, для взаимодействия с
+ самим ядром. Эти файловые системы являются виртуальными: для них не
+ используется дисковое пространство. Содержимое файловых систем
+ находится в памяти. Эти файловые системы должны быть смонтированы в
+ дереве каталогов $LFS, чтобы приложения могли найти их в среде
+ <span class="command"><strong>chroot</strong></span>.
+ </p>
+ <p>
+ Начните с создания каталогов, в которые будут смонтированы эти
+ виртуальные файловые системы:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">mkdir -pv $LFS/{dev,proc,sys,run}</kbd></pre>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="ch-tools-bindmount" name="ch-tools-bindmount"></a>7.3.1.
+ Монтирование и заполнение /dev
+ </h2>
+ <p>
+ Во время обычной загрузки ядро автоматически монтирует файловую
+ систему <code class="systemitem">devtmpfs</code> в каталог
+ <code class="filename">/dev</code>; ядро создает узлы устройств в
+ этой виртуальной файловой системе в процессе загрузки или при
+ первом обнаружении устройства, или доступе к нему. Демон udev может
+ изменять владельца или разрешения узлов устройств, созданных ядром,
+ или создавать новые узлы устройств или символические ссылки, чтобы
+ облегчить работу разработчиков дистрибутива или системных
+ администраторов. (Подробности смотрите в <a class="xref" href=
+ "../chapter09/udev.html#ch-config-udev-device-node-creation" title=
+ "9.3.2.2. Создание узла устройства">Раздел&nbsp;9.3.2.2, «Создание
+ узла устройства»</a>.) Если ядро хоста поддерживает <code class=
+ "systemitem">devtmpfs</code>, мы можем просто смонтировать
+ <code class="systemitem">devtmpfs</code> в <code class=
+ "filename">$LFS/dev</code> и положиться на ядро для его заполнения.
+ </p>
+ <p>
+ Но в некоторых ядрах хоста отсутствует поддержка <code class=
+ "systemitem">devtmpfs</code>, эти хост-дистрибутивы используют
+ разные методы для создания содержимого <code class=
+ "filename">/dev</code>. Таким образом, единственный независимый от
+ хоста способ заполнить каталог <code class=
+ "filename">$LFS/dev</code> - это привязка к каталогу <code class=
+ "filename">/dev</code> хост-системы. Связное монтирование - это
+ особый тип монтирования, который делает дерево каталога или файл
+ видимым в каком-либо другом месте. Для этого используйте следующую
+ команду:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">mount -v --bind /dev $LFS/dev</kbd></pre>
+ </div>
+ <div class="sect2" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ <a id="ch-tools-kernfsmount" name="ch-tools-kernfsmount"></a>7.3.2.
+ Монтирование виртуальных файловых систем ядра
+ </h2>
+ <p>
+ Теперь смонтируйте оставшиеся виртуальные файловые системы:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts
+mount -vt proc proc $LFS/proc
+mount -vt sysfs sysfs $LFS/sys
+mount -vt tmpfs tmpfs $LFS/run</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение параметров монтирования для devpts:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>gid=5</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр гарантирует, что все узлы устройств, созданные
+ devpts, принадлежат группе с идентификатором 5. Это
+ идентификатор, который мы будем использовать позже для группы
+ <code class="systemitem">tty</code>. Мы используем
+ идентификатор группы вместо имени, поскольку хост-система
+ может использовать другой идентификатор для своей группы
+ <code class="systemitem">tty</code>.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>mode=0620</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр гарантирует, что все узлы устройств, созданные
+ devpts, будут иметь права 0620 (доступен для чтения и записи
+ пользователем, доступен для записи группе). Вместе с
+ вышеуказанной опцией это гарантирует, что devpts создаст узлы
+ устройств, соответствующие требованиям grantpt(), а это
+ означает, что вспомогательный файл Glibc <span class=
+ "command"><strong>pt_chown</strong></span> (который не
+ установлен по умолчанию) не требуется.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ В некоторых хост-системах <code class="filename">/dev/shm</code>
+ является символической ссылкой на каталог <code class=
+ "filename">/run/shm</code>. /run tmpfs был смонтирован выше,
+ поэтому сейчас необходимо только создать каталог с правильными
+ разрешениями.
+ </p>
+ <p>
+ В других хост-системах <code class="filename">/dev/shm</code>
+ является точкой монтирования для tmpfs. В этом случае монтирование
+ /dev приведет только к созданию /dev/shm как каталога в среде
+ chroot. В этой ситуации мы должны явно смонтировать tmpfs:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">if [ -h $LFS/dev/shm ]; then
+ install -v -d -m 1777 $LFS$(realpath /dev/shm)
+else
+ mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
+fi</kbd></pre>
+ </div>
+ </div>
+ <div class="navfooter">
+ <ul>
+ <li class="prev">
+ <a accesskey="p" href="changingowner.html" title=
+ "Смена владельца">Пред.</a>
+ <p>
+ Смена владельца
+ </p>
+ </li>
+ <li class="next">
+ <a accesskey="n" href="chroot.html" title=
+ "Вход в окружение Chroot">След.</a>
+ <p>
+ Вход в окружение Chroot
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/perl.html b/lfs-12.2-sysv/chapter07/perl.html
new file mode 100644
index 0000000..59aa8c1
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/perl.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
+ <title>
+ 7.9. 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </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="Python.html" title="Python-3.12.5">След.</a>
+ <p>
+ Python-3.12.5
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-perl" name="ch-tools-perl"></a>7.9. 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">0.6 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">285 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.9.1. Установка пакета Perl
+ </h2>
+ <p>
+ Подготовьте Perl к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">sh Configure -des \
+ -D prefix=/usr \
+ -D vendorprefix=/usr \
+ -D useshrplib \
+ -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</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение новых опций Configure:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>-des</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Это комбинация из трех параметров: -d использует значения по
+ умолчанию для всех элементов; -e обеспечивает выполнение всех
+ задач; -s отключает несущественные выходные данные.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class="parameter"><code>-D
+ vendorprefix=/usr</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Параметр гарантирует, что <span class=
+ "command"><strong>perl</strong></span> знает, как указать
+ пакетам, где они должны устанавливать свои модули Perl.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class="parameter"><code>-D
+ useshrplib</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Собрать библиотеку libperl, необходимую некоторым модулям
+ Perl, как общую библиотеку вместо статической.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class="parameter"><code>-D privlib,-D
+ archlib,-D sitelib,...</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Эти настройки определяют, где Perl ищет установленные модули.
+ Редакторы LFS решили поместить их в структуру каталогов,
+ основанную на MAJOR.MINOR версии Perl (5.40), что позволяет
+ обновлять Perl до более новых уровней исправлений (уровень
+ исправления - это последняя разделенная точками часть в
+ строке полной версии, например 5.40.0) без необходимости
+ переустанавливать все модули.
+ </p>
+ </dd>
+ </dl>
+ </div>
+ <p>
+ Скомпилируйте пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make</kbd></pre>
+ <p>
+ Установите пакет:
+ </p>
+ <pre class="userinput"><kbd class="command">make install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <p>
+ Подробная информация об этом пакете находится в <a class="xref"
+ href="../chapter08/perl.html#contents-perl" title=
+ "8.43.2. Содержимое пакета Perl">Раздел&nbsp;8.43.2, «Содержимое
+ пакета Perl.»</a>
+ </p>
+ </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="Python.html" title="Python-3.12.5">След.</a>
+ <p>
+ Python-3.12.5
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/texinfo.html b/lfs-12.2-sysv/chapter07/texinfo.html
new file mode 100644
index 0000000..b758490
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/texinfo.html
@@ -0,0 +1,125 @@
+<!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>
+ 7.11. 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </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="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="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-texinfo" name="ch-tools-texinfo"></a>7.11. 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.2 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">130 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.11.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 install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <p>
+ Подробная информация об этом пакете находится в <a class="xref"
+ href="../chapter08/texinfo.html#contents-texinfo" title=
+ "8.72.2. Содержимое пакета Texinfo">Раздел&nbsp;8.72.2, «Содержимое
+ пакета Texinfo.»</a>
+ </p>
+ </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="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="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</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/chapter07/util-linux.html b/lfs-12.2-sysv/chapter07/util-linux.html
new file mode 100644
index 0000000..7724122
--- /dev/null
+++ b/lfs-12.2-sysv/chapter07/util-linux.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>
+ 7.12. 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>
+ Глава 7. Вход в окружение Chroot и создание дополнительных временных
+ инструментов
+ </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="cleanup.html" title=
+ "Очистка и сохранение временной системы">След.</a>
+ <p>
+ Очистка и сохранение временной системы
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ <h1 class="sect1">
+ <a id="ch-tools-util-linux" name="ch-tools-util-linux"></a>7.12.
+ 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.2 SBU</span>
+ </div>
+ <div class="seg">
+ <strong class="segtitle">Требуемое дисковое
+ пространство:</strong> <span class="segbody">180 MB</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="installation" lang="ru" xml:lang="ru">
+ <h2 class="sect2">
+ 7.12.1. Установка пакета Util-linux
+ </h2>
+ <p>
+ FHS рекомендует использовать каталог <code class=
+ "filename">/var/lib/hwclock</code> вместо каталога <code class=
+ "filename">/etc</code> в качестве местоположения для файла
+ <code class="filename">adjtime</code>. Создайте этот каталог:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">mkdir -pv /var/lib/hwclock</kbd></pre>
+ <p>
+ Подготовьте Util-linux к компиляции:
+ </p>
+ <pre class="userinput"><kbd class=
+ "command">./configure --libdir=/usr/lib \
+ --runstatedir=/run \
+ --disable-chfn-chsh \
+ --disable-login \
+ --disable-nologin \
+ --disable-su \
+ --disable-setpriv \
+ --disable-runuser \
+ --disable-pylibmount \
+ --disable-static \
+ --disable-liblastlog2 \
+ --without-python \
+ ADJTIME_PATH=/var/lib/hwclock/adjtime \
+ --docdir=/usr/share/doc/util-linux-2.40.2</kbd></pre>
+ <div class="variablelist">
+ <p class="title">
+ <strong>Значение параметров настройки:</strong>
+ </p>
+ <dl class="variablelist">
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>ADJTIME_PATH=/var/lib/hwclock/adjtime</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр устанавливает расположение файла для записи
+ информации об аппаратных часах в соответствии с FHS. Он не
+ обязателен для временного инструментария, но предотвращает
+ создание файла в другом месте, где файл не будет перезаписан
+ или удален при финальной сборке пакета util-linux.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--libdir=/usr/lib</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр гарантирует, что символические ссылки
+ <code class="filename">.so</code>, будут указывать на файл
+ общей библиотеки в том же каталоге (<code class=
+ "filename">/usr/lib</code>).
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--disable-*</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр предотвращают появление предупреждений о сборке
+ компонентов, для которых требуются пакеты, отсутствующие или
+ еще не установленные в LFS.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--without-python</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр отключает использование <span class=
+ "application">Python</span>. Это позволяет избежать попыток
+ создания ненужных привязок.
+ </p>
+ </dd>
+ <dt>
+ <span class="term"><em class=
+ "parameter"><code>--runstatedir=/run</code></em></span>
+ </dt>
+ <dd>
+ <p>
+ Этот параметр устанавливает расположение сокета,
+ используемого <span class=
+ "command"><strong>uuidd</strong></span> и <code class=
+ "filename">libuuid</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 install</kbd></pre>
+ </div>
+ <div class="content" lang="ru" xml:lang="ru">
+ <p>
+ Подробная информация об этом пакете находится в <a class="xref"
+ href="../chapter08/util-linux.html#contents-utillinux" title=
+ "8.79.2. Содержимое пакета Util-linux">Раздел&nbsp;8.79.2,
+ «Содержимое пакета Util-linux.»</a>
+ </p>
+ </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="cleanup.html" title=
+ "Очистка и сохранение временной системы">След.</a>
+ <p>
+ Очистка и сохранение временной системы
+ </p>
+ </li>
+ <li class="up">
+ <a accesskey="u" href="chapter07.html" title=
+ "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
+ Наверх</a>
+ </li>
+ <li class="home">
+ <a accesskey="h" href="../index.html" title=
+ "Линукс с нуля - Версия 12.2">Начало</a>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>