lfs-ru/prologue/why.xml

624 lines
29 KiB
XML
Raw Normal View History

<?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="pre-why">
<?dbhtml filename="package-choices.html"?>
<title>Информация о пакетах, используемых в этой книге</title>
2023-06-21 13:33:09 +03:00
<para>Целью LFS является создание законченной и пригодной
для использования базовой системы, которая содержит все пакеты,
необходимые для самовоспроизведения, состоящую при этом из относительно
небольшого набора программ, с помощью которых можно расширять систему. Это
не означает, что LFS является самой маленькой из возможных систем. В систему
включено несколько важных пакетов, которые не являются обязательными.
Приведенный ниже список объясняет почему в книгу включен тот или иной пакет.</para>
<itemizedlist>
<listitem>
<para>Acl</para>
<para>Access Control List или ACL — список управления доступом, который
определяет, кто или что может получать доступ к объекту (программе,
процессу или файлу), и какие именно операции разрешено или запрещено
выполнять субъекту (пользователю, группе пользователей).Данный пакет
2023-08-02 23:14:31 +03:00
содержит утилиты для администрирования списков управления доступом,
которые используются для определения дискреционных прав доступа к файлам
и каталогам.</para>
</listitem>
<listitem>
<para>Attr</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет содержит программы для управления расширенными
атрибутами объектов файловой системы.
</para>
</listitem>
<listitem>
<para>Autoconf</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет содержит программы для создания сценариев
оболочки, которые могут выполнять автоматическую настройку
исходного кода из шаблона разработчика. Он часто необходим для
повторной компиляции пакета после обновления процедур сборки.</para>
</listitem>
<listitem>
<para>Automake</para>
<para>Этот пакет содержит программы для создания Make-файлов из шаблона.
Он также необходим для повторной компиляции пакета после обновления
2023-06-21 13:33:09 +03:00
процедур сборки.</para>
</listitem>
<listitem>
<para>Bash</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет удовлетворяет требования LSB по предоставлению интерфейса
Bourne Shell для системы. Он был выбран среди других пакетов оболочки из-за
2023-06-21 13:33:09 +03:00
его повсеместного использования и широких возможностей.</para>
</listitem>
<listitem>
<para>Bc</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет язык числовой обработки произвольной точности.
2023-06-21 13:33:09 +03:00
Он необходимым для сборки ядра Linux</para>
</listitem>
<listitem>
<para>Binutils</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит компоновщик, ассемблер и другие инструменты для
работы с объектными файлами. Программы в этом пакете необходимы для компиляции
2023-06-21 13:33:09 +03:00
большинства пакетов в системе LFS.</para>
</listitem>
<listitem>
<para>Bison</para>
<para>Этот пакет содержит GNU-версию yacc (Yet Another Compiler
Compiler), необходимого для сборки некоторых пакетов в LFS.</para>
</listitem>
<listitem>
<para>Bzip2</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для сжатия и распаковки файлов. Требуется
для распаковки множества пакетов LFS.</para>
</listitem>
<listitem>
<para>Check</para>
<para>Этот пакет содержит тестовую обвязку для других программ.</para>
</listitem>
<listitem>
<para>Coreutils</para>
<para>Этот пакет содержит ряд программ для просмотра файлов и каталогов,
и управления ими. Эти программы необходимы для управления файлами через
командную строку и для сборки каждого пакета в LFS.</para>
</listitem>
<listitem revision="systemd">
<para>D-Bus</para>
<para>Этот пакет содержит программы для реализации системы межпроцессорного
2023-06-21 13:33:09 +03:00
взаимодействия - простого способа взаимодействия приложений
2022-05-21 23:04:03 +03:00
друг с другом.
</para>
</listitem>
<listitem>
<para>DejaGNU</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет предоставляет фреймворк для тестирования других программ.</para>
</listitem>
<listitem>
<para>Diffutils</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы, которые показывают различия между файлами
или каталогами. Их можно использовать для создания патчей, а также они
применяются во многих процедурах сборки</para>
</listitem>
<listitem>
<para>E2fsprogs</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит утилиты для работы с файловыми системами ext2, ext3
2023-06-21 13:33:09 +03:00
и ext4. Это наиболее распространенные и тщательно протестированные файловые системы,
поддерживаемые Linux</para>
</listitem>
<listitem revision="sysv">
<para>Eudev</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет представляет собой диспетчер устройств. Он контролирует
разрешения, имена и символические ссылки устройств в каталоге /dev, когда
устройства добавляются или удаляются из системы.
</para>
</listitem>
<listitem>
<para>Expat</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит небольшую библиотеку разбора XML. Она требуется
модулем Perl XML::Parser.</para>
</listitem>
<listitem>
<para>Expect</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет содержит инструменты для автоматизации и тестирования, и
является расширением к скриптовому языку Tcl, для многих интерактивных приложений.
2022-05-21 23:04:03 +03:00
Он обычно используется для тестирования других пакетов.</para>
</listitem>
<listitem>
<para>File</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит утилиту для определения типа файла или файлов.
2023-06-21 13:33:09 +03:00
Некоторым пакетам она нужна в сценариях сборки.</para>
</listitem>
<listitem>
<para>Findutils</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет предоставляет программы для поиска файлов. Он используется
2022-05-21 23:04:03 +03:00
во многих сценариях сборки пакетов.</para>
</listitem>
<listitem>
<para>Flex</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит утилиту для генерации программ, распознающих
шаблоны в тексте. Это версия GNU программы lex (лексический анализатор).
Пакет необходим для сборки некоторых пакетов LFS.</para>
</listitem>
<listitem>
<para>Gawk</para>
<para>Этот пакет содержит программы для работы с текстовыми файлами.
2023-06-21 13:33:09 +03:00
Это GNU версия awk (Aho-Weinberg-Kernighan). Он используется во многих
сценариях сборки пакетов.</para>
</listitem>
<listitem>
<para>GCC</para>
2023-06-21 13:33:09 +03:00
<para>Это коллекция компиляторов Gnu. Он содержит компиляторы
2022-05-21 23:04:03 +03:00
C и C++, а также несколько других компиляторов, поддержка
которых не предусмотрена в LFS.
</para>
</listitem>
<listitem>
<para>GDBM</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит библиотеку GNU Database Manager. Он используется
пакетом Man-DB</para>
</listitem>
<listitem>
<para>Gettext</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит утилиты и библиотеки для интернационализации и
локализации многочисленных пакетов.</para>
</listitem>
<listitem>
<para>Glibc</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит основную библиотеку C. Программы Linux не будут
работать без неё.</para>
</listitem>
<listitem>
<para>GMP</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит математические библиотеки, предоставляющие
полезные функции для вычислений с плавающей точкой. Требуется для сборки GCC.</para>
</listitem>
<listitem>
<para>Gperf</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программу, которая генерирует идеальную хеш-функцию
2023-06-21 13:33:09 +03:00
из набора ключей. Требуется для пакета <phrase revision='sysv'>Eudev</phrase>
<phrase revision='systemd'>Systemd</phrase>.</para>
</listitem>
<listitem>
<para>Grep</para>
<para>Этот пакет содержит программы для поиска по файлам. Пакет
используется в скриптах сборки большинства пакетов.</para>
</listitem>
<listitem>
<para>Groff</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для обработки и форматирования текста.
Одной из важнейших функций этих программ является форматирование man страниц.</para>
</listitem>
<listitem>
<para>GRUB</para>
2023-06-21 13:33:09 +03:00
<para>Это загрузчик операционной системы (GRand Unified
Bootloader). Самый гибкий из нескольких доступных загрузчиков.
</para>
</listitem>
<listitem>
<para>Gzip</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для сжатия и распаковки файлов. Он
2023-06-21 13:33:09 +03:00
необходим для распаковки множества пакетов в LFS.</para>
</listitem>
<listitem>
<para>Iana-etc</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет данные для сетевых служб и протоколов. Он
необходим для обеспечения правильных сетевых возможностей.</para>
</listitem>
<listitem>
<para>Inetutils</para>
<para>Этот пакет содержит программы для базового сетевого администрирования.</para>
</listitem>
<listitem>
<para>Intltool</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит инструменты для извлечения переводимых строк из
исходных файлов.</para>
</listitem>
<listitem>
<para>IProute2</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для базовой и расширенной работы в сетях
2023-08-02 23:14:31 +03:00
IPv4 и IPv6. Он был выбран среди других распространенных пакетов сетевых инструментов
(net-tools) из-за его поддержки IPv6.</para>
</listitem>
<listitem revision="systemd">
<para>Jinja2</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет представляет собой модуль Python для создания текстовых шаблонов.
Требуется для сборки Systemd.</para>
</listitem>
<listitem>
<para>Kbd</para>
2023-06-11 01:06:41 +03:00
<para>Этот пакет содержит таблицы раскладок, утилиты управления клавиатурой
2023-08-02 23:14:31 +03:00
для неамериканских клавиатур, кроме этого, с ним поставляется большой набор
консольных шрифтов.</para>
</listitem>
<listitem>
<para>Kmod</para>
<para>Этот пакет содержит программы, необходимые для администрирования модулей ядра Linux.</para>
</listitem>
<listitem>
<para>Less</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет содержит очень хороший просмотрщик текстовых файлов, который позволяет
использовать прокрутку верх/вниз при просмотре. Многие пакеты используют его для постраничного
вывода.</para>
</listitem>
<listitem>
<para>Libcap</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет реализует интерфейсы пользовательского пространства для
возможностей POSIX 1003.1e, доступных в ядре Linux.
</para>
</listitem>
<listitem>
<para>Libelf</para>
2022-05-21 23:04:03 +03:00
<para>Проект elfutils предоставляет библиотеки и инструменты для файлов ELF и
данных DWARF. Большинство утилит в этом пакете доступны в других пакетах, но
эта библиотека необходима для сборки ядра Linux с использованием стандартной
(и наиболее эффективной) конфигурации.</para>
</listitem>
<listitem>
<para>Libffi</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет реализует переносимый программный интерфейс высокого уровня для
различных соглашений о вызовах. Некоторые программы могут не знать во время компиляции,
какие аргументы должны быть переданы в функцию. Например, интерпретатору во время
выполнения может быть сообщено о количестве и типах аргументов, используемых для
2023-08-02 23:14:31 +03:00
вызова данной функции. Libffi можно использовать как мост от интерпретатора к
скомпилированному коду.</para>
</listitem>
<listitem>
<para>Libpipeline</para>
2022-05-21 23:04:03 +03:00
<para>Пакет Libpipeline содержит библиотеку для гибкого и удобного управления
конвейерами подпроцессов. Она требуется для Man-DB.</para>
</listitem>
<listitem>
<para>Libtool</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит сценарий поддержки универсальной библиотеки GNU. Он
объединяет сложность использования общих библиотек в согласованный переносимый
интерфейс. Библиотека необходима наборам тестов в других пакетах LFS.</para>
</listitem>
<listitem>
<para>Linux Kernel</para>
<para>Этот пакет является ядром операционной системой.</para>
</listitem>
<listitem>
<para>M4</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит текстовый макропроцессор, полезный в качестве инструмента
сборки для других программ.</para>
</listitem>
<listitem>
<para>Make</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программу для управления сборкой пакетов. При сборке
она необходима почти для каждого пакета в LFS.</para>
</listitem>
<listitem revision="systemd">
<para>MarkupSafe</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет представляет собой модуль Python для безопасной обработки строк
в HTML/XHTML/XML. Необходим для Jinja2</para>
</listitem>
<listitem>
<para>Man-DB</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для поиска и просмотра справочных страниц. Он
был выбран вместо пакета <application>man</application> из-за превосходных
возможностей интернационализации. Содержит man.</para>
</listitem>
<listitem>
<para>Man-pages</para>
<para>Этот пакет представляет собой содержимое основных справочных страниц Linux.</para>
</listitem>
<listitem>
<para>Meson</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет программный инструмент для автоматизации создания
программного обеспечения. Основная цель Meson — свести к минимуму количество
времени, которое разработчики программного обеспечения должны тратить на настройку
своей системы сборки. Требуется для сборки Systemd, а также многих пакетов BLFS.</para>
</listitem>
<listitem>
<para>MPC</para>
<para>Этот пакет содержит функции для арифметики комплексных чисел. Необходим GCC.</para>
</listitem>
<listitem>
<para>MPFR</para>
<para>Этот пакет содержит функции для арифметики с произвольной точностью. Необходим GCC.</para>
</listitem>
<listitem>
<para>Ninja</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет предоставляет небольшую систему сборки, ориентированную на скорость. Он
предназначен для того, чтобы его входные файлы генерировались системой сборки более высокого
2022-05-21 23:04:03 +03:00
уровня, и для максимально быстрого запуска сборок. Необходим для Meson.</para>
</listitem>
<listitem>
<para>Ncurses</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит библиотеки для независимой от терминала обработки
символьных экранов. Он часто используется для управления курсором в меню.
Необходим ряду пакетов в LFS.</para>
</listitem>
<listitem>
<para>Openssl</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет содержит инструменты управления и библиотеки, относящиеся
к криптографии. Они предоставляют криптографические функций другим
пакетам, включая ядро Linux.</para>
</listitem>
<listitem>
<para>Patch</para>
2023-06-11 01:06:41 +03:00
<para>Этот пакет содержит программу для изменения или создания файлов путем применения
файла <emphasis>patch</emphasis>, обычно создаваемого программой
2022-05-21 23:04:03 +03:00
<application>diff</application>. Он необходим процедуре сборки для некоторых пакетов LFS.</para>
</listitem>
<listitem>
<para>Perl</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет является интерпретатором языка PERL. Он необходим для установки
и тестирования некоторых пакетов LFS.</para>
</listitem>
<listitem>
<para>Pkg-config</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет программу, которая возвращает метаданные об
установленной библиотеке или пакете.</para>
</listitem>
<listitem>
<para>Procps-NG</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для мониторинга процессов. Набор полезен
для системного администрирования, а также используются загрузочными сценариями LFS.</para>
</listitem>
<listitem>
<para>Psmisc</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для отображения информации о запущенных
процессах. Этот набор программ полезен для системного администрирования.</para>
</listitem>
<listitem>
<para>Python 3</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет интерпретируемый язык программирования, философия
которого делает упор на удобочитаемость кода.</para>
</listitem>
<listitem>
<para>Readline</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет представляет собой набор библиотек, предлагающих возможности
2023-06-21 13:33:09 +03:00
редактирования командной строки и средства для работы с историей команд. Используется
командным интерпретатором Bash.</para>
</listitem>
<listitem>
<para>Sed</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет позволяет редактировать текст, не открывая его в текстовом
2023-06-21 13:33:09 +03:00
редакторе. Он необходим сценариям настройки многих пакетов LFS.</para>
</listitem>
<listitem>
<para>Shadow</para>
<para>Этот пакет содержит программы для безопасной обработки паролей.</para>
</listitem>
<listitem revision="sysv">
<para>Sysklogd</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет содержит программы для регистрации системных сообщений, которые
генерируются ядром или процессами демона при возникновении необычных событий.</para>
</listitem>
<listitem revision="systemd">
<para>Systemd</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет систему инициализации <application>init</application>
и ряд дополнительных возможностей загрузки и управления системой в качестве
2023-06-21 13:33:09 +03:00
альтернативы Sysvinit. Он используется многими дистрибутивами.
</para>
</listitem>
<listitem revision="sysv">
<para>Sysvinit</para>
2023-08-02 18:37:27 +03:00
<para>Этот пакет содержит систему инициализации <application>init</application>,
2023-06-21 13:33:09 +03:00
родительской элемент всех остальных процессов в работающей системе Linux.</para>
</listitem>
<listitem>
<para>Tar</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет возможность архивирования и извлечения практически
всех пакетов, используемых в LFS.</para>
</listitem>
<listitem>
<para>Tcl</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит командный язык инструментов, используется во многих
2023-06-21 13:33:09 +03:00
наборах тестов.</para>
</listitem>
<listitem>
<para>Texinfo</para>
2023-06-21 13:33:09 +03:00
<para>Этот пакет предоставляет программы для чтения, записи и преобразования информационных
2022-05-21 23:04:03 +03:00
страниц. Используется в процедурах установки многих пакетов LFS.</para>
</listitem>
<listitem>
<para>Util-linux</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит различные служебные программы. Среди них утилиты для
работы с файловыми системами, консолями, разделами и сообщениями.</para>
</listitem>
<listitem>
<para>Vim</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит редактор. Его выбрали из-за совместимости с классическим
редактором vi и огромного количества возможностей. Редактор является очень личным
2023-06-21 13:33:09 +03:00
выбором для каждого пользователя. По желанию можно заменить любым другим редактором.</para>
</listitem>
<listitem>
<para>Wheel</para>
<para>Этот пакет содержит модуль Python, который представляет собой эталонную
реализацию механизма упаковки Python.
</para>
</listitem>
<listitem>
<para>XML::Parser</para>
<para>Этот пакет представляет собой модуль Perl, который взаимодействует с Expat.</para>
</listitem>
<listitem>
<para>XZ Utils</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для сжатия и распаковки файлов. Он обеспечивает
высокое сжатие и используется для распаковки пакетов в формате XZ или LZMA.</para>
</listitem>
<listitem>
<para>Zlib</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит процедуры сжатия и распаковки, используемые некоторыми
программами.</para>
</listitem>
<listitem>
<para>Zstd</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит процедуры сжатия и распаковки, используемые некоторыми
программами. Он обеспечивает высокие коэффициенты сжатия и очень широкий диапазон
2023-06-21 13:33:09 +03:00
компромиссов между сжатием и скоростью.</para>
</listitem>
</itemizedlist>
</sect1>