mirror of
https://github.com/Poltern/lfs-ru.git
synced 2024-10-19 12:10:32 +03:00
72 lines
5.1 KiB
XML
72 lines
5.1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||
%general-entities;
|
||
]>
|
||
|
||
<sect1 id="ch-tools-chroot">
|
||
<?dbhtml filename="chroot.html"?>
|
||
|
||
<title>Вход в окружение Chroot</title>
|
||
|
||
<para>Теперь, когда все пакеты, необходимые для сборки остальных инструментов установлены
|
||
в системе, пришло время войти в окружение chroot и завершить установку временных
|
||
инструментов. Эта среда также будет использоваться для установки конечной системы.
|
||
От имени пользователя <systemitem class="username">root</systemitem> выполните
|
||
следующую команду для входа в chroot, в которой на данный момент нет ничего, кроме
|
||
временных инструментов:</para>
|
||
|
||
<screen role="nodump"><userinput>chroot "$LFS" /usr/bin/env -i \
|
||
HOME=/root \
|
||
TERM="$TERM" \
|
||
PS1='(lfs chroot) \u:\w\$ ' \
|
||
PATH=/usr/bin:/usr/sbin \
|
||
MAKEFLAGS="-j<replaceable>$(nproc)</replaceable>" \
|
||
TESTSUITEFLAGS="-j<replaceable>$(nproc)</replaceable>" \
|
||
/bin/bash --login</userinput></screen>
|
||
|
||
<para>
|
||
Если вы не хотите использовать все доступные логические ядра, замените параметр
|
||
<replaceable>$(nproc)</replaceable> количеством логических ядер, которые вы хотите
|
||
использовать для сборки пакетов в этой и последующих главах. На наборы тестов некоторых
|
||
пакетов (в частности Autoconf, Libtool и Tar) в &ch-final; не влияет установка переменной
|
||
<envar>MAKEFLAGS</envar>, вместо этого они используют переменную среды
|
||
<envar>TESTSUITEFLAGS</envar>. Мы также установили её здесь для запуска тестов с поддержкой
|
||
нескольких ядер.
|
||
</para>
|
||
|
||
<para>Параметр <parameter>-i</parameter> команды <command>env</command>, очистит
|
||
все переменные в среде chroot. После этого переменные
|
||
<envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar> и
|
||
<envar>PATH</envar> будут установлены заново. Конструкция
|
||
<parameter>TERM=$TERM</parameter> установит переменную TERM внутри chroot
|
||
в то же значение, что и вне chroot. Эта переменная необходима для корректной работы таких
|
||
программ как <command>vim</command> и <command>less</command>. Если понадобятся
|
||
другие переменные окружения, такие как <envar>CFLAGS</envar> или <envar>CXXFLAGS</envar>,
|
||
то это подходящее место для их установки.</para>
|
||
|
||
<para>С этого момента больше нет необходимости использовать переменную
|
||
<envar>LFS</envar>, поскольку вся работа будет ограничена файловой системой
|
||
LFS; команда <command>chroot</command> запускает оболочку Bash с корневым
|
||
каталогом (<filename class="directory">/</filename>), установленным в
|
||
<filename class="directory">$LFS</filename>.</para>
|
||
|
||
<para>Обратите внимание, что каталог <filename class="directory">/tools/bin</filename> не
|
||
указан в переменной окружения <envar>PATH</envar>. Это означает, что кросс-тулчейн
|
||
больше не будет использоваться.</para>
|
||
|
||
<para>Также обратите внимание, что в командной строке <command>bash</command> будет
|
||
указано <computeroutput>I have no name!</computeroutput>. Это нормально, поскольку
|
||
файл <filename>/etc/passwd</filename> еще не создан.</para>
|
||
|
||
<note>
|
||
<para>Важно, чтобы все команды в оставшейся части этой главы и следующих главах
|
||
выполнялись из среды chroot. Если вы покидаете эту среду по какой-либо причине
|
||
(например, при перезагрузке), убедитесь, что файловые системы виртуального ядра
|
||
смонтированы, как описано в <xref linkend="ch-tools-bindmount"/> и <xref
|
||
linkend="ch-tools-kernfsmount"/>, а затем войдите в среду chroot для продолжения установки.</para>
|
||
</note>
|
||
|
||
</sect1>
|