summaryrefslogtreecommitdiff
path: root/lfs-12.0-sysv/chapter04
diff options
context:
space:
mode:
Diffstat (limited to 'lfs-12.0-sysv/chapter04')
-rw-r--r--lfs-12.0-sysv/chapter04/aboutsbus.html153
-rw-r--r--lfs-12.0-sysv/chapter04/abouttestsuites.html132
-rw-r--r--lfs-12.0-sysv/chapter04/addinguser.html209
-rw-r--r--lfs-12.0-sysv/chapter04/chapter04.html108
-rw-r--r--lfs-12.0-sysv/chapter04/creatingminlayout.html142
-rw-r--r--lfs-12.0-sysv/chapter04/introduction.html92
-rw-r--r--lfs-12.0-sysv/chapter04/settingenvironment.html345
7 files changed, 0 insertions, 1181 deletions
diff --git a/lfs-12.0-sysv/chapter04/aboutsbus.html b/lfs-12.0-sysv/chapter04/aboutsbus.html
deleted file mode 100644
index 5864f71..0000000
--- a/lfs-12.0-sysv/chapter04/aboutsbus.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<!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>
- 4.5. О SBU (Стандартная единица времени сборки)
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </h4>
- <h3>
- Глава 4. Заключительный этап подготовки
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="settingenvironment.html" title=
- "Настройка окружения">Пред.</a>
- <p>
- Настройка окружения
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="abouttestsuites.html" title=
- "О наборах тестов">След.</a>
- <p>
- О наборах тестов
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <h1 class="sect1">
- <a id="ch-preps-aboutsbus" name="ch-preps-aboutsbus"></a>4.5. О SBU
- (Стандартная единица времени сборки)
- </h1>
- <p>
- Многие люди хотели бы знать заранее, сколько примерно времени
- потребуется для компиляции и установки каждого пакета. Поскольку
- Linux From Scratch может быть собран на различных системах,
- невозможно дать точную оценку времени. Сборка самого большого пакета
- (gcc) займет около 5 минут на быстрых системах, но может занять
- несколько дней на более медленных компьютерах! Вместо фактического
- времени в книге используется показатель "стандартная единица времени
- сборки" (SBU).
- </p>
- <p>
- Показатель SBU рассчитывается следующим образом. Первым пакетом,
- который нужно скомпилировать, является binutils в <a class="xref"
- href="../chapter05/chapter05.html" title=
- "Глава 5. Сборка кросс-тулчейна">Глава&nbsp;5</a>. Время, необходимое
- для компиляции этого пакета с использованием одного ядра, будет
- называться стандартной единицей времени сборки или SBU. Время
- компиляции остальных пакетов будет рассчитано относительно этого
- времени.
- </p>
- <p>
- Например, рассмотрим пакет, время компиляции которого составляет 4,5
- SBU. Это означает, что если вашей системе потребовалось 10 минут для
- компиляции и сборки первого прохода binutils, то для сборки этого
- пакета потребуется <span class="emphasis"><em>примерно</em></span> 45
- минут. К счастью, в большинстве случаев, время сборки меньше, чем у
- binutils.
- </p>
- <p>
- В целом, величина SBU не совсем точна, поскольку она зависит от
- многих факторов, включая версию GCC хост-системы. Она приведены
- здесь, чтобы дать оценку того, сколько времени может потребоваться
- для сборки пакета, но в некоторых случаях цифры могут отличаться на
- десятки минут.
- </p>
- <div class="admon note">
- <img alt="[Примечание]" src="../images/note.png" />
- <h3>
- Примечание
- </h3>
- <p>
- Для многих современных систем с несколькими процессорами (или
- ядрами) время компиляции пакета можно сократить, выполнив
- <span class="quote">«<span class="quote">параллельную
- сборку</span>»</span>, либо установив переменную среды, либо
- сообщив программе <span class=
- "command"><strong>make</strong></span>, сколько ядер задействовать
- для сборки. Например, процессор Intel i5-6500 может поддерживать
- четыре одновременных потока:
- </p>
- <pre class="userinput"><kbd class=
- "command">export MAKEFLAGS='-j4'</kbd></pre>
- <p>
- или просто собирать с флагом:
- </p>
- <pre class="userinput"><kbd class="command">make -j4</kbd></pre>
- <p>
- Когда используется несколько ядер, единицы измерения SBU будут
- различаться еще больше, чем обычно. В некоторых случаях make просто
- завершится ошибкой. Анализ выходных данных процесса сборки также
- будет более сложным, поскольку строки разных потоков будут
- чередоваться. Если вы столкнулись с проблемой на этапе сборки,
- вернитесь к сборке на одном ядре, чтобы проанализировать сообщения
- об ошибках.
- </p>
- <p>
- Представленные здесь значения времени основаны на замерах при
- использовании четырех ядер (-j4). Время, указанное в главе 8, также
- включает время выполнения регрессионных тестов для пакета, если не
- указано иное.
- </p>
- </div>
- </div>
- <div class="navfooter">
- <ul>
- <li class="prev">
- <a accesskey="p" href="settingenvironment.html" title=
- "Настройка окружения">Пред.</a>
- <p>
- Настройка окружения
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="abouttestsuites.html" title=
- "О наборах тестов">След.</a>
- <p>
- О наборах тестов
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/lfs-12.0-sysv/chapter04/abouttestsuites.html b/lfs-12.0-sysv/chapter04/abouttestsuites.html
deleted file mode 100644
index 38fef94..0000000
--- a/lfs-12.0-sysv/chapter04/abouttestsuites.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!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>
- 4.6. О наборах тестов
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </h4>
- <h3>
- Глава 4. Заключительный этап подготовки
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="aboutsbus.html" title=
- "О SBU (Стандартная единица времени сборки)">Пред.</a>
- <p>
- О SBU (Стандартная единица времени сборки)
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="../part3.html" title=
- "Сборка кросс-компилятора и набора временных инструментов">След.</a>
- <p>
- Сборка кросс-компилятора и набора временных инструментов
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <h1 class="sect1">
- <a id="ch-preps-abouttestsuites" name=
- "ch-preps-abouttestsuites"></a>4.6. О наборах тестов
- </h1>
- <p>
- Большинство пакетов предоставляют набор тестов. Запуск набора тестов
- для только что собранного пакета — хорошая идея, потому что он может
- обеспечить <span class="quote">«<span class="quote">проверку
- работоспособности</span>»</span>, указывающую, что все скомпилировано
- правильно. Набор тестов, который проходит свой набор проверок, обычно
- доказывает, что пакет работает так, как задумал разработчик. Однако
- это не гарантирует, что пакет полностью без ошибок.
- </p>
- <p>
- Некоторые наборы тестов более важны, чем другие. Например, наборы
- тестов для основных инструментов — GCC, binutils и glibc — имеют
- первостепенное значение из-за их центральной роли в правильно
- функционирующей системе. Выполнение наборов тестов для GCC и glibc
- может занять очень много времени, особенно на медленном оборудовании,
- но их выполнение настоятельно рекомендуется.
- </p>
- <div class="admon note">
- <img alt="[Примечание]" src="../images/note.png" />
- <h3>
- Примечание
- </h3>
- <p>
- Запуск наборов тестов, описанных в <a class="xref" href=
- "../chapter05/chapter05.html" title=
- "Глава 5. Сборка кросс-тулчейна">Глава&nbsp;5</a> и <a class="xref"
- href="../chapter06/chapter06.html" title=
- "Глава 6. Кросс-Компиляция временных инструментов">Глава&nbsp;6</a>,
- не имеет смысла, поскольку программы компилируются с помощью
- кросс-компилятора, они, вероятно, не могут работать на хосте
- сборки.
- </p>
- </div>
- <p>
- Распространенной проблемой при запуске наборов тестов для binutils и
- GCC является нехватка псевдотерминалов (PTY). Это может привести к
- большому количеству неудачных тестов. Причин может быть несколько, но
- наиболее вероятная причина заключается в том, что в хост-системе
- неправильно настроена файловая система <code class=
- "systemitem">devpts</code>. Этот вопрос более подробно обсуждается на
- странице <a class="ulink" href=
- "https://mirror.linuxfromscratch.ru/lfs/faq.html#no-ptys">https://mirror.linuxfromscratch.ru/lfs/faq.html#no-ptys</a>.
- </p>
- <p>
- Иногда наборы тестов не работают, по причинам, о которых знают
- разработчики и которые они считают некритичными. Просмотрите журналы,
- расположенные по адресу <a class="ulink" href=
- "https://mirror.linuxfromscratch.ru/lfs/build-logs/12.0/">https://mirror.linuxfromscratch.ru/lfs/build-logs/12.0/</a>,
- чтобы проверить, ожидаются ли сбои. Этот сайт актуален для всех
- наборов тестов, описанных в книге.
- </p>
- </div>
- <div class="navfooter">
- <ul>
- <li class="prev">
- <a accesskey="p" href="aboutsbus.html" title=
- "О SBU (Стандартная единица времени сборки)">Пред.</a>
- <p>
- О SBU (Стандартная единица времени сборки)
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="../part3.html" title=
- "Сборка кросс-компилятора и набора временных инструментов">След.</a>
- <p>
- Сборка кросс-компилятора и набора временных инструментов
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/lfs-12.0-sysv/chapter04/addinguser.html b/lfs-12.0-sysv/chapter04/addinguser.html
deleted file mode 100644
index 6603f55..0000000
--- a/lfs-12.0-sysv/chapter04/addinguser.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<!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>
- 4.3. Создание пользователя LFS
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </h4>
- <h3>
- Глава 4. Заключительный этап подготовки
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="creatingminlayout.html" title=
- "Создание ограниченной иерархии папок в файловой системе LFS">Пред.</a>
- <p>
- Создание ограниченной иерархии папок в файловой системе LFS
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="settingenvironment.html" title=
- "Настройка окружения">След.</a>
- <p>
- Настройка окружения
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <h1 class="sect1">
- <a id="ch-preps-addinguser" name="ch-preps-addinguser"></a>4.3.
- Создание пользователя LFS
- </h1>
- <p>
- При входе в систему под учетной записью <code class=
- "systemitem">root</code> допущение одной ошибки может привести к
- повреждению или разрушению системы. Поэтому пакеты в следующих двух
- главах собираются из-под учетной записи непривилегированного
- пользователя. Вы можете использовать свое собственное имя
- пользователя, но чтобы упростить настройку рабочей среды, создайте
- нового пользователя с именем <code class="systemitem">lfs</code>,
- который является членом одноименной группы и выполняйте команды
- из-под этой учетной записи в процессе установки. От имени
- пользователя <code class="systemitem">root</code> выполните следующие
- команды, чтобы добавить нового пользователя:
- </p>
- <pre class="userinput"><kbd class="command">groupadd lfs
-useradd -s /bin/bash -g lfs -m -k /dev/null lfs</kbd></pre>
- <div class="variablelist">
- <p class="title">
- <strong>Значение параметров командной строки:</strong>
- </p>
- <dl class="variablelist">
- <dt>
- <span class="term"><em class="parameter"><code>-s
- /bin/bash</code></em></span>
- </dt>
- <dd>
- <p>
- Устанавливает <span class=
- "command"><strong>bash</strong></span> оболочкой по умолчанию
- для пользователя <code class="systemitem">lfs</code>.
- </p>
- </dd>
- <dt>
- <span class="term"><em class="parameter"><code>-g
- lfs</code></em></span>
- </dt>
- <dd>
- <p>
- Эта опция добавляет пользователя <code class=
- "systemitem">lfs</code> в группу <code class=
- "systemitem">lfs</code>.
- </p>
- </dd>
- <dt>
- <span class="term"><em class=
- "parameter"><code>-m</code></em></span>
- </dt>
- <dd>
- <p>
- Создает домашний каталог для пользователя <code class=
- "systemitem">lfs</code>.
- </p>
- </dd>
- <dt>
- <span class="term"><em class="parameter"><code>-k
- /dev/null</code></em></span>
- </dt>
- <dd>
- <p>
- Этот параметр предотвращает возможное копирование файлов из
- предустановленного набора каталогов (по умолчанию <code class=
- "filename">/etc/skel</code>) путем изменения местоположения
- ввода на специальное null-устройство.
- </p>
- </dd>
- <dt>
- <span class="term"><em class=
- "parameter"><code>lfs</code></em></span>
- </dt>
- <dd>
- <p>
- Это имя нового пользователя.
- </p>
- </dd>
- </dl>
- </div>
- <p>
- Если вы хотите войти в систему как <code class=
- "systemitem">lfs</code> или переключиться на <code class=
- "systemitem">lfs</code> из учетной записи непривилегированного
- пользователя (в отличие от переключения на пользователя <code class=
- "systemitem">lfs</code> при входе в систему как <code class=
- "systemitem">root</code>, для которого не требуется пароль
- пользователя <code class="systemitem">lfs</code>), вам необходимо
- установить пароль для <code class="systemitem">lfs</code>. Выполните
- следующую команду от имени пользователя <code class=
- "systemitem">root</code>, чтобы установить пароль:
- </p>
- <pre class="userinput"><kbd class="command">passwd lfs</kbd></pre>
- <p>
- Предоставьте пользователю <code class="systemitem">lfs</code> полный
- доступ ко всем каталогам в папке <code class="filename">$LFS</code>,
- назначив <code class="systemitem">lfs</code> владельцем:
- </p>
- <pre class="userinput"><kbd class=
- "command">chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools}
-case $(uname -m) in
- x86_64) chown -v lfs $LFS/lib64 ;;
-esac</kbd></pre>
- <div class="admon note">
- <img alt="[Примечание]" src="../images/note.png" />
- <h3>
- Примечание
- </h3>
- <p>
- В некоторых хост-системах следующая команда не выполняется должным
- образом и приостанавливает вход пользователя <code class=
- "systemitem">lfs</code> в фоновом режиме. Если подсказка "lfs:~$"
- не появляется сразу, ввод команды <span class=
- "command"><strong>fg</strong></span> устранит проблему.
- </p>
- </div>
- <p>
- Затем запустите оболочку, работающую от имени пользователя
- <code class="systemitem">lfs</code>. Это можно сделать, войдя в
- систему как <code class="systemitem">lfs</code> на виртуальной
- консоли или с помощью следующей команды замены/переключения
- пользователя:
- </p>
- <pre class="userinput"><kbd class="command">su - lfs</kbd></pre>
- <p>
- Аргумент <span class="quote">«<span class="quote"><em class=
- "parameter"><code>-</code></em></span>»</span> передает значение
- команде <span class="command"><strong>su</strong></span> для запуска
- оболочки входа в систему, а не обычной оболочки. Разница между этими
- двумя типами оболочек подробно описана в <code class=
- "filename">bash(1)</code> и <span class="command"><strong>info
- bash</strong></span>.
- </p>
- </div>
- <div class="navfooter">
- <ul>
- <li class="prev">
- <a accesskey="p" href="creatingminlayout.html" title=
- "Создание ограниченной иерархии папок в файловой системе LFS">Пред.</a>
- <p>
- Создание ограниченной иерархии папок в файловой системе LFS
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="settingenvironment.html" title=
- "Настройка окружения">След.</a>
- <p>
- Настройка окружения
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/lfs-12.0-sysv/chapter04/chapter04.html b/lfs-12.0-sysv/chapter04/chapter04.html
deleted file mode 100644
index 4695232..0000000
--- a/lfs-12.0-sysv/chapter04/chapter04.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!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>
- Глава 4. Заключительный этап подготовки
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </h4>
- <h3>
- Часть&nbsp;II.&nbsp;Подготовка к сборке
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="../chapter03/patches.html" title=
- "Необходимые патчи">Пред.</a>
- <p>
- Необходимые патчи
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="introduction.html" title=
- "Введение">След.</a>
- <p>
- Введение
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="../part2.html" title=
- "Часть&nbsp;II.&nbsp;Подготовка к сборке">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="chapter" lang="en" xml:lang="en">
- <h1 class="chapter">
- <a id="chapter-final-preps" name="chapter-final-preps"></a>4.
- Заключительный этап подготовки
- </h1>
- <div class="toc">
- <h3>
- Содержание
- </h3>
- <ul>
- <li class="sect1">
- <a href="introduction.html">Введение</a>
- </li>
- <li class="sect1">
- <a href="creatingminlayout.html">Создание ограниченной иерархии
- папок в файловой системе LFS</a>
- </li>
- <li class="sect1">
- <a href="addinguser.html">Создание пользователя LFS</a>
- </li>
- <li class="sect1">
- <a href="settingenvironment.html">Настройка окружения</a>
- </li>
- <li class="sect1">
- <a href="aboutsbus.html">О SBU (Стандартная единица времени
- сборки)</a>
- </li>
- <li class="sect1">
- <a href="abouttestsuites.html">О наборах тестов</a>
- </li>
- </ul>
- </div>
- </div>
- <div class="navfooter">
- <ul>
- <li class="prev">
- <a accesskey="p" href="../chapter03/patches.html" title=
- "Необходимые патчи">Пред.</a>
- <p>
- Необходимые патчи
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="introduction.html" title=
- "Введение">След.</a>
- <p>
- Введение
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="../part2.html" title=
- "Часть&nbsp;II.&nbsp;Подготовка к сборке">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/lfs-12.0-sysv/chapter04/creatingminlayout.html b/lfs-12.0-sysv/chapter04/creatingminlayout.html
deleted file mode 100644
index 58fb99b..0000000
--- a/lfs-12.0-sysv/chapter04/creatingminlayout.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!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>
- 4.2. Создание ограниченной иерархии папок в файловой системе LFS
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </h4>
- <h3>
- Глава 4. Заключительный этап подготовки
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="introduction.html" title=
- "Введение">Пред.</a>
- <p>
- Введение
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="addinguser.html" title=
- "Создание пользователя LFS">След.</a>
- <p>
- Создание пользователя LFS
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <h1 class="sect1">
- <a id="ch-tools-creatingminlayout" name=
- "ch-tools-creatingminlayout"></a>4.2. Создание ограниченной иерархии
- папок в файловой системе LFS
- </h1>
- <p>
- В этом разделе мы начинаем заполнять файловую систему LFS элементами,
- которые будут основой конечной системы Linux. Первым шагом является
- создание ограниченной иерархии каталогов, чтобы программы,
- скомпилированные в <a class="xref" href="../chapter06/chapter06.html"
- title=
- "Глава 6. Кросс-Компиляция временных инструментов">Глава&nbsp;6</a>
- (а также glibc и libstdc++ в <a class="xref" href=
- "../chapter05/chapter05.html" title=
- "Глава 5. Сборка кросс-тулчейна">Глава&nbsp;5</a>), могли быть
- установлены в их конечном расположении. Это необходимо для того,
- чтобы эти временные программы были перезаписаны при сборке
- окончательных версий в <a class="xref" href=
- "../chapter08/chapter08.html" title=
- "Глава 8. Установка базового системного программного обеспечения">Глава&nbsp;8</a>.
- </p>
- <p>
- Создайте необходимую иерархию каталогов, выполнив следующую команду
- от имени <code class="systemitem">root</code>:
- </p>
- <pre class="userinput"><kbd class=
- "command">mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin}
-
-for i in bin lib sbin; do
- ln -sv usr/$i $LFS/$i
-done
-
-case $(uname -m) in
- x86_64) mkdir -pv $LFS/lib64 ;;
-esac</kbd></pre>
- <p>
- Программы в <a class="xref" href="../chapter06/chapter06.html" title=
- "Глава 6. Кросс-Компиляция временных инструментов">Глава&nbsp;6</a>
- будут скомпилированы с помощью кросс-компилятора (более подробная
- информация приведена в разделе <a class="xref" href=
- "../partintro/toolchaintechnotes.html" title=
- "Технические примечания по сборочным инструментам">Технические
- примечания по сборочным инструментам</a>). Чтобы отделить
- кросс-компилятор от других программ, он будет установлен в
- специальный каталог. Создайте этот каталог с помощью следующей
- команды:
- </p>
- <pre class="userinput"><kbd class=
- "command">mkdir -pv $LFS/tools</kbd></pre>
- <div class="admon note">
- <img alt="[Примечание]" src="../images/note.png" />
- <h3>
- Примечание
- </h3>
- <p>
- Редакторы LFS намеренно решили не использовать каталог <code class=
- "filename">/usr/lib64</code>. В процессе сборки предпринимается ряд
- шагов, чтобы убедиться, что набор инструментов не будет его
- использовать. Если по какой-либо причине этот каталог появится (это
- может произойти, если вы допустили ошибку, следуя инструкциям, или
- потому что вы установили бинарный пакет, создавший его после сборки
- LFS), это может привести к поломке вашей системы. Вы должны быть
- уверены, что этого каталога не существует.
- </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="addinguser.html" title=
- "Создание пользователя LFS">След.</a>
- <p>
- Создание пользователя LFS
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/lfs-12.0-sysv/chapter04/introduction.html b/lfs-12.0-sysv/chapter04/introduction.html
deleted file mode 100644
index f160809..0000000
--- a/lfs-12.0-sysv/chapter04/introduction.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!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>
- 4.1. Введение
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </h4>
- <h3>
- Глава 4. Заключительный этап подготовки
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="chapter04.html" title=
- "Заключительный этап подготовки">Пред.</a>
- <p>
- Заключительный этап подготовки
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="creatingminlayout.html" title=
- "Создание ограниченной иерархии папок в файловой системе LFS">След.</a>
- <p>
- Создание ограниченной иерархии папок в файловой системе LFS
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <h1 class="sect1">
- <a id="ch-preps-introduction" name="ch-preps-introduction"></a>4.1.
- Введение
- </h1>
- <p>
- В этой главе мы выполним несколько дополнительных настроек для
- подготовки к сборке временной системы. Мы создадим несколько
- каталогов в <code class="filename">$LFS</code> (в котором установим
- временные инструменты), добавим непривилегированного пользователя и
- настроим окружение для этого пользователя. Кроме этого, будут даны
- пояснения по стандартной единице времени сборки, или <span class=
- "quote">«<span class="quote">SBU</span>»</span>, которую мы
- используем для измерения времени необходимого для сборки пакетов LFS,
- и предоставим некоторую информацию о наборах тестов.
- </p>
- </div>
- <div class="navfooter">
- <ul>
- <li class="prev">
- <a accesskey="p" href="chapter04.html" title=
- "Заключительный этап подготовки">Пред.</a>
- <p>
- Заключительный этап подготовки
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="creatingminlayout.html" title=
- "Создание ограниченной иерархии папок в файловой системе LFS">След.</a>
- <p>
- Создание ограниченной иерархии папок в файловой системе LFS
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>
diff --git a/lfs-12.0-sysv/chapter04/settingenvironment.html b/lfs-12.0-sysv/chapter04/settingenvironment.html
deleted file mode 100644
index 669006b..0000000
--- a/lfs-12.0-sysv/chapter04/settingenvironment.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<!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>
- 4.4. Настройка окружения
- </title>
- <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
- <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
- <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
- "text/css" media="print" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- </head>
- <body class="lfs" id="lfs-12.0">
- <div class="navheader">
- <h4>
- Линукс с нуля - Версия 12.0
- </h4>
- <h3>
- Глава 4. Заключительный этап подготовки
- </h3>
- <ul>
- <li class="prev">
- <a accesskey="p" href="addinguser.html" title=
- "Создание пользователя LFS">Пред.</a>
- <p>
- Создание пользователя LFS
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="aboutsbus.html" title=
- "О SBU (Стандартная единица времени сборки)">След.</a>
- <p>
- О SBU (Стандартная единица времени сборки)
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- <div class="sect1" lang="en" xml:lang="en">
- <h1 class="sect1">
- <a id="ch-preps-settingenviron" name=
- "ch-preps-settingenviron"></a>4.4. Настройка окружения
- </h1>
- <p>
- Настроим хорошо работающее окружение, создав два новых файла запуска
- для оболочки <span class="command"><strong>bash</strong></span>.
- Войдя в систему как пользователь <code class="systemitem">lfs</code>,
- введите следующую команду, чтобы создать новый <code class=
- "filename">.bash_profile</code>:
- </p>
- <pre class="userinput"><kbd class=
- "command">cat &gt; ~/.bash_profile &lt;&lt; "EOF"
-<code class=
-"literal">exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash</code>
-EOF</kbd></pre>
- <p>
- При входе в систему под учетной записью пользователя <code class=
- "systemitem">lfs</code> или при переключении на <code class=
- "systemitem">lfs</code>, используя команду <span class=
- "command"><strong>su</strong></span> с опцией <span class=
- "quote">«<span class="quote"><em class=
- "parameter"><code>-</code></em></span>»</span>, начальная оболочка
- представляет собой оболочку <span class=
- "emphasis"><em>login</em></span>, которая читает данные из
- <code class="filename">/etc/profile</code> хоста (который, вероятно,
- содержит некоторые настройки и переменные среды), а затем
- <code class="filename">.bash_profile</code>. Команда <span class=
- "command"><strong>exec env -i.../bin/bash</strong></span> в файле
- <code class="filename">.bash_profile</code> заменяет запущенную
- оболочку новой, не содержащей переменные среды, за исключением
- переменных <code class="envar">HOME</code>, <code class=
- "envar">TERM</code>, и <code class="envar">PS1</code>. Это
- гарантирует, что никакие нежелательные и потенциально опасные
- переменные среды из хост-системы не попадут в среду сборки.
- </p>
- <p>
- Новый экземпляр оболочки представляет собой <span class=
- "emphasis"><em>non-login</em></span> оболочку, которая не считывает и
- не выполняет содержимое файлов <code class=
- "filename">/etc/profile</code> и <code class=
- "filename">.bash_profile</code>, а вместо этого выполняет чтение из
- файла <code class="filename">.bashrc</code>. Создайте файл
- <code class="filename">.bashrc</code>:
- </p>
- <pre class="userinput"><kbd class=
- "command">cat &gt; ~/.bashrc &lt;&lt; "EOF"
-<code class="literal">set +h
-umask 022
-LFS=/mnt/lfs
-LC_ALL=POSIX
-LFS_TGT=$(uname -m)-lfs-linux-gnu
-PATH=/usr/bin
-if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
-PATH=$LFS/tools/bin:$PATH
-CONFIG_SITE=$LFS/usr/share/config.site
-export LFS LC_ALL LFS_TGT PATH CONFIG_SITE</code>
-EOF</kbd></pre>
- <div class="variablelist">
- <p class="title">
- <strong>Значение настроек в <code class=
- "filename">.bashrc</code></strong>
- </p>
- <dl class="variablelist">
- <dt>
- <span class="term"><em class="parameter"><code>set
- +h</code></em></span>
- </dt>
- <dd>
- <p>
- Команда <span class="command"><strong>set +h</strong></span>
- отключает хэш-функцию <span class=
- "command"><strong>bash</strong></span>. Хеширование является
- полезной функцией —<span class=
- "command"><strong>bash</strong></span> использует хеш-таблицу
- для запоминания полного пути к исполняемому файлу, чтобы
- избежать многократного поиска одного и того же исполняемого
- файла в переменной окружения <code class="envar">PATH</code>.
- Однако новые инструменты требуется использовать сразу же после
- их установки. Отключение хэш-функции, заставляет оболочку
- искать переменную окружения <code class="envar">PATH</code>,
- всякий раз, когда программу необходимо запустить. Таким
- образом, оболочка найдет вновь скомпилированные инструменты в
- <code class="filename">$LFS/tools/bin</code>, как только они
- станут доступны, не запоминая предыдущую версию той же
- программы, предоставленную хост-дистрибутивом, в <code class=
- "filename">/usr/bin</code> или <code class=
- "filename">/bin</code>.
- </p>
- </dd>
- <dt>
- <span class="term"><em class="parameter"><code>umask
- 022</code></em></span>
- </dt>
- <dd>
- <p>
- Установка значения пользовательской маски создания файлов
- (umask) 022 гарантирует, что вновь созданные файлы и каталоги
- доступны для записи только их владельцу, но будут доступны для
- чтения и выполнения остальным пользователям (при условии, что
- системный вызов <code class="function">open(2)</code>
- использует режим по умолчанию, новые файлы получат разрешения
- 644, а каталоги 755).
- </p>
- </dd>
- <dt>
- <span class="term"><em class=
- "parameter"><code>LFS=/mnt/lfs</code></em></span>
- </dt>
- <dd>
- <p>
- Переменная окружения <code class="envar">LFS</code> должна
- указывать на выбранную точку монтирования.
- </p>
- </dd>
- <dt>
- <span class="term"><em class=
- "parameter"><code>LC_ALL=POSIX</code></em></span>
- </dt>
- <dd>
- <p>
- Переменная <code class="envar">LC_ALL</code> управляет
- локализацией определенных программ, и формирует сообщения в
- соответствии с локализацией указанной страны. Установка в
- <code class="envar">LC_ALL</code> значения <span class=
- "quote">«<span class="quote">POSIX</span>»</span> или
- <span class="quote">«<span class="quote">C</span>»</span> (они
- эквивалентны) гарантирует, что все будет работать должным
- образом в среде кросс-компиляции.
- </p>
- </dd>
- <dt>
- <span class="term"><em class="parameter"><code>LFS_TGT=$(uname
- -m)-lfs-linux-gnu</code></em></span>
- </dt>
- <dd>
- <p>
- Переменная <code class="envar">LFS_TGT</code> устанавливает
- нестандартное, но совместимое описание компьютера для
- использования при создании кросс-компилятора и компоновщика, а
- также при кросс-компиляции временного набора инструментов.
- Дополнительная информация об этом представлена в <a class=
- "xref" href="../partintro/toolchaintechnotes.html" title=
- "Технические примечания по сборочным инструментам">Технические
- примечания по сборочным инструментам</a>.
- </p>
- </dd>
- <dt>
- <span class="term"><em class=
- "parameter"><code>PATH=/usr/bin</code></em></span>
- </dt>
- <dd>
- <p>
- Многие современные дистрибутивы Linux объединили <code class=
- "filename">/bin</code> и <code class=
- "filename">/usr/bin</code>. В этом случае стандартной
- переменной <code class="envar">PATH</code> необходимо
- установить значение <code class="filename">/usr/bin/</code> для
- окружения из <a class="xref" href="../chapter06/chapter06.html"
- title=
- "Глава 6. Кросс-Компиляция временных инструментов">Глава&nbsp;6</a>.
- Когда это не так, следующая строка добавит <code class=
- "filename">/bin</code> к пути.
- </p>
- </dd>
- <dt>
- <span class="term"><em class="parameter"><code>if [ ! -L /bin ];
- then PATH=/bin:$PATH; fi</code></em></span>
- </dt>
- <dd>
- <p>
- Если <code class="filename">/bin</code> не является
- символической ссылкой, то его необходимо добавить в переменную
- <code class="envar">PATH</code>.
- </p>
- </dd>
- <dt>
- <span class="term"><em class=
- "parameter"><code>PATH=$LFS/tools/bin:$PATH</code></em></span>
- </dt>
- <dd>
- <p>
- Поместив <code class="filename">$LFS/tools/bin</code> перед
- стандартным <code class="envar">PATH</code>, кросс-компилятор,
- установленный в начале <a class="xref" href=
- "../chapter05/chapter05.html" title=
- "Глава 5. Сборка кросс-тулчейна">Глава&nbsp;5</a>, будет
- обнаружен оболочкой сразу после его установки. Это, в сочетании
- с отключением хеширования, ограничивает риск использования
- компилятора хоста вместо кросс-компилятора.
- </p>
- </dd>
- <dt>
- <span class="term"><em class=
- "parameter"><code>CONFIG_SITE=$LFS/usr/share/config.site</code></em></span>
- </dt>
- <dd>
- <p>
- В <a class="xref" href="../chapter05/chapter05.html" title=
- "Глава 5. Сборка кросс-тулчейна">Глава&nbsp;5</a> и <a class=
- "xref" href="../chapter06/chapter06.html" title=
- "Глава 6. Кросс-Компиляция временных инструментов">Глава&nbsp;6</a>,
- если эта переменная не задана, сценарии <span class=
- "command"><strong>configure</strong></span> могут попытаться
- загрузить элементы конфигурации, специфичные для некоторых
- дистрибутивов, из <code class=
- "filename">/usr/share/config.site</code> в хост-системе.
- Переопределите её, чтобы предотвратить потенциальное влияние
- хоста.
- </p>
- </dd>
- <dt>
- <span class="term"><em class="parameter"><code>export
- ...</code></em></span>
- </dt>
- <dd>
- <p>
- Приведенные выше команды установили некоторые переменные, чтобы
- сделать их видимыми в любых вложенных оболочках, мы
- экспортируем их.
- </p>
- </dd>
- </dl>
- </div>
- <div class="admon important">
- <img alt="[Важно]" src="../images/important.png" />
- <h3>
- Важно
- </h3>
- <p>
- Некоторые коммерческие дистрибутивы добавляют недокументированный
- экземпляр <code class="filename">/etc/bash.bashrc</code> для
- инициализации <span class="command"><strong>bash</strong></span>.
- Этот файл потенциально может изменить среду пользователя
- <code class="systemitem">lfs</code> таким образом, что это может
- повлиять на сборку важных пакетов LFS. Чтобы убедиться, что
- пользовательская среда <code class="systemitem">lfs</code> чиста,
- проверьте наличие файла <code class=
- "filename">/etc/bash.bashrc</code> и, если он есть, переименуйте
- его. От пользователя <code class="systemitem">root</code>,
- запустите:
- </p>
- <pre class="userinput"><kbd class=
- "command">[ ! -e /etc/bash.bashrc ] || mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE</kbd></pre>
- <p>
- Когда пользователь <code class="systemitem">lfs</code> больше не
- нужен (в начале <a class="xref" href="../chapter07/chapter07.html"
- title=
- "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов">
- Глава&nbsp;7</a> ) вы можете безопасно восстановить <code class=
- "filename">/etc/bash.bashrc</code> (по желанию).
- </p>
- <p>
- Обратите внимание, что пакет LFS Bash, который мы создадим в
- <a class="xref" href="../chapter08/bash.html" title=
- "8.35. Bash-5.2.15">Раздел&nbsp;8.35, «Bash-5.2.15»</a>, не
- настроен на загрузку или выполнение <code class=
- "filename">/etc/bash.bashrc</code>, поэтому этот файл бесполезен в
- готовой системе LFS.
- </p>
- </div>
- <p>
- Наконец, чтобы убедиться, что среда полностью подготовлена для сборки
- временных инструментов, перечитайте только что созданный профиль
- пользователя:
- </p>
- <pre class="userinput"><kbd class=
- "command">source ~/.bash_profile</kbd></pre>
- </div>
- <div class="navfooter">
- <ul>
- <li class="prev">
- <a accesskey="p" href="addinguser.html" title=
- "Создание пользователя LFS">Пред.</a>
- <p>
- Создание пользователя LFS
- </p>
- </li>
- <li class="next">
- <a accesskey="n" href="aboutsbus.html" title=
- "О SBU (Стандартная единица времени сборки)">След.</a>
- <p>
- О SBU (Стандартная единица времени сборки)
- </p>
- </li>
- <li class="up">
- <a accesskey="u" href="chapter04.html" title=
- "Глава 4. Заключительный этап подготовки">Наверх</a>
- </li>
- <li class="home">
- <a accesskey="h" href="../index.html" title=
- "Линукс с нуля - Версия 12.0">Начало</a>
- </li>
- </ul>
- </div>
- </body>
-</html>