lfs-ru/prologue/why.xml

621 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>
<para>Как говорилось ранее, цель LFS — построить законченную и пригодную
для использования базовую систему, которая включает в себя все пакеты,
необходимые для самовоспроизведения, содержащую при этом относительно
небольшой набор программ, с помощью которых можно расширять систему. Это
не означает, что LFS является самой маленькой из возможных систем. Включено
несколько важных пакетов, которые не являются обязательными. Приведенный
ниже список объясняет для чего используется тот или иной пакет в книге.</para>
<itemizedlist>
<listitem>
<para>Acl</para>
<para>Access Control List или ACL — список управления доступом, который
определяет, кто или что может получать доступ к объекту (программе,
процессу или файлу), и какие именно операции разрешено или запрещено
выполнять субъекту (пользователю, группе пользователей).Данный пакет
содержит утилиты для администрирования списками управления доступом (ACL).
</para>
</listitem>
<listitem>
<para>Attr</para>
<para>Этот пакет содержит программы для администрирования расширенных
атрибутов объектов файловой системы.
</para>
</listitem>
<listitem>
<para>Autoconf</para>
<para>Этот пакет содержит программы для воспроизведения сценариев
2022-05-21 23:04:03 +03:00
командной оболочки которые могут выполнять автоматическую настройку
исходного кода из шаблона разработчика. Он также необходим для
повторной компиляции пакета после обновления процедур сборки.</para>
</listitem>
<listitem>
<para>Automake</para>
<para>Этот пакет содержит программы для создания Make-файлов из шаблона.
Он также необходим для повторной компиляции пакета после обновления
процедур сборки</para>
</listitem>
<listitem>
<para>Bash</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет удовлетворяет требования LSB по предоставлению интерфейса
Bourne Shell для системы. Он был выбран среди других пакетов оболочки из-за
его повсеместного использования и широких возможностей, выходящих за рамки
основных функций оболочки.</para>
</listitem>
<listitem>
<para>Bc</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет язык числовой обработки произвольной точности.
Он необходимым при сборке ядра Linux</para>
</listitem>
<listitem>
<para>Binutils</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит компоновщик, ассемблер и другие инструменты для
работы с объектными файлами. Программы в этом пакете необходимы для компиляции
большинства пакетов в системе 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>Этот пакет содержит программы для реализации системы межпроцессорного
2022-05-21 23:04:03 +03:00
взаиможействия, которая представляет простой способ взаимодействия приложений
друг с другом.
</para>
</listitem>
<listitem>
<para>DejaGNU</para>
<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
и 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>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит нструменты для автоматизации и тестирования, и
является расширением к скрипт-языку Tcl, для многих интерактивных приложений.
Он обычно используется для тестирования других пакетов.</para>
</listitem>
<listitem>
<para>File</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит утилиту для определения типа файла или файлов.
Некоторым пакетам она нужна в сценариях сборки</para>
</listitem>
<listitem>
<para>Findutils</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для поиска файлов. Он используется
во многих сценариях сборки пакетов.</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>Этот пакет содержит программы для работы с текстовыми файлами.
Это версия GNU awk (Aho-Weinberg-Kernighan). Он используется во многих
сценариях сборки пакетов.</para>
</listitem>
<listitem>
<para>GCC</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет является сборником компиляторов Gnu. Он содержит компиляторы
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>Этот пакет содержит программу, которая генерирует идеальную хеш-функцию
из набора ключей. Требуется для пакета Eudev.</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>
2022-05-21 23:04:03 +03:00
<para>Этот пакет является загрузчиком операционной системы (GRand Unified
Bootloader). Это один из множества загрузчиков, но он является самым гибким.
</para>
</listitem>
<listitem>
<para>Gzip</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для сжатия и распаковки файлов. Он
необходим для распаковки множества пакетов в 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>Этот пакет содержит программы для базовой и расширенной работы в сетях
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>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит key-table файлы, утилиты клавиатуры для клавиатур, отличных
от США, и ряд консольных шрифтов.</para>
</listitem>
<listitem>
<para>Kmod</para>
<para>Этот пакет содержит программы, необходимые для администрирования модулей ядра Linux.</para>
</listitem>
<listitem>
<para>Less</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит очень хороший просмотрщик текстовых файлов на экране. Он
также используется Man-DB для просмотра справочных страниц.</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>Этот пакет реализует переносимый программный интерфейс высокого уровня для
различных соглашений о вызовах. Некоторые программы могут не знать во время компиляции,
какие аргументы должны быть переданы в функцию. Например, интерпретатору во время
выполнения может быть сообщено о количестве и типах аргументов, используемых для
вызова данной функции. 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>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит небольшую систему сборки с упором на скорость. Он предназначен
для того, чтобы его входные файлы генерировались системой сборки более высокого
уровня, и для максимально быстрого запуска сборок. Необходим для Meson.</para>
</listitem>
<listitem>
<para>Ncurses</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит библиотеки для независимой от терминала обработки
символьных экранов. Он часто используется для управления курсором в меню.
Необходим ряду пакетов в LFS.</para>
</listitem>
<listitem>
<para>Openssl</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет инструменты управления и библиотеки, относящиеся
к криптографии. Они полезны для предоставления криптографических функций другим
пакетам, включая ядро Linux.</para>
</listitem>
<listitem>
<para>Patch</para>
<para>This package contains a program for modifying or creating files by
applying a <emphasis>patch</emphasis> file typically created
by the <application>diff</application> program. It is needed by
the build procedure for several LFS packages.
2022-05-21 23:04:03 +03:00
Этот пакет содержит программу для изменения или создания файлов путем применения
файла <emphasis>исправления</emphasis>, обычно создаваемого программой
<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>Этот пакет представляет собой набор библиотек, предлагающих возможности
редактирования и обработки из командной строки. Используется командным интерпретатором Bash.</para>
</listitem>
<listitem>
<para>Sed</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет позволяет редактировать текст, не открывая его в текстовом
редакторе. Он необходим сценариям настройки большинства пакетов LFS.</para>
</listitem>
<listitem>
<para>Shadow</para>
<para>Этот пакет содержит программы для безопасной обработки паролей.</para>
</listitem>
<listitem revision="sysv">
<para>Sysklogd</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для записи системных сообщений, которые
выдаются ядром или процессами демона, в журнал при возникновении необычных событий.</para>
</listitem>
<listitem revision="systemd">
<para>Systemd</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет предоставляет систему инициализации <application>init</application>
и ряд дополнительных возможностей загрузки и управления системой в качестве
альтернативы Sysvinit. Он используется многими коммерческими дистрибутивами.
</para>
</listitem>
<listitem revision="sysv">
<para>Sysvinit</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит систему инициализации<application>init</application>,
которая является родительской для всех других процессов в системе 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>Этот пакет содержит командный язык инструментов, используется во многих
наборах тестов в пакетах LFS.</para>
</listitem>
<listitem>
<para>Texinfo</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит программы для чтения, записи и преобразования информационных
страниц. Используется в процедурах установки многих пакетов LFS.</para>
</listitem>
<listitem>
<para>Util-linux</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит различные служебные программы. Среди них утилиты для
работы с файловыми системами, консолями, разделами и сообщениями.</para>
</listitem>
<listitem>
<para>Wheel</para>
<para>Этот пакет содержит модуль Python, который представляет собой
эталонную реализацию механизма упаковки Python.
</para>
</listitem>
<listitem>
<para>Vim</para>
2022-05-21 23:04:03 +03:00
<para>Этот пакет содержит редактор. Его выбрали из-за совместимости с классическим
редактором vi и огромного количества возможностей. Редактор является очень личным
выбором для каждого пользователя, и может быть заменен, при желании, на любой другой.</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>Этот пакет содержит процедуры сжатия и распаковки, используемые некоторыми
программами. Он обеспечивает высокие коэффициенты сжатия и очень широкий диапазон
условий между сжатием и скоростью.</para>
</listitem>
</itemizedlist>
</sect1>