Home

Linux From Scratch - Open Source Software on erdfunkstelle.de

image

Contents

1.
2. patch Npl i shadow 4 0 18 1 useradd_fix 2 patch Bereiten Sie Shadow zum Kompilieren vor configure libdir lib sysconfdir etc enable shared without selinux Die Bedeutung der configure Parameter without selinux Die Unterst tzung f r selinux ist in der Voreinstellung aktiviert jedoch ist selinux nicht Teil eines Standard LFS Systems Das configure Skript w rde ohne diesen Parameter mit einem Fehler abbrechen Verhindern Sie die Installation des Programmes groups und der zugeh rigen Hilfeseite da Coreutils eine bessere Version enth lt sed i s groups EXEEXT src Makefile find man name Makefile exec sed i s groups 1 Verhindern Sie die Installation der chinesischen und koreanischen Hilfeseiten weil Man DB sie nicht korrekt anzeigen kann sed i e s ko e s zh CN zh_TW man Makefile Shadow enth lt weitere Hilfeseiten im UTF 8 Format Man DB kann diese in der empfohlenen Kodierung anzeigen wenn Sie das Skript convert mans verwenden welches Sie erst k rzlich installiert haben for i in de es fi fr id it pt_BR do convert mans UTF 8 ISO 8859 1 man i done for i in cs hu pl do convert mans UTF 8 ISO 8859 2 man i done convert mans UTF 8 EUC JP man ja 166 Linux From Scratch Version 6 3 convert mans UTF 8 KOI8 R man ru convert mans UTF 8 ISO 8859 9 man tr Sie sollten die voreingestellte Metho
3. In Kapitel 6 wird das endg ltige LFS System erstellt Wir benutzen das Programm chroot chroot change root wechseln der Basis um eine Shell in einer virtuellen Umgebung zu starten In der neuen Shell ist der Basisordner auf die LFS Partition eingestellt Chroot en ist so hnlich wie Neustarten und Einh ngen der 2 Linux From Scratch Version 6 3 LFS Partition als root Dateisystem Das Erstellen eines bootf higen Systems w rde allerdings zus tzliche Arbeit erfordern und ist an dieser Stelle absolut unn tig Au erdem hat chroot en den Vorteil dass Sie das Host Betriebssystem weiter nebenher verwenden k nnen w hrend Sie in der Shell das LFS installieren W hrend Sie also warten bis alle Pakete kompiliert sind k nnen Sie einfach auf ein anderes VT Virtuelles Terminal oder auf den X Desktop wechseln und dort wie gewohnt weiterarbeiten Zum Abschluss der Installation werden in Kapitel 7 die Bootskripte eingerichtet der Kernel sowie der Bootloader werden in Kapitel 8 behandelt Wenn Sie das Buch zuende gelesen haben finden Sie in Kapitel 9 Links auf weiterf hrende Hilfeseiten Abschlie end ist der Computer bereit f r einen Neustart mit dem neuen LFS System Nun kennen Sie die allgemeine Vorgehensweise in stark zusammengefasster Form Die jeweiligen Kapitel beinhalten nat rlich detailliertere Informationen Machen Sie sich keine Gedanken falls hier noch etwas unklar sein sollte alle offene Fragen werden sich im weiteren Ve
4. Nat rlich m ssen die Werte der Variablen in jeder Datei angepasst werden um mit Ihrer tats chlichen Systemkonfiguration bereinzustimmen Wenn die ONBOOT Variable auf yes gesetzt ist wird das network Skript die Netzwerkkarte beim booten starten Wenn sie auf irgendeinen anderen Wert gesetzt wird ignoriert das Skript dieses Ger t und startet es dementsprechend auch nicht Der Eintrag SERVICE legt fest wie die IP Adresse vergeben wird Die LFS Bootskripte sind in Bezug auf IP Adressen Zuordnung modular aufgebaut Durch das Erstellen weiterer Dateien in etc sysconfig network devices services k nnen Sie weitere Zuweisungsmethoden definieren Das k nnten Sie z B tun um eine IP Adresse ber DHCP zu beziehen dies wird im BLFS Buch beschrieben Die Variable GATEWAY sollte die IP Adresse Ihres Standard Gateways enthalten Wenn Sie kein Standard Gateway haben setzen Sie ein Kommentarzeichen vor die Zeile PREFIX muss die Anzahl der verwendeten Bits in der Netzwerkmaske enthalten Jedes Oktett hat acht Bit Wenn die Netzwerkmaske 255 255 255 0 lautet dann werden die ersten drei Oktette benutzt 3x8 24 Bit um das Netzwerk zu bezeichnen 255 255 255 240 benutzt die ersten 28 Bit Prefixe mit mehr als 24 Bit werden h ufig von DSL und Kabelbasierten Internet Dienstleistern ISP verwendet In diesem Beispiel PREFIX 24 ist die Netzwerkmaske 255 255 255 0 Passen Sie sie Ihrem Subnetz entsprechend an 7 13 3 Erst
5. 6 12 GCC 4 1 2 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte 22 SBU inklusive Testsuite Kingef herbeit tigter 681 MB inklusive Testsuite Festplattenplatz 6 12 1 Installation von GCC Wenden Sie nun einen Sed Befehl an um die Installation von libiberty a zu verhindern Wir m chten die von Binutils bereitgestellte Version von libiberty a verwenden sed i s install_to_ INSTALL_DEST libiberty Makefile in Im Bootstrap Durchlauf aus Abschnitt 5 4 GCC 4 1 2 Durchlauf 1 wurde zum Kompilieren von GCC der Compiler Parameter fomit frame pointer verwendet Der Nicht Bootstrap Durchlauf verwendet diesen Parameter jedoch standardm ig nicht Um die Kompilier Durchl ufe von GCC konsistent zu halten sollten Sie den Parameter f r diesen Durchlauf mit dem folgenden sed Kommando einschalten sed i s XCFLAGS amp fomit frame pointer gcc Makefile in Das Skript fixincludes versucht manchmal die bereits installierten Header Dateien des Systems zu reparieren Es ist uns allerdings bekannt dass weder die Header von GCC 4 1 2 noch die von Glibc 2 5 1 eine Reparatur ben tigen Daher verhindern Sie den Start des fixincludes Skriptes mit diesem Kommando sed i s fixinc sh c true gcc Makefile in GCC enth lt ein Skript namens gecbug welches zum Kompilierzeitpunkt feststellt ob mktemp vorhanden ist Das Ergeb
6. Der Kernel selbst ist ebenfalls in der Lage Module f r Netzwerkprotokolle Dateisystem und NLS nach Bedarf zu laden 7 4 2 5 Der Umgang mit dynamischen bzw Hotplug Ger ten Wenn Sie ein Ger t wie beispielsweise einen USB MP3 Player so erkennt der Kernel ein neu angeschlossenes Ger t und erzeugt einen uevent Um dieses neue uevent k mmert sich dann udevd so wie oben beschrieben 7 4 3 Probleme mit dem Laden von Kernelmodulen und dem Erzeugen von Ger tedateien Es gibt ein paar m gliche Probleme beim automatisierten Erzeugen von Ger tedateien 7 4 3 1 Das n tige Kernelmodul wird nicht automatisch geladen Udev l dt nur dann ein Modul wenn ein Bus Spezifischer Alias vorhanden ist und der Treiber die n tigen Aliase korrekt nach sysfs exportiert Wenn dies nicht der Fall ist muss man sich auf andere Weise um das Laden des Moduls k mmern Mit Linux 2 6 22 5 kann Udev korrekt programmierte Treiber f r INPUT IDE PCI USB SCSI SERIO und FireWire Ger te laden Mit dem Kommando modinfo und dem Modulnamen als Argument k nnen Sie herausfinden ob der von Ihnen 194 Linux From Scratch Version 6 3 ben tigte Treiber von Udev unterst tzt wird Versuchen Sie nun den Ger te Ordner unter sys bus zu finden und pr fen Sie die dortige Datei modalias Wenn die Datei modalias unter sysfs vorhanden ist und der Treiber das Ger t unterst tzt aber der Alias fehlt so ist dies ein Fehler im Treiber Dann m ssen Sie den
7. Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Patch Sed und Tcl Keine Keine Bash Binutils Coreutils Gawk GCC Gettext Glibc Grep Gzip Make Sed und Texinfo Diffutils Util Linux Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed und Zlib Enth lt keine Testsuite Keine Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed und Texinfo 228 Vorauss f Testsuite Installation vor Flex Vorauss f Installation Vorauss f Testsuite Installation vor Gawk Vorauss f Installation Vorauss f Testsuite Installation vor Gcc Vorauss f Installation Vorauss f Testsuite Installation vor Gettext Vorauss f Installation Vorauss f Testsuite Installation vor Glibc Vorauss f Installation Vorauss f Testsuite Installation vor Grep Vorauss f Installation Vorauss f Testsuite Installation vor Groff Vorauss f Installation Vorauss f Testsuite Installation vor GRUB Linux From Scratch Version 6 3 DejaGNU Diffutils und Expect Keine Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make Patch Sed und Texinfo Bison und Gawk IPRoute2 Kbd und Man DB Bash Binutils Coreutils GCC Gettext Glibc Grep Make Patch Sed und Texinfo Diffutils Keine Bash Binutils Coreutils Diffutils Findutils Gawk GCC Gettext
8. Linux From Scratch Version 6 3 ben tigt Stattdessen wartet udevd an einem Netlink Socket auf uevents des Kernels Als n chstes kopiert das Bootskript statische Ger tedateien von 1ib udev devices nach dev Dies ist wichtig weil einige Ger tedateien Ordner und symbolische Links beim Bootvorgang ben tigt werden bevor die dynamische Ger teerstellung von Udev betriebsbereit ist Durch Einrichten von statischen Ger tedateien in 1ib udev devices kann man auch Ger tedateien unterst tzen die normalerweise nicht von Udev automatisch angelegt werden w rden Als n chstes startet das Bootskript den Udev Daemon udevd der von nun an auf uevents wartet und reagiert Schlussendlich zwingt das Bootskript den Kernel die uevents f r Ger te zu wiederholen die sich vor dem Start von udevd registriert haben 7 4 2 3 Erzeugen von Ger tedateien Udev verl sst sich auf die Informationen von sysfs in sys und liest daraus die Haupt und Unterkennung f r Ger tedateien aus Beispielsweise enth lt sys class tty vcs dev den Text 7 0 Diesen Wert interpretiert udevd und erzeugt eine Ger tedatei mit der Hauptkennung 7 und der Unterkennung 0 Die Namen und Berechtigungen f r die in dev erzeugten Ger tedateien ergeben sich aus den definierten Regeln in etc udev rules d Die dort abgelegten Regeln sind hnlich nummeriert wie die Dateien der LFS Bootskripte Falls udevd keine Regel f r ein erzeugtes Ger t auffinden kann ist die
9. Stellt Udev die EDD ID f r ein BIOS Laufwerk zur Verf gung L dt Firmware in angeschlossene Ger te Stellt den k rzesten einmaligen Pfad zu einer Hardware zur Verf gung Stellt Udev einen einmaligen SCSI Bezeichner zur Verf gung Dieser basiert auf dem R ckgabewert einer SCSI INQUIRY Anfrage an das angegebene Ger t Stellt einige Parameter zum Ausf hren des udevd Daemon ein Dazu geh rt z B die Protokollierstufe Dieser Daemon wacht ber uevents an einem netlink Socket erzeugt Ger te Dateien und f hrt bestimmte externe Programme als Reaktion auf diese uevents aus Erm glicht Anwendern die Udev Datenbank nach Informationen ber die zur Zeit verf gbare Ger te im System abzufragen Es stellt au erdem eine M glichkeit dar jedes Ger t im sysfs Dateisystem abzufragen um beim Erzeugen von udev Regeln behilflich zu sein Zeigt die vom Kernel erhaltenen Ereignisse und die von Udev erzeugte Reaktion darauf an nachdem eine Regel abgearbeitet wurde 178 udevsettle udevtest udevtrigger usb_id vol_id write_cd_rules write_net_rules Hey Linux From Scratch Version 6 3 berwacht die Warteschlange der Udev Ereignisse und beendet sich wenn alle wartenden Ereignisse abgearbeitet wurden Simuliert ein Udev Ereignis f r das angegebene Ger t und gibt den Namen der Ger tedatei oder der Netzwerkschnittstelle aus die ein echter udev Aufruf f r dieses Ger t erzeugt h tte Sorgt f r eine Wiederho
10. Upgrade to M4 1 4 7 matthew Upgrade to Linux 2 6 18 matthew Upgrade to Glibc 2 5 matthew Upgrade to Coreutils 6 3 23 09 2006 i bryan Fixed typo in udev 100 instructions extra should be extras Thanks to Balazs Parkanyi for the heads up 22 09 2006 bryan Rewrote the notes in sections 7 12 1 and 7 13 1 to explicitly mention that the redirections rely on not quoting EOF Fixes 1883 20 09 2006 i bryan Updated udev config for udev 098 and above i dnicholson Changed note about using newer Linux than in the book to reflect current versions 18 09 2006 dnicholson Added symlinks to the temporary libstdc in the Essential Symlinks section These are needed by Glibc 2 4 17 09 2006 dnicholson Updated to Glibc 2 4 Added the iconv fix patch and removed the decprecated linux types and inotify syscall patches Thanks to Matthew Burgess and Bryan Kadzban for textual suggestions 09 09 2006 matthew Fix non POSIX syntax in gzexe s calls to tail Fixes 1876 Thanks to Robert Connolly for the report matthew Upgrade to linux 2 6 17 13 matthew Upgrade to m4 1 4 6 06 09 2006 i bryan Change the sed applied to sysvinit to hopefully be more clear explicitly mention etc inittab 16 Linux From Scratch Version 6 3 31 08 2006 matthew Remove spurious curly braces from the example etc resolv conf Fixes 1870 24 08 2006 matthew Rem
11. cp v src msgfmt tools bin Details zu diesem Paket finden Sie in Abschnitt 6 36 2 Inhalt von Gettext 64 Linux From Scratch Version 6 3 5 21 Grep 2 5 1a Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Gesch tzte 0 1 SBU Kingef herbeit tigter 4 8 MB Festplattenplatz 5 21 1 Installation von Grep Bereiten Sie Grep zum Kompilieren vor configure prefix tools disable perl regexp Die Bedeutung des configure Parameters disable perl regexp Dies stellt sicher dass grep nicht gegen die PCRE Bibliothek verlinkt wird Diese Bibliothek k nnte auf dem Host System installiert sein ist aber sp ter in der chroot Umgebung nicht mehr verf gbar Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 37 2 Inhalt von Gren 65 Linux From Scratch Version 6 3 5 22 Gzip 1 3 12 Das Paket Gzip enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 2 2 MB Festplattenplatz 5 22 1 Installation von Gzip Bereiten Sie Gzip zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install
12. tools lib per15 5 8 8 Details zu diesem Paket finden Sie in Abschnitt 6 23 2 Inhalt von Perl 69 5 26 Sed 4 1 5 Das Paket Sed enth lt einen Stream Editor Gesch tzte 0 1 SBU Kingef herbeit tigter 6 1 MB Festplattenplatz 5 26 1 Installation von Sed Bereiten Sie Sed zum Kompilieren vor Linux From Scratch Version 6 3 configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 14 2 Inhalt von Sed 70 5 27 Tar 1 18 Das Paket Tar enth lt ein Archivprogramm Gesch tzte 0 3 SBU Kingef herbeit tigter 19 9 MB Festplattenplatz 5 27 1 Installation von Tar Bereiten Sie Tar zum Kompilieren vor Linux From Scratch Version 6 3 configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 53 2 Inhalt von Tar 71 Linux From Scratch Version 6 3 5 28 Texinfo 4 9 Das Paket Texinfo enth lt Programme zum Lesen Schreiben und Konvertieren von Info Seiten Systemdokumentation Gesch tzte 0 2 SBU Kingef herbeit tigter 16 3 MB Festplattenplatz 5 28 1 Installation von Texinfo
13. Bereiten Sie Texinfo zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 54 2 Inhalt von Texinfo 12 Linux From Scratch Version 6 3 5 29 Util linux 2 12r Das Paket Util linux enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Meldungen Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 8 9 MB Festplattenplatz 5 29 1 Installation von Util linux Util linux verwendet die gerade frisch installierten Header und Bibliotheken im Ordner tools nicht automatisch Korrigieren Sie dieses Problem indem Sie das configure Skript anpassen sed i s usr include tools include g configure Bereiten Sie Util linux zum Kompilieren vor configure Kompilieren Sie einige unterst tzende Routinen make C lib Aus diesem Paket m ssen nur wenige Programme kompiliert werden make C mount mount umount make C text utils more Dieses Paket enth lt keine Testsuite Nun kopieren Sie diese Programme in unseren tempor ren Ordner tools cp v mount u mount text utils more tools bin Details zu diesem Paket finden Sie in Abschnitt 6 56 3 Inhalt von Uti
14. GCC 4 1 2 Durchlauf 1 und reparieren Sie den symbolischen Link Als zweites stellen Sie bitte sicher dass Ihre Umgebungsvariable PATH richtig gesetzt ist Sie k nnen die Variable mit dem Kommando echo PATH anzeigen lassen pr fen Sie dass tools bin am Anfang der Liste steht Wenn die PATH Variable falsch gesetzt ist sind Sie m glicherweise nicht als lfs eingeloggt oder in Abschnitt 4 4 Vorbereiten der Arbeitsumgebung ist etwas schiefgelaufen Vielleicht hat auch beim Anpassen der specs Datei etwas nicht richtig funktioniert In diesem Fall wiederholen Sie die Anpassung Wenn Sie mit dem Ergebnis zufrieden sind r umen Sie auf rm v dummy c a out Details zu diesem Paket finden Sie in Abschnitt 6 12 2 Inhalt von GCC 55 Linux From Scratch Version 6 3 5 12 Binutils 2 17 Durchlauf 2 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien Gesch tzte 1 SBU Kingef herbeit tigter 177 MB Festplattenplatz 5 12 1 Neuinstallation von Binutils Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir v binutils build cd binutils build Bereiten Sie Binutils zum Kompilieren vor binutils 2 17 configure prefix tools disable nls with lib path tools lib Die Bedeutung der neuen Parameter zu configure with lib path tools lib
15. Sysklogd Vorauss f Installation Vorauss f Testsuite Installation vor Sysvinit Vorauss f Installation Vorauss f Testsuite Installation vor Linux From Scratch Version 6 3 Bash Berkeley DB Binutils Coreutils Gawk GCC Glibc Grep Groff Make und Sed Iana Etc und Procps Autoconf Bash Binutils Coreutils GCC Glibc Make und Ncurses Enth lt keine Testsuite Keine Bash Coreutils GCC Gettext Glibc Grep Make Ncurses und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed und Texinfo Enth lt keine Testsuite Bash Bash Binutils Coreutils GCC Gettext Glibc Grep Make Sed und Texinfo Diffutils und Gawk E2fsprogs File Libtool und Shadow Bash Binutils Coreutils Diffutils Findutils Gawk GCC Gettext Glibc Grep Make und Sed Enth lt keine Testsuite Keine Binutils Coreutils GCC Glibc Make und Patch Enth lt keine Testsuite Keine Binutils Coreutils GCC Glibc Make und Sed Enth lt keine Testsuite Keine 232 Tar Vorauss f Installation Vorauss f Testsuite Installation vor Tel Vorauss f Installation Vorauss f Testsuite Installation vor Texinfo Vorauss f Installation Vorauss f Testsuite Installation vor Udev Vorauss f Installation Vorauss f Testsuite Installation vor Util Linux Vorauss f Installation Vorauss f Te
16. bzdiff bzegrep Link auf bzgrep bzfgrep Link auf bzgrep bzgrep bzip2 bzip2recover bzless Link auf bzmore und bzmore Installierte Bibliotheken libbz2 a so Kurze Beschreibungen bunzip2 Dekomprimiert bzip2 Dateien 130 bzcat bzcmp bzdiff bzgrep bzegrep bzfgrep bzip2 bzip2recover bzless bzmore libbz2 Linux From Scratch Version 6 3 Dekomprimiert zur Standardausgabe F hrt cmp auf bzip2 Dateien aus F hrt diff auf bzip2 Dateien aus F hrt grep auf bzip2 Dateien aus F hrt egrep auf bzip2 Dateien aus F hrt fgrep auf bzip2 Dateien aus Komprimiert Dateien mit dem blocksortierenden Burrows Wheeler Textkompressionsalgorythmus und Huffman Kodierung Die Kompressionsrate ist merkbar besser als die von herk mmlichen Kompressoren mit LZ77 LZ78 wie zum Beispiel gzip Versucht Daten aus besch digten bzip2 Dateien zu reparieren F hrt less auf bzip2 Dateien aus F hrt more auf bzip2 Dateien aus Die Bibliothek die verlustlose blocksortierende Datenkompression mit Hilfe des Burrows Wheeler Algorythmus implementiert 131 Linux From Scratch Version 6 3 6 30 Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Gesch tzte 0 1 SBU Kingef herbeit tigter 6 3 MB Festplattenplatz 6 30 1 Installation von Diffutils Nach POSIX muss diff mit wei en Leerzeichen Locale spezifisch umgehen Der folgende Patch behebt die Inkompatibilit t zu
17. mke2fs mkfs ext2 mkfs ext3 mklost found resize2fs tune2fs und uuidgen libblkid a so libcom_err a so libe2p a so libext2fs a so libss a so und libuuid a so Kurze Beschreibungen badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label filefrag findfs fsck fsck ext2 fsck ext3 logsave Isattr mk_cmds mke2fs mkfs ext2 mkfs ext3 mklost found resize2fs tune2fs uuidgen Durchsucht ein Ger t blicherweise eine Festplatte nach defekten Bl cken Ein Kommandozeilenprogramm zum Auffinden und Anzeigen der Eigenschaften eines Blockger tes ndert Attribute eines ext2 Dateisystems Auch ext3 wird unterst tzt die Journaling Version von ext 2 Ein Fehlertabellen Compiler Er konvertiert eine Tabelle mit Fehlercode Namen und Meldungen zu einer C Quelldatei die dann mit der com_err Bibliothek verwendet werden kann Ein Dateisystemdebugger Er kann benutzt werden um den Status eines ext 2 Dateisystems zu untersuchen und zu ver ndern Gibt Informationen zum Superblock und zu Blockgruppen des Dateisystems auf einem bestimmten Ger t aus Wird zum Pr fen und optional zum Reparieren von ext2 und ext 3 Dateisystemen verwendet Wird zum Speichern kritischer ext 2 Dateisystemdaten in eine Datei verwendet Zeigt oder ver ndert das Label eines ext 2 Dateisystems auf dem angegebenen Ger t Berichtet ber den Fragmentierungsstatus einer Datei Findet ein Datei
18. remove destination usr share zoneinfo lt xxx gt etc localtime Anstelle von lt xxx gt m ssen Sie nat rlich den Namen der Zeitzone einsetzen der Ihnen von tzselect ausgegeben wurde z B Europe Berlin Die Bedeutung der Option zu cp remove destination Dadurch wird das Entfernen des bereits vorhandenen symbolischen Links erzwungen Sie ersetzen den Link durch eine Kopie der echten Datei weil wir den Fall abdecken wollen dass usr auf einer separaten Partition liegen k nnte Das w rde z B dann problematisch werden wenn der Single User Modus gebootet wird 6 9 3 Einrichten des dynamischen Laders Per Voreinstellung sucht der dynamische Lader l1ib 1ld linux so 2 in lib und usr 1lib nach den dynamischen Bibliotheken die zur Laufzeit von ausf hrbaren Programmen ben tigt werden Wenn die ben tigten Bibliotheken allerdings au erhalb von 1ib und usr 1ib liegen m ssen Sie diese Ordner in etc 1ld so conf eintragen damit der dynamische Lader sie finden kann Zwei Ordner sind daf r bekannt weitere Bibliotheken zu enthalten usr local lib und opt 1ib Diese Ordner f gen Sie gleich mit in den Suchpfad ein Erstellen Sie die neue Datei etc 1d so conf mit dem folgenden Kommando cat gt etc ld so conf lt lt EOF i Begin 7 Cte pid s0 Cont fuses tocal Lilo opt tig Bez ete ld ae cont EOF 6 9 4 Inhalt von Glibc Installierte Programme catchsegv gencat getconf
19. www gnu org software diffutils Download http ftp gnu org gnu diffutils diffutils 2 8 1 tar gz MD5S Priifsumme 71 f9c5ae19b660608f6c7f162da86a428 e E2fsprogs 1 40 2 3 873 kB Webseite http e2fsprogs sourceforge net Download http prdownloads sourceforge net e2fsprogs e2fsprogs 1 40 2 tar gz MD5S Priifsumme 130ce559a0f311ea2bc04a47b4982d0a e Expect 5 43 0 514 kB Webseite http expect nist gov Download http expect nist gov src expect 5 43 0 tar gZ MD5S Priifsumme 43e1dc0e0bc9492cf2ela6f59f276bc3 e File 4 21 538 kB Download ftp ftp gw com mirrors pub unix file file 4 21 tar gz MD5S Priifsumme 9e3503116f4269a1be70220ee2234b0e Anmerkung Wenn Sie diese Anmerkung lesen ist File 4 21 m glicherweise nicht mehr in dieser Version verf gbar Der Hauptdownloadserver ist daf r bekannt alte Versionen zu l schen sobald neuere verf gbar sind Bitte nutzen Sie eine der alternativen Download Adressen wie z B http www linuxfromscratch org lfs download html ftp e Findutils 4 2 31 1 296 kB Webseite http www gnu org software findutils 26 Linux From Scratch Version 6 3 Download http ftp gnu org gnu findutils findutils 4 2 31 tar gz MD5S Priifsumme a0e3l1a0f18a49709bf5a449867c8049a e Flex 2 5 33 680 kB Webseite http flex sourceforge net Download http prdownloads sourceforge net flex flex 2 5 33 tar bz2 MD5S Priifsumme 343374a00638d9e39d1158b671af37150 e G
20. 105 109 whatis 156 159 whereis 180 182 who 105 109 whoami 105 109 write 180 182 write_cd_rules 177 179 write_net_rules 177 179 xargs 134 135 xgettext 140 141 xsubpp 119 120 xtrace 85 89 xxd 183 186 yacc 112 112 yes 105 109 ylwrap 126 127 zcat 146 146 zcmp 146 146 zdiff 146 146 zdump 85 89 zegrep 146 146 zfgrep 146 146 zforce 146 146 zgrep 146 146 zic 85 89 zless 146 146 zmore 146 146 znew 146 147 zsoelim 156 159 Linux From Scratch Version 6 3 Bibliotheken ld so 85 89 libanl 85 89 libasprintf 140 141 libbfd 93 94 libblkid 102 104 libBrokenLocale 85 89 libbsd compat 85 90 libbz2 130 131 libe 85 90 libcom_err 102 104 liberypt 85 90 85 90 libcurses 113 115 libdb 99 100 libdb_cxx 99 100 libdl 85 90 libe2p 102 104 libexpect 5 43 50 51 libext2fs 102 104 libfl a 136 136 libform 113 115 libg 85 90 libgec 95 98 libgettextlib 140 141 libgettextpo 140 141 libgettextsre 140 141 libhistory 121 122 libiberty 93 94 libieee 85 90 libltdl 118 118 libm 85 90 libmagic 133 133 libmcheck 85 90 libmemusage 85 90 libmenu 113 115 libmudflap 95 98 libncurses 113 115 libnsl 85 90 libnss 85 90 libopcodes 93 94 libpanel 113 115 libpcprofile 85 90 libproc 116 117 libpthread 85 90 libreadline 121 122 libresolv 85 90 librpesvc 85 90 librt 85 90 libSegFault 85
21. 182 readelf 93 94 readlink 105 108 readprofile 180 182 reboot 172 173 recode sr latin 140 141 ref 183 185 refer 143 145 rename 180 182 renice 180 182 reset 113 114 resize2fs 102 103 resizecons 152 153 rev 180 182 rlogin 148 149 rm 105 108 rmdir 105 108 rmmod 161 162 rmt 174 174 rootflags 180 182 routef 150 151 routel 150 151 rpcgen 85 89 rpcinfo 85 89 rsh 148 149 rtacct 150 151 rtmon 150 151 rtpr 150 151 rtstat 150 151 runlevel 172 173 runtest 52 52 rview 183 185 rvim 183 185 s2p 119 120 script 180 182 scsi_id 177 178 sdiff 132 132 sed 101 101 seq 105 108 setfdprm 180 182 setfont 152 153 setkeycodes 152 153 setleds 152 153 setmetamode 152 153 setsid 180 182 setterm 180 182 sfdisk 180 182 sg 166 169 sh 128 129 shalsum 105 108 sha224sum 105 108 sha256sum 105 108 sha384sum 105 108 sha512sum 105 108 showconsolefont 152 153 showkey 152 153 shred 105 108 shtags pl 183 185 shuf 105 108 shutdown 172 173 size 93 94 skill 116 116 slabtop 116 116 sleep 105 108 sln 85 89 snice 116 116 soelim 143 145 sort 105 108 splain 119 120 split 105 108 sprof 85 89 ss 150 151 stat 105 108 strings 93 94 strip 93 94 stty 105 108 su 166 169 sulogin 172 173 sum 105 108 swapoff 180 182 swapon 180 182 symlink tree 126 127 sync 105 109
22. 5 25 Perl 5 8 8 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Gesch tzte 0 7 SBU Kingef herbeit tigter 84 MB Festplattenplatz 5 25 1 Installation von Perl Zuerst m ssen Sie mit dem folgenden Patch ein paar festeingestellte Pfade zur C Bibliothek anpassen patch Npl i perl 5 8 8 l1ibc 2 patch Bereiten Sie Perl nun zum Kompilieren vor passen Sie auf dass Sie Data Dumper Fentl IO POSIX richtig schreiben das sind alles Buchstaben configure gnu prefix tools Dstatic_ext Data Dumper Fentl IO POSIX Die Bedeutung der configure Parameter Dstatic_ext Data Dumper Fentl IO POSIX Damit wird Perl angewiesen die notwendigsten statischen Erweiterungen zu installieren die im n chsten Kapitel f r die Coreutils und die Glibc ben tigt werden Aus diesem Paket m ssen nur wenige Programme kompiliert werden make perl utilities Obwohl Perl eine Testsuite enth lt sollte sie zum jetzigen Zeitpunkt noch nicht ausgef hrt werden Es wurden nur Teile von Perl installiert und das Ausf hren von make test w rde bewirken dass nun der Rest von Perl kompiliert werden w rden Das ist zu diesem Zeitpunkt v llig unn tig die Testsuite kann im n chsten Kapitel ausgef hrt werden Installieren Sie diese Werkzeuge und ihre Bibliotheken an die richtige Stelle cp v perl pod pod2man tools bin mkdir pv tools lib per15 5 8 8 cp Rv lib
23. Details zu diesem Paket finden Sie in Abschnitt 6 39 2 Inhalt von Gzip 66 Linux From Scratch Version 6 3 5 23 Make 3 81 Das Paket Make enth lt Werkzeuge zum Kompilieren von Software Gesch tzte 0 1 SBU Kingef herbeit tigter 9 6 MB Festplattenplatz 5 23 1 Installation von Make Bereiten Sie Make zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 44 2 Inhalt von Make 67 Linux From Scratch Version 6 3 5 24 Patch 2 5 4 Das Paket Patch enth lt ein Programm zum Erzeugen oder Modifizieren von Dateien indem eine sogenannte Patch Datei angewendet wird Einen Patch erzeugt man blicherweise mit diff und er beschreibt in maschinenlesbarer Form die Unterschiede zwischen zwei Versionen einer Datei Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 1 6 MB Festplattenplatz 5 24 1 Installation von Patch Bereiten Sie Patch zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 48 2 Inhalt von Patch 68 Linux From Scratch Version 6 3
24. Npl i util linux 2 12r cramfs 1 patch patch Npl i util linux 2 12r l1seek 1 patch Bereiten Sie Util linux zum Kompilieren vor configure Kompilieren Sie das Paket make HAVE_KILL yes HAVE_SLN yes Die Bedeutung der make Parameter HAVE_KILL yes Verhindert dass das Programm kill bereits durch Procps installiert erneut kompiliert und installiert wird HAVE_SLN yes Verhindert dass das Programm sln eine statisch gelinkte Version von In bereits durch Glibc installiert erneut kompiliert und installiert wird Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make HAVE_KILL yes HAVE_SLN yes install 6 56 3 Inhalt von Util linux Installierte Programme agetty arch blockdev cal cfdisk chkdupexe col colcrt colrm column ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk flock fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize line logger look losetup mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei pg pivot_root ramsize Link auf rdev raw rdev readprofile 180 Linux From Scratch Version 6 3 rename renice rev rootflags Link auf rdev script setfdprm setsid setterm sfdisk swapoff Link auf swapon swapon tailf tunelp ul umount vidmode Link auf rdev whereis und write Kurze Beschreibungen agetty arch blockdev cal cfdisk chkdupexe col colcrt colrm colum
25. au linuxfromscratch org Fruhere Projektmitglieder 224 Linux From Scratch Version 6 3 Christine Barczak lt theladyskye linuxfromscratch org gt LFS Buchautorin Archaic lt archaic linuxfromscratch org gt LFS Buchautor HLFS Projektbetreuer BLFS Buchautor Betreuer des Projekts Hints und Patches Nathan Coulson lt nathan linuxfromscratch org gt Betreuer der LFS Bootskripte Timothy Bauscher Robert Briggs Ian Chilton Jeroen Coumans lt jeroen linuxfromscratch org gt Website Entwickler Betreuer der FAQ Alex Groenewoud Technischer Autor f r LFS Marc Heerdink Mark Hymers Seth W Klein Betreuer der FAQ Nicholas Leippe lt nicholas linuxfromscratch org gt Wiki Betreuer Anderson Lizardo lt lizardo linuxfromscratch org gt Betreuer der Website Skripte Simon Perreault Scot Mc Pherson lt scot linuxfromscratch org gt LFS NNTP Gateway Betreuer Greg Schafer lt gschafer zip com au gt Technischer Autor fiir LFS Jesse Tie Ten Quee Technischer Autor fiir LFS James Robertson lt jwrober linuxfromscratch org gt Bugzilla Betreuer Tushar Teredesai lt tushar linuxfromscratch org gt BLFS Buchautor Betreuer des Hints und Patches Projekts Jeremy Utley lt jeremy linuxfromscratch org gt LFS Buchautor Bugzilla Betreuer Betreuer der LFS Bootskripte Zack Winkles lt zwinkles gmail com gt LFS Buchautor Ein besonderer Dank gilt all unseren Spendern
26. dann ist die Hardware Uhr auf lokale Zeit eingestellt Wenn die Zeit der Hardware Uhr abweicht ist sie wahrscheinlich auf GMT eingestellt Sie k nnen das berpr fen indem Sie die entsprechende anzahl Stunden von der Ausgabe von hwelock abziehen bzw addieren Wenn Sie zum Beispiel in der Zeitzone MST leben auch bekannt als GMT 0700 dann addieren Sie sieben Stunden zu der Uhrzeit auf Ihrer Armbanduhr hinzu Falls es bei Ihnen Sommerzeit gibt ziehen Sie in den Sommermonaten wieder eine Stunde ab ndern Sie den Wert von UTC zu 0 Null wenn Ihre Hardware Uhr auf lokale Zeit eingestellt ist Legen Sie die neue Datei etc sysconfig clock mit dem folgenden Kommando an cat gt etc sysconfig clock lt lt EOF Begin etc sysconfig clock 196 Linux From Scratch Version 6 3 UTC 1 End etc sysconfig clock EOF Vielleicht m chten Sie sich nun die sehr gute Anleitung unter http www linuxfromscratch org hints downloads files time txt ansehen Hier wird erkl rt wie man unter LFS mit der Systemzeit Zeitzonen UTC und der Variable TZ umgeht 7 6 Einrichten der Linux Konsole Dieser Abschnitt behandelt die Bootskripts console und consolelog mit denen die Tastaturbelegung die Konsoleschriftart und die Kernel Protokollstufe f r die Konsole eingerichtet werden Falls Sie nur ASCH Zeichen verwenden das Copyright Symbol Britische Pfund oder das Euro Zeichen sind Beispiele f r nicht ASCII Zeichen und Ihre Ta
27. e und anzahl Optional kann w hrenddessen eine Konvertierung durchgef hrt werden Berichtet ber den verf gbaren und verwendeten Festplattenspeicher auf allen eingeh ngten Dateisystemen oder den Dateisystemen die die angegebenen Dateien enthalten Listet den Inhalt eines Ordners auf das Gleiche wie Is Gibt Kommandos zum Setzen der Umgebungsvariable LS_ COLOR aus um damit das Farbschema von Is zu ndern Entfernt den nicht ordnerspezifischen Teil eines Dateinamens Gibt aus wieviel Festplattenspeicher der aktuelle Ordner die Unterordner und Dateien oder eine einzelne Datei verbraucht Gibt eine angegebene Zeichenkette aus F hrt ein Kommando in einer modifizierten Arbeitsumgebung aus Konvertiert Tabulatoren zu Leerzeichen Wertet einen Ausdruck aus Gibt den Primfaktor aller angegebenen Ganzzahlen aus Tut gar nichts ist immer erfolglos Es beendet sich immer mit einem Abschlusscode der auf einen Fehler hinweist Formatiert die Abs tze in der bergebenen Datei neu F gt Zeilenumbr che in den angegebenen Dateien ein Gibt die Gruppenzugeh rigkeit eines Benutzers aus Gibt die ersten zehn oder die angegebene Anzahl von Zeilen einer Datei aus Gibt die numerische ID hexadezimal des Systems aus Setzt den Hostnamen bzw zeigt ihn an Gibt die effektive Benutzer ID Gruppen ID und Gruppenzugeh rigkeit des aktuellen Benutzers oder eines angegebenen Benutzers aus Kopiert Dateien und setzt deren Zugr
28. hlen Falls aber de_DE nicht installiert ist besteht das Risiko dass aufgrund des f lschlicherweise ausgew hlten Modells generic ABI inkompatible C Bibliotheken erstellt werden enable threads posix Das schaltet die Behandlung von C Exceptions f r Code mit Threads ein enable __cxa_atexit Dieser Parameter erm glicht die Verwendung von _ _ cxa_ atexit anstelle von atexit um C Destruktoren f r lokale Statics und globale Objekte zu registrieren Au erdem ist die Option f r eine vollst ndig standardkonforme Behandlung von Destruktoren erforderlich Das beeinflusst auch die C ABI das Ergebnis sind gemeinsame C Bibliotheken und C Programme die interoperabel mit anderen Linux Distributionen sind enable languages c C Dieser Parameter stellt sicher dass sowohl der C als auch der C Compiler erzeugt werden disable libstdcxx pch Verhindert das Erzeugen der vorkompilierten Header Dateien PCH pre compiled header f r libstdc Diese Funktion verbraucht viel Platz und wir ben tigen sie nicht Kompilieren Sie das Paket make Diesmal m ssen Sie nicht das boot st rap Target verwenden weil Sie bereits einen Compiler benutzen der aus exakt den gleichen Quellen gebaut wurde Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt empfehlen wir die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren
29. hnlich lauten Das Buch bezeichnet diese Partition im weiteren Verlauf als die LFS Partition Wenn Sie nun eine Swap Partition haben merken Sie sich auch deren Bezeichnung Sie werden sie sp ter in die Datei etc fstab eintragen 2 3 Erstellen eines Dateisystems auf der neuen Partition Nun haben Sie eine leere Partition und k nnen darauf ein Dateisystem anlegen Das meistverbreitete Dateisystem unter Linux ist das Second Extended Filesystem ext 2 aber im Zuge der heute blichen gro en Festplatten gewinnen Journal Dateisysteme immer mehr an Beliebtheit Das ext 3 Dateisystem ist eine weit verbreitete Erweiterung von ext2 und kompatibel mit den E2fsprogs An dieser Stelle erzeugen wir ein ext 3 Dateisystem Unter http www linuxfromscratch org blfs view svn postlfs filesystems html finden Sie Anleitungen zum Einrichten anderer Dateisysteme Zum Erzeugen eines ext 3 Dateisystems auf der LFS Partition f hren Sie bitte das folgende Kommando aus mke2fs jv dev lt xxx gt Ersetzen Sie lt xxx gt durch den Namen der LFS Partition wie zum Beispiel hda5 Anmerkung 22 Linux From Scratch Version 6 3 Einige Distributionen haben Zusatzfunktionen in ihre Werkzeuge zum Erzeugen von Dateisystemen E2fsprogs eingebaut Dies Kann sp ter beim Booten Ihres neuen LFS zu Probleme f hren weil diese Erweiterungen in den von LFS installierten E2fsprogs nicht installiert sind Sie k nnten z B eine Fehlermeldung wie u
30. libtoolize 118 118 line 180 181 link 105 107 Ikbib 143 144 In 105 107 Instat 150 151 loadkeys 152 153 loadunimap 152 153 locale 85 89 localedef 85 89 locate 134 134 logger 180 181 login 166 168 logname 105 107 logoutd 166 168 logsave 102 103 look 180 181 lookbib 143 144 losetup 180 181 ls 105 107 237 Linux From Scratch Version 6 3 Isattr 102 103 Ismod 161 162 m4 111 111 make 155 155 makeinfo 175 176 man 156 159 mandb 156 159 manpath 156 159 mapscrn 152 153 mbchk 137 137 mcookie 180 182 md5sum 105 107 mdate sh 126 126 mesg 172 173 missing 126 127 mkdir 105 107 mke2fs 102 103 mkfifo 105 108 mkfs 180 182 mkfs bfs 180 182 mkfs cramfs 180 182 mkfs ext2 102 103 mkfs ext3 102 103 mkfs minix 180 182 mkinstalldirs 126 127 mklost found 102 103 mknod 105 108 mkswap 180 182 mktemp 160 160 mk_cmds 102 103 mmroff 143 144 modinfo 161 162 modprobe 161 162 more 180 182 mount 180 182 mountpoint 172 173 msgattrib 140 140 msgcat 140 140 msgemp 140 141 msgcomm 140 141 msgconv 140 141 msgen 140 141 msgexec 140 141 msgfilter 140 141 msgfmt 140 141 msggrep 140 141 msginit 140 141 msgmerge 140 141 msgunfmt 140 141 msguniq 140 141 mtrace 85 89 mv 105 108 mve awk 183 185 namei 180 182 neqn 143 144 newgrp 166 168 newusers 166 168 ngettext 140 141 nice 1
31. t unverwechselbar erkennbar machen blicherweise Hersteller und Produkt IDs und oder Seriennummern udevinfo a p sys class video4linux videoO Schreiben Sie nun die passenden Regel zum Erzeugen der symbolischen Links cat gt etc udev rules d 83 duplicate_devs rules lt lt EOF Persistent symlinks for webcam and tuner KERNEL video ATTRS idProduct 1910 ATTRS idVendor 0d81 SYMLINK webcam KER NE video CES leegen Les Us EU ATIR Senden lge LOL Eet A SYMLINK tvtuner EOF Anmerkung Beachten Sie dass Udev kein r ckgerichteten Schr gstrich zur Zeilenfortsetzung kennt Das vorliegende Beispiel funktioniert weil sowohl die Schr gstriche als auch die Zeilenvorsch be von der Shell ignoriert werden dadurch wird jede Udev Regel von der Shell in einer einzigen Zeile an das Programm cat bergeben Die Shell ignoriert diese Zeichen weil die EOF Markierung in der Hier Dokument Umleitung nicht in einfache oder doppelte Anf hrungszeichen eingeschlossen ist Weitere Details dazu finden sich in den Hilfeseiten bash 1 suchen Sie dort nach Here Documents Wenn Sie Udev Regeln mit einem Editor bearbeiten achten Sie darauf jede Regel in einer einzigen Zeile zu belassen Als Ergebnis erhalten Sie immer noch die Ger tedateien dev videoO und dev videol die jeweils unterschiedliche Ger te meinen k nnen und deshalb nicht direkt angesprochen werden sollten Zus tzlich erhal
32. www linuxfromscratch org patches lfs 6 3 mktemp 1 5 add_tempfile 3 patch MD5S Priifsumme 65d73faabe3f 637ad79853b460d30a19 e Module init tools Patch 1 2 kB Download http www linuxfromscratch org patches lfs 6 3 module init tools 3 2 2 modprobe 1 patch MD5S Priifsumme 1e452fdf3b8d7ef60148125e390c3e8 e Ncurses Coverity Patch 16 8 kB 31 Linux From Scratch Version 6 3 Download http www linuxfromscratch org patches lfs 6 3 ncurses 5 6 coverity_fixes 1 patch MDS5 Pr fsumme aa2fa9d0e8 9bbfdb4ce7e0e6b4b46670 e Perl Libc Patch 1 1 kB Download http www linuxfromscratch org patches lfs 6 3 perl 5 8 8 libc 2 patch MDS5 Pr fsumme 3bf8aeflfb6eb6110405e699e4141 99 e Readline Fixes Patch 3 4 kB Download http www linuxfromscratch org patches lfs 6 3 readline 5 2 fixes 3 patch MDS5 Pr fsumme dfa4b750f f226cf9ea034ec753a78a742 Shadow Useradd Patch 6 1 kB Download http www linuxfromscratch org patches lfs 6 3 shadow 4 0 18 1 useradd_fix 2 patch MDS5 Pr fsumme 5 35528 38d5432d5fa2dd79d04bdfdd e Sysklogd 8 Bit Cleanness Patch 0 9 kB Download http www linuxfromscratch org patches fs 6 3 sysklogd 1 4 1 Sbit 1 patch MDS5 Pr fsumme cc0d9c3bd67a6b6357e42807cf06073e e Sysklogd Fixes Patch 32 kB Download http www linuxfromscratch org patches lfs 6 3 sysklogd 1 4 1 fixes 2 patch MD5S Priifsumme ed5b25ca9a4eeb4f4f82b300a27blef4 e Texinfo Multibyte Fixes Patch 1 5 kB Download http www linux
33. znew usr bin 6 39 2 Inhalt von Gzip Installierte Programme gunzip gzexe gzip uncompress zcat zcmp zdiff zegrep zfgrep zforce zgrep zless zmore und znew Kurze Beschreibungen gunzip Dekomprimiert gzip Dateien gzexe Erzeugt selbstextrahierende ausf hrbare Dateien gzip Komprimiert Dateien mit dem Lempel Ziv LZ77 Algorithmus uncompress Entpackt komprimierte Dateien zcat Dekomprimiert gzip Dateien zur Standardausgabe zcmp F hrt cmp auf gzip Dateien aus zdiff F hrt diff auf gzip Dateien aus zegrep F hrt egrep auf gzip Dateien aus zfgrep F hrt fgrep auf gzip Dateien aus zforce Erzwingt eine gz Erweiterung an die komprimierten Dateien damit gzip diese Dateien nicht erneut komprimiert Das kann sinnvoll sein wenn Dateinamen bei einer Daten bertragung abgeschnitten wurden zgrep F hrt grep auf gzip Dateien aus zless F hrt less auf gzip Dateien aus zmore 146 Linux From Scratch Version 6 3 F hrt more auf gzip Dateien aus znew Konvertiert Dateien im compress Format in das gzip Format 7 zu gz 147 Linux From Scratch Version 6 3 6 40 Inetutils 1 5 Inetutils enth lt verschiedene Programme zur grundlegenden Netzwerkunterst tzung Gesch tzte 0 2 SBU Kingef herbeit tigter 8 9 MB Festplattenplatz 6 40 1 Installation von Inetutils Sie werden nicht alle Programme aus diesem Paket installieren Dennoch w rde Inetutils die Man pages zu diesen Programmen
34. 05a Binutils 2 12 Versionen gr er 2 17 werden nicht empfohlen weil sie nicht getestet wurden Bison 1 875 Bzip2 1 0 2 Coreutils 5 0 oder Sh Utils 2 0 Textutils 2 0 und Fileutils 4 1 Diffutils 2 8 Findutils 4 1 20 Gawk 3 0 Gcc 3 0 1 Versionen gr er 4 1 2 werden nicht empfohlen weil sie nicht getestet wurden Glibe 2 2 5 Versionen gr er 2 5 1 werden nicht empfohlen weil sie nicht getestet wurden Grep 2 5 Gzip 1 2 4 Linux Kernel 2 6 x wurde mit GCC 3 0 oder neuer kompiliert Der Grund f r diese Kernelanforderung liegt darin dass die Unterst tzung f r thread local storage in Binutils nicht einkompiliert wird und die Native POSIX Threading Bibliothek NPTL abst rzt wenn der Host Kernel nicht mindestens Version 2 6 x ist und mit GCC 3 0 oder neuer kompiliert wurde Wenn der Host Kernel lter als 2 6 x ist oder er nicht mit mindestens GCC 3 0 oder neuer kompiliert wurde dann muss auf dem Host zuerst ein solcher Kernel installiert und gebootet werden Es gibt zwei M glichkeiten dieses Problem zu beheben berpr fen Sie ob der Hersteller Ihrer Host Distribution einen entsprechenden Kernel zur Verf gung stellt und installieren Sie diesen Falls der Hersteller jedoch keinen viii Linux From Scratch Version 6 3 passenden Kernel mitliefert oder Sie diesen aus irgendwelchen Gr nden nicht installieren m chten dann k nnen Sie selbst einen 2 6er Kernel kompilieren Eine Hilfestellung dazu finden Sie in Ka
35. 2 Inhalt von GRUB Installierte Programme grub grub install grub md5 crypt grub set default grub terminfo und mbchk Kurze Beschreibungen grub Die GRand Unified Bootloader Kommando Shell grub install Installiert GRUB auf dem angegebenen Gerit grub md5 crypt Verschl sselt Passw rter im MD5 Format grub set default Stellt den Voreingestellten Boot Eintrag fiir GRUB ein grub terminfo Erzeugt ein terminfo Kommando aus dem Namen eines Terminals Es kann verwendet werden wenn Sie ein unbekanntes Terminal haben mbchk Priift das Format eines Multiboot Kernel 137 Linux From Scratch Version 6 3 6 35 Gawk 3 1 5 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Gesch tzte 0 2 SBU Kingef herbeit tigter 18 2 MB Festplattenplatz 6 35 1 Installation von Gawk Unter bestimmten Umst nden gibt Gawk 3 1 5 einen Speicherblock frei der gar nicht zugewiesen war Mit dem folgenden Patch wird das Problem behoben patch Npl i gawk 3 1 5 segfault_fix 1 patch Bereiten Sie Gawk zum Kompilieren vor configure prefix usr libexecdir usr lib Aufgrund eines Fehlers im configure Skript erkennt Gawk einige Funktionen von Glibcs locale Unterst tzung nicht richtig Das f hrt z B zu Fehlern in der Testsuite von Gettext Sie k nnen das Problem umgehen indem Sie die fehlenden Makro Definitionen in der Datei config h hinzuf gen cat gt gt config h lt lt EO
36. 49 2 Inhalt von Psmisc Installierte Programme fuser killall oldfuser peekfd pstree und pstree x11 Link auf pstree Kurze Beschreibungen fuser Zeigt die PIDs von Prozessen an die gerade eine bestimmte Datei oder ein Dateisystem verwenden killall Beendet Prozesse aufgrund ihres Namens Es sendet ein Signal an alle Prozesse die ein bestimmtes Kommando ausf hren oldfuser Zeigt die PIDs von Prozessen an die gerade eine bestimmte Datei oder ein Dateisystem verwenden peekfd Ermittelt die Dateideskriptoren eines mit PID bergebenen Programms pstree Zeigt laufende Prozesse als Baumstruktur an 164 Linux From Scratch Version 6 3 pstree x11 Das gleiche wie pstree wartet allerdings vor dem Beenden auf eine Best tigung 165 Linux From Scratch Version 6 3 6 50 Shadow 4 0 18 1 Das Paket Shadow enth lt Programme zur sicheren Verwaltung von Kennw rtern Gesch tzte 0 3 SBU Kingef herbeit tigter 20 7 MB Festplattenplatz 6 50 1 Installation von Shadow Anmerkung Wenn Sie sichere Passw rter erzwingen m chten sollten Sie vor der Installation von Shadow unter http www linuxfromscratch org blfs view svn postlfs cracklib html nachlesen und Cracklib installieren F gen Sie dann den Parameter with libcrack zu dem unten folgenden configure Kommando hinzu Beheben Sie einen Fehler in useradd und usermod der es verhindert einen Gruppennamen anstatt der Kennung an die Option q zu bergeben
37. 89 libshadow 166 169 libss 102 104 libssp 95 98 libstdc 95 98 240 libsupc 95 98 libtc18 4 so 49 49 libthread_db 85 90 libutil 85 90 libuuid 102 104 libvolume_id 177 179 liby a 112 112 libz 123 124 Skripte checkfs 190 190 cleanfs 190 190 console 190 190 Einrichten 197 consolelog 190 190 Einrichten 197 functions 190 190 halt 190 190 ifdown 190 190 ifup 190 190 localnet 190 190 etc hosts 203 Einrichten 202 modules 190 190 mountfs 190 190 mountkernfs 190 190 network 190 190 etc hosts 203 Einrichten 205 rc 190 190 reboot 190 190 sendsignals 190 190 setclock 190 191 Einrichten 196 static 190 191 swap 190 191 sysctl 190 191 sysklogd 190 191 Einrichten 199 template 190 191 udev 190 191 udev_retry 190 191 Sonstige boot config 2 6 22 5 211 213 boot System map 2 6 22 5 211 213 dev 76 etc fstab 209 etc group 81 etc hosts 203 etc inittab 172 etc inputre 199 etc ld so conf 88 241 Linux From Scratch Version 6 3 etc lfs release 216 etc localtime 87 etc nsswitch conf 87 etc passwd 81 etc profile 200 etc protocols 110 etc resolv conf 207 etc services 110 etc syslog conf 170 etc udev 177 179 etc vimre 184 usr include asm generic linux mtd rdma sound 83 83 var log btmp 81 var log lastlog 81 var log wtmp 81 var run utmp 81 Man pages 84 84
38. Buch werden Sie h ufig mit der Umgebungsvariable LFS zu tun haben Diese Variable sollte immer definiert sein und den Mountpunkt enthalten den Sie f r die LFS Partition ausgew hlt haben berpr fen Sie mit dem folgenden Kommando bitte nochmals ob LF S korrekt gesetzt ist echo SLFS Die Ausgabe muss dem Pfad zu Ihrer LFS Partition entsprechen Wenn Sie unserem Beispiel gefolgt sind lautet der Pfad mnt 1f s Wenn hier etwas nicht stimmt k nnen Sie die Variable jederzeit neu setzen export LFS mnt lfs Durch diese Variable haben Sie den Vorteil dass Sie ein Kommando wie z B mkdir LFS tools genau so eingeben k nnen wie Sie es im Buch lesen W hrend die Shell den Befehl verarbeitet wird sie LFS durch den echten Wert mnt lfs ersetzen Wenn Sie Ihre Arbeitsumgebung verlassen haben m ssen Sie anschlie end den Inhalt von LFS nochmals pr fen Das gilt auch wenn Sie z B su zu root oder einem anderen Benutzer ausf hren 4 2 Erstellen des Ordners LFS tools Alle kompilierten Programme aus Kapitel 5 werden unter SLFS tools installiert Dadurch werden sie von den Programmen getrennt die sp ter in Kapitel 6 installiert werden Die hier kompilierten Programme sind nur bergangsweise Hilfsmittel und sollen nicht Teil des endg ltigen LFS Systems werden Durch die Installation in einen gesonderten Ordner lassen sie sich sp ter leichter wieder entfernen Au erdem wird so sichergestellt dass die Programm
39. Das folgende Kommando behebt diesen Fehler sed i e tc bfifo 8 d e tc pfifo 8 s pbfifo bfifo Makefile Kompilieren Sie das Paket make SBINDIR sbin Die Bedeutung der make Option SBINDIR sbin Dies stellt sicher dass die Bin rdateien von IPRoute2 nach sbin installiert werden Lt FHS ist dies der korrekte Ort weil einige der Programme aus IPRoute2 in Bootskripten verwendung finden Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make SBINDIR sbin install Das Programm arpd verlinkt gegen die Berkely DB Bibliotheken die in usr liegen und verwendet eine Datenbank in var lib arpd arpd db Nach FHS muss es aber in usr sbin liegen also verschieben Sie es mv v sbin arpd usr sbin 6 41 2 Inhalt von IPRoute2 Installierte Programme arpd ctstat Link auf Instat genl ifcfg ifstat ip Instat nstat routef routel rtacct rtmon rtpr rtstat Link auf Instat ss und tc Kurze Beschreibungen arpd Ein Userspace ARP Daemon Er ist in sehr gro en Netzwerken n tzlich wenn der Kernel ARP Daemon nicht ausreicht oder wenn man einen Honeypot f r Sicherheitszwecke einrichten m chte ctstat Ein Werkzeug fiir den Verbindungsstatus SCH Ein Shell Skript Wrapper f r ip ifstat Zeigt Schnittstellenstatistiken an inklusive der Menge der gesendeten und empfangenen Pakete pro Schnittstelle ip Dies ist die eigentliche ausf hrbare Datei Sie hat v
40. Dean Benson lt dean vipersoft co uk gt f r etliche Geldspenden f Hagen Herrschaft lt hrx hrxnet de gt f r die Spende eines 2 2 GHz P4 Systems welches nun unter dem Namen Lorien l uft SEO Company Canada unterstiitzt Open Source Projekte und verschiedene Linux Distributionen j VA Software die im Namen von Linux com eine VA Linux 420 ehem StartX SP2 Workstation gespendet 225 Linux From Scratch Version 6 3 haben Mark Stone f r die Spende von Belgarath dem ersten linuxfromscratch org Server 226 Linux From Scratch Version 6 3 Anhang C Abh ngigkeiten Jedes in LFS installierte Paket verl sst sich zum Kompilieren und Installieren auf ein oder mehrere weitere Pakete Manche Pakete haben sogar rekursive Abh ngigkeiten Das hei t ein Paket A ben tigt Paket B welches wiederum Paket A voraussetzt Diese z T recht komplizierten Abh ngigkeiten begr nden auch die besondere Installationsreihenfolge der Pakete in LFS Der Zweck dieser Seite ist es die Abh ngigkeiten aller Pakete in LFS zu dokumentieren F r jedes installierte Paket listen wir hier drei Arten von Abh ngigkeiten auf Die erste Liste enth lt Pakete die zur Installation der fraglichen Software ben tigt werden Die zweite Liste enth lt die Pakete die zum korrekten Durchlaufen der Testsuite der fraglichen Software ben tigt werden Die dritte Liste enth lt die LFS Programme die dieses fragliche Paket zur korrekten Installation voraussetzen
41. Diese Methode kommt in den meisten kommerziellen Distributionen zum Einsatz Beispiele f r Paketverwaltungen die diese Methode einsetzen sind RPM welches im brigen von der Linux Standard Base Spezifikation erfordert wird pkg utils Debians apt und Gentoos Portage System Eine Anleitung zur Verwendung dieses Paketverwaltungs Systems finden Sie unter http www linuxfromscratch org hints downloads files fakeroot txt 6 3 2 7 Benutzerbasierte Paketverwaltung Diese fiir LFS einmalige Methode hat sich Matthias Benkmann ausgedacht Informationen dazu finden Sie im Hints Projekt Bei der Benutzerbasierten Paketverwaltung wird jedes Paket unter Verwendung einer eigenen Benutzer ID an den Standard Installationsort installiert Alle zu einem Paket geh renden Dateien k nnen anhand der Benutzer ID leicht wiedergefunden werden Die Vor und Nachteile dieser Paketverwaltung sind allerdings so umfangreich dass wir sie hier in diesem Kapitel nicht alle beschreiben k nnen Alle notwendigen Informationen finden Sie unter http www linuxfromscratch org hints downloads files more_control_and_pkg_ man 1xt 79 Linux From Scratch Version 6 3 6 4 Betreten der chroot Umgebung Es ist nun an der Zeit die chroot Umgebung zu betreten und mit der Installation der ben tigten Pakete zu beginnen Immer noch als root f hren Sie das folgende Kommando aus Damit betreten Sie die neue kleine Welt die zur Zeit nur mit tempor ren Werkzeugen ausgestattet is
42. Diese Programme protokollieren aber nur wenn die entsprechenden Logdateien bereits existieren Daher m ssen Sie die Logdateien nun anlegen und die richtigen Recht vergeben touch var run utmp var log btmp lastlog wtmp chgrp v utmp var run utmp var log lastlog chmod v 664 var run utmp var log lastlog Die Logdateien haben folgenden Zweck var run utmp protokolliert zur Zeit angemeldete Benutzer var 1log wtmp protokolliert alle An und Abmeldungen var log lastlog protokolliert die letzte Anmeldung f r jeden Benutzer var 1log btmp protokolliert fehlgeschlagene Anmeldeversuche 82 Linux From Scratch Version 6 3 6 7 Linux 2 6 22 5 API Header Die Linux API Header ver ffentlichen die Programmierschnittstelle der Kernels zur Verwendung durch die Glibe Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 286 MB Festplattenplatz 6 7 1 Installation von Linux API Header Der Kernel muss eine Programmierschnittstelle API ver ffentlichen damit die C Bibliothek Glibc in LFS diese verwenden kann Dazu werden bereinigte Versionen der C Header verwendet die mit den Kernelquellen ausgeliefert werden F hren Sie nun einen Sed Befehl aus um die Installation der Header in usr include scsi zu verhindern Stattdessen werden die von der Glibc bereitsgestellten Header verwendet sed i scsi d include Kbuild Installieren Sie die Header Dateien make mrproper make headers_check mak
43. FAQ Wenn Sie beim Erstellen von LFS Schwierigkeiten oder Fragen haben oder wenn Sie einen Rechtschreib Fehler im Buch finden dann lesen Sie bitte die FAQ Frequently Asked Questions h ufig gestellte Fragen unter http www linuxfromscratch org faq 1 4 2 Mailinglisten Auf dem Server linuxfromscratch org werden einige Mailinglisten fiir die Entwicklung des LFS Projektes betrieben Unter anderem befinden sich dort auch die Entwickler und Support Mailinglisten Falls die FAQ Ihnen mit Ihrem Problem nicht helfen kann sollten Sie im n chsten Schritt die Mailinglisten unter http wwu linuxfromscratch org search html durchsehen Welche Listen es gibt wie Sie eine Liste abonnieren k nnen wo Sie die Archive finden und vieles mehr erfahren Sie unter http www linuxfromscratch org mail html 1 4 3 IRC Viele Mitglieder aus der LFS Gemeinschaft bieten ihre Hilfe ber unseren IRC Server an Bevor Sie hier Hilfe suchen lesen Sie bitte zumindest die FAQ und die Archive unserer Mailinglisten und suchen dort nach einer Antwort auf Ihre Frage Der IRC Server hat die Adresse irc linuxfromscratch org Der Support Chatraum hei t LFS support 1 4 4 Referenzen Weitere Informationen und n tzliche Tipps zu Software Paketen finden Sie in der LFS Paket Referenz unter http www linuxfromscratch org matthew LFS references html 1 4 5 Softwarespiegel Das LFS Projekt hat viele ber die ganze Welt verteilte Softwarespiegel Diese ste
44. FAQ FHS FIFO FQDN FTP GB GCC GID GMT GPG HTML IDE Application Binary Interface Automated Linux From Scratch Advanced Linux Sound Architecture Application Programming Interface American Standard Code for Information Interchange Basic Input Output System Beyond Linux From Scratch Berkeley Software Distribution change root Complementary Metal Oxide Semiconductor Class Of Service Central Processing Unit Cyclic Redundancy Check Concurrent Versions System Dynamic Host Configuration Protocol Domain Name Service Enhanced Graphics Adapter Executable and Linkable Format End of File equation Enterprise Volume Management System second extended file system third extended file system Frequently Asked Questions Filesystem Hierarchy Standard First In First Out Fully Qualified Domain Name File Transfer Protocol Gibabytes GNU Compiler Collection Group Identifier Greenwich Mean Time GNU Privacy Guard Hypertext Markup Language Integrated Drive Electronics 220 Linux From Scratch Version 6 3 IEEE Institute of Electrical and Electronic Engineers IO Input Output IP Internet Protocol IPC Inter Process Communication IRC Internet Relay Chat ISO International Organization for Standardization ISP Internet Service Provider KB Kilobytes LED Light Emitting Diode LFS Linux From Scratch LSB Linux Standard Base MB Megabytes MBR Master Boot Record MD5 Message Digest 5 NIC Network Interface Card
45. Fixes 1924 matthew Upgrade to Gettext 0 16 1 Fixes 1925 matthew Upgrade to Findutils 4 2 29 Fixes 1923 matthew Upgrade to File 4 19 Fixes 1946 matthew Upgrade to Coreutils 6 7 Fixes 1934 matthew Upgrade to Bzip2 1 0 4 Fixes 1943 13 01 2007 alexander Upgrade to Man pages 2 43 Fixes 1927 alexander Don t remove Vim tutorials Fixes 1937 09 12 2006 bryan Fix etc passwd entry for nobody user in chapter 6 Fixes 93 thanks to Robert Connolly for the report 01 12 2006 matthew Fix an ICA breakage in E2fsprogs Sed needs to be built before E2fsprogs and a hardcoded reference to bin rm needs to be changed to point to tools bin rm instead Thanks to Greg Schafer for the report and fix 25 11 2006 jhuntwork Add a cautionary note to the end of chapter 5 Archiving of the temporary tools for future use should take place before starting chapter 6 Fixes 1879 matthew Move mv from usr bin to bin again The upgrade to Coreutils 6 6 mistakenly removed it from the list of files to be moved Thanks to Chris Staub for the report matthew Prevent Inetutils from building and installing ifconfig as LFS uses ip to configure network interfaces Thanks to Marty Jack for the report and the fix Fixes 1914 jhuntwork Fix potential corruption of the testsuite tools by forcing expect to always use bin stty and not usr local bin stty Fixes 1892 matthew Upgrade to
46. Gettext 140 Werkzeuge 64 Glibc 85 Werkzeuge 45 Grep 142 Werkzeuge 65 Groff 143 GRUB 137 Einrichten 214 Gzip 146 Werkzeuge 66 Iana Etc 110 Inetutils 148 IPRoute2 150 Kbd 152 Less 154 Libtool 118 Linux 211 API Header 83 Werkzeuge API Header 44 Linux From Scratch Version 6 3 M4 111 Make 155 Werkzeuge 67 Man DB 156 Man pages 84 Mktemp 160 Module Init Tools 161 Ncurses 113 Werkzeuge 57 Patch 163 Werkzeuge 68 Perl 119 Werkzeuge 69 Procps 116 Psmisc 164 Readline 121 Sed 101 Werkzeuge 70 Shadow 166 Einrichten 167 Sysklogd 170 Einrichten 170 Sysvinit 172 Einrichten 172 Tar 174 Werkzeuge 71 Tel 49 Texinfo 175 Werkzeuge 72 Udev 177 Anwendung 193 Util linux 180 Werkzeuge 73 Vim 183 Zlib 123 Programme a2p 119 119 accessdb 156 159 acinstall 126 126 aclocal 126 126 aclocal 1 10 126 126 addftinfo 143 144 addr2line 93 94 afmtodit 143 144 agetty 180 181 apropos 156 159 ar 93 94 arch 180 181 arpd 150 150 as 93 94 ata_id 177 178 autoconf 125 125 autoheader 125 125 234 autom4te 125 125 automake 126 126 automake 1 10 126 126 autopoint 140 140 autoreconf 125 125 autoscan 125 125 autoupdate 125 125 awk 138 138 badblocks 102 103 basename 105 106 basename 105 106 bash 128 129 bashbug 128 129 bigram 134 134 bison 112 112 blkid 102 103 blockdev 180 181 bootlogd 172 173
47. Glibc Grep Make Patch Perl Sed Tar und Texinfo DejaGNU und Expect Keine Bash Binutils Coreutils Gawk GCC Glibc Grep Make Sed und Texinfo Diffutils Perl und Tcl Automake Bash Binutils Coreutils Diffutils Gawk GCC Gettext Grep Gzip Make Perl Sed und Texinfo Keine Keine Bash Binutils Coreutils Diffutils GCC Gettext Glibc Make Patch Sed und Texinfo Diffutils und Gawk Man DB Bash Binutils Bison Coreutils Gawk GCC Glibc Grep Make Patch Sed und Texinfo Enth lt keine Testsuite Man DB und Perl 229 Vorauss f Installation Vorauss f Testsuite Installation vor Gzip Vorauss f Installation Vorauss f Testsuite Installation vor lana Etc Vorauss f Installation Vorauss f Testsuite Installation vor Inetutils Vorauss f Installation Vorauss f Testsuite Installation vor IProute2 Vorauss f Installation Vorauss f Testsuite Installation vor Kbd Vorauss f Installation Vorauss f Testsuite Installation vor Less Vorauss f Installation Vorauss f Testsuite Installation vor Libtool Vorauss f Installation Vorauss f Testsuite Installation vor Linux From Scratch Version 6 3 Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses Sed und Texinfo Keine Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Patch Sed und Texinfo
48. Ihre Fragen einfach nur unbeantwortet oder man verweist Sie auf vi Linux From Scratch Version 6 3 diesen Text Bevor Sie ein LFS System erstellen lesen Sie bitte die folgenden HOWTOs Software Building HOWTO Artp www tldp org HOWTO Software Building HOWTO html Das Software Building HOWTO ist ein umfangreiches Handbuch zum Erstellen und Installieren allgemeiner UNIX Software unter Linux The Linux Users Guide http www linuxhq com guides LUG guide html Dieses Handbuch erkl rt die Verwendung ausgew hlter Linux Software The Essential Pre Reading Hint hrtp www linuxfromscratch org hints downloads files essential_prereading txt Dies ist eine LFS Anleitung die speziell f r neue Linux Anwender geschrieben wurde Sie enth lt eine Linksammlung sehr guter Informationsquellen zu allen m glichen Themen Jeder der LFS installieren m chte sollte zumindest den Gro teil der dort behandelten Themen verstehen Mindestanforderungen an das Host System Ihr Host System sollte ber die folgende Software mit den angegebenen Minimalversionen verf gen F r die meisten modernen Linux Distributionen sollte dies kein Problem darstellen Bitte beachten Sie allerdings dass die meisten Distributionen die Header Dateien zu Programmen in extra Pakete packen meist mit Namen wie lt Paketname gt devel oder lt Paketname gt dev Bitte stellen Sie sicher dass Sie auch diese Pakete mit den Headern installiert haben Bash 2
49. Man pages 2 42 Fixes 1922 matthew Upgrade to Inetutils no_server_man_pages 2 patch This removes the last of the unwanted man pages rexecd 8 Thanks to Joe Ciccone for the report and the updated patch Fixes 1915 jhuntwork Added make headers_install to chapter 5 Linux Headers for the educational value and in preparation of changes in Linux 2 6 19 See this thread 13 Linux From Scratch Version 6 3 matthew Upgrade to M4 1 4 8 Fixes 1920 matthew Upgrade to Linux 2 6 18 3 Fixes 1911 matthew chapter08 kernel xml Reworded the warning about overwriting sanitized kernel headers rather than raw headers so as to avoid mentioning the now obsolete Linux Libc Headers package Fixes 1917 matthew Upgrade to IANA Etc 2 20 Fixes 1916 matthew Upgrade to File 4 18 Fixes 1910 matthew Upgrade to Coreutils 6 6 Fixes 1919 matthew Add Bison to the host requirements as it is required by bash 3 2 fixes 5 patch in chapter 5 Fixes 1863 matthew Use all 5 of the patches currently supplied by the upstream maintainers of Bash matthew Upgrade to Autoconf 2 61 Fixes 1918 24 11 2006 jhuntwork Simplified the installation of Linux Headers in Chapter 5 10 11 2006 i bryan Use 70 persistent rules for custom symlinks and NIC naming and add ENV GENERATED to the CD symlink rule Gets 1912 closer to really being fixed 05 11 2006 i bryan Delete the persistent net generator r
50. Modulen f r Kernelversionen gt 2 5 47 Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 7MB Festplattenplatz 6 47 1 Installation von Module Init Tools Beheben Sie zuerst ein potentielles Problem welches Auftritt wenn Module mittels regul rer Ausdr cke angegeben werden patch Npl i module init tools 3 2 2 modprobe 1 patch F hren Sie dieses Kommando aus um die Testsuite zu starten Anmerkung make distclean ist n tig um die Quelltexte aufzur umen denn Sie werden w hrend dem Testlauf neu kompiliert configure make check make distclean Bereiten Sie Module Init Tools zum Kompilieren vor configure prefix enable zlib Kompilieren Sie das Paket make Installieren Sie das Paket make INSTALL install install Die Bedeutung des make Parameters INSTALL install Normalerweise installiert make install die Bin rdateien nicht wenn sie bereits existieren Durch diesen Parameter wird dieses Verhalten ge ndert und install statt dem sonst blichen Skript aufgerufen 6 47 2 Inhalt von Module Init Tools Installierte Programme depmod generate modprobe conf insmod insmod static Ismod modinfo modprobe und rmmod Kurze Beschreibungen depmod Erzeugt basierend auf den Symbolen in existierenden Modulen eine Abh ngigkeitsdatei Diese Datei wird von modprobe benutzt um ben tigte Module automatisch nachzuladen generate modprobe c
51. Regel Dateien aus dev udev nach etc udev rules d falls n tig 191 Linux From Scratch Version 6 3 7 3 Wie funktionieren diese Bootskripte Linux benutzt eine spezielle Bootmethode mit dem Namen SysVinit Sie basiert auf dem Konzept der Runlevel Dieses Konzept kann in verschiedenen Distributionen sehr unterschiedlich umgesetzt sein Nehmen Sie also nicht an nur weil etwas in Distribution XY funktioniert geht es in LFS auf die gleiche Weise LFS respektiert zwar allgemein bliche Standards geht aber dennoch wie alle anderen seinen eigenen Weg SysVinit wir nennen es nun einfach nur init funktioniert nach dem Konzept der Runlevel Es gibt 7 Runlevel von 0 bis 6 genaugenommen gibt es sogar noch mehr aber diese sind f r Spezialf lle reserviert und werden blicherweise nicht benutzt init 8 beschreibt diese Details genauer Jeder Runlevel korrespondiert mit Skripten oder Diensten die der Computer beim Hochfahren ausf hren bzw starten oder stoppen soll Der Standard Runlevel ist 3 Hier sehen Sie eine bersicht wie die Runlevel blicherweise eingesetzt werden F hrt den Computer herunter Ein Benutzer Modus Mehr Benutzer Modus ohne Netzwerk Mehr Benutzer Modus mit Netzwerk reserviert f r eigene Anpassungen funktioniert ansonsten wie 3 genauso wie 4 wird normalerweise f r grafischen Login benutzt wie z B Xs xdm oder KDEs kdm Startet den Computer neu T ANRWNH OS Das Komm
52. Scratch Version 6 3 6 34 GRUB 0 97 Das Paket Grub enth lt den GRand Unified Bootloader Gesch tzte 0 2 SBU Kingef herbeit tigter 10 2 MB Festplattenplatz 6 34 1 Installation von GRUB Dieses Paket funktioniert unter Umst nden nicht fehlerfrei wenn die voreingestellten Optionen f r Compiler Optimierungen bergangen werden Dazu geh ren auch march und mcpu Daher sollten die entsprechenden Umgebungsvariablen wie z B CFLAGS und CXXFLAGS f r den Kompiliervorgang zur ckgesetzt oder entsprechend abge ndert werden Beginnen Sie mit dem folgenden Patch zur besseren Erkennung von Laufwerken Behebung einiger Probleme mit GCC 4 x und zur besseren SATA Unterst tzung f r einige Festplattencontroller patch Npl i grub 0 97 disk_geometry 1 patch Bereiten Sie GRUB zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install mkdir v boot grub cp v usr lib grub i386 pc stage l1 2 boot grub Ersetzen Sie 1386 pc durch den f r Ihre Plattform korrekten Ordner Der Ordner 1386 pc enth lt auch einige stagel_5 Dateien die jeweils f r verschiedene Dateisysteme gedacht sind Schauen Sie nach welche zur Verf gung stehen und kopieren Sie die notwendigen nach boot grub Die meisten Leute werden e2fs_stage1_5 und oder reiserfs_stagel_5 Kopieren 6 34
53. Sie dieses Kommando aus make k check 54 Linux From Scratch Version 6 3 Der Parameter k l sst die Testsuite bis zum Ende durchlaufen selbst wenn Fehler auftreten sollten Die Testsuite von GCC ist sehr umfangreich und es ist beinahe sicher dass Fehler auftreten Eine Information ber die kritischen Fehler finden Sie im Abschnitt 6 12 GCC 4 1 2 Installieren Sie das Paket make install Achtung An diesem Punkt ist es unbedingt notwendig die korrekte Funktion der Toolchain Kompilieren und Linken zu berpr fen Darum f hren Sie nun einen kleinen Gesundheitscheck durch cc dummy c readelf 1 a out grep tools echo main gt dummy c Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus Requesting program interpreter tools lib ld linux 50 2 Achten Sie besonders darauf dass tools 1ib als Prefix zu Ihrem dynamischen Linker angegeben ist Wenn Sie keine oder eine andere als die obige Ausgabe erhalten haben ist etwas schiefgelaufen Sie m ssen alle Ihre Schritte noch einmal berpr fen und den Fehler finden und korrigieren Fahren Sie nicht fort bevor Sie den Fehler nicht beseitigt haben Als erstes f hren Sie nochmals den Gesundheitscheck durch und benutzen gec anstelle von cc Wenn das funktioniert fehlt der Link von tools bin cc Gehen Sie zur ck zu Abschnitt 5 4
54. Sie sich bitte als 1fs an Dazu k nnen Sie eine virtuelle Konsole den Display Manager oder das folgende Kommando verwenden su lfs Das weist su an eine Login Shell anstelle einer Nicht Login Shell zu starten Der Unterschied zwischen den beiden Arten wird in bash 1 und info bash erkl rt 4 4 Vorbereiten der Arbeitsumgebung Um Ihre Arbeitsumgebung f r die weiteren Schritte vorzubereiten erstellen Sie zwei Dateien f r die bash Geben Sie als Benutzer 1 fs das folgende Kommando ein um die neue Datei bash_profile zu erzeugen cat gt bash_profile lt lt EOF exec env i HOME SHOME TERM STERM PS1 u w S bin bash EOF 34 Linux From Scratch Version 6 3 Wenn Sie sich als Benutzer 1fs anmelden ist die erste Shell blicherweise eine Login Shell Diese liest erst die Datei etc profile Ihres Host Systems ein sie enth lt meistens Einstellungen zu Umgebungsvariablen und danach bash_profile Das Kommando exec env i bin bash in der zweiten Datei ersetzt die laufende Shell durch eine neue mit einer vollst ndig leeren Umgebung mit Ausnahme der Variablen HOME TERM und PS1 Daduch wird sichergestellt dass keine ungewollten und potentiell gef hrlichen Umgebungsvariablen vom Host System auf unsere Arbeitsumgebung Einfluss nehmen K nnen Die hier angewendete Technik mag ein wenig befremdlich wirken f hrt aber zu unserem Ziel einer absolut reinen Arbeitsumgebung Die neue Instanz
55. Treiber ohne Hilfe von Udev laden und darauf hoffen dass dieser Fehler sp ter behoben wird Wenn die Datei modalias in dem zugeh rigen Ordner unter sys bus nicht vorhanden ist so haben die Kernel Entwickler f r diesen Bus Typ noch keine Modalias Unterst tzung programmiert Bei Linux 2 6 22 5 ist dies z B der Fall f r den ISA Bus Dies wird wahrscheinlich in einer zuk nftigen Kernelversion behoben Udev sorgt sich nicht um das Laden sogenannter wrapper Treibern wie beispielsweise snd pcm oss oder Nicht Hardware Treibern wie loop 7 4 3 2 Ein Kernelmodul l dt nicht automatisch und Udev ist nicht daf r zust ndig Wenn ein Wrapper Modul nur die Funktionen eines anderen Moduls erweitert so erweitert z B das Modul snd pcm oss die Funktionalit t von snd pcm indem es die Soundkarte auch OSS Anwendungen zur Verf gung stellt dann richten Sie modprobe so ein dass es das Wrapper Modul l dt nachdem Udev das Hauptmodul geladen hat Dies erreichen Sie mit einer install Anweisung in etc modprobe conf Beispiel install sne ochm Sloiin mocorolos i sanc acm EN sbin modprobe snd pcm oss true Wenn es sich bei dem fraglichen Modul nicht um einen Wrapper handelt sondern alleinstehend geladen wird so richten Sie bitte das Bootskript S05modules ein sodass das Modul beim Booten geladen wird Dies erreichen Sie indem Sie den Modulnamen an die Datei etc sysconfig modules in einer eigenen Zeile anh ngen Dies funkt
56. Und zum Schluss kontrollieren Sie noch ob GCC den richtigen dynamischen Linker benutzt grep found dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist round Lk Times 80 2 aie Late A ie mx 2 Wenn Sie eine andere oder berhaupt keine Ausgabe erhalten ist etwas ernsthaft schiefgelaufen Sie m ssen das berpr fen und alle bisherigen Schritte noch einmal nachvollziehen um das Problem zu finden und zu beheben Machen Sie nicht weiter solange das Problem nicht behoben ist Am wahrscheinlichsten ist dass etwas beim Anpassen der specs Datei weiter oben nicht funktioniert hat Wenn Sie mit dem Ergebnis zufrieden sind l schen Sie die Testdateien rm v dummy c a out dummy log 6 12 2 Inhalt von GCC Installierte Programme c cc Link auf gcc cpp g gcc gecbug und gcov Installierte Bibliotheken libgcc a libgec_eh a libgcc_s so libmudflap a so libssp a so libstdc a so und libsupc a Kurze Beschreibungen c 97 cc cpp g gcc gccbug gcov libgec libssp libstdc libmudfl ap libsupc Linux From Scratch Version 6 3 Dies ist der C Compiler Dies ist der C Compiler Ein C Pr prozessor Er wird vom Compiler benutzt um include define und hnliche Anweisungen im Quellcode durch ihren endg ltigen Code zu ersetzen Dies ist der C Compiler Dies ist der C Compi
57. Voreinstellung f r die Berechtigungen 660 und die Ger tedatei geh rt root root Eine genauere Dokumentation zu den Konfigurationsdateien von Udev finden Sie unter usr share doc udev 113 index html 7 4 2 4 Laden von Modulen Als Modul kompilierte Ger tetreiber k nnen Aliase eingebaut haben Diese kann man sich mit dem Kommando modinfo ansehen und h ngen blicherweise mit den Bus Spezifischen Kennmarken eines vom Treiber unterst tzten Ger tes zusammen Beispielsweise unterst tzt der Treiber snd fm80l1 PCI Ger te mit der Hersteller ID 0x1319 und Ger te ID 0x0801 Der zugeh rige Alias lautet pc1 v00001319d00000801sv sd bc04scO1i F r die meisten Ger te exportiert der Bus Treiber den Alias des notwendigen Treibers nach sysfs So w rde beispielsweise die Datei sys bus pci devices 0000 00 0d 0 modalias den Wert pci v00001319d00000801sv00001319sd00001319bc04sc0 1100 enthalten Die mit LFS installierten Udev Regeln sorgen daf r dass udevd sbin modprobe mit dem Inhalt der uevent Umgebungsvariable MODALIAS aufruft sie sollte das Gleiche enthalten wie die Datei modalias in sysfs Dadurch werden alle Module aufgerufen deren Alias dem Wert entsprechen In diesem Beispiel bedeutet das aber auch dass zus tzlich zu snd fm801 noch er veraltete und unerw nschte Treiber forte geladen wird sofern er verf gbar ist Weiter unten ist eine M glichkeit beschrieben wie man das Laden unerw nschter Treiber verhindern kann
58. Wir raten Ihnen die Tests unter keinen Umst nden zu berspringen Testen Sie das Ergebnis make check 93 Linux From Scratch Version 6 3 Installieren Sie das Paket make tooldir usr install Installieren Sie die Header Datei 1ibiberty sie wird von einigen Paketen ben tigt cp v binutils 2 17 include libiberty h usr include 6 11 2 Inhalt von Binutils Installierte Programme Installierte Bibliotheken addr2line ar as c filt gprof Id nm objcopy objdump ranlib readelf size strings und strip libiberty a libbfd a so und libopcodes a so Kurze Beschreibungen addr2line ar as c filt gprof Id nm objcopy objdump ranlib readelf size strings strip libiberty libbfd libopcodes Konvertiert Programmadressen zu Dateinamen und Zeilennummern Mit Hilfe des Programmnamens und einer Speicheradresse benutzt das Programm Debugging Informationen in der ausf hrbaren Datei um herauszufinden welche Quelldatei und Zeilennummer mit der Adresse assoziiert ist Wird zum Erzeugen und Extrahieren von Dateien aus einem Archiv verwendet Ein Assembler Er assembliert die Ausgabe von gece zu Objektdateien Wird vom dynamischen Linker benutzt um C und Java Symbole aufzuschl sseln damit berladene Funktionen nicht in Konflikt geraten Zeigt call graph Profiling Daten an Ein Linker Er verbindet mehrere Objektdateien und Archivdateien zu einer
59. _id Hilfsprogramme von Udev Schauen Sie f r einige Beispiele unter Abschnitt 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten Abschnitt 7 13 Einrichten des network Skripts nach 7 4 4 N tzliche Dokumentation Weitere hilfreiche Dokumentation finden Sie an den folgenden Stellen A Userspace Implementation of dev s http www kroah com linux talks ols_2003_udev_paper Reprint Kroah Hartman OLS2003 pdf udev FAQ http www kernel org pub linux utils kernel hotplug udev FAQ The sysfs Filesystem http www kernel org pub linux kernel people mochel doc papers ols 2005 mochel pdf 7 5 Einrichten des setclock Skripts Das Skript setclock liest die Zeit aus der Hardware Uhr des Computers auch bekannt als BIOS oder CMOS Uhr und konvertiert sie mit Hilfe von etc localtime falls die Hardware Uhr auf GMT gestellt ist in lokale Zeit Die Datei etc localtime enth lt die Information in welcher Zeitzone sich der Anwender befindet Wenn die Hardware Uhr auf lokale Zeit eingestellt ist wird die Zeit nicht konvertiert Es gibt leider keinen Weg um automatisch herauszufinden ob die Hardware Uhr auf GMT gestellt ist oder nicht deshalb m ssen Sie diese Einstellung selber vornehmen Falls Sie sich nicht erinnern k nnen ob die Hardware Uhr auf GMT eingestellt ist rufen Sie hwclock localtime show auf Dieses Kommando zeigt die Zeit der Hardware Uhr an Wenn sie mit der Zeit auf Ihrer Armbanduhr bereinstimmt
60. absolut kritisch betrachtet Sie sollten diesen Schritt unter keinen Umst nden berspringen Testen Sie das Ergebnis make k check 2 gt amp 1 tee glibc check log grep Error glibc check log Wahrscheinlich werden Sie einen erwarteten ignorierten Fehler im posix annexc Test bemerken Des Weiteren ist die Glibc Testsuite ein wenig vom Host System abh ngig Dies ist eine Liste der h ufigsten Fehler Der nptl tst cancell Test wird fehlschlagen wenn die 4 1 Serie von GCC zum Einsatz kommt Die Tests nptl tst clock2 und tst attr3 schlagen manchmal fehl Der Grund daf r ist nicht v llig klar die Ursache k nnte mit hoher Systemlast zusammenh ngen Der math Test schl gt manchmal fehl wenn Sie ein System mit einer lteren Intel oder AMD CPU verwenden Falls Sie die LFS Partition mit der Option noat ime eingeh ngt haben wird der atime Test fehlschlagen Wie schon unter Abschnitt 2 4 Einh ngen mounten der neuen Partition erw hnt wurde sollten Sie den Parameter noat ime beim Bau von LFS nicht verwenden Auf alter oder langsamer Hardware oder unter hoher Systemlast k nnen einige Tests aufgrund von Zeit berschreitungen fehlschlagen Auch wenn es nur eine harmlose Meldung ist die Installationsroutine von Glibc wird sich ber die fehlende Datei etc 1d so conf beschweren Beheben Sie diese st rende Warnung mit touch etc ld so conf Installieren Sie das Paket 86 Linux From Scratch Ve
61. allgemeine Routine zum Anzeigen von Fehlern Wird von dumpe2fs chattr und Isattr benutzt Enth lt Routinen die Programme im _ Benutzerkontext zum Manipulieren eines ext 2 Dateisystems verwenden k nnen Wird von debugfs benutzt Enth lt Routinen zum Erzeugen von einmaligen Bezeichnern f r Objekte die hinter dem lokalen System verf gbar sein k nnten 104 Linux From Scratch Version 6 3 6 16 Coreutils 6 9 Das Paket Coreutils enth lt viele Shell Werkzeuge zum Einstellen der grundlegenden Systemeigenschaften Gesch tzte 1 0 SBU Kingef herbeit tigter 72 4 MB Festplattenplatz 6 16 1 Installation von Coreutils Die Funktion von uname ist bekannterweise ein wenig fehlerhaft weil der Parameter p immer unknown ausgibt Der folgende Patch behebt das Problem auf Intel Architekturen patch Npl i coreutils 6 9 uname 1 patch Normalerweise w rde Coreutils einige Programme installieren die sp ter von anderen Paketen bereitgestellt werden sollen Verhinden Sie die Installation dieser Programme mit diesem Patch patch Npl i coreutils 6 9 suppress_uptime_kill_su 1 patch Von POSIX wird verlangt dass die Programme von Coreutils Zeichengrenzen auch in Multibyte Locales erkennen Der folgende Patch behebt einige diesbez gliche Fehler patch Npl i coreutils 6 9 il8n 1 patch Damit die vom Patch hinzugef gten Tests erfolgreich durchlaufen k nnen m ssen die Zugriffsrechte f r
62. als 0 1 SBU Kingef herbeit tigter 0 4 MB Festplattenplatz 7 2 1 Installation von LFS Bootskripte Installieren Sie das Paket make install 7 2 2 Inhalt von LFS Bootskripte Installierte Skripte checkfs cleanfs console consolelog functions halt ifdown ifup localnet modules mountfs mountkernfs network rc reboot sendsignals setclock static swap sysctl sysklogd template udev und udev_retry Kurze Beschreibungen checkfs Pr ft die Integrit t von Dateisystemen bevor sie eingeh ngt werden mit der Ausnahme von journal und netzwerkbasierten Dateisystemen cleanfs Entfernt Dateien die nicht ber einen Neustart hinaus existieren sollten Dazu geh ren zum Beispiel die Dateien in var run und var lock Es erzeugt var run utmp und entfernt die eventuell vorhandenen Dateien etc nologin fastboot und forcefsck console Lad das f r Ihre Tastatur korrekte Tastaturlayout und stellt die Bildschirmschriftart ein consolelog Stellt die Protokollierungs Stufe des Kernels f r Konsole Meldungen ein functions Enth lt allgemeine Funktionen die von verschiedenen Skripten genutzt werden Dazu geh ren z B Fehler oder Statuspr fung halt H lt das System an ifdown Unterst tzt das Netzwerkskript beim Stoppen von Netzwerkger ten ifup Unterst tzt das Netzwerkskript beim Starten von Netzwerkger ten localnet Setzt den Hostnamen und das lokale Loopback Ger t auf modules L dt die in etc sysc
63. angegebenen Logindatei in einem benutzerfreundlicheren Format an Sendet eine Nachricht an alle angemeldeten Benutzer 173 Linux From Scratch Version 6 3 6 53 Tar 1 18 Das Paket Tar enth lt ein Archivprogramm Gesch tzte 0 3 SBU Kingef herbeit tigter 19 9 MB Festplattenplatz 6 53 1 Installation von Tar Bereiten Sie Tar zum Kompilieren vor configure prefix usr bindir bin libexecdir usr sbin Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 53 2 Inhalt von Tar Installierte Programme rmt und tar Kurze Beschreibungen rmt Mit diesem Programm kan man ein magnetorientiertes Bandlaufwerk an einem entfernten Rechner steuern Zur Kommunikation wird Interprozesskommunikation verwendet tar Wird zum Erzeugen Auflisten und Extrahieren von Dateien aus einem Archiv verwendet Diese Archive werden oft auch als Tarball bezeichnet 174 Linux From Scratch Version 6 3 6 54 Texinfo 4 9 Das Paket Texinfo enth lt Programme zum Lesen Schreiben und Konvertieren von Info Seiten Systemdokumentation Gesch tzte 0 2 SBU Kingef herbeit tigter 16 6 MB Festplattenplatz 6 54 1 Installation von Texinfo Das Programm info geht davon aus dass ein Text dieselbe Anzahl Zeichen auf dem Bildschirm wie Bytes im Speicher verbraucht und das ein solcher Text an jeder beliebigen Stel
64. as it is no longer recognised by the configure script 14 07 2007 dnicholson Updated the Glibc Branch Update patch to a new snapshot from upstream i dnicholson Made the Linux API Headers install safer by using an intermediate directory 06 07 2007 manuel Updated the stylesheets and Makefile to use the new XSL code and Fop 0 93 30 06 2007 matthew Add upstream patches for Vim matthew Upgrade to Udev 113 fixes 2040 matthew Upgrade to Texinfo 4 9 fixes 2041 matthew Upgrade to Tar 1 18 fixes 2039 matthew Upgrade to Libtool 1 5 24 fixes 2038 matthew Upgrade to Less 406 fixes 2036 alexander Updated inetutils MD5 sum Upstream has re released the tarball with the only changes being relicensing under GPLV3 or later and re autotooling Linux From Scratch Version 6 3 29 06 2007 alexander Use stable download location for Man Pages 28 06 2007 dnicholson Upgrade to Man Pages 2 60 fixes 2035 17 06 2007 matthew Upgrade to Udev 112 fixes 2030 i matthew Upgrade to Man Pages 2 56 fixes 2034 j matthew Upgrade to Linux 2 6 21 5 fixes 2027 12 06 2007 ken Upgrade to file 4 21 fixes 2017 i ken Upgrade to less 403 fixes 2019 j ken Upgrade to man pages 2 55 fixes 2028 ken Upgrade to findutils 4 2 31 fixes 2025 R ken Upgrade to tar 1 17 fixes 2029 10 06 2007 manuel Added a note about possi
65. auf den Sie w hrend der ganzen Zeit bequemen zugreifen k nnen Au erdem ben tigen Sie einen Arbeitsordner zum Entpacken und Kompilieren der Quellen Am besten benutzen Sie den Ordner LFS sources sowohl zum Speichern der Quellen und Patches als auch als Arbeitsordner Damit haben Sie alles N tige immer auf der LFS Partition und in allen Arbeitsschritten des Buches verf gbar Sie sollten folgendes Kommando als Benutzer root auszuf hren bevor Sie mit dem Herunterladen der Pakete beginnen mkdir v SLFS sources Machen Sie den Ordner f r jeden beschreibbar und sticky Der Sticky Modus bewirkt dass jeweils nur der Besitzer einer Datei diese auch l schen kann selbst dann wenn mehrere Benutzer Schreibrechte in dem Ordner haben Das folgende Kommando schaltet Schreib und Sticky Berechtigungen ein chmod v atwt SLFS sources 3 2 Alle Pakete Bitte laden Sie die folgenden Pakete herunter e Autoconf 2 61 1 018 kB Webseite http www gnu org software autoconf Download http ftp gnu org gnu autoconf autoconf 2 61 tar bz2 MDS5 Pr fsumme 36d3fe706ad0950f1be10c46a429efe0 e Automake 1 10 873 kB Webseite http www gnu org software automake Download http ftp gnu org gnu automake automake 1 10 tar bz2 MD5S Priifsumme 0e2e0 f757f9e1le89b66033905860 fded e Bash 3 2 2 471 kB Webseite http www gnu org software bash Download http ftp gnu org gnu bash bash 3 2 tar gz MD5S Priifsu
66. aus bzw fiigt sie zusammen ndert die Gruppenzugeh rigkeit von Dateien und Ordnern ndert die Zugriffsrechte der angegebenen Dateien Der Modus kann entweder symbolisch in Form der durchzuf hrenden Anderungen oder als Oktalzahl angegeben werden repr sentiert die absoluten neuen Rechte ndert Besitzer und oder Gruppenzugeh rigkeit der angegebenen Dateien und Ordner Macht den angegebenen Ordner tempor r zum neuen Basisordner f r den bergebenen Befehl z B bash Der Befehl wird dann in diesem Gef ngnis ausgef hrt Gibt die CRC Pr fsumme Cyclic Redundancy Check und die Anzahl der Bytes einer angegebenen Datei aus Vergleicht zwei sortierte Dateien und gibt in drei Spalten die Zeilen aus die jeweils einzigartig 106 cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid hostname id install join link In logname Is md5sum mkdir Linux From Scratch Version 6 3 bzw gleich sind Kopiert Dateien Teilt eine Datei in mehrere neue Dateien Dazu wird ein bestimmtes Muster oder Zeilennummern verwendet Au erdem gibt esplit die Anzahl Bytes der neuen Dateien aus Gibt Ausschnitte von Zeilen aus Die Ausschnitte werden nach Feldern oder Positionsangaben gew hlt Gibt die aktuelle Zeit im angegebenen Format aus oder stellt die Systemzeit ein Kopiert eine Datei mit der angegebenen Blockgr
67. das System nun heruntergefahren wird Der erste gestartete Prozess nachdem der Kernel die Hardware initialisiert hat Init bernimmt den Bootvorgang und startet alle anstehenden Programme Sendet ein Signal an alle Prozesse au er denen in der eigenen Sitzung so beendet es nicht die Programme die das Skript ausf hren welches es aufgerufen hat Zeigt welcher Benutzer als letztes eingeloggt und ausgeloggt hat indem es die Datei var log wtmp durchsucht Es kann auch Systemstarts und stopps sowie Wechsel der Runlevel zeigen Zeigt die letzten fehlgeschlagenen Login Versuche die in var log btmp protokolliert wurden Kontrolliert welche anderen Benutzer Nachrichten auf das aktuelle Terminal senden k nnen Pr ft ob der Ordner ein Mountpunkt ist Gibt die PIDs eines Programms aus Weist den Kernel an das System anzuhalten und den Computer auszuschalten Siehe auch die Beschreibung zu halt Weist den Kernel an das System neu zu starten Siehe auch die Beschreibung zu halt Zeigt den vorigen und den aktuellen Runlevel an Die n tigen Informationen werden aus var run utmp gelesen F hrt das System sicher herunter sendet entsprechende Signale an alle Prozesse und benachrichtig alle angemeldeten Benutzer Erm glicht es root sich einzuloggen Dies wird normalerweise von init gestartet wenn das System im Einbenutzermodus gestartet wurde Weist init an in den angegebenen Runlevel zu wechseln Zeigt den Inhalt der
68. dazugeh rige Fehlermeldung en Eric S Raymond hat zu diesem Thema einen sehr guten Artikel geschrieben Sie finden ihn unter http catb org esr fags smart questions html Lesen und befolgen Sie bitte seine Tipps So erh hen Sie Ihre Chance dass Sie auf Ihre Frage eine Antwort erhalten mit der Sie auch etwas anfangen k nnen 20 Linux From Scratch Version 6 3 Teil Il Vorbereitungen zur Installation Linux From Scratch Version 6 3 Kapitel 2 Vorbereiten einer neuen Partition 2 1 Einf hrung In diesem Kapitel bereiten Sie die Partition vor die sp ter Ihr neues LFS System enthalten wird Sie erstellen die Partition erzeugen darauf ein Dateisystem und h ngen sie anschlie end ein mounten 2 2 Erstellen einer neuen Partition Wie die meisten Betriebssysteme wird auch LFS auf einer separaten Partition installiert Sie sollten f r LFS bereits eine leere Partition haben oder eine neue Partition anlegen Ein LFS kann aber auch in einer bereits belegten Partition installiert werden sodass mehrere Betriebssyteme nebeneinander existieren Das Dokument http www linuxfromscratch org hints downloads files lfs_next_to_existing_systems txt erkl rt wie man dies einrichtet Im Buch gehen wir allerdings nur darauf ein wie man LFS auf eine leere dedizierte Partition installiert F r ein Minimal System ben tigen Sie eine Partition mit etwa 1 3 GB Platz Das reicht aus um die Quellpakete zu speichern und alle Pakete zu
69. die Anweisungen aus Abschnitt 6 9 Glibc 2 5 1 Details zu diesem Paket finden Sie in Abschnitt 6 9 4 Inhalt von Glibc 46 Linux From Scratch Version 6 3 5 7 Anpassen der Toolchain Jetzt nachdem die tempor ren C Bibliotheken installiert sind wollen wir alle im Rest des Kapitels kompilierten Werkzeuge gegen diese Bibliotheken verlinken Um das zu erreichen m ssen Sie den Linker und die specs Datei des Compilers anpassen Der am Ende des ersten Durchlaufes von Binutils angepasste Linker muss umbenannt werden da er sonst nicht korrekt gefunden und benutzt wird Sichern Sie zun chst den urspr nglichen Linker dann ersetzen Sie ihn durch den angepassten Au erdem erzeugen Sie eine Verkn pfung auf das Gegenst ck in tools gcc dumpmachine bin mv v tools bin ld 1d old mv v tools gcc dumpmachine bin ld 1d old mv v tools bin ld new 1d In sv tools bin ld tools gcc dumpmachine bin ld Von diesem Punkt an wird alles ausschlie lich gegen die Bibliotheken in tools 1ib verlinkt Der n chste Schritt ist nun GCC auf den neuen dynamischen Linker zu verweisen Legen Sie dazu GCCs specs Datei an einem Ort ab wo GCC standardm ig sucht Dann wird der von GCC verwendete dynamische Linker durch einen einfachen sed Aufruf angepasst Es wird empfohlen das obige Kommando nicht abzuschreiben sondern mittels Kopieren und Einf gen auszuf hren Sie k nnen die specs Datei auc
70. die Datei etc inittab cat gt etc inittab lt lt EOF Begin etc inittab LEl 38 Amt EE EE MewarLtes ere ze c inie ce ze 0 eSiswaies ete re c imit d re i swailt 2 Ste deen Cl ine line Get s eebe deen Cl init 5 Cl ee swale 3 ebe ie ld dime 6l we walte ebe dee Cl ett 6l ire wats dee deen e anne Ore NORBWNE O Duo WN Dos WN ca 12345 ctrlaltdel sbin shutdown EL a r now sus SV In once EE ee 123455 respawn sbin agetty E 123453 respa sbin agetty cty2 9600 123453 respbarn sbiln agetty tty 9600 23455 respawn sbin agetty tuys 9600 SSwMNH Linux From Scratch Version 6 3 5 2345 respawn sbin agetty tty5 9600 6 2345 respawn sbin agetty tty6 9600 ane Aer d mate st EOF 6 52 3 Inhalt von Sysvinit Installierte Programme bootlogd halt init killall5 last lastb Link auf last mesg mountpoint pidof Link auf killall5 poweroff Link auf halt reboot Link auf halt runlevel shutdown sulogin telinit Link auf init utmpdump und wall Kurze Beschreibungen bootlogd halt init killall5 last lastb mesg mountpoint pidof poweroff reboot runlevel shutdown sulogin telinit utmpdump wall Protokolliert Bootmeldungen in eine Datei Ruft blicherweise shutdown mit dem Parameter h auf au er wenn der aktuelle Runlevel 0 ist dann teilt es dem Kernel mit das System anzuhalten Vorher vermerkt es in var log wtmp dass
71. dieser Regel patch Mel i diffutils 2 8 1 i18n 1 patch Der obige Patch hat den Nebeneffekt dass die Man page diff 1 mit dem fehlenden Programm help2man neu erzeugt werden w rde Dies ergibt eine unleserliche Man page f r diff Wir k nnen das Problem vermeiden indem wir den Zeitstempel von man diff 1 aktualisieren touch man diff 1 Bereiten Sie Diffutils zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 30 2 Inhalt von Diffutils Installierte Programme cmp diff diff3 und sdiff Kurze Beschreibungen cmp Vergleicht zwei Dateien und berichtet ob und an welchen Bytes sie sich unterscheiden diff Vergleicht zwei Dateien oder Ordner und berichtet in welchen Zeilen sie sich unterscheiden diff3 Vergleicht drei Dateien Zeile fiir Zeile sdiff F hrt interaktiv zwei Dateien zusammen und gibt das Ergebnis aus 132 Linux From Scratch Version 6 3 6 31 File 4 21 File ist ein kleines Werkzeug mit dem man den Dateityp einer oder mehrerer Dateien feststellen kann Gesch tzte 0 1 SBU Kingef herbeit tigter 7 9 MB Festplattenplatz 6 31 1 Installation von File Bereiten Sie File zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Si
72. dropping the now unnecessary fixes patch matthew Upgrade to Coreutils 6 4 matthew Upgrade to Bash 3 2 including dropping the current fixes patch and adding a patch from upstream that fixes a bug when parsing comments matthew Upgrade to Automake 1 10 23 10 2006 j bryan Add an explanation of how to discover PCI bus locations for network devices Fixes 1904 21 10 2006 bryan Upgrade to udev 103 bryan Upgrade to udev config 20061021 install its doc files bryan Install common rules from udev package 15 10 2006 dnicholson Fixed console setup page to reference the correct location for the kbd data Thanks to Norman Urs Baier for reporting the issue bryan Upgrade to udev 102 remove patch bryan Upgrade to udev config 20061014 05 10 2006 bryan Add udev 101 fix sas path_id 1 patch bryan Update udev config for Linux 2 6 18 This version also contains the new doc subdirectory with explanations of most of the rules 02 10 2006 matthew Upgrade to Texinfo 4 8a 15 Linux From Scratch Version 6 3 matthew Updated the text regarding UTF 8 support in the latest version of Linux Thanks to Alexander Patrakov for the patch matthew Remove Linux Libc Headers replacing it with the make headers_install target now available in the upstream kernel sources matthew Upgrade to Udev 101 matthew Upgrade to Psmisc 22 3 matthew
73. enth lt und sich mit der Aktualisierung der Name der Bibliothek ndert dann m ssen alle Programme die die Bibliothek verwenden neu kompiliert werden Beachten Sie zwischen dem Namen der Bibliothek und der Paketversion besteht grunds tzlich kein Zusammenhang Angenommen Sie haben das Paket foo 1 2 3 mit der gemeinsamen Bibliothek 1ibfoo so 1 Dieses Paket aktualisieren Sie nun auf Version 1 2 4 welche die Bibliothek namens libfoo so 2 installiert In diesem Fall m ssen Sie alle Programme neu kompilieren die libfoo so 1 verwenden damit sie in Zukunft libfoo so 2 referenzieren Beachten Sie auch Sie d rfen die alte Bibliothek erst entfernen wenn alle davon abh ngigen Pakete aktualisiert wurden 6 3 2 Techniken zur Paketverwaltung Im Folgenden werden einige Techniken zur Paketverwaltung beschrieben Bevor Sie sich f r eine entscheiden informieren Sie sich bitte ber die jeweilige Technik insbesondere ber die m glichen Nachteile 6 3 2 1 Ich behalte alles im Kopf Ja auch das ist eine Methode der Paketverwaltung Manche Leute ben tigen einfach keine Software zur Paketverwaltung weil sie alle Pakete gut kennen und wissen welche Dateien vom jeweiligen Paket installiert werden Andere Leute ben tigen m glicherweise keine Paketverwaltung weil sie LFS neu installieren sobald ein Paket ge ndert wird 6 3 2 2 Installation in separate Ordner Diese einfache Methode der Paketverwaltung ben tigt keine weitere Software Jede
74. feature h Bereiten Sie Vim zum Kompilieren vor configure prefix usr enable multibyte Die Bedeutung der configure Parameter enable multibyte Dieser Parameter schaltet die Unterst tzung zum Editieren von Dateien mit Multibyte Zeichenkodierung ein Das wird ben tigt wenn Sie ein Locale mit Multibyte Zeichensatz verwenden Dieser Parameter ist auch hilfreich wenn Sie Dateien bearbeiten m chten die mit Distributionen wie z B Fedora Core erzeugt wurden diese Distribution benutzt UTF 8 als voreingestellen Zeichensatz Kompilieren Sie das Paket make Wenn Sie das Ergebnis testen m chten k nnen Sie dazu make test verwenden Die Testsuite gibt jedoch eine Menge sinnlose Zeichen auf dem Bildschirm aus und k nnte die Einstellungen Ihres Terminals durcheinander bringen Sie k nnen die Ausgabe in eine Datei umleiten um dieses Problem zu umgehen Installieren Sie das Paket 183 Linux From Scratch Version 6 3 make install Viele Benutzer sind es gew hnt vi anstelle von vim zu starten Damit vim gestartet wird obwohl vi eingegeben wurde erzeugen Sie einen symbolischen Link sowohl f r die Bin rdatei als auch f r die Hilfeseite in den verf gbaren Sprachen In sv vim usr bin vi for L in fr it pl ru do In sv vim 1 usr share man L manl vi l done In der Voreinstellung wird die Dokumentation zu Vim in usr share vin installiert Durch den folgenden symbolische
75. funktioniert so Das erste zu kompilierende Paket ist Binutils in Kapitel 5 Die Zeit die Ihr Computer zum Kompilieren dieses Pakets braucht entspricht einer Standard Binutils Unit bzw SBU Alle weiteren Kompilierzeiten werden relativ zu dieser Zeit angegeben Nehmen Sie als Beispiel ein Paket mit 4 5 SBU Wenn das Kompilieren der Binutils 10 Minuten gedauert hat dann dauert es ungef hr 45 Minuten um das Beispielpaket zu bauen Gl cklicherweise sind die meisten Kompilierzeiten k rzer als die der Binutils Grunds tzlich sind SBUs relativ ungenau weil sie auf vielen Faktoren basieren inklusive der GCC Version des Host Systems Auf Mehrprozessormaschinen k nnen SBUs sogar noch ungenauer sein SBUs sollen Ihnen eine ungef hre Vorstellung davon geben wieviel Zeit das Installieren eines Pakets ben tigt Die Angaben k nnen allerdings unter Umst nden stark abweichen Wenn Sie sich aktuelle Zeitangaben f r bestimmte Computerkonfigurationen ansehen m chten schauen Sie doch mal unter http www linuxfromscratch org sbu 4 6 ber die Testsuites Die meisten Pakete enthalten auch eine Testsuite Es ist prinzipiell immer eine gute Idee eine solche Testsuite f r neu kompilierte Programme auch durchlaufen zu lassen So stellen Sie sicher dass alles korrekt kompiliert wurde Wenn eine Testsuite alle ihre Tests erfolgreich durchl uft k nnen Sie ziemlich sicher sein dass das Paket so funktioniert wie es der Entwickler vorgese
76. g S erzeugt wurden Konvertiert sed Skripte zu perl Erzwingt die ausf hrliche Analyse von Warnungen in Perl Konvertiert Perl XS Code zu C Code 120 Linux From Scratch Version 6 3 6 24 Readline 5 2 Das Paket Readline enth lt Bibliotheken die Unterst tzung f r einen Verlauf und das Bearbeiten von Kommandozeilen bereitstellen Gesch tzte 0 1 SBU Kingef herbeit tigter 10 2 MB Festplattenplatz 6 24 1 Installation von Readline Durch die Neuinstallation von Readline werden die alten Bibliotheken nach lt bibliothek gt old umbenannt Normalerweise ist das kein Problem kann aber in einigen wenigen F llen zu Linkerproblemen in ldconfig f hren Das Problem l sst sich mit den folgenden beiden seds umgehen sed i MV old d Makefile in sed i OLDSUFF c support shlib install Readline enth lt einen Fehler bei der Verarbeitung von Mehrbyte Zeichen der zu falsch errechneten Terminal Ausma en und daher zu Fehldarstellungen f hren Kann Beheben Sie den Fehler mit dem folgenden Patch der Upstream Entwickler patch Npl i readline 5 2 fixes 3 patch Bereiten Sie Readline zum Kompilieren vor configure prefix usr libdir lib Kompilieren Sie das Paket make SHLIB_LIBS Incurses Die Bedeutung der make Option SHLIB_LIBS Incurses Dieser Parameter zwingt Readline gegen die Bilbiothek libncurses zu linken in Wirklichkeit nat rlich libncursesw Die
77. getent iconv iconvconfig ldconfig ldd Iddlibc4 locale localedef mtrace nscd pcprofiledump pt_chown rpcgen rpcinfo sln sprof tzselect xtrace zdump und zic Installierte Bibliotheken ld so libBrokenLocale a so libSegFault so libanl a so libbsd compat a libc a so libcidn so libcrypt a so libdl a so libg a libieee a libm a so libmcheck a libmemusage so libnsl a so libnss_compat so libnss_dns so 88 Linux From Scratch Version 6 3 libnss_files so libnss_hesiod so libnss_nis so libnss_nisplus so libpcprofile so libpthread a so libresolv a so librpcsvc a librt a so libthread_db so und libutil a so Kurze Beschreibungen catchsegv gencat getconf getent iconv iconvconfig Idconfig Idd Iddlibc4 locale localedef mtrace nscd pcprofiledump pt_chown rpcgen rpcinfo sln sprof tzselect xtrace zdump zic JO ao libBrokenLocale libSegFault libanl Kann zum Erzeugen eines Stacktrace benutzt werden falls ein Programm mit einem Speicherzugriffsfehler abstiirzt Erzeugt Nachrichtenkataloge Zeigt System Konfigurationswerte fiir dateisystemspezifische Variablen an Liest Eintr ge aus einer administrativen Datenbank F hrt Zeichensatzkonvertierungen durch Erzeugt schnellladende iconv Konfigurationsdateien Richtet die Laufzeitbindungen des dynamischen Linkers ein Gibt aus welche gemeinsamen Bibliotheken von einem Programm oder ein
78. nglich aus MS DOS oder Windows stammen das sind vfat ntfs smbfs cifs iso9660 udf m ssen mit dem mount Parameter iocharset eingebunden werden damit Nicht Ascii Zeichen in Dateinamen korrekt gehandhabt werden k nnen Der Wert des Parameters sollte Ihrer Locale Einstellung entsprechen so angepasst dass der Kernel ihn verstehen kann Dies funktioniert nur wenn der n tige Zeichensatz zu finden unter File systems gt Native Language Support in den Kernel eingebaut oder als Modul kompiliert ist Der Parameter codepage ist des Weiteren f r vfat und smbfs Dateisysteme erforderlich Der Wert sollte der in Ihrem Land unter MS DOS verwendeten Codepage entsprechen Um beispielsweise einen USB Stick in ru_RU KOIS R einzubinden muss der Benutzer diese Zeile in etc fstab eintragen noauto user quiet showexec iocharset koi8r codepage 866 Die entsprechenden Optionen f r ru_RU UTF 8 lauten noauto user quiet showexec iocharset ut 8 codepage 366 209 Linux From Scratch Version 6 3 Anmerkung Im letzteren Fall wird der Kernel die folgende Meldung ausgeben FAT utf8 is not a recommended IO charset for FAT filesystens filesystem will be case sensitive Diese Meldung sollte einfach ignoriert werden da alle anderen Werte f r iocharset zu einer fehlerhaften Darstellung der Dateinamen in UTF 8 f hren w rden Es ist ebenso m glich die Werte f r codepage und iocharset f r bes
79. patch Datei ist blicherweise eine Auflistung von Unterschieden die mit dem Programm diff erzeugt wurde Durch Anwenden dieser Unterschiede auf die Originaldateien erstellt patch eine gepatchte Version 163 Linux From Scratch Version 6 3 6 49 Psmisc 22 5 Das Paket Psmisc enth lt Programme zum Anzeigen von Prozessinformationen Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 2 2 MB Festplattenplatz 6 49 1 Installation von Psmisc Bereiten Sie Psmisc zum Kompilieren vor configure prefix usr exec prefix Die Bedeutung der configure Parameter exec prefix Dies stellt sicher dass die Bin rdateien von Psmisc nach bin anstelle von usr bin installiert werden Lt FHS ist dies der korrekte Ort weil einige der Programme in den LFS Bootskripten verwendet werden Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install pstree und pstree x11 m ssen nicht in bin liegen Daher verschieben Sie sie nach usr bin mv v bin pstree usr bin Normalerweise wird Psmiscs Programm pidof nicht installiert Das ist meistens kein Problem weil wir sp ter das Paket Sysvinit installieren welches eine bessere Version von pidof installiert Aber wenn Sie nicht Sysvinit verwenden m chten k nnen Sie die Installation von Psmisc durch Erstellen dieses Links komplettieren In sv killall bin pidof 6
80. section Reported by Steve Crosby 24 03 2007 i dnicholson Upgrade the Bash fixes patch to include the latest 011 015 patches from upstream dnicholson Upgrade the Readline fixes patch to include the latest 002 patch from upstream 23 03 2007 dnicholson Don t install the kernel headers in usr include scsi as the ones provided by Glibc are preferred dnicholson Force Idd to use bin bash since it contains Bash specific syntax dnicholson When readjusting the GCC specs file ensure that GCC will search for the system headers in usr include An addition to the toolchain sanity checks has been made to test this This fix originates from DIY Linux dnicholson Included the branch update patch for the temporary Glibc in Chapter 5 to help minimize differences with the final Glibc 21 03 2007 manuel Updated book sources to use DocBook XML DTD 4 5 19 03 2007 matthew Change the default home directory for new users and do not create mail spool files for them Add a mail group so that if Shadow is configured to create mail spool files for new users it can do so without issuing a warning matthew Upgrade to Shadow 4 0 18 1 Fixes 1850 matthew Upgrade to Linux 2 6 20 3 Fixes 1971 matthew Upgrade to IPRoute2 2 6 20 070313 Fixes 1974 matthew Upgrade the Bash fixes patch to include the latest patch from upstream Fixes 1973 14 03 2007 dnicholson Force the host s linker to be used t
81. true tsort tty uname unexpand uniq unlink users vdir we who whoami yes Linux From Scratch Version 6 3 Schreibt den Dateisystempuffer Ge nderte Bl cke werden auf die Festplatte geschrieben und der Superblock wird aktualisiert F gt Dateien r ckw rts zusammen Gibt die letzten zehn oder die angegebene Anzahl von Zeilen einer Datei aus Liest von der Standardeingabe w hrend gleichzeitig auf die Standardausgabe und in eine Datei geschrieben wird Vergleicht Werte und pr ft Dateitypen ndert Zeitstempel von Dateien setzt Zugriffs und nderungszeit einer Datei auf die aktuelle Zeit Dateien die noch nicht existieren werden mit der L nge 0 angelegt bersetzt quetscht oder entfernt Zeichen von der Standardeingabe Macht nichts ist immer erfolgreich Beendet immer mit einem Statuscode der Erfolg bedeutet Sortiert topologisch Schreibt eine vollst ndig sortierte Liste entsprechend der teilweisen Sortierung in einer Datei Gibt den Dateinamen des Terminals aus das mit der Standardeingabe verbunden ist Gibt Systeminformationen aus Konvertiert Leerzeichen zu Tabulatoren Entfernt alle identischen Zeilen bis auf eine Entfernt eine Datei Gibt die Namen der eingeloggten Benutzer aus Macht das Gleiche wie Is 1 Gibt die Anzahl Zeilen W rter und Bytes einer Datei aus Und eine Summe falls mehrere Dateien angegeben wurden Zeigt an wer gerade eingeloggt ist Gibt den Benutzernamen a
82. und zwar am endg ltigen Installationsort fertig installiert In den meisten F llen ist der Grund daf r das diese Programme die Pfade zum fraglichen Paket fest in Skripten einbinden Wenn Sie sich nicht an die in LFS vorgegebene Installationsreihenfolge halten k nnten diese Programm Pfade wie tools bin bin rdatei in ihren Skripten einbinden dies w re absolut nicht w nschenswert Autoconf Vorauss f Installation Vorauss f Testsuite Installation vor Automake Vorauss f Installation Vorauss f Testsuite Installation vor Bash Vorauss f Installation Vorauss f Testsuite Installation vor Berkeley DB Vorauss f Installation Vorauss f Testsuite Installation vor Binutils Vorauss f Installation Vorauss f Testsuite Installation vor Bison Bash Coreutils Grep M4 Make Perl Sed und Texinfo Automake Diffutils Findutils GCC und Libtool Automake Autoconf Bash Coreutils Gettext Grep M4 Make Perl Sed und Texinfo Binutils Bison Bzip2 DejaGNU Diffutils Expect Findutils Flex GCC Gettext Gzip Libtool und Tar Kann auch noch einige weitere Pakete verwenden die nicht mit LFS installiert werden Keine Bash Bison Coreutils Diffutils GCC Glibc Grep Make Ncurses Patch Readline Sed und Texinfo Diffutils und Gawk Keine Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make und Sed Wird nicht ausgef hrt Ben tigt
83. verbose angeben Zum Beispiel gcc dummy c Wl verbose 2 gt amp 1 grep succeeded zeigt dass alle Dateien beim 38 Linux From Scratch Version 6 3 Linken erfolgreich ge ffnet werden konnten Das n chste zu installierende Paket ist GCC W hrend des Durchlaufs von configure sehen Sie zum Beispiel checking what assembler to use tools 1686 pc linux gnu bin as Checking waat linker tO Usec 2toole71686 pc mes EE Eeer Das ist aus den oben genannten Gr nden wichtig Hier wird auch deutlich dass GCCs configure Skript nicht die PATH Ordner durchsucht um herauszufinden welche Werkzeuge verwendet werden sollen Dennoch werden beim tats chlichen Ausf hren von gec nicht unbedingt die gleichen Suchpfade verwendet Welchen Standard Linker gee wirklich verwendet kann man mittels gcc print prog name 1d herausfinden Detaillierte Informationen erh lt man von gec indem man den Parameter v beim Kompilieren eines Dummy Programmes bergibt gec v dummy c zum Beispiel gibt Informationen ber den Pr prozessor Komilierungs und Assemblierungsphasen inklusive gees Suchpfaden und der Reihenfolge aus Das n chste zu installierende Paket ist Glibc Die wichtigsten berlegungen zum Kompilieren von Glibc besch ftigen sich mit dem Compiler Binutils und den Kernel Headern Der Compiler ist normalerweise kein Problem weil Glibc immer den gcc nimmt der in den PATH Ordnern gefu
84. z B sys block hdd sein und f hren Sie dieses Kommando aus udevtest sys block hdd Sehen Sie sich die Ausgabe der verschiedenen _id Programme an Der Modus nach ID verwendet den Wert ID_SERIAL sofern er verf gbar und nicht leer ist Ansonsten wird eine Kombination aus ID_MODEL und ID_REVISION verwendet Der Modus nach Pfad verwendet den Wert von ID_PATH Wenn der Standard Modus f r Ihre Situation unpassend zu sein scheint k nnen Sie folgende nderung an der Datei etc udev rules d 75 cd aliases generator rules vornehmen Ersetzen Sie mode entsprechend durch by id oder by path sed i e s write_cd_rules amp mode etc udev rules d 75 cd aliases generator rules Es ist nicht n tig die Regel Dateien oder symbolischen Links jetzt zu erstellen weil Sie den Ordner dev per bind in Ihr LFS System eingebunden haben und wir davon ausgehen dass die symbolischen Links auf dem Host System vorhanden sind Die Regeln und Links werden automatisch erzeugt wenn Sie Ihr neues System das erste mal neustarten Falls Sie allerdings mehrere CD Rom Laufwerke haben k nnen die dann erzeugten symbolischen Links auf andere Ger te verweisen als es auf Ihrem Host System der Fall war weil die Reihenfolge der Ger teerkennung nicht vorhersehbar ist Die Zuordnung wie sie beim ersten Neustart von LFS vorgenommen wird bleibt jedoch stabil so dass dies nur ein Problem ist wenn die symbolischen Links des Hos
85. 05 108 nl 105 108 nm 93 94 nohup 105 108 nologin 166 169 nroff 143 144 nscd 85 89 nstat 150 151 objcopy 93 94 objdump 93 94 od 105 108 oldfuser 164 164 openvt 152 153 passwd 166 169 paste 105 108 patch 163 163 pathchk 105 108 path_id 177 178 pcprofiledump 85 89 peekfd 164 164 perl 119 120 perl5 8 8 119 120 perlbug 119 120 perlcc 119 120 perldoc 119 120 perlivp 119 120 pfbtops 143 144 pg 180 182 pgawk 138 138 pgawk 3 1 5 138 138 pgrep 116 116 pic 143 144 pic2graph 143 144 piconv 119 120 pidof 172 173 ping 148 149 ping6 148 149 pinky 105 108 pivot_root 180 182 pkill 116 116 pl2pm 119 120 pltags pl 183 185 pmap 116 116 pod2html 119 120 pod2latex 119 120 pod2man 119 120 pod2text 119 120 pod2usage 119 120 podchecker 119 120 podselect 119 120 post grohtml 143 145 poweroff 172 173 238 Linux From Scratch Version 6 3 pr 105 108 pre grohtml 143 145 printenv 105 108 printf 105 108 prove 119 120 ps 116 116 psed 119 120 psfaddtable 152 153 psfgettable 152 153 psfstriptable 152 153 psfxtable 152 153 pstree 164 164 pstree x11 164 165 pstruct 119 120 ptx 105 108 pt_chown 85 89 pweat 138 139 pwck 166 169 pwconv 166 169 pwd 105 108 pwdx 116 116 pwunconv 166 169 py compile 126 127 ramsize 180 182 ranlib 93 94 raw 180 182 rcp 148 149 rdev 180
86. 07 diff 132 132 diff3 132 132 dir 105 107 dircolors 105 107 dirname 105 107 dmesg 180 181 dprofpp 119 120 du 105 107 dumpe2fs 102 103 dumpkeys 152 153 e2fsck 102 103 e2image 102 103 e2label 102 103 echo 105 107 edd_id 177 178 efm_filter pl 183 185 efm_perl pl 183 185 egrep 142 142 elisp comp 126 126 elvtune 180 181 enc2xs 119 120 env 105 107 envsubst 140 140 eqn 143 144 eqn2graph 143 144 ex 183 185 expand 105 107 expect 50 51 expiry 166 168 expr 105 107 factor 105 107 faillog 166 168 false 105 107 fdformat 180 181 fdisk 180 181 fgconsole 152 153 fgrep 142 142 file 133 133 filefrag 102 103 find 134 134 find2perl 119 120 findfs 102 103 firmware sh 177 178 flex 136 136 flock 180 181 fmt 105 107 fold 105 107 frcode 134 134 free 116 116 fsck 102 103 fsck cramfs 180 181 fsck ext2 102 103 fsck ext3 102 103 fsck minix 180 181 ftp 148 149 fuser 164 164 g 95 98 gawk 138 138 gawk 3 1 5 138 138 gcc 95 98 gccbug 95 98 gcov 95 98 gencat 85 89 generate modprobe conf 161 161 genl 150 150 geqn 143 144 getconf 85 89 getent 85 89 getkeycodes 152 153 236 Linux From Scratch Version 6 3 getopt 180 181 gettext 140 140 gettext sh 140 140 gettextize 140 140 gpasswd 166 168 gprof 93 94 grcat 138 138 grep 142 142 gm 143 144 grodvi 143 14
87. 1 Das Paket Make enth lt Werkzeuge zum Kompilieren von Software Gesch tzte 0 1 SBU Kingef herbeit tigter 9 6 MB Festplattenplatz 6 44 1 Installation von Make Bereiten Sie Make zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 44 2 Inhalt von Make Installiertes Programm make Kurze Beschreibungen make Erkennt automatisch welche Teile eines gro en Programms neu kompiliert werden m ssen und f hrt automatisch die notwendigen Kommandos aus 155 Linux From Scratch Version 6 3 6 45 Man DB 2 4 4 Man DB enth lt Programme zum Finden und Anzeigen von Hilfeseiten Man pages Gesch tzte 0 2 SBU Kingef herbeit tigter 9MB Festplattenplatz 6 45 1 Installation von Man DB Zuerst nehmen Sie vier Anpassungen an den Quellen von Man DB vor Die erste ndert den Standort der mitgelieferten bersetzten Hilfeseiten damit diese sowohl im traditionellen als auch im UTF 8 Format verf gbar sind mv man de _DE 88591 mv man es _ES 88591 mv man it _IT 88591 mv man ja _JP eucJP sed i s _ man Makefile in Die zweite Anpassung ist eine sed Ersetzung mit deren Hilfe die Zeilen usr man usr local man in man_ db conf gel scht werden Dadurch werden redundante Ergebnisse vermieden wenn Programme wie
88. 239 Linux From Scratch Version 6 3 sysctl 116 116 syslogd 170 171 tac 105 109 tack 113 114 tail 105 109 tailf 180 182 talk 148 149 tar 174 174 tbl 143 145 tc 150 151 telsh 49 49 tclsh8 4 49 49 tee 105 109 telinit 172 173 telnet 148 149 tempfile 160 160 test 105 109 texi2dvi 175 176 texi2pdf 175 176 texindex 175 176 tfmtodit 143 145 tftp 148 149 tic 113 114 tload 116 116 toe 113 114 top 116 116 touch 105 109 tput 113 114 tr 105 109 troff 143 145 true 105 109 tset 113 115 tsort 105 109 tty 105 109 tune2fs 102 103 tunelp 180 182 tzselect 85 89 udevcontrol 177 178 udevd 177 178 udevinfo 177 178 udevmonitor 177 178 udevsettle 177 179 udevtest 177 179 udevtrigger 177 179 ul 180 182 umount 180 182 uname 105 109 uncompress 146 146 unexpand 105 109 unicode_start 152 153 unicode_stop 152 153 uniq 105 109 unlink 105 109 updatedb 134 135 uptime 116 116 usb_id 177 179 useradd 166 169 userdel 166 169 usermod 166 169 users 105 109 utmpdump 172 173 uuidgen 102 103 vdir 105 109 vi 183 185 vidmode 180 182 view 183 185 vigr 166 169 vim 183 185 vim132 183 185 vim2html pl 183 185 vimdiff 183 185 vimm 183 185 vimspell sh 183 185 vimtutor 183 186 vipw 166 169 vmstat 116 116 vol_id 177 179 w 116 116 wall 172 173 watch 116 117 we
89. 4 groff 143 144 groffer 143 144 grog 143 144 grolbp 143 144 grolj4 143 144 grops 143 144 grotty 143 144 groupadd 166 168 groupdel 166 168 groupmems 166 168 groupmod 166 168 groups 105 107 grpck 166 168 grpconv 166 168 grpunconv 166 168 grub 137 137 grub install 137 137 grub md5 crypt 137 137 grub set default 137 137 grub terminfo 137 137 gtbl 143 144 gunzip 146 146 gzexe 146 146 gzip 146 146 h2ph 119 120 h2xs 119 120 halt 172 173 head 105 107 hexdump 180 181 hostid 105 107 hostname 105 107 hostname 140 140 hpftodit 143 144 hwelock 180 181 iconv 85 89 iconvconfig 85 89 id 105 107 ifcfg 150 150 ifnames 125 125 ifstat 150 150 igawk 138 138 indxbib 143 144 info 175 176 infocmp 113 114 infokey 175 176 infotocap 113 114 init 172 173 insmod 161 161 insmod static 161 162 install 105 107 install info 175 176 install sh 126 126 instmodsh 119 120 ip 150 150 iperm 180 181 ipcs 180 181 isosize 180 181 join 105 107 kbdrate 152 153 kbd_mode 152 153 kill 116 116 killall 164 164 killall5 172 173 klogd 170 170 last 172 173 lastb 172 173 lastlog 166 168 ld 93 94 Idconfig 85 89 ldd 85 89 lddlibc4 85 89 less 154 154 less sh 183 185 lessecho 154 154 lesskey 154 154 lex 136 136 lexgrog 156 159 Ifskernel 2 6 22 5 211 213 libnetcfg 119 120 libtool 118 118
90. 6 57 3 Inhalt von Vim Installierte Programme efm_filter pl efm_perl pl ex Link auf vim less sh mve awk pltags pl ref rview Link auf vim rvim Link auf vim shtags pl vi Link auf vim view Link auf vim vim vim132 vim2html pl vimdiff Link auf vim vimm vimspell sh vimtutor und xxd Kurze Beschreibungen efm_filter pl efm_perl pl ex less sh mve awk pltags pl ref rview rvim shtags pl vi view vim vim132 vim2html pl vimdiff vimm vimspell sh Ein Filter zum Erzeugen einer Fehlerdatei die von vim gelesen werden kann Reformatiert Fehlermeldungen von Perl um sie mit dem Quickfix Modus von vim benutzen zu k nnen Startet vim im ex Modus Ein Skript welches vim mit less vim startet Verarbeitet vim Fehler Erzeugt eine Markup Datei f r Perl Code die mit vim benutzt werden kann Pr ft die Schreibweise von Argumenten Eine eingeschr nkte Version von view es gibt keine Shell Kommandos und view kann nicht angehalten werden Eine eingeschr nkte Version von vim es gibt keine Shell Kommandos und vim kann nicht angehalten werden Erzeugt eine Markup Datei f r Perl Skripte Link auf vim Startet vim im Nur lesen Modus Dies ist der Editor Startet vim in einem Terminal mit 132 Spalten Modus Konvertiert Vim Dokumentation zu HyperText Markup Language HTML Editiert zwei oder drei Versionen einer Datei mit vim und zeigt die Unterschiede an Aktiviert das DEC Locator Eing
91. 8859 1 Schwedisch sv ISO 8859 1 Tchechisch cs ISO 8859 2 Kroatisch hr ISO 8859 2 Ungarisch hu ISO 8859 2 Japanisch ja EUC JP Koreanisch ko EUC KR Polnisch pl ISO 8859 2 Russisch ru KOI8 R Slovakisch sk ISO 8859 2 T rkisch tr ISO 8859 9 Linux From Scratch Version 6 3 Anmerkung Hilfeseiten in Sprachen die sich nicht in der Tabelle befinden werden nicht unterstiitzt Norwegisch funktioniert aufgrund des Ubergangs von no_NO zu nb_NO nicht und Koreanisch funktioniert aufgrund des unvollst ndigen Groff Patches nicht Wenn ein Quellpaket die Hilfeseiten im erwarteten Format mitliefert so k nnen diese einfach nach usr share man lt Sprachcode gt kopiert werden Beispielsweise k nnen franz sische Hilfeseiten http ccb club fr man man fr 1 58 0 tar bz2 mit dem folgenden Kommando installiert werden mkdir p usr share man fr cp rv man usr share man fr Falls die Programm Entwickler die Hilfeseiten in UTF 8 ausliefern z B RedHat anstatt der oben aufgelisteten Kodierung dann m ssen sie vor der Installation von UTF 8 in die aufgelistete Kodierung umgewandelt werden Dazu k nnen Sie convert mans verwenden Die spanischen Hilfeseiten beispielsweise http ditec um es piernas manpages es man pages es 1 55 tar bz2 installieren Sie mit diesen Kommandos mv man7 iso_8859 7 7 X convert mans UTF 8 ISO 8859 1 man mv man7 iso_8859 7 7 X make install 158 Linu
92. Ausgabe muss den Pfad zum Mountpunkt Ihrer LFS Partition anzeigen Wenn Sie unserem Beispiel gefolgt sind sollte er mnt 1fs lauten 5 2 Technische Anmerkungen zur Toolchain Dieser Abschnitt soll Ihnen einige technische Details zum gesamten Kompilier und Installationsprozess erl utern Sie m ssen nicht alles in diesem Abschnitt sofort verstehen das Meiste ergibt sich von selbst sobald Sie die ersten Pakete installiert haben Scheuen Sie sich nicht zwischendurch noch einmal hierhin 37 Linux From Scratch Version 6 3 zur ckzubl ttern und nachzulesen wenn etwas unklar ist In Kapitel 5 soll eine gut funktionierende tempor re Arbeitsumgebung erschaffen werden in die Sie sich sp ter abkapseln und von wo aus Sie in Kapitel 6 ohne Schwierigkeiten ein sauberes endg ltiges LFS System erstellen k nnen Sie werden sich so weit wie m glich vom Host System abschotten und eine in sich geschlossene Toolchain erzeugen Bitte beachten Sie dass der gesamte Vorgang daf r ausgelegt ist die Risiken f r neue Leser zu minimieren und gleichzeitig den Lerneffekt zu maximieren Wichtig Bevor Sie fortfahren sollten Sie den Namen der Plattform kennen auf der Sie LFS installieren diesen bezeichnet man oft auch als das Ziel Tripplet F r die meisten Leser wird das Ziel Tripplet zum Beispiel i686 pc linux gnu sein Sie k nnen Ihr Ziel Tripplet herauszufinden indem Sie das Skript config guess auszuf hren es wird mit den Quellen vieler Pakete mi
93. Benutzer entpacken so wie Sie es hier im chroot tun erhalten die entpackten Dateien die Benutzer und Gruppen ID desjenigen der das Archiv erstellt hat Das ist blicherweise f r normale Pakete kein Problem weil Sie den Quellordner nach der Installation l schen Aber die Linux Quellen liegen oft sehr lange auf Ihrem Computer daher ist die Chance gro dass ein zuk nftiger Benutzer auf Ihrem System die Benutzer ID erh lt die Ihre Kernel Quellen derzeit haben und damit w re er der Besitzer dieser Dateien und h tte dann auch Schreibrechte darauf Wenn Sie die Kernelquellen aufbewahren m chten sollten Sie chown R 0 0 auf den Ordner linux 2 6 22 5 anwenden So stellen Sie sicher dass alle Dateien dem Benutzer root geh ren Warnung Einige Kerneldokumentationen empfehlen das Erzeugen eines Links von usr src linux auf den Ordner mit den Kernelquellen Dies bezieht sich aber nur auf Kernel vor der 2 6er Serie zu und darf nicht in einem LFS System angewendet werden Es verursacht Probleme beim Kompilieren von Paketen die Sie vielleicht im Nachhinein noch installieren m chten Warnung Die Header in dem Systemordner include sollten immer diejenigen sein mit denen die Glibc kompiliert wurde also die bereinigten Linux Kernel Header und d rfen daher bei der Aktualisierung des Kernels keinesfalls durch die neuen Kernel Header ersetzt werden 8 3 2 Inhalt von Linux Installierte Dateien config 2 6 22 5 lfskernel 2 6 22 5 und System ma
94. Bereiten Sie Zlib zum Kompilieren vor configure prefix usr shared libdir lib Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie die gemeinsamen Bibliotheken make install Das vorige Kommando hat eine so Datei im Ordner lib installiert Entfernen Sie sie wieder und erstellen Sie stattdessen einen Link in usr 1lib rm v lib libz so In sfv lib libz so 1 2 3 usr lib libz so Kompilieren Sie nun die statische Bibliothek make clean configure prefix usr make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie die statische Bibliothek make install Und korrigieren Sie die Zugriffsrechte auf die statische Bibliothek chmod v 644 usr lib libz a 6 25 2 Inhalt von Zlib Installierte Bibliotheken libz a so 123 Linux From Scratch Version 6 3 Kurze Beschreibungen libz Enth lt Funktionen zum Komprimieren und Dekomprimieren die von vielen Programmen genutzt werden 124 Linux From Scratch Version 6 3 6 26 Autoconf 2 61 Autoconf erstellt Shell Skripte mit denen man Software Pakete automatisch zum Kompilieren einrichten kann Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 8 1 MB Festplattenplatz 6 26 1 Installation von Autoconf Bereiten Sie Autoconf zum Kompilieren vor configure prefix usr Kompilie
95. Dies teilt dem configure Skript mit den Standard Bibliotheksuchpfad des Linkers als tools lib vorzugeben Wir m chten im Standard Bibliotheksuchpfad keine Ordner unseres Host Systems haben daher geben Sie den gew nschten Pfad vor Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch laufen lassen m chten f hren Sie dieses Kommando aus make check Installieren Sie das Paket make install Nun bereiten Sie Binutils auf das erneute Anpassen der Toolchain im n chsten Kapitel vor make C ld clean make C ld LIB PATH usr lib lib cp v ld ld new tools bin Details zu diesem Paket finden Sie in Abschnitt 6 11 2 Inhalt von Binutils 56 Linux From Scratch Version 6 3 5 13 Ncurses 5 6 Das Paket Ncurses enth lt Bibliotheken f r den Terminal unabh ngigen Zugriff auf Textbildschirme Gesch tzte 0 7 SBU Kingef herbeit tigter 30 MB Festplattenplatz 5 13 1 Installation von Ncurses Bereiten Sie Ncurses zum Kompilieren vor configure prefix tools with shared without debug without ada enable overwrite Die Bedeutung der configure Parameter without ada Dies stellt sicher dass Ncurses ohne Unterst tzung f r Ada Compiler erzeugt wird Auf dem Host System k
96. E ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE Linux From Scratch Version 6 3 Inhaltsverzeichnis Ein en iR Sense vi BR en GE vi ii Warum sollte man dieses Buch lesen aus sasssareeneunennuneneneun san aba vi 1115 VOL DUSSELZUN Ee ee e vii iv Mindestanforderungen an das Host System uussssessssnssnsnessnnnensnnnensnnnensnnnensnnnnnsnnennnnsennnnnnnnnnnn viii vV Konventionen n diesem Buch E ix WI AUTDAU Aea irns aT ea a E A EE AERE O EAEE e eA ES OTE x WE Ee same in arten xi T Eet 1 Te E get Ee 2 1 1 Vorgehensweise zur Installation von LES usesseessoesssnnssessnnsnsnnsnssnnnsssnnssessanessnasssennnsssnnenssnneesnnssenne 2 1 2 Neuigkeiten seit der letzten Version anne an een 3 1 3 nderungsprotokoll ME 5 E E 18 1 5 EE 18 M Vorbereitungen zur Installation se ae RI N ala 21 2 Vorbereiten einer neuen Parton a EI 22 2 1 Enter EE 22 2 2 Erstellen einer neuen Partition usnctanissenskabe neu inne EES Geh sashes cons d 22 2 3 Erstellen eines Dateisystems auf der neuen Partition ua ee 22 2 4 Einh ngen mounten der neuen Partition u s2uessssessnsenssnsenssnnonnsnnonnnnnennnnnnnnnnnnnnnnnsnnnansnsnannnn 23 SEENEN 25 3 1 GO ste EE 25 EE enee 25 3 32 Erforderliche Patches riet un EE EEN 30 4 Abschluss der Verberetunsen EE 33 BER EE EE 33 4 2 Erstellen des Ordners LFS tools necsae aae 33 43 Hinzuf gen E sanken ehe ne 33 4 4 Vorbe
97. EE EE 160 6 47 Mod le Mit To61s 3 22 EE 161 048 BAUCH E 163 6 49 POMS Ce EEN 164 e Shado cer O VON a ee een 166 6 91 8ysklo8d 1 41 unsre ne le en ae 170 092283 EE 172 093 Par KEE 174 694 Kee E 175 693 UdeV Inne Be ehe 177 SAU LI nu EE 180 6 97 NIE E EE 183 6 38 Informationen zu Debugging Symbolen Se seas ood cedaevecdtscseesaters 187 6 59 Erneutes Stripping nn nenn kin nn in an in en 187 GO AU TRAIT nee ie 188 7 Aufsetzen der System Bootskripte ua ER 189 T EA A ee eegene 189 T2 LRS B o tskripte 6 3 ikea et ER Egg Rasen 190 7 3 Wie funktionieren diese Bootskripte na ea er nee 192 7 4 Umgang mit Ger ten und Modulen an einem LFS System 2uusssssesssnsesssnnnsnnnnnennnnenn nennen 193 7 3 Kinrichten des Ssetelsck Skripte 4 2 eu acu ceuinat e ae a a a E E SAAE 196 7 6 Einrichten der Linux Konsole sycceccscissccedssiasadlansepeacsassnsedeaseceeataavebaceesnceecoasvcondeebedsabeuasncadensedevaraeones 197 7 1 Eimriehten des sysklegd Skripts ana ese ana iat asi adidas 199 7 8 Erstellen der Datei 7elenpule serisi een 199 7 9 DIEStartdafeien von Bash Seesen une nennen 200 7 10 Einrichten des localnet Skripts un see gas un lin 202 Pill Anpassen der Datei CLC hose E 203 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten sn sense nennen 203 7 13 Einrichten des nelwork Sky a ee 205 8 Das LFS System bootf hig machen u nennen kun han 209 8 1 Einf hrung liste as Ne 209 8 2 Erstellen der
98. EEE tagesx3 daemon Leo E CLARES MORR Calore soss IL Suggest vi daosx3123 mere 2 132 geloos L Gelee zez US mail x 34 MOC TOUS x3 OY EOF com x 01 JO Die erzeugten Gruppen sind nicht Teil irgendeines Standards es sind die Gruppen die Udev in diesem Kapitel benutzt Neben der Gruppe root mit der GID 0 schl gt die LSB Linux Standard Base nur die Gruppe bin mit der GID 1 vor Alle anderen Gruppennamen und GIDs k nnen durch den Anwender frei gew hlt werden weil gut geschriebene Pakete sich nicht auf GID Nummern verlassen sollten sondern den Gruppennamen verwenden Die Meldung I have no name werden Sie los indem Sie eine neue Shell starten Die Aufl sung der Benutzer und Gruppennamen funktioniert sofort nach dem Erstellen von etc passwd und etc group weil Sie in Kapitel 5 eine vollst ndige Glibc installiert haben exec tools bin bash login h Beachten Sie die Option h Durch sie wird das interne Pfad Hashing der Bash abgeschaltet Ohne diese Anweisung w rde sich bash die Pfade zu ausf hrbaren Dateien merken und wiederverwenden Weil die frisch installierten Programme aber sofort nach deren Installation an ihrem neuen Ort genutzt werden sollen schalten Sie die Funktion f r dieses Kapitel aus Die Programme login agetty und init und einige weitere verwenden Logdateien zum Protokollieren von Informationen Dazu geh rt z B wer sich zu welcher Zeit an das System angemeldet hat
99. EXPENSIVE_TESTS yes teilt der Testsuite mit noch zus tzliche Tests zu durchlaufen die auf einigen Plattformen sehr zeitintensiv sein k nnen Normalerweise ist das unter Linux aber kein Problem Installieren Sie das Paket make install Das obige Kommando kann su nicht installieren weil es als unprivilegierter Benutzer nicht setuid root gesetzt werden kann Installieren Sie es daher von Hand unter anderem Namen sodass es auch ein nicht privilegierter Benutzer im endg ltigen System f r Tests verwenden kann Au erdem behalten wir auf diese Weise eine funktionst chtige Version von su des Host Systems an erster Stelle im PATH Zur manuellen Installation benutzen Sie bitte dieses Kommando cp v src su tools bin su tools Details zu diesem Paket finden Sie in Abschnitt 6 16 2 Inhalt von Coreutils 60 Linux From Scratch Version 6 3 5 17 Diffutils 2 8 1 Die Programme dieses Pakets k nnen Unterschiede zwischen Dateien oder Ordnern anzeigen Gesch tzte 0 1 SBU Kingef herbeit tigter 6 2 MB Festplattenplatz 5 17 1 Installation von Diffutils Bereiten Sie Diffutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 30 2 Inhalt von Diffutils 61 Linux From Scratch Vers
100. Enth lt keine Testsuite Man DB Coreutils Gawk und Make Enth lt keine Testsuite Perl Bash Binutils Coreutils GCC Glibc Grep Make Ncurses Patch Sed und Texinfo Enth lt keine Testsuite Tar Bash Berkeley DB Bison Coreutils Flex GCC Glibc Make und Linux Libc Headers Enth lt keine Testsuite Keine Bash Binutils Bison Coreutils Flex GCC Gettext Glibc Gzip Make Patch und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Sed und Texinfo Findutils Keine 230 Linux Kernel Vorauss f Installation Vorauss f Testsuite Installation vor MA Vorauss f Installation Vorauss f Testsuite Installation vor Man DB Vorauss f Installation Vorauss f Testsuite Installation vor Make Vorauss f Installation Vorauss f Testsuite Installation vor Mktemp Vorauss f Installation Vorauss f Testsuite Installation vor Module Init Tools Vorauss f Installation Vorauss f Testsuite Installation vor Ncurses Vorauss f Installation Vorauss f Testsuite Installation vor Patch Vorauss f Installation Vorauss f Testsuite Installation vor Linux From Scratch Version 6 3 Bash Binutils Coreutils Diffutils Findutils GCC Glibc Gre
101. F define HAVE_LANGINFO_CODESET 1 define HAVE_LC_MESSAGES 1 EOF Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 35 2 Inhalt von Gawk Installierte Programme awk Link auf gawk gawk gawk 3 1 5 grcat igawk pgawk pgawk 3 1 5 und pweat Kurze Beschreibungen awk Ein Link auf gawk gawk Ein Programm zur Manipulation von Textdateien Es ist die GNU Implementierung von awk gawk 3 1 5 Ein harter Link auf gawk great Zeigt die Gruppendatenbank etc group an igawk Erm glicht gawk das Einbinden von Dateien pgawk Die Profiling Version von gawk pgawk 3 1 5 Ein harter Link auf pgawk 138 Linux From Scratch Version 6 3 pweat Zeigt die Passwortdatenbank etc passwd an 139 Linux From Scratch Version 6 3 6 36 Gettext 0 16 1 Gettext wird zur bersetzung und Lokalisierung verwendet Programme k nnen mit Unterst tzung f r NLS Native Language Support Unterst tzung f r die lokale Sprache kompiliert werden Dadurch k nnen Texte und Meldungen in der Sprache des Anwenders ausgegeben werden Gesch tzte 1 SBU Kingef herbeit tigter 65 MB Festplattenplatz 6 36 1 Installation von Gettext Bereiten Sie Gettext zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Zum Durchlaufen der Testsuite k nnen Sie dieses Kommando benutzen make chec
102. Host Systems mit dern bind Methode einh ngen Es handelt sich dabei um eine besondere Methode zum Einh ngen eines Dateisystems bei der ein Ordner oder Mountpunkt gespiegelt bzw zus tzlich an einer weiteren Stelle des Dateisystems eingeh ngt wird Benutzen Sie dazu das folgende Kommando mount v bind dev LFS dev 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme H ngen Sie nun die verbleibenden virtuellen Kernel Dateisysteme ein mount vt devpts devpts LFS dev pts mount vt tmpfs shm LFS dev shm mount vt proc proc LFS proc mount vt sysfs sysfs LFS sys 6 3 Paketverwaltung Paketverwaltung ist eine der am h ufigsten nachgefragten Erweiterungen f r das LFS Buch Mit einer Paketverwaltung k nnen Sie die Installation von Dateien protokollieren und diese dann sp ter leicht wieder deinstallieren oder Pakete aktualisieren Vorab erstmal eine Klarstellung NEIN dieses Kapitel behandelt keine Paketverwaltung im Detail und wird Ihnen auch keine empfehlen Sie werden hier nur Informationen zu den am weitesten verbreiteten Methoden und Techniken erhalten Die f r Sie perfekte Paketverwaltung k nnte dabei sein vielleicht ist es auch eine Kombination aus zwei oder mehr Techniken Einige Gr nde warum weder in LFS noch in BLFS eine Paketverwaltung installiert wird sind Der Umgang mit einer Paketverwaltung lenkt die Aufmerksamkeit vom eigentlichen Ziel des Buches ab n mlich zu lernen wie man ein Linux S
103. INFO_CODESET 1 define HAVE_LC_MESSAGES 1 EOF Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 35 2 Inhalt von Gawk 63 Linux From Scratch Version 6 3 5 20 Gettext 0 16 1 Gettext wird zur bersetzung und Lokalisierung verwendet Programme k nnen mit Unterst tzung f r NLS Native Language Support Unterst tzung f r die lokale Sprache kompiliert werden Dadurch k nnen Texte und Meldungen in der Sprache des Anwenders ausgegeben werden Gesch tzte 0 4 SBU Kingef herbeit tigter 43 MB Festplattenplatz 5 20 1 Installation von Gettext F r die tempor ren Werkzeuge muss nur ein einziges Programm von Gettext erzeugt und installiert werden Bereiten Sie Gettext zum Kompilieren vor cd gettext tools configure prefix tools disable shared Die Bedeutung des configure Parameters disable shared Zu diesem Zeitpunkt m ssen keine gemeinsamen Bibliotheken von Gettext installiert werden daher m ssen sie auch nicht kompiliert werden Kompilieren Sie das Paket make C gnulib lib make C src msgfmt Weil nur ein einziges Programm kompiliert wurde kann die Testsuite nicht ausgef hrt werden Daher wird davon abgeraten die Testsuite an diesem Punkt auszuf hren Installieren Sie das Programm msgfmt
104. Ihr Host System eine ltere Glibc Version als 2 2 4 verwendet k nnte es Probleme geben wenn LC_ALL nicht auf POSIX oder C gesetzt ist Durch Setzen von LC_ALL auf POSIX oder C die beiden Werte haben die gleiche Wirkung sollte es beim Hin und Herwechseln in der chroot Umgebung keine Probleme geben Durch das Voranstellen von tools bin an die Umgebungsvariable PATH werden alle in Kapitel 5 installierten Programme beim Durchsuchen der Pfade als erstes gefunden und von der Shell sofort benutzt Zusammen mit dem Abschalten der Hash Funktion der Bash wird so das Risiko minimiert dass eventuell alte Programme vom Host System benutzt werden obwohl schon eine neuere Version aus Kapitel 5 auf dem System existiert Um die Arbeitsumgebung endg ltig fertig zu stellen muss das soeben erzeugte Profil eingelesen werden source bash_profile 4 5 Informationen zu SBUs Die meisten Leser m chten gerne vorher wissen wie lange das Kompilieren und Installieren der Pakete dauert Linux From Scratch wird aber auf so unterschiedlichen Systemen gebaut dass es unm glich ist echte auch nur ann hernd akkurate Zeiten anzugeben Das gr te Paket Glibc braucht auf schnellen Maschinen nicht einmal 20 Minuten aber auf langsamen Maschinen drei Tage oder mehr Anstatt Ihnen also Zeiteinheiten zu nennen haben wir uns f r die Standard Binutils Unit entschieden Abgek rzt SBU 35 Linux From Scratch Version 6 3 Das
105. Linux From Scratch Version 6 3 Gerard Beekmans Linux From Scratch Version 6 3 von Gerard Beekmans Copyright 1999 2007 Gerard Beekmans Copyright 1999 2007 Gerard Beekmans Alle Rechte vorbehalten Weiterverteilung und Benutzung in Quell und Bin rform mit oder ohne Modifikationen ist erlaubt solange die folgenden Bedingungen eingehalten werden i Weitergegebenes Material in jeglicher Form muss den obigen Copyrighthinweis die Liste der Bedingungen und den folgenden Ausschlussvermerk beibehalten Weder der Name Linux From Scratch noch die Namen der Mitwirkenden d rfen ohne vorherige schriftliche Genehmigung zu Werbezwecken f r abgeleitetes Material benutzt werden Jegliches von Linux From Scratch abgeleitetes Material muss einen Verweis auf das Projekt Linux From Scratch enthalten THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR CONSEQUENTIAL DAMAGES INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE DATA OR PROFITS OR BUSINESS INTERRUPTION HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN CONTRACT STRICT LIABILITY OR TORT INCLUDING NEGLIGENCE OR OTHERWIS
106. Linux From Scratch Version 6 3 6 29 Bzip2 1 0 4 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bzip2 erreicht vor allem bei Textdateien eine wesentlich bessere Kompressionsrate als das traditionelle gzip Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 5 3 MB Festplattenplatz 6 29 1 Installation von Bzip2 Wenden Sie einen Patch an um auch die Dokumentation zu diesem Paket zu installieren patch Npl i bzip2 1 0 4 install_docs 1 patch Bereiten Sie Bzip2 zum Kompilieren vor make f Makefile libbz2_ so make clean Die Bedeutung des make Parameters f Makefile libbz2_so Dieser Parameter veranlasst Bzip2 dazu ein alternatives Makefile in diesem Fall Makefile libbz2_so zu verwenden Dieses erzeugt eine dynamische Bibliothek 1ibbz2 so und verlinkt die Bzip2 Werkzeuge damit Kompilieren und testen Sie das Paket make Installieren Sie die Programme make PREFIX usr install Installieren Sie die ausf hrbare Datei bzip2 nach bin Dann erzeuen Sie ein paar n tige symbolische Links und r umen auf cp v bzip2 shared bin bzip2 cp av libbz2 so lib In sv lib libbz2 so 1 0 usr lib libbz2 so rm v usr bin bunzip2 bzcat bzip2 In sv bzip2 bin bunzip2 In sv bzip2 bin bzcat 6 29 2 Inhalt von Bzip2 Installierte Programme bunzip2 Link auf bzip2 bzcat Link auf bzip2 bzcmp Link auf bzdiff
107. NLS Native Language Support NNTP Network News Transport Protocol NPTL Native POSIX Threading Library OSS Open Sound System PCH Pre Compiled Headers PCRE Perl Compatible Regular Expression PID Process Identifier PLFS Pure Linux From Scratch PTY pseudo terminal QA Quality Assurance QOS Quality Of Service RAM Random Access Memory RPC Remote Procedure Call RTC Real Time Clock SBU Standard Build Unit SCO The Santa Cruz Operation SGR Select Graphic Rendition SHA1 Secure Hash Algorithm 1 SMP Symmetric Multi Processor TLDP Das Linux Documentation Project TFTP Trivial File Transfer Protocol TLS Thread Local Storage UID User Identifier 221 umask USB UTC UUID VC VGA VT user file creation mask Universal Serial Bus Coordinated Universal Time Universally Unique Identifier Virtual Console Video Graphics Array Virtual Terminal 222 Linux From Scratch Version 6 3 Linux From Scratch Version 6 3 Anhang B Danksagungen Wir m chten uns bei allen nachfolgenden Personen und Organisationen f r ihr Mitwirken und die Beitr ge zu Linux From Scratch bedanken Gerard Beekmans lt gerard linuxfromscratch org gt Gr nder von Linux From Scratch LFS Projektbetreuer Matthew Burgess lt matthew linuxfromscratch org gt LFS Projektleiter Buchautor Bruce Dubbs lt bdubbs linuxfromscratch org gt LFS Release Betreuer Manuel Canales Esparcia lt manuel linuxfromscratch org gt LFS BLFS HLFS XML u
108. OME root TERM STERM PS1 u w PATH bin usr bin sbin usr sbin tools bin bash login Nun k nnen die Debugging Symbole sicher aus Bin rdateien und Bibliotheken entfernt werden tools bin find usr bin lib sbin type EN exec tools bin strip strip debug Es werden viele Dateien gemeldet deren Format nicht erkannt wurde Die meisten dieser Dateien sind Skripte 187 Linux From Scratch Version 6 3 und keine Bin rdateien Die Warnungen k nnen einfach ignoriert werden Wenn Sie sehr wenig Platz auf der Festplatte haben k nnen Sie strip all auf die Bin rdateien in usr bin sbin anwenden und so nochmals mehrere Megabytes sparen Benutzen Sie diese Option jedoch nicht mit Bibliotheken sie w rden zerst rt werden 6 60 Aufr umen Von nun an m ssen Sie das folgende Kommando zum Betreten der chroot Umgebung verwenden chroot SLFS usr bin env i HOME root TERM STERM PS1 u w S IN PATH bin usr bin sbin usr sbin bin bash login Der Grund daf r ist dass Sie keine Programme mehr aus tools ben tigen Sie k nnen den Ordner nun l schen Anmerkung Wenn Sie tools l schen werden auch die tempor ren Kopien von Tel Expect und DejaGNU gel scht die Sie zum Testen der Toolchain benutzt haben Wenn Sie diese Programme sp ter noch benutzen m chten m ssen Sie sie neu kompilieren und installieren Im BLFS Buch finden Sie die entsprechenden Anleitungen
109. P Adresse meinhost meinedomain org aliasname Solange Ihr Computer nicht offiziell im Internet bekannt ist d h Sie haben eine registrierte Domain und einen g ltigen zugewiesenen IP Block die meisten haben dies nicht sollten Sie sicherstellen dass die IP Adresse im privaten Adressraum liegt G ltige Adressr ume daf r sind Privater Adressbereich Normaler Prefix 10 0 0 1 10 255 255 254 8 172 801 172 5255 254 16 192 168 Wwol 192 168 y 234 24 x kann eine Zahl zwischen 16 31 sein y kann zwischen 0 255 liegen Eine g ltige private IP Adresse w re 192 168 1 1 Ein vollqualifizierter Dom nenname w re beispielsweise Ifs beispiel de Selbst wenn Sie keine Netzwerkkarte einrichten m ssen Sie einen voll qualifizierten Dom nennamen eintragen Er wird zur korrekten Funktion vieler Programme ben tigt Erzeugen Sie etc hosts mit dem folgenden Kommando cat gt etc hosts lt lt EOF Begin etc hosts network card version 127 0 0 1 localinesic lt 192 18 1 12 gt HOSTNAME oS te de gt alios Val as2 se End etc hosts network card version EOF Nat rlich m ssen Sie lt 192 168 1 1 gt und lt HOSTNAME beispiel de gt nach Ihrem Belieben ndern bzw die IP Adresse und Hostnamen eintragen die Sie von Ihrem Netzwerkadministrator bekommen haben falls Ihr Rechner an ein bestehendes Netzwerk angeschlossen wird Die optionalen Aliasnamen k nnen weggelassen werden Wenn Sie keine Netzwerkkarte
110. Parameter with root prefix Bestimmte Programme wie z B e2fsck sind absolut essentiell Sie m ssen z B selbst dann verf gbar sein wenn usr noch nicht eingeh ngt ist Diese Programme geh ren in Ordner wie lib und sbin Ohne diese Option w rden die Programme entgegen unserem Willen in usr installiert werden enable elf shlibs Das erzeugt die gemeinsamen Bibliotheken die einige Programme in diesem Paket verwenden Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Einer der Tests von E2fsprogs wird 256 MB Arbeitsspeicher beanspruchen Wenn Sie nicht wesentlich mehr als 256 MB Arbeitsspeicher haben sollten Sie zumindest gen gend Auslagerungsspeicher f r diesen Test zur Verf gung haben Lesen Sie unter Abschnitt 2 3 Erstellen eines Dateisystems auf der neuen Partition und Abschnitt 2 4 Einh ngen mounten der neuen Partition nach wie man Auslagerungsspeicher anlegt und aktiviert Installieren Sie die Bin rdateien die Dokumentation und die gemeinsamen Bibliotheken make install Installieren Sie die statischen Bibliotheken und Header make install libs 6 15 2 Inhalt von E2fsprogs 102 Installierte Programme Installierte Bibliotheken Linux From Scratch Version 6 3 badblocks blkid chattr compile_et debugfs dumpe2fs e2fsck e2image e2label filefrag findfs fsck fsck ext2 fsck ext3 logsave Isattr mk_cmds
111. RE EE 209 DU 2622 Der ee RI 211 8 4 Das LFS System bootf hig machen u 0uusan 00er ae ben 214 ENEE ee EE EE 216 VE see either 216 9 2 Lassen Sie Sieh zahlen EE 216 93 Neustarten des Systems ash en annehmen testnkpesaehe nr 216 OSA EE EE 217 IV Anhanse ne re a NE ULEB Oe neh ORR 219 EECHER Begriffe eege 220 B Danksagungen een u Bi sa ae ib lebe 223 C Abhansiokeiten E 227 S chwortverzer chi Sesini te e e e e e taea ie Sa tie 234 Linux From Scratch Version 6 3 Einleitung Vorwort Meine Abenteuer mit Linux begannen 1998 als ich meine erste Distribution herunterlud und installierte Nach einer Weile Arbeit mit dem neuen System fielen mir jedoch Dinge auf die ich gerne verbessern wollte Zum Beispiel gefielen mir weder die Zusammenstellung der Bootskripte noch die Voreinstellungen vieler Programme Ich probierte ein paar alternative Distributionen aus aber alle hatten neben den Vorteilen auch Nachteile Schlussendlich wurde mir klar dass ich mein eigenes Linux von Grund auf selbst erstellen musste um wirklich zufrieden zu sein Im Einzelnen bedeutete dies nun dass ich keinerlei vorkompilierte Pakete CD Roms oder Bootdisketten jeglicher Art f r die Installation der grundlegenden Werkzeuge verwenden w rde Ich wollte mein bereits laufendes Linux System als Grundlage benutzen um darauf mein angepasstes Linux zu entwickeln Dieses perfekte Linux System sollte die St rken der verschiedenen Distributionen ohne deren Sch
112. Sie dieses Kommando aus make tests Installieren Sie das Paket make install Und erstellen Sie einen Link f r die Programme die sh als Shell benutzen In vs bash tools bin sh Details zu diesem Paket finden Sie in Abschnitt 6 28 2 Inhalt von Bash 58 Linux From Scratch Version 6 3 5 15 Bzip2 1 0 4 Das Paket Bzip2 enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Bzip2 erreicht vor allem bei Textdateien eine wesentlich bessere Kompressionsrate als das traditionelle gzip Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 4 2 MB Festplattenplatz 5 15 1 Installation von Bzip2 Das Paket Bzip2 enth lt kein configure Skript Kompilieren Sie es einfach make Installieren Sie das Paket make PREFIX tools install Details zu diesem Paket finden Sie in Abschnitt 6 29 2 Inhalt von Bzip2 59 Linux From Scratch Version 6 3 5 16 Coreutils 6 9 Das Paket Coreutils enth lt viele Shell Werkzeuge zum Einstellen der grundlegenden Systemeigenschaften Gesch tzte 0 5 SBU Kingef herbeit tigter 67 6 MB Festplattenplatz 5 16 1 Installation von Coreutils Bereiten Sie Coreutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie dieses Kommando aus make RUN_EXPENSIVE_TESTS yes check Der Parameter RUN_
113. Version 6 3 6 33 Flex 2 5 33 Mit Flex kann man Programme zum Erkennen von Textmustern erzeugen Gesch tzte 0 1 SBU Kingef herbeit tigter 8 4 MB Festplattenplatz 6 33 1 Installation von Flex Bereiten Sie Flex zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Einige Programme erwarten die lex Bibliothek in usr lib Erstellen Sie daher einen entsprechenden symbolischen Link In sv libfl a usr lib libl a Einige wenige Programme kennen flex noch nicht und versuchen den Vorg nger lex aufzurufen Um diesen Programmen dennoch gerecht zu werden erzeugen Sie ein kleines Shell Skript mit dem Namen lex welches flex im lex Emulationsmodus aufruft cat gt usr bin lex lt lt EOF Ht Mom Sia Begin usr bin lex ekee E icles 1 WS U End usr bin lex EOF chmod v 755 usr bin lex 6 33 2 Inhalt von Flex Installierte Programme flex und lex Installierte Bibliothek libfl a Kurze Beschreibungen flex Ein Werkzeug zum Erzeugen von Programmen die Muster in Text erkennen K nnen Mustererkennung ist in vielen Programmen n tzlich Flex erzeugt aus einem Satz an Suchregeln ein Programm das nach diesen Mustern sucht lex Ein Skript welches flex im lex Emulationsmodus startet libfl a Die flex Bibliothek 136 Linux From
114. abemodell auf einem entfernten Terminal Untersucht eine Datei und erzeugt die n tigen Syntax Regeln um das Hervorheben der Syntax in vim zu erm glichen Dieses Skript ben tigt das alte Unix Kommando spell welches allerdings weder von LFS noch von BLFS bereitgestellt wird 185 Linux From Scratch Version 6 3 vimtutor Bringt Ihnen die wichtigsten Tastenbelegungen und Kommandos von vim bei xxd Erzeugt eine Hex Ausgabe einer Datei Das geht auch umgekehrt und kann zum Patchen von Bin rdateien benutzt werden 186 Linux From Scratch Version 6 3 6 58 Informationen zu Debugging Symbolen Die meisten Programme und Bibliotheken werden in der Voreinstellung mit Debugging Symbolen kompiliert mit der Option gec g Wenn Sie ein Programm oder eine Bibliothek debuggen die mit debugging Symbolen kompiliert wurde kann Ihnen der Debugger nicht nur die Speicheradressen sondern auch die Namen der Funktionen und der Variablen im Programm anzeigen Doch das Einbinden dieser Debugging Symbole vergr ert das Programm bzw die Bibliothek deutlich Das folgende Beispiel soll Ihnen einen Eindruck ber den von Debugging Symbolen ben tigten Speicher geben Eine bash Bin rdatei mit Debugging Symbolen 1200 KB Eine bash Bin rdatei ohne Debugging Symbole 480 KB Glibe und GCC Dateien lib und usr 1ib mit Debugging Symbolen 87 MB Glibe und GCC Dateien ohne Debugging Symbole 16 MB Die Gr en variieren ein wenig abh ngig
115. ad zu GCCs voreingestelltem dynamischen Linker festgelegt blicherweise 1d linux so 2 patch Npl i gcc 4 1 2 specs 1 patch Des Weiteren entfernt der obige Patch usr include aus dem Include Suchpfad von GCC Das Patchen an dieser Stelle statt des nachtr glichen Anpassens der specs Datei stellt sicher dass beim Kompilieren von GCC der neue dynamische Linker verwendet wird Dies bedeutet dass alle Bin rdateien beim Kompiliervorgang gegen die neue Glibc gelinkt werden 53 Linux From Scratch Version 6 3 Wichtig Diese Patches sind zwingende Voraussetzung f r einen erfolgreichen Gesamtdurchlauf Vergessen Sie nicht sie zu installieren Erstellen Sie erneut einen eigenen Ordner zum Kompilieren mkdir v gec build cd gec build Denken Sie daran vor dem Kompilieren von GCC alle Umgebungsvariablen zur ckzusetzen die die Standard Optimierungen berschreiben w rden Bereiten Sie GCC zum Kompilieren vor gec 4 1 2 configure prefix tools with local prefix tools enable clocale gnu enable shared enable threads posix enable _cxa_atexit enable languages c c disable libstdcexx pch Die Bedeutung der neuen Parameter zu configure enable clocale gnu Dieser Parameter stellt sicher dass unter allen Umst nden das korrekte locale Modell f r die C Bibliotheken ausgew hlt wird Falls das configure Skript de_DE Locales findet wird es das korrekte Modell gnu w
116. al permissions 07 08 2007 dnicholson Added the disable werror parameter to Binutils Pass 1 06 08 2007 dnicholson Fixed a typo and clarified text on the Perl page Reported by Shawn 31 07 2007 dnicholson Updated to glibc 2 5 1 i dnicholson Updated udev config rules to 20070731 to work with Linux 2 6 22 30 07 2007 f dnicholson Updated LFS Bootscripts to 20070730 and added the description for the new consolelog script 26 07 2007 j bdubbs Adjust grep patteren in Ch 6 gcc to only match desired output 24 07 2007 Linux From Scratch Version 6 3 dnicholson Fix the Ncurses library install to remove a symbolic link before writing a linker script to that location Reported by Lieven De Keyzer bdubbs Created LFS 6 3 rc 1 dnicholson Remove inconsistent uses of amp amp from the book 23 07 2007 bdubbs Upgrade to Man Pages 2 63 fixes 2050 i dnicholson Added echo to the Essential Symlinks section as it is needed for the Glibc testsuite dnicholson Added a known failing test to the Ch 6 Glibc page 18 07 2007 i dnicholson Described the configuration of the consolelog bootscript 17 07 2007 matthew Upgrade to Man Pages 2 62 fixes 2049 i matthew Upgrade to M4 1 4 10 fixes 2046 i matthew Upgrade to Linux 2 6 22 1 fixes 2044 matthew Upgrade to E2fsprogs 1 40 2 fixes 2042 Remove the disable evms configure parameter
117. amen an Zeigt eine Textdatei seitenweise an Macht ein Dateisystem zu dem neuen root Dateisystem f r den aktuellen Prozess Kann zum Setzen der Gr e einer RAM Disk in einem bootbaren Abbild benutzt werden Bindet ein zeichenorientiertes Linux raw Ger t an ein Blockger t Kann in einem bootf higen Abbild das root Ger t abfragen und festlegen Liest Profiling Informationen aus dem Kernel Benennt eine Datei um und ersetzt ein Zeichenkette durch eine andere Ver ndert die Priorit t eines Prozesses Dreht die Zeilen einer Datei um Kann die root Parameter eines bootf higen Abbildes festlegen Erstellt eine Abschrift einer Terminalsitzung Setzt benutzerdefinierte Floppy Disk Parameter F hrt ein Kommando in einer neuen Sitzung aus Stellt Terminal Attribute ein Kann Festplattenpartitionen bearbeiten Deaktiviert Auslagerungsdateien und ger te Aktiviert Auslagerungsdateien und ger te und zeigt bereits verwendete Ger te und Dateien an Verfolgt das Wachstum einer Protokolldatei Zeigt zuerst die letzten zehn Zeilen einer Protokolldatei an und h ngt dann der Reihe nach neu hinzugekommene Zeilen an die Ausgabe an Justiert Parameter eines Zeilendruckers Ein Filter zum bersetzen von Unterstrichen in entsprechende Escape Sequenzen die das verwendete Terminal versteht L st ein Dateisystem aus der Ordnerstruktur Kann zum Setzen des Videomodus in einem bootf higen Abbild benutzt werden Gibt den Ort der Bin r
118. ameter aufgerufen Wenn ein S Link ausgef hrt werden soll wird das Skript mit dem start Parameter aufgerufen Es gibt eine Ausnahme S Links in den Ordnern rc0 d und rc6 d starten keine Dienste Sie werden stattdessen mit dem Parameter stop aufgerufen um etwas zu beenden Die Grund daf r ist dass Sie wohl kaum einen Dienst starten m chten wenn Sie rebooten oder das System herunterfahren Hier die Beschreibungen welche Parameter zu einem Skript was bewirken start Der Dienst wird gestartet stop Der Dienst wird gestoppt restart Der Dienst wird gestoppt und dann erneut gestartet reload Die Konfiguration des Dienstes wird neu eingelesen Das verwendet man nachdem die 192 Linux From Scratch Version 6 3 Konfigurationsdatei eines Dienstes ge ndert wurde und man nicht den ganzen Dienst neu starten muss status Gibt aus ob der Dienst l uft und wenn ja mit welchen PIDs Sie k nnen den Bootprozess nat rlich nach Ihren W nschen anpassen schlussendlich ist es ja Ihr eigenes Linux Die Dateien hier sind nur Beispiele daf r wie man es gut erledigen kann 7 4 Umgang mit Ger ten und Modulen an einem LFS System In Kapitel 6 haben Sie Udev installiert Bevor wir zu den Details kommen wie das alles funktioniert m chten wir Ihnen erst einen R ckblick dar ber geben wie man fr her mit Ger ten unter Linux umgegangen ist Traditionell hat man unter Linux eine statische Methode zum Erzeugen von Ger tedateien benu
119. ando zum Wechseln des Runlevel ist init lt Runlevel gt wobei lt Runlevel gt den Runlevel angibt in den Sie wechseln m chten Zum Neustarten des Computers w rde ein Benutzer zum Beispiel init 6 eingeben Das reboot Kommando ist nur ein Alias darauf genauso wie das Kommando halt ein Alias auf init 0 ist Unter etc rc d befinden sich eine Menge Ordner mit dem Namen rc d wobei das die Nummer eines Runlevels ist Dort liegt auch der Ordner rcsysinit d er enth lt einige symbolische Links Einige beginnen mit einem K andere mit einem S gefolgt von einer zweistelligen Zahl Das K bedeutet beenden kill eines Dienstes das S bedeutet starten start eines Dienstes Die Zahlen bestimmen die Reihenfolge in der die Skripte ausgef hrt werden und k nnen zwischen 00 und 99 liegen Je kleiner die Zahl desto fr her wird das Skript ausgef hrt Wenn init in einen anderen Runlevel wechselt werden die n tigen Skripte gestoppt und andere daf r gestartet Bisher war nur von Links die Rede Die echten Skripte befinden sich in etce rc d init d Sie erledigen die eigentliche Arbeit denn die ganzen symbolischen Links zeigen nur auf sie Stopp und Startskripte zeigen jeweils auf dieselbe Datei in etc rc d init d Das funktioniert weil die Bootskripte mit unterschiedlichen Parametern aufgerufen werden k nnen zum Beispiel start stop restart reload status Wenn ein K Link ausgef hrt werden soll wird das entsprechende Skript mit dem st op Par
120. asynchronen Nachschlagen von Namen 89 libbsd compat tibe libcidn libcrypt libdl libg libieee libm libmcheck libmemusage libnsl libnss libpcprofile libpthread libresolv librpcsvc librt libthread_db libutil Linux From Scratch Version 6 3 Mit Hilfe dieser Bibliothek k nnen einige BSD Programme Berkeley Software Distribution unter Linux ausgef hrt werden Dies ist die C Bibliothek Wird intern von der Glibc zur Unterst tzung von internationlisierten Dom nennamen mit der Funktion getaddrinfo verwendet Dies ist die Kryptographie Bibliothek Eine Schnittstellenbibliothek zum dynamischen Linker Eine Dummy Bibliothek ohne jegliche Funktionen Dies war fr her eine Laufzeitbibliothek f r g Das Einbinden verlinken dieses Moduls erzwingt die Regeln der IEEE Institute of Electrical and Electronic Engineers zur Fehlerbehandlung mathematischer Funktionen Standard sind die POSIX 1 Regeln zur Fehlerbehandlung Die mathematische Bibliothek Das Einbinden verlinken dieses Moduls schaltet Pr fungen der Speicherzuordnungen ein Wird von memusage verwendet und hilft beim Sammeln von Informationen ber die Speichernutzung eines Programms Dies ist die Bibliothek f r Netzwerkdienste Die Name Service Switch Bibliotheken Sie enthalten Funktionen zum Aufl sen von Hostnamen Benutzernamen Gruppennamen Aliasen Diensten Protokollen und so weiter Enth lt Prof
121. atch Version 6 3 Kapitel 6 Installieren der grundlegenden System Software 6 1 Einf hrung In diesem Kapitel begeben Sie sich an den eigentlichen Ort des Geschehens und beginnen mit dem Bau des endg ltigen LFS Systems Im einzelnen chroot en Sie in Ihr tempor res Mini Linux erzeugen einige Hilfsmittel und beginnen dann alle Pakete der Reihe nach zu installieren Die Installation der Software ist sehr gradlinig Auch wenn die Installationsanweisungen an einigen Stellen sicherlich k rzer h tten ausfallen k nnen haben wir uns f r die ausf hrliche Variante entschieden Wenn Sie lernen m chten wie Linux intern funktioniert dann sollten Sie wissen wof r die jeweiligen Pakete benutzt werden und warum ein Benutzer oder das System auf sie angewiesen sind Deshalb finden Sie zu jedem Paket eine Zusammenfassung seines Inhalts und eine kurze Beschreibung zu den installierten Programmen und Bibliotheken Falls Sie in diesem Kapitel Compiler Optimierungen einsetzen m chten lesen Sie bitte die Anleitung unter http www linuxfromscratch org hints downloads files optimization txt Compiler Optimierungen k nnen ein Programm etwas schneller ablaufen lassen aber sie k nnen auch zu Schwierigkeiten beim Kompilieren oder Ausf hren von Programmen f hren Wenn sich ein Paket nicht kompilieren l sst versuchen Sie es erstmal ohne Optimierungen und schauen Sie ob das Problem dann behoben ist Selbst wenn das Paket mit Compiler Optmierungen kompi
122. awk 3 1 5 1 716 kB Webseite http www gnu org software gawk Download http ftp gnu org gnu gawk gawk 3 1 5 tar bz2 MDS5 Pr fsumme 5703 72d0eeald463 735aad8222655f e GCC 4 1 2 38 777 kB Webseite http gcc gnu org Download http ftp gnu org gnu gcc gcc 4 1 2 gcc 4 1 2 tar bz2 MD5S Priifsumme a4a3eb15c96030906d8494959eeda23c e Gettext 0 16 1 8 340 kB Webseite http www gnu org software gettext Download http ftp gnu org gnu gettext gettext 0 16 1 tar gz MDS5 Pr fsumme 3d9ad24301c6d6b17ec30704a13fe127 e Glibc 2 5 1 15 060 kB Webseite http www gnu org software libc Download http ftp gnu org gnu glibc glibc 2 5 1 tar bz2 MD5S Priifsumme 10e a72e2c4d56c6aal3dabb7c4f9b195 e Glibc LibIDN add on 2 5 1 123 kB Download http ftp gnu org gnu glibc glibc libidn 2 5 1 tar gz MD5S Priifsumme 51b46 055908a5f8e409c4200d828093 e Grep 2 5 1a 516 kB Webseite http www gnu org software grep Download http ftp gnu org gnu grep grep 2 5 1a tar bz2 MD5S Priifsumme 52202fe462770fa6belbb667bd6cf30c e Groff 1 18 1 4 2 265 kB Webseite http www gnu org software groff Download http ftp gnu org gnu groff groff 1 18 1 4 1ar gz MDS5 Pr fsumme ceecb815339364251ed015 40e5 7287 e GRUB 0 97 950 kB Webseite http www gnu org software grub Download ftp alpha gnu org gnu grub grub 0 97 tar e MD5S Priifsumme cd3 3eb54446be6003156158d51f 4884 G
123. ayout manchmal ein wenig angepasst werden Im folgenden Beispiel wird das Euro Zeichen zum deutschen Tastaturlayout hinzugef gt cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console KEYMAP de latinl1 KEYMAP CORRECTIONS euro2 PONT lacO 16 m 8859 15V End etc sysconfig console EOF Und nun folgt ein Beispiel f r eine Unicode Umgebung in Bulgarien wof r es ein vorbereitetes UTF 8 Tastaturlayout gibt cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console UNICODE 1 KEYMAP bg_bds ut 8 FONT LatArCyrHeb 16 End etc sysconfig console EOF Im vorherigen Beispiel wird die Schrift LatArCyrHeb 16 mit 512 Symbolen eingesetzt Dies hat zur Folge das in der Linux Konsole keine hellen Farben mehr angezeigt werden k nnen es sei denn man verwendet einen Framebuffer Falls Sie helle Farben ohne Framebuffer ben tigen sollten und daf r mit einigen fehlenden Zeichen leben k nnen die nicht zur eigenen Sprache geh ren dann k nnen Sie wie folgt auf eine Schrift mit 256 Zeichen zur ckgreifen cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console UNICODESYTIM KEYMAP bg_bds utf8 FONT cyr sunl6 End etc sysconfig console EOF 198 Linux From Scratch Version 6 3 Es ist keine vorbereitete russische UTF 8 Tastaturlayouttabelle verf gbar daher muss sie erst wie im Beispiel unten
124. bd Durch diesen Parameter werden die Daten zu Tastaturlayouts in einem Ordner abgelegt der sich immer auf der root Partition befindet anstelle der Voreinstellung usr share kbd Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Anmerkung F r einige Sprachen z B Belarussisch h lt Kbd keine n tzliche Tastaturlayouttabelle vor in der die Tabelle by ISO 8859 5 annimmt aber CP1251 verwendet wird Benutzer solcher Sprachen sollten sich eine funktionierende Tastaturlayouttabelle herunterladen Einige der LFS Bootskripte sing abh ngig von den Kommandos kbd_mode openvt und setfont Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte m ssen sich diese Programm auf der root Partition befinden mv v usr bin kbd_mode openvt setfont bin 152 Linux From Scratch Version 6 3 6 42 2 Inhalt von Kbd Installierte Programme chvt deallocvt dumpkeys fgconsole getkeycodes kbd_mode kbdrate loadkeys loadunimap mapscrn openvt psfaddtable Link auf psfxtable psfgettable Link auf psfxtable psfstriptable Link auf psfxtable psfxtable resizecons setfont setkeycodes setleds setmetamode showconsolefont showkey unicode_start und unicode_stop Kurze Beschreibungen chvt deallocvt dumpkeys fgconsole getkeycodes kbd_mode kbdrate loadkeys loadunimap mapscrn open
125. bh ngt Kodiert serbischen Text aus dem kyrillischen in Lateinische Schrift um Extrahiert alle bersetzbaren Nachrichten aus den angegebenen Quelldateien um daraus eine erste Nachrichtenkatalogvorlage zu erstellen Definiert die autosprintf Klasse sie macht C formatierte Routinen in C Programmen verf gbar vor allem zur Verwendung mit lt string gt Strings und den lt iostream gt Streams Eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht Wird zum Schreiben von spezialisierten Programmen verwendet die po Dateien verarbeiten sollen Diese Bibliothek wird benutzt wenn die mitgelieferten Standardprogramme von gettext nicht ausreichen so wie msgattrib und msgen Eine private Bibliothek die die allgemeinen Routinen der verschiedenen gettext Programme enth lt Sie sind nicht zur normalen Verwendung gedacht 141 Linux From Scratch Version 6 3 6 37 Grep 2 5 1a Das Paket Grep enth lt Programme zum Durchsuchen von Dateien Gesch tzte 0 1 SBU Kingef herbeit tigter 4 8 MB Festplattenplatz 6 37 1 Installation von Grep Die aktuelle Version von Grep hat leider viele Fehler insbesondere in der Unterst tzung von Multibyte Locales RedHat behebt mit dem folgenden Patch zumindest einige dieser Fehler patch Npl i grep 2 5 1a redhat_fixes 2 patch Damit die vom Patch hinzugef gten Tests erfolgreich du
126. ble LiveCD issues on newer hardware and asking for testers See 1938 manuel Added explanations to Bash testsuite commands Closes 1938 06 06 2007 manuel Adjusted locale settings for Bash testsuite run and kernel make menuconfig command Fixes 1938 05 06 2007 manuel Made more prominent that the headers in the system s include directory must be ones against which Glibc was compiled Fixes 2024 alexander Upgrade to Linux 2 6 21 3 Man Pages 2 51 and TCL 8 4 15 Fixes 2020 2021 and 2022 13 05 2007 matthew Upgrade to Udev 111 Fixes 1996 matthew Fix an overly aggressive sed which prevented several of Shadow s man pages from being installed instead of just groups 1 matthew Upgrade to Man pages 2 48 Fixes 2000 Linux From Scratch Version 6 3 07 05 2007 dnicholson Fixed the toolchain sanity check after GCC to reference the usr local include directory Thanks to David Murphy for the report 05 05 2007 matthew Incorporate latest upstream patches for Vim matthew Upgrade to Udev 110 Fixes 992 matthew Incorporate latest upstream patches for Readline matthew Upgrade to Psmisc 22 5 Fixes 1991 matthew Add a patch from upstream to fix issues in Ncurses found by the Coverity static code analysis tool Fixes 1995 matthew Upgrade to Man pages 2 46 Fixes 1994 matthew Upgrade to Linux 2 6 21 1 Fixes 1993 matthew Inco
127. body von der Standard Eingabe lesen und in den Quellordner schreiben kann sed i s LANG LC_ALL tests intl tests sed i s tests amp lt dev tty tests run test chown Rv nobody F hren Sie nun die Tests als Benutzer nobody aus su tools nobody s bin bash c make tests Installieren Sie das Paket make install Starten Sie die frisch installierte bash ersetzt die gerade laufende Version 128 Linux From Scratch Version 6 3 exec bin bash login h Anmerkung Die verwendeten Parameter machen bash zu einer interaktiven Login Shell Hashing bleibt weiterhin abgeschaltet so dass frisch installierte Programme sofort verf gbar sind 6 28 2 Inhalt von Bash Installierte Programme bash bashbug und sh Link auf bash Kurze Beschreibungen bash Ein weit verbreiteter Befehlsinterpreter Er f hrt alle m glichen Arten von Erweiterungen und Ersetzungen an einer Kommandozeile durch bevor diese dann ausgef hrt wird Das macht diesen Befehlsinterpreter zu einem m chtigen Werkzeug bashbug Ein Shell Skript welches dem Benutzer helfen soll einen Fehlerbericht zur bash in einem sh standardisierten Format zu erstellen und per E Mail zu versenden Ein symbolischer Link auf das Programm bash Wenn die bash als sh aufgerufen wird versucht sie das Verhalten der historischen Versionen von sh so gut wie m glich nachzuahmen und bleibt dabei trotzdem POSIX Konform 129
128. booten ausw hlen k nnen 8 2 Erstellen der Datei etc fstab Die Datei etc fstab wird von einigen Programm benutzt um festzustellen wo und in welcher Reihenfolge Partitionen eingeh ngt werden sollen und welche Dateisysteme gepr ft werden m ssen Erstellen Sie nun eine neue Tabelle der Dateisysteme cat gt etc fstab lt lt EOF Begin etc fstab file system mount point type options dump fsck order dev lt xxx gt lt fff gt defaults 1 1 dev lt yyy gt swap swap jonah 0 0 Droe Zoe proc defaults 0 0 sysfs sys sysfs defaults 0 0 devpts dev pts devots gid 4 mode 620 0 0 shm dev shm tmpfs defaults 0 0 7 umge EE EOF Nat rlich m ssen Sie lt xxx gt lt yyy gt und lt fff gt mit den korrekten Werten f r Ihr System ersetzen zum Beispiel hda2 hda5 und ext3 Die Details zu den sechs Feldern in dieser Tabelle finden Sie mittels man 5 fstab Der Mountpunkt dev shm f r das tmpfs Dateisystem wird hier eingef gt um POSIX konformes shared memory zu gew hrleisten Ihr Kernel muss Unterst tzung daf r haben damit das funktioniert mehr dar ber finden Sie im n chsten Abschnitt Beachten Sie bitte dass zur Zeit nur wenige Programme POSIX shared memory verwenden Daher k nnen Sie den Mountpunkt dev shm als optional betrachten Mehr Informationen dazu finden Sie in Documentation filesystems tmpfs txt im Quellordner Ihrer Kernel Quellen Dateisysteme die urspr
129. bunzip2 130 130 bzcat 130 131 bzcmp 130 131 bzdiff 130 131 bzegrep 130 131 bzfgrep 130 131 bzgrep 130 131 bzip2 130 131 bzip2recover 130 131 bzless 130 131 bzmore 130 131 c 95 97 c filt 93 94 c2ph 119 119 cal 180 181 captoinfo 113 114 cat 105 106 catchsegv 85 89 catman 156 159 cc 95 98 cdrom_id 177 178 cfdisk 180 181 chage 166 168 chattr 102 103 chfn 166 168 chgpasswd 166 168 chgrp 105 106 chkdupexe 180 181 chmod 105 106 chown 105 106 chpasswd 166 168 chroot 105 106 chsh 166 168 chvt 152 153 cksum 105 106 clear 113 114 cmp 132 132 235 Linux From Scratch Version 6 3 code 134 134 col 180 181 colcrt 180 181 colrm 180 181 column 180 181 comm 105 106 compile 126 126 compile_et 102 103 config charset 140 140 config guess 126 126 config rpath 140 140 config sub 126 126 convert mans 156 159 cp 105 107 cpan 119 120 cpp 95 98 create_floppy_devices 177 178 esplit 105 107 ctrlaltdel 180 181 ctstat 150 150 cut 105 107 cytune 180 181 date 105 107 db_archive 99 100 db_checkpoint 99 100 db_deadlock 99 100 db_dump 99 100 db_hotbackup 99 100 db_load 99 100 db_printlog 99 100 db_recover 99 100 db_stat 99 100 db_upgrade 99 100 db_verify 99 100 dd 105 107 ddate 180 181 deallocvt 152 153 debugfs 102 103 depcomp 126 126 depmod 161 161 df 105 1
130. c dumpmachine bin werden wir ebenfalls eine symbolische Verkn pfung einrichten mv v tools bin ld 1d old mv v tools gcc dumpmachine bin ld 1d old mv v tools bin ld new 1d In sv tools bin ld tools gcc dumpmachine bin ld Als n chstes m ssen Sie GCCs specs Datei so bearbeiten dass sie den neuen dynamischen Linker referenziert damit GCC die korrekten Header und Startdateien findet Diese Aufgabe wird von einem einfachen sed Kommando erledigt Wichtig Wenn Sie mit einer Rechner Plattform arbeiten bei der der Name des Linkers nicht Id linux so 2 lautet m ssen Sie in den obigen Kommandos ld linux so 2 durch den korrekten Namen des Linkers f r Ihre Plattform ersetzen Wenn n tig schlagen Sie nochmal im Abschnitt Abschnitt 5 2 Technische Anmerkungen zur Toolchain nach gcc dumpspecs sed e s tools lib ld linux so 2 lib ld linux so 2 g e startfile_prefix_spec n s usr lib e cpp n s a isystem usr include gt dirname gcc print libgec file name specs Danach sollten Sie die specs Datei iiberpriifen und sicherstellen dass alle gewiinschten Anderungen wirklich durchgef hrt wurden An dieser Stelle ist es zwingend n tig die grundlegenden Funktionen Kompilieren und Linken der angepassten Toolchain zu berpr fen Aus diesem Grund f hren Sie bitte die folgenden Tests durch echo main gt dummy c cc dumm
131. c59502a228c6ce2be025fcbe3ff2 28 Linux From Scratch Version 6 3 e Module Init Tools 3 2 2 166 kB Webseite http www kerneltools org Download http www kerneltools org pub downloads module init tools module init tools 3 2 2 tar bz2 MD5S Priifsumme alad0a09d3231673f 70d631f3f5040e9 e Ncurses 5 6 2 346 kB Webseite http dickey his com ncurses Download ftp invisible island net ncurses ncurses 5 6 tar gz MDS5 Pr fsumme 565 93abe1089d6aab1551c105c9300e3 e Patch 2 5 4 183 kB Webseite http www gnu org software patch Download http ftp gnu org gnu patch patch 2 5 4 tar gz MD5S Priifsumme ee5ae84d115f051d87 fcaaef3b4ae782 e Perl 5 8 8 9 887 kB Webseite http www perl com Download http ftp funet fi pub CPAN src perl 5 8 8 tar bz2 MD5S Priifsumme a377c0c67ab43fd96 c29ce19e8382 e Procps 3 2 7 275 kB Webseite http procps sourceforge net Download http procps sourceforge net procps 3 2 7 tar gz MD5S Priifsumme 490bca772b16472962c7b9F23b1e97d e Psmisc 22 5 271 kB Webseite http psmisc sourceforge net Download http prdownloads sourceforge net psmisc psmisc 22 5 tar gz MD5S Priifsumme 09c20fd899c2clbd2dce02a510f99fab e Readline 5 2 1 990 kB Webseite http cnswww cns cwru edu php chet readline rltop html Download http ftp gnu org gnu readline readline 5 2 tar gz MDS5 Pr fsumme 39331f 32ad14009b9ff49cc10c5e751 e Sed 4 1 5 781 kB Web
132. ch 1 6 kB Download http www linuxfromscratch org patches lfs 6 3 bzip2 1 0 4 install_docs 1 patch MD5S Priifsumme 6a5ac7e89b791laae55b6de0f 74591 6F7 e Coreutils Internationalization Fixes Patch 101 kB Download http www linuxfromscratch org patches lfs 6 3 coreutils 6 9 il8n 1 patch MDS5 Pr fsumme 80 6ce5bcb16a763a77bea4llec5ff 637 Coreutils Suppress Uptime Kill Su Patch 13 kB Download http www linuxfromscratch org patches lfs 6 3 coreutils 6 9 suppress_uptime_kill_su 1 patch 30 Linux From Scratch Version 6 3 MDS5 Pr fsumme e8ae92cdec364ca2a318f5c4c77b f032 e Coreutils Uname Patch 4 6 kB Download http www linuxfromscratch org patches lfs 6 3 coreutils 6 9 uname 1 patch MD5S Priifsumme c05b735710 bd62239588c07084852a0 DB Fixes Patch 2 8 kB Download http www linuxfromscratch org patches lfs 6 3 db 4 5 20 fixes 1 patch MD5S Priifsumme 4d6a476c9ccdlbb9fba9de0b5229f0da e Diffutils Internationalization Fixes Patch 18 kB Download http www linuxfromscratch org patches fs 6 3 diffutils 2 8 1 i18n 1 patch MDS5 Pr fsumme c84481223db274a33b121fb8c25af9f7 e Expect Spawn Patch 6 8 kB Download http www linuxfromscratch org patches lfs 6 3 expect 5 43 0 spawn 1 patch MDS Priifsumme e f64040221c571fb420afb7033b3bbba e Gawk Segfault Patch 1 3 kB Download http www linuxfromscratch org patches lfs 6 3 gawk 3 1 5 segfault_fix 1 patch MDS5 Pr fsumme 7679530488bf3eb56c42eb6aba342
133. ckage Reported by Leonhard Landrock 23 02 2007 dnicholson Removed usr local man lines from man_db conf to prevent redundant results Reported by Chris Staub dnicholson Applied a patch from Chris Staub to fix some commands and text on the kernel file systems E2fsprogs and Autoconf pages dnicholson Dropped the D switch from the Udev documentation install command since it is already created by udev config Reported by Chris Staub dnicholson Corrected the text about Udev not installing any configuration files Reported by Chris Staub dnicholson Removed the text suggesting that you can edit the specs file by hand in the toolchain 11 Linux From Scratch Version 6 3 adjustment since it s only generated if you run the previous commands Reported by Chris Staub 20 02 2007 bryan Add a comment about CD symlinks possibly not matching the host in section 7 12 2 Should fix the rest of 1963 18 02 2007 bryan Fix obsolete syntax used in the example Udev rules in section 7 12 2 Fixes the easy part of 1963 Also re add the note about the backslash at the end of the udev rule lines 17 02 2007 bryan Use upstream s rule_generator rules exclusively for NIC naming and generate the rules before configuring the network script so the user knows what NIC names to use Fixes the rest of 1912 bryan Change from writing CD symlink rules files directly to configuring the file installed by Udev s
134. clocal 1 10 automake automake 1 10 compile config guess config sub depcomp elisp comp install sh mdate sh Ein Skript das M4 Dateien im aclocal Stil installiert Erzeugt auf dem Inhalt von configure in Dateien basierend entsprechende aclocal m4 Dateien Ein harter Link auf aclocal Ein Werkzeug zum automatischen Erzeugen von Makefile in s aus sog Makefile am Dateien Um alle Makefile in Dateien eines Pakets zu erzeugen lassen Sie dieses Programm im Basisordner des Pakets laufen Durch das Scannen von configure in findet es automatisch jede n tige Makefile am Datei und erzeugt die entsprechende Makefile in Datei Ein harter Link auf automake Ein Wrapper f r verschiedene Compiler Ein Skript Es versucht kanonische Tripplets f r das Build den Host oder die Zielarchitektur zu erraten Ein Unter Skript zum Validieren der Konfiguration Ein Skript zum Kompilieren eines Programmes so dass nicht nur das gew nschte Ergebnis erzeugt wird sondern auch Abh ngigkeitsinformationen generiert werden Byte kompiliert Emacs Lisp Code Ein Skript welches ein Programm ein Skript oder eine Datendatei installiert Ein Skript welches den nderungszeitstempel einer Datei oder eines Ordners ausgibt 126 missing mkinstalldirs py compile symlink tree ylwrap Linux From Scratch Version 6 3 Ein Skript welches fehlende GNU Programme w hrend der Installation ersetzt Ein Skript zum Erzeugen einer Ord
135. d http ftp gnu org gnu libtoolNibtool 1 5 24 tar gz MD5S Priifsumme d0071c890101fcf4f2be8934a37841b0 e Linux 2 6 22 5 44 053 kB Webseite http www kernel org Download http www kernel org pub linux kernel v2 6 linux 2 6 22 5 tar bz2 MD5S Priifsumme 36616474f2fde72040bccf50db03522 Anmerkung Der Linux Kernel wird relativ oft aktualisiert meistens weil neu entdeckte Sicherheitsliicken geschlossen werden Die neues Kernelversion ist zum derzeitigen Stand 2 6 Verwenden Sie bitte den Linux Kernel 22 x es sei denn die LFS Fehlerkorrekturen errata empfehlen eine andere Version e M4 1 4 10 722 kB Webseite http www gnu org software m4 Download hittp ftp gnu org gnu m4 m4 1 4 10 tar bz2 MDS5 Pr fsumme 0a35bab2 5d605e08083d7e3chbd4b8b0 e Make 3 81 1 125 kB Webseite http www gnu org software make Download http ftp gnu org gnu make make 3 81 tar bz2 MDS5 Pr fsumme 354853e0b2da90c527e35aabb8d6fle6 e Man DB 2 4 4 877 kB Webseite http www nongnu org man db Download http savannah nongnu org download man db man db 2 4 4 tar gZ MD5S Priifsumme 9d7952delaeb9121497a8204c59c56d7 e Man pages 2 63 1 795 kB Download http www kernel org pub linux docs manpages Archive man pages 2 63 tar bz2 MD5S Priifsumme aeddbf 93dbb0aeaclc8ad950e80aad54 e Mktemp 1 5 69 kB Webseite http www mktemp org Download ftp ftp mktemp org pub mktemp mktemp 1 5 tar gz MDS5 Pr fsumme 9a35
136. d die Vorteile dieses Systems hervor Der Leser kann alle Eigenschaften des Systems selber vorgeben inklusive dem Layout der Ordnerstruktur Skript Einstellungen und Sicherheit Das System wird direkt aus dem Quellcode kompiliert und man kann selber entscheiden wo warum und wie Programme installiert werden Dieses Buch erm glicht es jedem Linux Systeme an die eigenen Bed rfnisse anzupassen und mehr Kontrolle ber das System zu erlangen Ich w nsche Ihnen viel Freude bei der Arbeit an Ihrem eigenen LFS System Genie en Sie die Vorteile eines Systems das wirklich hr Eigen ist Gerard Beekmans gerard linuxfromscratch org Warum sollte man dieses Buch lesen Es gibt viele gute Gr nde dieses Buch zu lesen Die meisten Leser m chten lernen wie man ein Linux System direkt aus den Quellen erstellt Oft wird die Frage gestellt Warum soll man sich die M he machen ein Linux System selbst zu erstellen wenn man einfach ein fertiges Linux herunterladen und installieren kann Das ist eine berechtigte Frage und gleichzeitig auch der Ansto f r dieses Kapitel Ein wichtiges Ziel von LFS ist dem Leser beizubringen wie Linux intern funktioniert Der Selbstbau eines Linux Systems veranschaulicht Ihnen was Linux seinen Herzschlag verleiht und wie die Komponenten vi Linux From Scratch Version 6 3 zusammenarbeiten und voneinander abh ngen Das Beste daran ist dass Sie durch den Lernprozess in die Lage versetzt werden Linu
137. daf r siehe auch hrtp www linuxfromscratch org blfs Falls die Einbindung der virtuellen Kernel Dateisysteme verloren gegangen ist z B durch Entmounten oder einen Neustart so m ssen Sie diese vor dem Betreten der chroot Umgebung erneut einbinden Die Vorgehensweise ist unter Abschnitt 6 2 2 Einh ngen und F llen von dev und Abschnitt 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme erkl rt 188 Linux From Scratch Version 6 3 Kapitel 7 Aufsetzen der System Bootskripte 7 1 Einf hrung In diesem Kapitel werden Sie die LFS Bootskripte aufsetzen Die meisten Skripte funktionieren ohne Anpassungen aber ein paar ben tigen eine Konfigurationsdatei weil sie beispielsweise mit Hardware an Ihrem Computer zu tun haben LFS verwendet Bootskripte im sehr gebr uchlichen System V Stil Es gibt auch andere M glichkeiten Beispielsweise finden Sie unter http www linuxfromscratch org hints downloads files bsd init txt eine Anleitung f r BSD Init Oder durchsuchen Sie die LFS Mailinglisten nach depinit um eine andere Variante zu versuchen Falls Sie sich f r etwas ganz anderes entscheiden sollten k nnen Sie dieses Kapitel ganz berspringen und direkt bei Kapitel 8 fortfahren 189 Linux From Scratch Version 6 3 7 2 LFS Bootskripte 6 3 Das Paket LFS Bootskripte enth lt die Skripte zum Starten und Stoppen des Systems beim Booten und Herunterfahren Ihres Computers Gesch tzte weniger
138. datei der Quellen und der Man pages f r ein Kommando aus Sendet eine Nachricht an einen Benutzer sofern der Benutzer den Empfang solcher Nachrichten nicht deaktiviert hat 182 Linux From Scratch Version 6 3 6 57 Vim 7 1 Das Paket Vim enth lt einen sehr m chtigen Texteditor Gesch tzte 0 4 SBU Kingef herbeit tigter 47 4 MB Festplattenplatz Alternativen zu Vim Wenn Sie einen anderen Editor bevorzugen zum Beispiel Emacs Joe oder Nano dann schauen Sie unter http www linuxfromscratch org blfs view svn postlfs editors html dort finden Sie einige Installationshinweise 6 57 1 Installation von Vim Entpacken Sie zuerst beide Archivdateien vim 7 1 tar bz2 und optional vim 7 1 lang tar gzin den gleichen Ordner Dann beheben Sie mit dem folgenden Patch einige Fehler die von den Upstream Entwicklern seit der letzten ver ffentlichten Version von Vim 7 1 gefunden wurden patch Npl i vim 7 1 fixes 1 patch Diese Version von Vim installiert einige bersetzte Hilfeseiten und kopiert sie in einen Ordner der nicht von Man DB durchsucht wird Patchen Sie Vim deshalb so dass die Hilfeseiten in durchsuchte Ordner installiert werden und in das gew nschte Format umgewandelt werden k nnen patch Npl i vim 7 1 mandir 1 patch ndern Sie schlussendlich noch den Speicherort f r die Konfigurationsdatei vimrc nach etc echo define SYS_VIMRC FILE etc vimrc gt gt src
139. db_stat db_upgrade und db_verify libdb so ar und libdb_cxx r o ar Kurze Beschreibungen db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover db_stat db_upgrade db_verify libdb so a libdb_cxx so a Gibt die Pfade zu Protokolldateien aus die nicht mehr benutzt werden Ein Daemon zum Uberwachen von Protokolldateien und Kontrollpunkten darin Ein Daemon zum Unterbrechen von Sperrungen falls eine ununterbrechbare Sperrung deadlock gefunden wird Wandelt eine Datenbankdatei in eine reines Textdatei um so dass sie von db_load gelesen werden kann Erzeugt Schnappsch sse einer Berkeley DB Datenbank zum Zweck eines Online Backup oder Online Failover Wird zum Erzeugen einer Datenbank Datei aus einer reinen Text Datei verwendet Wandelt eine Protokolldatei einer Datenbank in ein von Menschen lesbares Format um Stellt eine Datenbank nach einem Fehler wieder in einem konsistenten Zustand her Zeigt Statistiken zu Berkeley Datenbanken an Wird zum Aktualisieren von Datenbank Dateien auf eine neuere Berkeley DB Version verwendet Wird zum Durchf hren von Konsistenzpr fungen von Datenbank Dateien verwendet Enth lt Funktionen zum Manipulieren von Datenbank Dateien aus C Programmen heraus Enth lt Funktionen zum Manipulieren von Datenbank Dateien aus C Programmen heraus 100 Linux From Scratch Version 6 3 6 14 Sed 4 1 5 Das Paket Sed e
140. ddb e GCC Specs Patch 14 8 kB Download http www linuxfromscratch org patches lfs 6 3 gcc 4 1 2 specs I patch MD5S Priifsumme a17be8ccfb978e73f382be5093dd8abd e Grep RedHat Fixes Patch 55 kB Download http www linuxfromscratch org patches lfs 6 3 grep 2 5 la redhat_fixes 2 patch MD5S Priifsumme 2c67910be2d0a54714f63ce350e6d8a6 e Groff Debian Patch 379 kB Download http www linuxfromscratch org patches lfs 6 3 groff 1 18 1 4 debian_fixes 1 patch MD5S Priifsumme 0560 7e7f fcfd6e5091f020bf44ddcal0b e GRUB Disk Geometry Patch 28 kB Download http www linuxfromscratch org patches lfs 6 3 grub 0 97 disk_geometry 1 patch MD5S Priifsumme b 1594e82940e25d089feca74c6f1879 e Inetutils No Server Man Pages Patch 5 3 kB Download http www linuxfromscratch org patches lfs 6 3 inetutils 1 5 no_server_man_pages 2 patch MD5S Priifsumme ec83aa00 b111f6f9d9aca04de9chb753 Kbd Backspace Delete Fix Patch 11 kB Download http www linuxfromscratch org patches lfs 6 3 kbd 1 12 backspace 1 patch MD5S Priifsumme 692c88bb76906d499cc20446fadfb6499 e Kbd GCC 4 x Fix Patch 1 4 kB Download http www linuxfromscratch org patches lfs 6 3 kbd 1 12 gcc4_fixes 1 patch MD5S Priifsumme 615bc1e381ab646 04d804575led1 69 e Man DB Fix Patch 2 0 kB Download http www linuxfromscratch org patches lfs 6 3 man db 2 4 4 fixes 1 patch MD5S Priifsumme 75b3c44bb801778cf188b87454ff9cC1 e Mktemp Tempfile Patch 3 5 kB Download http
141. de zur Passwortverschl sselung von crypt auf die sicherere MD5 Methode ndern Au erdem erm glicht sie Passw rter mit mehr als 8 Zeichen Des Weiteren m ssen Sie den nunmehr veralteten Speicherort der Benutzermailboxen von var spool mailnach var mail ndern sed i e s MD5_CRYPT_ENAB no MD5_CRYPT_ENAB yes e s var spool mail var mail etc login defs Anmerkung Wenn Sie Shadow mit Unterst tzung f r Cracklib installieren dann geben Sie das folgende sed Kommando ein sed i s DICTPATH DICTPATH t lib cracklib pw_dict etc login defs Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Verschieben Sie ein Programm an die korrekte Stelle mv v usr bin passwd bin Verschieben Sie Shadow s Bibliotheken an eine bessere Stelle mv v lib libshadow a usr lib rm v lib libshadow so In sfv lib libshadow so 0 usr lib libshadow so 6 50 2 Einrichten von Shadow Dieses Paket enth lt Werkzeuge zum Bearbeiten Hinzuf gen und L schen von Benutzerpassw rtern Wir werden hier nicht erl utern was genau password shadowing bedeutet Eine vollst ndige Erkl rung finden Sie in der Datei doc HOWTO in der entpackten Shadow Ordnerstruktur Eines gilt es allerdings zu beachten Programme die Passw rter berpr fen m ssen z B xdm ftp und pop3 Server m ssen shado
142. der Shell ist eine Nicht Login Shell diese liest weder etc profile noch bash_ profile ein Stattdessen liest sie die Datei bashrc erstellen Sie sie nun cat gt bashrc lt lt EOF set h umask 022 hE S ammiey ales LC_ALL POSIX PATH tools bin bin usr bin expor Eis IC EC EANA EOF Das Kommando set h schaltet die Hash Funktion der bash ab Normalerweise ist das sogenannte Hashing der Bash eine niitzliche Funktion Bash benutzt eine Hash Tabelle um sich die Pfade zu ausfiihrbaren Dateien zu merken und vermeidet auf diese Weise ein st ndiges Durchsuchen aller Ordner Beim Bau von LFS m ssen Sie jedoch alle neu installierten Werkzeuge sofort nutzen k nnen Durch Abschalten der Hash Funktion wird f r interaktive Kommandos make patch sed cp und so weiter immer die neueste verf gbare Version benutzt Das Setzen der Dateierzeugungs Maske umask auf 022 bewirkt dass neu erzeugte Dateien nur durch ihren Besitzer beschreibbar sind aber f r alle anderen les und ausf hrbar wenn der Systemaufruf open 2 die blichen Datei Modi benutzt werden alle neu erzeugten Dateien die Rechte 644 und Ordner die Rechte 755 erhalten Die Variable LFS sollte nat rlich auf den von Ihnen gew hlten Mountpunkt der LFS Partition gesetzt sein Die Variable LC_ ALL beeinflusst die Lokalisierung einiger Programme so dass deren Ausgaben den Konventionen des entsprechenden Landes folgen Wenn
143. der den X Window Bibliotheken suchen soll beide k nnten eventuell auf dem Host System existieren fehlen aber in der tempor ren Arbeitsumgebung Kompilieren Sie das Paket make Wenn Sie die Testsuite durchlaufen lassen m chten f hren Sie make test aus Es ist jedoch bekannt dass die Testsuite in diesem Kapitel Probleme macht die noch nicht ganz nachvollzogen wurden Es ist daher nicht berraschend wenn die Testsuite Fehler meldet diese werden jedoch nicht als kritisch betrachtet Installieren Sie das Paket make SCRIPTS install Die Bedeutung des make Parameters SCRIPTS 50 Linux From Scratch Version 6 3 Dies verhindert die Installation der mitgelieferten Expect Skripte sie werden hier nicht gebraucht 5 9 2 Inhalt von Expect Installiertes Programm expect Installierte Bibliothek libexpect 5 43 a Kurze Beschreibungen expect Expect Spricht mit anderen interaktiven Programmen Es verwendet daf r ein anpassbares Skript libexpect 5 43 a Enth lt Funktionen mit denen man Expect als TCL Erweiterung oder direkt aus C C ohne TCL nutzen kann 51 Linux From Scratch Version 6 3 5 10 DejaGNU 1 4 4 Das Paket DejaGNU enth lt ein Grundger st zum Testen anderer Programme Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 6 2 MB Festplattenplatz 5 10 1 Installation von DejaGNU Bereiten Sie DejaGNU zum Kompilieren vor configure prefix tools Kompi
144. dern des vollst ndigen Namens und weiterer Informationen eines Benutzers benutzt Wird benutzt um das Passwort mehrerer Gruppen in einem Durchlauf zu ndern Wird benutzt um das Passwort mehrerer Benutzer in einem Durchlauf zu ndern Wird benutzt um die voreingestellte Shell eines Benutzers zu ndern Pr ft ob ein Kennwort abgelaufen ist und setzt eine entsprechende Regelung durch Wird verwendet zum Untersuchen der Logdatei nach fehlgeschlagenen Logins zum Setzen einer maximalen Fehlerzahl vor der Sperrung eines Kontos oder zum Zur cksetzen des Z hlers Wird zum Hinzuf gen und L schen von Mitgliedern in Gruppen verwendet Erzeugt eine Gruppe mit dem angegebenen Namen L scht eine Gruppe mit dem angegebenen Namen seine Erm glicht es einem Benutzer ohne Gruppenmitgliedschaft zu verwalten Systemverwalterrechte eigene ndert den Namen oder die GID einer Gruppe Pr ft die Integrit t der Gruppen Dateien etc group und etc gshadow Erzeugt oder aktualisiert die group Datei von Shadow aus der normalen group Datei Aktualisiert etc group aus etc gshadow und l scht die letztere dann Berichtet ber die letzten Anmeldungen aller oder eines bestimmten Benutzers Wird vom System benutzt um einen Benutzer anzumelden Ein Daemon der Beschr nkungen auf die Login Zeit und Ports durchsetzt Wird zum ndern der aktuellen GID in einer Login Sitzung benutzt Wird zum Erzeugen oder Aktualisieren einer Serie von Benut
145. die Testdatei ge ndert werden chmod x tests sort sort mb tests Anmerkung In der Vergangenheit wurden leider viele Fehler in diesem Patch gefunden Wenn Sie neue Fehler an die Entwickler von Coreutils berichten m chten pr fen Sie bitte zuallererst ob sich der Fehler auch ohne diesen Patch noch reproduzieren l sst Bereiten Sie Coreutils zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Fahren Sie mit Installieren Sie das Paket fort wenn Sie die Testsuite berspringen m chten Sie k nnen die Testsuite nun durchlaufen lassen Als erstes starten Sie einige Tests die als root laufen m ssen make NON_ROOT_USERNAME nobody check root Die verbleibenden Tests werden als Benutzer nobody ausgef hrt Einige Tests erfordern jedoch dass der Benutzer Mitglied in mehr als einer Gruppe ist Damit diese Tests nicht bersprungen werden erstellen Sie nun eine tempor re Gruppe und f gen nobody als Mitglied hinzu echo dummy x 1000 nobody gt gt etc group 105 Linux From Scratch Version 6 3 Jetzt k nnen Sie die Tests ausf hren su tools nobody s bin bash c make RUN_EXPENSIVE_TESTS yes check Entfernen Sie die tempor re Gruppe wieder sed i dummy d etc group Installieren Sie das Paket make install Und verschieben Sie einige Programme an die vom FHS vorgegebene Stelle mv m
146. dlings die gesamte Ausgabe andererseits sollte es aber auch nicht zu wenig sein Als Beispiel f r sinnvolle Informationen soll Ihnen folgende Ausgabe von make helfen gcc DALIASPATH mnt lfs usr share locale DLOCALEDIR mnt lfs usr share locale DELEDIREN EE EEN DINCLUDEDIREN mme lis uszr inelude DAVE CONFIG MH i g 02 C getopt ged 0g 02 Raise mike up arsan O Commands e dir expand o rile o TUnction oO GScoqoctc Implicit JOO main o misc o read o remake o rule o signame o variable o vpath o defau lt o remote stub o versiono optl o l til Job ozs In function Lea too higa s lts tmo make 3 79 1 Job cs1565 undefined reference to getloadavg 19 Linux From Scratch Version 6 3 eolleee 23 le esoe 1 est Sitacus make Zils sis make Brzoz 1 makez Leaving Clusscicory Ee icimo malke 3 7 9 21 makela zz all recursive eo 1 makelij Leaving eilreecozy LEs cmo make 3 79 1V make lall recursive am Error 2 In diesem Fallbeispiel kopieren viele leider nur den unteren Teil make 2 2 ec make Eewor 1 Das reicht uns aber nicht um Ihnen bei der Fehlerdiagnose helfen zu k nnen denn es sagt uns nur dass etwas schiefgelaufen ist aber nicht was Sie m ssen den ganzen oben gezeigten Block angeben denn er enth lt das ausgef hrte Kommando und die
147. durch Konvertierung der KIO8 R Version erzeugt werden cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console UNICODE 1 KEYMAP ru_ms LEGACY_CHARSET koi8 r FONT LatArCyrHeb 16 End etc sysconfig console EOF Einige Tastaturlayouttabellen enthalten sog tote Tasten Tasten die kein eigenst ndiges Zeichen erzeugen sondern z B das nachfolgende Zeichen mit einem Akzent versehen oder Kompositions Regeln wie Strg A E f r in der Standard Layouttabelle Linux 2 6 22 5 im UTF 8 Tastaturmodus geht davon aus dass sich akzentuierte Zeichen die ber tote Tasten oder Kompositionstasten erzeugt wurden im Latin 1 Abschnitt von Unicode befinden Diese Annahme l sst sich nicht ndern Daher k nnen akzentuierte Zeichen f r z B Tschechisch nicht in der Linux Konsole im UTF 8 Modus eingegeben werden Dateien mit diesen Zeichen werden jedoch korrekt angezeigt Entweder vermeiden Sie den UTF 8 Modus oder Sie installieren X Windows welches diese Einschr nkung in der Eingabemethode nicht hat Die n tigen Zeichen f r die Sprachen Chinesisch Japanisch Koreanisch und ein paar weitere lassen sich in der Linux Konsole nicht anzeigen Falls Sie diese ben tigen m ssen Sie das X Window System die ben tigten Schriften und eine Eingabe Methode wie SCIM installieren Anmerkung Mit der Datei etc sysconfig console k nnen Sie ausschlie lich die Lokalisierung f r die Linux Textkonso
148. e bringen dann unterst tzen Sie uns bitte indem Sie alle relevanten Informationen direkt mitsenden 1 5 1 Dinge die Sie angeben sollten Neben einer kurzen Zusammenfassung des Problems ist es wichtig dass Sie uns noch folgende Dinge mitteilen Die Version dieses Buches in diesem Fall Version 6 3 Host Distribution und Versionsnummer die Sie zur Installation von LFS verwenden die Software oder der Abschnitt der Ihnen Probleme bereitet die exakte Fehlermeldung bzw die genauen Symptome die Sie sehen ob Sie von den Anleitungen im Buch abgewichen sind und wenn ja wie Anmerkung Beachten Sie Wir werden Ihnen auch helfen wenn Sie von den Anleitungen im Buch abgewichen sind Schlie lich ist die freie Wahl ein wichtiger Grundsatz von LFS Ihr Hinweis hilft uns lediglich die m glichen Ursachen f r Ihr Problem besser zu erkennen 1 5 2 Probleme mit configure Skripten Wenn beim Durchlaufen der configure Skripte ein Problem auftritt schauen Sie bitte zuerst in die Datei config log Sie enth lt Fehlermeldungen die auf dem Bildschirm normalerweise nicht angezeigt werden Geben Sie die relevanten Fehlermeldungen mit an wenn Sie um Hilfe bitten 1 5 3 Kompilierprobleme Sowohl Bildschirmausgaben als auch der Inhalt einiger Dateien sind f r uns n tzlich um Ihnen bei der Fehlersuche zu helfen Die Ausgaben des configure Skriptes und die des Befehls make k nnen sehr hilfreich sein Bitte kopieren Sie aber nicht einfach blin
149. e INSTALL _HDR_PATH dest headers_install cp rv dest include usr include 6 7 2 Inhalt von Linux API Header Installierte Header usr include asm generic linux mtd rdma sound h Kurze Beschreibungen usr include asm generic linux mtieseDatefentbild en delt mu Header API 83 Linux From Scratch Version 6 3 6 8 Man pages 2 63 Das Paket Man pages enth lt ber 3 000 Hilfeseiten Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 37 4 MB Festplattenplatz 6 8 1 Installation der Man pages Installieren Sie die Man pages durch Ausf hren von make install 6 8 2 Inhalt von Man pages Installierte Dateien verschiedene Hilfeseiten Man pages Kurze Beschreibungen Hilfeseiten Sie beschreiben z B Funktionen der Programmiersprache C und wichtige Ger te und Konfigurationsdateien 84 Linux From Scratch Version 6 3 6 9 Glibc 2 5 1 Glibc enth lt die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verf gung z B das Zuweisen von Speicher Durchsuchen von Ordnern Offnen und Schlie en sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc Gesch tzte 19 5 SBU inklusive Testsuite Kingef herbeit tigter 556 MB inklusive Testsuite Festplattenplatz 6 9 1 Installation von Glibc Anmerkung Einige Pakete au erhalb von LFS empfehlen die GNU Software libiconv zu installieren um Daten von einer Kodierung in ei
150. e Zutaten weglassen und eigene Zutaten nach Geschmack und Belieben hinzuf gen Wenn man zufrieden ist bereitet man es zu Und auch hier kann man variieren braten backen tiefgefrieren grillen oder roh essen ganz wie man will Es gibt noch weitere Analogien Vergleichen Sie LFS z B mit einem Fertighaus LFS w re in dem Fall der Plan f r den Grundriss aber bauen m ssen Sie das Haus selber Jeder kann den Plan ganz nach Belieben ndern Nicht zuletzt ist auch Sicherheit ein Vorteil eines selbstgebauten Linux Systems Wer ein Linux System selber aus den Quellen kompiliert kann s mtliche Quelltexte sichten und alle f r wichtig erachteten Sicherheitspatches installieren Man muss nicht warten bis jemand anders Bin rpakete zur Behebung von Sicherheitsl chern bereitstellt Solange Sie die Patches nicht selber pr fen und installieren ist auch nicht sichergestellt dass das Bin rpaket korrekt kompiliert wurde und es das Problem auch wirklich behebt Das erkl rte Ziel von Linux From Scratch ist ein vollst ndiges lauff higes und grundsolides System zu erstellen Wenn Sie nur interessiert was genau beim Hochfahren Ihres Computers geschieht dann empfehlen wir das HOWTO From Power Up To Bash Prompt Sie bekommen es unter http axiom anu edu au okeefe p2b oder auf der Webseite des Linux Documentation Project unter http www tldp org HOWTO From PowerUp To Bash Prompt HOWTO html Mit Hilfe dieses HOWTOs wird ein blankes System i
151. e das Paket make install 6 31 2 Inhalt von File Installierte Programme file Installierte Bibliothek libmagic a so Kurze Beschreibungen file Versucht Dateien zu klassifizieren Dazu f hrt es verschiedene Tests durch Dateisystem Tests Tests mit magischen Nummern und Sprachtests Der erste erfolgreiche Test entscheidet ber das Ergebnis libmagic Enth lt Routinen zur Erkennung von magischen Nummern wird vom Programm file verwendet 133 Linux From Scratch Version 6 3 6 32 Findutils 4 2 31 Das Paket Findutils enth lt Programme zum Auffinden von Dateien durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank Die Suche ber eine Datenbank ist normalerweise schneller aber es besteht nat rlich die Gefahr dass die Datenbank zum Zeitpunkt der Suche veraltet ist Gesch tzte 0 2 SBU Kingef herbeit tigter 13 6 MB Festplattenplatz 6 32 1 Installation von Findutils Bereiten Sie Findutils zum Kompilieren vor configure prefix usr libexecdir usr lib findutils localstatedir var lib locate Die Bedeutung der configure Parameter localstatedir Der obige Parameter ndert den Standort der locate Datenbank wie vom FHS Standard verlangt nach var lib locate Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Einige der LFS Bootsk
152. e nicht versehentlich in Ihrem produktiven Host System enden in Kapitel 5 k nnte das sehr leicht passieren Erstellen Sie den Ordner indem Sie als root dieses Kommando ausf hren mkdir v SLFS tools Im n chsten Schritt erstellen Sie auf Ihrem Host System einen symbolischen Link nach tools Er zeigt auf den Ordner den Sie gerade auf der LFS Partition erstellt haben F hren Sie dieses Kommando als root aus ln sv SLFS tools Anmerkung Das obige Kommando ist in dieser Form korrekt der Befehl In hat verschiedene Syntax Varianten bitte lesen Sie erst info coreutils In und 1n 1 bevor Sie einen vermeintlichen Fehler berichten Dieser symbolische Link erm glicht uns die Toolchain so zu kompilieren dass sie immer tools referenziert Das hat f r uns den Vorteil dass Compiler Assembler und Linker sowohl in diesem Kapitel in dem Sie noch einige Programme vom Host System benutzen als auch im n chsten Kapitel wenn Sie in die LFS Partition chroot ed haben funktionieren werden Das liegt daran dass die Programme immer den gleichen Pfad benutzen k nnen 4 3 Hinzuf gen des LFS Benutzers Als root eingeloggt k nnen selbst kleine Fehler ein System besch digen oder gar zerst ren Daher sollten Sie 33 Linux From Scratch Version 6 3 die Pakete in diesem Kapitel mit Hilfe eines unprivilegierten Benutzers kompilieren Nat rlich k nnen Sie Ihren bisherigen Benutzernamen dazu verwenden aber das Bereits
153. e sicher dass Ihre Umgebungsvariable PATH richtig gesetzt ist Sie k nnen die Variable mit dem Kommando echo PATH anzeigen lassen pr fen Sie dass tools bin am Anfang der Liste steht Wenn die PATH Variable falsch gesetzt ist sind Sie m glicherweise nicht als lfs eingeloggt oder in Abschnitt 4 4 Vorbereiten der Arbeitsumgebung ist etwas schiefgelaufen Vielleicht hat auch beim Anpassen der specs Datei etwas nicht richtig funktioniert In diesem Fall wiederholen Sie die Anpassung Wenn Sie mit dem Ergebnis zufrieden sind r umen Sie auf rm v dummy c a out Anmerkung Das Kompilieren von TCL im n chsten Abschnitt ist gleichzeitig auch ein zus tzlicher Test ob die Toolchain korrekt erstellt wurde Falls TCL nicht kompilierbar ist weist das auf einen Fehler mit Binutils GCC oder Glibc hin nicht aber auf einen Fehler in TCL 48 Linux From Scratch Version 6 3 5 8 Tcl 8 4 15 Das Tcl Paket enth lt die Tool Command Language Gesch tzte 0 3 SBU Kingef herbeit tigter 24 MB Festplattenplatz 5 8 1 Installation von Tcl Dieses und die n chsten beiden Pakete werden nur installiert damit Sie die Testsuites von GCC und Binutils laufen lassen k nnen Drei Pakete nur zu Testzwecken zu installieren k nnte etwas bertrieben erscheinen aber es ist wirklich sehr wichtig zu wissen dass unsere grundlegensten Programme und Werkzeuge richtig funktionieren Selbst wenn wir die Testsuites in diesem Kapitel nicht a
154. ed in den entpackten Ordner gewechselt haben Danach k nnen Sie die jeweilige Installationsanleitung durcharbeiten Einige der Pakete werden vor dem Kompilieren gepatcht aber nur um ein potentielles Problem zu umgehen Meist wird ein Patch sowohl in diesem als auch im folgenden Kapitel ben tigt manchmal aber auch nur in einem von beiden Machen Sie sich keine Gedanken wenn die Installationsanweisungen f r einen Patch zu fehlen scheinen Au erdem werden Sie manchmal beim Installieren eines Patches Warnungen ber offset oder fuzzy sehen Diese Warnungen sind nicht wichtig der Patch wird dennoch sauber installiert Beim Kompilieren vieler Pakete werden Sie alle m glichen Compiler Warnungen auf dem Bildschirm bemerken Das ist normal und kann einfach ignoriert werden Es handelt sich eben nur um Warnungen meistens aufgrund der Verwendung veralteter aber dennoch korrekter C oder C Syntax Die C Standards haben sich im Laufe der Zeit oft ver ndert und einige Pakete benutzen immer noch alte Standards aber das ist kein wirkliches Problem Wichtig Solange nichts anderes angegeben wird sollten Sie die Quell und Kompilierordner jedesmal nach dem Installieren eines Pakets l schen Dadurch verhindern Sie m gliche Fehlkonfigurationen falls ein Paket sp ter erneut installiert werden muss Bevor Sie fortfahren stellen Sie bitte mit folgendem Kommando sicher dass die LFS Umgebungsvariable korrekt gesetzt ist echo LFS Die
155. efer soelim tbl tfmtodit und troff Kurze Beschreibungen addftinfo afmtodit eqn eqn2graph geqn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl hpftodit indxbib Ikbib lookbib mmroff neqn nroff pfbtops pic pic2graph Liest eine troff Schriftdatei und fiigt einige schriftmetrische Informationen hinzu die vom groff System benutzt werden Erzeugt eine Schrift Datei zur Verwendung mit groff und grops Kompiliert in troff Eingabedateien enthaltene Beschreibungen von Gleichungen zu Kommandos die troff versteht Konvertiert eine EQN Gleichung zu einem beschnittenen Bild Ein Link auf gawk Ein groff Pr prozessor f r gremlin Dateien Ein Treiber f r groff der das TeX dvi Format erzeugt Eine Benutzerschnittstelle f r das groff Dokumentenformatierungssystem Normalerweise f hrt es das Programm troff und einen f r das Ausgabeger t passenden Postprozessor aus Zeigt groff Dateien und Man pages unter X und im tty an Liest Dateien ein und sch tzt welche der groff Optionen e man me mm ms p s und t zum Drucken ben tigt werden und gibt das n tige groff Kommando aus Ein groff Treiber f r Canon CAPSL Drucker Laserdrucker der Serie LBP 4 und LBP 8 Ein Treiber f r groff der Ausgaben im PCL5 Format passend f r HP LaserJet 4 Drucker erzeugt bersetzt die Ausgabe von GNU troff zu PostScript bersetzt die Ausgabe von GNU troff in eine pas
156. eichensatz Alternativ k nnen Sie auch alle Locales auf einmal installieren die in glibc 2 5 1 localedata SUPPORTED aufgelistet werden die Liste enth lt die obigen Locales und noch viele weitere Dieses Kommando ben tigt allerdings ein wenig Zeit make localedata install locales Im unwahrscheinlichen Fall dass Sie noch weitere Locales ben tigen verwenden Sie das Kommando localedef um die nicht in glibc 2 5 1 localedata SUPPORTED gelisteten Locales zu installieren 6 9 2 Einrichten von Glibc Sie m ssen die Datei etc nsswitch conf erstellen Glibc gibt zwar Standardwerte vor wenn die Datei fehlt oder besch digt ist aber diese funktionieren nicht besonders gut mit Netzwerken Au erdem m ssen Sie die Zeitzone korrekt einstellen Erstellen Sie nun die Datei etc nsswitch conf cat gt etc nsswitch conf lt lt EOF i Begina Vebe insswibehrcong passwd files group files shadow files hosts files dns networks files protocols files services files etherss tiles 87 Linux From Scratch Version 6 3 zes cLles End etc nsswitch conf EOF Mit diesem Skript finden Sie heraus in welcher Zeitzone Sie sich befinden tzselect Nachdem Sie ein paar Fragen zu Ihrem Standort beantwortet haben wird das Skript den Namen Ihrer Zeitzone ausgeben Die Ausgabe k nnte z B Europe Berlin lauten Erstellen Sie dann mit dem folgenden Kommando die Datei etc localtime cp v
157. ein im fertigen System installiertes TCL Keine Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Perl Sed und Texinfo DejaGNU und Expect Keine 227 Vorauss f Installation Vorauss f Testsuite Installation vor Bzip2 Vorauss f Installation Vorauss f Testsuite Installation vor Coreutils Vorauss f Installation Vorauss f Testsuite Installation vor DejaGNU Vorauss f Installation Vorauss f Testsuite Installation vor Diffutils Vorauss f Installation Vorauss f Testsuite Installation vor Expect Vorauss f Installation Vorauss f Testsuite Installation vor E2fsprogs Vorauss f Installation Vorauss f Testsuite Installation vor File Vorauss f Installation Vorauss f Testsuite Installation vor Findutils Vorauss f Installation Linux From Scratch Version 6 3 Bash Binutils Coreutils GCC Gettext Glibc Grep M4 Make und Sed Diffutils und Findutils Flex Kbd und Tar Bash Binutils Coreutils Diffutils GCC Glibc Make und Patch Keine Keine Bash Binutils Coreutils GCC Gettext Glibc Grep Make Patch Perl Sed und Texinfo Diffutils E2fsprogs Bash Diffutils Findutils Man DB und Udev Bash Coreutils Diffutils GCC Grep Make und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Patch Sed und Texinfo
158. einrichten erzeugen Sie etc hosts mit diesem Kommando cat gt etc hosts lt lt EOF Begin etc hosts no network card version 127 0 0 1 lt HOSTNAME beispiel de gt lt HOSTNAME gt localhost End etc hosts no network card version EOF 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Geraten 7 12 1 Symbolische Links fur CD Roms Einige von den Programmen die Sie vielleicht sp ter installieren m chten erwarten die Existenz der 203 Linux From Scratch Version 6 3 symbolischen Links dev cdrom und dev dvd und dass diese auf ein CD Rom oder DVD Laufwerk verweisen z B einige Media Player Au erdem k nnte es praktisch sein diese symbolischen Links in etc fstab einzutragen Udev enth lt ein Skript welches Regel Dateien erzeugt die diese symbolischen Links f r Sie anlegen abh ngig von den verf gbaren Funktionen der Ger te Es gibt zwei Betriebsmodi in denen die Skripte laufen k nnen Sie m ssen sich entscheiden welchen der Modi Sie verwenden m chten Zum Einen kann das Skript nach Pfad arbeiten Voreinstellung f r USB und FireWire Ger te wobei die erzeugten Regeln abh ngig vom physikalischen Pfad zu dem CD oder DVD Ger t sind Au erdem kann das Skript nach ID arbeiten Voreinstellung f r IDE und SCSI Ger te wobei die erzeugten Regeln abh ngig sind von Identifikationsmerkmalen die in den CD DVD Ger ten selber gespeichert sind z B Seriennummer Ein Pfad wird
159. einzigen Datei replaziert ihre Daten und verbindet ihre Symbolreferenzen Listet alle in einer Objektdatei vorkommenden Symbole auf Wird zum Konvertieren eines bestimmten Objektdateityps in einen anderen verwendet Zeigt ausgew hlte Informationen ber eine Objektdatei an Diese Informationen sind haupts chlich f r Programmierer sinnvoll die an den Kompilierwerkzeugen arbeiten Erzeugt einen Index des Archivinhalts und speichert ihn im Archiv Der Index listet alle reallokierbaren Symbole auf die von im Archiv enthaltenen Objektdateien definiert werden Zeigt Informationen ber Bin rdateien vom Typ ELF an Listet die Abschnitts und Gesamtgr e f r eine Objektdatei auf Gibt f r jede angegebene Datei die druckbaren Zeichenketten aus die eine festgelegte Mindestgr e haben Voreinstellung ist 4 Bei Objektdateien gibt es in der Voreinstellung nur die Zeichenketten aus den Initialisierungs und Ladeabschnitten aus Bei anderen Dateitypen durchsucht es die gesamte Datei Entfernt bestimmte Symbole aus Objektdateien z B Debugging Symbole Enth lt Routinen die von verschiedenen GNU Programmen genutzt werden inklusive getopt obstack strerror strtol und strtoul Die Bibliothek f r Bin rdateibezeichner Eine Bibliothek zur Behandlung von Obcodes Sie wird zum Erzeugen von Werkzeugen wie z B objdump benutzt Obcodes sind die lesbaren Versionen der Prozessorinstruktionen 94 Linux From Scratch Version 6 3
160. ellen der Datei etc resolv conf Wenn Sie mit dem Internet verbunden sind brauchen Sie h chstwahrscheinlich DNS Namensaufl sung um Internet Dom nennamen zu IP Adressen aufzul sen Dies erreichen Sie am einfachsten indem Sie die IP Adresse des DNS Servers stellt Ihr Internet Anbieter oder Netzwerkadministrator bereit in etc resolv conf eintragen Erzeugen Sie die Datei mit diesem Kommando cat gt etc resolv conf lt lt EOF Begin etc resolv conf domain lt Ihr Dom nenname gt nameserver lt IP Adresse des prim ren Nameservers gt nameserver lt IP Adresse des sekund ren Nameservers gt End etc resolv conf EOF Nat rlich m ssen Sie lt IP Adresse des prim ren Nameservers gt durch die echte IP Adresse Ihres prim ren DNS Servers ersetzen Oftmals gibt es mehr als einen Eintrag offizielle Nameserver m ssen aus 207 Linux From Scratch Version 6 3 Fallback Gr nden immer auch einen sekund ren DNS Server haben Die IP Adresse k nnte auch die eines Routers in Ihrem lokalen Netzwerk sein Wenn Sie keinen zweiten Nameserver haben oder m chten entfernen Sie den zweiten nameserver Eintrag 208 Linux From Scratch Version 6 3 Kapitel 8 Das LFS System bootf hig machen 8 1 Einf hrung Nun ist es an der Zeit Ihr LFS bootf hig zu machen In diesem Kapitel erstellen Sie die Datei fstab einen neuen Kernel f r Ihr LFS System und Sie installieren den Bootloader GRUB damit Sie Ihr LFS System zum
161. emprozessen Die Informationen zu den Prozessen erh lt Procps aus dem Ordner proc Gesch tzte 0 1 SBU Kingef herbeit tigter 2 3 MB Festplattenplatz 6 21 1 Installation von Procps Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 21 2 Inhalt von Procps Installierte Programme free kill pgrep pkill pmap ps pwdx skill slabtop snice sysctl tload top uptime vmstat w und watch Installierte Bibliothek libproc so Kurze Beschreibungen free Gibt die Menge an freiem und benutzten Arbeitsspeicher aus sowohl physischem als auch Swap kill Sendet Signale an Prozesse pgrep Findet Prozesse aufgrund ihres Namens und anderer Attribute pkill Signalisiert Prozesse basierend auf ihrem Namen oder anderen Attributen pmap Gibt eine Speicheriibersicht des angegebenen Prozesses aus ps Listet zur Zeit laufende Prozesse auf pwdx Gibt den Namen des aktuellen Arbeitsordners eines Programms aus skill Sendet Signale an Prozesse die den angegebenen Kriterien entsprechen slabtop Zeigt detaillierte Informationen zum Kernel Slap Cache in Echtzeit an snice ndert die Priorit t von Prozessen die auf die angegebenen Kriterien passen sysctl ndert Kernelparamter zur Laufzeit tload Gibt eine Grafik der aktuellen durchschnittlichen Systemlast aus top Zeigt eine Liste der Prozesse an die am meisten CPU Last erzeugen Erm glicht eine bers
162. er Bibliothek ben tigt werden Unterst tzt Idd bei der Arbeit mit Objektdateien Zeigt verschiedene Informationen ber die aktuelle Locale an Erzeugt Locale Spezifikationen Liest und interpretiert eine Speicher R ckverfolgungsdatei und gibt eine normal lesbare Zusammenfassung aus Der name service cache daemon er stellt einen Zwischenspeicher f r die meisten namensbasierten Anfragen zur Verf gung Gibt Informationen aus die durch PC Profiling erzeugt wurden Ist ein Hilfsprogramm zu grantpt Es setzt Besitzer und Zugriffsberechtigungen von Slave Pseudo Terminals Gruppe Erzeugt C Code zum Implementieren des RPC Protokolls Generiert eine RPC Anfrage an einen RPC Server Dies ist die statisch gelinkte Variante von In Liest Profiling Daten zu Shared Objects und zeigt sie an Stellt dem Anwender einige Fragen zu seinem Standort und erzeugt aus den Antworten eine passende Zeitzonenbeschreibung Verfolgt den Durchlauf eines Programmes indem es die jeweils ausgef hrte Funktion ausgibt Gibt Zeitzonen aus Ist ein Compiler f r Zeitzonen Ist ein Hilfsprogramm f r ausf hrbare gemeinsame Bibliotheken Wird intern von der GLibc verwendet um kaputte Programme z B einige Motif Programme zum Laufen zu bekommen Schauen Sie sich dazu die Kommentare inglibc 2 5 1 locale broken_cur_max can K mmert sich um die Verarbeitung von Speicherzugriffsfehlern wird von catchsegv eingesetzt Eine Bibliothek zum
163. er solchen Installation ist manchmal nicht ganz leicht Nehmen wir an Sie m chten das Paket libfoo 1 1 installieren Die folgenden Kommandos w rden das Paket nicht korrekt installieren configure prefix usr pkg libfoo l 1 make make install 78 Linux From Scratch Version 6 3 Die Installation ansich wird funktionieren aber die abh ngigen Pakete werden nicht korrekt auf libfoo verweisen Wenn Sie ein Paket kompilieren welches libfoo ben tigt so wird es gegen usr pkg libfoo 1 1 lib libfoo so 1 linken anstatt den korrekten Pfad usr lib libfoo so 1 zu verwenden Der korrekte Ansatz ist der Einsatz der Variable DESTDIR mit der die Installation in einen anderen Ordner vorget uscht werden kann Dies funktioniert wie folgt configure prefix usr make make DESTDIR usr pkg libfoo 1 1 install Diese Methode funktioniert mit den meisten Softwarepaketen aber leider nicht mit allen Die inkompatiblen Pakete miissen Sie entweder von Hand installieren oder Sie installieren sie unterhalb von opt 6 3 2 4 Paketverwaltung mittels Zeitstempel Bei dieser Technik wird jede Datei vor der Installation mit einem Zeitstempel versehen Nach der Installation k nnen alle installierten Dateien mit einem einfachen find Kommando gefunden und protokolliert werden Die Paketverwaltung install log setzt diese Methode ein Obwohl diese Methode nat rlich sehr einfach ist hat sie leider zwei Nachteile Wenn w hrend de
164. eser Schl ssel wird nur hinzugef gt wenn es sich um eine Drahtlos Netzwerkkarte handelt die mehrere virtuelle Schnittstellen erzeugt Dieser Schl ssel bewirkt dass die Regel nur auf das Hauptger t passt Die virtuellen Ger te d rfen nicht auf die Regel passen weil dies wie bei Unterger ten Namenskonflikte bewirken w rde ATTRS address Der Wert dieses Schl ssels ist die MAC Adresse der Netzwerkkarte NAME Dieser Wert bestimmt den Namen der der Netzwerkkarte zugewiesen wird Der Wert von NAME ist der wichtige Teil Sie sollten wissen welchen Namen Sie welcher Netzwerkkarte zugewiesen haben bevor Sie fortfahren Verwenden Sie diesen Wert von NAME wenn Sie sp ter die Konfigurationsdateien weiter unten einrichten 206 Linux From Scratch Version 6 3 7 13 2 Erstellen der Konfigurationsdateien f r Netzwerkger te Welche Netzwerkger te von den Skripten gestartet und gestoppt werden h ngt von den Dateien und Ordnern in etc sysconfig network devices ab Dieser Ordner sollte pro Netzwerkger t einen Unterordner in der Form ifconfig xyz enthalten wobei xyz der Name des Netzwerkger tes ist zum Beispiel ethO oder eth0 1 Das folgende Kommando erzeugt die Beispieldate ipv4 f r eth0 cd etc sysconfig network devices mkdir v ifconfig ethO0 cat gt ifconfig eth0 ipv4 lt lt EOF ONBOOT yes SERVICE ipv4 static 1P 192 168 1 1 GATEWAY 192 168 1 2 PREFIX 24 BROADCAST 192 168 1 255 EOF
165. eudo Terminals PTYs in Ihrer chroot Umgebung funktionieren Mit dem folgenden schnellen Test sehen Sie ob alles korrekt eingerichtet ist expect c spawn ls Falls die folgende Meldung erscheint ist Ihre chroot Umgebung nicht f r PTYs vorbereitet The system has no more ptys Ask your system administrator to create more Das Problem muss behoben werden bevor Sie die Testsuites von Binutils und GCC laufen lassen Die Dokumentation zu Binutils empfiehlt Binutils au erhalb des Quellordners zu kompilieren mkdir v binutils build cd binutils build Bereiten Sie Binutils zum Kompilieren vor binutils 2 17 configure prefix usr enable shared Kompilieren Sie das Paket make tooldir usr Die Bedeutung des make Parameters tooldir usr Normalerweise ist tooldir der Ordner in den die ausf hrbaren Dateien endg ltig installiert werden auf S exec_prefix target_alias eingestellt Ein i686 Computer l st dies zum Beispiel zu usr i686 pc linux gnu auf Da wir aber nur f r unser eigenes System installieren brauchen wir diesen speziellen Ordner in usr nicht Diese Konfiguration f nde z B dann Verwendung wenn das System zum Querkompilieren genutzt w rde zum Beispiel um auf einer Intel Maschine Code zu generieren der auf einem PowerPC ausgef hrt werden Kann Wichtig In diesem Abschnitt wird die Testsuite von Binutils als kritisch eingestuft
166. fromscratch org patches lfs 6 3 texinfo 4 9 multibyte 1 patch MDS5 Pr fsumme 6cb5b760cfdd2dd53a0430eb572a8aaa e Texinfo Tempfile Fix Patch 2 2 kB Download http www linuxfromscratch org patches lfs 6 3 texinfo 4 9 tempfile_fix 1 patch MD5S Priifsumme 559bdal136a2ac7777ecb67511227a f85 e Util linux Cramfs Patch 2 8 kB Download http www linuxfromscratch org patches lfs 6 3 util linux 2 12r cramfs 1 patch MDS5 Pr fsumme 1 c3 40b30e12738eb7b66a35b7374572 e Util linux Lseek Patch 10 kB Download http www linuxfromscratch org patches lfs 6 3 util linux 2 12r Iseek 1 patch MD5S Priifsumme 5d6c86321clea74d7ed7cf57861da423 e Vim Fixes Patch 19 6 kB Download http www linuxfromscratch org patches lfs 6 3 vim 7 1 fixes 1 patch MD5S Priifsumme 744bc215560d3fbe80bfef4bab270f9a e Vim Man Directories Patch 4 2 kB Download http www linuxfromscratch org patches fs 6 3 vim 7 1 mandir 1 patch MD5S Priifsumme b6426eb4192fabale867ddd502323f5b Gesamtgr e der Pakete ungef hr NaN MB Die LFS Gemeinschaft hat noch zahlreiche weitere Patches erstellt Die meisten beheben kleine Probleme oder schalten Funktionen ein die in der Voreinstellung abgeschaltet sind Durchst bern Sie ruhig die Patch Datenbank unter http www linuxfromscratch org patches und laden Sie zus tzliche Patche herunter 32 Linux From Scratch Version 6 3 Kapitel 4 Abschluss der Vorbereitungen 4 1 Die Variable LFS Bei der Arbeit mit dem
167. ge mit anderen interaktiven Programmen aus Gesch tzte 0 1 SBU Kingef herbeit tigter 4MB Festplattenplatz 5 9 1 Installation von Expect Spielen Sie erst einen Patch ein er behebt einen Fehler der ansonsten Fehlalarme beim Durchlaufen von GCCs Testsuite verursachen k nnte patch Npl i expect 5 43 0 spawn 1 patch Als n chstes ver ndern Sie das configure Skript von Expect so dass es bin stty anstelle von usr local bin stty verwendet falls dieses auf dem Host System installiert ist Auf diese Weise bleibt die Testsuite sauber f r die endg ltigen Kompilier Durchl ufe der toolchain cp configure bak sed s usr local bin bin configure bak gt configure Bereiten Sie Expect nun zum Kompilieren vor configure prefix tools with tcl tools lib with tclinclude tools include with x no Die Bedeutung der configure Parameter with tcl tools lib So stellen Sie sicher dass das configure Skript die Tcl Installation in Ihrem tempor ren Ordner findet Es sollte keine m glicherweise auf dem Host System installierte Version gefunden werden with tclinclude tools include Durch diesen Parameter wird Expect mitgeteilt wo die Header von Tcl zu finden sind Dadurch wird ein Fehlschlagen von configure vermieden falls es die Tcl Header nicht automatisch auffinden kann with x no Dies teilt dem configure Skript mit dass es nicht nach Tk der grafischen Oberfl che zu Tcl o
168. geht configure davon aus dass die Man pages nicht erstellt werden sollen Geben Sie diese Parameter ein um die falsche Entscheidung zu bergehen Kompilieren Sie das Paket make Zum Testen der Ergebnisse f hren Sie dieses Kommando aus make test Installieren Sie das Paket make install 6 23 2 Inhalt von Perl Installierte Programme a2p c2ph cpan dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 8 8 Link auf perl perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect prove psed Link auf s2p pstruct Link auf c2ph s2p splain und xsubpp Installierte Bibliotheken Mehrere hundert die hier nicht alle aufgelistet werden k nnen Kurze Beschreibungen a2p bersetzt awk zu Perl c2ph Gibt C Strukturen aus die von cc g S erzeugt wurden 119 cpan dprofpp enc2xs find2perl h2ph h2xs instmodsh libnetcfg perl perl5 8 8 perlbug perlcc perldoc perlivp piconv pl2pm pod2html pod2latex pod2man pod2text pod2usage podchecker podselect prove psed pstruct s2p splain xsubpp Linux From Scratch Version 6 3 Ist die Kommandozeilen Schnittstelle zum Comprehensive Perl Archive Network CPAN Zeigt Perl Profiling Daten an Erzeugt aus Unicode Zeichenzuordnungen oder Tcl Encoding Dateien eine Perl Erweiterung fiir das Encode Modul Ubersetzt find Kommandos zu Perl Kon
169. gen bevor Sie die Hauptpartition aush ngen umount v LFS usr umount v SLFS home umount v SLFS 216 Linux From Scratch Version 6 3 Jetzt k nnen Sie Ihren Computer neu starten shutdown r now Unter der Annahme dass der GRUB Bootloader wie vorgeschlagen installiert wurde sollte das Standard Bootmen automatisch LFS 6 3 booten Nach dem Neustart ist Ihr LFS System bereit Sie k nnen es nun benutzen und mit der Installation weiterer Software beginnen 9 4 Was nun Vielen Dank dass Sie dieses Buch gelesen haben Wir hoffen dass Sie es n tzlich fanden und viel ber die Installation von Linux gelernt haben Nachdem Sie nun mit der Installation von LFS fertig sind fragen Sie sich vielleicht Was kommt nun Um diese Frage zu beantworten haben wir eine Reihe von Links f r Sie zusammengestellt Pflege und Wartung F r jede Software werden regelm ig Sicherheitsl cken und Fehler gemeldet Da ein LFS aus den Quellen kompiliert ist liegt es an Ihnen diese Berichte zu verfolgen Es gibt dazu verschiedene Online Ressourcen die Sie sich ansehen k nnen Freshmeat net http freshmeat net Freshmeat kann Sie vie E Mail ber neue Programmversionen informieren CERT Computer Emergency Response Team CERT f hrt eine Mailingliste die Sicherheitswarnungen zu verschiedenen Betriebssystemen und Anwendungen ver ffentlicht Sie k nnen die Liste unter http www us cert gov cas signup html abonniere
170. gen sollten Sie sie testen LC_ALL lt locale name gt locale language LC_ALL lt locale name gt locale charmap LC_ALL lt locale name gt locale int_curr_symbol LC_ALL lt locale name gt locale int_prefix Das obige Kommando sollte Ihnen folgende Daten ausgeben Land und Sprache den vom Locale benutzten Zeichensatz die W hrung und den internationalen Telefonnumern Prefix Falls eines der Kommandos eine Fehlermeldung wie die folgende ausgibt dann wurde entweder die Locale in Kapitel 6 nicht installiert oder wird von der Standardinstallation von Glibc nicht unsterst tzt locale Cannot set LC_ to default locale No such file or directory 201 Linux From Scratch Version 6 3 Falls Sie diese oder eine hnliche Fehlermeldung erhalten sollten Sie die gew nschte Locale installieren oder eine andere Locale verwenden Zur Installation der fehlenden Locale benutzen Sie das Programm localedef Alle weiteren Schritte im Buch gehen davon aus dass Sie keine solche Fehlermeldung wie oben erhalten haben bzw dass der Fehler beseitigt wurde Es gibt einige Pakete au erhalb von LFS die Ihre Locale m glicherweise nicht richtig unterst tzen Ein Beispiel daf r ist die X Bibliothek Teil des X Window System die die folgende Meldung ausgibt wenn der Name f r das Locale nicht exakt auf eine der internen Zeichensatztabellen passt Warning locale not s upported by Xlib locale sec to In vielen F llen erwarte
171. ger als 0 1 SBU Kingef herbeit tigter 0 6 MB Festplattenplatz 6 51 1 Installation von Sysklogd Der folgende Patch behebt mehrere Probleme unter anderem auch einen Kompilierfehler von Sysklogd mit Kerneln der 2 6er Serie patch Npl i sysklogd 1 4 1 fixes 2 patch Der folgende Patch sorgt daf r dass sysklogd die Bytes im Bereich 0x80 bis 0x9f in einem Protokolleintrag literal gespeichert werden anstatt sie durch ihre Oktalcodes zu ersetzen Ohne diesen Patch w rde sysklogd Protokolleintr ge unleserlich machen patch Npl i sysklogd 1 4 1 8bit 1 patch Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 51 2 Einrichtung von Sysklogd Erstellen Sie nun die Konfigurationsdatei etc syslog conf cat gt etc syslog conf lt lt EOF Begin etc syslog conf auth authpriv var log auth log w auch enn tere Leg none weie Leed sys Log daemon var log daemon log kern var log kern log mail var log mail log user var log user log emerg i mad ete syslog cont EOF 6 51 3 Inhalt von Sysklogd Installierte Programme klogd und syslogd Kurze Beschreibungen klogd Ein System Daemon zum Abfangen und Protokollieren von Kernel Meldungen 170 syslogd Linux From Scratch Version 6 3 Protokolliert Meldungen die von Systemprogrammen zu
172. h von Hand ndern ersetzen Sie einfach jedes Vorkommen von lib Id linux so 2 durch tools lib ld linux so 2 Wichtig Wenn Sie mit einer Rechner Plattform arbeiten bei der der Name des dynamischen Linkers nicht 1d linux so 2 lautet m ssen Sie statt ld linux so 2 den korrekten Namen des Linkers f r Ihre Plattform einsetzen Falls n tig schauen Sie nochmal im Abschnitt Abschnitt 5 2 Technische Anmerkungen zur Toolchain nach gcc dumpspecs sed s lib ld linux so 2 tools amp g gt dirname gcc print libgec file name specs W hrend dem Installationsvorgang durchsucht GCCs fixincludes Skript Ihr System nach m glicherweise zu reparierenden Header Dateien sie k nnten z B Syntaxfehler enthalten und installiert die reparierten Dateien dann in einen privaten Include Ordner Es kann vorkommen dass das Skript einige Header Dateien von Ihrem Host System repariert und diese dann in den privaten GCC Include Ordner kopiert Weil Sie im Rest dieses Kapitels wirklich nur auf die Header Dateien von GCC und Glibc angewiesen sind und diese bereits installiert sind k nnen alle reparierten Header Dateien problemlos gel scht werden Dadurch verhindern Sie dass Header Dateien von Ihrem Host System Einfluss auf das neue LFS System nehmen k nnen F hren Sie bitte das folgende Kommando aus um die Header Dateien in GCCs privatem Include Ordner zu l schen Am besten verwenden Sie dazu Kopieren und E
173. halt von M4 Installiertes Programm m4 Kurze Beschreibungen m4 Kopiert die Eingabe zur Ausgabe und f hrt dabei Makros aus Die Makros k nnen entweder vordefiniert oder selbstgeschrieben sein und beliebige Argumente bernehmen Neben der F higkeit Makros auszuf hren besitzt m4 eingebaute Funktionen zum Einf gen benannter Dateien zum Ausf hren von Unix Befehlen und Integer Berechnungen zur Manipulation von Text und zur Behandlung von Rekursionen usw m4 kann entweder als Frontend zu einem Compiler oder als eigenst ndiger Makroprozessor genutzt werden 111 Linux From Scratch Version 6 3 6 19 Bison 2 3 Mit Bison lassen sich Programme generieren die die Struktur einer Textdatei analysieren Gesch tzte 0 2 SBU Kingef herbeit tigter 12 3 MB Festplattenplatz 6 19 1 Installation von Bison Bereiten Sie Bison zum Kompilieren vor configure prefix usr Das configure System bereitet Bison ohne Unterst tzung f r internationalisierte Fehlermeldungen vor wenn das Programm bison nicht bereits in PATH gefunden wird Durch den folgenden Zusatz wird das Problem korrigiert echo define YYENABLE_NLS 1 gt gt config h Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 19 2 Inhalt von Bison Installierte Programme bison und yacc Installierte Bibliothek liby a Kur
174. hen install info unknown option dir file mnt lfs usr info dir Diese Textform Text mit fester Zeichenbreite stellt Bildschirmausgaben dar Text in dieser Form ist oft die Ausgabe von vorher eingegebenen Kommandos Au erdem wird diese Textform f r Dateinamen wie z B etc ld so conf verwendet 1X Linux From Scratch Version 6 3 Hervorhebung Diese Textform wird f r verschiedene Zwecke benutzt und soll wichtige Details hervorheben http www linuxfromscratch org Auf diese Weise werden Links dargestellt sowohl innerhalb des Buches als auch zu externen Seiten wie z B HOWTOs Download Adressen und Webseiten cat gt LFS etce group lt lt EOF POORAN Os Dannis Solche Textabschnitte werden haupts chlich beim Erstellen von Konfigurationsdateien verwendet Der obige Block erzeugt die Datei LFS etc group mit dem nachfolgenden Inhalt bis die Zeichenfolge EOF erkannt wird Normalerweise m ssen Sie Text in dieser Form exakt so eingeben wie er zu sehen ist lt ZU ERSETZENDER TEXT gt Dies ist Text den Sie nicht einfach blindlings abschreiben oder kopieren und einf gen d rfen OPTIONALER TEXT Mit diesen Klammern wird Text markiert der option ist passwd 5 Diese Textform wird verwendet um sich auf eine Man page zu beziehen Die Zahl in Klammern bezeichnet eine bestimmte Sektion in man passwd z B hat zwei Man pages Nach der LFS Anleitung werden diese nach usr share man manl pas
175. hen hat Dennoch ist das nat rlich kein Garant f r absolute Fehlerfreiheit Manche Tests sind wichtiger als andere So zum Beispiel die Tests der Toolchain Pakete GCC Binutils und Glibe die C Bibliothek sind von h chster Bedeutung weil diese Pakete eine absolut zentrale Rolle f r die Funktion des gesamten Systems spielen Aber seien Sie gewarnt die Testsuites von GCC und Glibc brauchen sehr viel Zeit vor allem auf langsamer Hardware Dennoch wird dringend empfohlen sie durchlaufen zu lassen Anmerkung Die Erfahrung hat gezeigt dass man in Kapitel 5 vom Durchlaufen lassen der Testsuites im Grunde nicht viel gewinnt Das Host System hat immer einen gewissen Einfluss auf die Tests in dem Kapitel und das verursacht seltsame und unerkl rliche Fehler Und nicht nur das die in Kapitel 5 erzeugten Werkzeuge sind ohnehin nur tempor r und werden sp ter wieder gel scht Daher empfehlen wir Ihnen die Testsuites in Kapitel 5 nicht durchlaufen zu lassen Die Anleitungen daf r sind dennoch vorhanden um Testern und Entwicklern eine Hilfe zu sein aber f r alle anderen Anwender sind sie nur optional Ein weit verbreitetes Problem beim Durchlaufen der Testsuites von Binutils und GCC sind zu wenig zur Verf gung stehende Pseudo Terminals PTYs Ein typisches Symptom daf r sind ungew hnlich viele fehlgeschlagene Tests Das kann verschiedene Ursachen haben Die h ufigste Ursache ist dass das devpts Dateisystem des Host Systems nicht funktio
176. hroughout Binutils Passl and GCC Pass1 This makes the build more robust since the host s compiler may not be compatible with the linker installed in Binutils Pass1 such as on newer Fedora hosts Fix originates from DIY Linux 10 Linux From Scratch Version 6 3 04 03 2007 matthew Make mention of the Ncurses testsuite Fixes 1954 matthew Upgrade to Vim 7 0 fixes 15 patch which includes all upstream patches up to 206 matthew Upgrade to Udev 106 and udev config 20070304 Fixes 1969 matthew Upgrade to Findutils 4 2 30 Fixes 1967 matthew Upgrade to File 4 20 Fixes 1968 01 03 2007 jhuntwork Minor grammatical changes Move some warnings and notices to appear before affected commands 25 02 2007 manuel Removed M4 build from Chapter05 No other packages builts before the build of M4 in chapter06 depends on M4 24 02 2007 manuel Removed obsolete warning about reinstalling Bzip2 Thanks to Chris Staub for the report and patch manuel Removed chmod and chown commands from linux headers installation The headers are now installed with the proper permissions Fixes 1965 matthew Upgrade to Linux 2 6 20 1 Fixes 1964 matthew Add an upstream patch for Glibc Fixes 1930 matthew Upgrade to GCC 4 1 2 Fixes 1960 matthew Add an upstream patch for Berkeley DB Fixes 1961 dnicholson Added missing command descriptions for cpan and prove from the Perl pa
177. ichen Ordner von root und eine weitere an den Ordnern f r tempor re Dateien Die erste Rechte nderung bewirkt dass nicht jeder den Ordner root betreten darf das gleiche w rde ein normaler Benutzer mit seinem Pers nlichen Ordner auch tun Die zweite nderung sorgt daf r dass jeder Benutzer in die Ordner tmp und var tmp schreiben aber nicht die Dateien anderer Benutzer l schen kann Letzteres wird durch das sticky bit bewirkt dem h chsten Bit 1 in der Bit Maske 1777 6 5 1 Anmerkung zur FHS Konformit t Unsere Ordnerstruktur basiert auf dem FHS Standard siehe http www pathname com fhs Des Weiteren erzeugen wir aus Kompatibilit tsgr nden symbolische Verkn pfungen f r die Ordner man doc und info Viele Programm versuchen leider immer noch ihre Dokumentation nach usr lt ordner gt oder usr local lt ordner gt anstelle von usr share lt ordner gt bzw usr local share lt ordner gt zu installieren Zus tzlich zu den oben erstellten Ordnern sieht der FHS Standard auch das Vorhandensein von usr local games und usr share games vor Zur Struktur in usr local share macht FHS keine pr zisen Angaben daher haben wir nur die Ordner erstellt die wir f r n tig halten 6 6 Erstellen notwendiger Dateien und symbolischer Verkn pfungen Einige Programme verwenden einprogrammierte Pfade zu Programmen die zum jetzigen Zeitpunkt aber noch nicht installiert sind Deshalb erstellen Sie eine Reihe
178. icht ber laufende Prozesse in Echtzeit uptime Gibt aus wie lange ein System bereits l uft wieviele Benutzer eingeloggt sind und wie hoch die Systemlast ist vmstat Erzeugt Statistiken zur Ausnutzung des virtuellen Speichers gibt Informationen zu Prozessen Speicher Paging Block IO traps und CPU Aktivit t aus W Zeigt an welche Benutzer gerade eingeloggt sind wo und seit wann 116 Linux From Scratch Version 6 3 watch F hrt ein Kommando immer wieder aus und gibt eine Bildschirmseite von seiner Ausgabe aus So k nnen Sie die Ausgabe eines Programms beobachten libproc Enth lt Funktionen die von den meisten Programmen in diesem Paket benutzt werden 117 Linux From Scratch Version 6 3 6 22 Libtool 1 5 24 Das Libtool Skript enth lt die Unterst tzung f r Bibliotheken Libtool versteckt die Komplexit t von gemeinsam benutzten Bibliotheken hinter einer Konsistenten und portablen Schnittstelle Gesch tzte 0 1 SBU Kingef herbeit tigter 16 6 MB Festplattenplatz 6 22 1 Installation von Libtool Bereiten Sie Libtool zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 22 2 Inhalt von Libtool Installierte Programme libtool und libtoolize Installierte Bibliotheken libltdl a so Kurze Beschreibungen libtool Stellt vereinhei
179. ie den Ordner LFS tools in seinem jetzigen Zustand behalten geh ren die Dateien einer Benutzer ID zu der es kein Benutzerkonto gibt Das ist gef hrlich denn ein sp ter erstelltes Konto k nnte genau diese ID erhalten und w re damit der Besitzer von SLFS tools und aller darin enthaltenen Dateien Dieser Benutzer k nnte alle Dateien unbemerkt manipulieren Um dieses Problem zu vermeiden k nnen Sie Ihrem LFS System den Benutzer 1fs sp ter beim Erzeugen der etc passwd hinzuf gen und ihm die gleiche Benutzer ID und Gruppen ID wie auf Ihrem Host System geben Besser ist es jedoch jetzt den Benutzer root zum Besitzer des Ordners machen Benutzen Sie dazu dieses Kommando chown R root root SLFS tools Obwohl Sie SLFS tools nach Fertigstellung dieses LFS l chen k nnen entscheiden Sie sich vielleicht den Ordner dennoch aufzuheben Dies kann z B sinnvoll sein um weitere LFS Systeme der selben Buchversion zu installieren Wie Sie am besten eine Sicherungskopie von SLFS tools erstellen ist Ihnen als lehrreiches Experiment selber berlassen Achtung Wenn Sie die tempor ren Werkzeuge f r weitere LFS Installationen behalten m chten ist genau jetzt der richtige Zeitpunkt f r das Backup Die weiteren Kommandos in Kapitel 6 ver ndern die zur Zeit installierten Programme wodurch sie f r zuk nftige Installation unbrauchbar werden 74 Linux From Scratch Version 6 3 Teil Ill Installation des LFS Systems Linux From Scr
180. iele Funktionen 150 Instat nstat routef routel rtacct rtmon rtpr rtstat ss tc Linux From Scratch Version 6 3 ip link lt Ger t gt zeigt den Ger testatus an und erm glicht nderungen an den Einstellungen ip addr zeigt Adressen und ihre Eigenschaften an f gt neue Adressen hinzu und l scht alte ip neighbor zeigt Bindungen und Eigenschaften von benachbarten Ger ten an f gt neue Nachbarger tebindungen hinzu und l scht alte ip rule zeigt Routingregeln an und bearbeitet sie ip route erm glicht das Anzeigen und ndern von Routingtabellen ip tunnel zeigt IP Tunnel und die Eigenschaften an und erm glicht nderungen daran ip maddr zeigt Multicast Adressen und ihre Eigenschaften an und erm glicht nderungen ip mroute setzt ndert oder l scht Multicast Routen ip monitor erm glicht dauerhaft den Status von Netzwerkger ten Adressen und Routen zu berwachen Bietet Netzwerkstatistiken unter Linux Dies ist ein allgemeinerer und vollst ndigerer Ersatz f r das alte Programm rtstat Zeigt Netzwerkstatistiken an Eine Komponente von ip route Sie wird zum Leeren der Routingtabellen genutzt Eine Komponente von ip route Sie wird zum Auflisten der Routingtabellen genutzt Zeigt den Inhalt von proc net rt_acct an Ein Werkzeug zum berwachen des Routing Konvertiert die Ausgabe von ip o zur ck in eine lesbare Form Ein Werkzeug f r den Routingstatus hnlich wie das Kommando netstat Zeigt a
181. iffsrechte und falls m glich Besitzer und Gruppe F gt aus zwei Dateien die Zeilen mit identischen join Feldern zusammen Erzeugt einen harten Link von der angegebenen Datei zu einer Datei Erzeugt einen harten oder symbolischen Link zwischen Dateien Gibt den Login Namen des aktuellen Benutzers aus Listet den Inhalt des angegebenen Ordners auf Erzeugt eine MD5 Priifsumme Message Digest 5 bzw zeigt sie an Erzeugt Ordner mit den angegebenen Namen 107 mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stty sum Linux From Scratch Version 6 3 Erzeugt FIFOs First In First Out eine sogenannte named Pipe im UNIX Sprachgebrauch mit dem angegebenen Namen Erzeugt eine Ger tedatei mit dem angegebenen Namen Eine Ger tedatei ist eine spezielle zeichen oder blockorientierte Datei oder ein FIFO Verschiebt Dateien und Ordner oder benennt sie um F hrt ein Programm mit ge nderter Priorit t aus Nummeriert die Zeilen der angegebenen Dateien F hrt ein Programm aus so dass es immun gegen hangup s ist Die Ausgaben des Programms werden in eine Protokolldatei umgeleitet Gibt eine Datei oktal oder in anderen Formaten aus F gt angegebene Dateien zusammen Sequenziell zusammengeh rende Zeilen werden Seite an Seite durch Tabulatore
182. igen Werkzeugen f r eine erfolgreiche Installation Zudem enth lt sie auch alle Quellpakete Patches und eine Online Version dieses Buches Wenn Sie die CD verwenden brauchen Sie auch keine Netzwerkverbindung weil nichts mehr heruntergeladen werden muss Weitere Informationen zu der CD finden Sie unter http www linuxfromscratch org livecd Dort k nnen Sie auch eine Kopie der CD herunterladen Anmerkung Die LFS Live CD k nnte auf neueren Rechnern nicht oder fehlerhaft funktionieren M glicherweise l sst sie sich nicht starten oder einige Ger te werden nicht richtig erkannt wie z B SATA Festplatten Das LFS LiveCD Team arbeitet an der Behebung dieser Fehler ist jedoch auf Ihre Hilfe angewiesen Bitte testen Sie sie und berichten Sie von Problemen und beteiligen Sie sich auf diese Weise an der Weiterentwicklung der Live CD Bitte senden Sie alle Ihre Fehlerberichte oder Hilfe bei der Entwicklung per E Mail an die LFS LiveCD Mailingliste Kapitel 2 beschreibt das Anlegen einer neuen Linux Partition und eines Dateisystems auf dem Ihr neues LFS System kompiliert und installiert wird In Kapitel 3 erfahren Sie welche Pakete und Patches Sie herunterladen m ssen Kapitel 4 erkl rt das Einrichten einer funktionsf higen Arbeitsumgebung f r die kommenden Arbeitsschritte Bitte lesen Sie Kapitel 4 aufmerksam durch Es behandelt ein paar m gliche Schwierigkeiten die Ihnen vor der Arbeit mit Kapitel 5 und den folgenden bekannt sein soll
183. igt Scancode Keycode und ASCII Code der auf der Tastatur gedr ckten Taste an Versetzt Tastatur und die Konsole in den UNICODE Modus Verwenden Sie dieses Programm nur wenn Ihre Tastaturlayouttabelle eine I1SO 8859 1 Kodierung verwendet Mit anderen Kodierungen produziert es unbrauchbare Ergebnisse Schaltet den Unicode Modus von Tastatur und Konsole wieder aus 153 Linux From Scratch Version 6 3 6 43 Less 406 Less ist ein Textanzeigeprogramm Gesch tzte 0 1 SBU Kingef herbeit tigter 2 8 MB Festplattenplatz 6 43 1 Installation von Less Bereiten Sie Less zum Kompilieren vor configure prefix usr sysconfdir etc Die Bedeutung der configure Parameter sysconfdir etc Dieser Parameter bewirkt dass die in diesem Paket installierten Programme ihre Konfigurationsdateien in etc suchen Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 43 2 Inhalt von Less Installierte Programme less lessecho und lesskey Kurze Beschreibungen less Ein Dateibetrachter Er zeigt den Inhalt einer Datei an und erm glicht darin zu bl ttern nach Zeichenketten zu suchen und zu Markierungen springen lessecho Wird zum Expandieren von Metazeichen in Unix Dateinamen ben tigt z B und lesskey Wird zum Festlegen der Tastenbelegung f r less verwendet 154 Linux From Scratch Version 6 3 6 44 Make 3 8
184. ilfeseiten 156 Linux From Scratch Version 6 3 disable setuid Dadurch wird das Setuid Bit auf dem Programm man f r den Benutzer man deaktiviert Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Einige Pakete enthalten Man Pages im UTF 8 Format die von dieser Version von man nicht angezeigt werden k nnen Das folgende Skript macht es m glich einige davon in die erwarteten Kodierungen der unteren Tabelle umzuwandeln Man DB erwartet die Hilfeseiten in einem Format wie unten gelistet und wandelt sie zur Laufzeit f r die Darstellung automatische in die jeweilig aktive Locale um Auf diese Weise k nnen die Hilfeseiten sowohl im traditionellen als auch im UTF 8 Format angezeit werden Das Skript ist nur beschr nkt einsetzbar beim Erstellen eines LFS Systems und verzichtet daher auf Fehlerpr fung und unvorhersagbare Namen f r tempor re Dateien cat gt gt convert mans lt lt EOF bin sh e FROM S1 TO ER ebe 2 ein while S gt 0 do Ping SLY SMILE Jemp i VSEROMN r STOW VSP Tina gt CMO Leon my ad Leo SP TLL done EOF install m755 convert mans usr bin Weitere Informationen zur Kompression von Man und Info pages erhalten Sie im BLFS Buch unter http www linuxfromscratch org blfs view cvs postlfs compressdoc html 6 45 2 Nicht Englische Hilfeseiten in LFS Die Linux Dis
185. iling Funktionen die zum Verfolgen der CPU Benutzung einzelner Quelltextzeilen verwendet werden k nnen Die POSIX Threads Bibliothek Enth lt Funktionen zum Erzeugen Senden und Auswerten von Paketen an Internet Domain Name Server DNS Enth lt Funktionen die verschiedene RPC Dienste zur Verf gung stellen Diese Bibliothek enth lt Funktionen mit Schnittstellen f r die meisten POSIX 1b Echtzeiterweiterungen Enth lt Funktionen die zum Erzeugen von Debuggern f r Multi Thread Programme n tzlich sind Enth lt Code f r Standard Funktionen die in Unix Werkzeugen genutzt werden vielen verschiedenen 90 Linux From Scratch Version 6 3 6 10 Erneutes Anpassen der Toolchain Nachdem die neue C Bibliothek nun installiert ist muss die Toolchain erneut angepasst werden Modifizieren Sie sie so dass alle weiteren kompilierten Programme gegen die neue C Bibliothek gelinkt werden Im Grunde ist das fast das Gleiche was Sie im vorigen Kapitel beim Anpassen der Glibc schonmal gemacht haben auch wenn es aussieht als w re es genau umgekehrt Im vorigen Kapitel haben Sie die Toolchain von usr Lib auf dem Host in den neuen Ordner tools 1ib umgelenkt Nun lenken Sie die Toolchain von diesem Ordner tools lib um auf unsere LFS Ordner usr lib Erstellen Sie zun chst eine Sicherungskopie des Linkers in tools und ersetzen Sie ihn dann mit dem angepassten Linker aus Kapitel 5 Zu seinem Gegenst ck in tools gc
186. inf gen anstatt die Befehle von Hand abzuschreiben GCC_INCLUDEDIR dirname gcc print libgcec file name include amp amp find GCC_INCLUDEDIR maxdepth 0 xtype d exec rm rvf E rm vf grep 1 DO NOT EDIT THIS FILE GCC_INCLUDEDIR amp amp unset GCC_INCLUDEDIR Achtung An diesem Punkt ist es unbedingt notwendig die korrekte Funktion der Toolchain Kompilieren und Linken zu berpr fen Darum f hren Sie nun einen kleinen Gesundheitscheck durch 47 Linux From Scratch Version 6 3 cc dummy c echo main gt dummy c readelf 1 a out grep tools Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus Requesting program interpreter tools e EE EE Achten Sie besonders darauf dass tools 1lib als Prefix zu Ihrem dynamischen Linker angegeben ist Wenn Sie keine oder eine andere als die obige Ausgabe erhalten haben ist etwas schiefgelaufen Sie m ssen alle Ihre Schritte noch einmal berpr fen und den Fehler finden und korrigieren Fahren Sie nicht fort bevor Sie den Fehler nicht beseitigt haben Als erstes f hren Sie nochmals den Gesundheitscheck durch und benutzen gec anstelle von cc Wenn das funktioniert fehlt der Link von tools bin cc Gehen Sie zur ck zu Abschnitt 5 4 GCC 4 1 2 Durchlauf 1 und reparieren Sie den symbolischen Link Als zweites stellen Sie bitt
187. installieren Der folgende Patch behebt das Problem patch Npl i inetutils 1 5 no_server_man_pages 2 patch Bereiten Sie Inetutils zum Kompilieren vor configure prefix usr libexecdir usr sbin sysconfdir etc localstatedir var disable ifconfig disable logger disable syslogd disable whois disable servers Die Bedeutung der configure Parameter disable ifconfig Diese Einstellung verhindert die Installation von ifconfig zur Konfiguration von Netzwerkschnittstellen In LFS wird stattdessen das Programm ip aus dem Paket IPRoute2 verwendet disable logger Das verhindert die Installation des Programmes logger welches Nachrichten an den System Log Daemon bergibt Logger wird hier ausgelassen weil etwas sp ter durch Util Linux eine bessere Version installiert wird disable syslogd Dieser Parameter verhindert die Installation des System Log Daemon weil Sie sp ter einen anderen mit dem Paket Sysklogd installieren werden disable whois Dies verhindert die Installation des whois Clients welcher leider elendig veraltet ist Im BLFS Buch finden Sie eine Installations Anleitung f r einen besseren whois Client disable servers Das verhindert die Installation verschiedener Server Dienste die zu Inetutils geh ren Diese Dienste sind in einem Basis System wie LFS nicht angebracht Einige sind von Natur aus unsicher und nur in vertrauensw rdigen Netzen ohne Risiko einsetzbar Mehr Inf
188. installieren Wenn Sie Ihr LFS sp ter als prim res Betriebssystem nutzen m chten brauchen Sie zum Nachinstallieren weiterer Pakete mehr Platz ca 2 bis 3 GB Das LFS System selbst ben tigt selbstverst ndlich nicht so viel Speicher Der gr te Teil wird als tempor rer Speicher ben tigt Das Kompilieren von Paketen kann eine Menge Festplattenplatz in Anspruch nehmen der aber nach dem Kompiliervorgang wieder freigegeben wird Manchmal ist zu wenig Random Access Memory RAM Arbeitsspeicher verf gbar daher sollte man eine kleine Partition als Swap Partition einrichten das ist Speicherplatz den der Kernel zum Auslagern selten genutzter Daten verwendet Das schafft Platz im Arbeitsspeicher f r wichtigere Dinge Die Swap Partition in Ihrem LFS kann dieselbe sein wie die die Sie bereits f r ihr Host System nutzen Falls Sie also schon eine funktionsf hige Swap Partition haben m ssen Sie keine zus tzliche erstellen Rufen Sie ein Partitionierungsprogramm wie zum Beispiel cfdisk oder fdisk auf Als Argument bergeben Sie die Festplatte auf der Sie die neue Partition erstellen m chten zum Beispiel dev hda f r die prim re Integrated Drive Electronics IDE Festplatte Erstellen Sie eine native Linux Partition und eine Swap Partition falls n tig Bitte lesen Sie die Man Page zu cfdisk oder fdisk wenn Ihnen die Bedienung dieser Programme unklar ist Merken Sie sich die Bezeichnung Ihrer neuen Partition sie k nnte hda5 oder
189. ion 6 3 5 18 Findutils 4 2 31 Das Paket Findutils enth lt Programme zum Auffinden von Dateien durch rekursive Suche in einer Ordnerstruktur oder ber den Zugriff auf eine Datenbank Die Suche ber eine Datenbank ist normalerweise schneller aber es besteht nat rlich die Gefahr dass die Datenbank zum Zeitpunkt der Suche veraltet ist Gesch tzte 0 2 SBU Kingef herbeit tigter 13 6 MB Festplattenplatz 5 18 1 Installation von Findutils Bereiten Sie Findutils zum Kompilieren vor configure prefix tools Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 32 2 Inhalt von Findutils 62 Linux From Scratch Version 6 3 5 19 Gawk 3 1 5 Gawk ist eine Implementierung von awk und wird zur Textmanipulation verwendet Gesch tzte 0 2 SBU Kingef herbeit tigter 18 2 MB Festplattenplatz 5 19 1 Installation von Gawk Bereiten Sie Gawk zum Kompilieren vor configure prefix tools Aufgrund eines Fehlers im configure Skript erkennt Gawk einige Funktionen von Glibcs locale Unterstiitzung nicht richtig Das f hrt z B zu Fehlern in der Testsuite von Gettext Sie k nnen das Problem umgehen indem Sie die fehlenden Makro Definitionen in der Datei config h hinzuf gen cat gt gt config h lt lt EOF define HAVE_LANG
190. ioniert nat rlich auch mit Wrapper Modulen ist aber nicht optimal 7 4 3 3 Udev l dt unerw nschte Module Entweder Sie kompilieren das fragliche Modul gar nicht erst oder Sie schlie en es mit Hilfe der schwarzen Liste in etc modprobe conf aus so wie mit dem Modul forte im folgenden Beispiel blacklist FONAS Module auf der schwarzen Liste k nnen nat rlich weiterhin von Hand mit dem Programm modprobe geladen werden 7 4 3 4 Udev erzeugt eine Ger tedatei falsch oder setzt einen falschen symbolischen Link Dies geschieht f r gew hnlich wenn eine Regel versehentlich auf ein anderes Ger t passt als vorgesehen Eine schlecht geschriebene Regel k nnte z B sowohl auf eine SCSI Festplatte wie gew nscht als auch auf das zugeh rige generische SCSI Ger t unerw nscht nach dem Hersteller passen Sie m ssen die Regel auffinden und genauer ausformulieren 7 4 3 5 Udev funktioniert nur unzuverl ssig Dies ist zumeist nur ein weiteres Symptom des zuvor beschriebenen Problems Falls nicht und die betreffende Regel sysfs Attribute verwendet so K nnte es sich um Kernel Zeitprobleme handeln die erst in zuk nftigen Kernelversionen behoben werden Sie k nnen das Problem umgehen indem Sie eine Regel schreiben die erst auf das verwendete sysfs Attribut wartet und f gen Sie an etc udev rules d 10 wait_for_ sysfs rules an Wenn Sie dies tun informieren Sie bitte das LFS Entwicklerteam dar ber und teilen Sie uns auch mi
191. iothek Typen sind Quell aber nicht Bin r Kompatibel Kompilieren Sie das Paket make Dieses Paket enth lt zwar eine Testsuite jedoch kann sie erst nach der Installation ausgef hrt werden Die Tests befinden sich im Unterordner test Lesen Sie dort bitte die Datei README f r weitere Informationen Installieren Sie das Paket make install Korrigieren Sie die Rechtevergabe f r eine Bibliothek die nicht ausf hrbar sein sollte chmod v 644 usr lib libncurses t tw a Verschieben Sie die Bibliotheken in den Ordner lib denn es wird erwartet dass sie sich dort befinden mv v usr lib libncursesw so 5 lib Da die Bibliotheken gerade verschoben wurden zeigt ein symbolischer Links nun ins Leere Erstellen Sie diesen neu In sfv lib libncursesw so 5 usr lib libncursesw so Viele Programme erwarten immer noch vom Linker die nicht Wide Character Bibliotheken von Ncurses aufzufinden Mit symbolischen Links und Linker Skripts k nnen Sie diese Programme austricksen for lib in curses ncurses form panel menu do rm vf usr lib lib lib so echo INPUT 1 lib w gt usr lib lib lib so 113 done Linux From Scratch Version 6 3 In sfv 1ib lib w a usr lib lib lib a In sfv libncurses w a usr lib libncurses t a Stellen Sie des Weiteren sicher dass alte Programme die mit lcurses verlinken immer noch
192. it damit Sie Ihren Computer starten k nnen falls Ihr Computer aus irgendwelchen Gr nden unbrauchbar wird weil er zum Beispiel nicht mehr bootet Den Grub Bootloader haben Sie bereits installiert Jetzt m ssen ein paar Grub Dateien an spezielle Orte auf der Festplatte kopiert werden Bevor Sie das tun sollten Sie eine Boot Diskette mit Grub erstellen nur f r den Fall der F lle Legen Sie eine leere Diskette ein und f hren Sie dieses Kommando aus dd if boot grub stagel of dev fd0 bs 512 count 1 dd if boot grub stage2 of dev fd0 bs 512 seek 1 Entfernen Sie die Diskette und bewahren Sie sie an einem sicheren Ort auf Starten Sie nun die grub Shell grub Grub verwendet zur Benennung von Festplatten und Partitionen ein eigenes Schema der Form hdn m wobei n die Nummer der Festplatte und m die Nummer der Partition ist Beide Werte beginnen bei Null Das bedeutet dass zum Beispiel die Partition hdal fiir GRUB hd0 0 ist und hdb2 ist hd1 1 Anders als Linux betrachtet GRUB CD Rom Laufwerke nicht als Festplatte Wenn Sie also ein CD Rom Laufwerk auf hdb haben und eine zweite Festplatte auf hdc dann ist die zweite Festplatte immernoch hd Bestimmen Sie mit den obigen Informationen den Namen Ihrer root Partition Im folgenden Beispiel wird angenommen dass Ihre root Partition hda4 ist Sagen Sie GRUB zuerst wo die stage 1 2 Dateien zu finden sind Sie k nnen die Tabulator Taste verwenden damit Grub Alte
193. it tigter 213 MB Festplattenplatz 5 3 1 Installation von Binutils Es ist wichtig dass Binutils als erstes Paket kompiliert wird weil Glibc und GCC verschiedene Tests bez glich Linker und Assembler durchf hren und erst daraufhin bestimmte Funktionen aktivieren Die Dokumentation zu Binutils empfiehlt Binutils au erhalb des Quellordners zu kompilieren mkdir v binutils build cd binutils build Anmerkung Wenn die im Buch angegebenen SBU Werte einen Nutzen haben sollen m ssen Sie nun die Zeit messen die Sie zum Kompilieren von Binutils ben tigen Dies ist mit dem folgenden Kommando relativ einfach time configure amp amp make amp amp make install Bereiten Sie Binutils zum Kompilieren vor CC gec B usr bin binutils 2 17 configure prefix tools disable nls disable werror Die Bedeutung der configure Parameter CC gcc B usr bin Dadurch wird gee gezwungen den Linker des Host Systems in usr bin zu bevorzugen Auf einigen Systemen ist dies notwendig weil der neue Linker ld inkompatibel mit dem gee des Host Systems ist prefix tools Dadurch wird das configure Skript die Binutils Programme f r die Installation nach tools vorbereiten disable nls Deaktiviert die Internationalisierung il8n wird f r die tempor ren Werkzeuge nicht ben tigt disable werror Dies verhindert das ungewollte Anhalten des Erstellvorgangs falls der Host Compiler Warnungen ausgib
194. k Leider ben tigt diese Testsuite viel Zeit etwa 5 SBU Installieren Sie das Paket make install 6 36 2 Inhalt von Gettext Installierte Programme autopoint config charset config rpath envsubst gettext gettext sh gettextize hostname msgattrib msgcat msgcmp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msgunig ngettext recode sr latin und xgettext Installierte Bibliotheken libasprintf a so libgettextlib so libgettextpo a so und libgettextsrc so Kurze Beschreibungen autopoint Kopiert die Dateien einer typischen Gettext Infrastruktur in ein Quellpaket config charset Gibt eine systemabh ngige Tabelle von zeichenkodierenden Aliasen aus config rpath Gibt einen systemabh ngigen Satz von Variablen aus die beschreiben wie der Laufzeit Suchpfad von gemeinsamen Bibliotheken in einer ausf hrbaren Datei gesetzt wird envsubst Erweitert Umgebungsvariablen in Shell Format Zeichenketten gettext bersetzt Nachrichten in nat rlicher Sprache in die Muttersprache des Anwenders Daf r benutzt es einen bersetzungsnachrichten Katalog gettext sh Dies ist haupts chlich eine Bibltiothek mit Shell Funktionen f r Gettext gettextize Kopiert alle standard Gettext Dateien in den Basisordner eines Pakets um so die ersten Schritte der Internationalisierung zu erleichtern hostname Zeigt den Netzwerk Hostnamen in verschiedenen Formen an msgattrib Filtert Nachrichten in ei
195. kompilierbar sind rm vf usr lib libcursesw so echo INPUT Incursesw gt usr lib libcursesw so In sfv libncurses so usr lib libcurses so In sfv libncursesw a usr lib libcursesw a In sfv libncurses a usr lib libcurses a Anmerkung Die obigen Kommandos installieren keine nicht Wide Bibliotheken von Ncurses weil kein aus dem Quellcode installierte Paket diese verwenden w rde Wenn Sie allerdings Bin r Programme haben die diese Bibliotheken ben tigen so k nnen die passenden Bibliotheken mit diesen Kommandos installiert werden installi make distclean configure prefix usr with shared without normal without debug without cxx binding make sources libs cp av lib lib so 5 usr lib 6 20 2 Inhalt von Ncurses Installierte Programme captoinfo Link auf tic clear infocmp infotocap Link auf tic reset Link auf tset tack tic toe tput und tset Installierte Bibliotheken libcursesw a so symlink und das Linker Skript zu libncursesw a so libformw a so libmenuw a so libncursest w a libncursesw a so libpanelw a so und ihre Nicht Wide Character Gegenst cke ohne w im Namen der Bibliothek Kurze Beschreibungen captoinfo clear infocmp infotocap reset tack tic toe tput Konvertiert termcap Beschreibungen zu terminfo Beschreibungen L scht den Bildschirminhalt wenn m glich Vergleicht terminfo Beschreibungen oder gibt sie aus Ko
196. ktive Verbindungen an Programm zur Kontrolle des Netzwerkverkehrs Traffic Controlling Implementiert Quality of Service QOS und Class Of Service COS te qdisc erm glicht das Einstellen der Warteschlangen Regeln te class erm glicht das Einrichten von Klassen basierend auf einer Warteschlangen Regelung tc estimator erm glicht das Sch tzen des Netzwerk Flusses in ein Netzwerk te filter erm glicht das Erstellen von QOS COS Paketfiltern te policy erm glicht das Erstellen von QOS COS Regelwerken 151 Linux From Scratch Version 6 3 6 42 Kbd 1 12 Kbd enth lt die Dateien f r das Tastaturlayout und entsprechende Werkzeuge dazu Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 12 3 MB Festplattenplatz 6 42 1 Installation von Kbd Das Verhalten der Tasten Backspace und Entfernen ist in den Tastaturlayouttabellen von Kbd nicht einheitlich geregelt Der folgende Patch behebt das Problem f r die i386 Tabellen patch Npl i kbd 1 12 backspace 1 patch Nach diesem Patch erzeugt die Backspace Taste das Zeichen mit dem Code 127 und die Entfernen Taste eine bekannte Escape Sequenz Patchen Sie Kbd um einen Fehler in setfont zu beheben Dieser Fehler tritt nur beim Kompilieren mit GCC 4 1 2 auf patch Npl i kbd 1 12 gcc4_fixes 1 patch Bereiten Sie Kbd zum Kompilieren vor configure datadir lib kbd Die Bedeutung der configure Parameter datadir lib k
197. l linux 73 Linux From Scratch Version 6 3 5 30 Stripping Die Schritte in diesem Abschnitt sind optional Wenn Ihre LFS Partition sehr klein ist werden Sie froh sein ein paar unn tige Dinge loswerden zu k nnen Die bisher erstellten ausf hrbaren Dateien und Bibliotheken enthalten ungef hr 70 MB nicht ben tigter Debugging Symbole So entfernen Sie diese Symbole strip strip debug tools lib strip strip unneeded tools s bin Das erste der obigen Kommandos tiberspringt rund 20 Dateien mit der Meldung dass der Dateityp nicht erkannt wurde Die meisten dieser Dateien sind Skripte und keine Bin rdateien Passen Sie auf dass Sie strip unneeded nicht auf Bibliotheken anwenden sie w rden zerst rt werden und dann m ssten Sie die Toolchain neu kompilieren Um weitere 20 MB Platz zu sparen k nnen Sie die Dokumentation entfernen rm rf tools info man Zum Kompilieren von Glibc ben tigen Sie nun mindestens 850 MB freien Platz in LFS Wenn Sie Glibc kompilieren und installieren k nnen werden Sie mit den restlichen Paketen keine Platzprobleme bekommen 5 31 ndern des Besitzers Anmerkung F r den Rest des Buches sollten Sie als Benutzer root arbeiten und nicht als 1 s An dieser Stelle sollten Sie au erdem nochmals berpr fen ob LF S korrekt eingestellt ist Im Augenblick geh rt der Ordner LFS tools dem Benutzer 1fs Dieser existiert aber nur auf dem Host System Wenn S
198. le einrichten Dies hat nichts mit den Einstellungen f r das X Window System SSH Sitzungen oder einer seriellen Konsole zu tun wo diese beiden obigen Einschr nken nicht gelten 7 7 Einrichten des sysklogd Skripts Das sysklogd Skript ruft syslogd mit dem Parameter m 0 auf Dieser Parameter schaltet die periodische Zeitmarke ab die sonst von syslogd alle 20 Minuten in die Protokolldateien geschrieben wird Falls Sie diese Zeitmarke wieder einschalten m chten bearbeiten Sie bitte das Skript sysklogd und ndern die Option entsprechend F r weitere Informationen schlagen Sie bitte inman syslogd nach 7 8 Erstellen der Datei etc inputrc Die Datei inputrc k mmert sich um das Tastaturmapping in bestimmten Situationen Sie ist die Konfigurationsdatei von Readline der Bibliothek die Eingabe Funktionen f r Bash und die meisten anderen Shells zur Verf gung stellt Normalerweise braucht man keine benutzerspezifischen Tastaturmappings daher erzeugt das folgende Kommando nur die globale Konfigurationsdatei etc inputrc Sie wird von jedem Benutzer bzw der Shell bei der Anmeldung eingelesen und verwendet Falls Sie sp ter doch eine benutzerspezifische Konfiguration ben tigen k nnen Sie einfach eine Datei mit dem Namen inputrc im Pers nlichen Ordner des Benutzers erstellen und dort die angepassten Einstellungen eintragen Weitere Informationen zum Anpassen von inputrc erhalten Sie mit info bash im Abschnitt Readline Init File Eine
199. le getrennt werden kann Dies schl gt in UTF 8 basierten Locales nat rlich fehl Der folgende Patch umgeht das Problem indem auf englischsprachige Meldungen zur ckgegriffen wird wenn eine Multibyte Locale verwendet wird patch Npl i texinfo 4 9 multibyte 1 patch Texinfo erm glicht es lokalen Benutzern durch eine sog Symlink Attacke bestimmte Dateien zu berschreiben Der folgende Patch behebt das Problem patch Npl i texinfo 4 9 tempfile_fix 1 patch Bereiten Sie Texinfo zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Optional k nnen Sie auch die zu einer typischen TeX Installation geh renden Pakete installieren make TEXMF usr share texmf install tex Die Bedeutung des make Parameters TEXMF usr share texmf Die Makefile Variable TEXMF enth lt den Pfad zu Ihrem TeX Basisordner falls sp ter TeX installiert wird Das Info Dokumentationssystem speichert die Liste der Men eintr ge in einer einfachen Textdatei Die Datei liegt in usr share info dir Ungl cklicherweise k nnen die Eintr ge in dieser Datei durch Probleme mit Makefile Dateien einzelner Pakete durcheinander geraten Falls Sie diese Datei jemals neu erzeugen m ssen ist Ihnen das folgende Kommando dabei behilflich cd usr share info rm dir f
200. ler Ein Shellskript mit dem man n tzliche Fehlerberichte erzeugen kann Ein Werkzeug zum Testen des Deckungsgrades Es wird zum Analysieren von Programmen benutzt um herauszufinden wo Optimierungen den gr ten Effekt zeigen Enth lt Laufzeitunterst tzung f r gce Enth lt Routinen f r GCC zur berpr fung von Grenzen Enth lt Routinen die GCCs Schutz vor Stack Zerst rung unterst tzen Die Standard C Bibliothek Stellt Unterst tzungsroutinen f r die Programmiersprache C zur Verf gung 98 Linux From Scratch Version 6 3 6 13 Berkeley DB 4 5 20 Das Paket Berkeley DB enth lt Programme und Werkzeuge die von vielen Anwendungen f r datenbankbezogene Funktionen verwendet werden Gesch tzte 1 2 SBU Kingef herbeit tigter 77MB Festplattenplatz Weitere Installationsm glichkeiten Das BLFS Buch enth lt eine Anleitung zur Installation dieses Pakets falls Sie einen RPC Server oder andere Sprachbindungen ben tigen Die zus tzlichen Sprachbindungen setzen weitere Pakete voraus Weitere Informationen dazu finden Sie unter http www linuxfromscratch org blfs view svn server databases html db Au erdem kann man anstelle von Berkeley DB auch GDBM installieren und somit die Voraussetzung f r Man DB schaffen Allerdings sind viele Stunden in den LFS Test von Berkeley geflossen nicht jedoch in GDBM Wenn Sie sich dem Risiko voll bewusst sind und dennoch GDBM einsetzen m chten dann schauen Sie sich die Anlei
201. lierbar ist besteht die Gefahr dass es fehlerhaft kompiliert wurde z B aufgrund der komplexen Zusammenh nge zwischen Code und den Compilerwerkzeugen Beachten Sie auch dass die Optionen march und mtune Schwierigkeiten mit den Paketen der Toolchain verursachen werden Binutils GCC und Glibc Kurz gesagt der potientelle Geschwindigkeitsvorteil wird durch das hohe Risiko aufgehoben Wenn Sie das erste mal ein LFS installieren sollten Sie keine Compiler Optimierungen einsetzen Ihr neues System wird dennoch sehr schnell und gleichzeitig auch noch stabil sein Die Installationsreihenfolge in diesem Kapitel muss auf jeden Fall eingehalten werden sonst k nnten einige Programme eventuell feste Referenzen auf tools erhalten Kompilieren Sie aus diesem Grund auch nicht mehrere Pakete gleichzeitig Gleichzeitiges Kompilieren Kann Ihnen eine Zeitersparnis bringen besonders auf Mehrprozessormaschinen aber es kann zu Programmen f hren die Referenzen auf tools enthalten und nicht mehr funktionieren sobald dieser Ordner entfernt wird Auf jeder Informationsseite finden Sie zu Beginn ein paar allgemeine Informationen zum jeweiligen Paket Eine kurze Beschreibung des Inhalts eine Absch tzung der ben tigten Kompilierzeit und des ben tigten Festplattenspeichers beim Kompilieren Nach den Installationsanweisungen folgt eine Liste der Programme und Bibliotheken inklusive einer kurzen Beschreibung die mit dem Paket installiert werden 6 2 Vorberei
202. lieren und installieren Sie das Paket make install Um das Ergebnis zu pr fen f hren Siemake check aus 5 10 2 Inhalt von DejaGNU Installiertes Programm runtest Kurze Beschreibungen runtest Das Wrapper Skript das die korrekte expect Shell findet und DejaGNU ausf hrt 32 Linux From Scratch Version 6 3 5 11 GCC 4 1 2 Durchlauf 2 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Compiler enthalten Gesch tzte 4 2 SBU Kingef herbeit tigter 553 MB Festplattenplatz 5 11 1 Neuinstallation von GCC Die Hilfsmittel zum Testen von GCC und Binutils sind nun installiert Tcl Expect und DejaGNU Sie k nnen GCC und Binutils nun erneut installieren gegen die neue Glibc verlinken und testen Eines muss noch beachtet werden Die Testsuites sind stark von funktionierenden Pseudo Terminals PTYs abh ngig Diese werden vom Host System bereitgestellt Heutzutage werden PTYs meist ber das Dateisystem devpts implementiert Ob Ihr Host System korrekt eingerichtet ist K nnen Sie mit einem einfachen Test feststellen expect c spawn ls Das Ergebnis k nnte so aussehen The system has no more ptys Ask your system administrator to create more Wenn Sie die obige Meldung sehen ist Ihr Host System nicht korrekt f r PTYs eingerichtet Solange Sie dieses Problem nicht behoben haben brauchen Sie die Testsuites von GCC und Binutils gar nicht erst durchlaufen lassen We
203. llen die Website zur Verf gung und vereinfachen das Herunterladen der ben tigten Programme Bitte besuchen Sie http www linuxfromscratch org mirrors html dort k nnen Sie eine Liste der aktuellen Softwarespiegel einsehen 1 4 6 Kontakt Bitte senden Sie alle Fragen und Kommentare direkt an eine der LFS Mailinglisten siehe oben 1 5 Hilfe Wenn Sie beim Lesen des Buches auf ein Problem sto en sollten Sie als erstes in der FAQ unter http www linuxfromscratch org faq generalfaq nachlesen die meisten Fragen werden hier schon beantwortet Falls nicht versuchen Sie die Ursache des Problems zu finden Die folgende Anleitung k nnte Ihnen bei der 18 Linux From Scratch Version 6 3 Fehlersuche behilflich sein http Avww linuxfromscratch org hints downloads files errors txt Falls Sie Ihr Problem nicht in der FAQ finden dann durchsuchen Sie am besten die Mailinglisten unter bp Ai www linuxfromscratch org search html Wenn das nicht hilft ist man im Internet Relay Chat IRC und auf den Mailinglisten Abschnitt 1 4 Ressourcen gern bereit Ihnen zu helfen Allerdings erhalten wir jeden Tag viele Anfragen die durch einfaches Lesen der FAQ oder Durchlesen der Mailinglisten beantwortet werden k nnten Wir k nnen Ihnen am besten helfen wenn Sie zuerst selbst ein wenig auf Fehlersuche gehen Dadurch k nnen wir uns besser auf die wirklich schwierigen Fragen konzentrieren Wenn Ihre eigenen Recherchen keine Ergebnisse zutag
204. lung der Kernel Ger te Ereignisse Stellt Udev Informationen zu USB Ger ten zur Verf gung Stellt Udev label und uuid eines Dateisystems zur Verf gung Dieses Skript erzeugt Udev Regeln die stabile Namen f r optische Laufwerke unterst tzen siehe auch Abschnitt 7 12 Erzeugen von benutzerdefinierten symbolischen Links zu Ger ten Dieses Skript erzeugt Udev Regeln die stabile Namen f r Netzwerkschnittstellen unterst tzen siehe auch Abschnitt 7 13 Einrichten des network Skripts Enth lt Udev Konfigurationsdateien Ger teberechtigungen und Regeln f r die Namensvergabe von udev 179 Linux From Scratch Version 6 3 6 56 Util linux 2 12r Das Paket Util linux enth lt verschiedene Werkzeuge Darunter befinden sich Programme zum Umgang mit Dateisystemen Konsolen Partitionen und System Meldungen Gesch tzte 0 2 SBU Kingef herbeit tigter 17 2 MB Festplattenplatz 6 56 1 Anmerkung zur FHS Konformit t FHS empfiehlt var 1lib hwclock anstelle des eigentlich blichen Ordners etc als Speicherort f r die Datei adjtime zu benutzen F hren Sie das folgende Kommando aus um das Programm hwelock FHS Konform zu machen sed e s etc adjtime var lib hwclock adjtime g i grep rl etc adjtime mkdir pv var lib hwclock 6 56 2 Installation von Util linux Util linux l sst sich mit neueren Versionen der Linux Header nicht kompilieren Der folgende Patch behebt das Problem patch
205. m Kompilieren vor glibc 2 5 1 configure prefix tools disable profile enable add ons enable kernel 2 6 0 with binutils tools bin without gd with headers tools include without selinux Die Bedeutung der configure Parameter disable profile Dadurch werden die Bibliotheken ohne Profiling Informationen kompiliert Lassen Sie diesen Parameter weg wenn Sie mit den tempor ren Werkzeugen Profiling betreiben m chten enable add ons Dadurch verwendet Glibc NPTL als die Threading Bibliothek enable kernel 2 6 0 Dadurch wird die Glibc mit Unterst tzung f r Kernel der Serie 2 6 x gebaut with binutils tools bin Dieser Parameter wird nicht wirklich ben tigt stellt aber sicher dass in Hinsicht auf die Binutils Programme beim Kompilieren von Glibc nichts schiefgehen kann without gd Das verhindert das kompilieren des Programmes memusagestat welches immer mit Bibliotheken auf dem Host System verlinkt libgd libpng libz usw with headers tools include Dadurch wird Glibc mit den gerade in den tools Ordner installierten Kenerl Headern kompiliert Auf diese Weise werden alle Funktionen des Kernels erkannt und die Glibc kann entsprechend darauf optimiert werden without selinux Wenn das Host System SELinux Funktionen hat so z B Fedora Core 3 so w rden die SELinux Funktionen auch in Glibe einkompiliert Die LFS Werkzeuge unterst tzen diese Erweiterungen aber nicht daher wird eine so erze
206. m Protokollieren angeboten werden Jede Meldung enth lt zumindest einen Datumsstempel und den Hostnamen blicherweise auch noch den Namen des Programms Dies ist aber davon abh ngig wie vertrauensselig der Daemon eingestellt wurde 171 Linux From Scratch Version 6 3 6 52 Sysvinit 2 86 Das Sysvinit Paket enh lt Programme mit denen Sie das Starten Ausf hren und Beenden des Systems kontrollieren k nnen Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 1MB Festplattenplatz 6 52 1 Installation von Sysvinit Wenn Runlevel gewechselt werden zum Beispiel beim Herunterfahren des Systems sendet init Beenden Signale an alle Programme die von init gestartet wurden und im neuen Runlevel nicht laufen sollen Init gibt dabei die Meldung Sending processes the TERM signal auf dem Bildschirm aus Diese Meldung suggeriert allerdings das init Beenden Signale an alle Prozesse sendet Das ist so aber nicht korrekt denn es geht hier nur um Prozesse die von init gestartet wurden Um Missverst ndnisse zu vermeiden k nnen Sie die Quellen so modifizieren dass es sich besser liest Sending processes configured via etc inittab the TERM signal sed i s Sending processes amp configured via etc inittab g sre init c Kompilieren Sie das Paket make C src Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make C src install 6 52 2 Einrichten von Sysvinit Erstellen Sie
207. m Tastaturlayout nicht vorgesehen ist benutzen Sie den Wert euro2 FONT Diese Variable bernimmt die Argumente f r das Programm setfont Dies sind blicherweise der Name der Schrift m und der Name der zu ladenden Kodierung Um beispielsweise die Schrift latl 16 zusammen mit der Kodierung 8859 1 zu laden setzen Sie diese Variable auf latl 16 m 8859 1 Wenn die Variable nicht gesetzt ist wird das Bootskript setfont nicht ausf hren und die voreingestellte VGA Schrift mit der voreingestellten Kodierung wird geladen UNICODE Setzen Sie diese Variable auf 1 yes oder true um f r die Konsole den UTF 8 Modus zu aktivieren Dies ist nur f r auf UTF 8 basierende Locales sinnvoll und in allen anderen Locales sch dlich LEGACY_CHARSET F r viele Tastaturlayouts gibt es im kbd Paket keine Tastaturlayouttabelle im Unicode Format Das console Bootskript wird eine verf gbare Layouttabelle zur Laufzeit nach UTF 8 umwandeln wenn diese Variable auf eine nicht UTF 8 Layouttabelle eingestellt ist 197 Linux From Scratch Version 6 3 Einige Beispiele F r eine Nicht Unicode Umgebung werden blicherweise nur die Variablen KEYMAP und FONT ben tigt In Polen w rde man dies verwenden cat gt etc sysconfig console lt lt EOF Begin etc sysconfig console KEYMAP p12 FONT lat2a 16 m 8859 2 End etc sysconfig console EOF Wie bereits erw hnt muss das vorbereitete Tastaturl
208. mationen zu bestimmten Kernel Voraussetzungen von Software au erhalb von LFS make LANG lt host_LANG Wert gt LC_ALL menuconfig Die Bedeutung der make Parameter LANG lt host_LANG_Wert gt LC_ALL Dies stellt die Locale Einstellung auf die vom Host verwendete ein Ben tigt wird dies zur korrekten Darstellung der Ncurses Fensterrahmen von menuconfig in der UTF 8 basierten Textkonsole Ersetzen Sie lt host_ LANG_Wert gt durch den Wert von LANG ihres Host Rechners Wenn diese Variable nicht gesetzt ist k nnen Sie anstelle dessen den Wert aus LC_ALL oder LC_CTYPE bernehmen make oldconfig k nnte in einigen F llen besser geeignet sein Schauen Sie in die Datei README um mehr Informationen zu erhalten Wenn Sie m chten k nnen Sie die Kernelkonfiguration berspringen und einfach die Kernel Konfigurationsdatei config von Ihrem Host System nach linux 2 6 22 5 kopieren falls sie verf gbar ist Das wird allerdings nicht empfohlen Sie sind besser dran wenn Sie alle Konfigurationsmen s durchsehen und Ihre eigene Kernelkonfiguration einrichten Kompilieren Sie das Kernel Abbild und die Module make Wenn Sie Kernel Module verwenden brauchen Sie wahrscheinlich die Datei etc modprobe conf Informationen zu Modulen und Kernelkonfiguration im Allgemeinen finden Sie unter Abschnitt 7 4 Umgang mit Ger ten und Modulen an einem LFS System und in der Dokumentation zum Kernel Linux 2 6 22 5 Auch mod
209. mme 00bfal6d58e034e3c2aa27 390390d30 e Bash Dokumentation 3 2 2 143 kB Download http ftp gnu org gnu bash bash doc 3 2 tar gz MD5S Priifsumme 0 904cb46ca873fcfab65df19b024bec9 25 Linux From Scratch Version 6 3 Berkeley DB 4 5 20 9 064 kB Webseite http www oracle com technology software products berkeley db index html Download http download east oracle com berkeley db db 4 5 20 tar gz MD5S Priifsumme b0 f1c777708cb8e9d37fb47e7ed3312d e Binutils 2 17 13 472 kB Webseite http sources redhat com binutils Download http ftp gnu org gnu binutils binutils 2 17 tar bz2 MD5S Priifsumme e26e2e06b6eAbf3acf1dc8688a94c0dl e Bison 2 3 1 055 kB Webseite http www gnu org software bison Download http ftp gnu org gnu bison bison 2 3 tar bz2 MD5S Priifsumme c18640c6ec31a169d351e3117ecce3ec e Bzip2 1 0 4 822 kB Webseite http www bzip org Download http www bzip org 1 0 4 bzip2 1 0 4 tar gz MD5S Priifsumme c310b254f6ba5fbb5da018f04533688 e Coreutils 6 9 5 258 kB Webseite http www gnu org software coreutils Download http ftp gnu org gnu coreutils coreutils 6 9 tar bz2 MD5S Priifsumme c9607d8495f 16e98906e7ed2d9751a06 DejaGNU 1 4 4 1 056 kB Webseite http www gnu org software dejagnu Download http ftp gnu org gnu dejagnu dejagnu 1 4 4 tar gz MD5S Priifsumme 053f 18 d5d00873de365413cab17a666 e Diffutils 2 8 1 762 kB Webseite http
210. n sed i vi_VN TCVN d localedata SUPPORTED W hrend make install l uft wird ein Skript namens test installation pl ausgef hrt welches die neu installierte Glibc berpr ft Unsere Toolchain zeigt jedoch noch auf den Ordner too1s woraufhin die falsche Glibc getestet werden w rde Sie k nnen das Skript zwingen die richtige Glibc zu testen Verwenden Sie dazu dieses Kommando sed i s libs o libs L usr lib Wl dynamic linker lib ld linux so 2 o scripts test installation pl Das Shell Skript Idd enth lt Bash spezifische Syntax ndern Sie daher bitte den Befehlsinterpreter zu bin bash f r den Fall dass ein anderes Kommando f r bin sh installiert wird wie z B im Kapitel shells von BLES beschrieben sed i s BASH bin bash elf ldd bash in Die Dokumentation von Glibc empfiehlt zum Kompilieren einen gesonderten Ordner zu verwenden 85 Linux From Scratch Version 6 3 mkdir v glibc build cd glibc build Bereiten Sie Glibc zum Kompilieren vor glibc 2 5 1 configure prefix usr disable profile enable add ons enable kernel 2 6 0 libexecdir usr lib glibc Die Bedeutung der neuen Parameter zu configure libexecdir usr lib glibc Dadurch wird das Programm pt_chown in usr lib glibc anstelle von usr libexec installiert Kompilieren Sie das Paket make Wichtig In diesem Abschnitt wird die Testsuite von Glibc als
211. n Bugtraq Die Mailingliste Bugtraq ist eine sog full disclosure Mailingliste Auf ihr werden neu entdeckte Sicherheitsprobleme und zum Teil auch Patches zum Beheben der Fehler ver ffentlicht Sie k nnen die Liste unter http www securityfocus com archive abonnieren Beyond Linux From Scratch Das Buch Beyond Linux From Scratch befasst sich mit der Installation einer Menge Software die den Rahmen des LFS Buches sprengen w rde Das BLFS Projekt finden Sie unter hrtp www linuxfromscratch org blfs LFS Hints Die LFS Hints sind eine Sammlung von n tzlichen Anleitungen und Tipps die von Freiwilligen aus der LFS Gemeinschaft eingereicht wurden Die Anleitungen sind verf gbar unter http www linuxfromscratch org hints list html Mailinglisten Es gibt einige Mailinglisten die Sie abonnieren k nnen wenn Sie mal Hilfe ben tigen Weitere Informationen finden Sie in Kapitel 1 Mailinglisten Das Linux Documentation Project 217 Linux From Scratch Version 6 3 Das Ziel des Linux Documentation Project ist es in allen Fragen zu Linux zusammenzuarbeiten Das LDP verf gt ber jede Menge an HOWTOs Anleitungen und Man pages Sie finden es unter http www tldp org 218 Linux From Scratch Version 6 3 Teil IV Anh nge Linux From Scratch Version 6 3 Anhang A Akronyme und Begriffe ABI ALFS ALSA API ASCH BIOS BLFS BSD chroot CMOS COS CPU CRC CVS DHCP DNS EGA ELF EOF EQN EVMS ext2 ext3
212. n ctrlaltdel cytune ddate dmesg elvtune fdformat fdisk flock fsck cramfs fsck minix getopt hexdump hwclock ipcrm ipcs isosize line logger look losetup ffnet einen tty Port fragt nach dem Login Namen und startet das Programm login Gibt die Systemarchitektur aus Erm glicht den Aufruf von Blockger te ioctls an der Kommandozeile Zeigt einen einfachen Kalender an Wird zum Bearbeiten der Partitionstabelle eines Ger tes benutzt Findet Duplikate von ausf hrbaren Dateien Filtert R ckw rts Zeilenvorsch be aus Filtert nroff Ausgaben f r Terminals denen bestimmte F higkeiten fehlen wie zum beispiel durchstreichen oder halbe Zeilen Filtert eine bestimmte Spalte aus Formatiert eine Datei in mehrere Spalten Setzt die Funktion der Tastenkombination Strg Alt Entf auf einen Hart oder Softreset Wurde benutzt um die Parameter der seriellen Schnittstellen auf Cyclade Karten zu ver ndern Gibt das Diskordianische Datum aus oder konvertiert ein Gregorianisches Datum in ein Diskordianisches Zeigt die Bootmeldungen des Kernel an Kann zum Manipulieren der Performance und Interaktivit t von Blockger ten benutzt werden Formatiert eine Diskette low level Wird zum Bearbeiten der Partitionstabelle des angegebenen Ger tes benutzt Beansprucht eine Dateisperrung und f hrt w hrend der Sperrung ein Kommando aus F hrt eine Konsistenzpr fung auf einem Cramfs Dateisystem durch F hrt eine Ko
213. n Datei die als Basis f r eine configure in Datei zu dem Softwarepaket dienen kann Ver ndert eine configure in Datei so dass sie nicht mehr die alten Namen der autoconf Makros aufruft sondern die neuen Kann beim Schreiben einer configure in Datei f r ein Paket hilfreich sein Es gibt die Bezeichner aus die ein Paket in Pr prozessor Konditionen benutzt Wenn ein Paket bereits f r Portabilit t eingerichtet ist kann dieses kleine Werkzeug zum Auffinden der n tigen configure Tests hilfreich sein Es kann einige L cken in autoscan generierten configure in Dateien f llen 125 Linux From Scratch Version 6 3 6 27 Automake 1 10 Automake enth lt Programme zur Erzeugung von Makefile Dateien zur weiteren Verwendung mit Autoconf Gesch tzte Kingef herbeit tigter Festplattenplatz weniger als 0 1 SBU 7 9 MB 6 27 1 Installation von Automake Bereiten Sie Automake zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Zum Testen der Ergebnisse k nnen Sie make check benutzen Dies dauert recht lange etwa 10 SBUs Installieren Sie das Paket make install 6 27 2 Inhalt von Automake Installierte Programme acinstall aclocal aclocal 1 10 automake automake 1 10 compile config guess config sub depcomp elisp comp install sh mdate sh missing mkinstalldirs py compile symlink tree und ylwrap Kurze Beschreibungen acinstall aclocal a
214. n Link wird sie unter usr share doc vim 7 1 verf gbar und ist damit konsistent mit der Dokumentation anderer Pakete In sv vim vim71 doc usr share doc vim 7 1 Falls Sie sp ter ein X Window System auf Ihrem LFS installieren m chten sollten Sie nach der Installation von X Ihren Vim erneut installieren Vim bringt eine grafische Oberfl che mit die allerdings X und ein paar weitere Bibliotheken voraussetzt Weitere Informationen finden Sie in der Dokumentation zu Vim und im BLFS Buch unter http www linuxfromscratch org blfs fwiew svn postlfs editors html postlfs editors vim 6 57 2 Einrichten von Vim In der Voreinstellung l uft vim im vi inkompatiblen Modus Das ist wahrscheinlich neu f r Leute die in der Vergangenheit andere Editoren verwendet haben Die Einstellung nocompatible ist dennoch unten aufgef hrt um daran zu erinnern dass das neue Verhalten benutzt wird Wenn Sie zum vi kompatiblen Modus wechseln m chten sollte compatible im Kopfbereich der Datei stehen Das ist n tig weil diese Option viele Voreinstellungen f r Parameter vornimmt Ihre eigenen nderungen an diesen Parametern m ssen danach erfolgen weil sie sonst von compatible zur ckgesetzt w rden Erzeugen Sie eine Standard vim Konfigurationsdatei mit diesem Kommando cat gt etc vimrc lt lt EOF U Begin ece w lmese set nocompatible set backspace 2 syntax on if amp term iterm amp term putty se
215. n Sie in Abschnitt 6 12 2 Inhalt von GCC 43 Linux From Scratch Version 6 3 5 5 Linux 2 6 22 5 API Header Die Linux API Header ver ffentlichen die Programmierschnittstelle der Kernels zur Verwendung durch die Glibe Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 286 MB Festplattenplatz 5 5 1 Installation von Linux API Header Der Kernel muss eine Programmierschnittstelle API ver ffentlichen damit die C Bibliothek Glibc in LFS diese verwenden kann Dazu werden bereinigte Versionen der C Header verwendet die mit den Kernelquellen ausgeliefert werden Installieren Sie die Header Dateien make mrproper make headers_check make INSTALL_HDR_PATH dest headers_install cp rv dest include tools include Details zu diesem Paket finden Sie in Abschnitt 6 7 2 Inhalt von Linux API Header 44 Linux From Scratch Version 6 3 5 6 Glibc 2 5 1 Glibc enth lt die C Bibliothek Sie stellt Systemaufrufe und grundlegende Funktionen zur Verf gung z B das Zuweisen von Speicher Durchsuchen von Ordnern Offnen und Schlie en sowie Schreiben von Dateien Zeichenkettenverarbeitung Mustererkennung Arithmetik etc Gesch tzte 7 SBU Kingef herbeit tigter 342 MB Festplattenplatz 5 6 1 Installation von Glibc Die Dokumentation von Glibc empfiehlt zum Kompilieren einen gesonderten Ordner zu verwenden mkdir v glibc build cd glibc build Als n chstes bereiten Sie Glibc zu
216. n Tests erfolgreich durchlaufen Allerdings k nnen selbst in Kapitel 6 noch Fehler auftreten zum Beispiel beim math Test Wenn ein Fehler auftritt notieren Sie ihn dann rufen Sie make check erneut auf Die Testsuite sollte dann dort fortfahren wo sie unterbrochen wurde Sie k nnen dieses Stoppen und Starten umgehen indem Sie make k check aufrufen Aber stellen Sie in diesem Fall sicher dass Sie die Ausgaben protokollieren damit Sie sp ter die Logdatei nach den aufgetretenen Fehlern durchsuchen K nnen Auch wenn es nur eine harmlose Meldung ist die Installationsroutine von Glibc wird sich ber die fehlende Datei tools etc 1ld so conf beschweren Beheben Sie diese st rende Warnung mit mkdir v tools etc touch tools etc ld so conf Installieren Sie das Paket make install Verschiedene L nder und Kulturen haben auch unterschiedliche Konventionen zum Kommunizieren Darunter sind einfache Konventionen wie zum Beispiel das Format f r Datum und Uhrzeit aber auch sehr komplexe Konventionen wie zum Beispiel die dort gesprochene Sprache Die Internationalisierung von GNU Programmen funktioniert mit Hilfe der sogenannten Locales Installieren Sie nun die Glibc Locales Anmerkung Wenn Sie wie empfohlen die Testsuite in diesem Kapitel nicht laufen lassen brauchen Sie auch die Locales nicht zu installieren Sie werden sie dann im n chsten Kapitel installieren Um sie dennoch zu installieren benutzen Sie
217. n getrennt zusammengef gt Pr ft ob Dateinamen g ltig und portierbar sind Eine abgespeckte Version von finger Es gibt ein paar Informationen ber den angegebenen Benutzer aus Bereitet Dateien seiten oder spaltenweise f r den Ausdruck vor Gibt die Umgebungsvariablen aus Gibt die angegebenen Argumente in einem bestimmten Format aus dies ist der C Funktion printf sehr hnlich Erzeugt aus dem Inhalt von Dateien einen vertauschten Index mit jedem Stichwort im Kontext Gibt den Namen des aktuellen Arbeits Ordners aus Gibt das Ziel eines symbolischen Links aus L scht Dateien oder Ordner L scht leere Ordner Gibt eine Zahlenreihe in einem bestimmten Wertebereich und mit einem bestimmten Inkrement aus Pr ft 160 Bit SHA1 Priifsummen oder gibt sie aus Pr ft 224 Bit SHA Pr fsummen oder gibt sie aus Pr ft 256 Bit SHA Pr fsummen oder gibt sie aus Pr ft 384 Bit SHA Pr fsummen oder gibt sie aus Pr ft 512 Bit SHA Pr fsummen oder gibt sie aus berschreibt eine Datei mehrfach mit zuf lligen Mustern um das Wiederherstellen der Daten zu erschweren Mischt Textzeilen Pausiert f r die angegebene Zeit Sortiert die Zeilen einer Datei Teilt eine Datei in St cke nach Gr e oder nach Zeilennummern Zeigt den Datei oder Dateisystemstatus an Setzt Terminal Einstellungen oder zeigt sie an Gibt Pr fsumme und Anzahl der Bl cke einer Datei aus 108 sync tac tail tee test touch tr
218. n statt Anmerkung Sie m ssen alle Kommandos in den folgenden Kapiteln in der chroot Umgebung ausf hren Wenn Sie die chroot Umgebung aus irgendeinem Grund verlassen m ssen zum Beispiel wegen einem Neustart dann denken Sie daran die virtuellen Kernel Dateisysteme wie in Kapitel Abschnitt 6 2 2 Einh ngen und F llen von dev und Abschnitt 6 2 3 Einh ngen der virtuellen Kernel Dateisysteme erneut einzubinden und die chroot Umgebung wieder zu betreten bevor Sie mit der Installation fortfahren 6 5 Erstellen der Ordnerstruktur Nun bringen Sie ein wenig Struktur in das LFS Dateisystem Erzeugen Sie mit dem folgenden Kommando eine standardkonforme Ordnerstruktur mkdir pv bin boot etc opt home lib mnt opt mkdir pv media floppy cdrom sbin srv var install dv m 0750 root install dv m 1777 tmp var tmp mkdir pv usr local bin include lib sbin src mkdir pv usr local share doc info locale man mkdir v usr local share misc terminfo zoneinfo mkdir pv usr local share man man 1 8 for dir in usr usr local do ln sv share man doc info dir done mkdir v var lock 1log mail run spool mkdir pv var opt cache lib misc locate local 80 Linux From Scratch Version 6 3 Normalerweise werden Ordner in der Voreinstellung mit den Rechten 755 erzeugt aber das ist nicht bei allen Ordnern erw nscht Nehmen Sie bitte zwei Anderungen vor eine f r den Pers nl
219. nd XSL Betreuer Jim Gifford lt jim linuxfromscratch org gt CLFS Co Betreuer Bryan Kadzban lt bryan linuxfromscratch org gt LFS Buchautor Jeremy Huntwork lt jhuntwork linuxfromscratch org gt LFS Live CD Betreuer LFS Buchautor Randy McMurchy lt randy linuxfromscratch org gt BLFS Projektleiter Dan Nicholson lt dnicholson linuxfromscratch org gt LFS und BLFS Buchautor Ken Moffat lt ken linuxfromscratch org gt LFS und CLFS Buchautor Ryan Oliver lt ryan linuxfromscratch org gt CLFS Co Betreuer Alexander E Patrakov lt alexander linuxfromscratch org gt LFS Buchautor LFS Internationalisierung LFS Live CD Betreuer Zahllose weitere Personen aus den verschiedenen LFS und BLFS Mailinglisten die mit Vorschl gen Tests und Fehlerberichten Anleitungen und Installationserfahrungen zu diesem Buch beitragen Ubersetzer Manuel Canales Esparcia lt macana macana es com gt Spanisches LFS Ubersetzerprojekt Johan Lenglet lt johan linuxfromscratch org gt Franz sisches LFS Ubersetzerprojekt Anderson Lizardo lt lizardo linuxfromscratch org gt Portugiesisches LFS Ubersetzerprojekt Thomas Reitelbach lt tr erdfunkstelle de gt Deutsches LFS bersetzerprojekt Betreuer der Softwarespiegel Nordamerikanische Spiegel Scott Kveton lt scott osuosl org gt lfs oregonstate edu William Astle lt lost 1 w net gt ca linuxfromscratch org Eujon Sellers l
220. nden wird Die Binutils und die Kernel Header k nnen da schon etwas schwieriger sein Daher gehen wir kein Risiko ein und benutzen die verf gbaren configure Optionen um die korrekten Entscheidungen zu erzwingen Nach dem Durchlauf von configure k nnen Sie den Inhalt von config make im Ordner glibc build nach den Details durchsuchen Sie werden ein paar interessante Dinge finden wie zum Beispiel CC gcc B tools bin zum Kontrollieren der verwendeten Binutils oder die Parameter nostdinc und isystem zum Kontrollieren des Suchpfades des Compilers Diese Besonderheiten heben einen wichtigen Aspekt von Glibc hervor Sie ist kompiliertechnisch gesehen eigenst ndig und nicht von Voreinstellungen der Toolchain abh ngig Nach der Installation von Glibc nehmen Sie noch ein paar Anpassungen vor dadurch stellen Sie sicher dass Suchen und Verlinken nur innerhalb unseres Prefix tools stattfindet Sie installieren einen angepassten Id welcher einen fest angegebenen Suchpfad auf tools lib hat Dann bearbeiten Sie die specs Datei von gcc so dass sie auf den neuen Dynamischen Linker in tools lib verweist Der letzte Schritt ist entscheidend f r den gesamten Ablauf Wie oben bereits angemerkt wird ein fest eingestellter Pfad zum Dynamischen Linker in jeder ausf hrbaren ELF Datei eingebettet Sie k nnen das berpr fen indem Sie dieses Kommando ausf hren readelf 1 lt Name der ausf hrbaren Datei gt grep interpreter Durch das Anpassen de
221. ne andere umzuwandeln Auf der Webseite des Projektes unter http www gnu org software libiconv wird gesagt This library provides an iconv implementation for use on systems which don t have one or whose implementation cannot convert from to Unicode Glibc enth lt eine iconv Funktion und kann auch von nach Unicode konvertieren deshalb wird libiconv auf einem LFS System nicht ben tigt Das Installationssystem der Glibc ist sehr eigenst ndig und l sst sich perfekt installieren selbst wenn die specs Datei unseres Compilers und der Linker immer noch auf tools verweisen Sie k nnen die specs Datei und den Linker nicht vor der Installation von Glibc modifizieren weil die Autoconf Tests von Glibc dann falsche Resultate ergeben w rden Das Tar Archiv glibc libidn f gt der Glibc Unterst tzung f r l nderspezifische Dom nennamen hinzu IDN Viele Programme die IDN unterst tzen ben tigen allerdings die vollst ndige Bibliothek 1ibidn siehe http www linuxfromscratch org blfs view svn general libidn html und nicht diese Erweiterung Entpacken Sie das Tar Archiv innerhalb des Glibc Quellordners tar xvf glibc libidn 2 5 1 tar gz mv glibc libidn 2 5 1 libidn Unter Verwendung der locale vi_VN TCVN verbleibt die bash beim Start in einer Endlosschleife Ob dies ein Fehler der bash oder von Glibc ist ist derzeit nicht bekannt Verhindern Sie das Problem indem Sie diese locale von der Installation ausschlie e
222. nem Ubersetzungskatalog nach ihren Attributen und manipuliert diese Attribute msgcat F gt die angegebenen po Dateien aneinander und verschmelzt sie 140 msgcemp msgcomm msgconv msgen msgexec msgfilter msgfmt msggrep msginit msgmerge msgunfmt msguniq ngettext recode sr latin xgettext libasprintf libgettextlib libgettextpo libgettextsrc Linux From Scratch Version 6 3 Vergleicht zwei po Dateien um sicherzustellen dass beide den gleichen Satz an msgid Zeichenketten enthalten Findet die Nachrichten die die angegebenen po Dateien gemeinsam haben Konvertiert den bersetzungskatalog in einen anderen Zeichensatz Erzeugt einen englischen bersetzungskatalog F hrt ein Kommando auf allen bersetzungen in einem Katalog aus Wendet einen Filter auf alle bersetzungen in einem Katalog an Erzeugt aus einem bersetzungskatalog einen bin ren Katalog Extrahiert alle Nachrichten aus einem Katalog die auf ein bestimmtes Muster passen oder zu einer bestimmten Quelldatei geh ren Erzeugt eine neue po Datei und initialisiert die Meta Informationen mit Werten aus der Arbeitsumgebung des Benutzers Kombiniert zwei bersetzungen in eine einzige Datei Erzeugt aus einem bin ren Katalog einen Nachrichtenkatalog in Textform Vereinheitlicht doppelte bersetzungen in einem Nachrichtenkatalog Zeigt die bersetzung einer Textnachricht an deren Grammatik von einer Zahl a
223. nerstruktur Kompiliert ein Python Programm Ein Skript zum Erzeugen einer Symlink Version einer Ordnerstruktur Ein Wrapper f r lex und yacc 127 Linux From Scratch Version 6 3 6 28 Bash 3 2 Das Paket Bash enth lt die Bourne Again SHell Gesch tzte 0 4 SBU Kingef herbeit tigter 25 8 MB Festplattenplatz 6 28 1 Installation von Bash Wenn Sie die Bash Dokumentation heruntergeladen haben und die HTML Dokumentation installieren m chten dann f hren Sie bitte die folgenden Kommandos aus tar xvf bash doc 3 2 tar gz sed i s htmldir htmldir htmldir usr share doc bash 3 2 Makefile in Die Upstream Entwickler haben seit der ersten Ver ffentlichung von Bash 3 2 viele Fehler behoben Spielen Sie diese Fehlerkorrekturen nun ein patch Npl i bash 3 2 fixes 5 patch Bereiten Sie Bash zum Kompilieren vor configure prefix usr bindir bin without bash malloc with installed readline Die Bedeutung der configure Parameter with installed readline Dieser Parameter l sst Bash die von uns installierte readline Bibliothek anstelle der Bash eigenen Version benutzen Kompilieren Sie das Paket make Fahren Sie mit Installieren Sie das Paket fort wenn Sie die Testsuite berspringen m chten Um alles f r die Tests vorzubereiten stellen Sie sicher dass die Locale Einstellungen f r Ihr System benutzt werden und dass der Benutzer no
224. niert Dies wird sp ter in Kapitel 5 ausf hrlicher behandelt Manchmal verursachen Testsuites eines Pakets auch falschen Alarm Sehen Sie im LFS Wiki unter http www linuxfromscratch org lfs build logs 6 3 nach und pr fen Sie ob diese Fehler normal sind Das gilt f r alle Tests im gesamten Buch 36 Linux From Scratch Version 6 3 Kapitel 5 Erstellen eines tempor ren Systems 5 1 Einf hrung In diesem Kapitel werden Sie ein Minimal Linux kompilieren und installieren Das System wird gerade genug Werkzeuge beinhalten um in Kapitel 6 mit dem Bau des endg ltigen LFS beginnen zu k nnen Wir verzichten hierbei weitestgehend auf jeglichen Komfort Das Erstellen des Minimal Systems erfolgt in zwei Schritten Zuerst erzeugen Sie eine brandneue Host unabh ngige Toolchain Compiler Assembler Linker und Bibliotheken und ein paar n tzliche Werkzeuge Mit Hilfe der Toolchain k nnen dann im weiteren Verlauf die essentiellen Werkzeuge kompiliert werden Die in diesem Kapitel kompilierten Dateien werden im Ordner SLFS tools installiert und sind damit von den restlichen Dateien des Systems sauber getrennt Die hier kompilierten Programme sind schlie lich nur tempor r und sollen nicht mit in unser endg ltiges LFS System einflie en Wichtig Alle Kompilier Anweisungen setzen voraus dass Sie die Bash Shell einsetzen Bevor Sie ein Paket installieren m ssen Sie das jeweilige Tar Archiv bereits als Benutzer 1 fs entpackt und mit
225. nis wird fest in einen bestimmten Test eingebunden Das wiederum w rde den Test dazu veranlassen weniger sichere Zufallsnamen f r tempor re Dateien zu erzeugen Da wir mktemp sp ter noch installieren werden simulieren wir an dieser Stelle das Vorhandensein sed i s have_mktemp_command yes gcc gccbug in Die Dokumentation zu GCC empfiehlt GCC au erhalb des Quellordners zu kompilieren mkdir v gec build cd gec build Bereiten Sie GCC zum Kompilieren vor gec 4 1 2 configure prefix usr libexecdir usr lib enable shared enable threads posix enable _cxa_atexit enable clocale gnu enable languages c c Kompilieren Sie das Paket make Wichtig In diesem Abschnitt wird die Testsuite als absolut kritisch betrachtet Sie sollten diesen Schritt unter keinen Umst nden berspringen 95 Linux From Scratch Version 6 3 Testen Sie die Ergebnisse aber halten Sie bei Fehlern nicht an make k check Um eine Zusammenfassung der Testergebnisse zu sehen verwenden Sie dieses Kommando gec 4 1 2 contrib test_summary Wenn Sie nur die Zusammenfassungen sehen m chten pipen Sie die Ausgabe durch grep A7 Summ Sie k nnen die Ergebnisse mit denen unter http www linuxfromscratch org lfs build logs 6 3 vergleichen Ein paar unerwartete Fehler lassen sich oftmals nicht vermeiden Die Entwickler von GCC kennen diese blicherweise be
226. nn Sie mehr Informationen zum Einrichten von PTYs brauchen schauen Sie am besten in die LFS FAQ unter http www linuxfromscratch org lfs fag html no ptys In Abschnitt 5 7 Anpassen der Toolchain wurde bereits erkl rt dass GCC unter normalen Umst nden sein fixincludes Skript laufen l sst um defekte Header Dateien aufzufinden und zu reparieren Da an diesem Punkt GCC 4 1 2 und Glibc 2 5 1 bereits installiert sind und deren Header Dateien definitiv nicht repariert werden m ssen wird das fixincludes Skript eigentlich nicht ben tigt Wie bereits erw hnt k nnte es sogar den negativen Nebeneffekt haben Header Dateien vom Host System in das LFS System einzuschleusen Mit dem folgenden Kommando k nnen Sie das Ausf hren des fixincludes Skriptes verhindern cp v gcc Makefile in orig sed s fixinc sh c true gcc Makefile in orig gt gcc Makefile in Im Bootstrap Durchlauf aus Abschnitt 5 4 GCC 4 1 2 Durchlauf 1 wurde zum Kompilieren von GCC der Compiler Parameter fomit frame pointer verwendet Der Nicht Bootstrap Durchlauf verwendet diesen Parameter jedoch standardm ig nicht Um die Kompilier Durchl ufe von GCC konsistent zu halten sollten Sie den Parameter f r diesen Durchlauf mit dem folgenden sed Kommando einschalten cp v gcc Makefile in tmp sed s XCFLAGS amp fomit frame pointer gcc Makefile in tmp gt gcc Makefile in Wenden Sie nun den folgenden Patch an Dadurch wird der Pf
227. nnnsnannnn 76 6 2 Pakelyerwallung Sr NE ee 11 6 4 Betreten der chroot Umgebung session ka 80 6 3 Erstellen d r Ordnerstrkt t csi ise E A A E E 80 6 6 Erstellen notwendiger Dateien und symbolischer Verkn pfungen ssesssssesssesssssssssesseresserseeesseee 81 DEE ACE ee rss ernennen 83 6 8 Man pages 2 63 near E SEENEN ENEE EA ce pada daun doen vans eeh ed E 84 6 9 GBE Ie Sgt EE e 85 6 10 Erneutes Anpassen der Toolchain aaa DARC d n Eeler end Ee 91 A UE CR E 93 6 12 GECAT EE 95 6 13 B rkeley DBA J20 Es Dies 99 6 14 Sed A E EE 101 Err 0 2 een E TAE A E A 102 6 16 CHreutils 6 9 EEN 105 0 17 lana Ete H 110 6 18 M LA 10 seen ia nein 111 ED EE A E RE E E EEA AE RR E N E 112 6 20 Neurses 6 2a T 113 GU PLCS EE EE 116 6 22 Tiboo LS 22 ee RER HER 118 ORION boo esa i S Sonna anna e ae e E A a e a a O Eas 119 6 24 Readline EE 121 es LAMM o E 2A ee ee 123 6 26 Autoconf 2 EE 125 621 A tomake 1 TO NEE 126 6 28 s T T ae PAE E en E E EE 128 6 29 BEP E a EEE 130 630 DIEMUIS EE 132 0 3 l E EE 133 6 32 Findutils 4 2 EE 134 OP SEM DE De Eee N RS ER N EEE 136 6 34 GRUBDIT sense ner essen 137 OR E E E 138 6 36 EE E ANE 140 GROBER 142 0 38 GT08 1 18 1 A ea Earl E 143 ORG Al 0 a Wes Bt E 146 iv Linux From Scratch Version 6 3 0 40 Inetitls 13 ee een 148 6 41 IPRoute226 20 0703 13 u 3a en sieh an 150 Ee ee Ee 152 6 43 Less 406 EE 154 0AA Make EE EE 155 6 49 Man DB 244 RR 156 6046 BAR ch
228. nnte Unterst tzung f r Ada installiert sein Sie w re dann aber sp ter in der chroot Umgebung nicht mehr verf gbar enable overwrite Dadurch werden die Header Dateien von Ncurses in tools include anstelle von tools include ncurses installiert Das stellt sicher dass andere Pakete die Header Dateien problemlos finden k nnen Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Details zu diesem Paket finden Sie in Abschnitt 6 20 2 Inhalt von Ncurses 37 Linux From Scratch Version 6 3 5 14 Bash 3 2 Das Paket Bash enth lt die Bourne Again SHell Gesch tzte 0 4 SBU Kingef herbeit tigter 22 MB Festplattenplatz 5 14 1 Installation von Bash Die Upstream Entwickler haben seit der ersten Ver ffentlichung von Bash 3 2 viele Fehler behoben Spielen Sie diese Fehlerkorrekturen nun ein patch Npl i bash 3 2 fixes 5 patch Bereiten Sie Bash zum Kompilieren vor configure prefix tools without bash malloc Die Bedeutung des configure Parameters without bash malloc Dieser Parameter schaltet Bashs memory allocation malloc Funktion ab sie ist daf r bekannt Speicherzugriffsfehler zu verursachen Durch das Abschalten der Funktion wird Bash die stabilere malloc Funktion von Glibc benutzen Kompilieren Sie das Paket make Zum Testen der Ergebnisse f hren
229. nsistenzpr fung auf einem Minix Dateisystem durch Analysiert die Optionen in der Kommandozeile Zeigt eine Datei hexadezimal oder in einem anderen Format an Wird zum Setzen oder Lesen der Hardware Uhr auch RTC oder BIOS Uhr gennant benutzt Entfernt die angegebene IPC Ressource Inter Process Communication Gibt IPC Status Informationen aus Gibt die Gr e eines iso9660 Dateisystems aus Kopiert eine einzelne Zeile Gibt eine Nachricht in das Logsystem ein Sucht nach Zeilen die mit einer bestimmten Zeichenkette beginnen und zeigt sie an Konfiguriert und kontrolliert Loopback Ger te 181 mcookie mkfs mkfs bfs mkfs cramfs mkfs minix mkswap more mount namei ps pivot_root ramsize raw rdev readprofile rename renice rev rootflags script setfdprm setsid setterm sfdisk swapoff swapon tailf tunelp ul umount vidmode whereis write Linux From Scratch Version 6 3 Erzeugt magische Cookies hexadezimale 128 bit Zufallszahlen f r xauth Erzeugt ein Dateisystem auf einem Ger t blicherweise einer Festplattenpartition Erzeugt ein SCO bfs Dateisystem Santa Cruz Operations Erzeugt ein cramfs Dateisystem Erzeugt ein Minix Dateisystem Initialisiert ein Ger t oder eine Datei als Auslagerungsbereich Ein Filter zum seitenweisen Anzeigen von Text Less ist jedoch besser H ngt das auf dem Ger t vorhandene Dateisystem in einem Ordner ein Zeigt die symbolischen Links in Pfadn
230. nstalliert das dem in diesem Buch sehr hnlich ist sich aber ausschlie lich auf das Erstellen eines Systems konzentriert das eine Bash Shell booten kann Halten Sie sich am besten Ihr Ziel vor Augen Wenn Sie Linux installieren und nebenbei dazulernen m chten dann ist Linux From Scratch f r Sie geeignet Es gibt einfach zu viele gute Gr nde f r das Erstellen eines eigenen LFS Systems um sie hier alle aufzuz hlen die hier genannten Gr nde sind nur die Spitze des Eisberges W hrend Sie mit LFS arbeiten und Erfahrungen sammeln werden Sie selbst schnell feststellen wie wertvoll Informationen und Wissen ber Linux sind Voraussetzungen Der Selbstbau eines LFS ist keine leichte Aufgabe Man ben tigt ein entsprechendes Vorwissen zur Administration von Unix Systemen sonst f llt es schwer bestimmte Kommandos zu verstehen oder auf Fehlersuche zu gehen Sie als Leser sollten als absolutes Minimum zumindest mit der Kommandozeile Shell umgehen k nnen dazu geh rt das Kopieren und Verschieben von Dateien und Ordnern Auflisten von Ordner und Dateiinhalte und das Wechseln des aktuellen Ordners Au erdem setzen wir voraus dass Sie grunds tzlich wissen wie man Linux Software benutzt und installiert Weil das LFS Buch dieses Vorwissen als absolutes Minimum voraussetzt werden Sie in den verschiedenen LFS Support Foren h chstwahrscheinlich keine Hilfe bekommen wenn Sie Fragen ohne das notwendige Basiswissen stellen M glicherweise bleiben
231. nsupported filesystem features upgrade your e fsprogs erhalten Mit dem folgenden Kommando k nnen Sie herausfinden ob Ihr Host System solche zus tzlichen Funktionen verwendet debugfs R feature dev lt xxx gt Wenn die Ausgabe mehr Funktionen als has_journal dir_index filetype large_file resize_ inode sparse_ super oder needs_ recovery enth lt dann sind in Ihrem Host System zus tzliche Erweiterungen installiert Sie sollten sp tere Probleme vermeiden indem Sie das normale Paket E fsprogs kompilieren und die daraus resultierenden Programme zum Erzeugen des Dateisystems auf Ihrer LFS Partition verwenden cd tmp tar xjvf Pfad zu den Quellen von e2fsprogs 1 40 2 tar bz2 cd e2fsprogs 1 40 2 mkdir v build cd build configure make ANMERKUNG F hren Sie bitte _nicht_ make install aus misc mke2fs jv dev lt xxx gt cd tmp rm rfv e2fsprogs 1 40 2 Wenn Sie eine neue Swap Partition erstellt haben m ssen Sie diese mit dem untenstehenden Befehl initialisieren dies bezeichnet man auch als formatieren Wenn Sie eine bereits vorhandene Swap Partition verwenden muss diese nicht initialisiert werden mkswap dev lt yyy gt Bitte ersetzen Sie lt yyy gt durch den Namen Ihrer Swap Partition 2 4 Einh ngen mounten der neuen Partition Nachdem Sie nun ein Dateisystem erzeugt haben sollten Sie nat rlich auch darauf zugreifen k nnen Dazu m ssen Sie erst einen Mountpunkt w hlen und e
232. nth lt einen Stream Editor Gesch tzte 0 1 SBU Kingef herbeit tigter 6 4 MB Festplattenplatz 6 14 1 Installation von Sed Bereiten Sie Sed zum Kompilieren vor configure prefix usr bindir bin enable html Die Bedeutung des neuen Parameters zu configure enable html Dadurch wird die HTML Dokumentation erzeugt Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 14 2 Inhalt von Sed Installiertes Programm sed Kurze Beschreibungen sed Wird zum Filtern und Transformieren von Dateien in einem einzigen Durchlauf verwendet 101 Linux From Scratch Version 6 3 6 15 E2fsprogs 1 40 2 E2fsprogs stellt die Werkzeuge zur Verwendung mit dem ext 2 Dateisystem zur Verf gung Auch ext 3 wird unterst tzt ein Journaling Dateisystem Gesch tzte 0 4 SBU Kingef herbeit tigter 31 2 MB Festplattenplatz 6 15 1 Installation von E2fsprogs Korrigieren Sie einen fest einprogrammierten Pfad zu bin rm in der E2fsprogs Testsuite sed i e s bin rm tools amp lib blkid test_probe in Die Dokumentation empfiehlt E2fsprogs in einem Unterordner des Quellordners zu kompilieren mkdir v build cd build Bereiten Sie E2fsprogs zum Kompilieren vor configure prefix usr with root prefix enable elf shlibs Die Bedeutung der configure
233. nvertiert terminfo Beschreibungen zu termcap Beschreibungen Setzt ein Terminal auf seine Voreinstellungen zur ck Wird benutzt um die Korrektheit eines Eintrages in der terminfo Datenbank zu berpr fen Der Compiler f r Beschreibungen zu terminfo Eintr gen Er bersetzt terminfo Dateien aus dem Quellformat in das bin re Format das von den ncurses Bibliotheksroutinen ben tigt wird Eine terminfo Datei enth lt Informationen ber die F higkeiten eines bestimmten Terminals Listet alle verf gbaren Terminaltypen auf und gibt zu jedem den Namen und die Beschreibung aus Macht der Shell die Werte von Terminal abh ngigen F higkeiten zug nglich Es kann auch 114 tset libcurses libncurses libform libmenu libpanel Linux From Scratch Version 6 3 zum Zur cksetzen oder Initialisieren eines Terminals oder zum Anzeigen seines vollst ndigen Namens verwendet werden Kann zum Initialisieren eines Terminals verwendet werden Ein Link auf Libncurses Enth lt Funktionen zum Anzeigen von Text auf einem Terminal in vielen komplizierten Variationen Ein gutes Beispiel ist das angezeigte Men von make menuconfig des Kernels Enth lt Funktionen zum Implementieren von Formularen Enth lt Funktionen zum Implementieren von Men s Enth lt Funktionen zum Implementieren von Schaltfl chen 115 Linux From Scratch Version 6 3 6 21 Procps 3 2 7 Procps enth lt Programme zur berwachung und Steuerung von Syst
234. ollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus fuses Lilien d L6S6 oc linwx cu 4 l 2 locofsacohiosfCecl o succeeceacd Zei lieren d LOS 6 oc lLimuwx cau 4 ol 2lochosfasfCwti succeaciac fuse Lils oqee 16836o0 linux qiau 4 1o2 asfochioofCeEM mees Stellen Sie sicher dass der Compiler nach den korrekten Header Dateien sucht 96 Linux From Scratch Version 6 3 grep B3 usr include dummy log Dieses Kommando sollte erfolgreich mit den folgen Ausgaben beendet werden include lt gt search starts here usr local include uasie Lios egee 5865 90 EE 1 2 1ineluce usr include Stellen Sie als n chstes sicher dass der neue Linker mit den korrekten Suchpfaden verwendet wird grep SEARCH usr lib dummm Log sed s nlg Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus SEARCH_DIR usr 1i1686 pc linux gnu lib SEARCH_DIR usr local lib SEARCH _DIR 1lib SHEVNRCIEL DER d Annere Lalo 2 Danach pr fen Sie ob die korrekte libc eingesetzt wird grep lib libc so 6 dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus attempt to open lib libc so 6 succeeded
235. on lt Datei gt 159 Linux From Scratch Version 6 3 6 46 Mktemp 1 5 Das Paket Mktemp enth lt Programme zum sicheren Anlegen tempor rer Dateien aus Shell Skripten heraus Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 0 4 MB Festplattenplatz 6 46 1 Installation von Mktemp Viele Skripte verwenden leider immer noch das missbilligte Programm tempfile das die gleich Funktionalit t hat wie mktemp Patchen Sie mktemp damit es auch einen Wrapper f r tempfile installiert patch Npl i mktemp 1 5 add_tempfile 3 patch Bereiten Sie Mktemp zum Kompilieren vor configure prefix usr with libc Die Bedeutung der configure Parameter with libc Dadurch benutzt mktemp die Funktionen mkstemp und mkdtemp aus der C Bibliothek statt seiner eigenen Version Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install make install tempfile 6 46 2 Inhalt von Mktemp Installierte Programme mktemp und tempfile Kurze Beschreibungen mktemp Erzeugt tempor re Dateien auf sichere Weise Es wird in Skripten verwendet tempfile Erzeugt tempor re Datein auf weniger sichere Weise als mktemp Es wird aus Gr nden der R ckw rtskompatibilit t installiert 160 Linux From Scratch Version 6 3 6 47 Module Init Tools 3 2 2 Das Paket Module Init Tools enth lt diverse Programme zur Verwaltung von Kernel
236. onf Erzeugt die Datei modprobe cond aus einer bestehenden Installation von 2 2er oder 2 4er Modulen insmod Installiert ein ladbares Modul in den laufenden Kernel 161 insmod static Ismod modinfo modprobe rmmod Linux From Scratch Version 6 3 Eine statisch kompilierte Version von insmod Listet die zur Zeit laufenden Kernelmodule auf Untersucht eine mit einem Kernelmodul assoziierte Objektdatei und zeigt die darin verf gbaren Informationen an Benutzt eine von depmod erzeugte Abh ngigkeitsdatei um ben tigte Module automatisch nachzuladen Entl d ein Modul aus dem laufenden Kernel 162 Linux From Scratch Version 6 3 6 48 Patch 2 5 4 Das Paket Patch enth lt ein Programm zum Erzeugen oder Modifizieren von Dateien indem eine sogenannte Patch Datei angewendet wird Einen Patch erzeugt man blicherweise mit diff und er beschreibt in maschinenlesbarer Form die Unterschiede zwischen zwei Versionen einer Datei Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 1 6 MB Festplattenplatz 6 48 1 Installation von Patch Bereiten Sie Patch zum Kompilieren vor configure prefix usr Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 48 2 Inhalt von Patch Installiertes Programm patch Kurze Beschreibungen patch Ver ndert Dateien nach den Vorgaben einer patch Datei Eine
237. onfig modules aufgelisteten Kernel Module mit den ebenfalls dort angegebenen Argumenten mountfs H ngt alle nicht als noauto markierten und nicht netzwerkbasierten Dateisysteme ein mountkernfs H ngt virtuelle Kernel basierte Dateisysteme ein z B proc network Macht Netzwerkschnittstellen wie z B Netzwerkkarten verf gbar und richtet wenn n tig das Standard Gatway ein re Das Haupt Runlevel Kontrollskript Es ist daf r verantwortlich alle anderen Skripte eins nach dem anderen in der richtigen Reihenfolge auszuf hren reboot Startet das System neu sendsignals Stellt sicher dass jeder Prozess beendet wird bevor das System herunterf hrt oder neu startet 190 setclock static swap sysctl sysklogd template udev udev_retry Linux From Scratch Version 6 3 Setzt die Kernelzeit auf lokale Zeit falls die Hardware Uhr nicht auf UTC Zeit eingestellt ist Stellt Funktionen zum Zuweisen einer statischen IP Adresse an ein Netzwerkger t zur Verf gung Aktiviert und deaktiviert Swap Dateien und Partitionen L dt Einstellungen zur Systemeinrichtung aus etc sysctl conf falls die Datei vorhanden ist in den laufenden Kernel Startet und stoppt die System und Kernel Log Daemons Eine Vorlage die Sie verwenden k nnen um Ihre eigenen Bootskripte f r eigene Daemons zu schreiben Bereitet dev vor und startet Udev Probiert fehlgeschlagene Udev Ereignisse erneut und kopiert die erzeugten
238. oot dev hda3 Zum ee Nsoort n Erd 2 6 5 EOF Falls Sie Windows dual booten m chten k nnte der folgende Eintrag hilfreich sein cat gt gt boot grub menu lst lt lt EOF title Windows rootnoverify hd0 0 chainloader 1 EOF Falls Ihnen info grub nicht alle ben tigten Informationen gibt finden Sie mehr dazu auf den GRUB Webseiten unter http www gnu org software grub FHS setzt voraus das GRUBs menu lst nach etc grub menu 1st verlinkt sein sollte Um diese Voraussetzung zu erf llen f hren Sie das folgende Kommando aus mkdir v etc grub In sv boot grub menu lst etc grub 215 Linux From Scratch Version 6 3 Kapitel 9 Ende 9 1 Ende Herzlichen Gl ckwunsch Sie sind fertig mit der Installation Ihres eigenen LFS Systems Wir w nschen Ihnen viel Freude mit Ihrem brandneuen selbstgebauten Linux Sie sollten nun noch die Datei etc 1lfs release erstellen Mit ihr ist es f r Sie und f r uns wenn Sie uns bei etwas um Hilfe bitten sollten einfach herauszufinden welche LFS Version Sie haben Erstellen Sie die Datei mit diesem Kommando echo 6 3 gt etc lfs release 9 2 Lassen Sie sich z hlen Sie haben nun das ganze Buch durchgearbeitet Vielleicht m chten Sie sich jetzt als LFS Benutzer z hlen lassen Besuchen Sie http www linuxfromscratch org cgi bin Ifscounter cgi und registrieren Sie sich als LFS Benutzer indem Sie Ihren Namen und die Ve
239. ootstrap Dieses make Target kompiliert GCC nicht einfach nur sondern kompiliert gleich mehrmals GCC benutzt die im ersten Durchlauf erzeugten Programme um sich damit im zweiten Durchlauf selbst zu kompilieren Darauf folgt der dritte Kompiliervorgang Abschlie end werden die Ergebnisse des zweiten und dritten Kompiliervorgangs verglichen um sicherzustellen dass GCC sich selbst problemlos kompilieren konnte Das bedeutet normalerweise dass alles korrekt verlaufen ist Der Kompiliervorgang ist nun abgeschlossen Normalerweise w rden Sie nun die Testsuite durchlaufen lassen aber in diesem fr hen Stadium ist die Testsuite Umgebung Tcl Expect und DejaGNU noch nicht verf gbar Au erdem macht es wenig Sinn die Tests nun laufen zu lassen weil die Programme aus dem ersten Durchlauf sehr bald durch die aus dem zweiten Durchlauf ersetzt werden 42 Linux From Scratch Version 6 3 Installieren Sie das Paket make install Zum Abschluss erstellen Sie noch einen symbolischen Link Viele Programme rufen cc anstelle von gece auf Dadurch werden diese Programme allgemeiner gehalten und sind auch auf anderen Unix Systemen lauff hig Nicht jedes System hat den C Compiler von GNU installiert Der Aufruf von ce l sst dem Administrator die Wahl welchen C Compiler er installieren m chte Er muss dann nur noch den symbolischen Link auf den richtigen Compiler verweisen lassen In vs gcc tools bin cc Details zu diesem Paket finde
240. or f in do install info f dir 2 gt dev null done 175 Linux From Scratch Version 6 3 6 54 2 Inhalt von Texinfo Installierte Programme info infokey install info makeinfo texi2dvi texi2pdf und texindex Kurze Beschreibungen info infokey install info makeinfo texi2dvi texi2pdf texindex Wird zum Lesen von Info Dokumenten benutzt Info Dokumente sind Man pages sehr hnlich gehen aber oft tiefer in die Materie als einfach nur die m glichen Parameter zu beschreiben Vergleichen Sie beispielsweise man bison und info bison Kompiliert eine Quelldatei mit Info Anpassungen in ein bin res Format Wird zum Installieren von Info Dateien benutzt Es aktualisiert die Eintr ge in der info Indexdatei bersetzt Texinfo Quelldokumente in verschiedene andere Formate Info Dateien reiner Text oder HTML Wird zum Formatieren von Texinfo Dokumenten in ein Ger teunabh ngiges Format zum Drucken benutzt Wird zum Konvertieren von Texinfo Dokumenten in das portable Document Format PDF verwendet Sortiert Texinfo Indexdateien 176 Linux From Scratch Version 6 3 6 55 Udev 113 Das Paket Udev enth lt Programme zum dynamischen Erzeugen von Ger tedateien Gesch tzte 0 1 SBU Kingef herbeit tigter 5 8 MB Festplattenplatz 6 55 1 Installation von Udev Das Archiv udev config enth lt LFS spezifische Konfigurationsdateien f r Udev Entpacken Sie das Archiv in den Quellordner von Udev ta
241. ormationen finden Sie unter http www linuxfromscratch org blfs view svn basicnet inetutils html Bitte beachten Sie auch dass es f r fast alle dieser Dienste einen besseren Ersatz gibt Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 148 Linux From Scratch Version 6 3 Und verschieben Sie das Programm ping an die richtige Stelle mv v usr bin ping bin 6 40 2 Inhalt von Inetutils Installierte Programme ftp ping ping6 rcp rlogin rsh talk telnet und tftp Kurze Beschreibungen ftp ping ping6 rcp rlogin rsh talk telnet tftp Das Programm f r FTP File Transfer Protocol Sendet echo request Pakete und berichtet wie lange die Antwort braucht Das ping Programm f r IPv6 Netzwerke Kopiert Dateien auf entfernten Systemen F hrt eine entfernte Anmeldung durch F hrt eine entfernte Shell aus Wird zum Unterhalten mit anderen Benutzern verwendet Dies ist ein Telnet Client Das Programm zu TFTP Trivial File Tranfer Protocol 149 Linux From Scratch Version 6 3 6 41 IPRoute2 2 6 20 070313 Das Paket IPRoute2 enth lt verschiedene Programme zur grundlegenden Unterst tzung von IPv4 basierten Netzwerken Gesch tzte 0 2 SBU Kingef herbeit tigter 4 8 MB Festplattenplatz 6 41 1 Installation von IPRoute2 Die Installationsroutine zweier Hilfeseiten ist defekt und f hrt zu toten Links
242. ove the supposed fix for a buffer overflow in Coreutils as it has been fixed upstream 17 08 2006 matthew Simplified the command that adjusts GCC s specs file Fixes 1837 Thanks to Robery Connolly matthew Noted devfs removal from the kernel Thanks to Peter Ennis matthew Upgrade to linux 2 6 17 8 matthew Upgrade to udev 097 matthew Upgrade to findutils 4 2 28 matthew Upgrade to man pages 2 39 matthew Fix autoconf s testsuite which broke after upgrading to m4 1 4 5 Thanks to Greg Schafer for the report matthew Fix a buffer overrun in m4 1 4 5 which causes two of its tests to fail Thanks to Greg Schafer for the report 08 08 2006 dnicholson Minor text updates to the Vim page Thanks to Peter Ennis for the report 05 08 2006 matthew Add a link to the location of Shadow s previous versions 03 08 2006 j manuel Ported updates from 6 2 branch 31 07 2006 matthew Upgrade to shadow 4 0 17 matthew Upgrade to procps 3 2 7 matthew Upgrade to man pages 2 36 matthew Upgrade to make 3 81 matthew Upgrade to m4 1 4 5 matthew Upgrade to gettext 0 15 matthew Upgrade to gcc 4 1 1 17 Linux From Scratch Version 6 3 matthew Upgrade to coreutils 5 97 matthew Upgrade to bison 2 3 i matthew Upgrade to binutils 2 17 matthew Upgrade to autoconf 2 60 LFS 6 2 ver ffentlicht am 3 August 2006 1 4 Ressourcen 1 4 1
243. p Gzip Make Module Init Tools Ncurses und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils GCC Glibc Grep Make und Sed Diffutils Autoconf und Bison Bash Berkeley DB Binutils Bzip2 Coreutils Flex GCC Gettext Glibc Grep Groff Gzip Less Make und Sed Wird nicht ausgef hrt Ben tigt das Testsuite Paket von Man DB Keine Bash Binutils Coreutils Diffutils GCC Gettext Glibc Grep Make Sed und Texinfo Perl Keine Bash Binutils Coreutils GCC Glibc Grep Patch und Sed Enth lt keine Testsuite Keine Bash Binutils Coreutils GCC Glibc Grep Make Sed und Zlib File Findutils und Gawk Keine Bash Binutils Coreutils Diffutils Gawk GCC Glibc Grep Make Patch und Sed Enth lt keine Testsuite Bash GRUB Inetutils Less Procps Psmisc Readline Texinfo Util Linux und Vim Bash Binutils Coreutils GCC Glibc Grep Make und Sed Enth lt keine Testsuite Keine 231 Perl Vorauss f Installation Vorauss f Testsuite Installation vor Procps Vorauss f Installation Vorauss f Testsuite Installation vor Psmisc Vorauss f Installation Vorauss f Testsuite Installation vor Readline Vorauss f Installation Vorauss f Testsuite Installation vor Sed Vorauss f Installation Vorauss f Testsuite Installation vor Shadow Vorauss f Installation Vorauss f Testsuite Installation vor
244. p 2 6 22 5 Kurze Beschreibungen 212 EeoNnf1Lg 2 6 22 8 lfskernel 2 6 22 5 System map 2 6 22 5 Linux From Scratch Version 6 3 Enth lt alle ausgew hlten Konfigurationsoptionen f r den Kernel Dies ist der Kernel der Motor Ihres GNU Linux Systems Nach dem Einschalten Ihres Rechners ist der Kernel der erste Teil des Betriebssystems der geladen wird Er erkennt und initialisiert alle Komponenten Ihrer Computer Hardware und macht diese Komponenten f r die Software verf gbar Er verwandelt eine einzelne CPU in eine Multitasking Maschine die unz hlige Programme scheinbar zur gleichen Zeit ausf hren kann Enth lt eine Liste von Adressen und Symbolen Sie ordnet Einstiegspunkte und Adressen aller Funktionen und Datenstrukturen dem entsprechenden Kernel zu 213 Linux From Scratch Version 6 3 8 4 Das LFS System bootf hig machen Ihr frisches LFS System ist nun beinahe fertig Sie m ssen nun noch sicherstellen dass es booten kann Die untenstehende Anleitung gilt nur f r Computer mit IA 32 Architektur dazu geh ren alle handels blichen PCs Informationen zum boot loading auf anderen Architekturen finden Sie in den blichen Dokumentationsquellen zu diesen Architekturen Booten kann ein sehr komplexes Thema sein Hier erstmal ein paar warnende Worte Sie sollten mit Ihrem jetzigen Bootloader und den Betriebssystemen die Sie weiter verwenden wollen vertraut sein Halten Sie bitte eine Notfalldiskette bere
245. p Partition verwenden stellen Sie bitte sicher dass diese mittels swapon aktiviert ist sbin swapon v dev lt zzz gt Bitte ersetzen Sie lt zzz gt durch den Namen Ihrer Swap Partition Jetzt haben Sie gen gend Platz zum Arbeiten geschaffen und k nnen mit dem Herunterladen der Pakete beginnen 24 Linux From Scratch Version 6 3 Kapitel 3 Pakete und Patches 3 1 Einf hrung Die folgende Liste enth lt alle Pakete die Sie f r ein minimales Linux System ben tigen Die Versionsnummern sind Versionen von denen wir wissen dass Sie funktionieren Wenn Sie noch wenig Erfahrung mit LFS haben sollten Sie lieber keine anderen Versionen probieren Die Anleitungen und Kommandos k nnten evtl mit neueren Versionen nicht mehr funktionieren Oft gibt es auch gute Gr nde daf r nicht die allerneueste Version einzusetzen zum Beispiel bei bekannten Problemen f r die es noch keine L sung gibt Wir k nnen nicht f r die st ndige Verf gbarkeit der Download Ressourcen garantieren Falls sich eine Download Adresse nach Erscheinen des Buches ge ndert haben sollte nutzen Sie bitte Google oder eine andere Suchmaschine und suchen nach dem entsprechenden Paket http www google com Sollten Sie auch hier erfolglos sein dann nutzen Sie bitte eine der alternativen Download M glichkeiten wie unter http www linuxfromscratch org lfs packages html beschrieben Sie m ssen alle heruntergeladenen Pakete und Patches an einem Ort speichern
246. piler enthalten Gesch tzte 9 2 SBU Kingef herbeit tigter 655 MB Festplattenplatz 5 4 1 Installation von GCC Die Dokumentation zu GCC empfiehlt GCC au erhalb des Quellordners zu kompilieren mkdir v gcec build cd gec build Bereiten Sie GCC zum Kompilieren vor with local prefix tools disable nls enable shared enable languages c CC gec B usr bin gcc 4 1 2 configure prefix tools Die Bedeutung der configure Parameter Geschter B usr bin Dadurch wird gee gezwungen den Linker des Host Systems in usr bin zu bevorzugen Auf einigen Systemen ist dies notwendig weil der neue Linker Id inkompatibel mit dem gee des Host Systems ist with local prefix tools Der Sinn dieses Parameters ist es usr local include aus dem Suchpfad von gee zu entfernen Dies ist nicht absolut zwingend erforderlich jedoch sollen m gliche Einfl sse aus dem Host System vermieden werden daher ist dieser Parameter hier durchaus empfehlenswert enable shared Dieser Parameter erm glicht das Kompilieren von libgec_s so 1 und libgec_eh a Die alleinige Existenz von libgcc_ eh a stellt sicher dass das configure Skript f r Glibc das n chste zu kompilierende Paket korrekte Ergebnisse erzielt enable languages c Dieser Parameter stellt sicher dass nur der C Compiler erzeugt wird Fahren Sie mit dem Kompilieren des Pakets fort make bootstrap Die Bedeutung des make Parameters b
247. pitel 8 vorausgesetzt der Host verwendet GRUB als Bootloader Make 3 79 1 Patch 2 5 4 Sed 3 0 2 Tar 1 14 Um herauszufinden ob Ihr Host System alle notwendigen Programmversionen installiert hat f hren Sie den folgenden Befehl aus cat gt version check sh lt lt EOF bin bash Einfaches Skript zum Auflisten der Versionsnummern wichtiger Werkzeug bash vers on head al eure W T2 A echo m B inuz lss Ws Ile version head al emt eV w F3 4 sison verslion heac nal 02102 version 2 gt amp 1 lt cew mull head al emt a u El 5 echo m Coreumtiless Y gt chowa veision head al emt UNI 82 SEE Vears on head pn Lind Vars on head m gawk version head n1 Gee yversiom bead a fAWo Lise SO 6 head al emt cl El grep version head n1 TS e Vvers lon head n1 cat proc version make version head pl pacch version head n1 secl versiom mea ni car vers on meac nl EOF bash version check sh Konventionen in diesem Buch Das Buch h lt sich an einige typografische Konventionen die zum allgemein besseren Verst ndnis beitragen sollen Es folgen einige Beispiele configure prefix usr Solange nicht anders angegeben muss Text in dieser Textform exakt so eingegeben werden wie er zu sehen ist Diese Darstellung wird auch in den Erkl rungstexten verwendet um sich eindeutig auf bestimmte Kommandos zu bezie
248. probe conf 5 enth lt n tzliche Informationen Installieren Sie die Module falls Ihre Kernelkonfiguration solche verwendet make modules_install 211 Linux From Scratch Version 6 3 Das Kompilieren des Kernel ist nun abgeschlossen aber einige der erzeugten Dateien befinden sich noch im Quellordner Um die Installation abzuschlie en m ssen Sie noch ein paar Dateien in den Ordner boot kopieren Der Pfad zur Kerneldatei variiert abh ngig von der benutzten Plattform auf der Sie arbeiten Das folgende Kommando geht von einem x86 System aus cp v arch i386 boot bzImage boot lfskernel 2 6 22 5 System map ist eine Symboldatei f r den Kernel Sie ordnet Funktions Einstiegspunkte jeder Funktion in der Kernel API sowie Adressen der Kernel Datenstrukturen zu Geben Sie das folgende Kommando ein um die Datei zu installieren cp v System map boot System map 2 6 22 5 config ist die Kernel Konfigurationsdatei die durch das obige Kommando make menuconfig erzeugt wurde Sie enth lt alle Konfigurationsoptionen f r den soeben kompilierten Kernel Es ist sinnvoll diese Datei aufzubewahren cp v config boot config 2 6 22 5 Installieren Sie die Dokumentation zum Linux Kernel install d usr share doc linux 2 6 22 5 cp r Documentation usr share doc linux 2 6 22 5 Beachten Sie bitte dass die Dateien im Kernel Quellordner nicht root geh ren Immer wenn Sie ein Paket als root
249. r xvf udev config 6 3 tar bz2 Erzeugen Sie einige Ger te und Ordner die Udev nicht bereitstellen kann weil sie sehr fr h w hrend dem Bootvorgang ben tigt werden install dv lib firmware udev devices pts shm mknod m0666 lib udev devices null c 1 3 In sv proc self fd lib udev devices fd In sv proc self fd 0 lib udev devices stdin In sv proc self fd 1 lib udev devices stdout In sv proc self fd 2 lib udev devices stderr In sv proc kcore lib udev devices core Kompilieren Sie das Paket make EXTRAS echo extras Die Bedeutung der make Option EXTRAS Dadurch werden einige Hilfsprogramme erzeugt die beim Erstellen eigener Udev Regeln behilflich sind Zum Testen der Ergebnisse fiihren Sie dieses Kommando aus make test Hinweis Die Udev Testsuite wird zahlreiche Eintr ge im Systemlog verursachen Diese Meldungen sind alle harmlos und k nnen einfach ignoriert werden Installieren Sie das Paket make DESTDIR EXTRAS echo extras install Die Bedeutung des make Parameters DESTDIR Dies verhindert dass die Installationsroutine von Udev jegliche Instanzen von udevd beendet die m glicherweise auf dem Host System laufen Udev muss vor der ersten Verwendung eingerichtet werden weil die Installationsroutine nur unzureichende Konfigurationsdateien installiert Installieren Sie zuerst einige allgemeine Konfigurationsdateien die mit Udev mitgeliefer
250. r Installation Dateien ohne oder mit einem anderen Zeitstempel als der aktuellen Zeit installiert werden so wird deren Installation nicht protokolliert Des Weiteren Kann diese Methode nur funktionieren wenn maximal ein Paket zur gleichen Zeit installiert wird Das Protokoll ist nicht mehr zuverl ssig wenn z B auf einer anderen Konsole ein weiteres Programm zeitgleich installiert wird 6 3 2 5 Paketverwaltung mittels LD_PRELOAD Bei diesem Ansatz wird vor der Installation eine Bibliothek vorgeladen W hrend der Installation protokolliert diese Bibliothek alle Installationsvorg nge mit indem sie sich an verschiedene ausf hrbare Programme wie cp install und mv ah ngt und die Systemaufrufe mitverfolgt Damit dies funktionieren kann m ssen alle ausf hrbaren Programme dynamisch verlinkt und weder mit dem suid noch dem sgid Bit versehen sein Das Vorladen der Bibliothek kann unter Umst nden auch Nebeneffekte bei der Installation hervorrufen Deshalb sollten Sie diese Methode ausf hrlich testen bevor Sie sie produktiv einsetzen 6 3 2 6 Paket Archive erstellen Bei dieser Methode wird die Installation in einem separaten Unterordner vorgenommen hnlich wie bei der Methode mit symbolischen Verkn pfungen Nach der Installation wird aus der Ordnerstruktur ein Archiv mit den installierten Dateien erzeugt Dieses Archiv kann dann zur Installation benutzt werden Auf diese Weise k nnen Sie ein Archiv auch auf mehreren Rechnern installieren
251. r Programme Bibliotheken und wichtiger Dateien die w hrend der Arbeit mit diesem Buch installiert wurden X Linux From Scratch Version 6 3 Errata Die f r LFS verwendete Software wird laufend aktualisiert und erweitert Nach Erscheinen des Buches k nnten Sicherheitshinweise und Fehlerbereinigungen hinzugekommen sein Bevor Sie mit dem Bau von LFS beginnen sollten Sie unter http www linuxfromscratch org Ifs errata 6 3 nachsehen ob nderungen an den Installationsanleitungen oder an Softwareversionen n tig sind Bitte notieren Sie alle n tigen nderungen und wenden Sie diese in den entsprechenden Kapiteln an xi Linux From Scratch Version 6 3 Teil I Einf hrung Linux From Scratch Version 6 3 Kapitel 1 Einf hrung 1 1 Vorgehensweise zur Installation von LFS Sie werden LFS mit Hilfe einer bereits laufenden Linux Distribution wie z B Debian Mandriva Red Hat oder SuSE installieren Das bestehende System der Host wird als Einstiegspunkt benutzt denn Sie brauchen Programme wie Compiler Linker und eine Shell um Ihr neues System zu erstellen Normalerweise sind alle notwendigen Programme bereits installiert wenn Sie bei der Installation Ihrer Distribution die Kategorie Entwicklung ausgew hlt haben Falls Sie nur wegen LFS kein neues Host System installieren m chten dann sollten Sie die Linux From Scratch Live CD verwenden Die CD enth lt ein voll funktionsf higes Host System mit allen notwend
252. r specs Datei von gcc stellen wir sicher dass jedes von nun an kompilierte Programm bis zum Ende des Kapitels unseren neuen Dynamischen Linker in tools lib benutzt Weil unbedingt der neue Linker verwendet werden muss wird der Specs Patch auch im zweiten Durchlauf von GCC angewendet Hierbei darf kein Fehler passieren denn sonst w rden die GCC Programme selbst den Linker aus lib im Host System verwenden Eine saubere Trennung vom Host System w re dann nicht mehr gegeben und unser Ziel w re verfehlt Im zweiten Durchlauf der Binutils k nnen Sie den configure Parameter with 1lib path benutzen um den Bibliotheksuchpfad von Id zu kontrollieren Von diesem Punkt an ist die Toolchain unabh ngig Die verbleibenden Pakete aus Kapitel 5 kompilieren alle mit der neuen Glibc in tools und alles ist in Ordnung Aufgrund ihrer bereits erw hnten eigenst ndigen Natur ist die Glibc das erste wichtige Paket das Sie nach dem Eintreten in die chroot Umgebung in Kapitel 6 installieren Wenn die Glibc erstmal nach usr installiert ist werden Sie schnell ein paar Voreinstellungen in der Toolchain ndern und dann schreiten Sie mit dem Erstellen des endg ltigen LFS Systems fort 39 Linux From Scratch Version 6 3 5 3 Binutils 2 17 Durchlauf 1 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien Gesch tzte 1 SBU Kingef herbe
253. rchlaufen k nnen m ssen die Zugriffsrechte f r die Testdatei ge ndert werden chmod x tests fmbtest sh Bereiten Sie Grep zum Kompilieren vor configure prefix usr bindir bin Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket 6 37 2 Inhalt von Grep Installierte Programme egrep fgrep und grep Kurze Beschreibungen egrep Gibt die Zeilen aus die auf einen bestimmten regul ren Ausdruck passen fgrep Gibt die Zeilen aus die auf eine Liste von festgelegten Zeichenketten passen grep Gibt die Zeilen aus die auf einen bestimmten einfachen regul ren Ausdruck passen 142 Linux From Scratch Version 6 3 6 38 Groff 1 18 1 4 Groff enth lt verschiedene Programme zur Verarbeitung und Formatierung von Text Gesch tzte 0 4 SBU Kingef herbeit tigter 39 2 MB Festplattenplatz 6 38 1 Installation von Groff Dieser Patch f gt Unterst tzung f r ascii8 und nippon Ger te zu Groff hinzu patch Npl i groff 1 18 1 4 debian_fixes 1 patch Anmerkung Diese Ger te werden von Man DB beim Formatieren von nicht englischen Man pages verwendet die nicht in der Kodierung ISO 8859 1 vorliegen Derzeit gibt es keinen funktionierenden Patch f r Groff 1 19 x der diese Funktionalit t hinzuf gt Einige Bildschirmschriften enthalten nicht die Unicode Variante der einfachen Anf hr
254. reiten der Arbeitsumgebung ar nee 34 4 5 Informationen zu SBUS crespi iscriere aenieei eree ei a aaen a asa ae aaae ba eias ass 35 A6 Uber die Testsulte S au tee ea 36 ds Erstellen eines temporaren Systems ni nei 37 SN U ERT E 37 5 2 Technische Anmerkungen zur Toolehain uussesssunsnunesunsssenahnsen sanken 37 3 32 Binutils 2 Eelere ee 40 SA GCC 12 D rchla f ET 42 3 3 ASM 2 0228 API Header a een ee ee 44 56 Glbe2 RE 45 9 7 Anpassen Ke 47 38310184 ne ea ee ao ase SE 49 DB Re Cle IA KEE 50 5 10 DeaGNU 1 44 EE 52 SI GCC 12 E 53 5 12 Bin tils 2 17 D rchlatf bereede Geet Good ete i re gea a e aE ES EES 56 EEN ee ee 57 5 14 S F F o E 58 5 15 WAZA TV Ar eisernen 59 Selten e 60 17 DU Ts 2 Se er an EEE OHR 61 iii Linux From Scratch Version 6 3 3 18 Pindull 4 231 EE ee a EAE 62 3 19 GaWE 3 1 E 63 D2 OATH XI LO Se N en eher 64 5 21 Grep EE unse in ish 65 522 GPS Tees 66 9 23 Make NEE 67 D24 Palch 2 DR en E 68 9 23 Perl 5 88 EE 69 ED A Ne ERNEST 70 34 E EE TEE 71 III Eer see aac re Sa fa SG ae Es Set Gh area a ON Rs 12 5 29 Uul Iinux 2 12 TE 73 SU SINPPIDE eege 74 5 31 ndern des Bein sense lee nad 74 IT Installation des Systems zn net essen 75 6 Installieren der grundlegenden System Software ucsssessssessnsenssnnenssnnennnnnennnnnnnnnnnnnnnnnnnnannnnnannnn 76 GL Gre a Eee Eee ee 76 6 2 Vorbereiten der virtuellen Kernel Dateisysteme 222000220ssssnsenssnnennsnnensnnnnnnnennnnnnnnna
255. reits hatten aber noch keine Zeit diese Fehler zu beheben Insbesondere die libmudflap Tests sind aufgrund eines Fehlers in GCC anf llig http gcc gnu org bugzilla show_ bug cgi id 20003 Kurz gesagt solange Ihre Testergebnisse nicht grob von denen unter der obigen URL abweichen k nnen Sie beruhigt fortfahren Installieren Sie das Paket make install Einige Pakete erwarten dass der C Pr prozessor unter lib installiert ist Erstellen Sie daher diesen symbolischen Link In sv usr bin cpp lib Viele Pakete benutzen den Namen cc um den C Compiler aufzurufen Um auch diesen Paketen Rechnung zu tragen erzeugen Sie einen weiteren symbolischen Link In sv gcc usr bin cc Die endg ltige Toolchain ist nun fertiggestellt An dieser Stelle muss unbedingt erneut berpr ft werden ob Kompilieren und Linken mit ihr wie erwartet funktioniert Wir f hren den gleichen Gesundheitstest wie schon einmal in diesem Kapitel durch echo main gt dummy c cc dummy c v Wl verbose amp gt dummy log readelf 1 a out grep lib Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist Requesting program interpreter lib ld linux so 2 berpr fen Sie nun dass die korrekten Startdateien verwendet werden grep o usr lib crt lin succeeded dummy log Wenn alles korrekt funktioniert s
256. ren Sie das Paket make Um die Ergebnisse zu pr fen geben Sie make check ein Dies dauert lange ungef hr 3 SBUs Au erdem werden 6 Tests bersprungen die Automake verwenden Wenn Sie den vollst ndigen Test durchf hren lassen m chten m ssen Sie Autoconf nach der Installation von Automake erneut testen Installieren Sie das Paket make install 6 26 2 Inhalt von Autoconf Installierte Programme autoconf autoheader autom4te autoreconf autoscan autoupdate und ifnames Kurze Beschreibungen autoconf autoheader autom4te autoreconf autoscan autoupdate ifnames Ein Werkzeug zum Erzeugen von Shell Skripten die Quellcode Pakete automatisch einrichten und sie an unterschiedliche Unix System anpassen Die resultierenden configure Skripte sind eigenst ndig sie k nnen auch dann ausgef hrt werden wenn autoconf nicht installiert ist Ein Werkzeug zum Erzeugen von Vorlagedateien f r C define Anweisungen die configure benutzen soll Ein Wrapper zu dem Makroprozessor M4 F hrt automatisch autoconf autoheader aclocal automake gettextize und libtoolize in der richtigen Reihenfolge aus Das spart Zeit wenn nderungen an autoconf und automake Vorlagedateien gemacht wurden Kann beim Erzeugen einer configure in Datei f r ein Softwarepaket behilflich sein Es untersucht die Quelldateien in einem Ordner und sucht nach blichen Portabilit tsproblemen und erzeugt eine configure sca
257. rep lib libc so 6 dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus attempt to open lib libc so 6 succeeded Und zum Schluss kontrollieren Sie noch ob GCC den richtigen dynamischen Linker benutzt grep found dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist round Let L im 90 2 aie llils ic linux so 2 Wenn Sie eine andere oder berhaupt keine Ausgabe erhalten ist etwas ernsthaft schiefgelaufen Sie m ssen das berpr fen und alle bisherigen Schritte noch einmal nachvollziehen um das Problem zu finden und zu beheben Machen Sie nicht weiter solange das Problem nicht behoben ist Am wahrscheinlichsten ist dass etwas beim Anpassen der specs Datei weiter oben nicht funktioniert hat Wenn Sie mit dem Ergebnis zufrieden sind l schen Sie die Testdateien rm v dummy c a out dummy log 92 Linux From Scratch Version 6 3 6 11 Binutils 2 17 Binutils ist eine Sammlung von Software Entwicklungswerkzeugen Dazu geh ren zum Beispiel Linker Assembler und weitere Programme f r die Arbeit mit Objektdateien Gesch tzte 1 7 SBU inklusive Testsuite Kingef herbeit tigter 186 MB inklusive Testsuite Festplattenplatz 6 11 1 Installation von Binutils Jetzt ist ein guter Zeitpunkt um sicherzustellen dass die Ps
258. ripte sing abh ngig von dem Kommando find Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte muss sich dieses Programm auf der root Partition befinden Des Weiteren muss updatedb auf den neuen Pfad eingestellt werden mv v usr bin find bin sed i e s find BINDIR find bin usr bin updatedb 6 32 2 Inhalt von Findutils Installierte Programme bigram code find frcode locate updatedb und xargs Kurze Beschreibungen bigram Wurde fr her zum Anlegen von locate Datenbanken benutzt code Wurde fr her zum Anlegen von locate Datenbanken benutzt Es ist der Vorg nger von frcode find Durchsucht eine Ordnerstruktur nach Dateien die einem bestimmten Kriterium entsprechen frcode Wird von updatedb aufgerufen um die Liste der Dateinamen zu komprimieren Durch die sog front Komprimierung wird die Datenbankgr e um den Faktor 4 bis 5 verkleinert locate Durchsucht die locate Datenbank mit Dateinamen und gibt die Dateien aus die eine bestimmte Zeichenkette enthalten oder auf ein bestimmtes Suchmuster passen 134 Linux From Scratch Version 6 3 updatedb Aktualisiert die locate Datenbank Es durchsucht das gesamte Dateisystem inklusive anderer eingeh ngter Dateisysteme wenn nicht anders angegeben und tr gt jeden gefundenen Dateinamen in die Datenbank ein xargs Kann benutzt werden um ein bestimmtes Kommando auf eine Liste von Dateien anzuwenden 135 Linux From Scratch
259. rlauf kl ren 1 2 Neuigkeiten seit der letzten Version Im Folgenden sind alle Paket Aktualisierungen seit der Ver ffentlichung der Vorg ngerversion aufgelistet Aktualisierung der Version auf Autoconf 2 61 Automake 1 10 Bash 3 2 Berkeley DB 4 5 20 Binutils 2 17 Bison 2 3 Bzip2 1 0 4 Coreutils 6 9 E2fsprogs 1 40 2 File 4 21 Findutils 4 2 31 GCC 4 1 2 Gettext 0 16 1 Glibe 2 5 1 Groff 1 18 1 4 Gzip 1 3 12 IANA Etc 2 20 Inetutils 1 5 IPRoute2 2 6 20 070313 Less 406 LFS Bootskripte 6 3 Libtool 1 5 24 Linux 2 6 22 5 M4 1 4 10 Make 3 81 Man pages 2 63 Ncurses 5 6 Procps 3 2 7 Psmisc 22 5 Readline 5 2 Shadow 4 0 18 1 Tar 1 18 TCL 8 4 15 Texinfo 4 9 Udev 113 udev config 6 3 Vim 7 1 Hinzugef gt bash 3 2 fixes 5 patch db 4 5 20 fixes 1 patch inetutils 1 5 no_server_man_pages 2 patch ncurses 5 6 coverity_fixes 1 patch readline 5 2 fixes 3 patch util linux 2 12r Iseek 1 patch yim 7 1 fixes 1 patch Entfernt Linux From Scratch Version 6 3 Linux From Scratch Version 6 3 bash 3 1 fixes 8 patch db 4 4 20 fixes 1 patch glibc 2 3 6 inotify 1 patch glibc 2 3 6 linux_types 1 patch gzip 1 3 5 security_fixes 1 patch inetutils gcc4_fixes 3 patch inetutils no_server_man_pages 1 patch less 394 signal_fix 1 patch linux 2 6 17 13 utf8_input 1 patch Linux libc Header 2 6 12 0 ncurses 5 5 fixes 1 patch readline 5 1 fixes 3 patch tar 1 15 1 gcc4_fix_tests 1 patch tar 1 15 1 security_fixes 1 patch
260. rnativen anzeigt root hd0 3 Warnung Das n chste Kommando berschreibt Ihren bisherigen Bootloader Wenn Sie das nicht wollen f hren Sie das Kommando nicht aus Zum Beispiel wenn Sie einen Bootloader von einem Dritthersteller benutzen m chten um Ihren MBR Master Boot Record zu verwalten In dem Fall w rde es Sinn machen Grub in den Bootsektor Ihrer LFS Partition zu installieren das folgende Kommando w rde dann lauten setup hd0 3 Weisen Sie GRUB nun an sich in den MBR von hda zu installieren setup hd0 Wenn alles in Ordnung ist wird GRUB nun berichten dass die n tigen Dateien in boot grub gefunden wurden Das ist alles soweit beenden Sie die grub Shell quit Nun m ssen Sie eine Men Liste erstellen Sie definiert das Bootmen von Grub 214 Linux From Scratch Version 6 3 cat gt boot grub menu lst lt lt EOF Begin boot grub menu lst By default boot the first menu entry default 0 Allow 30 seconds before booting the default timeout 30 Use prettier colors color green black light green black 7 ne first emeey 1S For LPS ticle LES 6 3 roor acl 3 kernel boot lfskernel 2 6 22 5 root dev hda4 EOF Vielleicht m chten Sie einen weiteren Eintrag fiir Ihr Host System vornehmen Dieser k nnte z B so aussehen cat gt gt boot grub menu lst lt lt EOF title Red Hat root A0 Z kernel boot kernel 2 6 5 r
261. rporate latest upstream patches for Bash 20 04 2007 dnicholson Upgrade to LFS Bootscripts 20070420 16 04 2007 matthew Increase the version of Bison required on host systems to 1 875 Bash doesn t work correctly with versions less than that Fixes 1977 matthew Change all references to etc adjtime in the Util Linux sources to var 1lib hwclock adjtime Previously onlyhwclock hwclock c was changed which meant that man pages contained references to the non FHS compliant location Fixes 1984 matthew Upgrade to Udev 108 Fixes 1976 matthew Upgrade to Man pages 2 44 Fixes 1987 matthew Upgrade to Man db 2 4 4 Fixes 1975 matthew Upgrade to M4 1 4 9 Fixes 1983 matthew Upgrade to Linux 2 6 20 7 Fixes 1986 matthew Upgrade to Gzip 1 3 12 Fixes 1989 matthew Remove File s reg_startend patch It is not necessary on Glibc based systems Thanks to Greg Schafer for the report matthew Upgrade to Coreutils 6 9 Fixes 1982 03 04 2007 Linux From Scratch Version 6 3 jhuntwork Install su from coreutils in chapter 5 as su tools Use su tools to run test suites from coreutils and bash as user nobody Fixes 1877 01 04 2007 jhuntwork Upgraded to linux 2 6 20 4 Updated linux headers instructions in chapter 5 to match instructions in chapter 6 The INSTALL_HDR_PATH is no longer forcibly removed 27 03 2007 i dnicholson Fixed a typo in the readjusting
262. rsion 6 3 make install Die Locales mit deren Hilfe Systemmeldungen in Ihrer Sprache ausgegeben werden k nnen wurden durch das obige Kommando nicht mitinstalliert Diese Locales werden nicht unbedingt ben tigt jedoch w rden einige Testsuites der noch folgenden Pakete ohne sie ein paar wichtige Tests berspringen Mit dem Kommando localedef k nnen Sie auch einen individuellen Satz an Locales installieren Das erste untenstehende Kommando kombiniert beispielsweise die Zeichensatz unabh ngige Localedefinition usr share il8n locales de_DE mit der Zeichensatzdefinition usr share il8n charmaps ISO 8859 1 gz und f gt das Ergebnis an usr 1lib locale locale archive an Mit den folgenden Kommandos erstellen Sie einen minimalen Satz Locales die f r die kommenden Testsuites ben tigt werden mkdir pv usr lib locale localedef i de DR f ISO 8859 1 de DR localedef i de DE euro f ISO 8859 15 de_DE euro localedef i en_HK f ISO 8859 1 en_HK localedef i en_PH f ISO 8859 1 en DR localedef i en_US f ISO 8859 1 en_US localedef i en_US f UTF 8 en_US UTF 8 localedef i es MX f ISO 8859 1 es MX localedef i fa_IR f UTF 8 fa TR localedef i Er FR f ISO 8859 1 fr FR localedef i fr _ FR euro f ISO 8859 15 fr FR euro localedef i fr FR f UTF 8 fr FR UTF 8 localedef i At Ip f ISO 8859 1 it Cp localedef i ja_JP f EUC JP ja_JP Installieren Sie zudem auch noch die Locale f r Ihr Land Ihre Sprache und Ihren Z
263. rsionsnummer Ihres ersten LFS Systems dort eintragen Lassen Sie uns nun Ihr LFS booten 9 3 Neustarten des Systems Nachdem nun s mtliche Software installiert ist wird es Zeit den Computer neu zu starten Sie sollten allerdings ein paar Dinge beachten Das bisher erstellte System ist absolut minimal und hat h chstwahrscheinlich nicht gen gend Funktionen um ernsthaft damit arbeiten zu k nnen W hrend Sie weiterhin in der chroot Umgebung sind k nnen Sie Pakete aus dem BLFS Buch installieren Das versetzt Sie in eine weitaus bessere Lage nach dem Neustart Ihres Systems Wenn Sie einen textbasierten Webbrowser wie z B Lynx installieren k nnen Sie das BLFS Buch in einer virtuellen Konsole lesen und in einer anderen Pakete kompilieren Mit GPM k nnen Sie auch Kopieren und Einf gen zwischen den Konsolen nutzen Zus tzlich k nnen Sie auch Pakete wie Dhcpd oder PPP installieren Dies ist z B dann n tzlich wenn Sie keine statische IP Adresse nutzen k nnen Nachdem dies gesagt ist K nnen Sie nun in Ihr frisch installiertes System booten Als erstes verlassen Sie die chroot Umgebung logout H ngen Sie die virtuellen Dateisysteme aus umount v LFS dev pts umount v LFS dev shm umount v LFS dev umount v LFS proc umount v LFS sys Und h ngen Sie das LFS Dateisystem aus umount v SLFS Falls Sie sich zu Beginn f r mehrere Partitionen entschieden haben m ssen Sie die anderen Partitionen aush n
264. rule_generator Fixes part of 1912 bryan Update contents of Ifs bootscripts 09 02 2007 matthew Move readlink to bin because sysreadlink in Udev s shell functions may call it before usr has been mounted Fixes 1913 matthew Remove some chmod and chown commands from DB NCurses and Readline as they are no longer required with recent upstream versions Fixes 1953 matthew Upgrade to Udev 105 Fixes 1949 matthew Upgrade to Gzip 1 3 11 Fixes 1951 07 02 2007 ken Upgrade to Linux 2 6 20 Fixes 1950 03 02 2007 bryan Update to lfs bootscripts 20070203 Fixes both 1948 and the udev_retry script 31 01 2007 matthew Add verbose flags when untarring the glibc libidn and udev config tarballs Fixes 932 matthew Do not set export INPUTRC anymore as it is not required after upgrading to Readline 5 2 Fixes 1942 Thanks to Alexander Patrakov for the report and fix matthew Include a patch from the Readline maintainer to fix a multibyte related issue Fixes 1945 matthew Include more upstream fixes from the Bash maintainer in bash 3 2 fixes 2 patch matthew Upgrade to Udev 104 Fixes 1941 matthew Upgrade to Tar 1 16 1 Fixes 1926 and 1944 12 Linux From Scratch Version 6 3 matthew Upgrade to Ncurses 5 6 Fixes 1940 matthew Upgrade to Linux 2 6 19 2 Fixes 1928 matthew Upgrade to Iproute2 2 6 19 061214 Fixes 1936 matthew Upgrade to Gzip 1 3 10
265. s Paket wird einfach in einen eigenen Ordner installiert Beispielsweise wird foo 1 1 in den Ordner usr pkg foo 1 1 installiert und dann einen symbolischen Link von usr pkg foo nach usr pkg foo 1 1 angelegt Wenn sp ter auf die neuere Version foo 1 2 aktualisiert wird so erfolgt die Installation in den Ordner usr pkg foo 1 2 und der symbolischen Link wird einfach durch einen neuen ersetzt Umgebungsvariablen wie PATH LD_LIBRARY_PATH MANPATH INFOPATH und CPPFLAGS m ssen so angepasst werden dass Sie usr pkg foo enthalten Diese Methode wird sehr unhandlich wenn auf diese Weise viele Softwarepakete verwaltet werden sollen 6 3 2 3 Paketverwaltung mit symbolischen Links Es handelt sich hierbei im Grunde nur um eine Variation der vorigen Paketverwaltungs Technik Jedes Paket wird genauso installiert wie zuvor beschrieben Anstatt jedoch den ganzen Ordner mit einem Symlink zu versehen wird f r jede einzelne Datei eine Verkn pfung in usr angelegt Auf diese Weise m ssen die Umgebungsvariablen nicht angepasst werden Die vielen symbolischen Verkn pfungen k nnen nat rlich vom Benutzer selbst angelegt werden jedoch gibt es auch einige Programme daf r die diese Technik verwenden Stow Epkg Graft und Depot sind einige Beispiele Die Installation muss allerdings so angepasst werden so dass das Paket denkt es w re in usr installiert obwohl die Dateien tats chlich in usr pkg gespeichert werden Das vort uschen ein
266. s dann dort einh ngen mounten Wir gehen davon aus dass das Dateisystem unter mnt 1fs eingeh ngt wird Sie k nnen sich aber auch jeden anderen Ordner aussuchen W hlen Sie nun einen Mountpunkt und tragen Sie ihn in die Umgebungsvariable LFS ein Dazu k nnen Sie diesen Befehl verwenden export LFS mnt lfs Als n chstes erzeugen Sie den Ordner den Sie als Mountpunkt gew hlt haben und h ngen das LFS Dateisystem ein mkdir pv LFS mount v t ext3 dev lt xxx gt SLFS Bitte setzen Sie statt lt xxx gt die Bezeichnung der LFS Partition ein Falls Sie sich f r mehrere LFS Partitionen entschieden haben z B eine f r und eine andere f r usr dann 23 Linux From Scratch Version 6 3 gehen Sie f r die restlichen Partitionen gleicherma en vor mkdir pv LFS mount v t ext3 dev lt xxx gt SLFS mkdir v SLFS usr mount v t ext3 dev lt yyy gt LFS usr Nat rlich m ssen Sie auch hier wieder f r lt xxx gt und lt yyy gt die korrekten Bezeichnungen einsetzen Die Zugriffsrechte f r die neue Partition sollten nicht zu restriktiv sein wie zum Beispiel mit den Optionen nosuid nodev oder noatime Rufen Sie mount ohne Parameter auf damit Sie sehen mit welchen Optionen Ihre LFS Dateisysteme eingeh ngt wurden Wenn Optionen wie nosuid nodev oder noatime aktiviert sind m ssen Sie die Partition erneut einh ngen und diese Optionen weglassen Wenn Sie eine swa
267. seite http www gnu org software sed Download http ftp gnu org gnu sed sed 4 1 5 tar gz MD5S Priifsumme 7alcbbbb3341287308e140bd4834c3ba e Shadow 4 0 18 1 1 481 kB Download http anduin linuxfromscratch org sources LFS lfs packages 6 3 shadow 4 0 18 1 tar bz2 MD5S Priifsumme e7751d46ecf219c07ae0b028ab3335c6 e Sysklogd 1 4 1 80 kB Webseite http www infodrom org projects sysklogd Download http www infodrom org projects sysklogd download sysklogd 1 4 1 tar gz MD5S Priifsumme d214aa40beabf 7bdb0c9b3c64432c774 e Sysvinit 2 86 97 kB Download ftp ftp cistron nl pub people miquels sysvinit sysvinit 2 86 tar gz MD5S Priifsumme 745461c026122ab791ac04c8a84db967 e Tar 1 18 1 833 kB Webseite http www gnu org software tar Download http ftp gnu org gnu tar tar 1 18 tar bz2 MD5S Priifsumme 70170208d7c1bb9ab40120579434b6a3 e Tcl 8 4 15 3 549 kB 29 Linux From Scratch Version 6 3 Webseite http tcl sourceforge net Download http prdownloads sourceforge net tcl tcl8 4 15 src tar gz MD5S Priifsumme 5elb7leef1f75a294072aa3218f62b66 e Texinfo 4 9 1 489 kB Webseite http www gnu org software texinfo Download http ftp gnu org gnu texinfo texinfo 4 9 tar bz2 MDS5 Pr fsumme f4458e4b81e5469fa0815c3565414lab e Udev 113 191 kB Webseite http www kernel org pub linux utils kernel hotplug udev html Download http www kernel org pub linux utils kernel ho
268. sende Form f r schreibmaschinen hnliche Ger te Ein Link auf tbl Erzeugt aus einer HP markierten Schriftmetrik Datei eine Schriftdatei zur Verwendung mit groff T1j4 Erzeugt mit einer angegebenen Datei einen invertierten Index f r die bibliographischen Datenbanken zur Verwendung mit refer lookbib und Ikbib Durchsucht bibliographische Datenbanken nach Referenzen die bestimmte Schl ssel enthalten und gibt die gefundenen Referenzen aus Gibt einen Prompt auf die standard Fehlerausgabe solange die Standardeingabe kein Terminal ist liest eine Zeile mit Stichw rtern von der Standardeingabe durchsucht eine bibliographische Datenbank nach Referenzen zu diesen Stichw rtern gibt die gefundenen Referenzen aus und wiederholt das so lange bis keine weitere Eingabe mehr vorhanden ist Ein einfacher Pr prozessor f r groff Formatiert Gleichungen f r die ASCII Ausgabe American Standard Code for Information Interchange Ein Skript das nroff Kommandos mit groff emuliert bersetzt eine Postscript Schrift im pfb Format zu ASCII Kompiliert in groff oder TeX Eingabedateien enthaltene Beschreibungen von Bildern zu Kommandos die von TeX oder troff verwendet werden k nnen Konvertiert ein PIC Diagramm zu einem beschnittenen Bild 144 post grohtml pre grohtml refer soelim tbl tfmtodit troff Linux From Scratch Version 6 3 bersetzt die Ausgabe von GNU troff zu HTML bersetzt die Ausgabe von GNU troff
269. ses Paket enth lt keine Testsuite Installieren Sie das Paket make install Nun verschieben Sie die statischen Bibliotheken an eine passendere Stelle mv v lib lib readline history a usr lib Als n chstes werden die so Dateien im Ordner 1ib gel scht und nach usr 1ib verlinkt rm v lib lib readline history so In sfv lib libreadline so 5 usr lib libreadline so In sfv lib libhistory so 5 usr lib libhistory so 6 24 2 Inhalt von Readline 121 Linux From Scratch Version 6 3 Installierte Bibliotheken libhistory a so und libreadline a so Kurze Beschreibungen libhistory libreadline Stellt eine konsistente Schnittstelle zum Wiederaufrufen von Zeilen aus dem Verlauf zur Verf gung K mmert sich um die Konsistenz der Benutzerschnittstelle bei Programmen die eine Kommandozeilenoberfl che bereitstellen m ssen 122 Linux From Scratch Version 6 3 6 25 Zlib 1 2 3 Die in Zlib enthaltenen Routinen werden von vielen Programmen zum Komprimieren und Dekomprimieren genutzt Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 3 1 MB Festplattenplatz 6 25 1 Installation von Zlib Anmerkung Vorsicht Zlib baut seine gemeinsamen Bibliotheken falsch wenn die Umgebungsvariable CFLAGS gesetzt ist Falls Sie die Umgebungsvariable CF LAGS verwenden f gen Sie ihr f r den Durchlauf von configure den Wert fPIC an und entfernen Sie ihn sp ter wieder
270. solchen Mail ist dann unknown 8 bit Sie k nnen die Locale C also nur einsetzen wenn Sie sicher sind dass Sie niemals 8 Bit Zeichen ben tigen UTF 8 basierte Locales werden leider von vielen Programmen nicht richtig unterst tzt Das Programm watch zeigt in UTF 8 Locales nur ASCII Zeichen an diese Beschr nkung besteht nicht in normalen 8 Bit Locales wie en_US Es wird allerdings daran gearbeitet solche Probleme zu dokumentieren und zu beheben Siehe auch http www linuxfromscratch org blfs view svn introduction locale issues html 7 10 Einrichten des localnet Skripts Eine Teilaufgabe des localnet Skripts ist das Einstellen des Hostnamens Dieser muss in der Datei etc sysconfig network festgelegt werden Erstellen Sie die Datei etc sysconfig network und geben Sie den Hostnamen ein echo HOSTNAME lt lfs gt gt etc sysconfig network lt 1f s gt muss hier durch den Namen fiir Ihren Computer ersetzt werden Geben Sie hier nicht den FQDN Fully Qualified Domain Name gt Vollst ndigen Dom nennamen ein Diesen werden Sie erst sp ter in der Datei etc hosts eintragen An dieser Stelle wird nur ein einfacher Rechnername ben tigt 202 Linux From Scratch Version 6 3 7 11 Anpassen der Datei etc hosts Wenn Sie eine Netzwerkkarte einrichten m chten m ssen Sie eine IP Adresse den voll qualifizierten Dom nennamen und m gliche Aliasnamen in etc hosts eintragen Die Syntax lautet I
271. ss schon ab dem ersten Neustart immer die gleichen Namen zugewiesen werden lib udev write_net_rules all interfaces Sehen Sie nun die Datei etc udev rules d 70 persistent net rules durch und finden Sie heraus welcher Name fiir welche Netzwerkkarte zugewiesen wurde cat etc udev rules d 70 persistent net rules Am Anfang der Datei findet sich ein Kommentarblock gefolgt von zwei Zeilen je Netzwerkger t Die jeweils erste Zeile ist eine kommentierte Beschreibung aus der Sie die Hardware ID entnehmen k nnen z B PC Hersteller und Ger te ID falls es sich um eine PCI Karte handelt und in Klammern den Treiber sofern er gefunden wird Aber weder die Ger te ID noch der Treiber entscheiden ber die Namensvergabe der Netzwerkschnittstellen Die zweite Zeile ist die Udev Regel die auf diese Netzwerkkarte passt und den Namen daf r zuweist Alle Udev Regeln bestehen aus mehreren Schl sseln die durch Komma und optionale Leerzeichen getrennt sind Es folgen die verwendeten Schl ssel und jeweiligen Erkl rungen SUBSYSTEM net Dadurch werden alle Karten ignoriert bei denen es sich nicht um Netzwerkkarten handelt DRIVERS Durch diesen Parameter ignoriert Udev alle VLAN oder Bridge Unterger te weil diese Unterger te keine eigenen Treiber haben Unterger te m ssen bersprungen werden weil der zugewiesene Name mit dem jeweiligen Hauptger t in Konflikt st nde ATTRS type 1 Optional Di
272. statur eine US Amerikanische ist dann k nnen Sie gro e Teile in diesem Abschnitt berspringen Wenn diese Konfigurationsdateien nicht erstellt werden unternehmen diese Bootskripte einfach nichts Die Skripte console und consolelog lesen etc sysconfig console als Konfigurationsdatei ein Entscheiden Sie welche Tastaturbelegung und Bildschirmschriftarten Sie benutzen m chten Die verschiedenen sprachbezogenen Hilfsdokumente unter hrtp www tldp org HOWTO HOWTO INDEX other lang html k nnen Sie bei der Entscheidung unterst tzen Wenn Sie unsicher sind schauen Sie in Lib kbd nach g ltigen Tastaturbelegungen und Bildschirmschriften Lesen Sie die Hilfeseiten Loadkeys 1 und set font 8 und bestimmen Sie die korrekten Parameter zu diesen Programmen Die Datei etc sysconfig console sollte Zeilen in der Form VARIABLE Wert enthalten Die folgenden Variablen sind m glich LOGLEVEL Dieses Variable legt die Protokollierstufe f r Kernelnachrichten fest die mittels dmesg an die Konsole bergeben werden G ltig sind Angaben zwischen 1 keine Nachrichten und 8 Die Standard Stufe ist We A KEYMAP 2 KEYMAP_CORRECTIONS Diese wenig eingesetzte Variable gibt die Argumente fiir den zweiten Aufruf von loadkeys an Sie ist n tzlich wenn die ausgelieferte Tastaturlayouttabelle nicht zufriedenstellend ist und kleinere nderungen daran vorgenommen werden sollen Um z B das Euro Zeichen zu unterst tzen obwohl es normalerweise i
273. stsuite Installation vor Vim Vorauss f Installation Vorauss f Testsuite Installation vor Zlib Vorauss f Installation Vorauss f Testsuite Installation vor Linux From Scratch Version 6 3 Bash Binutils Bison Coreutils GCC Gettext Glibc Grep Inetutils Make Patch Sed und Texinfo Diffutils Findutils und Gawk Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make und Sed Keine Keine Bash Binutils Coreutils GCC Gettext Glibc Grep Make Ncurses Patch und Sed Keine Keine Binutils Coreutils GCC Glibc und Make Findutils Perl und Sed Keine Bash Binutils Coreutils E2fprogs GCC Gettext Glibc Grep Make Ncurses Patch Sed und Zlib Enth lt keine Testsuite Keine Bash Binutils Coreutils Diffutils GCC Glibc Grep Make Ncurses und Sed Keine Keine Bash Binutils Coreutils GCC Glibc Grep Make und Sed Keine File Module Init Tools und Util Linux 233 Stichwortverzeichnis Pakete Autoconf 125 Automake 126 Bash 128 Werkzeuge 58 Berkeley DB 99 Binutils 93 Werkzeuge Durchlauf 1 40 Werkzeuge Durchlauf 2 56 Bison 112 Bootskripte 190 Anwendung 192 Bzip2 130 Werkzeuge 59 Coreutils 105 Werkzeuge 60 DejaGNU 52 Diffutils 132 Werkzeuge 61 E2fsprogs 102 Expect 50 File 133 Findutils 134 Werkzeuge 62 Flex 136 Gawk 138 Werkzeuge 63 GCC 95 Werkzeuge Durchlauf 1 42 Werkzeuge Durchlauf 2 53
274. swd 1 und usr share man man5 passwd 5 installiert Beide Man pages enthalten unterschiedliche Informationen und Themenbereiche Wenn Sie also passwd 5 lesen bezieht sich das Buch explizit auf usr share man man5 passwd 5 Das Kommando man passwd zeigt die erste gefundene Man page zu passwd an Das w re in diesem Fall usr share man manl passwd 1 Um in diesem Beispiel die richtige Man page aus Sektion 5 anzuzeigen m ssen Sie das Kommando man 5 passwd verwenden Die meisten Man pages haben keine doppelten Seiten Namen in unterschiedlichen Sektionen daher ist man lt Programmname gt meistens ausreichend Aufbau Das Buch ist in die folgenden Abschnitte unterteilt Teil Einf hrung Teil I erl utert einige wichtige Hinweise zur Installation und schafft Grundlagen zur allgemeinen Verwendung des Buches Teil Il Vorbereitungen zur Installation Teil II bereitet den eigentlichen Installationsvorgang vor Anlegen einer Partition Herunterladen der Pakete und Kompilieren der tempor ren Werkzeuge Teil Ill Installation Teil II f hrt Sie Schritt f r Schritt durch die eigentliche Installation von LFS Kompilieren und Installieren aller Pakete Aufsetzen der Bootskripte und Installieren des Kernels Das resultierende Linux System ist die Basis auf der sp ter weitere Software installiert wird und auf der das System ganz nach Ihrem Belieben erweitert werden kann Am Ende des Buches finden Sie zu Referenzzwecken eine Liste alle
275. symbolischer Links die im weiteren Verlauf des Kapitels beim Installieren der restlichen Software durch echte Dateien ersetzt werden In sv tools bin bash cat echo grep pwd stty bin In sv tools bin perl usr bin In sv tools lib libgec_s so 1 usr lib In sv tools lib libstdc so 6 usr lib In sv bash bin sh Ein korrekt eingerichtetes Linux h lt in etc mtab eine Liste der derzeit eingebundenen Dateisysteme vor Ist die Datei nicht vorhanden so wird sie beim ersten Einbinden eines Dateisystems automatisch erzeugt Da wir aber innerhalb der chroot Umgebung keine Dateisysteme einbinden werden m ssen wir die Datei selbst erstellen weil einige Programme deren Vorhandensein voraussetzen touch etc mtab Damit root sich am System anmelden kann und damit der Name root der richtigen Benutzer ID zugeordnet werden kann m ssen die entsprechenden Eintr ge in etc passwd und etc group vorhanden sein Erzeugen Sie etc passwd mit dem folgenden Kommando cat gt etc passwd lt lt EOF MOOE SSL EEOOLH roots bal bash enaner sx 993 99 Umse wa llessae User dev mulil s bin talse EOF Das tats chliche Passwort f r root Das x ist hier nur Platzhalter wird erst sp ter gesetzt Erstellen Sie etc group mit dem folgenden Kommando cat gt etc group lt lt EOF LOST 29x20 lala e IL SWS S632 2 81 Linux From Scratch Version 6 3 kmamsxs 35
276. system mit Hilfe des Label oder einer UUID Universally Unique Identifier Wird zum Pr fen und optional Reparieren eines Dateisystems verwendet Pr ft in der Voreinstellung ext 2 Dateisysteme Pr ft in der Voreinstellung ext 3 Dateisysteme Speichert die Ausgabe eines Kommandos in eine Logdatei Listet Dateiattribute eines ext 2 Dateisystems auf Konvertiert eine Tabelle mit Kommando Namen und Hilfemeldungen zu C Quellcode der dann mit der 1ibss Subsystem Bibliothek verwendet werden kann Erzeugt ein ext 2 oder ext 3 Dateisystem auf dem angegebenen Ger t Erzeugt in der Voreinstellung ein ext 2 Dateisystem Erzeugt in der Voreinstellung ein ext 3 Dateisystem Wird benutzt um den Ordner lost found auf einem second extended Dateisystem zu erzeugen Es f hrt eine Vorzuweisung von Bl cken zu diesem Ordner durch um damit e2fsck die Arbeit zu erleichtern Kann zum Vergr ern oder Verkleinern eines ext 2 Dateisystems verwendet werden Wird zum Einstellen von ver nderbaren Parametern auf einem ext 2 Dateisystem eingesetzt Erzeugt neue universell einzigartige Bezeichner UUID Jede UUID kann grunds tzlich 103 libblkid libcom_err libe2p libext2fs libss libuuid Linux From Scratch Version 6 3 als einzigartig betrachtet werden auf dem lokalen oder auf anderen Systemen in der Vergangenheit und in der Zukunft Enth lt Routinen zum Identifizieren von Ger ten und zum Extrahieren von Token Die
277. t chroot SLFS tools bin env i HOME root TERM STERM PS1 u w S PATH bin usr bin sbin usr sbin tools bin tools bin bash login h Die an env bergebene Option i l scht alle Variablen in der chroot Umgebung Danach werden nur die Variablen HOME TERM PS1 und PATH wieder gesetzt TERM STERM setzt die Variable TERM in der chroot Umgebung auf den gleichen Wert wie au erhalb von chroot diese Variable wird f r das korrekte Funktionieren von Programmen wie vim und less ben tigt Wenn Sie weitere Variablen wie CFLAGS oder CXXFLAGS ben tigen ist dies ein guter Platz um sie erneut zu setzen Von nun an brauchen Sie die Variable LFS nicht mehr denn alle weiteren Befehle sind auf Ihr LFS beschr nkt Das was die laufende Shell f r den Ordner h lt ist in Wirklichkeit der Wert von LFS den Sie chroot oben als Parameter bergeben haben Beachten Sie dass tools bin am Ende der Variable PATH steht Das bewirkt dass ein tempor res Werkzeug nicht mehr benutzt wird sobald seine endg ltige Version installiert ist Zumindest wenn die Shell sich nicht die Standorte von ausf hrbaren Dateien merkt aus diesem Grund wird die Hash Funktion der bash mit der Option h abgeschaltet Die Eingabeaufforderung der Bash wird I have no name ausgeben Das ist normal und liegt daran dass die Datei etc passwd derzeit noch fehlt Mit Hilfe dieser Datei findet n mlich auch die Zuordnung von Benutzer IDs zu Benutzername
278. t Fahren Sie mit dem Kompilieren des Pakets fort make Der Kompiliervorgang ist nun abgeschlossen Normalerweise w rden Sie nun die Testsuite durchlaufen lassen aber in diesem fr hen Stadium ist die Testsuite Umgebung Tel Expect und DejaGNU noch nicht verf gbar Au erdem macht es wenig Sinn die Tests nun laufen zu lassen denn die Programme aus dem ersten Durchlauf werden sehr bald durch die aus dem zweiten Durchlauf ersetzt Installieren Sie das Paket make install 40 Linux From Scratch Version 6 3 Bereiten Sie nun den Linker auf die sp teren Anpassungen vor make C ld clean make C ld LIB PATH tools lib cp v l1d ld new tools bin Die Bedeutung der make Parameter C ld clean Dies weist das Programm make an alle kompilierten Dateien im Unterordner 1d zu l schen C ld LIB_PATH tools lib Dieser Parameter kompiliert alles im Unterordner 1d erneut Die Angabe der Makefile Variable LIB_ PATH auf der Kommandozeile berschreibt den Standardwert und zeigt auf den tempor ren Ordner tools Der Wert dieser Variable gibt den Standard Bibliotheksuchpfad f r den Linker an Sie werden sp ter in diesem Kapitel sehen wie diese Vorbereitung zur Anwendung kommt Details zu diesem Paket finden Sie in Abschnitt 6 11 2 Inhalt von Binutils 41 Linux From Scratch Version 6 3 5 4 GCC 4 1 2 Durchlauf 1 Das Paket GCC enth lt die GNU Compiler Sammlung Darin sind die C und C Com
279. t ob dies funktioniert 7 4 3 6 Udev erzeugt eine Ger tedatei nicht Im folgenden Text wird davon ausgegangen dass der Treiber entweder statisch in den Kernel eingebaut ist 195 Linux From Scratch Version 6 3 oder das Modul bereits geladen ist Au erdem sollten Sie berpr ft haben ob nicht m glicherweise nur eine Ger tedatei mit falschen Namen erzeugt wurde Udev hat nicht gen gen Informationen zum Erzeugen einer Ger tedatei wenn der Kerneltreiber seine Daten nicht ins sysfs exportiert Dies ist bei Treibern von Drittherstellern au erhalb des Kernelbaums leider fter der Fall Erzeugen Sie eine statische Ger tedatei mit der korrekten Haupt und Unterkennung in lib udev devices Ziehen Sie dazu auch die Datei devices txt aus der Kernel Dokumentation zu Rate oder lesen Sie die Dokumentation des Drittherstellers Diese statische Ger tedatei wird dann beim Bootvorgang von S10udev nach dev kopiert 7 4 3 7 Die Reihenfolge der Ger tenamen ndert sich mit jedem Bootvorgang Dies liegt daran dass Udev gewollt und ganz bewusst alle uevents parallel und somit in unterschiedlicher Reihenfolge abarbeitet Dieses Ph nomen wird niemals repariert werden Verlassen Sie sich nicht auf die Ger tenamen des Kernels Schreiben Sie stattdessen Regeln die aussagekr ftige symbolische Links mit stabilen Namen erzeugen Dazu k nnen Sie Attribute zu Ger ten heranziehen wie z B Seriennummern oder die Ausgabe der verschiedenen
280. t Systems mit denen in Ihrem LFS bereinstimmen sollen auf die gleichen Ger te zeigen sollen Falls die Links auf beiden Systemen auf die 204 Linux From Scratch Version 6 3 gleichen Ger te zeigen m ssen untersuchen und bearbeiten Sie die Datei etc udev rules d 70 persistent cd rules nach dem Neustart und stellen Sie sicher dass die symbolischen Links Ihren Vorstellungen entsprechen 7 12 2 Der Umgang mit doppelten Ger ten In Abschnitt 7 4 Umgang mit Ger ten und Modulen an einem LFS System wurde ja bereits erw hnt dass die Reihenfolge in der Ger te in dev angelegt werden vollkommen zuf llig sein kann Nehmen wir an Sie haben eine USB Webcam und eine USB TV Tuner so zeigt dev videoO auf die Kamera und dev videol auf den Tuner Manchmal kann sich die Reihenfolge bei einem Neustart aber auch einfach umkehren Dieses Ph nomen kann man f r alle Ger te au er Sound und Netzwerkkarten mittels Udev Regeln und symbolischen Links l sen Wie man dies mit Netzwerkkarten l st steht in Abschnitt 7 13 Einrichten des network Skripts beschrieben und die Anleitung f r Soundkarten finden Sie in BLFS Sie sollten f r jedes der m glicherweise problematischen Ger te selbst wenn das Problem mit Ihrer bisherigen Linux Distribution nicht auftritt den passenden Ordner unter sys class oder sys block suchen Videoger te finden Sie unter sys class video4linux videoX Finden Sie die Attribute die das Ger
281. t Xlib dass der Name f r den Zeichensatz in Gro buchstaben und mit Bindestrichen geschrieben wird Also ISO 8859 1 statt iso88591 Manchmal hilft es auch den Zeichensatz aus dem Namen der Locale wegzulassen Dies k nnen Sie mit dem Kommando locale charmap in beiden Locales pr fen Sie w rden also de_DE ISO 8859 15 euro durch de_DE euro ersetzen damit Xlib Ihre Locale versteht M glicherweise haben noch weitere Programme Schwierigkeiten mir Ihrer Locale und geben vielleicht noch nicht einmal eine Fehlermeldung aus falls der Name der Locale nicht den Annahmen des Programmierers entspricht In solchen F llen kann man versuchen herauszufinden wie andere Linux Distributionen mit dem Problem umgehen Wenn Sie die korrekten Locale Einstellungen herausgefunden haben erstellen Sie die Datei etc profile cat gt etc profile lt lt EOF Begin etc profile export LANG lt 1l11 gt _ lt CC gt lt charmap gt lt modifiers gt End etc profile EOF D Die Locale C Standard und en_US empfohlene Locale f r englische Benutzer in den USA unterscheiden sich C verwendet den Zeichensatz US ASCH mit 7 Bit und behandelt Zeichen mit gesetztem hohen Bit als ung ltig Das ist auch der Grund daf r dass z B Is diese Zeichen mit einem Fragezeichen darstellt Auch der Versuch eine E Mail mit solchen Zeichen mit Mutt oder Pine zu versenden ergibt eine nicht RFC konforme Mail der Zeichensatz in einer
282. t background dark endif i End etc vimre EOF Der Parameter set nocompatible versetzt vim in einen n tzlicheren Betriebsmodus Voreinstellung als den vi kompatiblen Modus Entfernen Sie das no falls Sie das alte vi Verhalten nutzen m chten ser backspace 2 erlaubt das sogenannte Backspacing ber Zeilenumbr che hinweg automatisches Einr cken und das Starten von Einr ckungen syntax on aktiviert vims Hervorheben von Syntax Schlie lich stellt die if Verzweigung sicher dass mittels set background dark die Hintergrundfarbe von bestimmten Terminals besser eingestellt ist Dadurch wird hervorgehobene Syntax in diesen Terminal Emulatoren besser lesbar Die Dokumentation zu weiteren m glichen Optionen erhalten Sie mit diesem Kommando vim c options 184 Linux From Scratch Version 6 3 Anmerkung Normalerweise installiert Vim die Dateien zur Rechtschreibpr fung nur in englischer Sprache Wenn Sie die Rechtschreibpr fung auch f r Ihre Sprache verf gbar haben m chten laden Sie bitte die spl und optional auch die sug Dateien f r Ihre Sprache und Kodierung von ftp ftp vim org pub vim runtime spell herunter und speichern Sie sie nach usr share vim vim71 spell Um diese Sprachdateien zu verwenden m ssen Sie in etc vimrc eingerichtet werden Beispiel set spell set spell lang en ru Weitere Informationen finden Sie in der Datei README unter der gleichen Adresse
283. t jpolen rackspace com gt Ifs introspeed com 223 Linux From Scratch Version 6 3 Justin Knierim lt tim idge net gt lfs matrix net Sudamerikanische Spiegel Manuel Canales Esparcia manuel linuxfromscratch org gt lfsmirror lfs es info Luis Falcon lt Luis Falcon gt torredehanoi org Europ ische Spiegel Guido Passet lt guido primerelay net gt nl linuxfromscratch org Bastiaan Jacques lt baafie planet nl gt Ifs pagefault net Sven Cranshoff lt sven cranshoff lineo be gt Ifs lineo be Scarlet Belgien Ifs scarlet be Sebastian Faulborn lt info aliensoft org gt Ifs aliensoft org Stuart Fox lt stuart dontuse ms gt lfs dontuse ms Ralf Uhlemann lt admin realhost de gt Ifs oss mirror org Antonin Sprinzl lt Antonin Sprinzl tuwien ac at gt at linuxfromscratch org Fredrik Danerklint lt fredan lfs fredan org gt se linuxfromscratch org Franck lt franck linuxpourtous com gt Ifs linuxpourtous com Philippe Baqu lt baque cict fr gt Ifs cict fr Vitaly Chekasin lt gyouja pilgrims ru gt Ifs pilgrims ru Benjamin Heil lt kontakt wankoo org gt Ifs wankoo org Asiatische Spiegel Satit Phermsawang lt satit wbac ac th gt lfs phayoune org Shizunet Co Ltd lt info shizu net jp gt Ifs mirror shizu net jp Init World lt http www initworld com gt Ifs initworld com Australische Spiegel Jason Andrade lt jason dstc edu au gt
284. t werden cp v etc udev rules d 0 9 etc udev rules d Installieren Sie nun die LFS spezifischen die Regel Dateien 177 Linux From Scratch Version 6 3 cd udev config 6 3 make install Installieren Sie die Dokumentation Sie erkl rt die LFS spezifischen Udev Regeln make install doc Installieren Sie die Dokumentation Sie erkl rt die allgemeinen Udev Regeln die mit Udev mitgeliefert werden make install extra doc Installieren Sie die Dokumentation Sie erkl rt unter anderem wie man eigene Udev Regeln schreibt cd install m644 v docs writing_udev_rules index html usr share doc udev 113 index html 6 55 2 Inhalt von Udev Installierte Programme ata_id cdrom_id create_floppy_devices edd_id firmware sh path_id scsi_id udevcontrol udevd udevinfo udevmonitor udevsettle udevtest udevtrigger usb_id vol_id write_cd_rules und write_net_rules Installierte Bibliotheken libvolume_id Installierter Ordner etc udev Kurze Beschreibungen ata_id cdrom_id create_floppy_devices edd_id firmware sh path_id scsi_id udevcontrol udevd udevinfo udevmonitor Stellt Udev eine einmalige Beschreibung und weitere Informationen uuid label f r ein ATA Laufwerk zur Verf gung Stellt Udev die Ger teeigenschafen von CD Rom und DVD ROM Laufwerken zur Verf gung Erstellt alle m glichen Diskettenlaufwerks Ger tedateien basierend auf dem CMOS Typ
285. tar 1 15 1 sparse_fix 1 patch vim 7 0 fixes 7 patch 1 3 Anderungsprotokoll Dies ist Linux From Scratch 6 3 vom 28 August 2007 Wenn dieses Buch lter als ein halbes Jahr ist gibt es vielleicht schon eine neuere bessere Version Bitte besuchen Sie einen unserer Spiegel Server unter http www linuxfromscratch org mirrors html Die folgende Liste enth lt alle nderungen seit der Ver ffentlichung der Vorg ngerversion nderungsprotokoll 28 08 2007 bdubbs LFS 6 3 released 27 08 2007 dnicholson Changed the Shadow download URL to a more stable location dnicholson Updated the acknowledgements page again bdubbs Upgrade to Linux 2 6 22 5 Fixes 2065 21 08 2007 Linux From Scratch Version 6 3 bdubbs Upgrade to Linux 2 6 22 4 Fixes 2064 20 08 2007 bdubbs Add man db fixes patch 19 08 2007 i bdubbs Upgrade to Linux 2 6 22 3 fixes 2060 bdubbs Updated acknowledgements 13 08 2007 dnicholson Updated to LFS Bootscripts 200708 13 11 08 2007 dnicholson Changed the Bash testsuite standard input fix to only affect the necessary test script bdubbs Created LFS 6 3 rc 2 bdubbs Upgrade to Linux 2 6 22 2 fixes 2059 08 08 2007 i dnicholson Clarify the description of the Udev persistent network rules file dnicholson Redirected dev tty to standard input when running the Bash testsuite to prevent errors with termin
286. teien zum Einrichten der Benutzerumgebung Jede Datei hat einen bestimmten Zweck und beeinflusst Login und Interaktiv Umgebungen unterschiedlich Die Bash Dateien in etc enthalten globale Einstellungen Wenn eine entsprechende Konfigurations Datei auch im Pers nlichen Ordner des Benutzers existiert berschreibt sie die globalen Einstellungen Nach einem erfolgreichen Login wird mit bin login eine interaktive Login Shell gestartet Dazu wird die Datei etc passwd eingelesen Eine interaktive nicht Login Shell wird von der Kommandozeile aus gestartet z B prompt bin bash Eine nicht interaktive Shell findet man blicherweise bei laufenden 200 Linux From Scratch Version 6 3 Shell Skripten Sie ist nicht interaktiv weil Sie ein Skript abarbeitet und zwischen den Kommandos nicht auf Eingaben vom Benutzer wartet Weitere Informationen finden Sie mit info bash im Abschnitt Bash Startup Files and Interactive Shells Die Dateien etc profile und bash_profile werden gelesen wenn die Shell als interaktive Login Shell aufgerufen wurde Die untenstehende Basisversion der Datei etc profile stellt ein paar notwendige Umgebungsvariablen f r NLS Unterst tzung ein Eine korrekte Einstellung dieser Variablen bewirkt Die Ausgaben von Programmen werden in die Sprache des Anwenders bersetzt Korrekte Einordnung von Zeichen als Buchstaben Zahlen und weiterer Klassen Die bash ben tigt diese Einstellungen um Sonderzeichen in Befehls
287. tellen einer sauberen Arbeitsumgebung ist leichter wenn Sie dazu den Benutzer 1fs in der ebenfalls neuen Gruppe 1fs anlegen und diesen f r den ganzen Installationsvorgang benutzen Bitte f hren Sie als root dieses Kommando aus um die neue Gruppe und den Benutzer anzulegen groupadd lfs useradd s bin bash g lfs m k dev null lfs Die Bedeutung der Kommandozeilen Parameter s bin bash Dies macht die bash zur voreingestellten Shell f r den Benutzer 1 fs q Ifs Dieser Parameter macht den neuen Benutzer zum Mitglied der Gruppe 1 fs m Dadurch wird der Pers nliche Ordner f r 1 fs gleich mitangelegt k dev null Dieser Parameter verhindert das Kopieren der Dateien aus einem Skeleton Ordner Voreinstellung ist etc skel Als Quelle f r den Skeleton Ordner wird einfach das Null Ger t eingestellt lfs Dies ist der Name der erzeugten Gruppe und Benutzer Wenn Sie als root angemeldet sind und zum Benutzer 1fs wechseln ben tigen Sie daf r kein Passwort Wenn Sie sich allerdings als Benutzer 1fs richtig anmelden m chten m ssen Sie dem Benutzer zuerst ein Passwort zuweisen passwd lfs Geben Sie 1fs Vollzugriff auf LFS tools Dazu machen Sie Je am besten zum Besitzer des Ordners chown v lfs LFS tools Wenn Sie wie vorgeschlagen einen extra Arbeitsordner eingerichtet haben dann geben Sie dem Benutzer 1 fs auch dort die Besitzrechte chown v lfs LFS sources Als n chstes melden
288. ten Kapitel 5 beschreibt dann die Installation der Pakete f r die grundlegende Entwicklungsumgebung im weiteren Verlauf des Buches Toolchain genannt Die Toolchain ist eine Sammlung der n tigsten Werkzeuge und wird sp ter in Kapitel 6 verwendet um das endg ltige System zu erstellen Einige dieser Pakete werden zum Aufl sen rekursiver Abh ngigkeiten ben tigt zum Beispiel brauchen Sie einen Compiler um einen Compiler zu kompilieren Kapitel 5 erkl rt auch wie die erste Version der Basiswerkzeuge inklusive Binutils und GCC erzeugt wird Erste Version bedeutet in diesem Zusammenhang dass diese zwei Pakete installiert werden Als zweiten Schritt kompilieren Sie Glibc die C Bibliothek Glibc wird mit den Programmen der im ersten Schritt erstellten Basiswerkzeuge kompiliert Im dritten Schritt erstellen Sie dann die zweite Version der Basiswerkzeuge Sie linken die Programme dynamisch gegen die gerade frisch installierte Glibc Die verbleibenden Pakete aus Kapitel 5 werden alle diesen zweiten Durchlauf der Toolchain verwenden und dynamisch gegen die neue hostunabh ngige Glibc gelinkt Wenn dies erledigt ist ist der weitere Installationsvorgang mit Ausnahme des Kernels nicht mehr von der Linux Distribution auf dem Host System abh ngig Dies scheint erstmal eine Menge Arbeit zu sein um sich von der Host Distribution zu l sen Eine vollst ndige Erkl rung finden Sie in Abschnitt 5 2 Technische Anmerkungen zur Toolchain
289. ten Sie aber auch die symbolischen Links dev tvtuner und dev webcan und diese zeigen immer auf das richtige Ger t Weitere Informationen zum Schreiben von Udev Regeln finden Sie in usr share doc udev 113 index html 7 13 Einrichten des network Skripts 205 Linux From Scratch Version 6 3 Diesen Abschnitt m ssen Sie nur lesen wenn Sie eine Netzwerkkarte einrichten m chen Wenn Sie keine Netzwerkkarte haben brauchen Sie h chstwahrscheinlich keine Konfigurationsdateien bez glich Netzwerkkarten einrichten In diesem Fall sollten Sie alle symbolischen Links mit Namen network aus den Runlevel Ordnern entfernen etc rc d rc d 7 13 1 Einrichten von stabilen Namen f r Netzwerkkarten Mit Udev und modularen Netzwerktreibern ist keine stabile Durchnummerierung von Netzwerkkarten ber Rechner Neustarts hinweg gew hrleistet Dies liegt daran dass die Treiber parallel geladen werden und die Reihenfolge daher unvorhersagbar ist Wenn ein Rechner z B eine Netzwerkkarte von Intel und eine von Realtek eingebaut hat so k nnte die Intel Karte et hO und die Realtek Karte eth1 hei en In manchen F llen k nnten die Karten nach einem Neustart aber genau umgekehrt zugewiesen worden sein Um diesem Problem zu begegnen enth lt das Udev Paket ein Skript und einige Regeln die eine stabile Namensvergabe f r Netzwerkkarten basierend auf deren MAC Adresse sicherstellen sollen Erzeugen Sie die Regeln vorab und stellen Sie so sicher da
290. ten der virtuellen Kernel Dateisysteme Verschiedene vom Kernel exportierte Dateisysteme werden f r die Kommunikation zwischen dem Kernel selbst und dem sog Userspace verwendet Dies sind virtuelle Dateisysteme in Hinsicht darauf dass sie keinen Speicherplatz auf der Festplatte verbrauchen Der Inhalt der Dateisysteme liegt vollst ndig im Arbeitsspeicher Erstellen Sie die Ordner in die dann die virtuellen Dateisysteme eingeh ngt werden mkdir pv LFS dev proc sys 6 2 1 Erzeugen der wichtigsten Geratedateien Zum Booten des Kernel m ssen nur wenige Ger tedateien vorhanden sein im einzelnen console und null Die Ger tedateien werden auf der Festplatte erzeugt damit sie vor dem Start von udevd verf gbar sind insbesondere wenn Linux mit dem Parameter init bin bash gestartet wird Erstellen Sie die Ger tedateien mit diesen Kommandos 76 Linux From Scratch Version 6 3 mknod m 600 SLFS dev console c 5 1 mknod m 666 SLFS dev null c 1 3 6 2 2 Einh ngen und F llen von dev Die empfohlene Vorgehensweise um dev mit Ger tedateien zu f llen ist in dev ein virtuelles Dateisystem wie z B tmpfs einzuh ngen und die Ger te dynamisch zu erzeugen sobald sie erkannt oder verwendet werden Die meisten Ger te werden beim Booten erkannt und von Udev erzeugt Weil das neue System aber bislang noch nicht gebootet wurde m ssen Sie diese Arbeit erstmal selbst erledigen Sie werden nun den dev Ordner des
291. tgeliefert Entpacken Sie die Binutils Quellen und f hren Sie das Skript aus config guess Notieren Sie die Ausgabe Auch den Namen des dynamischen Linkers f r Ihre Plattform sollten Sie kennen manchmal wird der Linker auch als dynamischer Lader bezeichnet Bitte verwechseln Sie den dynamischen Linker nicht mit dem Standard Linker Id aus dem Paket Binutils Der dynamische Linker kommt mit Glibc und seine Aufgabe ist es die von einem Programm ben tigten gemeinsamen Bibliotheken zu finden und zu laden das Programm zur Ausf hrung vorzubereiten und schlie lich das Programm selbst auszuf hren Im Regelfall wird der Name des dynamischen Linkers 1d linux so 2 sein F r weniger g ngige Systeme k nnte der Name auch 1d so 1 sein und auf neueren 64 Bit Plattformen k nnte er sogar v llig verschieden sein Sie m ssten den Namen Ihres dynamischen Linkers herausfinden k nnen wenn Sie auf Ihrem Host System in den Ordner 1ib schauen Um wirklich sicher zu gehen k nnen Sie eine beliebige Bin rdatei auf Ihrem Host System berpr fen readelf 1 Name einer Binardatei gt grep interpreter Notieren Sie die Ausgabe Eine Referenz die alle Plattformen abdeckt finden Sie in der Datei shlib versions im Basisordner des Glibc Quellordners Hier ein paar technische Anmerkungen zum Kompiliervorgang in Kapitel 5 Der Kompiliervorgang ist im Grunde hnlich wie Cross Kompilieren Dabei funktionieren Programme im selben Prefix in Kooperation und benut
292. timmte Dateisysteme bereits bei der Kernelkonfiguration festzulegen Die n tigen Parameter finden Sie unter Default NLS Option CONFIG_NLS_DEFAULT Default Remote NLS Option CONFIG_SMB_NLS_DEFAULT Default codepage for FAT CONFIG_FAT_DEFAULT_CODEPAGE und Default iocharset for FAT CONFIG_FAT_DEFAULT_IOCHARSET F r das NTFS Dateisystem gibt es derzeit keine M glichkeit die Werte in der Kernelkonfiguration vorzugeben 210 Linux From Scratch Version 6 3 8 3 Linux 2 6 22 5 Das Paket Linux enth lt den Linux Kernel Gesch tzte 1 5 3 5 SBU Kingef herbeit tigter 350 450 MB Festplattenplatz 8 3 1 Installation des Kernel Kompilieren und Installieren des Kernels sind im Grunde nur ein paar Schritte Konfigurieren kompilieren und installieren Falls Sie die hier benutzte Methode nicht m gen schauen Sie in der Datei README im Kernel Quellordner nach Alternativen Bereiten Sie den Kompiliervorgang mit dem folgenden Kommando vor make mrproper Hierdurch wird sichergestellt dass der Kernel Baum absolut sauber ist Das Kernel Team empfiehlt dieses Kommando vor jedem Kompilieren des Kernels auszuf hren Sie sollten sich nicht darauf verlassen dass die Quellen nach dem Entpacken sauber sind Richten Sie den Kernel nun mit der men gef hrten Oberfl che ein In BLFS finden Sie unter http www linuxfromscratch org blfs view svn longindex html kernel config index einige Infor
293. tlichte Dienste zum Erstellen von Bibliotheken zur Verf gung libtoolize Stellt einen einheitlichen Weg zur Verf gung um einem Paket libtool Unterst tzung hinzuzuf gen Libitar Versteckt die verschiedenen Schwierigkeiten mit Bibliotheken die dlopen verwenden 118 Linux From Scratch Version 6 3 6 23 Perl 5 8 8 Das Paket Perl enth lt die Skriptsprache Perl Practical Extraction and Report Language Gesch tzte 1 5 SBU Kingef herbeit tigter 143 MB Festplattenplatz 6 23 1 Installation von Perl Erstellen Sie nun eine Basisversion der Datei etc hosts Diese wird in einer von Perls Konfigurationsdateien und in der Testsuite verwendet falls Sie diese durchlaufen lassen echo 127 0 0 1 localhost hostname gt etc hosts Wenn Sie festlegen m chten wie Perl sich selbst zum Installieren einrichtet dann k nnen Sie stattdessen das interaktive Configure Skript benutzen Wenn Sie mit den normalerweise sinnvollen von Perl automatisch erkannten Voreinstellungen zufrieden sind benutzen Sie das folgende Kommando configure gnu prefix usr Dmanldir usr share man manl Dman3dir usr share man man3 Dpager usr bin less isR Die Bedeutung der configure Parameter Dpager usr bin less isR Dies korrigiert einen Fehler in der Art und Weise wie perldoc das Programm less aufruft Dmanldir usr share man manl Dman3dir usr share man man3 Da zur Zeit noch kein Groff installiert ist
294. tplug udev 113 tar bz2 MDS5 Pr fsumme cb9a227206b9d85ae8cfc88fc51c1710 e Udev Einrichtung 13 kB Download http www linuxfromscratch org lfs downloads 6 3 udev config 6 3 tar bz2 MD5S Priifsumme 49 72e712 38c18884bd11a9a3b7e968 e Util linux 2 12r 1 339 kB Download http www kernel org pub linux utils util linux util linux 2 12r tar bz2 MDS5 Pr fsumme af 9d9e 03038481fbf79ea3ac33f116f9 e Vim 7 1 6 714 kB Webseite http www vim org Download ftp ftp vim org pub vim unix vim 7 1 tar bz2 MD5S Priifsumme 44c6b4914f38d6f9aa959640b89da329 e Vim 7 1 Sprachdateien optional 1 161 kB Webseite http www vim org Download ftp ftp vim org pub vim extra vim 7 1 lang tar gz MD5S Priifsumme 144aa049ba70621acf4247f0459f3ee7 e Zlib 1 2 3 485 kB Webseite http www zlib net Download http www zlib net zlib 1 2 3 tar gz MD5S Priifsumme debc62758716a169df9f62e6ab2bc634 Gesamtgr e der Pakete ungef hr NaN MB 3 3 Erforderliche Patches Zus tzlich brauchen Sie auch einige Patches Diese beheben z B kleine Fehler die vom jeweiligen Betreuer des Pakets noch nicht behoben wurden oder beinhalten Modifikationen und Anpassungen an unser LFS Die folgenden Patches werden zum Erstellen von LFS ben tigt e Bash Upstream Fixes Patch 32 kB Download http www linuxfromscratch org patches lfs 6 3 bash 3 2 fixes 5 patch MDS5 Pr fsumme 70 2c3983575a8e82f8601a417e126f0 e Bzip2 Dokumentations Pat
295. tributionen speichern die Hilfeseiten in unterschiedlichen Formaten ab RedHat beispielsweise verwendet UTF 8 Debian setzt sprachspezifische 8 Bit Kodierungen ein Das f r leider zu Inkompatibilit ten von Hilfeseiten die f r unterschiedliche Distributionen gedacht sind LFS setzt auf die gleichen Konventionen wie Debian Das liegt daran dass Man DB nichts mit Hilfeseiten in UTF 8 anfangen kann Des Weiteren ist Man DB f r unsere Zwecke dem herk mmlichen Man vorzuziehen weil es ohne weitere Einrichtung f r jede Locale funktioniert und nicht zuletzt weil es derzeit keine voll funktionsf hige Implementierung der RedHat Konvention gibt RedHats groff formatiert bekannterma en Text falsch Weiter unten wird der Zusammenhang zwischen Sprachcodes und der erwarteten Kodierung einer Hilfeseite aufgelistet Man DB wandelt sie automatisch f r die Darstellung in die richtige Locale um Tabelle 6 1 Erwartete Zeichenkodierung f r Hilfeseiten Sprache Code Kodierung D nisch da ISO 8859 1 157 Sprache Code Kodierung Deutsch de ISO 8859 1 Englisch de ISO 8859 1 Spanisch es ISO 8859 1 Finnisch fi ISO 8859 1 Franz sisch fr ISO 8859 1 Irisch ga ISO 8859 1 Galician gl ISO 8859 1 Indonesisch id ISO 8859 1 Isl ndisch is ISO 8859 1 Italienisch it ISO 8859 1 Niederl ndisch nl ISO 8859 1 Norwegisch no ISO 8859 1 Portugiesisch pt ISO
296. tungen unter http www linuxfromscratch org blfs view svn general gdbm html an 6 13 1 Installation von Berkeley DB Wenden Sie einen Patch an der einige Fehler beim Zugriff auf Datenbanken ber die Java API behebt patch Npl i db 4 5 20 fixes 1 patch Bereiten Sie Berkeley DB zum Kompilieren vor cd build_unix dist configure prefix usr enable compat185 enable cxx Die Bedeutung der configure Parameter enable compat185 Dieser Parameter schaltet die Berkeley DB 1 85 Kompatibilitats API ein enable cxx Dieser Parameter schaltet den Bau der C API Bibliotheken ein Kompilieren Sie das Paket make Es ist nicht m glich dieses Paket sinnvoll zu testen weil dies die TCL Bindungen voraussetzt Die TCL Bindungen k nnen allerdings nicht korrekt kompiliert werden weil TCL gegen die Glibc in tools gelinkt ist und nicht die in usr Installieren Sie das Paket make docdir usr share doc db 4 5 20 install Die Bedeutung des make Parameters docdir 99 Linux From Scratch Version 6 3 Diese Variable gibt den korrekten Speicherort f r die Dokumentation an Korrigieren Sie den Besitzer der installierten Dokumentation chown Rv root root usr share doc db 4 5 20 6 13 2 Inhalt von Berkeley DB Installierte Programme Installierte Bibliotheken db_archive db_checkpoint db_deadlock db_dump db_hotbackup db_load db_printlog db_recover
297. tzt Dabei wurden sehr viele Ger tedateien vorab in dev erzeugt manchmal mehrere tausend Dabei war es v llig egal ob die zugeh rige Hardware tats chlich existierte oder nicht Dies wurde typischerweise durch das Skript MAKEDEV erledigt welches eine Menge Systemaufrufe mit dem Programm mknod und den entsprechenden Ger tenummern durchf hrte und so Ger tedateien zu allen erdenklichen Ger ten erzeugte Mit der Udev Methode werden nur die Ger tedateien erzeugt zu denen der Kernel auch ein Ger t gefunden hat Weil diese Ger tedateien bei jedem Systemstart neu erzeugt werden speichert man sie auf einem sog tmpfs Dateisystem Dieses Dateisystem existiert nur im Arbeitsspeicher und verbraucht daher keinen Festplattenplatz Ger tedateien ben tigen kaum Platz auf diese Weise wird also nur sehr wenig Arbeitsspeicher verbaucht 7 4 1 Die Entwicklungsgeschichte von Udev Im Februar 2000 wurde ein neues Dateisystem mit dem Namen devfs in den Kernel 2 3 46 integriert und dann in der 2 4er Serie der stabilen Kernel verf gbar gemacht Obwohl es in den Kernelquellen selbst verf gbar war hat diese Methode nie wirkliche Unterst tzung von den Kernel Entwicklern bekommen Das Haupt Problem bei diesem von devfs adaptierten Ansatz war die Art und Weise auf die Ger te erkannt erzeugt und benannt wurden Letzteres Namensvergabe war wohl das kritischste Problem Das Dateisystem devfs litt au erdem unter sog Race conditions die mit dem Konzept z
298. ugte Glibc nicht korrekt funktionieren W hrend dieser Phase sehen Sie m glicherweise eine Warnung configure WARNING xxx These auxiliary programs are missing or xxx incompatible versions msgfmt 45 Linux From Scratch Version 6 3 www SOme ceacures wall be cisaloleci mie Check tche INSTALL file for reguired versions Das fehlende oder inkompatible Programm msgfmt ist normalerweise harmlos aber manchmal kann es zu Fehlern beim Durchlaufen der Testsuite f hren msgfmt ist Teil von Gettext welches auf dem Host System installiert sein sollte Wenn msgfmt zwar vorhanden aber vollkommen inkompatibel ist dann sollten Sie das Paket auf dem Host System aktualisieren Oder Sie fahren ohne das Paket fort und schauen ob die Testsuite auch ohne problemlos durchl uft Kompilieren Sie das Paket make Der Kompiliervorgang ist nun abgeschlossen Wie bereits erw hnt wird empfohlen die Testsuite f r das tempor re System in diesem Kapitel nicht durchlaufen zu lassen Falls Sie die Testsuite dennoch ausf hren m chten verwenden Sie daf r dieses Kommando make check Eine Information ber die kritischen Fehler finden Sie im Abschnitt 6 9 Glibc 2 5 1 Die Testsuite von Glibc ist stark von einigen Funktionen Ihres Host Systems abh ngig Glibc Fehler in diesem Kapitel sind normalerweise nicht kritisch Erst in Kapitel 6 wird die endg ltige Glibc installiert dort sollten dann die meiste
299. ules file if bus position based persistence is going to be used Fixes 1912 03 11 2006 matthew Use version entities from packages ent rather than hardcoded values in the note in chapter03 packages xml Remove the warning about potential incompatibilities with the bootscripts Thanks to Rainer Wirtz for the report 29 10 2006 matthew Add verbose flags to some commands in Util Linux and Vim Thanks to Robert Connolly for the report matthew Upgrade to Vim 7 0 fixes 14 patch Drop the spellfile fix as it was applied upstream as patch 076 28 10 2006 g matthew Upgrade to TCL 8 4 14 matthew Upgrade to Tar 1 16 including dropping the now unnecessary gcc4 security and sparse patches matthew Upgrade to Readline 5 2 including dropping the now unnecessary fixes patch 14 Linux From Scratch Version 6 3 matthew Upgrade to Man Pages 2 41 matthew Upgrade to Linux 2 6 18 1 matthew Fix a bug in Less whereby the sigset_t type is not detected by the configure script which causes sigsetmask to be used instead of the preferred sigprocmask function Thanks to Robert Connolly for the report and patch matthew Upgrade to IPRoute2 2 6 18 20061002 matthew Upgrade to Inetutils 1 5 including dropping the now unnecessary GCC 4 fixes patch matthew Upgrade to Groff 1 18 1 4 matthew Upgrade to Gettext 0 16 matthew Upgrade to Berkeley DB 4 5 20 including
300. ungszeichen und Bindestriche Stattdessen soll Groff die ASCH Versionen verwenden sed i e s 2010 002D e s 2212 002D e s 2018 0060 e s 2019 0027 font devutf 8 R proto Groff erwartet dass die Umgebungsvariable PAGE die Standardpapiergr e enth lt F r Anwender in den Vereinigten Staaten ist PAGE letter korrekt Wenn Ihr Standort woanders ist ersetzen Sie bitte PAGE letter durch PAGE A4 Die Voreinstellung der Papiergr e wird zwar zum Kompilierzeitpunkt eingestellt werden Jedoch kann man auch sp ter noch in der Datei etc papersize die Papiergr e einstellen Dazu m ssen Sie nur A4 oder letter in die Datei schreiben Bereiten Sie Groff zum Kompilieren vor PAGE lt papier_gr e gt configure prefix usr enable multibyte Kompilieren Sie das Paket make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install Einige Dokumentationsprogramme wie zum Beispiel xman funktionieren ohne diese symbolischen Links nicht In sv eqn usr bin gegn In sv tbl usr bin gtbl 6 38 2 Inhalt von Groff Installierte Programme addftinfo afmtodit eqn eqn2graph geqn Link auf eqn grn grodvi groff groffer grog grolbp grolj4 grops grotty gtbl Link auf tbl hpftodit indxbib Ikbib lookbib mmroff neqn nroff pfbtops pic pic2graph post grohtml 143 Linux From Scratch Version 6 3 pre grohtml r
301. us der mit der aktuell effektiven Benutzer ID verkn pft ist Gibt y oder eine andere Zeichenkette solange aus bis es beendet wird 109 Linux From Scratch Version 6 3 6 17 lana Etc 2 20 Das Paket Iana Etc enth lt Daten zu Netzwerkdiensten und Protokollen Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 2 1 MB Festplattenplatz 6 17 1 Installation von lana Etc Das folgende Kommando konvertiert die von IANA bereitgestellten RAW Daten in das korrekte Format f r etc protocols und etc services make Dieses Paket enth lt keine Testsuite Installieren Sie das Paket make install 6 17 2 Inhalt von lana Etc Installierte Dateien etc protocols und etc services Kurze Beschreibungen etc protocols Beschreibt verschiedene im TCP IP Subsystem verf gbare DARPA Internet Protokolle etc services Erm glicht eine Zuordnung von leicht zu lesenden Namen f r Internetdienste und den zugeh rigen Port Nummern und Protokolltypen 110 6 18 M4 1 4 10 M4 enth lt einen Makroprozessor Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 5MB Festplattenplatz 6 18 1 Installation von M4 Bereiten Sie M4 zum Kompilieren vor Linux From Scratch Version 6 3 configure prefix usr Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install 6 18 2 In
302. usammenhingen und nur durch nennenswerte nderungen am Kernel ge ndert werden konnten Des Weiteren war es f r lange Zeit als missbilligt markiert weil es nicht gepflegt wurde schlussendlich wurde es im Juni 2006 ganz aus dem Kernel entfernt Mit der Enticklung der 2 5er Entwickler Kernelserie die sp ter als stabile 2 6er Serie ver ffentlicht wurde wurde ein neues Dateisystem mit dem Namen sysfs eingef hrt Die Aufgabe von sysfs ist es die Betriebssystemstruktur an Anwenderprozesse zu exportieren Mit dieser aus der Anwenderschicht sichtbaren Repr sentation des Betriebssystems kam ein Ersatz f r dev fs in Sichtweite 7 4 2 Udev Implementierung 7 4 2 1 Sysfs Das Dateisystem sysfs wurde oben schon kurz erw hnt Man fragt sich vielleicht woher sysfs von den Ger ten und den zu verwendenden Ger tenummern wei Treiber die direkt in den Kernel integriert wurden registrieren sich bei sysfs sobald sie vom Kernel erkannt werden Bei Kernel Modulen geschieht dieser Vorgang beim Laden des Moduls Sobald sysfs in das System eingeh ngt ist unter sys sind die Daten von den mit sysfs registrierten Treibern f r Prozesse aus der Anwenderschicht und damit auch f r udev verf gbar 7 4 2 2 Das Udev Bootskript Das Bootskript S10udev k mmert sich um das Erstellen von Ger tedateien beim Systemstart Das Skript entfernt sbin hotplug als Verantwortliches Skript f r uevents weil der Kernel kein externes Programm mehr 193
303. usf hren wie empfohlen werden diese Pakete doch zumindest f r die Tests im n chsten Kapitel 6 ben tigt Bereiten Sie Tcl zum Kompilieren vor cd unix configure prefix tools Kompilieren Sie das Paket make Wenn Sie die Testsuite ausf hren m chten f hren Sie TZ UTC make test aus Es ist jedoch bekannt dass die Testsuite von Tcl unter bestimmten Bedingungen fehlschl gt Daher sind Fehler in der Testsuite nicht berraschend wir betrachten diese Fehler nicht als kritisch Der Parameter TZ UTC setzt die Zeitzone f r die Dauer des Durchlaufs der Testsuite auf Coordinated Universal Time UTC auch als Greenwhich Mean Time GMT bekannt Dadurch werden zeitbezogene Tests korrekt ausgewertet Mehr Informationen zu der Umgebungsvariable TZ finden Sie sp ter in Kapitel 7 Installieren Sie das Paket make install Installieren Sie die Tcl Header Dateien Das n chste Paket Expect ben tigt Sie zum Kompilieren make install private headers Erstellen Sie einen n tigen symbolischen Link In sv tclsh8 4 tools bin tclsh 5 8 2 Inhalt von Tcl Installierte Programme tclsh Link auf tclsh8 4 uand tclsh8 4 Installierte Bibliothek libtcl8 4 so Kurze Beschreibungen tclsh8 4 Die Tcl Kommando Shell telsh Ein Link auf telsh8 4 libtcl8 4 so Die Tcl Bibliothek 49 Linux From Scratch Version 6 3 5 9 Expect 5 43 0 Das Paket Expect f hrt vorprogrammierte Dialo
304. v mv v v v mv v usr bin cat chgrp chmod chown cp date dd df echo bin usr bin false hostname 1n 1s mkdir mknod mv pwd readlink rm bin usr bin rmdir stty sync true uname bin usr bin chroot usr sbin Einige der LFS Bootskripte sing abh ngig von den Kommandos head und sleep Da usr in den fr heren Phasen des Bootvorgangs noch nicht eingh ngt sein k nnte m ssen sich diese Programm auf der root Partition befinden mv v usr bin head sleep nice bin 6 16 2 Inhalt von Coreutils Installierte Programme base64 basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid hostname id install join link In logname Is mdSsum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir seq shalsum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stty sum sync tac tail tee test touch tr true tsort tty uname unexpand uniq unlink users vdir wc who whoami und yes Kurze Beschreibungen base64 basename cat chgrp chmod chown chroot cksum comm Kodiert und dekodiert Daten entsprechend der base64 Spezifikation RFC 3548 nach Entfernt den Pfad und Suffix von einem angegebenen Dateinamen Gibt Dateien an der Standardausgabe
305. vertiert h C Header Dateien zu ph Perl Header Dateien Konvertiert h C Header Dateien zu Perl Erweiterungen Ein Shell Skript f r den Umgang mit den installierten Perl Module es kann sogar ein Tar Archiv aus einem installierten Modul erzeugen Kann zum Einrichten von 1ibnet benutzt werden Kombiniert viele der besten Eigenschaften von C sed awk und sh in einer einzigen universell einsetzbaren Sprache Perl wird auch als das Schweitzer Taschenmesser f r Programmier bezeichnet Ein harter Link auf perl Wird zum Erzeugen und Emailen von Fehlerberichten zu Perl oder seinen Modulen verwendet Erzeugt ausf hrbare Dateien aus Perl Programmen Zeigt Teile einer Dokumentation im pod Format an Die Perl Installations Pr fprozedur Damit wird gepr ft ob Perl und seine Bibliotheken korrekt installiert wurden Die Perl Version des Zeichensatz Konverters iconv Ein Werkzeug zum groben Umwandeln von Perl4 p1 Dateien in Perl5 pm Module Konvertiert pod Dateien in das HTML Format Konvertiert pod Dateien zu LaTeX Konvertiert pod Daten zu formatierter roff Eingabe Konvertiert pod Daten in formatierten ASCII Text Gibt Benutzungshinweise aus eingebetteten pod Dokumenten in Dateien aus Pr ft die Syntax von pod Dokumentationsdateien Zeigt ausgew hlte Abschnitte einer pod Dokumentation an Kommandozeilen Programm zum Testen des Moduls Test Harness Die Perl Version des Stream Editors sed Gibt C Strukturen aus die von cc
306. vom Compiler und der eingesetzten C Bibliothek Aber wenn man Programme mit und ohne Debugging Symbole vergleicht liegt der Faktor normalerweise zwischen 2 und 5 Vermutlich werden Sie niemals einen Debugger mit Ihrer Systemsoftware einsetzen daher k nnen Sie durch das Entfernen der Symbole eine Menge Platz sparen Der Einfachheit halber finden Sie im n chsten Kapitel ein Kommando mit dem Sie alle debugging Symbole von allen Programmen und Bibliotheken auf Ihrem System entfernen k nnen Weitere Informationen zum Thema Optimierung finden Sie in der Anleitung unter http wwn linuxfromscratch org hints downloads files optimization txt 6 59 Erneutes Stripping Da Sie Ihre Systemsoftware vermutlich nicht debuggen m chten k nnen Sie hier ca 90 MB Platz sparen Dazu entfernen Sie die Debugging Symbole Das zieht keine Probleme nach sich aber Sie k nnen die verkleinerten Programme danach nicht mehr vollst ndig debuggen Normalerweise gibt es mit dem folgenden Kommando keine Schwierigkeiten Aber Sie k nnten z B einen Tippfehler machen und dadurch das System unbrauchbar machen Bevor Sie strip ausf hren sollten Sie ein Backup machen Wenn Sie strip ausf hren m chten ist besondere Vorsicht geboten damit Sie strip nicht auf Programme anwenden die gerade ausgef hrt werden inklusive der Bash Shell Daher m ssen Sie die chroot Umgebung vorerst verlassen logout Und dann erneut betreten chroot LFS tools bin env i H
307. von Udevs Skript path_id ermittelt und ein Identifikationsmerkmal wird aus der Ger tehardware mit den Programmen ata_id bzw scsi_id ausgelesen je nach verwendetem Ger t Jede Vorgehensweise hat ihre Vorteile welche Methode Sie am besten verwenden h ngt davon ab welche Ger te nderungen stattfinden k nnen Fall sich voraussichtlich der physikalische Pfad zu einem Ger t ndern wird z B die Anschl sse Steckpl tze an denen es angeschlossen ist weil Sie ein Ger t an einen anderen IDE Bus oder USB Anschluss anschlie en m chten dann sollten Sie die Methode nach ID verwenden Wenn Sie jedoch damit rechnen m ssen dass sich das Identifikationsmerkmal eines Ger tes ndert und sie es mit einem gleichwertigen Ger t ersetzen m chten dann sollten Sie die nach Pfad Methode einsetzen Wenn beide Arten Ger te nderungen m glich sind w hlen Sie die Methode anhand der wahrscheinlich h ufigeren Anderung aus Wichtig Externe Ger te z B CD Rom Laufwerke ber USB sollten nicht mit Regeln nach Pfad angesteuert werden weil sich der physikalische Ger te Pfad mit jedem Anschlie en ndert Dieses Problem besteht mit allen extern angeschlossenen Ger ten die mit Udev ber den physikalischen Pfad angesteuert werden es ist nicht nur auf CD und DVD Laufwerke beschr nkt Wenn Sie sehen m chten welche Werte die Udev Skripte verwenden suchen Sie f r Ihr CD Rom Laufwerk den zugeh rigen Ordner in sys dies k nnte
308. vt psfaddtable psfgettable psfstriptable psfxtable resizecons setfont setkeycodes setleds setmetamode showconsolefont showkey unicode_start unicode_stop Andert das aktive Virtuelle Terminal Gibt unbenutzte Virtuelle Terminals wieder frei Gibt Tastatur bersetzungstabellen aus Gibt die Nummer des aktiven Virtuellen Terminals aus Gibt die Scancode zu Keycode Zuweisungstabelle des Kernels aus Setzt den Tastaturmodus bzw zeigt ihn an Setzt die Tastenwiederholrate und pausen oder zeigt sie an L dt Tastatur bersetzungstabellen L dt eine Unicode zu Schrift Zuweisungstabelle des Kernels Ein veraltetes Programm das benutzerdefinierte Zeichenausgabe Zuweisungstabellen in den Konsoletreiber l dt Dies wird heutzutage durch setfont erledigt Startet ein Programm in einem neuen Virtuellen Terminal VT Ein Link auf psfxtable Ein Link auf psfxtable Ein Link auf psfxtable Ein Satz von Werkzeugen zum Umgang mit Unicode Zeichentabellen f r Konsole Schriften ndert die Vorstellung des Kernels ber die Ausma e einer Konsole ndert EGA Enhanced Graphic Adapter und VGA Video Graphics Array Schriften in der Konsole L dt Scancode zu Keycode Zuweisungstabellen des Kernel N tzlich wenn Sie ein paar un bliche Tasten auf Ihrer Tastatur haben Stellt Tastaturoptionen und die LEDs ein Definiert die Behandlung von Meta Tasten auf der Tastatur Zeigt die aktuelle EGA VGA Konsole Schrift an Ze
309. w chen vereinen Zu Beginn war die Umsetzung der Idee ziemlich entmutigend Aber ich blieb engagiert bei der Sache Ich wollte schlie lich ein Linux System das meinen Anspr chen gerecht wurde und keine Standard Distribution die nicht meinen W nschen entsprach Um das meinen W nschen entsprechende Linux zu erstellen musste ich erstmal viele Probleme mit wechselseitigen Abh ngigkeiten und jede Menge Kompilierfehler beheben Als ich damit fertig war hatte ich jedoch ein voll funktionsf higes und anpassbares Betriebssystem Meine Vorgehensweise erm glicht das Erstellen sehr kompakter Linux Systeme die schneller sind und weniger Speicher verbrauchen als viele herk mmliche Betriebssysteme Ich nannte dieses System Linux From Scratch oder einfach kurz LFS Ich teilte meine Erfahrungen mit anderen Anh ngern der Linux Gemeinschaft und es stellte sich schnell ein wachsendes Interesse an der Fortsetzung meiner Arbeit mit Linux heraus Ein selbstgebautes LFS System entspricht nicht einfach nur Spezifikationen und Anforderungen von Anwendern sondern ist auch eine ideale Lernbasis f r Programmierer und Systemadministratoren mit der man sein Linux Wissen erweitern kann Aus diesem breiten Interesse heraus entstand dann das Projekt Linux From Scratch Das Buch Linux From Scratch soll dem Leser das Wissen vermitteln und n tige Anleitungen bereitstellen um ein eigenes Linux System zu entwerfen und zu erstellen Es hebt das Projekt Linux From Scratch un
310. w konform sein Das hei t sie m ssen mit Shadow Passw rtern umgehen k nnen Um Shadow Passw rter zu aktivieren benutzen Sie dieses Kommando pwconv Und um Shadow Gruppenpassworter zu aktivieren benutzen Sie dieses Kommando grpconv Die fiir useradd mitgelieferte voreingestellte Konfiguration ist fiir LFS nicht brauchbar Mit den folgenden 167 Linux From Scratch Version 6 3 Kommandos ndern Sie den pers nlichen Ordner f r neue Benutzer und verhindern das Erzeugen von Mail Spool Dateien useradd D b home sed i s yes no etc default useradd 6 50 3 Vergeben des Passworts f r root W hlen Sie ein Kennwort f r den Benutzer root und setzen Sie es mit dem Kommando passwd root 6 50 4 Inhalt von Shadow Installierte Programme Installierte Bibliotheken chage chfn chgpasswd chpasswd chsh expiry faillog gpasswd groupadd groupdel groupmems groupmod grpck grpconv grpunconv lastlog login logoutd newgrp newusers nologin passwd pwck pwconv pwunconv sg Link auf newgrp su useradd userdel usermod vigr Link auf vipw und vipw libshadow a so Kurze Beschreibungen chage chfn chgpasswd chpasswd chsh expiry faillog gpasswd groupadd groupdel groupmems groupmod grpck grpconv grpunconv lastlog login logoutd newgrp newusers ndert die maximale Anzahl von Tagen zwischen zwei n tigen Passwort nderungen Wird zum n
311. weitere gute Informationsquelle ist info readline 199 Linux From Scratch Version 6 3 Sie sehen hier eine generische globale Version der Datei inputrc Darin finden Sie auch erkl rende Kommentare zu den verschiedenen Optionen Beachten Sie bitte dass sich Kommentare nicht in der gleichen Zeile wie Kommandos befinden d rfen Erstellen Sie die Datei nun mit dem folgenden Befehl cat gt etc inputre lt lt EOF Begin etc inputrc Modified by Chris Lynn lt roryo roryo dynup net gt Allow the command prompt to wrap to the next line set horizontal scroll mode Off Enable 8bit input set meta flag Orn set input meta On e Turns Oe Gta olt Serrone set convert meta Off Keep the 8th bit for display SEE ourpuc meta On none visible or audible set bell styl e non All of the following map th SCAOS sequence of the value contained in the 1st argument to the readline specific functions eOd backward word eOc forward word Zens linux Console hell a beginning of line I e ZU nel or Een Hels beginning of history Ulf o Seimcoir lnilsicory Wels delete cnar e 2 quoted insert for xterm eOH beginning of line W eOrl es end of lin for Konsole Helis beginning of line Nelmls emed of l n End etc inputrc EOF 7 9 Die Startdateien von Bash Das Shell Programm bin bash im weiteren Verlauf nur shell oder bash genannt benutzt einige Startda
312. x From Scratch Version 6 3 Anmerkung man7 iso_8859 7 7 muss von der Umwandlung ausgeschlossen werden weil diese Datei bereits im Format ISO 8859 1 vorliegt das ist ein Fehler bei der Paketierung in man pages es 1 55 Zuk nftige Versionen ben tigen diese Auslassung nicht 6 45 3 Inhalt von Man DB Installierte Programme accessdb apropos catman convert mans lexgrog man mandb manpath whatis und zsoelim Kurze Beschreibungen accessdb apropos catman convert mans lexgrog man mandb manpath whatis zsoelim Gibt den Inhalt der whatis Datenbank in einer normal lesbaren Form aus Durchsucht die whatis Datenbank und gibt kurze Beschreibungen zu den Kommandos aus die die angegebene Zeichenkette enthalten Erzeugt oder aktualisiert die vorformatierten Hilfeseiten Formatiert Hilfeseite so um dass Man DB sie darstellen kann Zeigt eine einzeilige Zusammenfassung tiber eine Hilfeseite an Formatiert die angeforderte Hilfeseite und zeigt sie an Erzeugt und aktualisiert whatis Datenbanken Zeigt den Inhalt von MANPATH oder falls MANPATH nicht festgelegt ist einen passenden Suchpfad basierend auf den Einstellungen in man conf und der Umgebung des Benutzers an Durchsucht die whatis Datenbank und zeigt eine kurze Beschreibung zu den Systemkommandos an die das bergebene Stichwort als separates Wort enthalten Liest Dateien und ersetzt Zeilen der Form so lt Datei gt gt mit dem tats chlichen Inhalt v
313. x an Ihre eigenen Anforderungen und Vorlieben anzupassen Einer der gr ssten Vorteile von LFS ist dass Sie mehr Kontrolle ber Ihr System erhalten ohne sich auf die Linux Version von jemand anders verlassen zu m ssen Mit LFS sitzen Sie selbst am Steuer und k nnen jeden Aspekt Ihres Systems beeinflussen wie zum Beispiel das Ordner Layout oder die Einrichtung der Bootskripte Auch bestimmen Sie wo warum und wie Programme installiert werden Ein weiterer Vorteil von LFS ist die M glichkeit Linux sehr kompakt zu halten Wenn Sie eine bliche Linux Distribution verwenden installieren Sie f r gew hnlich viele Programme die Sie nie benutzen werden Diese liegen dann unn tz auf der Festplatte und verbrauchen Speicherplatz oder CPU Ressourcen Es ist leicht ein LFS System unter 100 MB zu installieren Das ist immer noch zu gro Einige LFS Mitglieder haben an einem sehr kleinen Embedded Linux gearbeitet Sie haben einen Apache Webserver auf einem Linux From Scratch mit gerade mal 8 MB belegtem Festplattenspeicher installiert Durch weitere Einschr nkungen k nnte das System auf bis zu 5 MB oder weniger schrumpfen Versuchen Sie das mal mit einer herk mmlichen Linux Distribution Man k nnte die verschiedenen Linux Distributionen mit einem Hamburger aus einer Fast Food Kette vergleichen man wei nie genau was man isst LFS auf der anderen Seite w re nicht der Burger sondern vielmehr das Rezept Man kann das Rezept berpr fen ungewollt
314. y c v Wl verbose amp gt dummy log readelf 1 a out grep lib Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos ist Requesting program interpreter lib ld linux so 2 Beachten Sie dass nun 1ib der Prefix zum dynamischen Linker ist Uberpriifen Sie nun dass die korrekten Startdateien verwendet werden grep o usr lib crt lin succeeded dummy log Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so 91 Linux From Scratch Version 6 3 oder so hnlich aus J Wista Mskbeycmielnomsucceeded usz lib erei1 o sueceeadad fuse lio eren o Succeeded Stellen Sie sicher dass der Compiler nach den korrekten Header Dateien sucht grep B1 usr include dummy log Dieses Kommando sollte erfolgreich mit den folgen Ausgaben beendet werden imeluee lt 2 gt search Starts heres usr include Stellen Sie als n chstes sicher dass der neue Linker mit den korrekten Suchpfaden verwendet wird grep SEARCH usr lib dummm Log sed s nlg Wenn alles korrekt funktioniert sollten keine Fehler auftreten und die Ausgabe des letzten Kommandos sieht so oder so hnlich aus SEARCH_DIR too1ls i1686 pc linux gnu lib SEARCH DIR usr lib SEARCH OD LE Danach pr fen Sie ob die korrekte libc eingesetzt wird g
315. ystem von Hand erstellt E gibt viele Paketverwaltungen jede hat ihre Vor und Nachteile Es ist schwierig eine zu finden die alle Leser zufriedenstellen w rde Es wurden einige Tipps zu diesem Thema geschrieben Lesen Sie im Hints Projekt nach vielleicht finden Sie eine passende Paketverwaltung f r Sie 6 3 1 Aktualisierung von Paketen Mit einer Paketverwaltung ist es recht einfach ein Paket zu aktualisieren Grunds tzlich kann man aber auch die Anleitungen in LFS und BLFS zur Aktualisierung auf neuere Versionen verwenden Im Folgenden finden Sie allerdings ein paar wichtige Dinge die Sie beim Aktualisierungen von Programmen beachten sollten insbesondere auf einem laufenden System Wenn eines der Toolchain Pakete Glibc GCC oder Binutils auf eine neue Minor Version aktualisiert werden muss ist es meist besser LFS neu zu installieren Es ist m glich dass einfaches Neuinstallieren der T11 Linux From Scratch Version 6 3 betroffenen Pakete in der richtigen Abh ngigkeitsreihenfolge ausreicht aber davon wird dringend abgeraten Wenn Sie also z B glibc 2 2 x auf glibc 2 3 x aktualisieren m ssen sollten Sie neu installieren Die Aktualisierung innerhalb einer Mikro Version ist normalerweise problemlos m glich wenn auch nicht zu 100 garantiert Beispielsweise sollte ein Versionsupdate von glibc 2 3 4 auf glibc 2 3 5 keine Schwierigkeiten bereiten Wenn Sie ein Paket aktualisieren das gemeinsam verwendete Bibliotheken
316. z B whatis verwendet werden sed i e t usr man d e t usr local man d src man_db conf in Die dritte Anpassung k mmert sich um Programme die Man DB zur Laufzeit finden sollte aber derzeit noch nicht installiert sind cat gt gt include manconfig h in lt lt EOF define WEB_BROWSER exec usr bin lynx define COL usr bin col define VGRIND usr bin vgrind define GRAP usr bin grap EOF Das Programm col ist ein Teil von Util Linux lynx ist ein textbasierter Web Browser siehe BLFS Installationsanleitung vgrind wandelt Programmquellen in Groff Eingaben um und grap ist niitzlich fiir Typographiezeichen in Groff Dokumenten Normalerweise werden vgrind und grap zum Anzeigen von Handbuchseiten nicht ben tigt Sie sind weder Teil von LFS noch von BLFS jedoch sollten Sie in der Lage sein diese nach der Installation von LFS selbst zu installieren Wenden Sie abschlie end einen Patch auf die Quellen an um Ausgabefehler zu vermeiden wenn die Anzeige LE einer Hilfeseite durch Dr cken von q vorzeitig beendet wird patch Npl i man db 2 4 4 fixes 1 patch Bereiten Sie Man DB zum Kompilieren vor configure prefix usr enable mb groff disable setuid Die Bedeutung der configure Parameter enable mb groff Dadurch verwendet man die Groff Ger te ascii8 und nippon zur Darstellung bzw Formatierung von nicht ISO 8859 1 kodierten H
317. ze Beschreibungen bison Erzeugt aus einer Reihe von Regeln ein Programm zum Analysieren der Struktur von Textdateien Bison ist ein Ersatz f r yacc Yet Another Compiler Compiler yacc Ein Wrapper zu bison Er wird benutzt weil immer noch viele Programm yacc anstelle von bison aufrufen Bison wird dann mit der Option y aufgerufen liby a Die Yacc Bibliothek die die Implementierung von yacc kompatiblen yyerror und main Funktionen enth lt Diese Bibliothek ist normalerweise nicht sehr n tzlich aber sie wird von POSIX vorausgesetzt 112 Linux From Scratch Version 6 3 6 20 Ncurses 5 6 Das Paket Ncurses enth lt Bibliotheken f r den Terminal unabh ngigen Zugriff auf Textbildschirme Gesch tzte 0 7 SBU Kingef herbeit tigter 31 MB Festplattenplatz 6 20 1 Installation von Ncurses Der folgende Patch behebt einige Fehler die vom Analyse Programm f r statischen Code Coverity gefunden wurden patch Npl i ncurses 5 6 coverity_fixes 1 patch Bereiten Sie Ncurses zum Kompilieren vor configure prefix usr with shared without debug enable widec Die Bedeutung des configure Parameters enable widec Durch diesen Parameter werden anstelle der normalen Bibliotheken libncurses so 5 6 die Versionen f r Multibyte Zeichen installiert libncursesw so 5 6 Diese Wide Character Bibliotheken sind sowohl mit Multibyte als auch mit normalen 8 Bit Locales verwendbar Die beiden Bibl
318. zeilen in nicht englischen Locales verarbeiten zu k nnen Korrekte landesspezifische alphabetische Sortierung Passende Papiergr e Korrekte Formatierung von W hrungs Zeit und Datumswerten Ersetzen Sie lt 11 gt mit dem zweistelligen L ndercode f r die gew nschte Sprache z B de und lt CC gt mit dem zweistelligen Code f r das gew nschte Land z B DE oder AT lt charmap gt sollte durch den korrekten Zeichensatz ersetzt werden z B iso8859 15 Auch optionale Parameter wie euro k nnen angeh ngt werden Mit dem folgenden Kommando erhalten Sie eine Liste aller von Glibc unterst tzten Locales locale a Locales haben h ufig mehrere Synonyme Beispielsweise wird ISO 8859 1 h ufig auch als iso8859 1 und 15088591 geschrieben Einige Programme k nnen nicht mit den verschiedenen Synonymen umgehen daher ist es das sicherste den korrekten Namen f r ein Locale anzugeben Um den kanonischen Namen f r ein Locale herauszufinden f hren Sie das folgende Programm aus wobei lt locale name gt die Ausgabe von locale a f r Ihr bevorzugtes Locale ist in diesem Beispiel de_DE is0o88591 LC_ALL lt locale Name gt locale charmap F r das Locale de_DE iso88591 ergibt das obige Kommando LSO S9859 1 Das endg ltige Ergebnis lautet also de_DE ISO 8859 1 Bevor Sie diese Locale Einstellung allerdings in eine der Startdateien der Bash eintra
319. zen dazu ein wenig GNU Magie Durch vorsichtiges Anpassen des Suchpfades f r den Standard Linker erreichen Sie dass Programme nur gegen die gew nschten Bibliotheken gelinkt werden Durch vorsichtiges Anpassen von gecs specs Datei teilen Sie dem Compiler mit welcher Dynamische Linker verwendet wird Als erstes wird Binutils installiert da sowohl GCC als auch Glibc beim Durchlaufen des configure Skriptes einige Tests zum Assembler und Linker durchf hren und auf dem Ergebnis basierend bestimmte Funktionen ein bzw ausschalten Das ist wichtiger als man zun chst denken mag Ein falsch eingerichteter GCC oder Glibc kann zu Fehlern in der Toolchain f hren die erst am Ende der Installation des LFS Systems bemerkt werden Zum Gl ck weisen Fehlschl ge beim Durchlaufen der Testsuites im Regelfall auf solche Probleme hin bevor zuviel Zeit vergeudet wird Binutils installiert seinen Assembler an zwei Stellen tools bin und tools ZIEL_TRIPPLET bin In Wirklichkeit sind die Programme an der einen Stelle mit denen an der anderen durch einen harten Link verkn pft Ein wichtiger Aspekt des Linkers ist seine Suchreihenfolge f r Bibliotheken Genaue Informationen erhalten Sie mit Id und dem Parameter verbose Zum Beispiel ld verbose grep SEARCH gibt die aktuellen Suchpfade und ihre Reihenfolge aus Sie k nnen sehen welche Dateien tats chlich von Id verlinkt werden indem Sie ein Dummy Programm kompilieren und den Parameter
320. zerkonten in einem Durchlauf 168 nologin passwd pwck pwconv pwunconv sg su useradd userdel usermod vigr vipw libshadow Linux From Scratch Version 6 3 verwendet Zeigt einen Hinweis an dass ein Benutzerkonto nicht verf gbar ist Dies ist als Standard Shell f r deaktivierte Benutzerkonten gedacht ndert das Passwort f r einen Benutzer oder eine Gruppe Pr ft die Integrit t der Passwort Dateien etc passwd und etc shadow Erzeugt oder aktualisiert die Shadow Passwort Datei aus der normalen Passwort Datei Aktualisiert etc passwd aus etc shadow und l scht letztere danach F hrt ein Kommando mit der angegebenen GID aus F hrt eine Shell mit ge nderter Benutzer und Gruppen ID aus Erzeugt einen neuen Benutzer mit dem angegebenen Namen oder aktualisiert die Vorgaben f r neue Benutzer L scht das angegebene Benutzerkonto ndert Loginname UID Shell Gruppe Pers nlichen Ordner und hnliches f r einen Benutzer Kann zum Bearbeiten von etc group oder etc gshadow Dateien benutzt werden Kann zum Bearbeiten von etc passwd oder etc shadow Dateien benutzt werden Enth lt Funktionen die von den meisten der Programme in diesem Paket verwendet werden 169 Linux From Scratch Version 6 3 6 51 Sysklogd 1 4 1 Die in Sysklogd enthaltenen Programme dienen zum Aufzeichnen von Systemmeldungen zum Beispiel denen des Kernels wenn ungew hnliche Ereignisse auftreten Gesch tzte weni
321. zip 1 3 12 451 kB Webseite http www gzip org Download http ftp gnu org gnu gzip gzip 1 3 12 tar gz MD5S Priifsumme b5bac2d21840ae077e0217bc5e4845b1 e Iana Etc 2 20 191 kB Webseite http www sethwklein net projects iana etc Download http www sethwklein net projects iana etc downloads iana etc 2 20 tar bz2 MD5S Priifsumme 51d584b7b6115528c21le8ea32250f2b1 e Inetutils 1 5 1 357 kB Webseite http www gnu org software inetutils Download http ftp gnu org gnu inetutils inetutils 1 5 tar gz 27 Linux From Scratch Version 6 3 MDS5 Pr fsumme aeacd11d19bf25c89d44e ff38346bdAfb9I e IPRoute2 2 6 20 070313 394 kB Webseite http linux net osdl org index php Iproute2 Download http developer osdl org dev iproute2 download iproute2 2 6 20 0703 13 tar gz MD5S Priifsumme 76c5883aadf740761fa2dd70b661le8cc e Kbd 1 12 618 kB Download http www kernel org pub linux utils kbd kbd 1 12 tar bz2 MD5S Priifsumme 069d1175b4891343b107a8ac2b4a39Ff6 e Less 406 285 kB Webseite http www greenwoodsoftware com less Download http www greenwoodsoftware coml less less 406 tar gz MDS5 Pr fsumme c6062663b5be92dfcdfd6300ba0811e4 LFS Bootskripte 6 3 39 kB Download http www linuxfromscratch org lfs downloads 6 3 lfs bootscripts 6 3 tar bz2 MD5S Priifsumme 0ecbdd3b774d519fc535a0a595aa5b86 e Libtool 1 5 24 2 851 kB Webseite http www gnu org software libtool Downloa
322. zu HTML Kopiert den Inhalt einer Datei zur Standardausgabe au er das Zeilen zwischen und als Zitat interpretiert werden und Zeilen zwischen R und R2 als Kommandos behandelt werden die angeben wie mit Zitaten umgegangen werden soll Liest Dateien und ersetzt Zeilen der Form so lt Datei gt gt mit dem tats chlichen Inhalt von lt Datei gt Kompiliert in troff Eingabedateien eingebettete Beschreibungen von Tabellen zu Kommandos die von troff unterst tzt werden Erzeugt Schriftdateien zur Verwendung mit groff Tdvi Ist hochkompatibel mit Unix troff blicherweise wird es mit dem Kommando groff aufgerufen welches auch Pr prozessoren und Postprozessoren in der richtigen Reihenfolge und mit den richtigen Optionen aufruft 145 Linux From Scratch Version 6 3 6 39 Gzip 1 3 12 Das Paket Gzip enth lt Programme zum Komprimieren und Dekomprimieren von Dateien Gesch tzte weniger als 0 1 SBU Kingef herbeit tigter 2 2 MB Festplattenplatz 6 39 1 Installation von Gzip Bereiten Sie Gzip zum Kompilieren vor configure prefix usr bindir bin Kompilieren Sie das Paket make Um das Ergebnis zu pr fen f hren Siemake check aus Installieren Sie das Paket make install Verschieben Sie einige Programme die sich nicht in den Basis Ordnern befinden m ssen mv v bin gzexe uncompress zcmp zdiff zegrep usr bin mv v bin zfgrep zforce zgrep zless zmore

Download Pdf Manuals

image

Related Search

Related Contents

INSTRUCCIONES PARA EL USUARIO  「今日から役立つ、実践ムービーカメラ講座3」  

Copyright © All rights reserved.
Failed to retrieve file