CLFS includes many packages, a number of which might not necessarily be required for a "minimal" system, but still considered very useful. The purpose of this page is to list the reasoning for each package's inclusion in the book.
Autoconf
The Autoconf package contains programs for producing shell scripts that can automatically configure source code.
Automake
The Automake package contains programs for generating Makefiles for use with Autoconf.
Bash
This package contains the Bourne-Again SHell.
Binutils
This package contains programs for handling object files. The programs in this package are needed for compiling most of the packages in CLFS.
Bison
Required by several package in CLFS
Bzip2
The programs in this package are useful for compressing files to reduce size. They are also needed to uncompress tarballs for many CLFS packages.
CLFS-Bootscripts
This package contains a number of scripts that run at boottime, performing essential tasks such as mounting/checking filesystems and starting the network interface.
CLooG-PPL
Used by GCC
Coreutils
This package contains many basic command-line file-management tools, required for installation of every package in CLFS.
DejaGNU
This package is needed for the testsuites of several packages, especially GCC and Binutils
DHCPCD
This package allows for automatic configuration of network interfaces from a DHCP server
Diffutils
This package contains programs to compare files, and can also be used to create patches. Required by the installation procedures of many CLFS packages.
EGLIBC
Any dynamically-linked C program (which is nearly everything in CLFS) needs a C library to compile and run.
Expect
This package is needed for the testsuites for several packages.
E2fsprogs
The programs in this package are used for the creation and maintenance of ext2/3/4 filesystems.
File
This package contains a program that determines the type of a given file. It is needed by some CLFS packages.
Findutils
This package contains programs for finding files based on certain criteria, and optionally performing commands on them. Used by the installation procedures of many CLFS packages.
Flex
This package contains a tool for generating text scanners. It is used by multiple packages in CLFS
Gawk
This package contains programs for manipulating text files, using the AWK language. It is used by the installation procedures of many packages in CLFS.
Gcc
This package contains a C compiler, which is required to compile most of the packages in CLFS.
Gettext
A tool that allows programmers to easily implement i18n in their programs. It is a required dependency for a number of packages
Glib
Required for pkg-config
GMP
Required by GCC
Grep
Programs for searching for text in files. Required by many packages in CLFS.
Groff
Required by Man
Gzip
Useful for compressing files to reduce size. Also needed to uncompress tarballs for many CLFS packages
Iana-Etc
This package provides the /etc/services
and /etc/protocols
files. These files map port
names to port numbers as well as protocol names to their
corresponding numbers. These files are essential for many
network based programs to work properly.
IProute2
This package contains programs for administering network interfaces.
IPutils
This package contains several basic network-management tools.
Kbd
Contains keytable files and keyboard utilities compatible with the Linux kernel.
Less
A program that lets you view text files one page at a time. Used by Man for displaying manpages.
Libee
This package contains an event expression library.
Libestr
This package contains a library for string essentials.
Libtool
The Libtool package contains the GNU generic library support script. It is used by some CLFS packages.
Linux-Headers
This package consists of santized headers from the Linux Kernel. These headers are required for Glibc to compile.
Linux Kernel
The Linux operating system.
M4
This package contains a macro processor. It is required by several CLFS packages, including Bison.
Make
Required for installation of most CLFS packages
Man
Used for viewing manpages
Man-Pages
A number of useful manpages, not supplied by other packages
MPC
Required by GCC
MPFR
Required by GCC
Module-Init-Tools
This package contains programs that assist in
Ncurses
Needed by several packages in CLFS, such as Vim, Bash, and Less
Patch
Used for applying patches in several CLFS packages
Perl
The Perl package contains the Practical Extraction and Report Language. It is required by several CLFS packages.
Pkg-config
Needed by E2fsprogs
PPL
Used by GCC
Procps
Provides a number of small, useful utilities that give
information about the /proc
filesystem.
Psmisc
Provides more utilties that give information about the
/proc
filesystem.
Readline
The Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. This is essential for input in programs like bash to work properly.
Rsyslog
Rsyslog is an enhanced multi-threaded syslogd that supports
multiple backends with very little dependencies. It provides a
program that logs various system events into files in
/var/log
.
Sed
This package contains a stream editor. It is used in the installation procedures of most CLFS packages.
Shadow
This package contains programs that assist in the administration of users and groups, and passwords.
Sysvinit
Sysvinit is the init daemon that the clfs-bootscripts were written to work with.
Tar
Required to unpack the tar archives in which all CLFS packages are distributed
Tcl
Needed for the testsuites of several packages
Texinfo
This package contains programs for viewing, installing and converting info pages. It is used in the installation procedures of many CLFS packages.
Udev
The Udev package contains programs for dynamic creation of device nodes.
Util-linux
The Util-linux package contains miscellaneous utility programs. Among them are utilities for handling file systems, consoles, partitions, and messages. It also includes libraries that are required by E2fsprogs.
Vim
The Vim package contains a text editor. Users may substitute Nano, Joe, Emacs, or whatever other editor they prefer.
XZ-Utils
Useful for compressing files to reduce size. Also needed to uncompress tarballs for many CLFS packages
Zlib
The Zlib package contains compression and decompression routines used by some programs.