Как было сказано выше, цель проекта LFS - построение полной и готовой к использованию системы базового уровня. Она должна включать в себя все пакеты, необходимые для самовоспроизведения, предоставляя относительно небольшую основу, от которой пользователь может отталкиваться в построении своей, более сложной системы. Это не значит, что LFS не может быть сделана еще более маленькой. Некоторые важные пакеты, несмотря на наши рекомендации, могут быть более-менее безболезненно исключены из построения. Список, представленный ниже, поясняет роль каждого пакета в системе и причины, по которым он был включен в книгу.
Autoconf
Этот пакет содержит программы, создающие скрипты оболочки, способные автоматически сконфигурировать исходные коды из шаблона, предоставленного разработчиком. Он часто необходим для повторной сборки пакета после изменений в процедуре построения.
Automake
Пакет содержит программы для генерации Make-файлов из шаблонов. Он часто необходим для повторной сборки пакета после изменений в процедуре построения.
Bash
Этот пакет удовлетворяет требование LSB Core, по которому система должна предоставлять интерфейс Bourne Shell. Он был выбран из большого числа других вариантов потому, что является наиболее популярным и одним из самых мощных по возможностям.
Binutils
Этот пакет содержит компоновщик, ассемблер и другие утилиты для работы с объектными файлами. Программы из этого пакета необходимы для компиляции почти всех пакетов LFS и большинства остальных программ.
Bison
Пакет содержит GNU-версию yacc (Yet Another Compiler Compiler, Еще Один Компилятор Компиляторов), необходимого для сборки некоторых других программ LFS.
Bzip2
Этот пакет содержит программы для работы со сжатыми данными. Он необходим для распаковки многих пакетов LFS.
Check
This package contains a test harness for other programs. It is only installed in the temporary toolchain.
Coreutils
Пакет включает в себя необходимые программы для просмотра и обработки файлов и каталогов. Они требуются для управления файлами из командной строки, а также для установки абсолютно всех пакетов LFS.
DejaGNU
Содержит компоненты для тестирования других программ. Этот пакет устанавливается только как временный инструментарий.
Diffutils
Пакет содержит программы, которые позволяют выявить различия между файлами или каталогами. С их помощью можно создавать патчи, а также они необходимы для сборки многих пакетов.
E2fsprogs
Пакет включает в себя утилиты для оперирования с файловыми системами ext2, ext3 и ext4. Это самые популярные и тщательно протестированные файловые системы, поддержимаемые ядром Linux.
Expect
Этот пакет содержит программу для связывания скриптовых диалогов с другими интерактивными программами. Он зачастую используется при тестировании других пакетов. Он устанавливается только как временный инструментарий.
File
Этот пакет включает в себя утилиту для определения типа переданного ей файла или нескольких файлов. Некоторые пакеты требуют ее для сборки.
Findutils
Пакет содержит программы для поиска файлов в файловой системе. Очень многие пакеты используют эти утилиты при сборке.
Flex
Этот пакет содержит утилиту для генерации программ, способных распознавать шаблоны в тексте. Это GNU-версия lex (лексического анализатора), необходимого для сборки некоторых пакетов LFS.
Gawk
В этом пакете содержится программа для оперирования содержимым текстовых файлов. Это GNU-версия awk (Aho-Weinberg-Kernighan), который используется в скриптах сборки многих пакетов.
Gcc
Это - Собрание Компиляторов GNU (Gnu Compiler Collection). Данный пакет содержит компиляторы C и C++, а также многие другие, не устанавливаемые в процессе сборки LFS.
GDBM
Пакет предоставляет библиотеку управления базами данных GNU (GNU Database Manager). Она используется другим пакетом, Man-DB.
Gettext
В данном пакете находятся утилиты для интернационализации и перевода интерфейса программ на другие языки. Они необходимы некоторым пакетам.
Glibc
Этот пакет содержит главную библиотеку языка C. Ни одна программа в Linux не запустится без нее.
GMP
This package contains math libraries that provide useful functions for arbitrary precision arithmetic. It is required to build Gcc.
Grep
This package contains programs for searching through files. These programs are used by most packages' build scripts.
Groff
This package contains programs for processing and formatting text. One important function of these programs is to format man pages.
GRUB
This package is the Grand Unified Boot Loader. It is one of several boot loaders available, but is the most flexible.
Gzip
This package contains programs for compressing and decompressing files. It is needed to decompress many packages in LFS and beyond.
Iana-etc
This package provides data for network services and protocols. It is needed to enable proper networking capabilities.
Inetutils
This package contains programs for basic network administration.
IProute2
This package contains programs for basic and advanced IPv4 and IPv6 networking. It was chosen over the other common network tools package (net-tools) for its IPv6 capabilities.
Kbd
This package contains key-table files, keyboard utilities for non-US keyboards, and a number of console fonts.
Kmod
This package contains programs needed to administer Linux kernel modules.
Less
This package contains a very nice text file viewer that allows scrolling up or down when viewing a file. It is also used by Man-DB for viewing manpages.
Libpipeline
The Libpipeline package contains a library for manipulating pipelines of subprocesses in a flexible and convenient way. It is required by the Man-DB package.
Libtool
This package contains the GNU generic library support script. It wraps the complexity of using shared libraries in a consistent, portable interface. It is needed by the test suites in other LFS packages.
Linux Kernel
This package is the Operating System. It is the Linux in the GNU/Linux environment.
M4
This package contains a general text macro processor useful as a build tool for other programs.
Make
This package contains a program for directing the building of packages. It is required by almost every package in LFS.
Man-DB
This package contains programs for finding and viewing man pages. It was chosen instead of the man package due to superior internationalization capabilities. It supplies the man program.
Man-pages
This package contains the actual contents of the basic Linux man pages.
MPC
This package contains functions for the arithmetic of complex numbers. It is required by Gcc.
MPFR
This package contains functions for multiple precision arithmetic. It is required by Gcc.
Ncurses
This package contains libraries for terminal-independent handling of character screens. It is often used to provide cursor control for a menuing system. It is needed by a number of packages in LFS.
Patch
This package contains a program for modifying or creating files by applying a patch file typically created by the diff program. It is needed by the build procedure for several LFS packages.
Perl
This package is an interpreter for the runtime language PERL. It is needed for the installation and test suites of several LFS packages.
Pkg-config
This package provides a program to return meta-data about an installed library or package.
Procps-NG
Пакет содержит программы для слежения за работой процессов. Эти программы полезны для администрирования системы, а также используются загрузочными скриптами LFS.
Psmisc
Пакет предоставляет программы, выводящие различную информацию о запущенных процессах. Они полезны для системного администрирования.
Readline
Пакет содержит набор библиотек, предоставляющих возможность редактирования командной строки и хранения истории команд. Он используется Bash.
Sed
Этот пакет позволяет редактировать текст без открытия его в текстовом редакторе. Он также требуется большинством конфигурационных скриптов.
Shadow
Пакет содержит программы для безопасного управления паролями.
Sysklogd
Этот пакет содержит программы для журналирования системных сообщений, подобных тем, что ядро или демоны посылают в случае необычного события.
Sysvinit
В этом пакете содержится программа init, являющаяся родителем всех остальных процессов в системе Linux.
Tar
Этот пакет предоставляет возможность создания архивов и их распаковки. Необходим для извлечения абсолютно всех пакетов, используемых в LFS.
Tcl
Пакет содержит Tool Command Language, используемый при выполнении тестирования во многих пакетах LFS. Он устанавливается только как временный инструментарий.
Texinfo
Этот пакет содержит программы для чтения, создания и преобразования info-страниц. Он используется при установке многих пакетов LFS.
Udev
Пакет содержит программы для динамической генерации узлов устройств. Udev является альтернативой созданию нескольких тысяч статических устройств в директории /dev.
Util-linux
Пакет включает в себя разнообразные утилиты. Среди них программы для управления файловыми системами, разделами, консолью и сообщениями.
Vim
Этот пакет содержит редактор. Он был выбран из-за совместимости с класическим редактором vi и огромного числа мощных возможностей. Выбор редактора - очень субъективный момент, поэтому Вы, по желанию, пожете заменить Vim любым другим текстовым редактором.
XZ Utils
Данный пакет включает в себя программы для сжатия и распаковки файлов. На данный момент, они предоставляют наилучшее вообще возможное сжатие, и необходимы для распаковки пакетов формата XZ или LZMA.
Zlib
Пакет содержит библиотеку процедур компрессии/декомпрессии, используемую некоторыми программами.