Следующая версия | Предыдущая версия |
software:linux_server:lfs:chapter03 [2024/07/01 21:17] – создано vladpolskiy | software:linux_server:lfs:chapter03 [Дата неизвестна] (текущий) – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1 |
---|
======3. Пакеты и патчи====== | |
Содержание | |
* [[software:linux_server:lfs:chapter03#3.1. Введение|3.1. Введение]] | |
* [[software:linux_server:lfs:chapter03#3.2. Все пакеты|3.2. Все пакеты]] | |
* [[software:linux_server:lfs:chapter03#3.3. Необходимые патчи|3.3. Необходимые патчи]] | |
| |
=====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 перед началом загрузки: | |
| |
<code> | |
mkdir -v $LFS/sources | |
</code> | |
| |
Сделайте этот каталог доступным для записи и установите липкий бит. «Липкий бит» означает, что даже если несколько пользователей имеют право на запись в каталог, только владелец файла может удалить файл в таком каталоге. Следующая команда активирует режимы записи и липкий бит: | |
| |
<code> | |
chmod -v a+wt $LFS/sources | |
</code> | |
| |
Есть несколько способов получить все необходимые пакеты и патчи для сборки LFS: | |
| |
Файлы можно загрузить по отдельности, как описано в следующих двух разделах. | |
| |
Для стабильных версий книги архив со всеми необходимыми файлами можно загрузить с одного из зеркал LFS, перечисленных на странице https://mirror.linuxfromscratch.ru/mirrors.html#files. | |
| |
Файлы можно загрузить с помощью wget и wget-list. | |
| |
Чтобы загрузить все пакеты и патчи, используя wget-list-systemd в качестве входных данных для команды wget, наберите команду: | |
| |
<code> | |
wget --input-file=wget-list-systemd --continue --directory-prefix=$LFS/sources | |
</code> | |
| |
Начиная с LFS-7.0, существует отдельный файл md5sums, который можно использовать для проверки всех пакетов. Поместите этот файл в $LFS/sources и выполните: | |
| |
<code> | |
pushd $LFS/sources | |
md5sum -c md5sums | |
popd | |
</code> | |
| |
Эту проверку можно использовать после загрузки файлов любым из перечисленных выше способов. | |
| |
Если пакеты и исправления загружаются от имени пользователя, без привилегий root, то файлы будут принадлежать этому пользователю. Файловая система записывает владельца по его UID, а UID обычного пользователя в хост-дистрибутиве не будет присвоен в LFS. Таким образом, файлы останутся принадлежащими безымянному UID в конечной системе LFS. Если вы не назначили тот же UID для своего пользователя в системе LFS, измените владельца этих файлов на root сейчас, чтобы избежать этой проблемы: | |
| |
<code> | |
chown root:root $LFS/sources/* | |
</code> | |
=====3.2. Все пакеты===== | |
| |
=====3.3. Необходимые патчи===== | |