2022-06-04 21:10:57 +03:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
|
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
|
|
|
%general-entities;
|
|
|
|
|
]>
|
|
|
|
|
|
|
|
|
|
<sect1 id="ch-system-introduction">
|
|
|
|
|
<?dbhtml filename="introduction.html"?>
|
|
|
|
|
|
|
|
|
|
<title>Введение</title>
|
|
|
|
|
|
|
|
|
|
<para>В этой главе мы приступаем к сборке конечной системы LFS.
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
<para>Установка программного обеспечения проста. Хотя во многих случаях инструкции
|
|
|
|
|
по установке можно было бы сделать короче и универсальнее, мы решили предоставить
|
|
|
|
|
полные инструкции для каждого пакета, чтобы свести к минимуму вероятность ошибок.
|
|
|
|
|
Ключом к пониманию того, что заставляет систему Linux работать, является знание
|
|
|
|
|
того, для чего используется каждый пакет и зачем он вам (или системе) может понадобиться.</para>
|
|
|
|
|
|
|
|
|
|
<para>Мы не рекомендуем использовать оптимизации. С ними программа может работать
|
2023-07-09 23:12:34 +03:00
|
|
|
|
немного быстрее, но также они могут вызвать сложности при компиляции и проблемы при
|
2022-06-04 21:10:57 +03:00
|
|
|
|
запуске программы. Если пакет не компилируется при использовании оптимизации, попробуйте
|
|
|
|
|
скомпилировать его без оптимизации и посмотрите, решает ли это проблему. Даже если пакет
|
|
|
|
|
компилируется при использовании оптимизации, существует риск, что он может быть скомпилирован
|
|
|
|
|
неправильно из-за сложных взаимодействий между кодом и инструментами сборки. Также обратите
|
|
|
|
|
внимание, что параметры <option>-march</option> и <option>-mtune</option>, не тестировались
|
2023-07-09 23:12:34 +03:00
|
|
|
|
со значениями отличными от указанных в книге. Это может вызвать проблемы с пакетами набора
|
|
|
|
|
инструментов (Binutils, GCC и Glibc). Небольшие потенциальные плюсы, достигаемые за счет
|
|
|
|
|
оптимизации, часто перевешиваются рисками. Тем кто собирает LFS впервые рекомендуется делать
|
|
|
|
|
это без пользовательских оптимизаций.</para>
|
|
|
|
|
|
|
|
|
|
<para>С другой стороны, мы сохраняем оптимизацию включенной в конфигурации пакетов по
|
|
|
|
|
умолчанию. Кроме того, иногда мы явно включаем оптимизированную конфигурацию,
|
|
|
|
|
предоставляемую пакетом, но не включенную по умолчанию. Сопровождающие пакета уже
|
|
|
|
|
протестировали эти конфигурации и считают их безопасными, поэтому маловероятно, что
|
|
|
|
|
они сломают сборку. Как правило, конфигурация по умолчанию уже включает параметры
|
|
|
|
|
<option>-O2</option> или <option>-O3</option>, поэтому результирующая система по-прежнему
|
|
|
|
|
будет работать очень быстро без какой-либо пользовательской оптимизации и в то же время
|
|
|
|
|
будет стабильной.</para>
|
2022-06-04 21:10:57 +03:00
|
|
|
|
|
2023-05-26 00:07:20 +03:00
|
|
|
|
<para>Перед инструкцией по установке на каждой странице представлена информация о пакете,
|
2022-06-04 21:10:57 +03:00
|
|
|
|
включая краткое описание того, что он содержит, примерное время, необходимое для сборки,
|
|
|
|
|
и сколько места на диске требуется в процессе сборки. После инструкции по установке идет
|
|
|
|
|
список программ и библиотек (вместе с кратким описанием), которые устанавливает пакет.</para>
|
|
|
|
|
|
2023-05-26 00:07:20 +03:00
|
|
|
|
<note><para>Для всех пакетов в <xref linkend="chapter-building-system"/> значения SBU
|
2023-07-09 23:12:34 +03:00
|
|
|
|
и требуемое дисковое пространство указано с учетом тестов. Значения SBU были рассчитаны
|
|
|
|
|
с использованием четырех ядер ЦП (-j4) для всех операций, если не указано иное.</para></note>
|
2022-06-04 21:10:57 +03:00
|
|
|
|
|
|
|
|
|
<sect2>
|
|
|
|
|
<title>О библиотеках</title>
|
|
|
|
|
|
|
|
|
|
<para>Как правило, редакторы LFS не рекомендуют собирать и устанавливать статические
|
2023-07-09 23:12:34 +03:00
|
|
|
|
библиотеки. Большинство статических библиотек устарели в современной системе Linux.
|
|
|
|
|
Кроме того, линковка статической библиотеки с программой может быть вредна. Если для
|
|
|
|
|
устранения проблемы безопасности требуется обновление библиотеки, все программы,
|
|
|
|
|
использующие статическую библиотеку, необходимо будет повторно перелинковать с новой
|
|
|
|
|
библиотекой. Поскольку использование статических библиотек не всегда очевидно,
|
|
|
|
|
соответствующие программы (и процедуры, необходимые для линковки) могут быть даже
|
|
|
|
|
неизвестны.</para>
|
2022-06-04 21:10:57 +03:00
|
|
|
|
|
|
|
|
|
<para>В инструкциях этой главы мы удаляем или отключаем установку большинства
|
|
|
|
|
статических библиотек. Обычно это делается путем передачи параметра
|
|
|
|
|
<option>--disable-static</option> при выполнении <command>configure</command>.
|
|
|
|
|
Иногда необходимо использовать альтернативные методы. В некоторых случаях,
|
2023-07-09 23:12:34 +03:00
|
|
|
|
в частности в пакетах Glibc и GCC, использование статических библиотек остается
|
|
|
|
|
важным элементом процесса сборки пакетов.</para>
|
2022-06-04 21:10:57 +03:00
|
|
|
|
|
2023-07-09 23:12:34 +03:00
|
|
|
|
<para>Более подробное обсуждение библиотек смотрите
|
|
|
|
|
<ulink url="&blfs-book;introduction/libraries.html">
|
2022-06-04 21:10:57 +03:00
|
|
|
|
Библиотеки: статические или общие?</ulink> в книге BLFS.</para>
|
|
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
|
|
</sect1>
|