Эта глава содержит список пакетов, которые необходимо загрузить для сборки базовой системы 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.
Чтобы загрузить все пакеты и патчи, используя wget-list-sysv в качестве входных данных для команды wget, наберите команду:
wget --input-file=wget-list-sysv --continue --directory-prefix=$LFS/sources
Начиная с LFS-7.0, существует отдельный файл md5sums, который можно использовать для проверки
всех пакетов. Поместите этот файл в $LFS/sources
и выполните:
pushd $LFS/sources md5sum -c md5sums popd
Эту проверку можно использовать после загрузки файлов любым из перечисленных выше способов.
Если пакеты и исправления загружаются от имени пользователя, без
привилегий root
, то файлы будут
принадлежать этому пользователю. Файловая система записывает
владельца по его UID, а UID обычного пользователя в хост-дистрибутиве
не будет присвоен в LFS. Таким образом, файлы останутся
принадлежащими безымянному UID в конечной системе LFS. Если вы не
назначили тот же UID для своего пользователя в системе LFS, измените
владельца этих файлов на root
сейчас,
чтобы избежать этой проблемы:
chown root:root $LFS/sources/*