lfs-ru/chapter04/creatingminlayout.xml
2023-06-26 23:32:36 +05:00

55 lines
3.3 KiB
XML
Raw 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-tools-creatingminlayout">
<?dbhtml filename="creatingminlayout.html"?>
<title>Создание ограниченной иерархии папок в файловой системе LFS</title>
<para>В этом разделе мы начинаем заполнять файловую систему LFS элементами, которые
будут основой конечной системы Linux. Первым шагом является создание ограниченной
иерархии каталогов, чтобы программы, скомпилированные в <xref
linkend="chapter-temporary-tools"/> (а также glibc и libstdc++ в <xref
linkend="chapter-cross-tools"/>), могли быть установлены в их конечном расположении.
Это необходимо для того, чтобы эти временные программы были перезаписаны при сборке
окончательных версий в <xref linkend="chapter-building-system"/>.</para>
<para>Создайте необходимую иерархию каталогов, выполнив следующую команду от имени
<systemitem class="username">root</systemitem>:</para>
<screen><userinput>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</userinput></screen>
<para>Программы в <xref linkend="chapter-temporary-tools"/> будут скомпилированы
с помощью кросс-компилятора (более подробная информация приведена в разделе <xref
linkend="ch-tools-toolchaintechnotes"/>). Чтобы отделить кросс-компилятор от других
программ, он будет установлен в специальный каталог. Создайте этот каталог с
помощью следующей команды:</para>
<screen><userinput>mkdir -pv $LFS/tools</userinput></screen>
<note>
<para>
Редакторы LFS намеренно решили не использовать каталог
<filename class="directory">/usr/lib64</filename>. В процессе сборки предпринимается
ряд шагов, чтобы убедиться, что набор инструментов не будет его использовать. Если
по какой-либо причине этот каталог появится (это может произойти, если вы допустили
ошибку, следуя инструкциям, или потому что вы установили бинарный пакет, создавший
его после сборки LFS), это может привести к поломке вашей системы. Вы должны быть
уверены, что этого каталога не существует.
</para>
</note>
</sect1>