Files
LFS_Book/chapter06/chroot.xml
2018-05-14 20:22:35 +03:00

37 lines
4.7 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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-system-chroot">
<?dbhtml filename="chroot.html"?>
<title>Вход в окружение Chroot</title>
<para>Теперь, необходимо войти в окружение Chroot, для начала сборки и установки окончательной системы LFS. Как пользователь <systemitem
class="username">root</systemitem> выполните следующую команду, для входа, с использованием созданного ранее набора временных инструментов, находящихся во временном каталоге tools:</para>
<screen role="nodump"><userinput>chroot "$LFS" /tools/bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
/tools/bin/bash --login +h</userinput></screen>
<para>Аргумент <parameter>-i</parameter> передаёт команде <command>env</command> значение, которое указывает полностью очистить все переменные окружения в окружении chroot. После чего, только переменные окружения <envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar> и <envar>PATH</envar> будут указаны заново. Параметр
<parameter>TERM=$TERM</parameter> устанавливает значение переменной окружения за пределами chroot окружения. Эта переменная необходима таким программам как <command>vim</command> и <command>less</command> для корректной работы. Если необходимы другие переменные окружения, такие как <envar>CFLAGS</envar> или <envar>CXXFLAGS</envar>, это как раз то место, где их можно указать.</para>
<para>Теперь нет необходимости использовать переменную окружения <envar>LFS</envar>, потому что вся работа будет ограничена файловой системой LFS. Так происходит, потому что оболочке Bash ранее сообщался в значении переменной <filename class="directory">$LFS путь до корня файловой системы, но на данный момент, она является корневым каталогом (<filename class="directory">/</filename>).</filename></para>
<para>Необходимо обратить внимание что в переменной окружения <envar>PATH</envar> путь <filename class="directory">/tools/bin</filename> записан в последнюю очередь. Это означает, что временный инструмент не будет более использоваться после установки его окончательной версии. Это происходит, когда оболочка не <quote>запоминает</quote> пути к исполняемым бинарным файлам&mdash; по этой причине, хэширование выключено, указанием параметра <parameter>+h</parameter> к программе <command>bash</command>.</para>
<para>Когда оболочка запустится, <command>bash</command> выдаст приглашение командной строки вида <computeroutput>I have no name!</computeroutput>. Это нормально, потому что файл <filename>/etc/passwd</filename> ещё не создан.</para>
<note>
<para>Очень важно чтобы все команды в этой и последующих главах запускались из среды chroot. Если был сделан выход из среды chroot по каким-либо причинам (перезагрузка, например), необходимо убедиться в том, что виртуальные файловые системы были заново примонтированы, как рассказано в главе <xref linkend="ch-system-bindmount"/> и <xref linkend="ch-system-kernfsmount"/>. Далее войдите в окружение chroot снова, чтобы продолжить установку.</para>
</note>
</sect1>