Begründung für Pakete im Buch
Wie bereits erwähnt, besteht das Ziel von LFS darin, ein vollständiges und nutzbares System auf Basisebene aufzubauen. Dies umfasst alle Pakete, die zur Replikation erforderlich sind, und bietet gleichzeitig eine relativ minimale Basis, um ein umfassenderes System basierend auf den Entscheidungen des Benutzers anzupassen. Dies bedeutet nicht, dass LFS das kleinstmögliche System ist. Es sind mehrere wichtige Pakete enthalten, die nicht unbedingt erforderlich sind. Die folgenden Listen dokumentieren die Gründe für jedes Paket im Buch.
• Acl
Dieses Paket enthält Dienstprogramme zur Verwaltung von Zugriffskontrolllisten, mit denen detailliertere, diskretionäre Zugriffsrechte für Dateien und Verzeichnisse definiert werden.
• Attr
Dieses Paket enthält Programme zur Verwaltung erweiterter Attribute für Dateisystemobjekte.
• Autoconf
Dieses Paket enthält Programme zum Erstellen von Shell-Skripten, die Quellcode automatisch anhand einer Entwicklervorlage konfigurieren können. Nach Aktualisierungen der Build-Prozeduren ist es häufig erforderlich, ein Paket neu zu erstellen.
• Automake
Dieses Paket enthält Programme zum Generieren von Make-Dateien aus einer Vorlage. Nach Aktualisierungen der Build-Prozeduren ist es häufig erforderlich, ein Paket neu zu erstellen.
• Bash
Dieses Paket erfüllt eine LSB-Kernanforderung zur Bereitstellung einer Bourne-Shell-Schnittstelle zum System. Es wurde anderen Shell-Paketen vorgezogen, da es häufig verwendet wird und umfangreiche Funktionen bietet, die über die grundlegenden Shell-Funktionen hinausgehen.
• v.Chr
Dieses Paket stellt eine numerische Verarbeitungssprache mit beliebiger Genauigkeit bereit. Es erfüllt eine Anforderung, die beim Erstellen des Linux-Kernels erforderlich ist.
• Binutils
Dieses Paket enthält einen Linker, einen Assembler und andere Tools zum Umgang mit Objektdateien. Die Programme in diesem Paket werden zum Kompilieren der meisten Pakete in einem LFS-System und darüber hinaus benötigt.
• Bison
Dieses Paket enthält die GNU-Version von yacc (Yet Another Compiler Compiler), die zum Erstellen mehrerer anderer LFS-Programme benötigt wird.
• Bzip2
Dieses Paket enthält Programme zum Komprimieren und Dekomprimieren von Dateien. Es ist erforderlich, viele LFS-Pakete zu dekomprimieren.
• Prüfen
Dieses Paket enthält eine Testumgebung für andere Programme. Es wird nur in der temporären Toolchain installiert.
• Coreutils
Dieses Paket enthält eine Reihe wichtiger Programme zum Anzeigen und Bearbeiten von Dateien und Verzeichnissen. Diese Programme werden für die Befehlszeilendateiverwaltung und für die Installationsvorgänge aller Pakete in LFS benötigt.
• DejaGNU
Dieses Paket enthält ein Framework zum Testen anderer Programme. Es wird nur in der temporären Toolchain installiert.
• Diffutils
Dieses Paket enthält Programme, die die Unterschiede zwischen Dateien oder Verzeichnissen anzeigen. Diese Programme können zum Erstellen von Patches verwendet werden und werden auch in den Build-Prozeduren vieler Pakete verwendet.
• E2fsprogs
Dieses Paket enthält die Dienstprogramme zur Handhabung der Dateisysteme ext2, ext3 und ext4. Dies sind die gebräuchlichsten und gründlich getesteten Dateisysteme, die Linux unterstützt.
• Eudev
Dieses Paket ist ein Gerätemanager. Es steuert dynamisch die Einträge im /dev-Verzeichnis, wenn Geräte zum System hinzugefügt oder daraus entfernt werden.
• Auswanderer
Dieses Paket enthält eine relativ kleine XML-Parsing-Bibliothek. Es wird vom Perl-Modul XML::Parser benötigt.
• Erwarten
Dieses Paket enthält ein Programm zur Durchführung von Skriptdialogen mit anderen interaktiven Programmen. Es wird häufig zum Testen anderer Pakete verwendet. Es wird nur in der temporären Toolchain installiert.
• Datei-
Dieses Paket enthält ein Dienstprogramm zur Bestimmung des Typs einer bestimmten Datei oder Dateien. Einige Pakete benötigen es zum Erstellen.
• Findutils
Dieses Paket enthält Programme zum Suchen von Dateien in einem Dateisystem. Es wird in den Build-Skripten vieler Pakete verwendet.
• Biegen
Dieses Paket enthält ein Dienstprogramm zum Generieren von Programmen, die Muster im Text erkennen. Es handelt sich um die GNU-Version des Programms lex (lexikalischer Analysator). Es ist erforderlich, mehrere LFS-Pakete zu erstellen.
• Gawk
Dieses Paket enthält Programme zur Bearbeitung von Textdateien. Es handelt sich um die GNU-Version von awk (Aho-Weinberg-Kernighan). Es wird in den Build-Skripten vieler anderer Pakete verwendet.
• Gcc
xii
Dieses Paket ist die Gnu Compiler Collection. Es enthält die C- und C++-Compiler sowie mehrere andere, die nicht von LFS erstellt wurden.
• GDBM
Dieses Paket enthält die GNU Database Manager-Bibliothek. Es wird von einem anderen LFS-Paket verwendet, Man-DB.
• Gettext
Dieses Paket enthält Dienstprogramme und Bibliotheken zur Internationalisierung und Lokalisierung zahlreicher Pakete.
• Glibc
Dieses Paket enthält die Haupt-C-Bibliothek. Linux-Programme würden ohne sie nicht laufen.
• GMP
Dieses Paket enthält Mathematikbibliotheken, die nützliche Funktionen für die Arithmetik mit beliebiger Genauigkeit bereitstellen. Es ist erforderlich, Gcc zu erstellen.
• Gperf
Dieses Paket enthält ein Programm, das aus einem Schlüsselsatz eine perfekte Hash-Funktion generiert. Es ist für Eudev erforderlich.
• Grep
Dieses Paket enthält Programme zum Durchsuchen von Dateien. Diese Programme werden von den Build-Skripten der meisten Pakete verwendet.
• Groff
Dieses Paket enthält Programme zur Textverarbeitung und -formatierung. Eine wichtige Funktion dieser Programme ist die Formatierung von Manpages.
• GRUB
Dieses Paket ist der Grand Unified Boot Loader. Es ist einer von mehreren verfügbaren Bootloadern, aber der flexibelste.
• Gzip
Dieses Paket enthält Programme zum Komprimieren und Dekomprimieren von Dateien. Es wird benötigt, um viele Pakete in LFS und darüber hinaus zu dekomprimieren.
• Iana usw
Dieses Paket stellt Daten für Netzwerkdienste und Protokolle bereit. Es ist erforderlich, um ordnungsgemäße Netzwerkfunktionen zu ermöglichen.
• Inetutils
Dieses Paket enthält Programme für die grundlegende Netzwerkadministration.
• Intltool
Dieses Paket enthält Tools zum Extrahieren übersetzbarer Zeichenfolgen aus Quelldateien.
• IProute2
Dieses Paket enthält Programme für grundlegende und erweiterte IPv4- und IPv6-Netzwerke. Aufgrund seiner IPv6-Fähigkeiten wurde es dem anderen gängigen Netzwerk-Tools-Paket (net-tools) vorgezogen.
• Kbd
Dieses Paket enthält Tastentabellendateien, Tastatur-Dienstprogramme für Nicht-US-Tastaturen und eine Reihe von Konsolenschriftarten.
• Kmod
Dieses Paket enthält Programme, die zur Verwaltung von Linux-Kernelmodulen erforderlich sind.
• Weniger
Dieses Paket enthält einen sehr schönen Textdatei-Viewer, der beim Betrachten einer Datei das Scrollen nach oben oder unten ermöglicht. Es wird auch von Man-DB zum Anzeigen von Manpages verwendet.
• Libcap
Dieses Paket implementiert die User-Space-Schnittstellen zu den POSIX 1003.1e-Funktionen, die in Linux-Kerneln verfügbar sind.
• Verleumdung
Das elfutils-Projekt stellt Bibliotheken und Tools für ELF-Dateien und DWARF-Daten bereit. Die meisten Dienstprogramme in diesem Paket sind in anderen Paketen verfügbar, die Bibliothek wird jedoch benötigt, um den Linux-Kernel mit der Standardkonfiguration (und der effizientesten) zu erstellen.
• Libffi
Dieses Paket implementiert eine portable High-Level-Programmierschnittstelle für verschiedene Aufrufkonventionen. Einige Programme wissen zum Zeitpunkt der Kompilierung möglicherweise nicht, welche Argumente an eine Funktion übergeben werden sollen. Beispielsweise kann ein Interpreter zur Laufzeit über die Anzahl und Art der Argumente informiert werden, die zum Aufruf einer bestimmten Funktion verwendet werden. Libffi kann in solchen Programmen verwendet werden, um eine Brücke vom Interpreterprogramm zum kompilierten Code zu schlagen.
• Libpipeline
Das Libpipeline-Paket enthält eine Bibliothek zur flexiblen und bequemen Manipulation von Pipelines von Unterprozessen. Es wird vom Man-DB-Paket benötigt.
• Libtool
Dieses Paket enthält das Unterstützungsskript für die generische GNU-Bibliothek. Es vereint die Komplexität der Verwendung gemeinsam genutzter Bibliotheken in einer konsistenten, portablen Schnittstelle. Es wird von den Testsuiten in anderen LFS-Paketen benötigt.
• Linux Kernel
Dieses Paket ist das Betriebssystem. Es ist das Linux in der GNU/Linux-Umgebung.
• M4
Dieses Paket enthält einen allgemeinen Textmakroprozessor, der als Build-Tool für andere Programme nützlich ist.
• Machen
Dieses Paket enthält ein Programm zur Steuerung der Paketerstellung. Es wird von fast jedem Paket in LFS benötigt.
• Man-DB
Dieses Paket enthält Programme zum Suchen und Anzeigen von Manpages. Aufgrund der besseren Internationalisierungsfähigkeiten wurde es anstelle des man-Pakets gewählt. Es liefert das man-Programm.
• Manpages
Dieses Paket enthält den eigentlichen Inhalt der grundlegenden Linux-Manpages.
• Meson
Dieses Paket stellt ein Softwaretool zur Automatisierung der Softwareerstellung bereit. Das Hauptziel von Meson besteht darin, den Zeitaufwand zu minimieren, den Softwareentwickler für die Konfiguration ihres Build-Systems aufwenden müssen.
• MPC
Dieses Paket enthält Funktionen zur Arithmetik komplexer Zahlen. Es wird von Gcc benötigt.
• MPFR
Dieses Paket enthält Funktionen für die Arithmetik mit mehrfacher Genauigkeit. Es wird von Gcc benötigt.
•Ninja
Dieses Paket enthält ein kleines Build-System mit Fokus auf Geschwindigkeit. Es ist so konzipiert, dass seine Eingabedateien von einem übergeordneten Build-System generiert werden und Builds so schnell wie möglich ausgeführt werden.
• Nfluche
Dieses Paket enthält Bibliotheken zur terminalunabhängigen Handhabung von Zeichenbildschirmen. Es wird häufig zur Cursorsteuerung eines Menüsystems verwendet. Es wird von einer Reihe von Paketen in LFS benötigt.
• Openssl
Dieses Paket stellt Verwaltungstools und Bibliotheken im Zusammenhang mit der Kryptographie bereit. Diese sind nützlich, um anderen Paketen, einschließlich dem Linux-Kernel, kryptografische Funktionen bereitzustellen.
• Patch
Dieses Paket enthält ein Programm zum Ändern oder Erstellen von Dateien durch Anwenden von a Flicken Datei, die normalerweise vom Diff-Programm erstellt wird. Es wird vom Build-Vorgang für mehrere LFS-Pakete benötigt.
• Perl
Dieses Paket ist ein Interpreter für die Laufzeitsprache PERL. Es wird für die Installation und Testsuiten mehrerer LFS-Pakete benötigt.
• Paketkonfiguration
Dieses Paket stellt ein Programm bereit, um Metadaten über eine installierte Bibliothek oder ein installiertes Paket zurückzugeben.
• Procps-NG
Dieses Paket enthält Programme zur Überwachung von Prozessen. Diese Programme sind für die Systemverwaltung nützlich und werden auch von den LFS-Bootskripten verwendet.
• Psmisc
Dieses Paket enthält Programme zur Anzeige von Informationen über laufende Prozesse. Diese Programme sind für die Systemverwaltung nützlich.
• Python3
Dieses Paket stellt eine interpretierte Sprache bereit, deren Designphilosophie die Lesbarkeit des Codes in den Vordergrund stellt.
• Zeile lesen
Bei diesem Paket handelt es sich um eine Reihe von Bibliotheken, die Befehlszeilenbearbeitungs- und Verlaufsfunktionen bieten. Es wird von Bash verwendet.
• Sed
Dieses Paket ermöglicht die Bearbeitung von Text, ohne ihn in einem Texteditor öffnen zu müssen. Es wird auch von den Konfigurationsskripten der meisten LFS-Pakete benötigt.
• Schatten
Dieses Paket enthält Programme zum sicheren Umgang mit Passwörtern.
Linux von Grund auf – Version 9.0
• Sysklogd
Dieses Paket enthält Programme zum Protokollieren von Systemmeldungen, wie sie beispielsweise vom Kernel oder von Daemon-Prozessen ausgegeben werden, wenn ungewöhnliche Ereignisse auftreten.
• Sysvinit
Dieses Paket stellt das Init-Programm bereit, das allen anderen Prozessen auf dem Linux-System übergeordnet ist.
• Teer
Dieses Paket bietet Archivierungs- und Extraktionsfunktionen für praktisch alle in LFS verwendeten Pakete.
• Tcl
Dieses Paket enthält die Tool Command Language, die in vielen Testsuiten in LFS-Paketen verwendet wird. Es wird nur in der temporären Toolchain installiert.
• Texinfo
Dieses Paket enthält Programme zum Lesen, Schreiben und Konvertieren von Infoseiten. Es wird in den Installationsverfahren vieler LFS-Pakete verwendet.
• Util-Linux
Dieses Paket enthält verschiedene Hilfsprogramme. Darunter sind Dienstprogramme zum Umgang mit Dateisystemen, Konsolen, Partitionen und Nachrichten.
• Vim
Dieses Paket enthält einen Editor. Die Wahl fiel auf seine Kompatibilität mit dem klassischen vi-Editor und seine zahlreichen leistungsstarken Funktionen. Ein Editor ist für viele Benutzer eine sehr persönliche Entscheidung und kann bei Bedarf durch einen anderen Editor ersetzt werden.
• XML::Parser
Dieses Paket ist ein Perl-Modul, das eine Schnittstelle zu Expat bietet.
• XZ-Dienstprogramme
Dieses Paket enthält Programme zum Komprimieren und Dekomprimieren von Dateien. Es bietet die höchste allgemein verfügbare Komprimierung und eignet sich zum Dekomprimieren von Paketen im XZ- oder LZMA-Format.
• Zlib
Dieses Paket enthält Komprimierungs- und Dekomprimierungsroutinen, die von einigen Programmen verwendet werden.