앞서 말한 바와 같이, 완전하고 사용 가능한 기초 수준의 시스템을 구축하는 것이 LFS의 목표다. 여기에는 사용자의 선택에 따라 보다 완전한 시스템을 사용자 정의하기 위한 비교적 최소한의 기반을 제공하면서 자체 복제에 필요한 모든 패키지가 포함된다. 이것은 LFS가 가능한 가장 작은 시스템이라는 것을 의미하지 않는다. 엄격하게 요구되지 않는 몇 가지 중요한 패키지가 포함되어 있다. 아래 목록은 책에 있는 각 패키지에 대한 설명이다.
Acl
접근 제어 목록(Access Control Lists)을 관리하는 도구가 포함되어 있으며, 파일과 디렉토리에 대한 보다 세분화된 재량적 접근 권한을 정의하는 데 사용된다.
Attr
파일 시스템 객체의 확장된 속성을 관리하기 위한 프로그램
Autoconf
개발자 템플릿에서 소스 코드를 자동으로 구성할 수 있는 셸 스크립트 생성 프로그램이 포함되어 있다. 빌드 절차를 업데이트한 후 패키지를 다시 빌드해야 하는 경우가 많다.
Automake
템플릿으로부터 Make 파일을 생성하는 프로그램을 포함하고 있다. 빌드 절차를 업데이트한 후 패키지를 다시 빌드해야 하는 경우가 많다.
Bash
이 패키지는 시스템에 Bourne Shell 인터페이스를 제공하는 LSB 코어 요구 사항이다. 다른 셸 패키지들 사이에서 채택된 것은 보편적으로 쓰이고 기본 셸 기능을 넘어서는 광범위한 기능 때문이다.
Bc
임의의 정밀 숫자 처리 언어를 제공한다. 리눅스 커널을 구축할 때 필요한 패키지다.
Binutils
오브젝트 파일들을 처리하기 위한 링커, 어셈블러 및 기타 도구가 포함되어 있다. 이 패키지의 프로그램은 LFS 시스템의 대부분의 패키지, 그리고 이후에도 컴파일하기 위해 필요하다.
Bison
여러 다른 LFS 프로그램을 빌드하는 데 필요한 Yacc(Yet Another Compiler Compiler Compiler)의 GNU 버전이 포함되어 있다.
Bzip2
파일을 압축하고 해제하는 프로그램이 포함되어 있다. 많은 LFS 패키지의 압축을 푸는 데 필요하다.
Check
다른 프로그램을 위한 테스트 도구가 포함되어 있다.
Coreutils
파일 및 디렉터리를 보고 조작하는 데 필수적인 프로그램이 다수 포함되어 있다. 이 프로그램들은 명령 줄 파일 관리에 쓰이며 LFS의 모든 패키지의 설치 절차에 필요하다.
DejaGNU
다른 프로그램을 테스트하기 위한 프레임워크를 포함하고 있다. 임시 툴체인에만 설치된다.
Diffutils
파일 또는 디렉터리 간의 차이를 보여주는 프로그램이 포함되어 있다. 이 프로그램은 패치를 만드는 데 사용할 수 있으며, 많은 패키지의 빌드 절차에도 사용된다.
E2fsprogs
ext2, ext3, ext4 파일 시스템을 처리하는 도구가 포함되어 있다. 이들은 리눅스가 지원하는 가장 보편적이고 철저하게 테스트된 파일 시스템이다.
Eudev
이 패키지는 장치 관리자이다. 디바이스가 시스템에서 추가 또는 제거될 때 /dev 디렉토리의 항목을 동적으로 제어한다.
Expat
비교적 작은 XML 구문 분석 라이브러리가 포함되어 있다. XML::Parser Perl 모듈에 필요하다.
Expect
다른 대화형 프로그램과 스크립트로 통신하기 위한 프로그램이 포함되어 있다. 일반적으로 다른 패키지들을 테스트하는데 사용된다. 임시 툴체인에만 설치된다.
File
지정된 파일들의 유형을 구분하는 유틸리티가 포함되어 있다. 몇몇 꾸러미를 빌드하는 데 필요하다.
Findutils
파일 시스템에서 파일을 찾는 프로그램이 포함되어 있다. 많은 패키지의 빌드 스크립트에 사용된다.
Flex
텍스트의 패턴을 인식하는 프로그램을 생성하는 도구가 포함되어 있다. 렉스 프로그램(lexical Analyzer)의 GNU 버전이다. 여러 LFS 패키지들을 빌드하는 데 필요하다.
Gawk
텍스트 파일을 조작하는 프로그램을 포함하고 있다. GNU 버전의 awk(Aho-Weinberg-Kernighan)이다. 다른 많은 패키지의 빌드 스크립트에 사용된다.
Gcc
GNU 컴파일러 모음이다. C와 C++ 컴파일러뿐만 아니라 LFS에 의해 빌드되지 않는 여러 다른 컴파일러도 포함하고 있다.
GDBM
GNU 데이터베이스 관리자 라이브러리를 포함한다. 다른 LFS 패키지인 Man-DB에서 사용된다.
Gettext
수많은 패키지의 다국어 지원을 위한 도구와 라이브러리가 포함되어 있다.
Glibc
메인 C 라이브러리를 포함하고 있다. 리눅스 프로그램은 이것 없이는 실행되지 않을 것이다.
GMP
임의 정밀 산술에 유용한 함수를 제공하는 수학 라이브러리가 포함되어 있다. GCC를 빌드할 때 필요하다.
Gperf
키 세트로부터 완벽한 해시함수를 생성하는 프로그램이 포함되어 있다. Eudev를 위해 필요하다.
Grep
파일들을 검색하는 프로그램이 포함되어 있다. 이 프로그램은 대부분의 패키지의 빌드 스크립트에서 사용된다.
Groff
텍스트를 처리하고 서식화하는 프로그램이 포함되어 있다. 이 프로그램들의 중요한 기능 중 하나는 Man 페이지 서식을 만드는 것이다.
GRUB
이 패키지는 the Grand Unified Boot Loader이다. 여러 부트 로더 중 하나지만 가장 유연하다.
Gzip
파일을 압축하고 해제하는 프로그램이 포함되어 있다. LFS와 다른 패키지의 압축을 푸는 데 필요하다.
Iana-etc
네트워크 서비스와 프로토콜에 대한 데이터를 제공한다. 적절한 네트워킹 기능을 활성화하는 데 필요하다.
Inetutils
기본 네트워크 관리 프로그램이 포함되어 있다.
Intltool
소스 파일에서 변환 가능한 문자열을 추출하는 도구가 포함되어 있다.
IProute2
기본 및 고급 IPv4 및 IPv6 네트워킹을 위한 프로그램이 포함되어 있다. IPv6 기능을 위해 다른 일반 네트워크 도구 패키지(net-tools) 사이에서 채택되었다.
Kbd
키-테이블 파일, 미국 이외의 키보드를 위한 키보드 유틸리티 및 다수의 콘솔 글꼴이 포함되어 있다.
Kmod
리눅스 커널 모듈을 관리하는 데 필요한 프로그램이 포함되어 있다.
Less
파일을 볼 때 위아래로 스크롤할 수 있는 매우 멋진 텍스트 파일 뷰어가 포함되어 있다. Man페이지를 볼 때도 Man-DB에서 사용된다.
Libcap
리눅스 커널에서 사용할 수 있는 POSIX 1003.1e 기능에 대한 사용자 공간 인터페이스를 구현한다.
Libelf
elfutils 프로젝트는 ELF 파일과 DWARF 데이터를 위한 라이브러리와 도구를 제공한다. 이 패키지의 대부분의 유틸리티는 다른 패키지에서도 제공되지만, 이 패키지의 라이브러리는 기본(가장 효율적인) 구성을 사용하여 리눅스 커널을 구축하기 위해 필요하다.
Libffi
다양한 호출 규약에 대해 포팅 가능한 고수준(high level) 프로그래밍 인터페이스를 구현한다. 어떤 프로그램은 어떤 인자를 함수에 전달해야 하는지를 컴파일할 때 알지 못할 수 있다. 예를 들어, 인터프리터에는 함수를 호출하는 데 사용되는 인수의 수와 유형들이 런타임에 주어진다. Libffi는 그러한 인터프리터 프로그램에서 컴파일된 코드로의 다리 역할을 한다.
Libpipeline
유연하고 편리한 방법으로 하위 프로세스의 파이프라인을 조작하기 위한 라이브러리를 포함하고 있다. Man-DB 패키지에 필요하다.
Libtool
GNU 일반 라이브러리 지원 스크립트가 포함되어 있다. 일관적으로 공유 라이브러리를 사용하는 복잡성을 포팅 가능한 인터페이스로 래핑한다. 다른 LFS 패키지의 테스트 스위트에 필요하다.
Linux Kernel
운영 체제이다. GNU/리눅스 환경의 리눅스이다.
M4
다른 프로그램의 빌드 도구로 유용한 범용 텍스트 매크로 프로세서가 포함되어 있다.
Make
패키지 빌드를 위한 프로그램을 포함되어 있다. 거의 모든 LFS 패키지에 필요하다.
Man-DB
Man 페이지를 검색하고 볼 수 있는 프로그램이 포함되어 있다. 우수한 다국어 지원 때문에 man 패키지 대신 채택되었다. Man 프로그램을 지원한다.
Man-pages
이 패키지에는 기본적인 리눅스 맨 페이지의 실제 내용이 들어 있다.
Meson
소프트웨어 빌드를 자동화하는 소프트웨어 도구를 제공한다. Meson의 주요 목표는 소프트웨어 개발자들이 그들의 빌드 시스템을 구성하는 데 필요한 시간을 최소화하는 것이다.
MPC
복잡한 숫자의 산수를 위한 함수가 포함되어 있다. gcc에 필요하다.
MPFR
다중 정밀 산술 함수가 포함되어 있다. gcc에 필요하다.
Ninja
속도에 초점을 둔 소형 빌드 시스템을 포함하고 있다. 더 높은 수준의 빌드 시스템에 의해 생성된 입력 파일을 받으며, 가능한 빨리 빌드를 수행하도록 설계되었다.
Ncurses
문자 화면의 터미널 독립적 처리를 위한 라이브러리가 포함되어 있다. 종종 메뉴 시스템을 위한 커서 제어를 위해 사용된다. LFS의 많은 패키지에 필요하다.
Openssl
암호화와 관련된 관리 도구와 라이브러리를 제공한다. 리눅스 커널을 포함한 다른 패키지의 암호화 기능을 제공하는 데 유용하다.
Patch
일반적으로 diff 프로그램에 의해 생성된 패치 파일을 적용하여 파일을 수정하거나 만드는 프로그램이 포함되어 있다. 몇 개의 LFS 패키지에 대한 빌드 절차에 필요하다.
Perl
런타임 언어 PERL의 인터프리터이다. 여러 LFS 패키지의 설치 및 테스트 스위트를 위해 필요하다.
Pkg-config
설치된 라이브러리 또는 패키지에 대한 메타 데이터를 반환하는 프로그램을 제공한다.
Procps-NG
프로세스 모니터링 프로그램이 포함되어 있다. 이러한 프로그램은 시스템 관리에 유용하며 LFS 부트스크립트에 사용되기도 한다.
Psmisc
실행 중인 프로세스들의 정보를 표시하는 프로그램이 포함되어 있다. 시스템 관리에 유용하다.
Python 3
코드 가독성을 강조하는 디자인 철학이 담긴 인터프리터 언어를 제공한다.
Readline
명령줄 편집 및 기록 기능을 제공하는 라이브러리 모음이다. Bash에 쓰인다.
Sed
텍스트 편집기에서 열지 않고도 텍스트를 편집할 수 있다. 대부분의 LFS 패키지의 구성 스크립트에도 필요하다.
Shadow
안전한 방법으로 비밀번호를 관리하는 프로그램이 포함되어 있다.
Sysklogd
비정상적인 이벤트가 발생할 때 커널 또는 데몬 프로세스에 의해 출력된 시스템 메시지를 로깅하는 프로그램이 포함되어 있다.
Sysvinit
리눅스 시스템의 다른 모든 프로세스의 부모 프로세스인 init 프로그램을 제공한다.
Tar
LFS에 사용되는 거의 모든 패키지의 보관 및 추출 기능을 제공한다.
Tcl
LFS 패키지의 많은 테스트 스위트에서 사용되는 Tool Command Language가 포함되어 있다. 임시 툴체인에만 설치된다.
Texinfo
info 페이지를 읽고, 쓰고, 변환하는 프로그램이 포함되어 있다. 많은 LFS 패키지의 설치 절차에 사용된다.
Util-linux
다양한 유틸리티 프로그램이 포함되어 있다. 그 중에는 파일 시스템, 콘솔, 파티션 및 메시지를 처리하는 유틸리티가 있다.
Vim
이 패키지에는 편집기가 들어 있다. 고전 vi 에디터와의 호환성과 엄청나게 다양하고 강력한 능력 때문에 채택되었다. 편집기는 많은 사용자에게 매우 개인적인 취향일 뿐, 원한다면 다른 편집기로 대체할 수 있다.
XML::Parser
Expat과 접속하는 Perl 모듈이다.
XZ Utils
파일을 압축하고 해제하는 프로그램이 포함되어 있다. 일반적으로 사용할 수 있는 가장 높은 압축률을 제공하며, XZ나 LZMA 형식의 패키지 압축을 푸는 데 유용하다.
Zlib
일부 프로그램에서 사용하는 압축 및 압축 해제 루틴이 포함되어 있다.
Zstd
일부 프로그램에서 사용하는 압축 및 압축 해제 루틴이 포함되어 있다. 높은 압축율과 매우 광범위한 압축/속도 절충 기능을 제공한다.