%general-entities; ]> Информация о пакетах, используемых в этой книге Целью LFS является создание законченной и пригодной для использования базовой системы, которая содержит все пакеты, необходимые для самовоспроизведения, состоящую при этом из относительно небольшого набора программ, с помощью которых можно расширять систему. Это не означает, что LFS является самой маленькой из возможных систем. В систему включено несколько важных пакетов, которые не являются обязательными. Приведенный ниже список объясняет почему в книгу включен тот или иной пакет. Acl Access Control List или ACL — список управления доступом, который определяет, кто или что может получать доступ к объекту (программе, процессу или файлу), и какие именно операции разрешено или запрещено выполнять субъекту (пользователю, группе пользователей).Данный пакет содержит утилиты для администрирования списков управления доступом, которые используются для определения дискреционных прав доступа к файлам и каталогам. Attr Этот пакет содержит программы для управления расширенными атрибутами объектов файловой системы. Autoconf Этот пакет содержит программы для создания сценариев оболочки, которые могут выполнять автоматическую настройку исходного кода из шаблона разработчика. Он часто необходим для повторной компиляции пакета после обновления процедур сборки. Automake Этот пакет содержит программы для создания Make-файлов из шаблона. Он также необходим для повторной компиляции пакета после обновления процедур сборки. Bash Этот пакет удовлетворяет требования LSB по предоставлению интерфейса Bourne Shell для системы. Он был выбран среди других пакетов оболочки из-за его повсеместного использования и широких возможностей. Bc Этот пакет предоставляет язык числовой обработки произвольной точности. Он необходимым для сборки ядра Linux Binutils Этот пакет содержит компоновщик, ассемблер и другие инструменты для работы с объектными файлами. Программы в этом пакете необходимы для компиляции большинства пакетов в системе LFS. Bison Этот пакет содержит GNU-версию yacc (Yet Another Compiler Compiler), необходимого для сборки некоторых пакетов в LFS. Bzip2 Этот пакет содержит программы для сжатия и распаковки файлов. Требуется для распаковки множества пакетов LFS. Check Этот пакет содержит тестовую обвязку для других программ. Coreutils Этот пакет содержит ряд программ для просмотра файлов и каталогов, и управления ими. Эти программы необходимы для управления файлами через командную строку и для сборки каждого пакета в LFS. D-Bus Этот пакет содержит программы для реализации системы межпроцессного взаимодействия - простого способа взаимодействия приложений друг с другом. DejaGNU Этот пакет предоставляет фреймворк для тестирования других программ. Diffutils Этот пакет содержит программы, которые показывают различия между файлами или каталогами. Их можно использовать для создания патчей, а также они применяются во многих процедурах сборки E2fsprogs Этот пакет содержит утилиты для работы с файловыми системами ext2, ext3 и ext4. Это наиболее распространенные и тщательно протестированные файловые системы, поддерживаемые Linux Expat Этот пакет содержит небольшую библиотеку разбора XML. Она требуется модулем Perl XML::Parser. Expect Этот пакет содержит инструменты для автоматизации и тестирования, и является расширением к скриптовому языку Tcl, для многих интерактивных приложений. Он обычно используется для тестирования других пакетов. File Этот пакет содержит утилиту для определения типа файла или файлов. Некоторым пакетам она нужна в сценариях сборки. Findutils Этот пакет предоставляет программы для поиска файлов. Он используется во многих сценариях сборки пакетов. Flex Этот пакет содержит утилиту для генерации программ, распознающих шаблоны в тексте. Это версия GNU программы lex (лексический анализатор). Пакет необходим для сборки некоторых пакетов LFS. Gawk Этот пакет содержит программы для работы с текстовыми файлами. Это GNU версия awk (Aho-Weinberg-Kernighan). Он используется во многих сценариях сборки пакетов. GCC Это коллекция компиляторов Gnu. Он содержит компиляторы C и C++, а также несколько других компиляторов, поддержка которых не предусмотрена в LFS. GDBM Этот пакет содержит библиотеку GNU Database Manager. Он используется пакетом Man-DB Gettext Этот пакет содержит утилиты и библиотеки для интернационализации и локализации многочисленных пакетов. Glibc Этот пакет содержит основную библиотеку C. Программы Linux не будут работать без неё. GMP Этот пакет содержит математические библиотеки, предоставляющие полезные функции для вычислений с плавающей точкой. Требуется для сборки GCC. Gperf Этот пакет содержит программу, которая генерирует идеальную хеш-функцию из набора ключей. Требуется для пакета Udev Systemd. Grep Этот пакет содержит программы для поиска по файлам. Пакет используется в скриптах сборки большинства пакетов. Groff Этот пакет содержит программы для обработки и форматирования текста. Одной из важнейших функций этих программ является форматирование man страниц. GRUB Это загрузчик операционной системы (GRand Unified Bootloader). Самый гибкий из нескольких доступных загрузчиков. Gzip Этот пакет содержит программы для сжатия и распаковки файлов. Он необходим для распаковки множества пакетов в LFS. Iana-etc Этот пакет предоставляет данные для сетевых служб и протоколов. Он необходим для обеспечения правильных сетевых возможностей. Inetutils Этот пакет содержит программы для базового сетевого администрирования. Intltool Этот пакет содержит инструменты для извлечения переводимых строк из исходных файлов. IProute2 Этот пакет содержит программы для базовой и расширенной работы в сетях IPv4 и IPv6. Он был выбран среди других распространенных пакетов сетевых инструментов (net-tools) из-за его поддержки IPv6. Jinja2 Этот пакет представляет собой модуль Python для создания текстовых шаблонов. Требуется для сборки Systemd. Kbd Этот пакет содержит таблицы раскладок, утилиты управления клавиатурой для неамериканских клавиатур, кроме этого, с ним поставляется большой набор консольных шрифтов. Kmod Этот пакет содержит программы, необходимые для администрирования модулей ядра Linux. Less Этот пакет содержит очень хороший просмотрщик текстовых файлов, который позволяет использовать прокрутку верх/вниз при просмотре. Многие пакеты используют его для постраничного вывода. Libcap Этот пакет реализует интерфейсы пользовательского пространства для возможностей POSIX 1003.1e, доступных в ядре Linux. Libelf Проект elfutils предоставляет библиотеки и инструменты для файлов ELF и данных DWARF. Большинство утилит в этом пакете доступны в других пакетах, но эта библиотека необходима для сборки ядра Linux с использованием стандартной (и наиболее эффективной) конфигурации. Libffi Этот пакет реализует переносимый программный интерфейс высокого уровня для различных соглашений о вызовах. Некоторые программы могут не знать во время компиляции, какие аргументы должны быть переданы в функцию. Например, интерпретатору во время выполнения может быть сообщено о количестве и типах аргументов, используемых для вызова данной функции. Libffi можно использовать как мост от интерпретатора к скомпилированному коду. Libpipeline Пакет Libpipeline содержит библиотеку для гибкого и удобного управления конвейерами подпроцессов. Она требуется для Man-DB. Libtool Этот пакет содержит сценарий поддержки универсальной библиотеки GNU. Он объединяет сложность использования общих библиотек в согласованный переносимый интерфейс. Библиотека необходима наборам тестов в других пакетах LFS. Libxcrypt Этот пакет предоставляет библиотеку libcrypt, необходимую различным пакетам (в частности, Shadow) для хеширования паролей. Он заменяет устаревшую реализацию libcrypt в Glibc. Linux Kernel Этот пакет является ядром операционной системой. M4 Этот пакет содержит текстовый макропроцессор, полезный в качестве инструмента сборки для других программ. Make Этот пакет содержит программу для управления сборкой пакетов. При сборке она необходима почти для каждого пакета в LFS. MarkupSafe Этот пакет представляет собой модуль Python для безопасной обработки строк в HTML/XHTML/XML. Необходим для Jinja2 Man-DB Этот пакет содержит программы для поиска и просмотра справочных страниц. Он был выбран вместо пакета man из-за превосходных возможностей интернационализации. Содержит man. Man-pages Этот пакет представляет собой содержимое основных справочных страниц Linux. Meson Этот пакет предоставляет программный инструмент для автоматизации создания программного обеспечения. Основная цель Meson — свести к минимуму количество времени, которое разработчики программного обеспечения должны тратить на настройку своей системы сборки. Требуется для сборки Systemd, а также многих пакетов BLFS. MPC Этот пакет содержит функции для арифметики комплексных чисел. Необходим GCC. MPFR Этот пакет содержит функции для арифметики с произвольной точностью. Необходим GCC. Ninja Этот пакет предоставляет небольшую систему сборки, ориентированную на скорость. Он предназначен для того, чтобы его входные файлы генерировались системой сборки более высокого уровня, и для максимально быстрого запуска сборок. Необходим для Meson. Ncurses Этот пакет содержит библиотеки для независимой от терминала обработки символьных экранов. Он часто используется для управления курсором в меню. Необходим ряду пакетов в LFS. Openssl Этот пакет содержит инструменты управления и библиотеки, относящиеся к криптографии. Они предоставляют криптографические функций другим пакетам, включая ядро Linux. Patch Этот пакет содержит программу для изменения или создания файлов путем применения файла patch, обычно создаваемого программой diff. Он необходим процедуре сборки для некоторых пакетов LFS. Perl Этот пакет является интерпретатором языка PERL. Он необходим для установки и тестирования некоторых пакетов LFS. Pkgconf Этот пакет содержит программу, которая помогает настраивать флаги компилятора и компоновщика для библиотек разработки. Программа может быть использована в качестве замены pkg-config, который необходим системе сборки многих пакетов. Он поддерживается более активно и развивается немного быстрее, чем оригинальный пакет Pkg-config. Procps-NG Этот пакет содержит программы для мониторинга процессов. Набор полезен для системного администрирования, а также используются загрузочными сценариями LFS. Psmisc Этот пакет содержит программы для отображения информации о запущенных процессах. Этот набор программ полезен для системного администрирования. Python 3 Этот пакет предоставляет интерпретируемый язык программирования, философия которого делает упор на удобочитаемость кода. Readline Этот пакет представляет собой набор библиотек, предлагающих возможности редактирования командной строки и средства для работы с историей команд. Используется командным интерпретатором Bash. Sed Этот пакет позволяет редактировать текст, не открывая его в текстовом редакторе. Он необходим сценариям настройки многих пакетов LFS. Shadow Этот пакет содержит программы для безопасной обработки паролей. Sysklogd Этот пакет содержит программы для регистрации системных сообщений, которые генерируются ядром или процессами демона при возникновении необычных событий. Systemd Этот пакет предоставляет систему инициализации init и ряд дополнительных возможностей загрузки и управления системой в качестве альтернативы Sysvinit. Он используется многими дистрибутивами. Sysvinit Этот пакет содержит систему инициализации init, родительской элемент всех остальных процессов в работающей системе Linux. Udev Этот пакет представляет собой диспетчер устройств. Он контролирует разрешения, имена и символические ссылки устройств в каталоге /dev, когда устройства добавляются или удаляются из системы. Tar Этот пакет предоставляет возможность архивирования и извлечения практически всех пакетов, используемых в LFS. Tcl Этот пакет содержит командный язык инструментов, используется во многих наборах тестов. Texinfo Этот пакет предоставляет программы для чтения, записи и преобразования информационных страниц. Используется в процедурах установки многих пакетов LFS. Util-linux Этот пакет содержит различные служебные программы. Среди них утилиты для работы с файловыми системами, консолями, разделами и сообщениями. Vim Этот пакет содержит редактор. Его выбрали из-за совместимости с классическим редактором vi и огромного количества возможностей. Редактор является очень личным выбором для каждого пользователя. По желанию можно заменить любым другим редактором. Wheel Этот пакет содержит модуль Python, который представляет собой эталонную реализацию механизма упаковки Python. XML::Parser Этот пакет представляет собой модуль Perl, который взаимодействует с Expat. XZ Utils Этот пакет содержит программы для сжатия и распаковки файлов. Он обеспечивает высокое сжатие и используется для распаковки пакетов в формате XZ или LZMA. Zlib Этот пакет содержит процедуры сжатия и распаковки, используемые некоторыми программами. Zstd Этот пакет содержит процедуры сжатия и распаковки, используемые некоторыми программами. Он обеспечивает высокие коэффициенты сжатия и очень широкий диапазон компромиссов между сжатием и скоростью.