lfs-ru/chapter03/introduction.xml
2024-03-19 16:22:16 +05:00

109 lines
7.9 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-materials-introduction">
<?dbhtml filename="introduction.html"?>
<title>Введение</title>
<para>Эта глава содержит список пакетов, которые необходимо загрузить для
сборки базовой системы Linux. Перечисленные версии программного обеспечения,
соответствуют версиям, которые, проверены и работают, книга основана на
их использовании. Мы настоятельно рекомендуем не использовать другие версии
пакетов, потому что команды сборки для одной версии могут не работать с другой,
если только другая версия не указана в сообщениях об ошибках LFS или рекомендациях
по безопасности. В новейших версиях пакетов также могут быть проблемы, требующие
обходных путей. Эти обходные пути будут стабилизированы в разрабатываемой версии книги.</para>
<para>Для некоторых пакетов архив релиза и архив снимка репозитория (Git или
SVN) для этого выпуска могут быть опубликованы с одинаковыми именами файлов. Релиз
содержит сгенерированные файлы (например, скрипт <command>configure</command>,
сгенерированный пакетом <command>autoconf</command>) в дополнение к содержимому
соответствующего моментального снимка репозитория. В книге везде, где это возможно,
используются релизные архивы. Использование моментального снимка вместо tar-архива,
указанного в книге, может вызвать проблемы.</para>
<para>Источники загрузки могут быть недоступны. Если источник изменился с
момента публикации этой книги, Google (<ulink
url="https://www.google.com/"/>) предоставляет удобную поисковую систему для
поиска большинства пакетов. Если поиск не увенчался успехом, попробуйте один
из альтернативных способов загрузки, расположенных по адресу <ulink
url="&lfs-root;lfs/mirrors.html#files"/>.</para>
<para>Загруженные пакеты и патчи необходимо где-нибудь хранить, чтобы они были
доступны на протяжении всей сборки. Рабочий каталог также необходим для
распаковки исходников и их сборки. <filename class="directory">$LFS/sources</filename>
можно использовать и как место для хранения архивов и патчей, и как рабочий каталог.
При использовании этого каталога необходимые элементы будут расположены в разделе LFS
и будут доступны на всех этапах процесса сборки.</para>
<para>Чтобы создать этот каталог, выполните следующую команду от имени пользователя
<systemitem class="username">root</systemitem> перед началом загрузки:</para>
<screen role="nodump"><userinput>mkdir -v $LFS/sources</userinput></screen>
<para>Сделайте этот каталог доступным для записи и установите sticky bit (дословно
"липкий бит"). Атрибут <quote>Sticky bit</quote> означает, что даже если несколько
пользователей имеют право на запись в каталог, только владелец файла может удалить
файл в таком каталоге. Следующая команда активирует режимы записи и sticky bit:</para>
<screen role="nodump"><userinput>chmod -v a+wt $LFS/sources</userinput></screen>
<para>Есть несколько способов получить все необходимые пакеты и патчи для
сборки LFS:</para>
<itemizedlist>
<listitem>
<para>Файлы можно загрузить по отдельности, как описано в следующих двух
разделах.</para>
</listitem>
<listitem>
<para>Для стабильных версий книги архив со всеми необходимыми файлами
можно загрузить с одного из зеркал LFS, перечисленных на странице
<ulink url="&lfs-root;mirrors.html#files"/>.</para>
</listitem>
<listitem>
<para>Файлы можно загрузить с помощью <command>wget</command> и
wget-list.</para>
</listitem>
</itemizedlist>
<para>Чтобы загрузить все пакеты и патчи, используя
<ulink url="../&wget-list;">&wget-list;</ulink> в качестве входных данных для
команды wget, наберите команду:</para>
<screen role="nodump"><userinput>wget --input-file=&wget-list; --continue --directory-prefix=$LFS/sources</userinput></screen>
<!--
<note><para>
Файл <filename>wget-list</filename> содержит все пакеты как для sysV, так
и для systemd версий LFS. Упомянутый ниже файл <filename>md5sums</filename>
относится к текущей книге.
</para></note>
-->
<para>Начиная с LFS-7.0, существует отдельный файл
<ulink url="../md5sums">md5sums</ulink>, который можно использовать для проверки
всех пакетов. Поместите этот файл в <filename class="directory">$LFS/sources</filename>
и выполните:</para>
<screen role="nodump"><userinput>pushd $LFS/sources
md5sum -c md5sums
popd</userinput></screen>
<para>Эту проверку можно использовать после загрузки файлов любым из
перечисленных выше способов.</para>
<para>Если пакеты и исправления загружаются от имени пользователя, без привилегий &root;,
то файлы будут принадлежать этому пользователю. Файловая система записывает владельца по
его UID, а UID обычного пользователя в хост-дистрибутиве не будет присвоен в LFS. Таким
образом, файлы останутся принадлежащими безымянному UID в конечной системе LFS. Если вы
не назначили тот же UID для своего пользователя в системе LFS, измените владельца этих
файлов на &root; сейчас, чтобы избежать этой проблемы:</para>
<screen role="nodump"><userinput>chown root:root $LFS/sources/*</userinput></screen>
</sect1>