======3.1. Введение====== Эта глава содержит список пакетов, которые необходимо загрузить для сборки базовой системы Linux. Перечисленные версии программного обеспечения, соответствуют версиям, которые, проверены и работают, книга основана на их использовании. Мы настоятельно рекомендуем не использовать другие версии пакетов, потому что команды сборки для одной версии могут не работать с другой, если только другая версия не указана в сообщениях об ошибках LFS или рекомендациях по безопасности. В новейших версиях пакетов также могут быть проблемы, требующие обходных путей. Эти обходные пути будут стабилизированы в разрабатываемой версии книги. Для некоторых пакетов архив релиза и архив снимка репозитория (Git или SVN) для этого выпуска могут быть опубликованы с одинаковыми именами файлов. Релиз содержит сгенерированные файлы (например, скрипт configure, сгенерированный пакетом autoconf) в дополнение к содержимому соответствующего моментального снимка репозитория. В книге везде, где это возможно, используются релизные архивы. Использование моментального снимка вместо tar-архива, указанного в книге, может вызвать проблемы. Источники загрузки могут быть недоступны. Если источник изменился с момента публикации этой книги, Google (https://www.google.com/) предоставляет удобную поисковую систему для поиска большинства пакетов. Если поиск не увенчался успехом, попробуйте один из альтернативных способов загрузки, расположенных по адресу https://mirror.linuxfromscratch.ru/lfs/mirrors.html#files. Загруженные пакеты и патчи необходимо где-нибудь хранить, чтобы они были доступны на протяжении всей сборки. Рабочий каталог также необходим для распаковки исходников и их сборки. $LFS/sources можно использовать и как место для хранения архивов и патчей, и как рабочий каталог. При использовании этого каталога необходимые элементы будут расположены в разделе LFS и будут доступны на всех этапах процесса сборки. Чтобы создать этот каталог, выполните следующую команду от имени пользователя root перед началом загрузки: mkdir -v $LFS/sources Сделайте этот каталог доступным для записи и установите липкий бит. «Липкий бит» означает, что даже если несколько пользователей имеют право на запись в каталог, только владелец файла может удалить файл в таком каталоге. Следующая команда активирует режимы записи и липкий бит: chmod -v a+wt $LFS/sources Есть несколько способов получить все необходимые пакеты и патчи для сборки LFS: Файлы можно загрузить по отдельности, как описано в следующих двух разделах. Для стабильных версий книги архив со всеми необходимыми файлами можно загрузить с одного из зеркал LFS, перечисленных на странице https://mirror.linuxfromscratch.ru/mirrors.html#files. Файлы можно загрузить с помощью **wget** и** wget-list**. Чтобы загрузить все пакеты и патчи, используя {{ :software:linux_server:lfs:wget-list-systemd.rar |wget-list-systemd}} в качестве входных данных для команды wget, наберите команду: wget --input-file=wget-list-systemd --continue --directory-prefix=$LFS/sources Начиная с LFS-7.0, существует отдельный файл {{ :software:linux_server:lfs:md5sums.rar |md5sums}}, который можно использовать для проверки всех пакетов. Поместите этот файл в $LFS/sources и выполните: pushd $LFS/sources md5sum -c md5sums popd Эту проверку можно использовать после загрузки файлов любым из перечисленных выше способов. Если пакеты и исправления загружаются от имени пользователя, без привилегий root, то файлы будут принадлежать этому пользователю. Файловая система записывает владельца по его UID, а UID обычного пользователя в хост-дистрибутиве не будет присвоен в LFS. Таким образом, файлы останутся принадлежащими безымянному UID в конечной системе LFS. Если вы не назначили тот же UID для своего пользователя в системе LFS, измените владельца этих файлов на root сейчас, чтобы избежать этой проблемы: chown root:root $LFS/sources/* ← [[software:linux_server:lfs:lfs-12.1:chapter03:chapter03|Пакеты и патчи]] [[software:linux_server:lfs:lfs-12.1:chapter03:packages|Все пакеты]] → ~~DISCUSSION:off~~