lfs-ru/chapter03/introduction.xml

109 lines
7.9 KiB
XML
Raw Normal View History

<?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. Перечисленные версии программного обеспечения,
соответствуют версиям, которые, проверены и работают, книга основана на
их использовании. Мы настоятельно рекомендуем не использовать другие версии
пакетов, потому что команды сборки для одной версии могут не работать с другой,
2023-06-26 00:56:03 +03:00
если только другая версия не указана в сообщениях об ошибках LFS или рекомендациях
по безопасности. В новейших версиях пакетов также могут быть проблемы, требующие
обходных путей. Эти обходные пути будут стабилизированы в разрабатываемой версии книги.</para>
<para>Для некоторых пакетов архив релиза и архив снимка репозитория (Git или
2023-06-26 00:56:03 +03:00
SVN) для этого выпуска могут быть опубликованы с одинаковыми именами файлов. Релиз
содержит сгенерированные файлы (например, скрипт <command>configure</command>,
сгенерированный пакетом <command>autoconf</command>) в дополнение к содержимому
2023-06-26 00:56:03 +03:00
соответствующего моментального снимка репозитория. В книге везде, где это возможно,
используются релизные архивы. Использование моментального снимка вместо tar-архива,
указанного в книге, может вызвать проблемы.</para>
<para>Источники загрузки могут быть недоступны. Если источник изменился с
момента публикации этой книги, Google (<ulink
2023-06-26 00:56:03 +03:00
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>
2024-03-19 14:22:16 +03:00
<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>Для стабильных версий книги архив со всеми необходимыми файлами
2023-06-26 00:56:03 +03:00
можно загрузить с одного из зеркал 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>
2023-06-26 00:56:03 +03:00
<para>Если пакеты и исправления загружаются от имени пользователя, без привилегий &root;,
то файлы будут принадлежать этому пользователю. Файловая система записывает владельца по
его UID, а UID обычного пользователя в хост-дистрибутиве не будет присвоен в LFS. Таким
образом, файлы останутся принадлежащими безымянному UID в конечной системе LFS. Если вы
не назначили тот же UID для своего пользователя в системе LFS, измените владельца этих
файлов на &root; сейчас, чтобы избежать этой проблемы:</para>
<screen role="nodump"><userinput>chown root:root $LFS/sources/*</userinput></screen>
</sect1>