Как говорилось ранее, цель LFS — построить законченную и пригодную для использования базовую систему, которая включает в себя все пакеты, необходимые для самовоспроизведения, содержащую при этом относительно небольшой набор программ, с помощью которых можно расширять систему. Это не означает, что LFS является самой маленькой из возможных систем. В систему включено несколько важных пакетов, которые не являются обязательными. Приведенный ниже список объясняет для чего используется тот или иной пакет в книге.
Acl
Access Control List или ACL — список управления доступом, который определяет, кто или что может получать доступ к объекту (программе, процессу или файлу), и какие именно операции разрешено или запрещено выполнять субъекту (пользователю, группе пользователей).Данный пакет содержит утилиты для администрирования списками управления доступом (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.
DejaGNU
Этот пакет содержит фреймворк для тестирования других программ.
Diffutils
Этот пакет содержит программы, которые показывают различия между файлами или каталогами. Их можно использовать для создания патчей, а также они применяются во многих процедурах сборки
E2fsprogs
Этот пакет содержит утилиты для работы с файловыми системами ext2, ext3 и ext4. Это наиболее распространенные и тщательно протестированные файловые системы, поддерживаемые Linux
Eudev
Этот пакет представляет собой диспетчер устройств. Он контролирует разрешения, имена и символические ссылки устройств в каталоге /dev, когда устройства добавляются или удаляются из системы.
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
Этот пакет содержит программу, которая генерирует идеальную хеш-функцию из набора ключей. Требуется для пакета Eudev.
Grep
Этот пакет содержит программы для поиска по файлам. Пакет используется в скриптах сборки большинства пакетов.
Groff
Этот пакет содержит программы для обработки и форматирования текста. Одной из важнейших функций этих программ является форматирование man страниц.
GRUB
Этот пакет является загрузчиком операционной системы (GRand Unified Bootloader). Это один из множества загрузчиков, но он является самым гибким.
Gzip
Этот пакет содержит программы для сжатия и распаковки файлов. Он необходим для распаковки множества пакетов в LFS и за его пределами.
Iana-etc
Этот пакет предоставляет данные для сетевых служб и протоколов. Он необходим для обеспечения правильных сетевых возможностей.
Inetutils
Этот пакет содержит программы для базового сетевого администрирования.
Intltool
Этот пакет содержит инструменты для извлечения переводимых строк из исходных файлов.
IProute2
Этот пакет содержит программы для базовой и расширенной работы в сетях IPv4 и IPv6. Он был выбран среди других распространенных пакетов сетевых инструментов (net-tools) из-за его поддержки IPv6.
Kbd
Этот пакет содержит таблицы раскладок, утилиты управления клавиатурой для неамериканских клавиатур, кроме этого, с ним поставляется большой набор консольных шрифтов.
Kmod
Этот пакет содержит программы, необходимые для администрирования модулей ядра Linux.
Less
Этот пакет содержит очень хороший просмотрщик текстовых файлов на экране. Он также используется Man-DB для просмотра справочных страниц.
Libcap
Этот пакет реализует интерфейсы пользовательского пространства для возможностей POSIX 1003.1e, доступных в ядре Linux.
Libelf
Проект elfutils предоставляет библиотеки и инструменты для файлов ELF и данных DWARF. Большинство утилит в этом пакете доступны в других пакетах, но эта библиотека необходима для сборки ядра Linux с использованием стандартной (и наиболее эффективной) конфигурации.
Libffi
Этот пакет реализует переносимый программный интерфейс высокого уровня для различных соглашений о вызовах. Некоторые программы могут не знать во время компиляции, какие аргументы должны быть переданы в функцию. Например, интерпретатору во время выполнения может быть сообщено о количестве и типах аргументов, используемых для вызова данной функции. Libffi можно использовать как мост от интерпретатора к скомпилированному коду.
Libpipeline
Пакет Libpipeline содержит библиотеку для гибкого и удобного управления конвейерами подпроцессов. Она требуется для Man-DB.
Libtool
Этот пакет содержит сценарий поддержки универсальной библиотеки GNU. Он объединяет сложность использования общих библиотек в согласованный переносимый интерфейс. Библиотека необходима наборам тестов в других пакетах LFS.
Linux Kernel
Этот пакет является ядром операционной системой.
M4
Этот пакет содержит текстовый макропроцессор, полезный в качестве инструмента сборки для других программ.
Make
Этот пакет содержит программу для управления сборкой пакетов. При сборке она необходима почти для каждого пакета в LFS.
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.
Pkg-config
Этот пакет предоставляет программу, которая возвращает метаданные об установленной библиотеке или пакете.
Procps-NG
Этот пакет содержит программы для мониторинга процессов. Набор полезен для системного администрирования, а также используются загрузочными сценариями LFS.
Psmisc
Этот пакет содержит программы для отображения информации о запущенных процессах. Этот набор программ полезен для системного администрирования.
Python 3
Этот пакет предоставляет интерпретируемый язык программирования, философия которого делает упор на удобочитаемость кода.
Readline
Этот пакет представляет собой набор библиотек, предлагающих возможности редактирования и обработки из командной строки. Используется командным интерпретатором Bash.
Sed
Этот пакет позволяет редактировать текст, не открывая его в текстовом редакторе. Он необходим сценариям настройки большинства пакетов LFS.
Shadow
Этот пакет содержит программы для безопасной обработки паролей.
Sysklogd
Этот пакет содержит программы для записи системных сообщений, которые выдаются ядром или процессами демона, в журнал при возникновении необычных событий.
Sysvinit
Этот пакет содержит систему инициализацииinit, которая является родительской для всех других процессов в системе Linux.
Tar
Этот пакет предоставляет возможность архивирования и извлечения практически всех пакетов, используемых в LFS.
Tcl
Этот пакет содержит командный язык инструментов, используется во многих наборах тестов в пакетах LFS.
Texinfo
Этот пакет содержит программы для чтения, записи и преобразования информационных страниц. Используется в процедурах установки многих пакетов LFS.
Util-linux
Этот пакет содержит различные служебные программы. Среди них утилиты для работы с файловыми системами, консолями, разделами и сообщениями.
Wheel
Этот пакет содержит модуль Python, который представляет собой эталонную реализацию механизма упаковки Python.
Vim
Этот пакет содержит редактор. Его выбрали из-за совместимости с классическим редактором vi и огромного количества возможностей. Редактор является очень личным выбором для каждого пользователя, и может быть заменен, при желании, на любой другой.
XML::Parser
Этот пакет представляет собой модуль Perl, который взаимодействует с Expat.
XZ Utils
Этот пакет содержит программы для сжатия и распаковки файлов. Он обеспечивает высокое сжатие и используется для распаковки пакетов в формате XZ или LZMA.
Zlib
Этот пакет содержит процедуры сжатия и распаковки, используемые некоторыми программами.
Zstd
Этот пакет содержит процедуры сжатия и распаковки, используемые некоторыми программами. Он обеспечивает высокие коэффициенты сжатия и очень широкий диапазон условий между сжатием и скоростью.