Comme indiqué plus haut, le but de LFS est de construire les fondations complètes et utilisables d'un système. Il inclut tous les paquets nécessaires pour être répliqué tout en fournissant une base relativement minimale vous permettant de personnaliser un système plus complet basé sur les choix de l'utilisateur. Cela ne veut pas dire que LFS est le plus petit système possible. Plusieurs paquets importants sont inclus et ne sont pas absolument indispensables. Les listes ci-dessous documentent la raison pour laquelle chaque paquet se trouve dans le livre.
Acl
Ce paquet contient des outils d'administration des listes de contrôle d'accès, utilisées pour définir plus finement les droits d'accès de votre choix pour les fichiers et les répertoires.
Attr
Ce paquet contient des programmes d'administration des attributs étendus sur les objets d'un système de fichiers.
Autoconf
Le paquet Autoconf contient des programmes produisant des scripts shell qui configurent automatiquement le code source à partir du modèle fourni par le développeur. Il est souvent requis pour reconstruire un paquet après une mise à jour des procédures de construction.
Automake
Ce paquet contient des programmes pour générer des Makefile à partir d'un modèle. Il est souvent requis pour reconstruire un paquet après une mise à jour des procédures de construction.
Bash
Ce paquet satisfait une exigence du cœur de la LSB pour fournir une interface Bourne Shell au système. Il a été choisi parmi d'autres shells du fait de son utilisation répandue et de ses fonctionnalités étendues au-delà des fonctions d'un shell de base.
Bc
Ce paquet fournit un langage de traitement numérique à précision arbitraire. Il satisfait une exigence utilisée pour la construction du noyau Linux.
Binutils
Ce paquet contient un éditeur de liens, un assembleur et d'autres outils de gestion des fichiers objets. Les programmes de ce paquet sont nécessaires pour compiler la plupart des paquets d'un système LFS et au-delà.
Bison
Ce paquet contient la version GNU de yacc (Yet Another Compiler Compiler, encore un nouveau compilateur de compilateur) requis pour construire plusieurs autres programmes de LFS.
Bzip2
Ce paquet contient des programmes de compression et de décompression de fichiers. Il est nécessaire pour décompresser plusieurs paquets de LFS.
Check
Ce paquet contient un harnais de tests pour d'autres programmes.
Coreutils
Ce paquet contient un certain nombre de paquets essentiels pour visualiser et manipuler des fichiers et des répertoires. Ces programmes sont nécessaires pour la gestion de fichiers en ligne de commande et ils sont nécessaires pour les procédures d'installation de chaque paquet de LFS.
DejaGNU
Ce paquet fournit un cadriciel pour tester d'autres programmes.
Diffutils
Ce paquet contient des programmes qui montrent les différences entre des fichiers ou entre des répertoires. On peut utiliser ces programmes pour créer des correctifs et ils sont aussi utilisés dans de nombreuses procédures de construction de paquets.
E2fsprogs
Ce paquet contient les outils de gestion des systèmes de fichiers ext2, ext3 et ext4. Ce sont les systèmes de fichiers les plus courants et les plus largement testés, parmi ceux pris en charges par Linux.
Expat
Ce paquet contient une bibliothèque d'analyse XML relativement petite. Il est exigé par le module Perl XML::Parser.
Expect
Ce paquet contient un programme pour réaliser des dialogues scriptés avec d'autres programmes interactifs. Il est souvent utilisé pour tester d'autres paquets.
File
Ce paquet contient un outil pour déterminer le type d'un ou plusieurs fichiers donnés. Quelques paquets en ont besoin dans leur script de construction.
Findutils
Ce paquet contient des programmes pour rechercher des fichiers dans un système de fichiers. Il est utilisé dans les scripts de construction de nombreux paquets.
Flex
Ce paquet contient un outil de génération de programmes qui reconnaît des modèles de texte. C'est la version GNU du programme lex (lexical analyzer, analyseur lexical). Il est nécessaire pour construire plusieurs paquets LFS.
Gawk
Ce paquet contient des programmes de manipulation de fichiers texte. C'est la version GNU du programme awk (Aho-Weinberg-Kernighan). Il est utilisé dans les scripts de construction de nombreux autres paquets.
GCC
Ce paquet est le Gnu Compiler Collection. Il contient les compilateurs C et C++ ainsi que d'autres qui ne sont pas construits dans LFS.
GDBM
Ce paquet contient la bibliothèque GNU Database Manager (gestionnaire de base de données GNU). Il est utilisé par un autre paquet de LFS : Man-DB.
Gettext
Ce paquet contient des outils et des bibliothèques pour l'internationalisation et la traduction de nombreux paquets.
Glibc
Ce paquet contient la bibliothèque C principale. Les programmes Linux ne peuvent pas s'exécuter sans elle.
GMP
Ce paquet contient des bibliothèques mathématiques qui fournissent des fonctions utiles pour de l'arithmétique en précision arbitraire. Il est nécessaire pour construire GCC.
Gperf
Ce paquet contient un programme qui génère une fonction de hachage parfaite à partir d'un trousseau. Il est exigé par Udev.
Grep
Ce paquet contient des programmes de recherche au sein de fichiers. Ces programmes sont utilisés par la plupart des scripts de construction des paquets.
Groff
Le paquet Groff contient des programmes de formatage de texte. Une des fonctions importantes de ces programmes est le formatage des pages de manuels.
GRUB
Ce paquet est le chargeur Grand Unified Boot. Ce n'est pas le seul chargeur d'amorçage disponible, mais c'est le plus flexible.
Gzip
Ces paquets contiennent des programmes de compression et de décompression de fichiers. Il est nécessaire pour décompresser de nombreux paquets sur LFS.
Iana-etc
Ce paquet fournit des données pour des services et des protocoles réseau. Il est nécessaire pour activer les bonnes fonctionnalités de réseau.
Inetutils
Ce paquet contient des programmes d'administration réseau de base.
Intltool
Ce paquet contient des outils pour extraire des chaînes traduisibles de fichiers sources.
IProute2
Ce paquet contient des programmes pour du réseau de base ou avancé en IPv4 et IPv6. Il a été choisi parmi les paquets d'outils réseau courants (net-tools) pour ses fonctionnalités IPv6.
Kbd
Ce paquet contient des fichiers de tables de touches, des outils claviers pour les claviers non américains et un certain nombre de polices pour console.
Kmod
Ce paquet contient des programmes nécessaires pour administrer les modules du noyau Linux.
Less
Ce paquet contient un très bon visualiseur de texte qui permet le défilement vers le haut ou vers le bas lors de la visualisation d'un fichier. Il est aussi utilisé par Man-DB pour visualiser des pages de manuels.
Libcap
Ce paquet implémente les interfaces au niveau utilisateur avec les possibilités POSIX 1003.1e disponibles dans les noyaux Linux.
Libelf
Le projet elfutils fournit des bibliothèques et des outils pour les fichiers ELF et le format de données DWARF. La plupart des utilitaires de ce paquet sont disponibles dans d'autres paquets mais la bibliothèque est requise pour construire le noyau Linux avec la configuration par défaut (et la plus efficace).
Libffi
Ce paquet implémente une interface de programmation portable et haut-niveau pour diverses conventions d'appel. Certains programmes peuvent ne pas savoir à la compilation les arguments à passer à une fonction. Par exemple, il se peut qu'un interpréteur n'apprenne le nombre et le type des arguments utilisés pour appeler une fonction donnée qu'à l'exécution. Libffi peut être utilisée dans ces programmes pour fournir une passerelle entre l'interpréteur et le code compilé.
Libpipeline
Le paquet Libpipeline contient une bibliothèque pour manipuler des files (pipelines) de sous-processus de façon flexible et commode. Il est requis par le paquet Man-DB.
Libtool
Ce paquet contient le script générique de prise en charge des bibliothèques de GNU. Il englobe la complexité de l'utilisation des bibliothèques partagées dans une interface cohérente et portable. Il est exigé par les suites de tests d'autres paquets de LFS.
Libxcrypt
Ce paquet fournit la bibliothèque libcrypt
requise par plusieurs paquets
(notamment, Shadow) pour hasher les mots de passe. Il remplace
l'implémentation obsolète libcrypt
de Glibc.
Noyau Linux
Ce paquet est le système d'exploitation. C'est Linux dans l'environnement GNU/Linux.
M4
Ce paquet contient un traitement de macros textuelles générales utile en tant qu'outil de construction d'autres programmes.
Make
Ce paquet contient un programme de gestion de la construction des paquets. Il est requis par presque tous les paquets de LFS.
Man-DB
Ce paquet contient des programmes de recherche et de visualisation de pages de manuels. Il a été préféré au paquet man du fait de fonctionnalités d'internationalisation supérieures. Il fournit le programme man.
Man-pages
Ce paquet contient le contenu final des pages de manuels de base de Linux.
Meson
Ce paquet fournit un outil logiciel pour automatiser la construction de logiciels. Le but principal de Meson est de minimiser le temps que les développeurs passent à configurer leur système de construction. Il est requis pour construire Systemd, ainsi que de nombreux paquets de BLFS.
MPC
Ce paquet contient des fonctions pour le calcul de nombres complexes. Il est exigé par GCC.
MPFR
Ce paquet contient des fonctions pour des maths à précision multiple. Il est exigé par GCC.
Ninja
Ce paquet contient un petit système de construction qui met l'accent sur la vitesse. Ses fichiers d'entrées sont prévus pour être générés par un système de construction de plus haut niveau, et il est prévu pour lancer des constructions aussi rapidement que possible. Ce paquet est requis par Meson.
Ncurses
Le paquet Ncurses contient les bibliothèques de gestion des écrans type caractère, indépendant des terminaux. Il est souvent utilisé pour fournir le contrôle du curseur dans un système en menus. Il est exigé par un certain nombre de paquets de LFS.
Openssl
Ce paquet fournit les outils de gestion et les bibliothèques liées à la cryptographie. Ils sont utiles pour fournir des fonctions de cryptographies à d'autres paquet, dont le noyau Linux.
Patch
Ce paquet contient un programme pour modifier ou créer des fichiers en appliquant un fichier de correctif créé en général par le programme diff. Il est requis par la procédure de construction de plusieurs paquets LFS.
Perl
Ce paquet est un interpréteur du langage PERL. Il est nécessaire pour l'installation et les suites de tests de plusieurs paquets LFS.
Pkgconf
Ce paquet contient un programme qui aide à configurer les drapeaux du compilateur et de l'éditeur des liens pour les bibliothèques de développement. Le programme peut être utilisé comme remplaçant direct de pkg-config, qui est requis par le système de construction de nombreux paquets. Il est plus activement maintenu et un peu plus rapide que le paquet Pkg-config original.
Procps-NG
Ce paquet contient des programmes de surveillance des processus. Ces programmes sont utiles pour l'administration système et ils sont aussi utilisés par les scripts de démarrage LFS.
Psmisc
Ce paquet contient des programmes d'affichage d'informations sur les processus en cours d'exécution. Ces programmes sont utiles pour l'administration système.
Python 3
Ce paquet fournit un langage interprété dont la philosophie de conception valorise la lisibilité du code.
Readline
Ce paquet est un ensemble de bibliothèques qui offrent des fonctionnalités d'édition et d'historique de la ligne de commande. Il est utilisé par Bash.
Sed
Ce paquet permet de saisir du texte sans ouvrir le fichier dans un éditeur de texte. Il est aussi requis par la plupart des scripts de configuration des paquets LFS.
Shadow
Ce paquet contient des programmes de gestion sécurisée des mots de passe.
Sysklogd
Ce paquet contient des programmes de journalisation des messages système, tels que ceux donnés par le noyau ou les processus démons lorsque se produisent des événements inhabituels.
Sysvinit
Ce paquet fournit le programme init qui est le parent de tous les autres processus du système Linux.
Udev
Ce paquet est un gestionnaire de périphériques. Il contrôle de façon dynamique l'appartenance, les permissions, les noms et les liens symboliques de périphériques dans le répertoire /dev quand les périphériques sont ajoutés ou retirés du système.
Tar
Ce paquet fournit des fonctionnalités d'archivage et d'extraction de pratiquement tous les paquets utilisés dans LFS.
Tcl
Ce paquet contient le Tool Command Language utilisé dans beaucoup de suites de tests des paquets LFS.
Texinfo
Ce paquet contient des programmes de lecture, d'écriture et de conversion de pages info. Il est utilisé dans les procédures d'installation de beaucoup de paquets LFS.
Util-linux
Ce paquet contient des programmes généraux. Parmi eux, se trouvent des outils de gestion des systèmes de fichiers, de consoles, de partitions et de messages.
Vim
Ce paquet contient un éditeur. Il a été choisi pour sa compatibilité avec l'éditeur vi classique et son grand nombre de fonctionnalités puissantes. Un éditeur est un choix très personnel pour chaque utilisateur et vous pouvez le remplacer par n'importe quel éditeur si vous le désirez.
Wheel
Ce paquet contient un module Python qui est l'implémentation de référence du standard de gestion des paquets Python wheel.
XML::Parser
Ce paquet est un module Perl qui interagit avec Expat.
XZ Utils
Ce paquet contient des programmes de compression et de décompression de fichiers. Il offre la compression la plus haute disponible et il est utile pour la décompression des paquets au format XZ ou LZMA.
Zlib
Ce paquet contient des routines de compression et de décompression utilisées par quelques programmes.
Zstd
Ce paquet contient des routines de compression et de décompression utilisées par quelques programmes. Il fournit de forts taux de compression et une large gamme de compromis entre compression et vitesse.