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