В этой главе мы приступаем к сборке конечной системы LFS.
Установка программного обеспечения проста. Хотя во многих случаях инструкции по установке можно было бы сделать короче и универсальнее, мы решили предоставить полные инструкции для каждого пакета, чтобы свести к минимуму вероятность ошибок. Ключом к пониманию того, что заставляет систему Linux работать, является знание того, для чего используется каждый пакет и зачем он вам (или системе) может понадобиться.
Мы не рекомендуем использовать оптимизации. С ними программа может
работать немного быстрее, но также они могут вызвать сложности при
компиляции и проблемы при запуске программы. Если пакет не
компилируется при использовании оптимизации, попробуйте
скомпилировать его без оптимизации и посмотрите, решает ли это
проблему. Даже если пакет компилируется при использовании
оптимизации, существует риск, что он может быть скомпилирован
неправильно из-за сложных взаимодействий между кодом и инструментами
сборки. Также обратите внимание, что параметры -march
и -mtune
, не
тестировались со значениями отличными от указанных в книге. Это может
вызвать проблемы с пакетами набора инструментов (Binutils, GCC и
Glibc). Небольшие потенциальные плюсы, достигаемые за счет
оптимизации, часто перевешиваются рисками. Тем кто собирает LFS
впервые рекомендуется делать это без пользовательских оптимизаций.
С другой стороны, мы сохраняем оптимизацию включенной в конфигурации
пакетов по умолчанию. Кроме того, иногда мы явно включаем
оптимизированную конфигурацию, предоставляемую пакетом, но не
включенную по умолчанию. Сопровождающие пакета уже протестировали эти
конфигурации и считают их безопасными, поэтому маловероятно, что они
сломают сборку. Как правило, конфигурация по умолчанию уже включает
параметры -O2
или -O3
, поэтому результирующая система по-прежнему будет
работать очень быстро без какой-либо пользовательской оптимизации и в
то же время будет стабильной.
Перед инструкцией по установке на каждой странице представлена информация о пакете, включая краткое описание того, что он содержит, примерное время, необходимое для сборки, и сколько места на диске требуется в процессе сборки. После инструкции по установке идет список программ и библиотек (вместе с кратким описанием), которые устанавливает пакет.
Для всех пакетов в Глава 8 значения SBU и требуемое дисковое пространство указано с учетом тестов. Значения SBU были рассчитаны с использованием четырех ядер ЦП (-j4) для всех операций, если не указано иное.
Как правило, редакторы LFS не рекомендуют собирать и устанавливать статические библиотеки. Большинство статических библиотек устарели в современной системе Linux. Кроме того, линковка статической библиотеки с программой может быть вредна. Если для устранения проблемы безопасности требуется обновление библиотеки, все программы, использующие статическую библиотеку, необходимо будет повторно перелинковать с новой библиотекой. Поскольку использование статических библиотек не всегда очевидно, соответствующие программы (и процедуры, необходимые для линковки) могут быть даже неизвестны.
В инструкциях этой главы мы удаляем или отключаем установку
большинства статических библиотек. Обычно это делается путем
передачи параметра --disable-static
при
выполнении configure.
Иногда необходимо использовать альтернативные методы. В некоторых
случаях, в частности в пакетах Glibc и GCC, использование
статических библиотек остается важным элементом процесса сборки
пакетов.
Более подробное обсуждение библиотек смотрите Библиотеки: статические или общие? в книге BLFS.