Copyright © 2001-2003 Equipe de développement BLFS
Copyright (c) 2001-2003, BLFS Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions in any form must retain the above copyright notice, this list of conditions and the following disclaimer.
Neither the name of "Linux From Scratch" nor the names of its contributors may be used to endorse or promote products derived from this material without specific prior written permission.
Any material derived from Linux From Scratch must contain a reference to the "Linux From Scratch" project.
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 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Ce livre est dédié à la communauté LFS.
Ayant aidé sur Linux From Scratch pendant un moment, j'ai remarqué que nous avions de plus en plus de requêtes concernant la façon de continuer le système de base LFS. A ce moment, la seule assistance offerte spécifiquement en relation avec LFS concerne les astuces LFS (http://www.linuxfromscratch.org/hints). La plupart des astuces LFS sont extrêmement bonnes et bien écrites mais je voyais toujours, et d'autres avec moi, un besoin pour une aide plus importante pour aller après LFS (Beyond LFS) - c'est-à-dire BLFS.
BLFS a pour but d'être mieux que les astuces LFS converties en XML bien que la grande partie de notre travail est basée sur les astuces et, donc, quelques auteurs écrivent à la fois les astuces et les sections BLFS y correspondant. Nous espérons que nous pouvons vous procurer assez d'informations pour non seulement gérer votre système comme vous le souhaitez, qu'il soit un serveur web ou un système multimédia à usage bureautique, mais aussi que vous allez apprendre beaucoup sur la configuration du système.
Merci comme toujours à tous ceux dans la communauté LFS/BLFS et spécifiquement ceux qui ont contribué avec des instructions, écrit du texte, répondu à des questions et, plus généralement, crié lorsque certaines choses étaient mal faites!
Finalement, nous vous encourageons à intégrer la communauté; posez des questions sur la liste de diffusion ou sur la passerelle de news et joignez dans la joie le canal #lfs sur irc.linuxfromscratch.org. Vous pouvez trouver plus de détails sur tout ceci dans la section Introduction de ce livre.
Amusez-vous avec BLFS.
Mark Hymers <markh@linuxfromscratch.org>
Editeur de BLFS (Juillet 2001 - Mars 2003)
Je me rappelle toujours comment j'ai découvert le projet BLFS project et comment j'ai débuté en utilisant les instructions qui étaient complétées au fur et à mesure. Je ne pouvais croire à quel point il était merveilleux d'obtenir une application complète et fonctionnelle très rapidement, avec des explications sur la façon de faire cela. Malheureusement, pour moi, j'ai été assez rapidement confronté à des pages indiquant "A faire". J'ai fait ce que la plupart auraient fait, j'attendais que quelqu'un d'autre les fasse. Cela a pris assez peu de temps avant que je ne regarde Bugzilla pour faire quelque chose de simple. Comme avec tout apprentissage par l'expérience, la définition du simple a facilement changé.
Nous vous encourageons toujours à vous investir car BLFS n'est jamais vraiment fini. Contributeur ou simple utilisateur, nous espérons que vous apprécierez votre expérience BLFS.
Larry Lawrence <larry@linuxfromscratch.org> Editeur BLFS (Mars 2003)
Ce livre est destiné à ceux qui ont construit un système basé sur le livre LFS. Il sera aussi utile à ceux qui utilisent d'autres distributions, mais qui, pour une raison ou une autre, veulent construire manuellement certains logiciels et ont besoin d'une assistance. BLFS peut être utilisé pour créer un ensemble de systèmes divers et donc l'audience cible est probablement aussi large que celui du livre LFS. Si vous avez trouvé LFS utile, vous devriez aussi apprécier ceci!
Ce livre est divisé en plusieurs parties que voici.
Ici, nous introduisons la configuration basique et règlons des problèmes de sécurité. Nous discutons aussi d'un ensemble d'éditeurs, systèmes de fichiers et shells non couverts dans le livre LFS principal.
Dans cette section, nous couvrons les bibliothèques qui sont souvent nécessaires pour le reste du livre ainsi que des utilitaires systèmes. Des informations sur la programmation (incluant la recompilation de GCC pour ajouter le support de tout un ensemble de langages) concluent cette partie.
Ici, nous couvrons comment se connecter à un réseau quand vous n'utilisez pas la configuration simple de l'IP statique donnée dans le livre LFS principal.
Les bibliothèques réseau et outils réseau en ligne de commande en sont la grosse partie.
Ici, nous nous occupons de configurer les serveurs de mails et autres (tels que SSH, CVS, etc.).
Dans cette partie, nous nous occupons des logiciels de bases de données et des serveurs web.
Cette partie explique comment configurer une installation de XFree86 avec quelques bibliothèques génériques X et des gestionnaires de fenêtres.
Pour ceux qui veulent utiliser l'environnement de bureau KDE ou certaines parties de celui-ci, cette partie en parle.
GNOME est la principale alternative à KDE dans l'arène des environnements de bureau et nous couvrons à la fois GNOME-1.4 et GNOME-2.2 ici.
Les programmes Office et les navigateurs web graphiques sont importants pour la plupart des gens. Ils font partie de ce livre avec quelques logiciels génériques X.
Ici, nous couvrons les bibliothèques de configuration multimédia et pilotes avec quelques programmes audio, vidéo et de gravure de CD.
La partie PST (Printing, Scanning and Typesetting) de ce livre couvre de Ghostscript, CUPS à Docbook en passant par l'installation de TeX.
Les annexes couvrent l'information qui n'appartient pas au livre principal; ils sont ici principalement comme référence.
Le livre Beyond LinuxFromScratch est créé pour continuer là où le livre LFS s'arrête. Contrairement au livre LFS, il n'est pas conçu pour être suivi tout du long. Lire la partie Quelles sections de ce livre m'intéressent? de ce chapitre doit vous aider tout le long du livre.
S'il vous plaît, lisez la plupart de cette partie avec attention car il explique un certain nombre de conventions utilisées tout au long de ce livre.
Nous voulons remercier les personnes et les organisations suivantes pour leurs contributions aux projets BLFS et LFS:
Tous les gens listés sur la page des crédits en soumettant des correctifs, des instructions et des corrections au livre. L'ancien éditeur souhaite particulièrement remercier Bruce, Larry et Billy pour les entrées énormes sur le projet.
Mark Stone <mstone@linux.com> pour la donation des serveurs linuxfromscratch.org.
Gerard Beekmans <gerard@linuxfromscratch.org> pour avoir lancé et et écrit la vaste majorité des projets LFS.
Jesse Tie-Ten-Quee <highos@linuxfromscratch.org> pour répondre à de nombreuses questions sur IRC, avoir énormément de patience et pour ne pas avoir tué l'ancien éditeur pour la blague sur l'annonce originale de BLFS!
DREAMWVR.COM pour avoir sponsorisé en donnant des ressources variées à LFS et à ses sous-projets.
Robert Briggs pour la donation des noms de domaine linuxfromscratch.org and linuxfromscratch.com.
Frank Skettino <bkenoah@oswd.org> à OSWD pour voir créé le design initiale des sites web LFS et BLFS.
Garrett LeSage <garrett@linux.com> pour la création de la bannière LFS.
Jeff Bauman (ancien co-éditeur du livre) pour une assistance en démarrant BLFS.
Beaucoup d'autres personnes sur les listes de diffusions LFS et BLFS qui ont fait ce livre avec leur suggestions, tests du livre, et envois de rapports de bugs.
Beaucoup de personnes ont contribué directement et indirectement à BLFS. Cette page liste tous ceux dont nous nous rappelons. Nous pouvons très bien avoir oublié des personnes et, si vous pensez avoir été oublié, dites-le nous. Beaucoup de remerciements à tous ceux de la communauté LFS pour leur assistance sur ce projet. Si vous êtes dans la liste et souhaitez avoir votre adresse email incluse, encore une fois, dites-le nous à larry@linuxfromscratch.org et nous serons ravi de la rajouter. Nous n'incluons pas les adresses email par défaut; donc si vous souhaitez être inclus, indiquez-le quand vous nous contacterez.
Editeur: Larry Lawrence <larry@linuxfromscratch.org>
Co-Editeurs: Bruce Dubbs, Mark Hymers, Tushar Teredesa et Igor Zivkovic
Chapitre 01. Basé sur le texte d'introduction de LFS par Gerard Beekmans, modifié par Mark Hymers pour BLFS.
Chapitre 02: Le débat /usr contre /usr/local: Andrew McMurry.
Chapitre 02: Continuer après BLFS: Tushar Teredesai.
Chapitre 03: /etc/inputrc: Chris Lynn.
Chapitre 03: Personnalisation de login & vimrc: Mark Hymers.
Chapitre 03: Script des nombres aléatoires Larry Lawrence.
Chapitre 03: Création d'un disque de démarrage personnalisé Mike Bedwell et étendu par Bill Maltby.
Chapitre 03: Les fichiers de démarrage du shell Bash James Robertson.
Chapter 03: Documents compressés Olivier Peres.
Chapter 04: Pare-feu: Henning Rohde, et merci à Jeff Bauman.
Chapitre 11: Which Mark Hymers avec des remerciements pour Seth Klein et Jesse Tie-Ten-Quee.
Chapitre 26: XFree86 Bruce Dubbs.
Chapitre 28: Introduction aux gestionnaires de bureau Bruce Dubbs.
Chapitre 29: KDE: Bruce Dubbs.
Chapitre 32: GNOME: Larry Lawrence.
aalib, Alsa, ffmpeg, gocr, MPlayer, opendivx, transcode, xvid et xsane: Alex Kloss
AbiWord, at-spi, ATK, audiofile, avifile, bc, bonobo-activation, bug-buddy, cdrdao, cdrtools, cpio, curl, dhcp, enlightenment, eog, esound, fcron, fluxbox, FNLIB, gail, galeon, gconf-editor, gdbm, gedit, gimp, GLib2, gmp, gnet, gnome-applets, gnome-desktop, gnome-games, gnome-icon-theme, gnome-libs, gnome-media, gnome-mime-data, gnome-panel, gnome-session, gnome-system-monitor, gnome-terminal, gnome-themes, gnome-utils, gnome-vfs, gnome2-user-docs, gnumeric, GTK+2, gtk-doc, gtk-engines, gtk-thinice-engine, eel, imlib, intltool, lame, libao, libart_lgpl, libbonobo, libbonoboui, libgail-gnome, libglade2, libgnome, libgnomecanvas, libgnomeprint, libgnomeprintui, libgnomeui, libgsf, libgtkhtml, libgtop, libIDL, libogg, librep, librsvg, libvorbis, libwnck, libxml2, libxslt, libzvt, libzvt, linc, LPRng, Linux_PAM, metacity, MPlayer, mutt, nautilus, nautilus-media, oaf, OpenJade, OpenSP, OpenSSH, ORBit, ORBit2, pan, Pango, pccts, pcre, pkgconfig, postfix, procmail, Python, QT, rep-gtk, ruby, sawfish, scrollkeeper, sgml-common, sgml-dtd, shadow, startup-notification, unzip, vorbis-tools, vte, wget, XFce, xine, xml-dtd, yelp et zip: Larry Lawrence
CDParanoia, mpg123, SDL et XMMS: Jeroen Coumans
alsa, cvs, dhcpcd, gpm, hdparm, libjpeg, libmng, libpng, libtiff, libungif, links, lynx, openssl, tcsh, which, zsch, zlib: Mark Hymers
daemontools, traceroute et ucspi-tcp: Jeff Bauman
db et lcms: Jeremy Jones et Mark Hymers
aspell, balsa, bind, bonobo, bonobo-conf, cvs server, db-3.3.11, db-3.1.17, emacs, evolution, exim, expat, gal, gnome-print, GnuCash, gtkhtml, guppi, guile, guppi, g-wrap, leafnode, lesstif, libcapplet, libesmtp, libfam, libghttp, libglade, pine, portmap, PostgreSQL, pspell, qmail, qpopper, readline, reiserfs, Samba, sendmail, slib, slrn, soup, tex, tcp-wrappers et xinetd: Billy O'Connor
ProFTPD et rsync: Daniel Baumann
ESP Ghostscript: Matt Rogers
PHP: Jeremy Utley
fetchmail et wvdial: Paul Campbell
udftools: Richard Downing
compface, DirectFB, FLAC, id3lib, Imlib2, liba52, libdv, libdvdcss, libdvdread, libFAME, libmad, libmpeg3, LZO, MC, NASM, OpenQuicktime, Speex et SVGAlib: Igor Zivkovic
tripwire : Manfred Glombowski
alsa-oss, inetutils, gdk, GLib, GTK+, libxml et vim: James Iwanek
iptables: Henning Rohde
joe, nano, nmap, slang, w3m et whois: Timothy Bauscher
MySQL: Jesse Tie-Ten-Quee
fontconfig, gcc, gcc2, j2sdk, mozilla, nas, openoffice, ispell, nail, STLport, tcl, tk et bind-utils: Tushar Teredesai
ncpfs et RP-PPPoE: DJ Lucas
ntp: Eric Konopka
Gerard Beekmans pour généralement nous lancer et pour faire tourner le project complet LFS.
Bruce Dubbs pour avoir écrit l'astuce kde.txt à partir de laquelle nous avons récupéré beaucoup d'informations utiles.
Lee Harris pour avoir écrit l'astuce gpm.txt à partir de laquelle nos instructions gpm sont basées.
Marc Heerdink pour avoir écrit l'astuce gpm2.txt à partir de laquelle nos instructions gpm2 sont basées.
Jeremy Jones (aussi connu en tant que mca) pour ses modifications des Makefiles et son aide générale.
J_Man pour avoir soumis un fichier gpm-1.19.3.diff à partir duquel nos instructions gpm sont basées.
Scot Mc Pherson pour avoir écrit l'astuce gnome-1.4.txt à partir de laquelle nous avons récupéré des informations utiles et nous avoir averti que GNOME2 était un jouet.
Tushar Teredesai pour avoir écrit l'astuce 'Compiling Java 2 SDK from Scratch' à partir de laquelle j2sdk est basé et pour avoir écrit l'astuce DocBook utilisée tout au long du chapitre Frappe clavier.
Oliver Brakmann pour avoir développé le correctif dhcpcd pour la conformance avec FHS.
DJ Lucas pour avoir contribué au correctif dhcpcd et à de nombreuses autres occasions lorsque la section dhcp a été développé.
Billy O'Connor pou avoir construit gnome2 tant de fois (je croyais que mes quatre fois étaient beaucoup) et avoir été d'une grande aide en commentant cette section.
Ted Riley pour avoir écrit l'astuce Linux-PAM + CrackLib + Shadow à partir de laquelle la résintallation de shadow en utilisant PAM a été basée.
Fernando Arbeiza pour avoir fait de la qualité assurance de grande valeur sur Shadow en utilisant PAM. L'accès à la machine qu'il a sauvé aurait pu être la vôtre.
Jim Harris pour avoir écrit l'astuce dig-nslookup-host.txt sur lequel les instructions pour bind-utils sont basées.
Eric Konopka pour avoir écrit l'astuce ntp.txt sur laquelle la section est basée.
Marc Heerdink pour avoir créé des correctifs pour tcp_wrappers et portmap.
Contrairement au livre LinuxFromScratch, BLFS n'est pas fait pour être suivi de bout en bout. LFS apporte des instructions sur la création d'un système de base capable de devenir un serveur web ou un système de bureau multimédia. BLFS va essayer de vous guider du système de base vers la destination que vous souhaitez et donc des choix sont très largement nécessaires.
Tous ceux qui lisent ce livre voudront lire certaines sections. La partie Introduction - que vous êtes actuellement en train de lire - contient des informations génériques. Prenez spécialement note des informations dans Informations Importantes (Important Information), car il contient des commentaires sur comment déballer des logiciels et différents autres aspects qui s'appliqueront tout au long de ce livre.
La partie sur Configuration post LFS et logiciels supplémentaires est là où de nombreuses personnes souhaiteront aller après. Elle s'occupe non seulement de configuration mais aussi de Sécurité (Chapitre 4), de Systèmes de fichiers (Chapitre 5), d'Editeurs (Chapitre 6) et de Shells (Chapitre 7). En fait, vous pourriez utiliser certaines parties de ce chapitre (et spécialement les sections sur les Editeurs et les Systèmes de fichiers) lors de la construction de votre système LFS.
Après ces indications de bases, la plupart des gens voudront au moins naviguer à travers toute la partie General Libraries and Utilities du livre. Cette partie contient des informations sur de nombreux points qui sont des prérequis pour d'autres sections du livre ainsi que d'autres points (telles que la Programmation (Chapitre 12) utiles en eux-mêmes. Notez que vous n'avez pas à installer toutes les bibliothèques et packages trouvés dans cette partie pour commencer, chaque procédure d'installation BLFS indique ses dépendances de façon à ce que vous puissiez savoir quel programme installer et de quoi il a besoin.
Ensuite, la plupart des gens vont probablement regarder les parties Connecting to a Network et Basic Networking. La première s'occupe de la connexion à Internet ou à votre LAN en utilisant une grande variété de méthodes comme DHCP (Chapitre 14) et des connexions distantes par modem (Chapitre 13). Le deuxième donne des indications sur les bibliothèques réseau (Chapitre 16) et de nombreux utilitaires réseaux simples.
Une fois que vous vous êtes occupé des bases, vous pourriez vouloir configurer des services réseaux plus avancés. Ils concernent les parties Server Networking et Content Serving du livre. Ceux qui souhaitent construire des serveurs y trouveront les informations suffisantes pour se lancer. Notez que Content Serving contient aussi des informations sur différents packages de bases de données.
Les prochaines parties de ce livre intéressent principalement les systèmes de bureau. Nous commençons avec une partie sur X and Window Managers. Cette partie s'occupe aussi de quelques bibliothèques génériques basées sur X (Chapitre 27). Après ça, KDE et gnome ont leur propre partie, suivies par X Software.
Ensuite, nous voyons les packages en relation avec Multimedia. Notez que beaucoup de monde souhaiterait utiliser les instructions ALSA-0.9.6 de ce chapitre au commencement de leur voyage avec BLFS; ils sont placés ici simplement parce qu'il s'agit de la place la plus logique pour eux.
La partie finale du livre BLFS s'occupe de Printing, Scanning and Typesetting. Elle est utile pour ceux construisant un système de bureau mais même pour ceux créant des systèmes servant principalement de serveurs.
Finalement, le chapitre Annexe contient différents points d'informations utiles qui peuvent vous servir de références.
Nous espérons que vous apprécierez d'utiliser BLFS et que vous le trouverez utile.
Pour rendre les choses faciles à comprendre, il y a un certain nombre de conventions qui sont utilisées tout au long du livre. Voici quelques exemples:
./configure --prefix=/usr |
Cette façon de présenter montre les textes qui doivent être tapés exactement comme ils sont écrits, sauf si le texte autour dit le contraire. Cela est aussi utilisé dans les explications pour mettre en évidence les commandes auxquelles on fait référence.
install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir'
Cette façon de présenter (texte de largeur fixe) montre les textes qui apparaissent à l'écran, très souvent comme résultat à la fin d'une commande. C'est aussi utilisé pour faire ressortir les noms de fichiers comme /etc/lilo.conf.
Emphasis
Cette façon de présenter est utilisée dans ce livre pour différentes choses, principalement pour attirer l'attention sur des points importants mais aussi pour donner des exemples sur ce qu'il faut taper.
http://www.linuxfromscratch.org/
Cette façon de présenter est utilisée pour les liens hypertextes internes à ce livre mais aussi externes comme les HOWTOs, les sites de téléchargement, les sites web, etc.
cat > $LFS/etc/group << "EOF" root:x:0: bin:x:1: ...... EOF |
Cette façon de présenter est utilisée principalement lorsqu'il y a création de fichiers de configuration. La première commande (en gras) demande au système de créer le fichier $LFS/etc/group à partir de tout ce qui peut être tapé dans les lignes qui suivent jusqu'à ce que la séquence EOF soit rencontrée. Par conséquent, l'ensemble de cette partie est généralement tapé comme elle est présentée.
Ceci est le livre BLFS version 5.0 daté du 6 novembre 2003. Si cette version est ancienne de plus d'un mois, une nouvelle version est probablement déjà disponible au téléchargement. Vérifiez un des sites miroirs ci-dessous pour les versions à jour.
Le projet BLFS dispose d'un certain nombre de miroirs configurés dans le monde entier pour vous faciliter l'accès au site web. Merci de jeter un oeil sur le site http://www.linuxfromscratch.org/blfs pour une liste actualisée des miroirs.
Merci de noter que ce journal ne liste que le nom de l'éditeur responsable des modifications dans le CVS; merci de lire la page Crédits du chapitre 1 pour plus de détails sur qui a écrit quoi.
5.0 - 6 novembre 2003
November 6th, 2003 [billyoc]: Changed location of Samba users' roaming profiles.
November 4th, 2003 [tushar]: Updated to galeon-1.3.10.
November 4th, 2003 [igor]: Updated outdated links where possible, removed the rest.
November 2nd, 2003 [igor]: Added a patch for FreeType submitted by Alexander E. Patrakov.
November 1st, 2003 [igor]: Added a note about DirectFB incompatiblity with the latest FreeType as suggested by Alexander E. Patrakov.
October 31st, 2003 [tushar]: NAS: Added dependency to XFree86 and modified instructions to install in /usr/X11R6 instead of /usr.
October 31st, 2003 [tushar]: OpenOffice: Added Printer Administration description.
October 31st, 2003 [tushar]: Portmap: Fixed location of portmap binary.
October 31st, 2003 [igor]: Measured SBUs where missing (parts VI to XIII).
October 30th, 2003 [bdubbs]: Another XFree86 tweak thanks to Bill Maltby.
October 30th, 2003 [igor]: Integrated daemontools-man package with the main daemontools page.
October 29th, 2003 [bdubbs]: Updated XFree86 instructions for consistency and minor appearance tweaks.
October 29th, 2003 [igor]: Applied the compressdoc patch submitted by Yann E. Morin.
October 29th, 2003 [tushar]: Added warning that the kernel packet write patch may damage hardware.
October 28th, 2003 [bdubbs]: Added a note about KDE patches as suggested by Alexander E. Patrakov.
October 28th, 2003 [igor]: Measured SBUs where missing (parts II to V).
October 26th, 2003 [igor]: Added a command to install CA certs in OpenSSL instructions as suggested by Bill Maltby.
October 26th, 2003 [igor]: Updated to Pine-4.58.
October 24th, 2003 [igor]: Apache: set proper permissions for installed files.
October 23rd, 2003 [igor]: Updated libungif download links.
October 22nd, 2003 [tushar]: Updated to Mozilla-1.5, Firebird-0.7, and Thunderbird-0.3. Added Enigmail extension for Mozilla.
October 22nd, 2003 [igor]: Modified httpd.conf to run Apache as an unpriviledged user.
October 21st, 2003 [larry]: OpenLDAP: expanded configure section to the point of personalization.
October 21st, 2003 [igor]: Fixed MPlayer subtitle font configuration, added a note about config file.
October 20th, 2003 [larry]: openldap: expanded configuration section with a referral.
October 19th, 2003 [larry]: mplayer: adjusted -dvd 1 to dvd://1.
October 19th, 2003 [igor]: Cleaned up GNOME section (final pass).
October 18th, 2003 [tushar]: Add character set not to dillo, sent by Alexander E. Patrakov
October 18th, 2003 [igor]: Cleaned up GNOME section (second pass).
October 16th, 2003 [markh]: Added --sysconfdir=/etc to SANE install instructions.
October 15th, 2003 [larry]: moved openldap's localstatedir to /var/lib.
October 14th, 2003 [larry]: went back to fluxbox-0.1.14 stable and added patch.
October 14th, 2003 [larry]: updated cdparanoia intro, lame optional package and SBU's.
October 14th, 2003 [igor]: Updated to MySQL-4.0.15a.
October 13th, 2003 [tushar]: Updated to mozilla-1.4.1.
October 13th, 2003 [larry]: Moved prefix for libIDL to /usr.
October 13th, 2003 [larry]: edited for patch to Python to utilize GDBM properly.
October 13th, 2003 [larry]: Double-checking SBU's and sizes during a rebuild.
October 13th, 2003 [igor]: Cleaned up GNOME section (first pass).
October 12th, 2003 [larry]: gimp and librsvg edits suggested by nathan. SBU changes, xfce install fixed.
October 10th, 2003 [bdubbs]: Updated Qt install instructions.
October 10th, 2003 [tushar]: Fixed mozilla, added --disable-pedantic.
October 10th, 2003 [bdubbs]: Updated koffice to version 1.2.93
October 10th, 2003 [igor]: Removed dead config files, cleaned up entities in chapter 31.
October 9th, 2003 [tushar]: Updated tcp_wrappers and portmap with new patches. Changed locations to primary URI.
October 9th, 2003 [tushar]: Updated kernel patch for udftools, added link for other patches.
October 9, 2003 [larry]: surprise update to tiff-v3.6.0(.1).
October 9, 2003 [larry]: applied new compressdoc patch, updated intros on GDBM and CVS and standardized the replaceable in docbook-dsssl.
October 9th, 2003 [tushar]: Added errno patch for compface. Changed URL for sane.
October 8th, 2003 [igor]: Added missing http/ftp links (part VIII).
5.0-PRE1 - October 8, 2003
October 7th, 2003 [igor]: Added missing http/ftp links (parts VI and VII).
October 7th, 2003 [tushar]: Add patch and modify tripwire instructions for gcc3 compilation.
October 7th, 2003 [larry]: courier patch submitted by Jim Gifford
October 7th, 2003 [igor]: Added missing http/ftp links (part V).
October 6th, 2003 [larry]: undated to openssh-3.7.1p2.
October 6th, 2003 [igor]: Added missing http/ftp links (part IV).
October 5th, 2003 [tushar]: Added libungif patch. Matched vim instructions with LFS.
October 5th, 2003 [tushar]: Added ash-0.4.0.
October 5th, 2003 [tushar]: Added tiff and nas patches.
October 5th, 2003 [bdubbs]: Updated kde-multimedia instructions. Removed kdoc and kde-other section.
October 5th, 2003 [larry]: Updated to Docbook XSL Stylesheets-1.62.4.
October 5th, 2003 [igor]: Updated to NASM-0.98.38 and Python-2.3.2.
October 5th, 2003 [igor]: Added missing http/ftp links (part III).
October 4th, 2003 [larry]: General: updated to OpenSSL-0.9.7c and FAM-2.6.10.
October 4th, 2003 [tushar]: Added a page on Optional Patches that refers to the Patches Project.
October 4th, 2003 [igor]: Added missing http/ftp links (part XIII).
October 4th, 2003 [tushar]: Patches reorganization, Section IV.
October 3rd, 2003 [tushar]: Updated OpenOffice to 1.1.0.
October 3rd, 2003 [tushar]: Add two unzip patches.
October 3rd, 2003 [tushar]: Patches reorganization (Part II).
October 3rd, 2003 [igor]: Added missing http/ftp links (part XII).
October 3rd, 2003 [tushar]: Patches reogranization.
October 2nd, 2003 [larry]: Many edits it Part X to put application's proper names in and class filename tags.
October 2nd, 2003 [igor]: Modified Evolution instructions.
October 2nd, 2003 [bdubbs]: Removed libpng from Qt requirement list. Its required in XFree86.
October 2nd, 2003 [bdubbs]: Updated Qt to version 3.2.1.
October 2nd, 2003 [igor]: Added missing http/ftp links (part XI).
October 2nd, 2003 [bdubbs]: Updated XFree86 instructions to clarify DRI implementation and XF86Config modifications.
September 29th, 2003 [igor]: Added missing http/ftp links (part II).
September 29th, 2003 [larry]: added gocr to Scanning.
September 28th, 2003 [tushar]: Added ntp to Networking Programs.
Sepember 27th, 2003 [larry]: updated to xfce-4.0.0.
September 27th, 2003 [tushar]: Updated Mozilla instructions for gcc-3.3.1. Added notes for building Firebird and Thunderbird.
September 27th, 2003 [larry] updated to xfs patch for 2.4.22 kernel.
September 26th, 2003 [igor] Added MC-4.6.0 and updated to ProFTPD-1.2.8p.
September 26th, 2003 [larry] applied patch for compressdocs submitted by Yann Morin.
September 25th, 2003 [igor]: Updated to sendmail-8.12.10 and python-2.3.1.
September 25th, 2003 [igor]: Added PHP-4.3.3 submitted by Jeremy Utley.
September 24th, 2003 [larry]: Updated to xine-ui-0.9.22.
September 24th, 2003 [larry]: Tagging Acronyms, building Glossary, tagging filename extensions (not using identifier as that is not compatible with 4.1.2). Checking Capitalization against web sites or GNU database or sourceforge.
September 23rd, 2003 [igor]: Updated to OpenLDAP-2.1.22 and gsview-4.4.
September 22nd, 2003 [igor]: Updated to exim-4.24.
September 22nd, 2003 [larry]: Added a Glossary.
September 22nd, 2003 [igor]: Updated to leafnode-1.9.43.
September 21st, 2003 [tushar]: Moved STLport to Appendix C.
September 21st, 2003 [tushar]: Updated to OpenOffice 1.1rc4.
September 21st, 2003 [igor]: Added libdvdread-0.9.4, libdvdcss-1.2.8, libdv-0.99 and liba52-0.7.4.
September 21st, 2003 [larry]: Updated to lcms-1.11.
September 21st, 2003 [igor]: update to transcode-0.6.10.
September 21st, 2003 [tushar]: Added tcl-8.4.4 and tk-8.4.4.
September 20th, 2003 [tushar]: Added nail-10.5.
September 20th, 2003 [tushar]: Synchronized gcc-2.95.3 with LFS instructions.
September 20th, 2003 [larry]: updated bootdisk for non-devfs usage and two-disk option.
September 20th, 2003 [tushar]: Updated to j2sdk-1.4.2_01 (precompiled).
September 20th, 2003 [tushar]: Added ispell-3.2.06.epa6 to General Libraries.
September 20th, 2003 [igor]: added FLAC-1.1.0 and id3lib-3.8.3.
September 20th, 2003 [larry]: updated to sane-1.0.12 and xsane-0.91.
September 20th, 2003 [bdubbs] : Updated XFree86 instructions to use kernel compiler for kernel modules.
September 19th, 2003 [igor] : updated ALSA packages intro, modified Apache instructions.
September 19th, 2003 [larry]: updated to LPRng-3.8.22.
September 19th, 2003 [larry]: updated to fluxbox-0.9.5, as stable will not compile with gcc-3.3.1.
September 19th, 2003 [igor]: added Speex-1.0.1, update to postfix-2.0.16 and whois-4.6.7.
September 18th, 2003 [larry]: update to soup-0.7.11.
September 18th, 2003 [igor]: updated instructions for fcron-2.9.3.
September 18th, 2003 [larry]: updated to gal-0.24.
September 18th, 2003 [igor]: added libFAME-0.9.0, update to xine-lib-1-rc0a.
September 18th, 2003 [larry]: updated to openssh-3.7.1p1.
September 18th, 2003 [larry]: added compress doc page to postlfs.
September 17th, 2003 [igor]: update to xinetd-2.3.12.
September 17th, 2003 [larry]: updated to ncftp-3.1.6.
September 16th, 2003 [larry]: added libgsf-1.8.2.
September 16th, 2003 [igor]: update to KDE-3.1.4 (incomplete - left for Bruce to review and finish).
September 16th, 2003 [larry]: update to OpenSSH--3.7p1, gtkhtml-3.0.8, libsoup-1.99.23, evolution-1.4.4, gnumeric-1.2.0, abiword-2.0.0, PDL-2.4.0, Astro-FITS-Header-2.7.1 and gimp-1.2.5.
September 15th, 2003 [larry]: update to postfix-2.0.15 and added gal-1.99.9.
September 15th, 2003 [igor]: update to ffmpeg-0.4.7 and xvid-0.9.2.
September 14th, 2003 [larry]: added patch to SVGAlib for gcc-3.3.1 compile error. Bug 346.
September 14th, 2003 [igor]: update to cups-1.1.19.
September 14th, 2003 [igor]: changed installation instructions for ESP Ghostscript.
14 septembre 2003 [larry]: general: mise à jour vers guile-1.6.4 et slib-2d6.
13 septembre 2003 [larry]: general: mise à jour vers rep-gtk-0.18.
13 septembre 2003 [larry]: general: mise à jour vers libxml2-2.5.11 et libxslt-1.0.33.
13 septembre 2003 [igor]: mise à jour vers PostgreSQL-7.3.4.
12 septembre 2003 [igor]: mise à jour vers MySQL-4.0.15 et freetype-2.1.5
12 septembre 2003 [larry]: mise à jour vers xfsprogs-2.5.6 and reiserfsprogs-3.6.11.
12 septembre 2003 [igor]: mise à jour vers Apache-2.0.47.
11 septembre 2003 [larry]: arrangement de la partie 1 - introduction pour suivre l'ordre LFS et, bien sûr, taggé.
11 septembre 2003 [lary]: ajout d'imlib2 et d'openquicktime soumis par Igor.
11 septembre 2003 [larry]: édition des pares-feux en accord avec le reste du livre. Utilisation de 'screen' pour les configuration du noyau au lieu de 'table'. Changement de 'orderlist' en 'itemizedlist'. Convertion des notes de bas de page en notation en ligne, sans en ce qui concerne le noyau qui était inconsistant avec le reste du livre.
9 septembre 2003 [larry]: mise à jour vers esp ghostcript-7.07.1rc2, AFPL Ghostscript-8.11 et w3m-0.4.1 soumis par Igor.
8 septembre 2003 [tushar]: ajout de la section bind-utils pour les utilisateurs n'ayant besoin que des applications clients de bind.
7 septembre 2003 [larry]: mise à jour de l'introduction de tex.
7 septembre 2003 [larry]: mise à jour vers MySQL-4.0.14, nano-1.2.2, GTK2+-2.2.5 et pciutils-2.1.11, toutes soumises par Igor.
6 septembre 2003 [larry]: gnome: mise à jour vers nautilus-media-0.2.2, gconf-editor-0.4.1 et gdm-2.4.1.4.
5 septembre 2003 [larry]: gnome: mise à jour vers gnome-system-moniter-2.0.5, gnome-applets-2.2.2, gnome-utils-2.2.3, gnome-games-2.2.1, nautilus-2.2.4, yelp-2.2.3, bug-buddy-2.2.106, gedit-2.2.2, eog-2.2.2, gstreamer-0.6.2, gst-plugins-0.6.2 et gnome-media-2.2.2.
4 septembre 2003 [larry]: gnome: mise à jour vers control-center-2.2.2 et gnome-terminal-2.2.2.
4 septembre 2003 [larry]: multimedia: mise à jour de avifile et mplayer soumise par Igor.
4 septembre 2003 [larry]: basicnet: application du correctif modifié par DJ pour ncpfs.
4 septembre 2003 [larry]: x: mise à jour vers metacity-2.4.55 et gnome-session-2.2.2.
4 septembre 2003 [larry]: xsoft: mise à jour vers pan-0.14.2 et gnet-2.0.4.
3 septembre 2003 [larry]: xsoft: mise à jour vers AbiWord-1.99.6, gnumeric-1.1.20, gnome-desktop-2.2.2 et gnome-panel-2.2.2.2.
3 septembre 2003 [larry]: postlfs: ajout de gnupg-1.2.3.
3 septembre 2003 [larry]: mise à jour vers libgnomeprint-2.2.1.3, libgnomeprintui-2.2.1.4 et balsa-2.0.14.
2 septembre 2003 [larry]: mise à jour de libesmtp-1.0, eel-2.2.4 et libgtkhtml-2.2.4.
2 septembre 2003 [larry]: édition de la proposition de DJ, ajout de NASM, directFB, libMPEG3 et mise à jour de SDL par Igor.
1er septembre 2003 [larry]: mise à jour de l'introduction pour gtk-engines, gtk-thinice-engine et libgail-gnome. Suppression de png-support-3.1.dtd à partir de gtk-doc et sgml-dtd-3.
1er septembre 2003 [larry]: gnome: mise à jour vers libbonoboui-2.2.2, gnome-icon-theme-1.0.6, libgnomeui-2.2.2, gnome-themes-2.2.2 scrollkeeper-0.3.12, libwnck-2.2.2, vte-0.10.29, libgtop-2.0.2, gail-1.2.2, at-spi-1.1.9, librsvg-2.2.5 et galeon-1.3.7.
31 août 2003 [larry]: gnome: mise à jour vers GConf-2.2.1, gnome-mime-data-2.2.1, gnome-vfs-2.2.5, libgnome-2.2.3 et libgnomecanvas-2.2.1.
31 août 2003 [larry]: mise à jour de l'introduction de wvdial et wvstreams soumis par Igor.
31 août 2003 [larry]: server: ajout de rsync-2.5.6 soumis par Daniel Baumann.
31 août 2003 [larry]: multimedia: mise en jour vers cdrtools-2.00.3 soumis par Igor.
30 août 2003 [larry]: postlfs: mise à jour de la section d'introduction de of tcsh, zsh, joe, nano et emacs.
30 août 2003 [larry]: general: mise à jour vers gcc-3.3.1 et gnat-3.15p.
29 août 2003 [larry]: pst: mise à jour de l'introduction de sgml-dtd V3.1 et V4.2.
29 août 2003 [larry]: Xsoft: mise à jour vers dillo-0.7.3.
29 août 2003 [larry]: Basicnet: mise à jour vers curl 7.10.7 soumise par Igor Zivkovic.
29 août 2003 [larry]: Gnome: mise à jour de l'introduction pour orbit2 et mise à jour vers bonobo-activation-2.2.3.
28 août 2003 [larry]: mise à jour vers GLib-2.2.3, Pango-1.2.5, ATK-1.2.4 et GTK+-2.2.3.
28 août 2003 [larry]: mise à jour de l'introduction de gtk-doc et d'openjade. Typos.
28 août 2003 [larry]: mise à jour vers ruby-1.8.0
26 août 2003 [larry]: ajout d'un correctif pour OpenSP.
26 août 2003 [larry]: ajout de SVGAlib et mise à jour de Links pour ajouter l'option graphique.
26 août 2003 [larry]: mise à jour de l'introduction pour PAM, ajout d'un lien pour cracklib, modification du téléchargement de cvs.
26 août 2003 [tushar]: ajout des dépendances pour fontconfig.
25 août 2003 [larry]: application des correctifs de mise à jour soumis par Igor Zivkovic pour cvs-1.11.6 et hdparm-5.4.
24 août 2003 [larry]: mise à jour de l'introduction pour vim, docbook et docbook-dsssl. Suppression de l'emplacement pour alsa-oss.
24 août 2003 [larry]: mise à jour des SBU pour glib-1, gtk-1,
24 août 2003 [larry]: édition des balises suivant la proposition de Bill.
22 août 2003 [tushar]: mise à jour de libfam pour corriger le bogue relatif à libtool-1.5.
21 août 2003 [larry]: modification des SBU pour aspell, pan, zip, libidl, which, mozilla et vim.
19 août 2003 [larry]: Basicnet: mise à jour de gnet-1.1.9. Modification des SBU pour pkgconfig, GLib-2, Pango, ATK, GTK-2, intltool, gnet.
18 août 2003 [larry]: PST: suppression de --enable-xml-message des instructions d'installation d'Opensp. Modification des SBU d'OpenSP, openjade, sgml-common, libxml2, libxslt, libmng, qt, lesstif et fluxbox pour refléter la nouvelle échelle.
17 août 2003 [bdubbs]: XFree86: changement de bunzip2 en gunzip.
16 août 2003 [bdubbs]: Mise à jour des instructions de configuration de fontconfig.
15 août 2003 [tushar]: Synchronisation des instructions shadow pour correspondre à ceux dans LFS-CVS.
15 août 2003 [bdubbs]: Mise à jour des instructions pour XFree86 et ajout du fichier correctif.
15 août 2003 [bdubbs]: Mise à jour des instructions de configuration de fontconfig et déplacement de celui-ci dans le chapitre sur la bibliothèque X.
13 août 2003 [tushar]: Correction d'une erreur de typographie pour nas.
8 août 2003 [tushar]: ajout de fontconfig (il est maintenant une dépendance pour X.
4 août 2003 [larry]: modification de l'introduction pour GLib.
4 août 2003 [larry]: multimedia: mise à jour vers esound-0.2.30.
3 août 2003 [larry]: basicnet: mise à jour vers nmap-3.30.
3 août 2003 [larry]: basicnet: modification de l'introduction qt, gtk+, startup-notification, slrn, popt et slang.
3 août 2003 [larry]: basicnet: mise à jour vers pine-4.56.
3 août 2003 [larry]: basicnet: mise à jour vers fetchmail-6.2.3.
2 août 2003 [larry]: pst: mise à jour vers docbook-xsl-1.61.3.
2 août 2003 [larry]: X: mise à jour vers lesstif-0.93.46.
31 juillet 2003 [larry]: general: ajout des correctifs pour gpm-1.20.1.
30 juillet 2003 [larry]: content: ajout de proftpd-1.2.8.
30 juillet 2003 [larry]: general: mise à jour vers Python-2.3.
24 juillet 2003 [tushar]: mise à jour vers mozilla-1.4
17 juillet 2003 [larry]: gnome: mise à jour vers linc-1.0.3, libIDL-0.8.2, intltool-0.26 et bonobo-activation-2.2.2.
7 juillet 2003 [larry]: general: mise à jour vers libxml2-2.5.8 et libxslt-1.0.31.
2 juillet 2003 [larry]: server: suppression de la création de mount.smbs car la version actuelle crée ce fichier dans le répertoire /sbin. Information d'Eagle.
1er juillet 2003 [larry]: general: mise à jour vers Python-2.2.3.
1er juillet 2003 [larry]: general: mise à jour vers pcre-4.3.
1er juillet 2003 [larry]: server: mise à jour vers openssh-3.6.1p2.
29 juin 2003 [larry]: multimedia: ajout de udftools à la section sur les gravures de CDs contribuée par ning.
27 juin 2003 [larry]: server: mise à jour vers postfix-2.0.12.
27 juin 2003 [larry]: basicnet: mise à jour vers whois-4.6.6.
27 juin 2003 [larry]: basicnet: suppression de inetutils- maintenant dans LFS.
17 juin 2003 [larry]: general: mise à jour de l'introduction pour expat.
17 juin 2003 [larry]: server: Ajout d'une option pour configure avec BIND. rndc recherchait son fichier de configuration dans /usr/etc.
17 juin 2003 [larry]: general: problèmes de licences avec openssl.
13 juin 2003 [larry]: general: mise à jour de l'introduction sur libjpeg and libtiff.
12 juin 2003 [larry]: general: mise à jour de l'introduction sur pkgconfig et atk.
12 juin 2003 [larry]: x: mise à jour vers Pango-1.2.3 et GTK+-2.2.2.
12 juin 2003 [larry]: general: mise à jour vers glib-2.2.2.
10 juin 2003 [larry]: pst: modification de xpdfrc comme indiqué par Andre Kalus.
3 juin 2003 [tushar]: alsa: mise à jour vers 0.9.4 (soumis par James Iwanek).
14 mai 2003 [larry]: x: mise à jour vers freetype-2.1.4.
14 mai 2003 [larry]: modification sur l'introduction et les balises pour docbook-xsl, freetype2, libpng.
13 mai 2003 [larry]: modification sur l'introduction et les balises pour db, procmail, fetchmail, mutt, GLib-2.0, libxslt.
12 mai 2003 [larry]: xsoft: mise à jour vers pan-0.14.0.
12 mai 2003 [larry]: modification sur l'introduction et les balises pour sgml-common et opensp.
5 mai 2003 [larry]: postlfs: mise à jour vers iptables-1.2.8.
5 mai 2003 [larry]: multimedia: mise à jour vers transcode-0.6.3.
4 mai 2003 [larry]: multimedia: mise à jour vers xine-ui-0.9.20.
3 mai 2003 [larry]: basicnet: mise à jour vers pine-4.55.
1er mai 2003 [larry]: multimedia: mise à jour vers xine-lib-1-beta11.
1er mai 2003 [larry]: server: mise à jour vers postfix-2.0.9.
1er mai 2003 [larry]: general: après avoir revu lcms, il apparait qu'il est un bon candidat pour le nouveau format d'installation LFS. Jetez-y un oeil.
30 avril 2003 [larry]: general: mise à jour vers lcms-1.10.
30 avril 2003 [larry]: xsoft: mise à jour vers dillo-0.7.2.
29 avril 2003 [larry]: general: mise à jour vers libxml2-2.5.7.
28 avril 2003 [larry]: application du correctif dillo.
28 avril 2003 [larry]: template: modification du modèle pour le nouveau format de l'introduction.
28 avril 2003 [larry]: general: mise à jour vers openssl-0.9.7b et pcre-4.2.
27 avril 2003 [larry]: introduction: correction de l'url pour l'article d'ESR. general: correction de la taille du package aalib.
1.0 - 25 avril 2003
Le serveur linuxfromscratch.org server héberge un certain nombre de listes de diffusion utilisées pour le développement de BLFS. Elles incluent, entre autres, les listes de développement et de support.
Pour plus d'information concernant les listes disponibles, la souscription, l'emplacement des archives, etc. visitez http://www.linuxfromscratch.org/mail.html.
Toutes les listes de diffusion proposées par linuxfromscratch.org sont aussi accessibles par le serveur NNTP. Tous les messages postés sur une liste de diffusion sont copiés dans le newsgroup correspondant, et vice-versa.
Le serveur de news est accessible à news.linuxfromscratch.org.
Si vous rencontrez un problème lors de l'utilisation de ce livre, et que votre problème n'a pas de solution dans la FAQ (http://www.linuxfromscratch.org/faq), la plupart des personnes sur IRC et sur les listes de diffusion voudront vous aider. Un aperçu des listes de diffusion de LFS est disponible dans Listes de diffusion. Pour nous aider à mieux diagnostiquer et ainsi résoudre votre problème, incluez le plus d'informations intéressantes que possibles dans votre demande d'aide.
Avant de demander de l'aide, vous devez vérifier les choses suivantes:
Est-ce que le support du matériel a été compilé dans le noyau ou est disponible en tant que module. Si c'est un module, est-il configuré correctement dans modules.conf et a-t'il été chargé. Vous devez utiliser lsmod pour vérifier si il a été chargé. Vérifiez sys.log ou lancez modprobe <pilote> pour visualiser les messages d'erreurs. Si il se charge correctement, vous pouvez ajouter modprobe à vos scripts d'initialisation.
Vos permissions ont-elles été correctement configurées, et spécialement pour les périphériques? LFS utilise le groupes pour rendre ces paramétrages plus faciles, mais il ajoute aussi des étapes d'ajout d'utilisateurs aux groupes pour permettre l'accès. Un simple moduser -G audio <user> peut être tout simplement nécessaure pour que l'utilisateur ait accès à la carte son. Toute question concernant "Cela fonctionne pour root, mais pas en tant que..." devrait vous lancer à la recherche de mauvaises permissions, avant même de chercher de l'aide.
BLFS utilise délibérement /opt/<package>. La principale objection à ceci tourne autour du besoin d'étendre vos variables d'environnement pour chaque package placé ici (c'est-à-dire PATH=$PATH:/opt/kde/bin). Dans certains cas, le package vous montrera les changements, certains non. Annexe B est disponible pour vous aider à le vérifier.
En dehors d'une explication brève de votre problème, les informations essentielles à inclure dans votre demande sont:
la version du livre que vous utilisez (voir 5.0),
le package ou la section vous posant problème,
le message d'erreur exact ou le symptôme que vous avez,
si vous avez dévié du livre ou de tout LFS.
(Notez que indiquer que vous avez dévié du livre ne veut pas dire que nous n'allons pas vous aider. Cela va juste nous aider à apercevoir les autres causes possibles de votre problème.)
Attendez-vous à obtenir une direction plutôt que des instructions spécifiques. Si on vous demande de lire quelque chose, merci de le faire car cela veut généralement dire que la réponse était bien trop facile et que la question n'aurait pas été posée si un peu de recherche avait été fait auparavant. Les volontaires sur la liste de diffusion ne souhaitent pas être utilisés comme alternative à une recherche raisonable de votre part. De plus, la qualité de votre expérience dans BLFS est aussi grandement améliorée par cette recherche, et la qualité des volontaires est améliorée s'ils sentent que leur temps n'est pas dépensé à perte et répondront encore plus facilement.
Eric S. Raymond a écrit un excellent article sur la façon de demander de l'aide sur Internet en général. Il est disponible sur http://www.catb.org/~esr/faqs/smart-questions.html. Lisez et suivez les conseils contenus dans ce document et vous aurez plus de chances d'obtenir au moins une réponse, mais aussi d'obtenir l'aide dont vous avez besoin.
S'il vous plaît, envoyez vos emails à une des listes de diffusion de BLFS. Voir Listes de diffusion pour plus d'informations sur les listes de diffusion disponibles.
Le mainteneur actuel de BLFS est Larry Lawrence. Si vous avez besoin de joindre Larry, envoyez un email à larry@linuxfromscratch.org.
Ceux qui ont déjà construit un système LFS connaissent les principes généraux du téléchargement et du déballage de logiciel. Néanmoins, nous allons répéter ici quelques informations pour ceux ne sachant pas construire leur propre logiciel.
Chaque ensemble d'instructions d'installation contient une URL d'où vous pouvez télécharger le package. Néanmoins, nous gardons une sélection de correctifs disponibles via http. Ils sont référencés dans les instructions d'installation.
Alors que vous pouvez conserver les archives tar des sources où vous souhaitez, nous utiliserons lors de leur déballage ou lors de la décompression de tout correctif requis le répertoire /usr/src.
Nous ne pouvons pas accentuer plus sur le fait que vous devez démarrer avec un arbre des sources propre à chaque fois. Ceci veut dire que si vous avez une erreur, il est habituellement mieux de supprimer l'arbre des sources et de déballer l'archive avant d'essayer de nouveau. Ceci ne s'applique pas si vous êtes un utilisateur avancé, habitué à la modification des Makefiles et du code C, mais, en cas de doute, repartez d'un arbre propre.
Si un fichier est une archive tar compressée au format gzip, il est déballé en lançant une des deux commandes suivantes, dépendant du nom du fichier:
tar -xvzf filename.tar.gz tar xvzf nom_du_fichier.tgz tar -xvzf filename.tar.Z |
Si un fichier est une archive tar compressée au format bzip, il peut être déballé en lançant:
tar -jxvf filename.tar.bz2 |
Vous pouvez utiliser une méthode légèrement différente:
bzcat filename.tar.bz2 | tar -xv |
Enfin, vous devez être capable de déballer les correctifs, qui, généralement, n'utilisent pas le format tar. Le meilleur moyen est de copier le correctif dans /usr/src et de lancer ensuite une des commandes suivantes suivant que le fichier est .gz ou .bz2:
gunzip patchname.gz bunzip2 patchname.bz2 |
Dois-je installer XXX dans /usr ou /usr/local?
Cette question n'a pas de réponse évidente à partir d'un système basé sur LFS.
Dans les systèmes Unix traditionnels, /usr contient généralement des fichiers provenant de la distribution du système, et l'arbre /usr/local est disponible pour l'administrateur local qui peut y ajouter des choses. La seule règle vraiment difficile est que les distributions Unix ne doivent pas toucher à /usr/local, sauf peut-être pour créer les répertoires de base de celui-ci.
Avec les distributions Linux, comme RedHat, Debian etc. une règle possible est que /usr est géré par le système de packages de la distribution et que /usr/local ne l'est pas. De cette façon, le gestionnaire de packages connait tout fichier à l'intérieur de /usr.
Les utilisateurs LFS construisent leur propre système et donc décider où le système finit et où les fichiers locaux commencent n'est pas simple. Donc le choix doit se faire pour rendre les choses simples à administrer. Il existe plusieurs raisons pour diviser les fichiers entre /usr et /usr/local.
Sur un réseau de plusieurs machines toutes sous LFS, ou composé de distributions Linux mixtes LFS et autres, /usr/local peut être utilisé pour conserver les packages communs à tous les ordinateurs du réseau. Il peut être un montage NFS ou un miroir à partir d'un serveur simple. Ici, local se définit par rapport au site.
Sur un réseau de plusieurs ordinateurs tous utilisant un système LFS identique, /usr/local peut conserver les packages différents entre chaque machine. Dans ce cas, local se définit par rapport aux ordinateurs individuels.
Même sur un simple ordinateur, /usr/local peut être utile si vous avez plusieurs distributions installées simultanément, et voulez un endroit où placer des fichiers qui seront partagés par les différentes distributions.
Ou vous pouvez régulièrement reconstruire votre LFS, mais souhaitez un endroit que vous ne voulez pas avoir à reconstruire à chaque fois. De cette façon, vous pouvez supprimer le système de fichiers LFS et démarrer d'une partition intacte à chaque fois sans tout perdre.
Des personnes ont demandé pourquoi ne pas utiliser votre propre arbre de répertoires, c'est-à-dire /usr/site au lieu de /usr/local?
Rien ne vous y empêche, beaucoup de sites construisent leur propre arbre, néanmoins cela rends l'installation de nouveaux logiciels plus difficile. Les installateurs automatiques cherchent souvent les dépendances dans /usr et /usr/local, et si le fichier qu'ils cherchent se trouve dans /usr/site, l'installateur va probablement échoué à moins que vous ne lui ayez spécifiquement dit où chercher.
Quelle est la position de BFLS là-dessus?
Toutes les instructions de BLFS installent les programmes dans /usr sauf cas spéciaux. Il existe des exemples où quelques fichiers sont placés dans /usr/local mais ils sont documentés et ont généralement une bonne raison. Ces exceptions sont bien documentées dans le livre. Si vous pensez que vous en avez trouvé un qui ne l'est pas, merci de nous le dire!
Tout au long des différentes sections de ce livre, vous rencontrerez différents correctifs inclus dans le livre, requis pour une installation sûre des packages. La politique générale du livre est d'inclure les correctifs tombant dans une des catégories suivantes:
Corrige un problème de compilation.
Corrige un problème de sécurité.
Corrige une fonctionnalité cassée.
En bref, le livre inclut seulement les correctifs qui sont soit requis soit recommendés. Il existe un sous-projet pour les correctifs qui conserve les différents correctifs (incluant les correctifs indiqués dans les différents livres) pour vous permettre de configurer votre LFS de la façon qui vous convient :)
Les scripts inclus pour les packages comme gpm-1.20.1 et ALSA-0.9.6 sont basés autour du modèle apporté par le package lfs-bootscripts-1.6 et suivants (l'ancien numérotage a changé à partir de LFS-3.2). Les scripts ne fonctionnent pas avec les versions de LFS avant LFS-3.2. à cause d'un changement dans leur organisation avec les nouveaux scripts. Néanmoins, il serait trivial d'adapter les scripts si nécessaire pour les anciennes versions de LFS.
Les packages qui sont installés dans ce livre sont seulement la partie visible de l'iceberg. Nous espérons que l'espérience que vous avez gagné avec les livres LFS et BLFS vous permettra d'avoir le nécessaire pour compiler, installer et configurer les packages qui ne sont pas inclus dans ce livre.
Si vous installez un package ayant un préfixe non standard, la liste Annexe B vous sera utile si le package ne fonctionne pas comme vous vous y attendez.
Si vous êtes à la recherche d'un package qui ne se trouve pas dans le livre, voici différentes façons de chercher ce package.
Si vous connaissez son nom, alors cherchez dans FreshMeat sur http://freshmeat.net/. Cherchez aussi dans Google sur http://google.com/. Quelque fois, une recherche pour le rpm sur http://rpmfind.net/ ou le deb sur http://www.debian.org/distrib/packages#search_packages peut aussi vous amener au site web du package.
Si vous connaissez le nom de l'exécutable mais pas du package, commencez par une recherche sur Google avec le nom de l'exécutable. Si les résultats sont trop importants, essayez de chercher l'exécutable dans un dépôt Debian sur http://www.debian.org/distrib/packages#search_contents.
Quelques conseils générals sur la gestion des nouveaux packages:
Beaucoup des nouveaux packages suivent la routine ./configure && make && make install. Une aide sur les options acceptées par configure est disponible avec la commande ./configure --help.
La plupart des packages contiennent une documentation sur la compilation et sur l'installation du package. Quelqus documents sont excellents, et d'autres moins. Vérifiez la page d'accueil du package pour tout conseil supplémentaire ainsi que pour des aides mises à jour sur la compilation et la configuration du package.
Si vous avez un problème lors de la compilation du package, essayez de chercher dans les archives lfs sur http://search.linuxfromscratch.org/ cette erreur ou, en cas d'échec, essayez de chercher sur google. Si tout a échoué, essayez sur la liste de diffusion BLFS-support.
Astuce : Si vous avez trouvé un package qui est seulement disponible au format .deb ou .rpm, il existe deux petits scripts rpm2targz et deb2targz, disponibles sur http://www.linuxfromscratch.org/~tushar/downloads/, pour convertir les archives en un simple format tar.gz.
L'intention de LFS est d'apporter un système basique à partir duquel vous pouvez continuer la construction. Beaucoup de personnes se posent des questions sur comment améliorer leur système une fois qu'ils ont terminé l'installation de base. Nous espérons couvrir ces questions dans ce chapitre.
Beaucoup de personnes venant de Windows et passant à Linux trouvent le concept de fichiers de configurations texte légèrement étrange. Sur Linux, pratiquement toute la configuration est faite via des fichiers textes. La majorité de ces fichiers peut être trouvé dans le répertoire /etc. Il existe souvent des programmes graphiques de configuration pour différents sous-systèmes, mais ce sont en majorité de simples et jolis outils qui s'occupent de l'édition du fichier. L'avantage de la configuration en texte seulement est que vous pouvez éditer les paramètres en utilisant votre éditeur de texte favori, qu'il soit vim, emacs ou un autre.
La première tâche concerne la création d'une disquette de démarrage parce qu'il s'agit du besoin le plus critique. Ensuite, le système est configuré pour faciliter l'ajout de nouveaux utilisateurs, dans "Configurer l'ajout d'utilisateurs", parce que ceci peut affecter les choix à faire dans les trois thèmes suivants - "/etc/inputrc", "Fichiers de démarrage du Shell Bash" et "/etc/vimrc, ~/.vimrc".
Les thèmes restants, "/etc/issue (Personnaliser votre connexion)", "Génération de nombres aléatoires", "Problèmes de pages man" et "Problèmes des pages info" sont ensuite couverts. Ils n'ont pas beaucoup d'interaction avec les autres thèmes de ce chapitre.
Cette section se concentre particulièrement sur la création d'une disquette de dépannage (rescue). Comme le nom l'indique, le système hôte a un problème, souvent des informations de partition perdues ou des systèmes de fichiers corrompus qui l'empêchent de se lancer ou d'opérer correctement. Pour cette raison, vous ne devez pas dépendre de ressources disponibles sur l'hôte à réparer. Présumer qu'une partition ou un disque dur donné sera disponible est très risqué.
Suivant cet avertissement, le disque de dépannage créé ici n'a pas de dépendances avec les ressources de l'hôte système, autres que le démarrage et le matériel. Au minimum, les raisons les plus communes d'échec nécessitant un disque de dépannage devraient être résolues par le contenu de ce disque. Ceci inclut la perte d'une partition (MBR perdu ou corrompu), la corruption d'un système de fichiers et le besoin de permettre la création et l'édition de fichiers qui pourraient avoir été perdus ou corrompus, un possible effet des deux autres problèmes.
Des utilitaires supplémentaires doivent être disponibles pour rechercher du texte ou des fichiers, copier, déplacer et supprimer des fichiers et plein d'autres opérations normales qui pourraient être nécessaires lors de la reconstruction.
Le but ici est de créer une disquette de démarrage qui supportera les opérations communes listées ci-dessus. Ces fonctions sont fournies en incluant les exécutables sélectionnés à partir de busybox et e2fsprogs. Un éditeur basique et un outil de partionnement rudimentaire pourraient aussi être inclus, de manière optionnelle.
Néanmoins, ceci n'est pas la limite. Un disque minimal est décrit ici mais vous pouvez ajouter tout ce qui peut tenir sur la disquette. De plus, si un disquette n'est pas suffisante pour vos besoins, vous pouvez réaliser un système multi-disquettes de secours, ce qui sous-entend que vous n'avez pas de limite. Ceci est discuté plus bas. Le nombre des variations est trop grand pour être mentionné ici.
Vous devez avoir des disquettes, reconnues bonnes. Certains préfèrent utiliser la commande fdformat pour les préparer parce qu'elle effectue aussi une vérification. Voir la page man pour plus de détails. Une autre bonne idée est de toujours préparer des duplications de la disquette de dépannage. Un média peut se déteriorer.
Ces instructions présument une installation LFS de base utilisant le système de fichiers ext2/ext3.
Les versions 2.4.22 et 2.6, avant test6, du noyau ont une déficience qui empêche busybox et des applications similaires de démarrer correctement. Vous devez télécharger et appliquer le correctif init-1, solutionnant ce problème et permettant l'utilisation de busybox. Vous devez ensuite reconstruire le noyau. Faites attention aux éléments du noyau tant que vous y êtes.
Vous avez besoin du support du périphérique loopback activé dans le noyau de votre hôte pour utiliser cette procédure.
Vous devez construire un noyau personnalisé incluant seulement les fonctionnalités nécessaires pour dépanner votre système, de façon à ce qu'il ait la plus petite taille possible. Aucune raison de compiler ici le support de fonctionnalités comme XFree86, DRI, etc, car la plupart des dépannages sont réalisés à partir de la ligne de commande. Si vous avez GCC-2.95.3, celui-ci est connu pour produire des noyaux petits. Donc, vous pouvez utiliser ce compilateur pour ce noyau. Si vous le faites, n'oubliez pas les modules chargeables dont vous avez besoin, ils devront nécessairement être compilé avec le même compilateur que celui qui a créé le noyau.
L'image de la disquette de dépannage doit inclure le support du système de fichiers de votre choix (nous présummons ext2/3 ici), d'un disque ram et d'un disque ram initial (initrd). Désactivez tout ce que vous pouvez dans la configuration du noyau. Vous devez conserver le support du système de fichiers proc et tempfs à cause de leur utilité générame. Le système de fichiers proc est nécessaire notamment à la commande mount pour travailler correctement.
Si vous installez seulement l'ensemble minimal de composants indiqués dans ce document, vous aurez un noyau de 643 blocs, voire plus petit. Si vous voulez des programmes optionnels - un éditeur basique comme ed et un outil de partionnement rudimentaire comme sfdisk - le noyau aura besoin d'une taille de 595 blocs. Cela ne devrait pas être un problème majeur à moins que vos besoins ne soient ésotériques. Sur le système utilisé pour développer cette version des procédures, en utilisant seulement les systèmes de fichiers ext2 et en n'utilisant pas le réseau ou les CD pour le dépannage, l'image du noyau pèse seulement 481 blocs. Et vous pouvez gagner plus - aucun examen plus complet n'a été effectué pour des gains supplémentaires.
Cette image du noyau sera appelée "rescueimage" après. Vous pouvez appeler votre image de la façon que vous voulez et utiliser simplement ce nom dans toutes les commandes qui incluent "rescueimage".
Si vous ne pouvez pas diminuer la taille de votre image de démarrage à une taille suffisante pour que tout tienne sur le disque, pas d'inquiétude. Vous pouvez toujours construire un ensemble de deux disquettes, une de démarrage et une disquette root. Le noyau vous demandera d'insérer la disquette de démarrage root. Ceci donnera plus de place à l'image de disque ram compressée. Ceci autorisera l'image du disque ram compressé d'avoir une taille de 1440 blocs et une image de démarrage de même taille.
Les limites en taille de l'image de démarrage données ci-dessus pourraient varier suivant les modifications de locale. Utilisez-les seulement comme exemple et non comme un bible. La taille de l'image de dépannage, montrée par ls -sk est seulement une approximation à cause de l'"overhead". Sur le système utilisé pour développer cette version de ces procédures, la commande affiche 488 blocs mais le vrai nombre de blocs écrits est seulement de 480 et une fraction, ce qui signifie que 481 blocs sont réellements utilisés.
Les étapes de base seront :
créer un point de montage pour un système de fichiers
créer un fichier vide pour contenir le système de fichiers
lier le fichier vide à un périphérique loopback
créer un système de fichiers de 4 Mo
monter le système de fichiers
ajouter les composants au système de fichiers
créer l'initrd compressé
joindre rescueimage et initrd sur une disquette
Le disque ram initial sera automatiquement chargé au démarrage si la configuration est faite correctement.
Créer un point de montage et un fichier vide pour contenir le système de fichiers
mkdir -p /mnt/loop1 dd if=/dev/zero of=/tmp/rfloppy bs=1k count=4096 |
Explication des commandes
dd: C'est un outil général de copie entrée-vers-sortie disposant de nombreuses fonctionnalités de transformation.
if=/dev/zero: Ce paramètre affecte le fichier d'entrée de dd à un périphérique renvoyant un flux infini de zéros.
of=/tmp/rfloppy: Ce paramètre redirige la sortie de dd vers /tmp/rfloppy.
bs=1k count=4096: Ces paramètres indiquent à dd de lire et écrire par paquets de 1024 octets et d'en traiter 4096.
Lier le fichier au périphérique loopback, créer un système de fichier et le monter.
La raison pour laquelles ces commandes sont utilisées est qu'elles fonctionnent quelle que soit la version de mount (les plus anciennes n'ont pas l'option -o loop) ou si /etc/mtab est un lien symbolique de /proc (ce qui fait que mount se révèle incapable de "délier" proprement un périphérique loop, à cause de la "perte" d'informations). Un autre ensemble de commandes est fourni, après ces trois commandes, que vous pouvez utiliser si vous n'êtes dans aucune de ces situations.
losetup /dev/loop1 /tmp/rfloppy mke2fs -m 0 -N 504 /dev/loop1 mount -t ext2 /dev/loop1 /mnt/loop1 |
Explication des commandes
losetup /dev/loop1 /tmp/rfloppy: Cette commande "lie" le périphérique loopback au fichier vide.
mke2fs -m 0 -N 504 /dev/loop1: Cette commande crée un système de fichiers ext2 sur le périphérique loopback (ce qui signifie réellement qu'il est créé dans le fichier vers lequel pointe le périphérique loopback) et ne réserve aucun bloc. Le paramètre -N 504 fait que seules 504 inodes sont allouées, laissant plus d'espace pour d'autres choses nécessaires dans le système de fichiers.
mount -t ext2 /dev/loop1 /mnt/loop1: Ceci monte le système de fichiers tout juste créé, comme s'il s'agissait d'un vrai périphérique comme un disque dur ou une disquette. Ceci permet toutes les commandes habituelles du système d'entrées/sorties comme si un vrai périphérique était présent.
Si votre commande mount supporte l'option -o loop et que votre /etc/mtab est un vrai fichier, plutôt qu'un lien symbolique vers /proc, les trois commandes ci-dessus peuvent être remplacées par ces deux commandes.
mke2fs -F -m 0 -N 504 /tmp/rfloppy mount -o loop /tmp/rfloppy /mnt/loop1 |
Explication des commandes
mke2fs -F -m 0 -N 504 /tmp/rfloppy: Comme auparavant, un système de fichiers est créé avec seulement 504 inodes et aucun bloc réservé, qui sera lié au périphérique loopback. Le paramètre -F supprime simplement une question irritante lorsque mke2fs réalisé que vous n'accédez pas à un périphérique.
mount -o loop /tmp/rfloppy /mnt/loop1: Cette commande indique à mount de lier le fichier nommé vers un périphérique loopback qu'il détecte automatiquement (le premier disponible) et monte le périphérique sur /mnt/loop1.
Ajouter des composants au système de fichiers
Note d'avertissement: Si vous n'êtes pas dans un environnement chroot, assurez-vous que vous n'omettez pas accidentellement la référence /mnt/loop1 dans les commandes. Si vous le faites, vous pourriez remplacer les composants équivalents de votre hôte avec les composants installés avec ces procédures. Même si vous vous trouvez dans un environnement chroot, vous aurez besoin de faire attention si l'environnement est votre système LFS fraichement construit que vous comptez utiliser comme hôte dans le futur.
Tout d'abord, pour conserver autant de place libre que possible, supprimez le répertoire lost+found, qui n'est pas nécessaire sauf dans le cas d'un fsck. Comme fsck ne sera jamais exécuté sur ce système de fichiers, il n'est pas nécessaire.
rmdir /mnt/loop1/lost+found/ |
Maintenant, créez un ensemble minimal de répertoires.
mkdir /mnt/loop1/{dev,proc,etc,sbin,bin,lib,mnt,usr,var} |
Ajoutez les périphérique nécessaires pour l'image initrd. Si vous utilisez devfs, la commande suivante fonctionne aussi, car vous n'avez que les périphériques que vous utilisez.
cp -dpR /dev/* /mnt/loop1/dev |
Si vous utilisez MAKEDEV pour créer vos périphériques dans votre hôte, vous voudrez utiliser quelque chose de similaire à cette longue commande, pour minimiser l'espace perdu si les inodes ne sont pas nécessaires.
Vous devez modifier ceci pour convenir à la configuration de la disquette de démarrage. Par exemple, vous avez besoin de périphériques SCSI et vous n'avez pas besoin des périphériques frame buffer ou des pseudo-terminaux. De même, le nombre de disques durs et de partitions que vous incluez doit être minimal. Des analyses poussées n'ont pas été effectuées dans la liste di-dessous, donc il peut rester des inodes et de l'espace disque à récupérer en optimisant cet ensemble.
mkdir /mnt/loop1/dev/pts cp -a \ /dev/null /dev/console \ /dev/fb[0-7] /dev/fd /dev/fd0 /dev/fd0h1440 /dev/full \ /dev/hda* /dev/hdb* /dev/hdc* /dev/hdd* /dev/initctl /dev/kmem \ /dev/loop[0-3] /dev/lp0 /dev/mem /dev/port \ /dev/psaux /dev/ram \ /dev/ram0 /dev/ram1 /dev/ram2 /dev/ram3 /dev/random /dev/rtc \ /dev/shm /dev/stderr /dev/stdin /dev/stdout /dev/tty \ /dev/tty[0-9] /dev/ttyS0 /dev/ttyS1 /dev/urandom /dev/zero \ /mnt/loop1/dev |
Qu'est-il nécessaire dans le répertoire /etc
Si vous voulez, vous pouvez copier tout ou partie de vos fichiers /etc/passwd et /etc/group. Mais même si chacun d'entre eux fait moins que 1024 octets, vous perdrez deux inodes et deux blocs sur le disque ram initial. Cela a vraiment une importance car nous essayons de gagner tout ce qui est possible comme espace disque sur cette disquette de 1,44 Mo. Chaque bit nous aide. La stratégie prise ici est de créer ces deux fichiers los de la phase de démarrage et d'initialisation. Les commandes pour créer ces deux fichiers seront intégrées dans le script rcS que linuxrc (en fait busybox ) appelle après le chargement de initrd. De cette façon, aucune inode et bloc n'est utilisé sur la disquette pour emporter ces fichiers.
Certains aimeraient copier leur répertoire /etc/rc* dans l'image du disque ram mais ceci pourrait n'avoir aucune valeur, autre qu'une archive, dans un scénario de dépannage grave. Si vous voulez une initialisation automatique du système après réparation, ils pourraient avoir une certaine valeur. Mais peu de personnes en ont besoin ou le souhaitent. Si un système de fichiers sur les disques durs est corrompu, quel intérêt auront les scripts de montage ? Certains scripts pourraient être utile, comme l'accès au réseau pour copier des données sauvegardées une fois que les systèmes de fichier sont de nouveau utilisables. Le but est que vous devez copier seulement les parties que vous pouvez utiliser parce que l'espace disque est le point critique.
Ici, seul fstab sera inclus. Il facilite le montage des partitions qui pourraient être utiles et peut être utilisé comme guide sur les partitions disponibles et pouvant avoir besoin d'être reconstruites. Comme il pourrait être plus gros que nécessaire, vous devez l'éditre pour supprimer toute entrée inutile et pour minimiser les commentaires. Aucune autre édition n'est nécessaire parce que les scripts de démarrage ne sont pas inclus et qu'aucun montage automatique ne sera fait en utilisant fstab. Si vous décidez d'inclure certains scripts de démarrage qui pourraient essayer de monter quelque chose, modifiez les entrées de fstab avec l'option noauto dans le champ des options pour qu'ils n'essaient pas de monter une partition potentiellement corrompue. Copiez-le dans /tmp, éditez-le puis faites:
cp -a /tmp/fstab /mnt/loop1/etc |
Maintenant, le script d'initialisation va être ajouté. Comme mentionné ci-dessus, linuxrc est lié symboliquement à busybox . Après le chargement du noyau et du disque ram initial, le noyau donne le contrôle à linuxrc (busybox ). Il veut lancer un script /etc/init.d/rcS pour réaliser la configuration initiale.
Si vous utilisez devfsd, vous aurez besoin de configurer le script rcS pour gérer le lancement de devfsd. Placez les commandes suivantes dans /mnt/loop1/etc/init.d/rcS. Vous pouvez aussi ajouter quelques-unes des étapes montrées dans la version non devfs qui suit.
#!/bin/sh mount -t devfs devfs /dev /sbin/devfsd /dev |
Si vous ne voulez pas utiliser devfsd, mais que vous souhaitez créer un répertoire /dev statique en utilisant MAKEDEV, ou tout autre outil, le script rcS fera les choses d'une façon légèrement différente. De même, n'oubliez pas qu'il crée les fichiers /etc/passwd et /etc/group sauvant ainsi de l'espace sur la disquette.
Ensuite, le script montera /proc, activera le swap (aucun problème si cela échoue), crée les fichiers /etc/passwd et /etc/group, crée un répertoire de traces. Créez le script avec:
mkdir -p /mnt/loop1/etc/init.d cat >/mnt/loop1/etc/init.d/rcS << EOD #!/bin/sh mount -t proc proc /proc swapon -a echo "root:x:0:0:root:/root:/bin/bash" > /etc/passwd cat > /etc/group <<EOF root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: EOF chmod 644 /etc/passwd /etc/group mkdir /var/log EOD chmod u+x /mnt/loop1/etc/init.d/rcS |
Sauf si vous ajoutez beaucoup de commandes dans ce script, ce qui est encouragé, ce qui se trouve ci-dessus est raisonnablement proche de ce dont vous avez besoin.
Installer les packages
Deux packages doivent êtres installés. Le package busybox incorpore les fonctions de base fournissant un shell et beaucoup d'outils basiques. Un package pour le système de fichiers, comme e2fsprogs, ou le package pour le système de fichiers que vous utilisez, fournira un ensemble minimal d'outils pour la vérification et la reconstruction du système de fichiers. Le package complet ne sera pas installé car nous n'avons besoin que de certains composants.
Si vous utilisez devfsd, vous aurez aussi besoin d'installer ce logiciel.
Installez busybox dans l'image du disque ram initial. Busybox incorpore un grand nombre d'outils Unix en un seul petit exécutable.
make && make PREFIX=/mnt/loop1 install && > /mnt/loop1/var/utmp |
Un fichier var/utmp est créé parce que busybox en a besoin pour que la commande de redémarrage fonctionne correctement. Si ce fichier n'existe pas lorsque busybox est démarré, la commande reboot ne fonctionnera pas. Ceci serait une mauvaise chose pour les personnes ne disposant pas du bouton de réinitialisation.
Si vous utilisez devfs pour créer les périphériques à la volée et libérer ainsi quelques précieuses inodes sur la disquette, vous installerez aussi devfsd pour faciliter l'usage des périphériques que busybox s'attend à trouver. Utilisez les commandes suivantes pour faire l'installation.
mv GNUmakefile Makefile && make && make PREFIX=/mnt/loop1 install && |
Installez une partie de e2fsprogs
Si vous utilisez le système de fichiers ext2 ou ext3 (journalisé), vous pouvez utiliser les commandes ci-dessous pour installer les fonctionnalités minimales qui devraient vous permettre de ré-utiliser vos disques durs. Si vous utilisez ext3, gardez en tête qu'il fait partie du package e2fsprogs et que vous pouvez obtenir les composants qui ne sont pratiquement que des liens physiques à partir des mêmes endroits montrés ci-dessous. Si vous utilisez un autre système de fichiers, tel que reiserfs, vous deviez appliquer le principal de ce que vous voyez ici pour installler les parties de votre package.
LDFLAGS='-s' mkdir build && cd build && ../configure --prefix=/mnt/loop1/usr --with-root-prefix="" \ --disable-swapfs --disable-debugfs \ --enable-dynamic-e2fsck --disable-nls --disable-evms \ --disable-rpath && make LDFLAGS="$LDFLAGS" && strip -p --strip-unneeded --remove-section=.comment \ -o /mnt/loop1/sbin/mke2fs misc/mke2fs && strip -p --strip-unneeded --remove-section=.comment \ -o /mnt/loop1/sbin/e2fsck e2fsck/e2fsck && chmod 555 /mnt/loop1/sbin/{mke2f,e2fsck} |
Deux outils bien utiles
Voici deux outils que devrait posséder toute disquette de dépannage. Le premier est un outil de partitionnement. Le programme sfdisk est utilisé ici à cause de sa petite taille et de ses grandes capacités. Faites attention - il n'est pas considéré comme étant très facile d'utilisation. Mais les programmes fdisk et cfdisk sont bien plus gros et requièrent bien plus d'objets partagés comme ncurses.
Le second outil est un éditeur. La plupart des éditeurs graphiques sont très gros et nécessitent aussi des objets partagés supplémentaires. Pour cette raison, ed est utilisé ici. Il est petit, requiert aucun objet partagé et est un éditeur basé sur les expressions régulières, ancêtre de pratiquement tous les éditeurs suivants supportant l'édition basée sur les expressions régulières, graphiques ou non. C'est un éditeur contextuel et offre des fonctionnalités d'édition puissantes, mais non graphiques. Il existe plein d'autres éditeurs qui pourraient convenir - vous pouvez choisir un d'entre eux à la place.
Lisez les fichiers INSTALL et README de busybox pour voir comment inclure un éditeur vi. Cela n'a pas encore été testé, donc cela pourrait tenir ou pas dans une seule image de disquette.
Vous pouvez les installer ou non, mais il est important pour vous d'avoir certaines des capacités qu'ils offrent. La façon exacte de l'installation des outils que vous avez choisi devra être déterminé par vous.
Sfdisk et ed sont installés essentiellement par une copie depuis votre hôte. Strip est utilisé uniquement pour s'assurer qu'ils font le point minimum, même si l'installation de base de LFS devrait déjà les avoir passé sur cette commande. Utilisez les commandes suivantes:
strip -p --strip-unneeded --remove-section=.comment \ -o /mnt/loop1/sbin/sfdisk /sbin/sfdisk strip -p --strip-unneeded --remove-section=.comment \ -o /mnt/loop1/bin/ed /bin/ed chmod 555 /mnt/loop1/sbin/sfdisk /mnt/loop1/bin/ed |
De même, gardez en tête vos limitations en espace disque, copiez tous les autres binaires et bibliothèques dont vous avez besoin sur l'image. Utilisez la commande ldd pour savoir de quelles bibliothèques vous aurez besoin pour utiliser ces exécutables. N'oubliez pas de lancer strip avant de les copier sur l'image du disque ram ou d'utiliser strip, comme ci-dessus, pour les "copier".
Configurer le répertoire lib
Une fois que vous avez installé tous les outils ci-dessus et y compris ceux que vous souhaitez, utilisez la commande ldd command, comme indiquée co-dessus, sur ceux qui n'ont pas été donné dans ce document. Si des bibliothèques supplémentaires sont nécessaires, ajoutez-les aux commandes de configuration montrées ci-dessous.
Si vous avez installé seulement ceux du document, les objets partagés nécessaires seront minimes. Vous pouvez les ajouter au disque ram avec:
strip -p --strip-unneeded --remove-section=.comment \ -o /mnt/loop1/lib/libc.so.6 /lib/libc-2.3.2.so && strip -p --strip-unneeded --remove-section=.comment \ -o /mnt/loop1/lib/ld-linux.so.2 /lib/ld-2.3.2.so && strip -p --strip-unneeded --remove-section=.comment \ -o /mnt/loop1/lib/libdl.so.2 /lib/libdl-2.3.2.so && chmod 555 /mnt/loop1/lib/{libc.so.6,ld-linux.so.2,libdl.so.2} |
Notez que les commandes ci-dessus modifient le nom des bibliothèques, supprimant le besoin des liens symboliques habituels. Si vous ajoutez des objets partagés supplémentaires, profitez des opportunités similaires mais faites attention aux problèmes qui pourraient se présenter.
Créer le fichier initrd compressé
Démontez le fichier loopback. Si vous utilisez l'option -o loop de la commande mount, le lien entre le périphérique loop et le fichier sera supprimé lorsque le démontage sera terminé. Omettez simplement le losetup -d /dev/loop1 de la séquence suivante. Le paramètre -9 est utilisé avec gzip pour compresser au maximum l'image. Pour s'assurer qu'elle tient sur la disquette, affichez la taille du fichier.
umount /mnt/loop1 && losetup -d /dev/loop1 && # Oubliez l'option -o loop de mount a été utilisé gzip -9 < /tmp/rfloppy > /tmp/rootfs.gz ls -l /tmp/rootfs.gz |
Joindre l'image de dépannage et le disque ram initial sur une disquette
Maintenant, l'image de dépannage et le disque ram initial vont être écrit sur une disquette démarrable. Avant de le faire, calculez le nombre de blocs nécessaires pour l'image de dépannage et pour /tmp/rootfs.gz (le disque ram initial), individuellement, en divisant leur taille par 1024 et en ajoutant un s'il y a un reste. Additionnez ces deux résultats. Ils doivent avoir un total de maximum 1440 blocs. Si le résultat est plus important, ne vous inquiétez pas trop. Les modifications nécessaires pour créer un ensemble de deux disquettes sont présentées plus tard. Bien sûr, vous pouvez ré-examiner vos choix et essayer de diminuer soit le disque de dépannage soit l'image de disque ram initial.
Pour créer une disquette de dépannage, utilisant devfs, utilisez les commandes suivantes. Si vous utilisez la configuration du /dev statique, utilisez /dev/fd0 au lieu de /dev/floppy/0.
dd if=rescueimage of=/dev/floppy/0 bs=1k rdev /dev/floppy/0 0,0 rdev -R /dev/floppy/0 0 |
Explication des commandes
rdev /dev/floppy/0 0,0: initialise le système de fichiers racine que le noyau utilisera au démarrage. Parce qu'il charge le disque ram initial, il configurera automatiquement le périphérique root. Donc, 0,0 lui donnera "sans valeur", indiquant au noyau de ne pas monter les autres périphériques. Certains donnent /dev/fd0 ou quelque chose de similaire. Mais, ceci a un effet seulement lorsque linuxrc (en fait busybox ) quitte et que les processus init normaux sont appelés. Comme cela n'est pas le cas ici et que la disquette n'est pas un système de fichiers valide, cela serait inutile ici. Un disque dur serait un meilleur choix si vous cherchez à relancer automatiquement le système après réparation. Comme busybox fournit la commande reboot, une initialisation automatique n'est pas nécessaire.
rdev -R /dev/floppy/0 0 initialisera les options de la racine à zéro. Elles n'ont pas d'utilité dans cette application.
La commande dd ci-dessus affichera quelques résultats du type
480+1 records in 480+1 records out |
Dans cet exemple, l'image de dépannage (noyau) faisait une taille de 480+1 blocs. Assurez-vous que ce nombre, qui pourrait être différent pour vous, correspond à vos calculs ci-dessus. Vous avez besoin de calculer le "nombre magique" qui sera inséré dans l'image de dépannage. La valeur consiste en trois parties distinctes. Deux sont discutées ici. La troisième est abordée plus tard.
Les bits 0 - 10 contiendront la taille de l'image de dépannage en blocs que vous avez calculé ci-dessus et qui doit correspondre au résultat du dd. Le bit 14 (le 15è, qui est 2 puissant 14, soit 16,384) est un drapeau qui, initialisé à 1, indique au noyau que le disque ram initial doit être chargé. Donc, pour la disquette de dépannage, les deux nombres 16384 et 481 (ou quelque soit le bon nombre pour votre taille d'image de dépannage) sont ajoutés ensemble pour produire une valeur décimale, comme 16865. Cette valeur est insérée à sa bonne place dans l'image de dépannage par la commande rdev exécutée tout de suite après.
Insérez le "nombre magique" dans l'image de dépannage puis écrivez le système de fichiers racine juste après l'image de dépannage sur la disquette en exécutant les commandes suivantes avec les bons nombres insérés. Notez que le numéro de paramètre de seek doit être la taille, en blocs, de votre image de dépannage. Si vous utilisez la configuration du /dev statique, utilisez /dev/fd0 dans la commande ci-dessous, au lieu de /dev/floppy/0.
rdev -r /dev/floppy/0 16865 dd if=/tmp/rootfs.gz of=/dev/floppy/0 bs=1k seek=481 |
Dans cette commande, seek a été utilisé pour positionner le bloc suivant la fin de l'image de dépannage (480+1) et commencé l'écriture du système de fichiers racine sur la disquette.
Si vous ne pouvez pas vivre avec un système à seule disquette de dépannage, voici comment faire un système à deux disquettes. Notez que les possibilités infinies présentés par la disponibilité de linuxrc et d'autres composants ne sont pas adressées ici. Ici, vous utiliserez seulement la capacité du noyau à demander une seconde disquette contenant l'image du disque ram initial pour le charger.
Modifiez les instructions ci-dessus de la façon suivante. Tout d'abord, un nombre magique différent est nécessaire. Le quinzième bit est toujours nécessaire mais la taille de l'image du disque ram est remplacé par un zéro. Le troisième composant, qui n'a pas été discuté ci-dessus, est maintenant utilisé. C'est le seizième bit (bit 15) du nombre magique. Une fois activé, il indique au noyau de demander à l'utiliser d'insérer la disquette "root". Il charge ensuite l'image du disque ram initial à partir de cette disquette. Comme la taille de l'image de dépannage a été diminué à zéro, le noyau commence à charger à partir du bloc zéro (le premier) de la seconde disquette.
Le seizième bit (bit 15) représente 2 à la puissance 15, soit 32768. Donc le nouveau nombre magique est 32768 + 16384, ce qui vaut 49152. Cette valeur indique au noyau de réclamer puis de charger l'image du disque ram initiale à partir du premier bloc de la disquette insérée. Donc votre première modification concerne la commande d'écriture du nombre magique sur l'image de dépannage de la disquette.
rdev -r /dev/floppy/0 49152 |
Notez que l'image du disque ram initial n'est pas encore copiée sur la disquette. Supprimez la disquette de démarrage et insérez une autre disquette qui contiendra votre système de fichiers racine. Lancez cette commande modifiée (n'oubliez pas d'utiliser /dev/fd0 si vous n'utilisez pas devfs). Notez qu'aucun paramètre seek n'est utilisé.
dd if=/tmp/rootfs.gz of=/dev/floppy/0 bs=1k |
Voici tout ce qu'il y avait à faire. Les possibilités à partir de là sont limitées seulement par votre imagination et par votre ténacité à poursuivre vos améliorations. Et par votre volonté de rechercher la documentation disponible. Un bon point de départ est le répertoire Documentation du répertoire des sources du noyau. Plus d'aide sont disponibles dans les astuces LFS (merci d'utiliser un miroir convenable) et au TLDP.
Ensemble, la commande /usr/sbin/useradd et le répertoire /etc/skel (tous les deux simple à configurer et à utiliser) sont un moyen de vous assurer que les nouveaux utilisateurs de votre système LFS disposeront au départ des mêmes configurations sur des éléments comme PATH, la gestion du clavier et les variables d'environnement. Utiliser ces deux moyens rendra ceci plus facile et vous assure de l'état initial de chaque nouvel utilisateur.
Le répertoire /etc/skel tient des copies de différents fichiers d'initialisation et autres qui devront être copiés dans le répertoire personnel du nouvel utilisateur lorsque le programme /usr/sbin/useradd ajoutera cet utilisateur.
Useradd
Le programme useradd utilise une collection de valeurs par défaut conservée dans /etc/default/useradd, si il existe. S'il n'existe pas, alors il utilise quelques valeurs internes par défaut. Vous pouvez voir les valeurs par défaut en lançant /usr/sbin/useradd -D.
Pour changer ces valeurs en quelque chose de nouveau, créez un fichier /etc/default/useradd de base avec les mêmes valeurs que la sortie de /usr/sbin/useradd -D. Voici un exemple.
# Début /etc/default/useradd GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL= SKEL=/etc/skel # Fin /etc/default/useradd |
La seule chose manquant dans ce fichier est le shell par défaut. Ajoutez-le en lançant:
/usr/sbin/useradd -D -s/bin/bash |
Ceci va configurer la ligne SHELL= en SHELL=/bin/bash.
Useradd a beaucoup d'autres paramètres pouvant être configurés dans le fichier /etc/default/useradd.
Pour plus d'informations, voir man useradd.
/etc/skel
Pour commencer, créez un répertoire /etc/skel et assurez-vous que seul l'administrateur système a le droit d'écrire dedans, donc habituellement root. Créer le répertoire en tant que root est la meilleure façon de procéder.
Les droits de tous les fichiers dans cette partie du livre doivent permettre l'écriture uniquement par le propriétaire. De même, comme il n'y a aucune façon de savoir quel type d'informations sensibles un utilisateur pourrait éventuelle placer dans leur copie de ces fichiers, vous devriez les rendre illisible pour le groupe et les autres.
Vous pouvez aussi placer d'autres fichiers dans /etc/skel et d'autres droits peuvent être nécessaires pour ceux-là.
Décidez quels fichiers d'initialisation doivent être fournis à chaque (ou tout) nouvel utilisateur. Les décisions que vous prenez affecteront ce que vous ferez dans les trois prochaines sections, /etc/inputrc, Les fichiers de démarrage Bash et /etc/vimrc, ~/.vimrc. Certains ou tous ces fichiers seront utiles à root, aux utilisateurs déjà existants et aux nouveaux utilisateurs.
Les fichiers de ces sections que vous pourriez vouloir placer dans /etc/skel incluent .inputrc, .bash_profile, .bashrc, .bash_logout, .dircolors et .vimrc. Si vous n'êtes pas sûr lesquels doivent y être mis, continuez simplement avec les sections suivantes, lisez chaque section et toutes les références proposées, et enfin décidez.
Vous lancerez un ensemble de commandes légèrement modifié des fichiers placés dans /etc/skel. Chaque section vous le rappelera. En bref, les commandes du livre ont été écrites pour des fichiers non ajoutés dans /etc/skel et envoient simplement les résultats dans le répertoire personnel de l'utilisateur. Si le fichier se trouve être dans /etc/skel, changez les commandes du livre pour envoyer la sortie là-bas et ensuite copiez le fichier /etc/skel pour les répertoires appropriés, comme /etc, ~ ou le répertoire personnel de tout autre utilisateur existant déjà dans le système.
Lors de l'ajout d'un utilisateur
Lors de l'ajout d'un nouvel utilisateur avec useradd, utilisez le paramètre -m, indiquant à useradd de créer le répertoire personnel de l'utilisateur et de copier les fichiers de /etc/skel (peut être surchargé) dans le répertoire personnel du nouvel utilisateur. Par exemple:
useradd -m -s/bin/bash jwrober |
inputrc réalise la configuration du clavier pour certaines situations. Ce fichier est le fichier de démarrage utilisé par readline - la bibliothèque relative aux entrées utilisée par Bash et la plupart des autres shells.
Pour plus d'informations, voir info bash -- Noeud: Readline Init file mais aussi info readline. Beaucoup de choses peuvent être faite avec ce seul fichier rc.
Les valeurs globales sont configurées dans /etc/inputrc. Les valeurs personnelles de l'utilisateur sont configurées dans ~/.inputrc. Le fichier ~/.inputrc écrasera le fichier des paramètrages globaux. Une autre page plus loin configure Bash pour utiliser /etc/inputrc si il n'existe aucun .inputrc pour un utilisateur lorsque /etc/profile est lu read (habituellement à la connexion). Si vous voulez que votre système utilise les deux, ou que vous ne voulez pas une gestion globale du clavier, c'est une bonne idée de placer un .inputrc par défaut dans le répertoire /etc/skel pour que les nouveaux utilisateurs en disposent.
Ci-dessous se trouve un /etc/inputrc de base avec des commentaires expliquant ce que font les différentes options. Notez que les commentaires ne peuvent pas être sur la même ligne que les commandes.
Si vous créez un .inputrc dans /etc/skel en utilisant la commande ci-dessous, modifiez la sortie de la commande par /etc/skel/.inputrc et assurez-vous de vérifier/configurer les droits après. Ensuite, vous pouvez simplement copier ce fichier dans /etc/inputrc et le répertoire personnel de tout utilisateur existant déjà dans le système, sans oublier root, ayant besoin d'une version privée de ce fichier. Assurez-vous d'utiliser le paramètre -p de cp pour conserver les droits et assurez-vous de changer le propriétaire et le groupe de façon appropriée.
cat > /etc/inputrc << "EOF" # Begin /etc/inputrc # S'assure que nous ne sortons pas tout sur une ligne set horizontal-scroll-mode Off # Active l'entrée 8bit set meta-flag On set input-meta On # Turns off 8th bit stripping set convert-meta Off # Conserve le 8ème bit pour l'affichage set output-meta On # rien, visible ou audible set bell-style none # Toutes les indications ci-dessous font correspondre une séquence d'échappement # à une fonction readline spécifique "\eOd": backward-word "\eOc": forward-word # pour la console linux "\e[1~": beginning-of-line "\e[4~": end-of-line "\e[5~": beginning-of-history "\e[6~": end-of-history "\e[3~": delete-char "\e[2~": quoted-insert # pour xterm "\eOH": beginning-of-line "\eOF": end-of-line # Fin /etc/inputrc EOF |
Le programme shell /bin/bash (que l'on nommera simplement "le shell" à partir de maintenant) utilise une collection de fichiers de démarrage pour aider à la création d'un environnement de travail. Chaque fichier a une utilisation spécifique et peut affecter différemment la connexion et les environnements interactifs. Les fichiers dans le répertoire /etc apportent habituellement une configuration globale. Si un fichier équivalent existe dans votre répertoire personnel, il pourrait écraser les paramètrages globaux.
Un shell interactif de connexion est lancé après une identification positive, en utilisant /bin/login en lisant le fichier /etc/passwd. Un shell interactif, sans login, est lancé à la ligne de commande (c'est-à-dire [invite]$/bin/bash). Un shell non-interactif est présent habituellement lorsqu'un script shell tourne. Il est non interactif parce qu'il exécute un script et n'attends pas d'entrée utilisateur entre les commandes.
Pour plus d'informations, voir info bash -- Noeud: Bash Startup Files and Interactive Shells.
Les fichiers suivants sont utilisés pour s'assurer que l'environnement correct est établi pour chacune des façons dont le shell peut être appelé: /etc/profile et son équivalent privé ~/.bash_profile, et /etc/bashrc (non officiel) et son équivalent privé et ~/.bashrc.
Le fichier ~/.bash_logout n'est pas utilisé pour une invocation du shell. Il est lu par le shell quand un utilisateur se déconnecte du système.
Les fichiers /etc/profile et ~/.bash_profile sont lus quand le shell est invoqué comme shell interactif de connexion. Le fichier ~/.bashrc est lu quand le shell est invoqué comme shell interactif sans fonction de connexion.
Aussi utiles sont les fichiers /etc/dircolors et ~/.dircolors appelés à partir de /etc/profile. Ils contrôlent les sorties colorisées de commandes comme ls --color.
Voici la base d'un /etc/profile. Les commentaires sur ce fichier devraient expliquer tout ce dont vous avez besoin. Pour plus d'informations sur les séquences d'échappement que vous pouvez utiliser pour votre invite (par exemple, la variable d'environnement PS1), voir info bash -- Noeud: Imprimer une invite.
cat > /etc/profile << "EOF" # Begin /etc/profile # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Variables d'environnement globales et programmes de démarrage # Les alias systèmes et les fonctions doivent aller dans /etc/bashrc. Les # variables d'environnements et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. # Fonction d'aide à la gestion des chemins. pathman () { if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then if [ "$2" = "last" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi fi } # Ajout au chemin standard. if [ $(id -u) = 0 ] ; then if [ -d "/usr/local/sbin" ] ; then pathman /usr/local/sbin last fi fi if [ $(id -u) != 0 ] ; then if [ -d "/usr/local/bin" ] ; then pathman /usr/local/bin last fi fi if [ -d "/usr/X11R6/bin" ] ; then pathman /usr/X11R6/bin last fi # Configuration de quelques variables d'environnement. HISTSIZE=1000 HISTIGNORE="&:[bf]g:exit" PS1="[\u@\h \w]\\$ " # Configuration de la variable d'environnement INPUTRC. if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then INPUTRC=/etc/inputrc fi # Configuration de /bin/ls pour activer le support de la couleur, l'alias se # trouve dans /etc/bashrc. if [ -f "/etc/dircolors" ] ; then eval $(dircolors -b /etc/dircolors) if [ -f "$HOME/.dircolors" ] ; then eval $(dircolors -b $HOME/.dircolors) fi fi export PATH HISTSIZE HISTIGNORE PS1 LS_COLORS INPUTRC # Fin /etc/profile EOF |
Voici la base d'un /etc/bashrc. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin. Si vous voulez que chaque nouvel utilisateur dispose automatiquement de ce fichier, changez simplement la sortie de la commande suivante par /etc/skel/.bash_profile et vérifiez les droits après avoir lancé la commande. Vous pouvez ensuite copier /etc/skel/.bash_profile dans le répertoire personnel de chaque utilisateur déjà existant, y compris root, et configurer le propriétaire et le groupe de façon approprié.
cat > /etc/bashrc << "EOF" # Begin /etc/bashrc # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Alias système et fonctions. # Les alias systèmes et les fonctions doivent aller dans /etc/bashrc. Les # variables d'environnements et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. # Par défaut, nous voulons mettre en place le masque utilisateur (umask). # Même pour les shells non interactifs et sans login. if [ "$(id -gn)" = "$(id -un)" -a $(id -u) -gt 99 ] ; then umask 002 else umask 022 fi # Met à disposition une commande /bin/ls colorisée. Utilisé avec du code de # /etc/profile. alias ls='ls --color=auto' # Propose une invite pour les shells non interactifs, spécialement ceux lancés # depuis l'environnement xfree. [Voir la liste de mails archivés titrée # "PS1 Environment variable" pour une grande étude de cas de ce script.] export PS1="[\u@\h \w]\\$ " # Fin /etc/bashrc EOF |
Voici la base d'un ~/.bash_profile. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin.
# Début ~/.bash_profile # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Variables d'environnement et programmes de lancement personnels. # Les alias systèmes et les fonctions doivent aller dans /etc/bashrc. Les # variables d'environnements et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. if [ -f "$HOME/.bashrc" ] ; then source $HOME/.bashrc fi if [ -d "$HOME/bin" ] ; then pathman $HOME/bin last fi export PATH # Fin ~/.bash_profile |
Voici la base d'un ~/.bashrc. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin. Les commentaires et instructions sur l'utilisation de /etc/skel pour .bash_profile ci-dessus s'appliquent ici aussi. Seuls les noms des fichiers cibles sont différents.
# Début ~/.bashrc # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Alias et fonctions personnels. # Les alias systèmes et les fonctions doivent aller dans /etc/bashrc. Les # variables d'environnements et les programmes de lancement personnels doivent # aller dans ~/.bash_profile. Les alias et fonctions personnels doivent aller # dans ~/.bashrc. if [ -f "/etc/bashrc" ] ; then source /etc/bashrc fi # Fin ~/.bashrc |
Voici la base d'un ~/.bash_logout. Les commentaires dans le fichier devraient expliquer tout ce dont vous avez besoin.
# Début ~/.bash_logout # Ecrit pour Beyond Linux From Scratch # par James Robertson <jameswrobertson@earthlink.net> # Eléments personnels exécutés à la fin de la connexion. # Fin ~/.bash_logout |
Si vous voulez utiliser la capacité dircolors, alors lancez la commande suivante. Les étapes de configuration de /etc/skel vues ci-dessus peuvent aussi être utilisées ici pour procurer un fichier .dircolors lorsqu'un nouvel utilisateur est configuré. Comme auparavent, modifiez simplement le nom de fichier en sortie sur la commande suivante et assurez-vous que les droits, propiétaire et groupe sont corrects sur les fichiers créés et/ou copiés.
/bin/dircolors -p > /etc/dircolors
Ian Macdonald a écrit une excellente collection d'astuces en tout genre pour améliorer l'environnement de votre shell. Vous pouvez la lire en ligne sur http://www.caliban.org/bash/index.shtml.
Le livre LFS installe vim comme son éditeur. A ce point, nous devons établir qu'il existe beaucoup d'éditeurs différents incluant emacs, nano, joe et bien d'autres. Tous ceux qui ont été sur Internet (et plus spécialement usenet) pendant un petit instant ont certainement vu au moins une guerre de clochers, habituellement incluant les utilisateurs de vim et emacs !
Le livre LFS donne un fichier vimrc basique. Ici, nous essaierons d'améliorer ce fichier. Au démarrage, vim lit /etc/vimrc et ~/.vimrc (c'est-à-dire le fichier global et le fichier spécifique aux utilisateurs). Notez que ceci est seulement vrai si vous avez compilé vim en utilisant LFS-3.1. Avant ceci, le fichier global vimrc était /usr/share/vim/vimrc.
Ici se trouve un exemple légèrement étendu de vimrc que vous pouvez mettre dans /etc/vimrc pour un effet global. Bien sûr, si vous le placez dans /etc/skel/.vimrc, il sera mis à disposition de tous les utilisateurs que vous ajouterez plus tard au système. Vous pouvez aussi copier le fichier de /etc/skel/.vimrc dans /etc/vimrc et dans le répertoire personnel de chaque utilisateur existant déjà sur le système, comme root. Assurez-vous de configurer les droits, propriétaire et groupe si vous copiez tout directement à partir de /etc/skel.
" Début .vimrc set bs=2 set columns=80 set background=dark set wrapmargin=8 syntax on set ruler " Fin .vimrc |
Une FAQ sur les listes lfs parle des tags de commentaires dans vimrc. Notez qu'on utilise " au lieu du plus usuel # ou //. C'est correct, la syntaxe pour vimrc est légèrement inhabituelle.
Nous allons nous lancer dans une rapide explication de chaque option du fichier exemple:
set bs=2 : Ceci influence le comportement de l'option backspace. Elle est assez complexe, donc voir :help 'bs' pour plus de détails.
set columns=80 : Ceci indique simplement le nombre de colonnes utilisées sur l'écran.
set background=dark : Ceci dit à vim d'utiliser des couleurs correctes sur un fond noir.
set wrapmargin=8 : Il s'agit du nombre de caractères du bord droit de la fenêtre où le 'wrapping' commence.
syntax on : Active le surlignage syntaxique de vim.
set ruler : Ceci fait que vim affiche la ligne et la colonne courantes dans le bas droit de l'écran.
Plus d'informations sur les nombreuses options de vim peuvent être trouvées en lisant l'aide dans vim lui-même. Faites ceci en tapant :help dans vim pour accéder à l'aide général, ou en tapant :help usr_toc.txt pour voir le sommaire du manuel utilisateur.
Lorsque vous démarrez pour la première fois votre nouveau système LFS, l'écran de connexion sera joli et texte (comme il doit être dans un système dépouillé). Néanmoins, beaucoup de gens voudront que leur système affiche quelques informations dans le message de connexion. Ceci peut se faire en utilisant le fichier /etc/issue.
Le fichier /etc/issue est un fichier de texte qui accepte aussi certaines séquences d'échappement (voir plus bas) pour insérer des informations sur le système. Il existe aussi le fichier issue.net pouvant être utilisé lors de connexions à distance. Néanmoins, ssh va seulement l'utiliser si vous avez mis en place l'option dans les fichiers de configuration et ne va pas interpréter les séquences d'échappement indiquées ci-dessous.
Une des actions les plus communes que les gens veulent est d'effacer l'écran à chaque connexion. Le moyen le plus simple pour y arriver est de placer la séquence d'échappement "clear" dans /etc/issue. Un moyen simple est de faire clear > /etc/issue. Ceci insèrera le code d'échappement au début du fichier /etc/issue. Notez que si vous faites ceci, quand vous éditez le fichier, vous devez laisser le caractère ^[c sur la première ligne.
Les séquences d'échappement suivantes sont reconnues par agetty (le programme qui analyse habituellement /etc/issue). Cette information provient de man agetty où vous pouvez trouver des informations supplémentaires sur le processus de connexion.
Le fichier issue peut contenir certains codes d'échappement pour afficher des informations variées. Toutes les séquences d'échappement consistent d'un backslash (\) immédiatement suivi d'une des lettres expliquées ci-dessous (donc \d dans /etc/issue insère la date courante).
b Insérer la vitesse de la ligne. d Insérer la date courante. s Insérer le nom du système, le nom du système d'exploitation. l Insérer le nom de la ligne tty courante. m Insérer l'identifieur de l'architecture de la machine, par exemple i486 n Insérer le nom du noeud de la machine, aussi connu sous le nom de nom d'hôte. o Insérer le nom de domaine de la machine. r Insérer le numéro de version du noyau, par exemple 2.4.16. t Insérer la date courante. u Insérer le nomre d'utilisateurs connectés en ce moment. U Insérer la phrase "1 user" ou "<n> users" où <n> est le nombre d'utilisateurs actuellement connectés. v Insérer la version de l'OS, par exemple la date de construction. |
Le noyau Linux apporte un générateur de nombres aléatoires auquel on accède par /dev/random et /dev/urandom. Les programmes utilisant les périphériques random et urandom, tels que OpenSSH, bénéficieront de ces instructions.
Quand un système Linux démarre sans trop d'interaction de l'opérateur, le pool d'entropies, les données utilisées pour calculer un nombre aléatoire, peut se trouver dans un état à peu près prévisible. Ceci crée une possibilité réelle que les nombres générés au démarrage peuvent être les mêmes. Pour réagir à cet effet, vous devez apporter au pool d'entropies des informations entre vos arrêts et démarrages. Le script init.d suivant et ses liens vont réaliser cette fonction pour vous automatiquement.
cat > /etc/rc.d/init.d/random << "EOF" #!/bin/sh # Début $rc_base/init.d/random # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org # Eléments du script random par Larry Lawrence source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Initializing kernel random number generator..." if [ -f /var/tmp/random-seed ]; then cat /var/tmp/random-seed >/dev/urandom fi dd if=/dev/urandom of=/var/tmp/random-seed count=1 &>/dev/null evaluate_retval ;; stop) echo "Saving random seed..." dd if=/dev/urandom of=/var/tmp/random-seed count=1 &>/dev/null evaluate_retval ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac # Fin $rc_base/init.d/random EOF chmod 755 /etc/rc.d/init.d/random |
Créez les liens symboliques de ce fichier dans les répertoires rc.d appropriés avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/random ../rc0.d/K45random && ln -sf ../init.d/random ../rc2.d/S25random && ln -sf ../init.d/random ../rc3.d/S25random && ln -sf ../init.d/random ../rc4.d/S25random && ln -sf ../init.d/random ../rc5.d/S25random && ln -sf ../init.d/random ../rc6.d/K45random |
Les programmes de lecture de pages man et peuvent traiter de manière transparente des pages compressées avec gzip et bzip, fonctionnalité intéressante pour gagner en espace disque tout en conservant votre documentation. Néanmoins, les choses ne sont pas aussi simple : les répertoires man ont tendance à contenir des liens, physiques et symboliques, qui empêchent les idées simples comme l'appel récursif de gzip. Une meilleur façon de faire est d'utiliser le script ci-dessous.
cat > /usr/bin/compressdoc << "EOF" #!/bin/bash # VERSION: 20031029.0025 # # Compresse (avec bzip2 ou gzip) toutes les pages man dans un ensemble de # répertoires et met à jour les liens symboliques - Par Marc Heerdink <marc @ koelkast.net> # Modifiez pour être capable de compresser les fichiers avec gzip ou bzip2 # suivant une option et pour gérer tous les liens symboliques proprement par # Mark Hymers <markh @ linuxfromscratch.org> # # Modifié 20030930 par Yann E. Morin <yann.morin.1998 @ anciens.enib.fr> # pour accepter la compression/décompression, pour gérer correctement les liens # physiques, pour permettre la modification de liens physiques en liens # symboliques, pour spécifier le niveau de compression, pour analyser man.conf # pour toutes les occurrences de MANPATH, pour permettre une sauvegarde, pour # autoriser la conservation de la version la plus récente d'une page. # # TODO: # - choisir une méthode de compression par défaut suivant la # disponibilité des outils : gzip ou bzip2; # - offrir une option pour choisir automatiquement la meilleure méthode # de compression sur une base page par page (c'est-à-dire, vérifier # lequel des outils de compression, entre gzip/bzip2/autre, est le plus # performant, et ceci page par page); # - lorsque la variable d'environnement MANPATH existe, l'utilisez plutôt # que /etc/man.conf (utile pour les utilisateurs souhaitant # (dé)compresser leurs man pages; # - offrir une option pour restaurer une sauvegarde précédente; # - ajouter d'autres outils de compression (compress, zip, etc?). # Nécessaire? # Assez logiquement, cette fonction affiche de l'aide. function help () { if [ -n "$1" ]; then echo "Option inconnue : $1" fi ( echo "Usage: $0 <méthode_compression> [options] [dirs]" && \ cat << EOT Où méthode_compression est : --gzip, --gz, -g --bzip2, --bz2, -b Compresse en utilisant gzip ou bzip2. --decompress, -d Décompresse les pages man. --backup Spécifie qu'une sauvegarde .tar doit être faire pour chaque répertoire. Au cas où une sauvegarde existe déjà, elle est sauvegardée dans .tar.old avant de créer la nouvelle sauvegarde. Si une sauvegarde .tar.old existe, elle est supprimée avant de sauvegarder l'ancienne sauvegarde. En mode sauvegarde, aucune autre action n'est effectuée. Et où les options sont : -1 to -9, --fast, --best Le niveau de compression, telle que gérée par gzip et bzip2. Si elle n'est pas spécifiée, utilise le niveau de compression par défaut de la méthode donnée (-6 pour gzip, et -9 pour bzip2). Inutilisée en mode sauvegarde et en mode décompression. --force, -F Force la (re-)compression, même si l'ancien utilisait la même méthode. Utile lors d'un changement de niveau de compression. Par défaut, une page ne sera pas re-compressée si elle se termine avec le même suffixe que la méthode utilisée (.bz2 pour bzip2, .gz pour gzip). --soft, -S Modifie les liens physiques en liens symboliques. A utiliser avec précaution car le premier fichier rencontré sera utilisé comme référence. Inutilisée en mode sauvegarde. --hard, -H Modifie les liens symboliques en liens physiques. Inutilisée en mode sauvegarde. --conf=dir, --conf dir Spécifie l'emplacement de man.conf. Par défaut, /etc. --verbose, -v Mode verbeux, affiche le nom du répertoire en cours de traitement. Doublez l'option pour qu'elle soit encore plus verbeuse et pour qu'elle affiche le nom du fichier en cours de traitement. --fake, -f Mode émulation. Affiche les paramètres réels que compman utilisera. dirs Une liste de chemins absolus séparés par des espaces menant aux répertoires man. Si vide, et seulement dans ce cas, analyse ${MAN_CONF}/man.conf pour toutes les occurrences de MANPATH. Note sur la compression Il y a eu une discussion sur blfs-support concernant les niveaux de compression de gzip et bzip2 sur les pages man, en prenant en compte le système de fichiers hôte, l'architecture, etc... En résumé, la conclusion était que gzip était plus efficace sur les 'petits' fichiers, que bzip2 l'était sur les 'gros' fichiers, petit et gros dépendant beaucoup du contenu des fichiers. Voir le message original de Mickael A. Peters, intitulé "Bootable Utility CD", et daté de 20030409.1816(+0200), ainsi que les messages consécutifs: http://linuxfromscratch.org/pipermail/blfs-support/2003-April/038817.html Sur mon système (x86, ext3), les pages man faisaient 35564kiB avant compression. gzip -9 les a compressé pour arriver à 20372kiB (57,28%), bzip2 -9 arrivait à 19812kiB (55,71%). Cela représente un gain de 1,57%. YMMV. Ce qui n'a pas été pris en considération est le temps de décompression. Mais cela a-t'il aussi un sens ? Vous gagnez en rapidité d'accès avec des pages man non compressées ou vous gagnez de l'espace disque contre un léger contre-temps. En fait, mon P4-2.5GHz ne me permet même pas de l'apprécier... :-) EOT ) | less } # Cette fonction vérifie que la page man est unique parmi les versions bzip2, # gzip et non compressés. # $1 le répertoire où réside le fichier # $2 le nom du fichier de la page man # Renvoit 0 (true) si le fichier est le dernier et doit être pris en # considération et 1 (false) si le fichier n'est pas le dernier (et a donc été # supprimé). function check_unique () { # NB. Lorsqu'il y a des liens physiques vers ce fichier, ils ne sont _pas_ # supprimés. En fait, si ce sont des liens physiques, ils ont tous la même # date/heure, les préparant à la suppression plus tard. # Construit la liste de toutes les pages man de même nom DIR=$1 BASENAME=`basename "${2}" .bz2` BASENAME=`basename "${BASENAME}" .gz` GZ_FILE="$BASENAME".bz2 BZ_FILE="$BASENAME".bz2 # Recherche, et conserve, le plus récent LATEST=`(cd "$DIR"; ls -1rt "${BASENAME}" "${GZ_FILE}" "${BZ_FILE}" 2>/dev/null | tail -1)` for i in "${BASENAME}" "${GZ_FILE}" "${BZ_FILE}"; do [ "$LATEST" != "$i" ] && rm -f "$DIR"/"$i" done # Au cas où le fichier spécifié est le dernier, renvoit 0 [ "$LATEST" = "$2" ] && return 0 # Si le fichier n'est pas le dernier, renvoit 1 return 1 } # OK, analyse les arguments de la ligne de commande et initialise à un état # particulier : ne pas modifier les liens, analyser /etc/man.conf, être le plus # silencieux, rechercher man.conf dans /etc et ne pas forcer la (re-)compression. COMP_METHOD= COMP_SUF= COMP_LVL= FORCE_OPT= LN_OPT= MAN_DIR= VERBOSE_LVL=0 BACKUP=no FAKE=no MAN_CONF=/etc while [ -n "$1" ]; do case $1 in --gzip|--gz|-g) COMP_SUF=.gz COMP_METHOD=$1 shift ;; --bzip2|--bz2|-b) COMP_SUF=.bz2 COMP_METHOD=$1 shift ;; --decompress|-d) COMP_SUF= COMP_LVL= COMP_METHOD=$1 shift ;; -[1-9]|--fast|--best) COMP_LVL=$1 shift ;; --force|-F) FORCE_OPT=-F shift ;; --soft|-S) LN_OPT=-S shift ;; --hard|-H) LN_OPT=-H shift ;; --conf=*) MAN_CONF=`echo $1 | cut -d '=' -f2-` shift ;; --conf) MAN_CONF="$2" shift 2 ;; --verbose|-v) let VERBOSE_LVL++ shift ;; --backup) BACKUP=yes shift ;; --fake|-f) FAKE=yes shift ;; --help|-h) help exit 0 ;; /*) MAN_DIR="${MAN_DIR} ${1}" shift ;; -*) help $1 exit 1 ;; *) echo "\"$1\" n'est pas un chemin absolu" exit 1 ;; esac done # Redirections case $VERBOSE_LVL in 0) # O, être silencieux DEST_FD0=/dev/null DEST_FD1=/dev/null VERBOSE_OPT= ;; 1) # 1, être un peu verbeux DEST_FD0=/dev/stdout DEST_FD1=/dev/null VERBOSE_OPT=-v ;; *) # 2 et au-dessus, être très verbeux DEST_FD0=/dev/stdout DEST_FD1=/dev/stdout VERBOSE_OPT="-v -v" ;; esac # Note: sur ma machine, 'man --path' donne /usr/share/man deux fois, une fois # avec un '/' en fin, une fois sans. if [ -z "$MAN_DIR" ]; then MAN_DIR=`man --path -C "$MAN_CONF"/man.conf \ | sed 's/:/\\n/g' \ | while read foo; do dirname "$foo"/.; done \ | sort -u \ | while read bar; do echo -n "$bar "; done` fi # Si aucun MANPATH dans ${MAN_CONF}/man.conf, annuler tout if [ -z "$MAN_DIR" ]; then echo "Aucun répertoire spécifié et aucun répertoire trouvé avec \`man --path'" exit 1 fi # Faux? if [ "$FAKE" != "no" ]; then echo "Paramètres utilisés:" echo -n "Compression........: " case $COMP_METHOD in --bzip2|--bz2|-b) echo -n "bzip2";; --gzip|__gz|-g) echo -n "gzip";; --decompress|-d) echo -n "décompression";; *) echo -n "unknown";; esac echo " ($COMP_METHOD)" echo "Niveau de compression.: $COMP_LVL" echo "Suffixe de compression: $COMP_SUF" echo -n "Forcer la compression: " [ "foo$FORCE_OPT" = "foo-F" ] && echo "yes" || echo "no" echo "man.conf est..........: ${MAN_CONF}/man.conf" echo -n "Hard-links............: " [ "foo$LN_OPT" = "foo-S" ] && echo "convert to soft-links" || echo "leave as is" echo -n "Liens symboliques.....: " [ "foo$LN_OPT" = "foo-H" ] && echo "convert to hard-links" || echo "leave as is" echo "Sauvegarde............: $BACKUP" echo "Faux (oui!)...........: $FAKE" echo "Répertoires...........: $MAN_DIR" echo "Niveau de verbosité...: $VERBOSE_LVL" exit 0 fi # Si aucune méthode n'a été spécifiée, affichez l'aide if [ -z "${COMP_METHOD}" -a "${BACKUP}" = "no" ]; then help exit 1 fi # En mode sauvegarde, faire uniquement la sauvegarde if [ "$BACKUP" = "yes" ]; then for DIR in $MAN_DIR; do cd "${DIR}/.." DIR_NAME=`basename "${DIR}"` echo "Sauvegarde de $DIR..." > $DEST_FD0 [ -f "${DIR_NAME}.tar.old" ] && rm -f "${DIR_NAME}.tar.old" [ -f "${DIR_NAME}.tar" ] && mv "${DIR_NAME}.tar" "${DIR_NAME}.tar.old" tar cfv "${DIR_NAME}.tar" "${DIR_NAME}" > $DEST_FD1 done exit 0 fi # Je sais que MAN_DIR n'a que des noms de chemins absolus # Je dois prendre en considération les pages man localisées, donc je deviens # récursif for DIR in $MAN_DIR; do MEM_DIR=`pwd` cd "$DIR" for FILE in *; do # Corrige le cas où le répertoire est vide if [ "foo$FILE" = "foo*" ]; then continue; fi # Corrige le cas où les liens symboliques voient leur schéma de compression # changé (de non compressé à compressé, ou de bz2 à gz, ou de gz à bz2) # Corrige aussi le cas où plusieurs versions de la page sont présentes, # compressées ou non. if [ ! -L "$FILE" -a ! -e "$FILE" ]; then continue; fi # Ne compresse pas les fichiers whatis if [ "$FILE" = "whatis" ]; then continue; fi if [ -d "$FILE" ]; then cd "${MEM_DIR}" # Retourne en arrière où nous avons lancé "$0", au cas où "$0"=="./compressdoc" ... # Nous devenons récursif pour ce répertoire echo "-> Entering ${DIR}/${FILE}..." > $DEST_FD0 # Je ne dois pas passé --conf, car je spécifie le répertoire de travail # Mais je dois sortir en cas d'erreur "$0" ${COMP_METHOD} ${COMP_LVL} ${LN_OPT} ${VERBOSE_OPT} ${FORCE_OPT} "${DIR}/${FILE}" || exit 1 echo "<- Sortie de ${DIR}/${FILE}." > $DEST_FD1 cd "$DIR" # Nécessaire pour la prochaine itération de la boucle else # !dir if ! check_unique "$DIR" "$FILE"; then continue; fi # Vérifie si le fichier est déjà compressé avec la méthode spécifiée BASE_FILE=`basename "$FILE" .gz` BASE_FILE=`basename "$FILE" .bz2` if [ "${FILE}" = "${BASE_FILE}${COMP_SUF}" -a "foo${FORCE_OPT}" = "foo" ]; then continue; fi # Si nous avons un lien symbolique if [ -h "$FILE" ]; then case "$FILE" in *.bz2) EXT=bz2 ;; *.gz) EXT=gz ;; *) EXT=none ;; esac if [ ! "$EXT" = "none" ]; then LINK=`ls -l "$FILE" | cut -d ">" -f2 | tr -d " " | sed s/\.$EXT$//` NEWNAME=`echo "$FILE" | sed s/\.$EXT$//` mv "$FILE" "$NEWNAME" FILE="$NEWNAME" else LINK=`ls -l "$FILE" | cut -d ">" -f2 | tr -d " "` fi if [ "$LN_OPT" = "-H" ]; then # Modifie le lien symbolique en lien physique rm -f "$FILE" && ln "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" chmod --reference "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" else # Modifie le lien physique en lien symbolique rm -f "$FILE" && ln -s "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" fi echo "Modification du lien $FILE" > $DEST_FD1 # Sinon, nous avons un fichier standard elif [ -f "$FILE" ]; then # Prenons en considération les liens physiques: construire la liste des # liens physiques allant sur le fichier que nous sommes en train de # {dé,}compresser. # NB. Ceci n'est pas optimum car le fichier sera éventuellement # compressé autant de fois qu'il a de liens compressés. Mais, pour # l'instant, c'est le moyen le plus sûr. inode=`ls -li "$FILE" | awk '{print $1}'` HLINKS=`find . \! -name "$FILE" -inum $inode` if [ -n "$HLINKS" ]; then # Nous avons de liens physiques! A supprimer maintenant. for i in $HLINKS; do rm -f "$i"; done fi # Maintenant, occupons-nous du fichier qui n'a pas de liens physiques # Nous décompressons avant de re-compresser avec le niveau de # compression sélectionné précédemment... case "$FILE" in *.bz2) bunzip2 $FILE FILE=`basename "$FILE" .bz2` ;; *.gz) gunzip $FILE FILE=`basename "$FILE" .gz` ;; esac # Compresse le fichier avec le taux de compression indiqué si nécessaire case $COMP_SUF in *bz2) bzip2 ${COMP_LVL} "$FILE" && chmod 644 "${FILE}${COMP_SUF}" echo "$FILE compressé " > $DEST_FD1 ;; *gz) gzip ${COMP_LVL} "$FILE" && chmod 644 "${FILE}${COMP_SUF}" echo "$FILE compressé " > $DEST_FD1 ;; *) echo "$FILE non compressé " > $DEST_FD1 ;; esac # Si le fichier a des liens physiques, nous devons les recréer (soit en # physique soit en symbolique) if [ -n "$HLINKS" ]; then for i in $HLINKS; do NEWFILE=`echo "$i" | sed s/\.gz$// | sed s/\.bz2$//` if [ "$LN_OPT" = "-S" ]; then # Modifie ce lien symbolique en lien physique ln -s "${FILE}$COMP_SUF" "${NEWFILE}$COMP_SUF" else # Modifie ce lien physique en lien symbolique ln "${FILE}$COMP_SUF" "${NEWFILE}$COMP_SUF" fi chmod 644 "${NEWFILE}$COMP_SUF" # Really work only for hard-links. Harmless for soft-links done fi else # Il reste un problème où nous n'avons ni un lien symbolique ni un lien # physique # Evidemment, nous ne devrions jamais arriver là... :-( echo "Whaooo... \"${DIR}/${FILE}\" n'est ni un lien symbolique ni un lien physique. Merci de vérifier:" ls -l "${DIR}/${FILE}" exit 1 fi fi done # for FILE done # for DIR EOF chmod 755 /usr/bin/compressdoc |
Maintenant, en tant qu'utilisateur root, vous pouvez lancer /usr/bin/compressdoc --bz2 pour compresser toutes les pages man de votre système. Vous pouvez aussi lancer /usr/bin/compressdoc --help pour obtenir une aide compréhensible sur ce que le script est capable de faire.
N'oubliez que certains programmes, comme le système X Window, XEmacs, installent aussi leur documentation dans des emplacements non standard (tels que /usr/X11R6/man, etc...). N'oubliez pas d'ajouter ces emplacements dans le fichier /etc/man.conf, comme une section MANPATH=/path.
Exemple:
... MANPATH=/usr/share/man MANPATH=/usr/local/man MANPATH=/usr/X11R6/man MANPATH=/opt/qt/doc/man ... |
Habituellement, les systèmes d'installation de packages ne compressent pas les pages man/info, ce qui signifie que vous aurez besoin de lancer le script de nouveau su vous souhaitez conserver la taille de votre documentation le plus bas possible. De même, notez que lancer le script après avoir mis à jour un package est sûr : quand vous avez plusieurs versions d'une page (par exemple, une compressée et une non compressée), la plus récente est conservée et l'autre est supprimée.
Fichier de configuration pour Shadow
/etc/login.defs
Activer les mots de passe MD5
Pour activer les mots de passe MD5, modifiez la ligne du fichier login.defs indiquant:
#MD5_CRYPT_ENABLE no |
MD5_CRYPT_ENABLE yes |
Les mots de passe créés après cette modification seront cryptés en utilisant MD5 au lieu du cryptage DES.
Téléchargez le correctif pour shadow à partir de http://www.linuxfromscratch.org/patches/blfs/5.0.
Réinstallez shadow en lançant les commandes suivantes:
patch -Np1 -i ../shadow-4.0.3-pam-2.patch && ./configure --prefix=/usr --libdir=/usr/lib \ --enable-shared --with-libpam && make && make install && ln -sf vipw /usr/sbin/vigr && rm /bin/vipw && mv /bin/sg /usr/bin && mv /usr/lib/lib{misc,shadow}.so.0* /lib && ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so && ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so && cp debian/securetty /etc/securetty |
cp debian/securetty /etc/securetty : Cette commande indique les terminaux (tty) permettant la connexion à travers PAM.
/etc/pam.d/login, /etc/pam.d/passwd, /etc/pam.d/su, /etc/pam.d/shadow, /etc/pam.d/useradd
Ajoutez les fichiers de configuration PAM suivants dans /etc/pam.d (ou ajoutez-les dans /etc/pam.conf avec le champ additionnel pour le programme).
cat > /etc/pam.d/login << "EOF" # Début /etc/pam.d/login auth requisite pam_securetty.so auth requisite pam_nologin.so auth required pam_env.so auth required pam_unix.so account required pam_access.so account required pam_unix.so session required pam_motd.so session required pam_limits.so session optional pam_mail.so dir=/var/mail standard session optional pam_lastlog.so session required pam_unix.so # Fin /etc/pam.d/login EOF cat > /etc/pam.d/passwd << "EOF" # Début /etc/pam.d/passwd password required pam_unix.so md5 shadow # Fin /etc/pam.d/passwd EOF cat > /etc/pam.d/shadow << "EOF" # Début /etc/pam.d/shadow auth sufficient pam_rootok.so auth required pam_unix.so account required pam_unix.so session required pam_unix.so password required pam_permit.so # Fin /etc/pam.d/shadow EOF cat > /etc/pam.d/su << "EOF" # Début /etc/pam.d/su auth sufficient pam_rootok.so auth required pam_unix.so account required pam_unix.so session required pam_unix.so # Fin /etc/pam.d/su EOF cat > /etc/pam.d/useradd << "EOF" # Début /etc/pam.d/useradd auth sufficient pam_rootok.so auth required pam_unix.so account required pam_unix.so session required pam_unix.so password required pam_permit.so # Fin /etc/pam.d/useradd EOF cat > /etc/pam.d/chage << "EOF" # Début /etc/pam.d/chage auth sufficient pam_rootok.so auth required pam_unix.so account required pam_unix.so session required pam_unix.so password required pam_permit.so # Fin /etc/pam.d/chage EOF |
Actuellement, /etc/pam.d/other est configuré pour permettre à ceux disposant d'un compte sur la machine d'utiliser les programmes qui n'ont pas un fichier de configuration spécifique. Après avoir testé PAM pour vérifier que sa configuration est correcte, il peut être changé par ceci:
cat > /etc/pam.d/other << "EOF" # Begin /etc/pam.d/other auth required pam_deny.so auth required pam_warn.so account required pam_deny.so session required pam_deny.so password required pam_deny.so password required pam_warn.so # End /etc/pam.d/other EOF |
Enfin, éditez /etc/login.defs en ajoutant '#' au début des lignes suivantes:
DIALUPS_CHECK_ENAB LASTLOG_ENAB MAIL_CHECK_ENAB PORTTIME_CHECKS_ENAB CONSOLE MOTD_FILE NOLOGINS_FILE PASS_MIN_LEN SU_WHEEL_ONLY MD5_CRYPT_ENAB CONSOLE_GROUPS ENVIRON_FILE |
Ceci fait que login arrête de réaliser ces fonctions, car elles seront maintenant réalisées par les modules PAM.
Le package GnuPG contient un crypteur de clés public et privée. C'est utile pour signer des fichiers ou des emails et sert ainsi de preuve d'identité et pour empêcher la modification du contenu du fichier ou de l'email.
Téléchargement (HTTP): http://public.ftp.planetmirror.com/pub/gnupg/gnupg-1.2.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.2.3.tar.bz2
Taille du téléchargement: 2,2 Mo
Estimation de l'espace disque requis: 26,1 Mo
Estimation du temps de construction: 0,32 SBU
Installez GnuPG en lançant les commandes suivantes:
./configure --prefix=/usr --libexecdir=/usr/lib && make && make install && chmod 4755 /usr/bin/gpg |
--libexecdir=/usr/sbin : Cette commande crée un répertoire gnupg dans /usr/sbin au lieu de /usr/libexec.
gpg est l'interface moteur (interface en ligne de commande) pour l'implémention de PGP.
La prochaine partie de ce chapitre s'occupe des pare-feux. L'outil de pare-feu principal pour Linux, pour la série du noyau 2.4, est iptables. Il remplace ipchains de la série 2.2 et ipfwadm de la série 2.0. Vous aurez besoin d'installer iptables si vous avez l'intention d'utiliser une quelconque forme de pare-feu.
Pour utiliser un pare-feu, ainsi que l'installation d'iptables, vous aurez besoin de configurer les options adéquates dans votre noyau. Ceci est discuté dans la prochaine partie de ce chapitre - getting a firewalling-enabled Kernel.
Si vous comptez utiliser IPv6, vous pouvez considérer étendre le noyau en lançant make patch-o-matic dans le répertoire de base des sources d'iptables. Si vous souhaitez le faire sur un noyau tout juste déballé, vous aurez besoin de lancer yes "" | make config && make dep en premier car autrement la commande patch-o-matic a toutes les chances d'échouer lors de la mise en place de certaines dépendances.
Si vous comptez appliquer des correctifs (patcher) le noyau, vous aurez besoin de le faire avant de compiler iptables, parce que, durant la compilation, l'ensemble des sources du noyau est vérifié (si il est disponible sur /usr/src/linux-[version] pour vérifier les fonctionnalités disponibles. Un support sera seulement compilé dans iptables pour les fonctionnalités reconnues lors de la compilation. Appliquer un correctif du noyau peut résulter en des erreurs, souvent parce que les 'hooks' pour les correctifs ont changé ou parce que le script runme ne reconnait pas qu'un correctif a été incorporé.
Notez que pour la plupart des gens, appliquer un correctif sur le noyau n'est pas nécessaire. Avec les derniers noyaux 2.4.x, la plupart des fonctionnalités est déjà disponible et la plupart des personnes qui vont appliquer un correctif ont généralement besoin d'une fonctionnalité spécifique; si vous ne savez pas pourquoi vous avez besoin d'appliquer un correctif au noyau, c'est que vous n'en avez pas besoin!
Téléchargement (HTTP): http://www.iptables.org/files/iptables-1.2.8.tar.bz2
Téléchargement (FTP): ftp://ftp.netfilter.org/pub/iptables/iptables-1.2.8.tar.bz2
Taille du téléchargement: 128 Ko
Estimation de l'espace disque requis: 2,8 Mo
Estimation du temps de construction: 0,28 SBU
Installez iptables en lançant les commandes suivantes:
make PREFIX=/usr && make PREFIX=/usr install |
PREFIX=/usr: Compile et installe iptables dans le répertoire /usr au lieu de /usr/local.
iptables est utilisé pour mettre en place, maintenir et inspecter les tables des règles de filtres de paquets IP dans le noyau Linux.
Il sont utilisés pour sauvegarder et restaurer votre ensemble élaboré de chaines et de règles. Jusqu'à iptables-1.2.5, ils étaient déclarés expérimentaux.
C'est le même que iptables mais pour une utilisation avec IPv6. A partir de la v1.2.5, il n'est pas aussi complet que la version standard IPv4, spécialement en regard de certains modules.
Il existe plusieurs modules (implémentés en tant que bibliothèques partagées) qui étendent les fonctionnalités de base de iptables.
Avant de lire cette partie du chapitre, notez que nous assumons que vous avez déjà installé iptables comme décrit dans la section précédente.
Le but général d'un pare-feu est de protéger un réseau contre les accès malintentionnés en utilisant une simple machine comme pare-feu. Ceci implique que le pare-feu est considéré comme le seul point de risque, mais cela rend la vie des administrateurs bien plus facile.
Dans un monde parfait où vous sauriez que chaque démon ou service dans chaque machine a été parfaitement configuré et est insensible aux dépassements de tampons et autres problèmes imaginables en regard avec la sécurité, et où vous auriez confiance dans tous les utilisateurs accédant aux services, vous n'auriez pas besoin d'utiliser un pare-feu! Néanmoins, dans le monde réel, les démons peuvent être mal configurés, des exploits contre des services essentielles sont disponibles librement, vous pourriez vouloir choisir les services accessibles par certaines machines, vous pourriez vouloir limiter quelles machines ou applications sont autorisées à accéder à internet ou vous pourriez simplement ne pas faire confiance à certaines applications ou à certains utilisateurs. Dans ces situations, vous pouvez bénéficier de l'utilisation d'un pare-feu.
Ne considérez pas néanmoins qu'avoir un pare-feu fait que la configuration précise est redondante, pas plus qu'elle ne rend les configurations négligées sans risque, pas plus qu'elle n'empêche qui que ce soit d'exploiter un service que vous avez intentionnellement offert mais que vous n'avez pas récemment mis à jour ou patché après qu'un exploit ait été rendu public. Bien que vous ayez un pare-feu, vous avez besoin de conserver des applications et des besoins sur votre système bien configuré et mis à jour; un pare-feu n'est pas une cure!
Le mot pare-feu peut avoir plusieurs sens différents.
Ce sont des programmes sous Windows vendus par des compagnies comme Symantec, compagnies qui affirment ou prétendent qu'ils sécurisent un PC de bureau ou personnel avec accès à internet. Ce thème est très important pour les utilisateurs qui ne connaissent pas les façons dont leurs ordinateurs peuvent être accédés via internet et comment les désactiver, spécialement si ils sont en ligne et si ils sont connectés via des lignes 'broadband'.
Il s'agit d'une boîte placé entre internet et l'intranet. Pour minimiser le risque de compromettre le pare-feu lui-même, il doit généralement n'avoir qu'un seul rôle, celui de protéger l'intranet. Bien que pas complètement sans risques, les tâches de router et éventuellement d'IP masquerading (réécrire les entêtes IP des pacquets qu'il dirige des clients avec des adresses IP privées vers l'internet, de façon à ce qu'ils semblent provenir du pare-feu lui-même) sont généralement considéré sans gros risques.
C'est souvent une ancienne machine que vous aviez retirée et presque oubliée, réalisant du masquerading ou des fonctions de routage, mais offrant un ensemble de fonctions, comme cache web, mail, etc... Elle pourrait être utilisée pour un réseau personnel, mais ne peut définitivement plus être considéré comme sécurisé parce que la combinaison de serveur et routeur sur une seule machine augmente la complexité de sa configuration.
Cette machine réalise du masquerading ou du routage, mais accorde un accès public à certains points de votre réseau qui, à cause des IPs publiques et d'une structure séparée physiquement, n'est pas considéré comme faisant partie d'internet et de l'intranet. Le pare-feu les protège tous les deux.
Faire du routage ou du masquerading, mais permettre de sélectionner seulement les services accessibles, quelque fois seulement les utilisateurs ou les machines; généralement utilisé dans des contextes professionnels hautement sécurisés, quelques fois à cause d'utilisateurs dont on n'a pas confiance. C'était une configuration commune du pare-feu au temps du noyau Linux 2.2. Il est encore possible de configurer un pare-feu de cette façon, mais cela rend les règles assez complexes et longues.
Ce document est une introduction sur la configuration d'un firewall - ce n'est pas un guide complet sur la sécurisation d'un système. La mise au point de pare-feux est un problème complexe qui nécessite une configuration minutieuse. Les scripts données ici ont pour but de donner un exemple sur le fonctionnement des pare-feux. Il ne sont pas conçus dans l'idée de convenir à toutes les configurations imaginables et n'empêcheront pas toutes les attaques.
Le but de ce texte est simplement de vous donner une idée de la façon de commencer la mise au point d'un pare-feu.
La personnalisation de ces scripts pour votre cas particulier sera nécessaire pour une configuration optimale, mais vous devrez d'abord étudier sérieusement la documentation d'iptables et de la mise au point de pare-feux avant de le faire. Jetez un oeil sur la liste de Links for further reading à la fin de cette section pour plus d'aide. Vous y trouverez une liste de sites (URLs) contenant des informations importantes pour la création de votre propre pare-feu.
Si vous voulez que votre machine Linux fasse pare-feu, vous devez d'abord vous assurer que le noyau a bien été compilé avec les options adéquates
Comment configurer votre noyau, avec l'activation d'options à compiler dans le noyau ou en tant que modules, dépend de vos préférences personnelles et de votre expérience. Notez que pour les scripts donnés en exemples, il est supposé que les modules ont d'abord été chargés.
Network options menu Network packet filtering: Y Unix domain sockets: Y or M TCP/IP networking: Y IP: advanced router: Y IP: verbose route monitoring: Y IP: TCP Explicit Congestion Notification support: Y IP: TCP syncookie support: Y IP: Netfilter Configuration menu Every option except: Y or M ipchains (2.2-style) support N ipfwadm (2.0-style) support N Fast switching: N |
Un pare-feu personnel est supposé vous laisser l'accès à tous les services offerts sur internet, mais fait en sorte que votre machine est sécurisé et que vos données restent privées.
Ci-dessous est une version légèrement modifiée des recommandations de Rusty Russell à partir de "Linux 2.4 Packet Filtering HOWTO":
cat > /etc/rc.d/init.d/firewall << "EOF" #!/bin/sh # Début $rc_base/init.d/firewall # Insertion des modules de traces de connexion (pas nécessaire si intégrés au # noyau). modprobe ip_tables modprobe iptable_filter modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ipt_state modprobe ipt_LOG # permet les connexions local uniquement iptables -A INPUT -i lo -j ACCEPT # free output on any interface to any ip for any service (equal to -P ACCEPT) iptables -A OUTPUT -j ACCEPT # autorise les réponses à des connexions déjà établies # et permet les nouvelles connexions en relation avec celles déjà établies (par # exemple active-ftp) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Enregistre tout le reste: Quelle est la dernière vulnérabilité de Windows? iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT " # Met en place une politique saine: tout ce qui n'est pas accepté > /dev/null iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # soit verbeux pour les adresses dynamiques (pas nécessaire dans le cas des adresses IP statiques) echo 2 > /proc/sys/net/ipv4/ip_dynaddr # désactive ExplicitCongestionNotification - trop de routeurs les ignorent encore echo 0 > /proc/sys/net/ipv4/tcp_ecn # Fin $rc_base/init.d/firewall EOF |
Son script est assez simple, il 'oublie' (drop) tout trafic venant sur votre ordinateur qui n'a pas été initié à partir de votre machine, mais aussi longtemps que vous surfez simplement sur internet, vous ne risquez pas d'excéder ces limites.
Si vous rencontrez fréquemment certains délais pour accéder à des serveurs ftp, jetez un oeil sur BusyBox - example no. 4.
Même si vous avez des démons/services tournant sur votre machine, ils seront inaccessibles partout ailleurs que sur votre machine. Si vous souhaitez permettre l'accès à des services sur votre machine, tels que ssh ou ping, regardez BusyBox.
Un vrai pare-feu a deux interfaces, une connectée à un intranet, dans cette exemple, eth0, et une connectée à internet, ici, ppp0. Pour apporter le maximum de sécurité sur cette machine, assurez-vous qu'aucun serveur ne tourne dessus, et spécialement X11. Et, comme principe général, la machine elle-même ne devrait accéder à aucun service (pensez à un serveur de nom donnant des réponses qui feront crasher bind, ou, même pire, qui implémente un vers via un dépassement de tampon.) auquels vous ne faites pas confiance.
cat > /etc/rc.d/init.d/firewall << "EOF" #!/bin/sh # Début $rc_base/init.d/firewall echo echo "You're using the example-config for a setup of a firewall" echo "from the firewalling-hint written for LinuxFromScratch." echo "This example is far from being complete, it is only meant" echo "to be a reference." echo "Firewall security is a complex issue, that exceeds the scope" echo "of the quoted configuration rules." echo "You can find some quite comprehensive information" echo "about firewalling in Chapter 4 of the BLFS book." echo "http://www.linuxfromscratch.org/blfs" echo # Insert iptables modules (not needed if built into the kernel). modprobe ip_tables modprobe iptable_filter modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ipt_state modprobe iptable_nat modprobe ip_nat_ftp modprobe ipt_MASQUERADE modprobe ipt_LOG modprobe ipt_REJECT # allow local-only connections iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # allow forwarding iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state NEW -i ! ppp+ -j ACCEPT # do masquerading (not needed if intranet is not using private ip-addresses) iptables -t nat -A POSTROUTING -o ppp+ -j MASQUERADE # Log everything for debugging (last of all rules, but before DROP/REJECT) iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT " iptables -A FORWARD -j LOG --log-prefix "FIREWALL:FORWARD" iptables -A OUTPUT -j LOG --log-prefix "FIREWALL:OUTPUT " # set a sane policy iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # be verbose on dynamic ip-addresses (not needed in case of static IP) echo 2 > /proc/sys/net/ipv4/ip_dynaddr # disable ExplicitCongestionNotification echo 0 > /proc/sys/net/ipv4/tcp_ecn # activate TCPsyncookies echo 1 > /proc/sys/net/ipv4/tcp_syncookies # activate Route-Verification = IP-Spoofing_protection for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f done # activate IP-Forwarding echo 1 > /proc/sys/net/ipv4/ip_forward EOF |
Avec ce script, votre intranet devrait être suffisamment sécurisé contre les attaques externes: personne ne pourra être capable de mettre en place une connexion vers un service interne et, si il est masqueradé, il est même invisible; de plus, votre pare-feu doit être pratiquement inattaquable car il n'existe aucun service lancé qu'un cracker pourrait attaqué.
Note: si l'interface, par laquelle vous vous connectez à Internet, ne se connecte pas via ppp, vous aurez besoin de changer ppp+ par le nom de l'interface que vous utilisez. Si vous utilisez le même type d'interface pour vous connecter à l'intranet et à l'internet, vous devez utiliser le nom actuel de l'interface tel que eth0, sur les deux interfaces.
Si vous avez besoin d'une sécurité plus forte (c'est-à-dire DOS, connexion highjacking, spoofing, etc.), jetez un oeil sur la liste de Links for further reading à la fin de cette section.
Ce scénario n'est pas trop différent de (Masquerading Router), mais dans ce cas, vous voulez offrir certains services à votre intranet. Des exemples de ceci peuvent être lorsque vous voulez administrer votre machine d'un autre hôte sur votre intranet ou l'utiliser comme un proxy ou comme un serveur de noms. Note: Surligner un vrai concept sur la façon de protéger un serveur qui offre des services sur internet va bien au delà de ce document, voir Disclaimer.
Faites attention. Chaque service que vous offrez et que vous activez rends votre configuration plus complexe et votre machine moins sécurisée: vous courrez le risque de services mal configurés ou de lancer un service avec un bug exploitable, risques contre lesquels un pare-feu devrait être immunisés. Voir l'introduction Masquerading Router pour plus de détails.
Si les services que vous voulez offrir n'ont pas besoin d'accéder à internet eux-même, c'est assez simple et cela devrait encore être acceptable d'un point de vue de la sécurité. Ajoutez seulement les lignes suivantes avant les règles de traces (logging-rules) dans le script.
iptables -A INPUT -i ! ppp+ -j ACCEPT iptables -A OUTPUT -o ! ppp+ -j ACCEPT |
Si vos démons doivent accéder au web eux-mêmes, comme squid, vous pouvez ouvrir la sortie (OUTPUT) et restreindre l'entrée (INPUT).
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -j ACCEPT |
Néanmoins, il n'est pas conseillé de laisser la sortie sans restriction: vous perdez tout contrôle sur des chevaux de troie qui aimeraient "appeler chez eux", et un peu de redondance dans le cas où vous auriez (mal) configuré un service qui révèlerait son existence à tout le monde.
Si vous préférez avoir cette protection, vous pouvez restreindre l'entrée et la sortie sur tous les ports sauf ceux qui sont absolument nécessaires. Quels ports vous ouvrez dépend de vos besoins: la plupart deu temps, vous les trouverez en regardant dans les accès refusés de vos fichiers de traces.
Jetez un oeil sur les exemples suivants:
Squid fait un cache du web:
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT |
Votre cache-serveur de noms (par exemple, dnscache) fait ses recherches via udp:
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT |
Autrement, si vous voulez être capable de 'ping'uer votre machine pour vous assurez qu'elle fonctionne toujours:
iptables -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT -j ACCEPT iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT |
Si vous accédez fréquemment à des serveurs ftp ou que vous appréciez faire du chat, vous pouvez vous rendre compte de délais parce que certaines implémentations de ces démons ont la fonctionnalité de lancer une requête à identd sur votre machine pour votre nom d'utilisateur lors de la connexion. Bien qu'il n'y ait pas de mal à ça, avoir identd lancé n'est pas recommandé parce que certaines implémentations sont connues comme étant vulnérable.
Pour éviter ces délais, vous devez rejeter ces requêtes à un 'tcp-reset':
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset iptables -A OUTPUT -p tcp --sport 113 -m state --state RELATED -j ACCEPT |
Pour tracer et 'drop'er les paquets invalides, beaucoup de paquets inoffensifs arrivant après le dépassement du délai de netfilter sont scannés:
iptables -I INPUT 1 -p tcp -m state --state INVALID -j LOG --log-prefix \ "FIREWALL:INVALID" iptables -I INPUT 2 -p tcp -m state --state INVALID -j DROP |
Tout ce qui vient de l'extérieur ne devrait pas avoir d'adresses privées, c'est une attaque commune appelée IP-spoofing:
iptables -t nat -A PREROUTING -i ppp+ -s 10.0.0.0/8 -j DROP iptables -t nat -A PREROUTING -i ppp+ -s 172.16.0.0/12 -j DROP iptables -t nat -A PREROUTING -i ppp+ -s 192.168.0.0/16 -j DROP |
Pour simplifier le débuggage et être gentil avec tous ceux qui aimeraient accéder à un service que vous avez désactivé, volontairement ou par erreur, vous devez rejeter (REJECT) les pacquets en question.
Evidemment, ceci doit être fait tout de suite après les avoir enregistré (loggué):
iptables -A INPUT -j REJECT iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT |
Ce sont seulement des exemples pour vous montrer les capacités du nouveau code pare-feu dans le noyau Linux 2.4. Regardez la page man de iptables. Vous y trouverez bien plus de choses. Les numéros de ports dont vous avez besoin pour ceci se trouvent dans /etc/services, au cas où vous ne les trouveriez pas en essayant dans vos fichiers de traces.
Si vous ajoutez un service tel que ci-dessus, peut-être même en FORWARD ou pour des communications intranet, et supprimez les clauses générales, vous obtiendrez un filtre de paquets d'ancienne génération.
Finalement, j'aimerais vous rappeller ce fait que nous ne devons pas oublier: L'effort passé à attaquer un système correspond à la valeur que le cracker attends en gagner. Si vous êtes reponsable de valeurs pour lesquelles de potentiels crackers pourraient faire de gros efforts, vous n'aurez pas besoin de cette astuce!
www.netfilter.org - Page d'accueil du projet netfilter/iptables
FAQ en relation avec Netfilter
Guides pratiques en relation avec Netfilter
www.linuxdoc.org/LDP/nag2/x-087-2-firewall.html
www.linuxdoc.org/HOWTO/Security-HOWTO.html
www.linuxdoc.org/HOWTO/Firewall-HOWTO.html
www.ibm.com/developerworks/security/library/s-fire.html
www.ibm.com/developerworks/security/library/s-fire2.html
www.interhack.net/pubs/fw-faq/
www.linuxsecurity.com/docs/
www.little-idiot.de/firewall (allemande et obsolète, mais très compréhensible)
www.linuxgazette.com/issue65/stumpel.html
linux.oreillynet.com/pub/a/linux/2000/03/10/netadmin/ddos.html
staff.washington.edu/dittrich/misc/ddos
ipmasq.cjb.net/
www.e-infomax.com/ipmasq
www.circlemud.org/~jelson/writings/security/index.htm
www.securityfocus.com
www.cert.org - tech_tips
www.infoserversecurity.org/pointers.html
security.ittoolbox.com
www.linux-firewall-tools.com/linux/
logi.cc/linux/athome-firewall.php3
www.insecure.org/reading.html
www.robertgraham.com/pubs/firewall-seen.html
Si vous souhaitez jeter un oeil sur les chaînes de votre pare-feu et l'ordre dans lesquelles elles prendront effet:
cat > /etc/rc.d/init.d/firewall.status << "EOF" #!/bin/sh # Début $rc_base/init.d/firewall.status echo "iptables.mangling:" iptables -t mangle -v -L -n --line-numbers echo echo "iptables.nat:" iptables -t nat -v -L -n --line-numbers echo echo "iptables.filter:" iptables -v -L -n --line-numbers EOF |
Si vous avez besoin d'arrêter votre pare-feu, ce script vous le permettra:
cat > /etc/rc.d/init.d/firewall.stop << "EOF" #!/bin/sh # Début $rc_base/init.d/firewall.stop # deactivate IP-Forwarding echo 0 > /proc/sys/net/ipv4/ip_forward iptables -Z iptables -F iptables -t nat -F PREROUTING iptables -t nat -F OUTPUT iptables -t nat -F POSTROUTING iptables -t mangle -F PREROUTING iptables -t mangle -F OUTPUT iptables -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT EOF |
Le package Tripwire contient les programmes utilisés par Tripwire pour vérifier l'intégrité des fichiers sur un système donné.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/tripwire/tripwire-2.3.1-2.tar.gz
Téléchargement (FTP): ftp://ftp.fu-berlin.de/unix/security/tripwire/tripwire-2.3.1-2.tar.gz
Taille du téléchargement: 1,4 Mo
Estimation de l'espace disque requis: 63 Mo
Estimation du temps de construction: 2,35 SBU
Correctif requis pour plusieurs problèmes de construction (voir le correctif pour plus d'informations): http://www.linuxfromscratch.org/patches/blfs/5.0/tripwire-2.3.1-2-gcc3-build-fixes.patch
Compilez Tripwire en lançant les commandes suivantes:
patch -Np1 -i ../tripwire-2.3.1-2-gcc3-build-fixes.patch && cd src && make release && cd .. && cp install/install.{sh,cfg} . |
Installez Tripwire en lançant les commandes suivantes:
./install.sh && cp /etc/tripwire/tw.cfg /usr/sbin && cp policy/*.txt /usr/share/doc/tripwire |
make release : Cette commande crée les binaires Tripwire.
cp install.{sh,cfg} . : Ces fichiers sont copiés vers le répertoire principal de Tripwire de façon à ce que le script puisse être utilisé pour installer le package.
cp policy/*.txt /usr/share/doc/tripwire : Cette commande installe la documentation.
/etc/tripwire
Tripwire utilise un fichier de règles pour déterminer quels sont les fichiers dont l'intégrité est vérifié. Le fichier de règles par défaut (twpol.txt trouvé dans /etc/tripwire/) est celui disponible lors de l'installation de la RedHat 7.0 et est quelque peu ancien.
Les fichiers de règles sont aussi personnalisés et doivent être ajustés à la distribution/installation de chacun. Quelques fichiers de règles personnalisés peuvent être trouvés ci-dessous:
http://home.iprimus.com.au/glombowski/blfs/twpol-all.txt Vérifie l'intégrité de tous les fichiers http://home.iprimus.com.au/glombowski/blfs/twpol-lfs.txt Fichier de règles personnalisé pour un système de base LFS-3.0. http://home.iprimus.com.au/glombowski/blfs/twpol-suse7.2.txt Fichier de règles personnalisé pour un système Suse-7.2. |
Téléchargez le fichier de règles personnalisé que vous souhaitez essayer, copiez-le dans /etc/tripwire/ et utilisez-le à la place de twpol.txt. Il est néanmoins recommendé de créer votre propre fichier de règles. Récupérez des idées des exemples ci-dessus et lisez /usr/share/doc/tripwire/policyguide.txt. twpol.txt est un bon fichier de règles pour les débutants car il notera tout changement au système de fichiers et peut même être utilisé comme moyen de garder traces d'installation/désinstallation de logiciels.
Une fois que vous avez transféré votre fichier de règles dans /etc/tripwire/, vous pouvez commencer les étapes de configuration:
twadmin -m P /etc/tripwire/twpol.txt && tripwire -m i |
Lors de la configuration, tripwire va créer deux clés: une clé pour le site et une clé locale qui seront stockées sous /etc/tripwire/.
Pour utiliser tripwire après cela, lancez un rapport en lançant la commande suivante:
tripwire -m c > /etc/tripwire/report.txt |
View the output to check the integrity of your files. An automatic integrity report can be produced by using a cron facility to schedule the runs.
Please note that after you run an integrity check, you must check the report or email and then modify the Tripwire database of the files on your system so that Tripwire will not continually notify you that files you intentionally changed are a security violation. To do this you must first ls /var/lib/tripwire/report/ and note the name of the newest file which starts with linux- and ends in .twr. This encrypted file was created during the last report creation and is needed to update the Tripwire database of your system. Then, type in the following command making the appropriate substitutions for '?':
tripwire -m u -r /var/lib/tripwire/report/linux-???????-??????.twr |
You will be placed into vim with a copy of the report in front of you. If all the changes were good, then just type :x and after entering your local key, the database will be updated. If there are files which you still want to be warned about, please remove the x before the filename in the report and type :x.
If you are unhappy with your policy file and would like to modify it or use a new one, modify the policy file and then execute the following commands:
twadmin -m P /etc/tripwire/twpol.txt && tripwire -m i |
Le package Linux_PAM contient les modules d'authentification connectables (Pluggable Authentication Modules). C'est utile pour permettre à l'administrateur système local de choisir comment les applications authentifient les utilisateurs.
Téléchargement (HTTP): http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.77.tar.bz2
Téléchargement (FTP): ftp://ftp.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.77.tar.bz2
Taille du téléchargement: 332 Ko
Estimation de l'espace disque requis: 4,1 Mo
Estimation du temps de construction: 0,07 SBU
Installez Linux_PAM en lançant les commandes suivantes:
patch -Np1 -i ../Linux-PAM-0.77-linkage-1.patch && ./configure --enable-static-libpam --with-mailspool=/var/mail \ --enable-read-both-confs --sysconfdir=/etc && make && make install && mv /lib/libpam.a /lib/libpam_misc.a /lib/libpamc.a /usr/lib && ln -sf ../../lib/libpam.so.0.77 /usr/lib/libpam.so && ln -sf ../../lib/libpam_misc.so.0.77 /usr/lib/libpam_misc.so && ln -sf ../../lib/libpamc.so.0.77 /usr/lib/libpamc.so |
--enable-static-libpam : Cette commande construit les bibliothèques PAM statiques et dynamiques.
--with-mailspool=/var/mail : Cette commande rend le répertoire mailspool en accord avec FHS.
--enable-both-confs : Cette commande laisse le choix du fichier de configuration à utiliser à l'administrateur local.
mv /lib/libpam.a /lib/libpam_misc.a /lib/libpamc.a /usr/lib : Cette commande déplace les bibliothèques statiques vers /usr/lib pour appliquer le FHS.
/etc/pam.d ou /etc/pam.conf
Les informations de configuration sont disponibles dans /etc/pam.d ou /etc/pam.conf suivant l'application utilisant PAM. Ci-dessous se trouvent des fichiers d'exemples pour chaque type:
# Début /etc/pam.d/other auth required pam_unix.so nullok account required pam_unix.so session required pam_unix.so password required pam_unix.so nullok # Fin /etc/pam.d/other # Début /etc/pam.conf other auth required pam_unix.so nullok other account required pam_unix.so other session required pam_unix.so other password required pam_unix.so nullok # Fin /etc/pam.conf |
La page man de PAM, man pam apporte un bon point de départ pour la descriptions des champs et des entrées possibles. Le Guide des administrateurs systèmes Linux-PAM (Linux-PAM guide for system administrators et deux astuces PAM situées sur http://hints.linuxfromscratch.org sont aussi disponibles pour plus de lecture.
Aucune description disponible.
Les bibliothèques libpam apportent les interfaces entre les applications et les modules PAM.
Les systèmes de fichiers journalisés réduisent le temps nécessaire pour récupérer un système de fichier qui n'a pas été démonté propremement. Bien que ceci soit particulièrement important pour les serveurs, ils sont devenus populaires aussi sur les environnements de bureau. Ce chapitre contient un ensemble varié de systèmes de fichiers journalisés.
Ext3 est un système de fichiers journalisé qui est une extension du système de fichiers ext2. La compatibilité descendante avec ext2 est là, et la conversion de ext2 vers ext3 est trivial.
Vous n'avez pas besoin d'installer quoi que ce soit pour utiliser ext3, tous les packages requis étant disponible dans un système LFS de base.
Lors de la construction du noyau, assurez-vous que vous avez compilé le support ext3. Si vous voulez que votre partition root soit ext3, alors compilez le support ext3 dans le noyau, sinon vous pouvez le compiler en tant que module. Recompilez le noyau si nécessaire.
Editez votre /etc/fstab. Pour chaque partition que vous voulez convertir en ext3, éditez l'entrée de façon à ce qu'il ressemble à la ligne suivante.
/dev/hdXX /mnt_point ext3 defaults 1 0 |
Dans la ligne ci-dessus, remplacez /dev/hdXX par votre partition (par exemple /dev/hda2), /mnt_point par le point de montage (par exemple /home). Le 0 dans le dernier champ assure que la partition ne sera pas vérifiée pour sa consistence lors du démarrage par le script checkfs. Vous pouvez remplacer le type de système de fichiers ext3 par auto si vous voulez vous assurer que la partition sera montée si vous avez accidentellement oublié d'activer le support ext3 dans le noyau.
Pour chaque partition que vous voulez convertir en ext3 dans /etc/fstab, activez le journal pour la partition en lançant la commande suivante.
tune2fs -j /dev/hdXX |
Remontez les partitions concernées, ou plus simplement, redémarrez si vous avez recompilé le noyau pour activer le support ext3.
Plus d'informations est disponible sur http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html
Le package ReiserFS contient différents utilitaires du système de fichiers reiser.
Téléchargement (HTTP): http://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.11.tar.gz
Téléchargement (FTP): ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.11.tar.gz
Taille du téléchargement: 368 Ko
Estimation de l'espace disque requis: 9,3 Mo
Estimation du temps de construction: 0,16 SBU
Installez ReiserFS en lançant les commandes suivantes:
./configure --prefix=/usr --sbindir=/sbin && make && make install && ln -sf reiserfsck /sbin/fsck.reiserfs && ln -sf mkreiserfs /sbin/mkfs.reiserfs |
--prefix=/usr : Ceci s'assure que les pages man sont installées dans l'emplacement correct alors que l'installation des programmes sera toujours dans /sbin comme cela doit être.
--sbindir=/sbin : Ceci s'assure que les utilitaires ReiserFS sont installés dans /sbin comme cela doit être.
debugreiserfs peut quelque fois aider à résoudre des problèmes avec les systèmes de fichiers ReiserFS. Si il est appelé sans options, il affiche le super bloc de tout système de fichiers trouvé sur le périphérique.
reiserfstune est utilisé pour configurer finement le journal ReiserFS. ATTENTION: N'utilisez pas cet utilitaire sans avoir lu la page man concenscieusement.
resize_reiserfs est utilisé pour retailler un système de fichiers ReiserFS non monté.
L'utilitaire unpack peut être utilisé pour envoyer des informations du système de fichiers ReiserFS dans des fichiers pour un débuggage, un peu comme debugreiserfs.
Le correctif XFS pour le noyau doit être appliqué pour utiliser le système de fichiers XFS.
Téléchargement (FTP): ftp://oss.sgi.com/projects/xfs/download/patches/2.4.22/xfs-2.4.22-all-i386.bz2
Taille du téléchargement: 860 KB
Estimation de l'espace disque requis:
Construire un noyau Linux 2.4.19 activant XFS avec les commandes suivantes:
cd /usr/src/linux && make mrproper && bzcat ../xfs-2.4.22-all-i386.bz2 | patch -Np1 && make menuconfig && make CC=/opt/gcc-2.95.3/bin/gcc dep && make CC=/opt/gcc-2.95.3/bin/gcc bzImage && make CC=/opt/gcc-2.95.3/bin/gcc modules && make CC=/opt/gcc-2.95.3/bin/gcc modules_install && cp arch/i386/boot/bzImage /boot/vmlinuz-xfs && cp System.map /boot/System.map-xfs |
Le package XFS contient des outils d'administration et de débuggage pour le système de fichiers XFS.
Téléchargement (HTTP): http://gd.tuwien.ac.at/opsys/linux/slackware/slackware-current/source/a/xfsprogs/xfsprogs-2.5.6.src.tar.gz
Téléchargement (FTP): ftp://oss.sgi.com/projects/xfs/download/Release-1.3.1/cmd_tars/xfsprogs-2.5.6.src.tar.gz
Taille du téléchargement: 816 Ko
Estimation de l'espace disque requis: 42 Mo
Estimation du temps de construction: 0,67 SBU
Installez XFS en lançant les commandes suivantes:
./configure && make && make install |
XFS contient xfs_growfs, xfs_admin, xfs_freeze, xfs_mkfile, xfs_check, xfs_bmap, xfs_rtcp, xfs_repair, xfs_db, xfs_logprint, xfs_ncheck, mkfs.xfs et fsck.xfs.
xfsgrowfs étend un système de fichiers XFS.
xfs_ncheck génère les noms de chemin à partir des numéros d'inodes pour les systèmes de fichiers XFS.
fsck.xfs quitte simplement avec l'état 0, car les partitions XFS sont vérifiés lors du montage.
Ce chapitre est référencé dans le livre LFS pour ceux qui souhaitent utiliser d'autres éditeurs sur leur système LFS. Nous avons aussi l'opportunité de montrer le bénéfice que tirent certains programmes déjà installés par LFS à être recompilés après l'installation des bibliothèques GUI.
Le package Vim, abréviation de VI IMproved (vi amélioré), contient un clone de vi avec des fonctionnalités supplémentaires.
Les instructions LFS par défaut installent vim comme partie du système de base, mais les bibliothèques de X étant alors manquantes, il faut recompiler vim après l'installation de X pour activer le mode GUI. Il n'y a pas besoin d'instruction spéciales car le support de X est automatiquement détecté.
Téléchargement (HTTP): http://ftp.at.vim.org/pub/vim/unix/vim-6.2.tar.bz2
Téléchargement (FTP): ftp://ftp.vim.org/pub/vim/unix/vim-6.2.tar.bz2
Taille du téléchargement: 3,2 Mo
Estimation de l'espace disque requis: 46 Mo
Estimation du temps de construction: 0,59 SBU
Installez Vim en lançant les commandes suivantes:
echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h && echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h && ./configure --prefix=/usr \ --with-features=huge && make && make install |
--with-features=huge : Active toutes les fonctionnalités additionnelles disponibles dans Vim.
Le package Vim contient eview, evim, ex, gview, gvim, gvimdiff, rgview, rgvim, rview, rvim, view, vim, vimdiff, vimtutor et xxd. A part vimtutor et xxd, toutes les autres commandes sont des liens symboliques vers vim et le lancent avec différentes options. vimtutor est un outil pour apprendre les différentes commandes vim et xxd est une commande utilisée pour créer des dumps hexadécimaux.
Le package Emacs contient un éditeur extensible, personnalisable, auto-documenté.
Téléchargement (HTTP): http://ftp.gnu.org/pub/gnu/emacs/emacs-21.3.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/pub/gnu/emacs/emacs-21.3.tar.gz
Taille du téléchargement: 20 Mo
Estimation de l'espace disque requis: 92,5 Mo
Estimation du temps de construction: 4,20 SBU
Installez macs en lançant les commandes suivantes:
./configure --prefix=/usr \ --libexecdir=/usr/sbin && make bootstrap && make install |
Le package Emacs contient emacs, b2m, ctags, ebrowse, emacsclient, etags, grep-changelog, rcs-checkin, cvt-mail, digest-doc, emacsserver, fakemail, hexl, movemail, profile, rcs2log, sorted-doc, vcdiff et yow.
L'éditeur.
etags est un autre programme qui génère des fichiers de tag contenant des références croisées avec du code source.
grep-changelog affiche les entrées de fichiers ChangeLogs suivant différents critères.
emacsserver permet à d'autres applications/shells d'accéder à une instance d'emacs en cours d'exécution et de partager des buffers avec lui.
Le package nano contient un petit et simple éditeur de texte dont le but est de remplacer Pico, l'éditeur par défaut du package Pine.
Téléchargement (HTTP): http://www.nano-editor.org/dist/v1.2/nano-1.2.2.tar.gz
Téléchargement (FTP): ftp://ftp.uni-koeln.de/editor/nano-1.2.2.tar.gz
Taille du téléchargement: 876 Ko
Estimation de l'espace disque requis: 4,4 Mo
Estimation du temps de construction: 0,04 SBU
Installez nano en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc \ --enable-color --enable-multibuffer --enable-nanorc && make && make install && mkdir -p /usr/share/doc/nano/examples && cp nanorc.sample /usr/share/doc/nano/examples |
/etc/nanorc, ~/.nanorc
Exemple de configuration
set autoindent set const set fill 72 set historylog set multibuffer set nohelp set regexp set smooth set suspend |
Un autre exemple se trouve dans le fichier nanorc.sample du répertoire /usr/share/doc/nano/examples. Il inclut des configurations pour la couleur et dispose de documentations dans les commentaires.
nano est un petit, simple éditeur de texte qui a pour but de remplacer Pico, l'éditeur par défaut du package Pine.
JOE (acronyme de Joe's Own Editor, c'est-à-dire le propre éditeur de Joe) est un petit éditeur de texte capable d'émuler WordStar, Pico et Emacs.
Téléchargement (HTTP): http://unc.dl.sourceforge.net/sourceforge/joe-editor/joe-2.9.8.tar.gz
Téléchargement (FTP): ftp://ftp.uni-koeln.de/editor/joe-2.9.8.tar.gz
Taille du téléchargement: 284 Ko
Estimation de l'espace disque requis: 4,3 Mo
Estimation du temps de construction: 0,11 SBU
Installez JOE en lançant les commandes suivantes:
./configure --sysconfdir=/etc --prefix=/usr && make && make install |
JOE peut utiliser plusieurs fichiers de configuration. Des informations sur ces fichiers peuvent être trouvées sur la page man joe. Ces fichiers sont /etc/jmacsrc, /etc/joerc, /etc/jpicorc, /etc/jstarrc et /etc/rjoerc. JOE peut aussi utiliser ~/.joerc, qui peut être copié à partir de /etc/joerc et personnalisé suivant les goûts de chaque utilisateur.
jmacs est un lien symbolique vers joe utilisé pour lancer le mode d'émulation Emacs.
rjoe est un lien symbolique vers joe qui le restreint pour n'éditer que les fichiers spécifiés sur la ligne de commande.
Nous sommes tous familiers avec le shell BASH (Bourne Again shell), mais il existe deux autres interfaces utilisateur considérées comme des shells modernes et utiles, tcsh (Shell C UNIX de Berkeley) et zsh (Korn shell). Ce chapitre installe les packages compatibles avec ces types de shells.
ash est un shell le plus compatible avec le shell Bourne (à ne pas confondre avec le sell Bourne Again SHell c'est-à-dire Bash installé avec LFS) sans les fonctionnalités supplémentaires. Bourne Shell est disponible sur la plupart des systèmes UNIX commerciaux. Néanmoins ash est utile pour tester la compatibilité des scripts avec sh. Il a des besoins en mémoire et en espace disque bien petits par rapport aux autres shells compatibles sh.
Téléchargement (FTP): ftp://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware_source/ap/ash/ash-0.4.0.tar.gz
Taille du téléchargement: 118 Ko
Estimation de l'espace disque requis: 2,7 Mo
Estimation du temps de construction: 0,06 SBU
Installez ASH en lançant les commandes suivantes:
patch -Np1 -i ../ash-0.4.0-cumulative-fixes.patch && make && install -m 755 sh /bin/ash && install -m 644 sh.1 /usr/share/man/man1/ash.1 |
Si vous souhaitez faire de ash le shell sh par défaut, créez un lien symbolique.
ln -sf ash /bin/sh |
Le package Tcsh contient "une version améliorée mais complètement compatible du shell C UNIX de Berkeley" (csh). Il est utile à certains programmes qui requièrent un shell C pour s'installer, et peut servir de shell alternatif à ceux qui préfèrent la syntaxe du C à celle du shell bash.
Téléchargement (HTTP): http://gd.tuwien.ac.at/utils/shells/tcsh/tcsh-6.12.00.tar.gz
Téléchargement (FTP): ftp://ftp.funet.fi/pub/unix/shells/tcsh/tcsh-6.12.00.tar.gz
Taille du téléchargement: 804 Ko
Estimation de l'espace disque requis: 9,0 Mo
Estimation du temps de construction: 0,16 SBU
Installez Tcsh en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install && cp tcsh.man /usr/share/man/man1/tcsh.1 && ln -s /usr/bin/tcsh /bin/csh |
cp tcsh.man /usr/share/man/man1/tcsh.1 : Tcsh n'installe pas ses pages man correctement, donc nous le faisons manuellement.
ln -s /usr/bin/tcsh /bin/csh : Le FHS spécifie que si un shell C est installé, il doit y avoir un lien symbolique /bin/csh pointant dessus. Ceci crée ce lien symbolique.
Il existe de nombreux fichiers de configuration pour le shell C. Voici quelques exemples: /etc/csh.cshrc, /etc/csh.login, ~/.tcshrc, ~/.cshrc, ~/.history, ~/.login, ~/.cshdirs, /etc/csh.logout, ~/.logout et ~/.logout. Plus d'informations sur ces fichiers sont disponibles dans la page man tcsh(1).
tcsh est une version améliorée mais complètement compatible du shell C Unix de Berkeley, csh. Il est utilisé à la fois comme shell interactif et comme processeur de scripts.
Le package ZSH contient le shell zsh. zsh est un interpréteur de commandes (shell) utilisable en tant que shell interactif et en tant que processeur de commandes shell (scripts). ZSH est assez proche de KSH, mais inclut beaucoup d'améliorations.
Téléchargement (HTTP): http://www.zsh.org/pub/zsh-4.1.1.tar.bz2
Téléchargement (FTP): ftp://ftp.zsh.org/zsh/zsh-4.1.1.tar.bz2
Taille du téléchargement: 1,9 Mo
Estimation de l'espace disque requis: 16 Mo
Estimation du temps de construction: 0,55 SBU
Installez ZSH en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Il existe un grand nombre de fichiers de configuration pour zsh comme /etc/zshenv, /etc/zprofile, /etc/zshrc, /etc/zlogin et /etc/zlogout. Vous pouvez trouver plus d'informations sur ceux-ci dans zsh(1) et les pages man en relation.
zsh est un shell qui possède un grand nombre de fonctionnalités : édition de la ligne de commande, correction intégrée de l'orthographe, complétion programmable des commandes, fonctions shell (avec chargement automatique), mécanisme d'historique...
Les bibliothèques contiennent du code qui est souvent requis par plus d'un programme. Ceci a l'avantage que chaque programme n'a pas besoin de dupliquer du code (et donc de risquer d'introduire des bugs), ils ont juste à appeler les fonctions des bibliothèques installées sur le système. L'exemple le plus parlant est glibc qui est installée avec le livre LFS. Elle contient toutes les fonctions des bibliothèques C que les programmes utilisent.
Il existe deux types de bibliothèques, statiques et partagées. Les bibliothèques partagées (généralement libXXX.so) sont chargées en mémoire à partir de la copie partagée au lancement (d'où le nom). Les bibliothèques statiques (libXXX.a) sont liées dans l'exécutable lui-même, rendant le fichier du programme plus gros. Assez souvent, vous trouverez les deux copies, statique et partagée, de la même bibliothèque sur votre système.
Généralement, vous avez juste besoin d'installer des bibliothèques quand vous installez des logiciels qui réclament les fonctionnalités que celles-ci procurent. Dans le livre BLFS, chaque package est affiché avec une liste des dépendances (connues). Donc, vous pouvez savoir quelles bibliothèques vous avez besoin avant d'installer le programme. Si vous installez quelque chose sans utiliser les instructions BLFS, les fichiers README ou INSTALL contiennent habituellement les détails des prérequis des programmes.
Il existe certaines bibliothèques qu'à peu près tout le monde a besoin à un moment ou à un autre. Dans ce chapitre, nous en faisons la liste, ainsi que quelques autres, et vous expliquons pourquoi vous pourriez vouloir les installer.
Le package OpenSSL contient des outils de gestion et des bibliothèques en relation avec la cryptographie. Ils sont utiles car ils apportent des fonctions de cryptographie aux autres packages, notamment pour OpenSSH et pour les navigateurs web (ce qui permet d'accéder à des sites sécurisés en https).
Téléchargement (HTTP): http://www.openssl.org/source/openssl-0.9.7c.tar.gz
Téléchargement (FTP): ftp://ftp.openssl.org/source/openssl-0.9.7c.tar.gz
Taille du téléchargement: 2,7 Mo
Estimation de l'espace disque requis: 26,1 Mo
Estimation du temps de construction: 3,35 SBU
Correctif pour la page man (HTTP): http://www.linuxfromscratch.org/patches/blfs/5.0/openssl-0.9.7c-manpages.patch
Installez OpenSSL en lançant les commandes suivantes:
patch -Np1 -i ../openssl-0.9.7c-manpages.patch sed 's/^passwd/openssl-passwd/' doc/apps/passwd.pod \ > doc/apps/openssl-passwd.pod && rm doc/apps/passwd.pod && ./config --openssldir=/etc/ssl --prefix=/usr shared && make MANDIR=/usr/share/man && make MANDIR=/usr/share/man install && cp -r certs /etc/ssl && rmdir /etc/ssl/lib && chmod 755 /usr/lib/pkgconfig |
no-rc5 no-idea : Une fois ajoutée à la commande ./config, ceci éliminera la construction de ces méthodes de cryptage. Les licences en question peuvent vous être nécessaire pour que vous puissiez les utiliser dans vos projets.
rm doc/apps/passwd.pod : Cette commande empêche OpenSSL d'écraser la page man passwd existante par sa propre page man.
make MANDIR=/usr/share/man make MANDIR=/usr/share/man install |
rmdir /etc/ssl/lib : Il s'agit d'une simple commande de ménage. Pour une raison inconnue, la routine d'installation d'OpenSSL crée le répertoire >/etc/ssl/lib même si les bibliothèques ont été installées dans /usr/lib. Nous le supprimons pour garder les choses jolies et bien rangées!
chmod 755 /usr/lib/pkgconfig: Le processus d'installation modifie les droits sur ce répertoire par le mode 644. Cette commande restaure les droits suivant la configuration précédant l'installation (mode 755).
/etc/ssl/openssl.cnf
La plupart des gens, qui veulent juste utiliser openssl pour procurer des fonctions aux autres programmes comme OpenSSH et les navigateurs web, n'auront pas à s'embêter avec la configuration d'OpenSSL. Configurer OpenSSL est un thème avancé et donc, ceux qui ont à le faire sont soit capables de le faire, soit capables de trouver comment le faire.
c_rehash est un script Perl qui recherche tous les fichiers d'un répertoire et ajoute des liens symboliques vers leur valeurs hachés.
Le programme openssl est un outil en ligne de commande pour utiliser les différentes fonctions de cryptographie de la bibliothèque d'OpenSSL à partir du shell. Il peut être utilisé pour différentes fonctions, documentées dans man 1 openssl.
La bibliothèque crypto d'OpenSSL implémente une grande variété d'algorithmes de cryptographie, utilisés dans de nombreux standards Internet. Les services proposés par cette bibliothèque sont utilisés par les implémentations OpenSSL de SSL, TLS et S/MIME, et ils sont aussi utilisés pour implémenter OpenSSH, OpenPGP et d'autres standards cryptographiques.
La bibliothèque ssl d'OpenSSL implémente les protocoles 'Secure Sockets Layer' (SSL v2/v3) et 'Transport Layer Security' (TLS v1). Elle apporte une API riche dont la documentation est disponible en lançant man 3 ssl.
Le package PCRE contient des bibliothèques sur les expressions régulières compatibles perl. Elles permettent l'implémentation de recherche sur des modèles d'expressions régulières, utilisant la même syntaxe et les sémantiques de Perl 5.
Téléchargement (HTTP): http://keihanna.dl.sourceforge.net/sourceforge/pcre/pcre-4.3.tar.bz2
Téléchargement (FTP): ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-4.3.tar.bz2
Taille du téléchargement: 332 Ko
Estimation de l'espace disque requis: 3,2 Mo
Estimation du temps de construction: 0,08 SBU
Installez PCRE en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
pcregrep est un grep qui comprend les expressions régulières compatibles Perl.
pcre-config est utilisé durant le processus de compilation de programmes se liant à cette bibliothèque.
Le package popt contient les bibliothèques popt utilisées par certains programmes pour analyser les options en ligne de commande.
Téléchargement (HTTP): http://gd.tuwien.ac.at/utils/rpm.org/dist/rpm-4.1.x/popt-1.7.tar.gz
Téléchargement (FTP): ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz
Taille du téléchargement: 564 Ko
Estimation de l'espace disque requis: 17,4 Mo
Estimation du temps de construction: 0,06 SBU
Installez popt en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
La bibliothèque libpopt est utilisée pour analyser les options en ligne de commande.
Le package slang contient la bibliothèque slang, utilisée pour créer des logiciels multi-plateformes robustes.
Téléchargement (HTTP): http://gd.tuwien.ac.at/editors/davis/slang/v1.4/slang-1.4.9.tar.bz2
Téléchargement (FTP): ftp://space.mit.edu/pub/davis/slang/v1.4/slang-1.4.9.tar.bz2
Taille du téléchargement: 624 Ko
Estimation de l'espace disque requis: 9,6 Mo
Estimation du temps de construction: 0,16 SBU
Installez slang en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install && make elf && make install-elf && make install-links && chmod 755 /usr/lib/libslang.so.1.4.9 |
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package fam contient un moniteur d'altération de fichiers, utile pour informer les applications de changements sur les fichiers système.
Téléchargement (HTTP): http://oss.sgi.com/projects/fam/download/fam-2.6.10.tar.gz
Téléchargement (FTP): ftp://oss.sgi.com/projects/fam/download/fam-2.6.10.tar.gz
Taille du téléchargement: 320 Ko
Estimation de l'espace disque requis: 6,9 Mo
Estimation du temps de construction: 0,68 SBU
Correctif Dnotify (HTTP) : http://www.linuxfromscratch.org/patches/blfs/5.0/fam-2.6.10-dnotify.patch
Installez FAM en lançant les commandes suivantes:
Note : Vous allez obtenir des messages d'avertissement indiquant que make install n'est pas capable de fusionner les entrées dans /etc/rpc. Ceux-ci peuvent être ignorés, avec les messages d'erreur d'IMON et de inetd.conf, comme nous configurerons ces fichiers après installation.
patch -Np1 -i ../fam-2.6.10-dnotify.patch && libtoolize --force && aclocal && automake --add-missing && autoconf && ./configure --prefix=/usr --sysconfdir=/etc && make && make install |
patch -Np1 -i ../fam-dnotify.patch : Ce correctif fait en sorte que FAM utilise le méchanisme dnotify du noyau pour informer le processus d'appel des modifications de fichiers, plutôt que de requêter sans cesse le système de fichiers.
libtoolize --force aclocal automake --add-missing autoconf |
/etc/rpc, /etc/fam.conf, /etc/inetd.conf, /etc/xinetd.d/fam ou /etc/xinetd.conf
Configurer le moniteur d'altération de fichiers.
Si vous utilisez inetd, ajoutez l'entrée fam dans /etc/inetd.conf avec la commande suivante:
echo "sgi_fam/1-2 stream rpc/tcp wait root /usr/bin/fam fam" >> /etc/inetd.conf |
Si vous utilisez xinetd, ajoutez une entrée dans /etc/xinetd.conf avec la commande suivante (assurez-vous que le groupe "nogroup" existe):
cat >> /etc/xinetd.conf << "EOF" # description: FAM - file alteration monitor service sgi_fam { type = RPC UNLISTED socket_type = stream user = root group = nogroup server = /usr/bin/fam wait = yes protocol = tcp rpc_version = 2 rpc_number = 391002 } EOF |
Le package libxml contient les bibliothèques libxml, utiles pour analyser des fichiers XML.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libxml/1.8/libxml-1.8.17.tar.bz2
Téléchargement (FTP): ftp://ftp.xmlsoft.org/old/libxml-1.8.17.tar.gz
Taille du téléchargement: 973 Ko
Estimation de l'espace disque requis: 11 Mo
Estimation du temps de construction: 0,41 SBU
Installez libxml en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
Les bibliothèques libxml apportent des fonctions aux programmes souhaitant analyser des fichiers au format XML.
Le package libxml2 contient les bibliothèques XML. Elles sont utiles pour analyser des fichiers XML.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.5/libxml2-2.5.11.tar.bz2
Téléchargement (FTP): ftp://ftp.xmlsoft.org/libxml2-2.5.11.tar.gz
Taille du téléchargement: 2,9 Mo
Estimation de l'espace disque requis : 41,8 Mo
Estimation du temps de construction : 0,97 SBU
Installez libxml2 en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
Les bibliothèques libxml2 apportent des fonctions aux programmes permettant d'analyser des fichiers utilisant le format XML.
xmllint analyse les fichiers XML et génère des rapports (basés sur des options) pour détecter des erreurs dans le codage XML.
xmlcatalog permet aux utilisateurs de surveiller et de manipuler des catalogues XML et SGML.
Le package libxslt contient les bibliothèques XSLT. Elles sont utiles pour étendre les bibliothèques libxml2 au support des fichiers XSLT.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libxslt/1.0/libxslt-1.0.33.tar.bz2
Téléchargement (FTP): ftp://ftp.xmlsoft.org/libxslt-1.0.33.tar.gz
Taille du téléchargement: 2,3 Mo
Estimation de l'espace disque requis: 30 Mo
Estimation du temps de construction: 0,29 SBU
Installez libxslt en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
Les bibliothèques libxslt proposent des extensions aux bibliothèques libxml2 pour utiliser des fichiers au format XSLT.
La bibliothèque readline apporte un ensemble de fonctions utilisées par des applications permettant aux utilisateurs d'éditer des lignes de commande comme elles sont tapées. Les modes d'édition d'à la fois Emacs et vi sont disponibles.
Téléchargement (HTTP): http://ftp.gnu.org/gnu/readline/readline-4.3.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/readline/readline-4.3.tar.gz
Taille du téléchargement: 944 Ko
Estimation de l'espace disque requis: 9,2 Mo
Estimation du temps de construction: 0,10 SBU
Installez readline en lançant les commandes suivantes:
./configure --prefix=/usr && make SHLIB_LIBS=-lcurses && make install |
make SHLIB_LIBS=-lcurses : Ces commandes rendent disponibles les bons symbôles pour les applications supposant que readline est compilé lié avec ncurses.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package gmp contient la bibliothèque de mathématiques. Elle contient des fonctions utiles pour l'arithmétique de précision.
Téléchargement (HTTP): http://www.ibiblio.org/pub/gnu/gmp/gmp-4.1.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/gmp/gmp-4.1.2.tar.bz2
Taille du téléchargement: 1,6 Mo
Estimation de l'espace disque requis: 29,0 Mo
Estimation du temps de construction: 0,86 SBU
Installez GMP en lançant les commandes suivantes:
./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man && make && make install |
--infodir=/usr/share/info --mandir=/usr/share/man : Ces options configurent le répertoire de la documentation comme étant /usr/share au lieu de /usr.
Les bibliothèques libgmp contiennent les fonctions permettant de travailler sur des entiers signés, des nombres rationnelles, et des nombres à virgule flottante.
Le package GDBM contient le gestionnaire de base de données GNU. C'est une base de données de format de fichiers, stockant des paires clés/données dans des fichiers simples. Les données réelles de chaque enregistrement en cours de stockage est indexé par une clé unique qui peut être retrouvé en moins de temps que si elles avaient été stockées dans un fichier texte.
Téléchargement (HTTP): http://www.ibiblio.org/pub/gnu/gdbm/gdbm-1.8.3.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.8.3.tar.gz
Taille du téléchargement: 223 Ko
Estimation de l'espace disque requis: 4,1 Mo
Estimation du temps de construction: 0,08 SBU
Installez GDBM en lançant les commandes suivantes:
./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man && make && make BINOWN=root BINGRP=root install |
Note : En plus, la commande suivante installera les entêtes de comptabilité pour GDBM. Apache 1.3 a besoin de ces entêtes. Installez les entêtes de compatibilité en lançant la commande suivante:
make BINOWN=root BINGRP=root install-compat |
--infoprefix=/usr/share/info --mandir=/usr/share/man : Ces options modifient le répertoire de documentation par /usr/share au lieu de /usr.
BINOWN=root BINGRP=root : Cette commande change le propriétaire du fichier par root, au lieu de l'utilisateur bin.
Les bibliothèques libgdbm contiennent des fonctions réalisant des routines de base de données en utilisant le hachage extensible.
Le package glib contient la bibliothèque principale de bas niveau. C'est utile pour procurer la gestion en C des structures de données, des gestionnaires de portabilité et des interfaces pour des fonctionnalités comme la gestion des événements, les threads, le chargement dynamique et un système objet.
Téléchargement (HTTP): http://gd.tuwien.ac.at/graphics/gimp/gtk/v1.2/glib-1.2.10.tar.gz
Téléchargement (FTP): ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz
Taille du téléchargement: 412 Ko
Estimation de l'espace disque requis: 7 Mo
Estimation du temps de construction: 0,26 SBU
Installez glib en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Les bibliothèques GLib contiennent la bibliothèque principale bas niveau pour le GIMP Tool Kit.
Le package glib contient une bibliothèque de bas niveau essentielle. Elle est utile grâce à son apport de la gestion des structures de données C, des fonctions de portages et des interfaces pour des fonctionnalités en exécution telles que les boucles, les threads, le chargement dynamique et un système objet.
Téléchargement (HTTP): http://gd.tuwien.ac.at/graphics/gimp/gtk/v2.2/glib-2.2.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gtk.org/pub/gtk/v2.2/glib-2.2.3.tar.bz2
Taille du téléchargement: 1,6 Mo
Estimation de l'espace disque requis: 23,3 Mo
Estimation du temps de construction: 0,49 SBU
Installez glib en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
--enable-gtk-doc: Cette instruction construira la documentation de l'API lors de l'exécution de la commande make.
Les bibliothèques GLib contiennent les bibliothèques principales de bas-niveau pour l'ensemble d'outils de GIMP.
Le package expat contient une bibliothèque C orienté flux (stream) pour analyser du XML.
Téléchargement (HTTP): http://umn.dl.sourceforge.net/sourceforge/expat/expat-1.95.6.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/util/xml/expat-1.95.6.tar.gz
Taille du téléchargement: 292 Ko
Estimation de l'espace disque requis: 3.2 Mo
Estimation du temps de construction requis: 0,13 SBU
expat.h déclare XML_Status après sa première utilisation. Ceci est corrigé avec le correctif suivant:
patch -Np1 -i ../expat-1.95.6-fix-declaration-order.patch |
Installez expat en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
xmlwf est un utilitaire non validant vérifiant si des documents XML sont bien formés ou non.
Le package libesmtp contient les bibliothèques libesmtp, qui sont utilisées pour gérer les soumissions de mail vers une couche de transport de mail.
Téléchargement (HTTP): http://www.stafford.uklinux.net/libesmtp/libesmtp-1.0.tar.bz2
Taille du téléchargement: 232 Ko
Estimation de l'espace disque requis: 5,0 Mo
Estimation du temps de construction: 0,15 SBU
Installez libesmtp en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
La bibliothèque libesmtp est utilisée pour gérer la soumission de mails vers un agent de transport de mail.
Le package aspell contient la bibliothèque aspell, utilisée pour interfacer les bibliothèques de vérification d'orthographe.
Téléchargement (HTTP): http://gd.tuwien.ac.at/gnu/gnusrc/aspell/aspell-0.50.3.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/aspell/aspell-0.50.3.tar.gz
Taille du téléchargement: 917 Ko
Estimation de l'espace disque requis: 9,4 Mo
Estimation du temps de construction: 0,97 SBU
Installez aspell en lançant les commandes suivantes:
patch -Np1 -i ../aspell-0.50.3-gcc33-1.patch && ./configure --prefix=/usr && make && make install |
Après l'installation d'Aspell, au moins un dictionnaire doit être installé. Vous pouvez les trouver sur http://aspell.net/.
Installez votre dictionnaire (ou vos dictionnaires) en lançant les commandes suivantes:
./configure && make && make install |
La bibliothèque libaspell est une interface pour le vérificateur d'orthographe.
Le package ispell contient un correcteur orthographique pouvant gérer des langues internationales.
Téléchargement (HTTP): http://membled.com/work/patches/ispell/ispell-3.2.06.epa6.tar.bz2
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 11 Mo
Estimation du temps de construction: 0,03 SBU
La première étape consiste à créer local.h.
sed -e "s:/usr/local:/usr:g" local.h.linux > local.h |
Par défaut, ispell installe seulement le répertoire anglais américain. Pour installer d'autres langages, vérifiez le fichier config.X pour ajouter le define dans local.h.
Compilez et installez ispell en utilisant les commandes suivantes:
make && make install |
Le package Guile contient la bibliothèque d'extension de langage du projet GNU. Guile contient aussi l'interpréteur Scheme indépendant.
Téléchargement (HTTP): http://ftp.gnu.org/pub/gnu/guile/guile-1.6.4.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/pub/gnu/guile/guile-1.6.4.tar.gz
Taille du téléchargement: 2,7 Mo
Estimation de l'espace disque requis: 30 Mo
Estimation du temps de construction: 0,79 SBU
Installez Guile en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
En plus des bibliothèques libguile, le package Guile contient guile, guile-config et guile-snarf.
guile est un interpréteur scheme indépendant pour Guile.
guile-config est un script Guile apportant l'information nécessaire pour réaliser l'édition de liens pour vos programmes liés avec la bibliothèque Guile, de la même façon que le fait pkgconfig-0.15.0.
guile-snarf est un script qui analyse les déclarations contenues dans vos codes C pour les fonctions C Scheme visibles, pour les objets Scheme utilisés dans du code C, etc.
Le package slib est une bibliothèque Scheme utilisée avec Guile.
Téléchargement (HTTP): http://www.swiss.ai.mit.edu/ftpdir/scm/slib2d6.tar.gz
Taille du téléchargement: 636 Ko
Estimation de l'espace disque requis: 2,9 Mo
Estimation du temps de construction 0,00 SBU
Le package G-Wrap contient des outils pour exporter les bibliothèques C en interpréteurs Scheme.
Téléchargement (HTTP): http://www.gnucash.org/pub/g-wrap/source/g-wrap-1.3.4.tar.gz
Taille du téléchargement: 400 Ko
Estimation de l'espace disque requis: 4,6 Mo
Estimation du temps de construction: 0,09 SBU
Installez G-Wrap en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
g-wrap-config est un outil pour générer le CFLAGS du code C lié pour les bibliothèques runtime de Scheme.
LZO est une bibliothèque de compression de données qui est convient pour la décompression et compression en temps réel. Ceci signifie qu'il favorise la rapidité sur le taux de compression.
Téléchargement (HTTP): http://www.oberhumer.com/opensource/lzo/download/lzo-1.08.tar.gz
Téléchargement (FTP): http://ftp.uni-koeln.de/util/arc/lzo-1.08.tar.gz
Taille du téléchargement: 421 Ko
Estimation de l'espace disque requis: 5,4 Mo
Estimation du temps de construction: 0,22 SBU
Installez LZO en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
Suivant le système qui sera utilisé, vous pouvez avoir besoin de bibliothèques graphiques. La plupart des machines de bureau les réclament pour les applications graphiques. D'un autre côté, la plupart des serveurs n'en ont pas besoin.
La bibliothèque lcms est utilisée par d'autres programmes pour faciliter la gestion des couleurs.
Téléchargement (HTTP): http://www.littlecms.com/lcms-1.11.tar.gz
Téléchargement (FTP): ftp://sunsite.ccu.edu.tw/pub12/sourceforge/l/lcms/lcms-1.11.tar.gz
Taille du téléchargement: 276 Ko
Estimation de l'espace disque requis: 8,5 Mo
Estimation du temps de construction: 0,19 SBU
Installez lcms en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package lcms contient les bibliothèques liblcms, icc2ps, icclink, icctrans et optionnellement, tifficc, jpegicc, les bibliothèques _lcms et lcms.py.
La bibliothèque lcms est utilisée par d'autres programmes pour faciliter la gestion des couleurs.
Le package libjpeg contient les bibliothèques jpeg. Elles permettent la compression de fichiers images basés sur le standard Joint Photographic Experts Group (JPEG). Il s'agit d'un algorithme, avec perte de qualité.
Téléchargement (HTTP): http://www.ijg.org/files/jpegsrc.v6b.tar.gz
Téléchargement (FTP): ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
Taille du téléchargement: 599 Ko
Estimation de l'espace disque requis: 3,7 Mo
Estimation du temps de construction: 0,26 SBU
Installez libjpeg en lançant les commandes suivantes:
./configure --enable-static --enable-shared --prefix=/usr && make && make install |
./configure --enable-static --enable-shared --prefix=/usr : Cette commande indique à libjpeg de construire à la fois les bibliothèques partagées et statiques et de les installer sous /usr.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package libjpeg contient cjpeg, djpeg, jpegtran, rdjpgcom, wrjpgcom et les bibliothèques libjpeg.
cjpeg compresse les fichiers images pour produire un fichier JPEG/JFIF sur la sortie standard. Les formats actuellement supportés en entrée sont: PPM (PBMPLUS color format), PGM (PBMPLUS gray-scale format), BMP et Targa
djpeg décompresse les fichiers images au format JPEG/JFIF en un format PPM (PBMPLUS color format), PGM (PBMPLUS gray-scale format), BMP ou Targa.
Les bibliothèques sont utilisées par de nombreux programmes pour lire et écrire des fichiers au format jpeg.
Le package libpng contient des bibliothèques utilisées par d'autres programmes pour lire et écrire des fichiers PNG.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.5.tar.bz2
Téléchargement (FTP): ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.gimp.org/gimp/libs/libpng-1.2.5.tar.bz2
Taille du téléchargement: 376 Ko
Estimation de l'espace disque requis: 4,1 Mo
Estimation du temps de construction: 0,16
Installez libpng en lançant les commandes suivantes:
make prefix=/usr \ ZLIBINC=/usr/include ZLIBLIB=/usr/lib -f scripts/makefile.linux && make prefix=/usr install -f scripts/makefile.linux |
ZLIBINC=/usr/include ZLIBLIB=/usr/lib : Ceci force libpng à chercher les entêtes et les bibliothèques de zlib où nous les avons installé.
-f scripts/makefile.linux : Ceci indique à make d'utiliser la version Linux du makefile car libpng n'utilise pas une routine autoconf, mais vient avec différents makefiles pour chaque plateforme.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
La bibliothèque PNG contient une collection de routines pour créer et manipuler des fichiers dont le format graphique est PNG. Ce format a été créé comme remplacement à GIF et, dans une moindre mesure, à TIFF, avec beaucoup d'améliorations et d'extensions, et sans problèmes de droits.
Le package libtiff contient les bibliothèques tiff et les utilitaires associés. Les bibliothèques sont utilisées par des programmes souhaitant lire et écrire des fichiers tiff, et les utilitaires servent à différents travaux sur les fichiers tiff.
Téléchargement (HTTP): http://gd.tuwien.ac.at/hci/windowmaker/libs/tiff-v3.6.0.tar.gz
Téléchargement (FTP): ftp://ftp.remotesensing.org/pub/libtiff/tiff-v3.6.0.tar.gz
Taille du téléchargement: 1 Mo
Estimation de l'espace disque requis: 10,0 Mo
Estimation du temps de construction: 0,15 SBU
Installez libtiff en lançant les commandes suivantes:
./configure --prefix=/usr --noninteractive \ --with-DIR_MAN=/usr/share/man && make && make install |
--noninteractive : Cette option est utilisée pour empêcher le script de demander confirmation pour les répertoires d'installation (que nous indiquons à configure avec d'autres options).
--with-DIR_MAN=/usr/share/man : Ceci est utilisé parce que, malgré le fait que nous donnons --prefix=/usr, la routine configure essaie d'installer les pages man dans /usr/local/man au lieu du bon emplacement.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package libtiff contient fax2ps, fax2tiff, gif2tiff, pal2rgb, ppm2tiff, ras2tiff, rgb2ycbcr, thumbnail, tiff2bw, tiff2ps, tiff2rgba, tiffcmp, tiffcp, tiffdither, tiffdump, tiffinfo, tiffmedian, tiffsplit et les bibliothèques tiff.
fac2ps convertit un facsimile TIFF en un fichier PostScript compressé.
Les bibliothèques TIFF sont utilisées par de nombreux programmes pour lire et écrire des fichiers TIFF.
Le package libungif contient des bibliothèques de lecture du format GIF et d'écriture au même format mais non compressé ainsi que des programmes de conversion et de manipulation de fichiers GIF. Ces bibliothèques sont utiles pour tout programme graphique souhaitant gérer des fichiers GIF alors que les programmes sont nécessaires aux conversions ainsi qu'au nettoyage des images.
La raison pour laquelle libungif écrit uniquement des GIF non compressés est dûe au problème légal avec la compression LZW (pour laquelle Unisys détient un brevet). Lire des fichiers GIF n'est pas un problème car les routines de décompression ne semblent pas être limitées de cette façon. Notez que ceci a fait l'objet de débats dans le passé. La meilleure façon d'éviter tout ceci est d'utiliser simplement libungif pour regarder des images GIF sur le web, et que pour toute page que vous concevez, vous utilisiez le format libre PNG à la place (qui utilise, logiquement, la bibliothèque libpng) pour lequel aucun brevet n'existe.
Téléchargement (HTTP): http://ftp.sunfreeware.com/ftp/pub/freeware/SOURCES/libungif-4.1.0b1.tar.gz
Téléchargement (FTP): ftp://sunfreeware.secsup.org/pub/solaris/freeware/SOURCES/libungif-4.1.0b1.tar.gz
Taille du téléchargement: 343 Ko
Estimation de l'espace disque requis: 3,1 Mo
Estimation du temps de construction: 0,11 SBU
Installez libungif en lançant les commandes suivantes:
patch -Np1 -i ../libungif-4.1.0b1-va_start.patch && ./configure --prefix=/usr && make && make install |
Le package libungif contient gif2epsn, gif2ps, gif2rgb, gifasm, gifbg, gifburst, gifclip, gifclrmp, gifcolor, gifcomb, gifcompose, giffiltr, giffix, gifflip, gifhisto, gifinfo, gifinter, gifinto, gifovly, gifpos, gifrotat, gifrsize, gifspnge, giftext, gifwedge, icon2gif, raw2gif, rgb2gif, text2gif et les bibliothèques libungif.
Les bibliothèques libmng sont utilisées par les programmes souhaitant lire et écrire des fichiers MNG, qui sont l'équivalent des fichiers PNG pour l'animation.
Téléchargement (HTTP): http://www.mirror.ac.uk/sites/download.sourceforge.net/pub/sourceforge/libmng/libmng-1.0.5.tar.gz
Téléchargement (FTP): ftp://unc.dl.sf.net/pub/sourceforge/libmng/libmng-1.0.5.tar.gz
Taille du téléchargement: 616 Ko
Estimation de l'espace disque requis: 12,4 Mo
Estimation du temps de construction: 0,31 SBU
Installez libmng en lançant les commandes suivantes:
./configure --prefix=/usr --with-zlib \ --with-jpeg --with-lcms && make && make install && cp doc/man/*.3 /usr/share/man/man3 && cp doc/man/*.5 /usr/share/man/man5 |
./configure --prefix=/usr --with-zlib \ --with-jpeg --with-lcms |
cp doc/man/*.X /usr/share/man/manX : La procédure d'installation n'installe pas les pages man proprement, donc nous le faisons manuellement.
libmng procure des fonctions aux programmes souhaitant lire et écrire des fichiers MNG, fichiers d'animation sans problèmes de droits associés à certains autres formats.
Le package Imlib contient des bibliothèques de manipulation d'images. Leur utilité consiste au chargement, au rendu et au manipulation d'une grande variété de formats d'images.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/imlib/1.9/imlib-1.9.14.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/imlib/1.9/imlib-1.9.14.tar.bz2
Taille du téléchargement: 580 Ko
Estimation de l'espace disque requis: 16,4 Mo
Estimation du temps de construction: 0,43 SBU
Installez Imlib en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc/imlib && make && make install |
--sysconfdir=/etc/imlib : Ceci installe et combine les fichiers de configuration dans /etc au lieu de /usr/etc.
Imlib propose aux programmes des fonctions d'affichage et d'édition de fichiers images, dont le format peut être très varié.
AAlib est une bibliothèque de rendu de graphique en art ASCII.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/aa-project/aalib-1.4rc5.tar.gz
Téléchargement (FTP): ftp://ftp.sourceforge.net/pub/sourceforge/aa-project/aalib-1.4rc5.tar.gz
Taille du téléchargement: 388 Ko
Estimation de l'espace disque requis: 6,5 Mo
Estimation du temps de construction: 0,15 SBU
Installez AAlib en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package AAlib contient les bibliothèques libaa, aalib-config, aainfo, aatest et aasavefont.
Les bibliothèques d'Art ASCII sont une collection de routines pour transformer toute entrée graphique en un format portable d'Art ASCII. Il peut être utilisé par beaucoup de programmes et dispose d'une API très bien documentée, pour que vous puissiez l'intégrer facilement dans vos propres programmes.
SVGAlib est une bibliothèque graphique bas niveau apportant les modes VGA et SVGA dans une console. Ceci est utile pour les programmes lancés sur une console et nécessitant des possibilités graphiques.
Téléchargement (HTTP): http://www.svgalib.org/svgalib-1.4.3.tar.gz
Téléchargement (FTP): ftp://ftp.ibiblio.org/pub/Linux/libs/graphics/svgalib-1.4.3.tar.gz
Taille du téléchargement: 827 Ko
Estimation de l'espace disque requis: 9,7 Mo
Estimation du temps de construction: 0,20 SBU
Note : Vous devez compiler et installer en tant que root. Si vous ne le faites pas, rien ne grave ne se passe pendant la compilation, mais certains outils ne pourront pas avoir le bit SUID requis pour le bon fonctionnement du package. Néanmoins, ceci indique un problème d'exposition du système à des failles de sécurité pour ces outils qui pourraient être utilisés pour obtenir un accès root, donc à utiliser avec précaution.
Installez SVGAlib en lançant les commandes suivantes:
patch -Np1 -i ../svgalib-1.4.3-gcc3-1.patch && make prefix=/usr install && cd doc && for dir in man?; do for file in $dir/*; do \ gunzip /usr/share/man/$file; done; done |
cd doc && for dir in man?; do for file in $dir/*; do gunzip /usr/share/man/$file; done; done : SVGAlib installe ses pages man au format compressé, donc nous les décompressons.
/etc/vga/libvga.config, ~/.svgalibrc
Vous devez éditer le fichier de configuration pour initialiser le type de moniteur et de souris. Suivant votre matériel, d'autres configurations peuvent se révéler nécessaires.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package SVGAlib contient les bibliothèques libvga et libvgagl, dumpreg, mode3, restorefont, restorepalette, restoretextmode, savetextmode, textmode et svgakeymap.
libvga est une bibliothèque graphique de bas niveau.
libvgagl est une bibliothèque rapide pour les graphiques au niveau du framebuffer basée sur libvga.
savetextmode et textmode sauvegardent ou restaurent l'état SVGA du mode texte.
DirectFB est une bibliothèque graphique se plaçant au-dessus du périphérique framebuffer de Linux. Il offre de meilleures performances du matériel avec un minimum d'utilisation des ressources.
Téléchargement (HTTP): http://www.directfb.org/download/DirectFB/DirectFB-0.9.19.tar.gz
Téléchargement (FTP): ftp://ftp.lug.udel.edu/pub/linux/distributions/gentoo/distfiles/DirectFB-0.9.19.tar.gz
Taille du téléchargement: 1,1 Mo
Estimation de l'espace disque requis: 13,8 Mo
Estimation du temps de construction: 0,51 SBU
Fournisseurs d'image et de vidéo optionnelles: http://www.directfb.org/download/DirectFB-extra/DirectFB-extra-0.9.16.tar.gz
Note : DirectFB nécessite un noyau Linux avec le support du framebuffer. Vérifiez la documentation dans le répertoire des sources du noyau (/usr/src/linux/Documentation/fb/) sur la façon d'activer le périphérique framebuffer pour votre carte graphique.
Installez DirectFB en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Si vous décidiez d'ajouter des fournisseurs de vidéo et image optionnelle, alors vous devez aussi installer le package DirectFB-extra:
./configure --prefix=/usr && make && make install |
Note : La version actuelle d'avifile ne fonctionne pas avec DirectFB. Vous devez utiliser la version d'avifile, disponible sur http://www.directfb.org/download/contrib/ ou, sinon, désactiver le fournisseur de vidéo avifile en appelant configure avec --disable-avifile.
/etc/directfbrc, ~/.directfbrc
DirectFB dispose de valeurs par défaut raisonnables mais vous pourriez avoir à faire quelques modifications. Il existe plusieurs façons de faire cela Vous pouvez éditer le fichier de configuration du système /etc/directfbrc, le fichier spécifique à l'utilisateur ~/.directfbrc ou vous pouvez configurer l'application DirectFB via la ligne de commande. Consultez la page man de directfbrc(5) pour plus d'informations.
Le package DirectFB apporte dfbdump, dfbg, dfbinfo, dfblayer, directfb-config, directfb-csource et les bibliothèques libdirectfb.
C'est un simple outil de déboguage pour DirectFB affichant une liste des surfaces et fenêtres.
directfb-config apporte toutes les options pour lier des binaires statiques avec un choix des pilotes et d'autres modules construit.
Elles apportent une accélération matérielle des graphiques, une festion et une abstraction des périphériques d'entrée, intégré dans le système de fenêtrage avec le support des fenêtres transparentes et les multiples couches d'affichage du périphérique framebuffer de Linux.
Imlib2 est une bibliothèque graphique pour charger, sauver, afficher et manipuler rapidement des fichiers graphiques.
Téléchargement (HTTP): http://heanet.dl.sourceforge.net/sourceforge/enlightenment/imlib2-1.1.0.tar.gz
Téléchargement (FTP): ftp://ftp.tux.org/X-Windows/enlightenment/ftp/enlightenment/imlib2-1.1.0.tar.gz
Taille du téléchargement: 796 Ko
Estimation de l'espace disque requis: 20 Mo
Estimation du temps de construction: 0,53 SBU
Installez Imlib2 en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Ce package contient la bibliothèque libImlib2 ainsi que de nombreux filtres et des fonctions de chargement d'images.
libImlib2 approte des fonctions aux prgrammes souhaitant gérer différents types de données.
Le package bc contient un langage de calculs sur des nombres à précision arbitraire.
Téléchargement (HTTP): http://ftp.gnu.org/gnu/bc/bc-1.06.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/bc/bc-1.06.tar.gz
Taille du téléchargement: 280 Ko
Estimation de l'espace disque requis: 1,6 Mo
Estimation du temps de construction: 0,07 SBU
Téléchargez les correctifs pour bc à partir de http://downloads.linuxfromscratch.org/blfs-patches.
Installez bc en lançant les commandes suivantes:
patch -Np1 -i ../bc-1.06-flex-invocation.patch && patch -Np1 -i ../bc-1.06-readline.patch && ./configure --prefix=/usr --with-readline && make && make install |
Le package rep-gtk contient des liens entre Lisp et GTK. Ceci est utile pour étendre les bibliothèques GTK-2 et GDK avec Lisp. Le package rep-gtk-0.15 contient les bibliothèques de liens avec GTK et utilise les mêmes instructions. Ils peuvent tous être installés, si nécessaire.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/rep-gtk/rep-gtk-0.18.tar.gz
Taille du téléchargement: 152 Ko
Estimation de l'espace disque requis: 7,7 Mo
Estimation du temps de construction: 0,18 SBU
Installez rep-gtk en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Les lieurs pour Lisp ont des bibliothèques stockées dans /usr/lib/rep/i686-pc-linux-gnu/gui/ qui aident à la communication entre les bibliothèques Lisp et GTK.
Compface apporte des utilitaires et une bibliothèque pour convertir le format X-Face, un format bitmap 48x48 utilisé pour réaliser des miniatures des auteurs de courrier électronique dans un entête.
Téléchargement (HTTP): http://www.ibiblio.org/pub/Linux/apps/graphics/convert/compface-1.4.tar.gz
Téléchargement (FTP): ftp://ftp.ibiblio.org/pub/Linux/apps/graphics/convert/compface-1.4.tar.gz
Taille du téléchargement: 28 Ko
Estimation de l'espace disque requis: 520 Ko
Estimation du temps de construction: 0,01 SBU
Installez Compface en lançant les commandes suivantes:
patch -Np1 -i ../compface-1.4-errno-2.patch && ./configure --prefix=/usr && make && make install |
compface est un filtre pour générer des représentations hautement compressées de fichiers image 48x48x1.
uncompface est un filtre inverse qui réalise une transformation inverse sans perte de données.
libcompface dispose d'algorithmes de compression et de décompression à utiliser dans d'autres programmes comme des MTAs.
Ce chapitre contient de nombreux utilitaires pour le matériel. Il contient aussi quelques applications utilisées par d'autres applications du livre.
Gpm (le démon d'utilisation générale de la souris) est un serveur de souris pour les applications lancées au niveau de la console. Il apporte non seulement le support du couper/coller mais sa bibliothèque est utilisée pour différents logiciels tels que links pour permettre l'utilisation générale de la souris dans le programme. Il est utile sur les machines de bureau et tout particulièrement si on suit les instructions de (Beyond) LinuxFromScratch - il est bien plus facile (et moins sujet à l'erreur) de couper et coller entre deux consoles que de tout retaper à la main!
Le package GPM contient un serveur de souris pour la console et xterm. Ceci est utile pour copier/coller du texte en mode console et aussi parce que beaucoup de programmes basés sur la console en ont besoin pour compiler le support de la souris.
Téléchargement (FTP): ftp://arcana.linux.it/pub/gpm/gpm-1.20.1.tar.bz2
Taille du téléchargement: 556 Ko
Estimation de l'espace disque requis: 5,3 Mo
Estimation du temps de construction: 0,09 SBU
Installez GPM en lançant les commandes suivantes:
patch -Np1 -i ../gpm-1.20.1-segfault.patch && patch -Np1 -i ../gpm-1.20.1-silent.patch && LDFLAGS="-lm" ./configure --prefix=/usr && make && make install && ldconfig -n -l /usr/lib/libgpm.so.1.19.0 |
export LDFLAGS="-lm" : La bibliothèque des mathématiques doit être liée avec gpm, car ceil() est utilisé dans la partie concernant le défilement du curseur. LDFLAGS est nécessaire seulement si vous optimisez gpm pour la taille.
Le script de démarrage gpm peut être créé en utilisant les commandes suivantes:
cat > /etc/rc.d/init.d/gpm << "EOF" #!/bin/sh # Début $rc_base/init.d/gpm # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org # Parties spécifiques à GPM par Mark Hymers - markh@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions if [ -f /etc/sysconfig/mouse ] then source /etc/sysconfig/mouse fi if [ -z "$MDEVICE" ] || [ -z "$PROTOCOL" ] then echo "Please create an /etc/sysconfig/mouse file containing" echo "MDEVICE and PROTOCOL values" exit 1; fi case "$1" in start) echo "Starting gpm..." loadproc gpm -m $MDEVICE -t $PROTOCOL ;; stop) echo "Stopping gpm..." killproc gpm ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc gpm ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/gpm EOF chmod 755 /etc/rc.d/init.d/gpm |
Vous avez alors besoin de créer les liens symboliques vers ce fichier dans les bons répertoires rc.d. Par exemple:
cd /etc/rc.d/init.d && ln -sf ../init.d/gpm ../rc0.d/K10gpm && ln -sf ../init.d/gpm ../rc1.d/K10gpm && ln -sf ../init.d/gpm ../rc2.d/K10gpm && ln -sf ../init.d/gpm ../rc3.d/S70gpm && ln -sf ../init.d/gpm ../rc4.d/S70gpm && ln -sf ../init.d/gpm ../rc5.d/S70gpm && ln -sf ../init.d/gpm ../rc6.d/K10gpm |
/etc/sysconfig/mouse Ce fichier contient le nom du périphérique de votre souris et le protocole qu'elle utilise. Pour créer ce fichier, lancez la commande suivante:
cat > /etc/sysconfig/mouse << "EOF" # start /etc/sysconfig/mouse MDEVICE=[yourdevice] PROTOCOL=[yourprotocol] # end /etc/sysconfig/mouse EOF |
Des exemples de valeurs pour MDEVICE et PROTOCOL sont
MDEVICE=/dev/psaux PROTOCOL=imps2 |
Une liste des protocoles connus est disponible en lançant gpm -t -help. La configuration de MDEVICE dépend du type de souris dont vous disposez. Par exemple, /dev/ttyS0 pour une souris série (sous Windows, il s'agit de COM1), /dev/input/mice est souvent utilisé pour les souris USB et /dev/psaux pour les souris PS2. Il est généralement admis que lier /dev/mouse au périphérique réel n'est pas une bonne idée, et qu'il est préférable de le référencer directement.
gpm est un utilitaire pour copier-coller et un serveur souris pour les consoles virtuelles.
gpm-root est un gestionnaire par défaut pour gpm. Il est utilisé pour dessiner des menus sur la fenêtre racine.
Le package Fcron contient un gestionnaire de commandes périodiques qui a pour but de remplacer Vixie Cron.
Téléchargement (HTTP): http://fcron.free.fr/fcron-2.9.3.src.tar.gz
Téléchargement (FTP): ftp://ftp.seul.org/pub/fcron/fcron-2.9.3.src.tar.gz
Taille du téléchargement: 365 Ko
Estimation de l'espace disque requis: 3,3 Mo
Estimation du temps de construction: 0,11 SBU
Fcron utilise les capacités cron de syslog pour tracer tous les messages. Comme LFS ne configure pas cette capacité avec /etc/syslog.conf, nous devons le faire avant d'installer Fcron. Cette commande ajoutera la ligne nécessaire à /etc/syslog.conf.
cat >> /etc/syslog.conf << "EOF" # Début ajout fcron dans /etc/syslog.conf cron.* -/var/log/cron.log # Fin ajout fcron EOF |
Le fichier de configuration a été modifié, donc nous devons avertir le démon sysklogd pour qu'il prenne en compte les modifications.
/etc/rc.d/init.d/sysklogd reload |
Pour des raisons de sécurité, nous avons besoin de créer un utilisateur et un groupe non privilégiés pour fcron:
groupadd fcron && useradd -c fcron -g fcron fcron |
Installez Fcron en lançant les commandes suivantes:
./configure --without-sendmail --with-answer-all=no && make && make install |
--without-sendmail: Fcron ne requiert pas un MTA pour fonctionner mais en utilisera un, s'il est installé, pour vous envoyer le résultat du script fcron. Si vous souhaitez utiliser cette fonctionnalité, modifiez l'option --with-sendmail=[chemin vers votre MTA] .
--with-answer-all=no: Aprèz avoir installé les fichiers, le script d'installation entrera dans une configuration de routine. Le premier test consistera à installer ou non un script de démarrage dans le répertoire /etc/rc.d/init.d avec les liens symboliques appropriés dans les niveaux d'exécution 2, 3, 4 et 5. Le second est de stopper tout processus fcron en cours et d'en lancer un nouveau. Comme il s'agit probablement de votre première installation et que nous voulons un script de démarrage basé sur le modèle de BLFS, nous répondrons 'n' aux deux tests.
--with-dsssl-dir=/usr/share/sgml/docbook/dsssl-stylesheets-1.78 : Peut être ajouté si vous avez installé OpenJade et les dsssl-stylesheets pour générer la documentation de fichiers source DocBook.
/etc/fcron.conf, /etc/fcron.allow, /etc/fcron.deny
Il n'y a pas de modifications requises dans aucun des fichiers de configuration. Les informations de configuration sont disponibles dans la page man de fcron.conf.
Les scripts fcron sont écrits en utilisant fcrontab. Référez-vous à la page man de fcrontab pour les bons paramètres correspondant à votre situation.
Créez le script de démarrage de la façon suivante:
cat > /etc/rc.d/init.d/fcron << "EOF" #!/bin/sh # Début $rc_base/init.d/fcron # Basé sur le script sysklogd script de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting fcron..." loadproc fcron ;; stop) echo "Stopping fcron..." killproc fcron ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc fcron ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/fcron EOF chmod 755 /etc/rc.d/init.d/fcron |
Créez les liens symboliques vers ce fichier dans le répertoire rc.d adéquat avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/fcron ../rc0.d/K08fcron && ln -sf ../init.d/fcron ../rc2.d/S40fcron && ln -sf ../init.d/fcron ../rc3.d/S40fcron && ln -sf ../init.d/fcron ../rc4.d/S40fcron && ln -sf ../init.d/fcron ../rc5.d/S40fcron && ln -sf ../init.d/fcron ../rc6.d/K08fcron |
fcron est le démon programmateur (scheduler).
fcrontab est le programme utilisé pour installer, éditer, lister et supprimer les tables utilisées par fcron.
Le package hdparm contient un outil utile pour gérer à la fois les contrôleurs et les disques ATA/IDE pour améliorer les performances et quelque fois accroître la stabilité.
ATTENTION! Bien que très utile, une utilisation incorrecte de hdparm peut détruire vos données et, dans des cas rares, votre disque. Utilisez-le avec prudence et assurez-vous de ce que vous faites. En cas de doute, nous vous recommandons de laisser les paramètres par défaut du noyau.
Téléchargement (HTTP): http://www.ibiblio.org/pub/Linux/system/hardware/hdparm-5.4.tar.gz
Téléchargement (FTP): ftp://ftp.ibiblio.org/pub/Linux/system/hardware/hdparm-5.4.tar.gz
Taille du téléchargement: 33 Ko
Estimation de l'espace disque requis: 257 Ko
Estimation du temps de construction: 0,01 SBU
Installez hdparm en lançant les commandes suivantes:
make && make install |
Notez que par défaut hdparm est installé dans /sbin car certains systèmes peuvent en avoir besoin au démarrage avant que /usr ne soit monté. Si vous souhaitez installer hdparm sous l'arborescence /usr, alors remplacez les commandes du dessus par les suivantes:
make && make binprefix=/usr install |
hdparm procure une interface en ligne de commande pour les contrôles d'entrée/sortie (ioctl) de différents disques dur supportés par le driver ATA/IDE de Linux.
La présence/absence du programme which dans le livre LFS est probablement l'un des problèmes les plus débattus que nous avons eu sur les listes de diffusion. Cela a fini en au moins une guerre des clochers dans un passé récent. Pour mettre une fin à ceci, nous présentons ici deux des solutions permettant d'équiper votre système de "which".
La première solution est d'installer le programme GNU which.
Téléchargement (HTTP): http://ftp.gnu.org/gnu/which/which-2.14.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/which/which-2.14.tar.gz
Taille du téléchargement: 110 Ko
Estimation de l'espace disque requis: 719 Ko
Estimation du temps de construction: 0,01 SBU
Installez which en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
La seconde solution (pour ceux qui ne souhaitent pas installer le programme) est de créer un simple script:
cat > /usr/bin/which << "EOF" #!/bin/bash type -p "$@" EOF chmod 755 /usr/bin/which chown root:root /usr/bin/which |
Ceci devrait bien fonctionner et est probablement la solution la plus simple pour les ordinateurs qui n'ont pas besoin d'un bon environnement utilisateur pour fonctionner.
Le package UnZip contient des utilitaires d'extraction ZIP. Ils sont utiles pour extraire des fichiers à partir d'archives ZIP. Les archives ZIP sont créées avec PKZIP ou Info-ZIP principalement dans un environnment DOS.
Téléchargement (HTTP): http://www.mirror.ac.uk/sites/ftp.info-zip.org/pub/infozip/src/unzip550.tar.gz
Téléchargement (FTP): ftp://ftp.info-zip.org/pub/infozip/src/unzip550.tar.gz
Taille du téléchargement: 1,1 Mo
Estimation de l'espace disque requis: 5,8 Mo
Estimation du temps de construction: 0,16 SBU
Correctif requis: http://www.linuxfromscratch.org/patches/blfs/5.0/unzip-5.50-fix-Makefile.patch
Correctif requis: http://www.linuxfromscratch.org/patches/blfs/5.0/unzip-5.50-fix-libz.patch
Correctif recommendé: http://www.linuxfromscratch.org/patches/blfs/5.0/unzip-5.50-dotdot.patch
Correctif recommendé: http://www.linuxfromscratch.org/patches/blfs/5.0/unzip-5.50-dont-make-noise.patch
Par défaut, UnZip ne supporte pas la décompression shrink. Pour l'activer ou obtenir plus d'informations, vérifiez la FAQ UnZip sur http://www.info-zip.org/pub/infozip/FAQ.html#unshrink.
Installez UnZip en lançant les commandes suivantes:
patch -Np1 -i ../unzip-5.50-fix-Makefile.patch && patch -Np1 -i ../unzip-5.50-fix-libz.patch && patch -Np1 -i ../unzip-5.50-dont-make-noise.patch && patch -Np1 -i ../unzip-5.50-dotdot.patch && cp unix/Makefile . && make prefix=/usr linux && make prefix=/usr linux_shlibz && make prefix=/usr install && cp -a libunzip.so* /usr/lib |
make prefix=/usr linux: Cette commande surcharge la variable prefix initialisée à /usr/local dans le Makefile et construit les exécutables pour un système linux. Les alternatives à 'linux' sont disponibles avec la commande 'make list'.
make prefix=/usr linux_shlibz: Construit des versions dynamiques de libunzip et lie UnZip avec lui et zlib.
unzip liste, teste et extrait des fichiers d'une archive ZIP.
unzipfsx est un code auto-extractible qui peut être placé en suffixe à une archive ZIP. Les fichiers dans ce format permettent au destinataire de décompresser l'archive sans avoir à installer UnZip.
zipinfo produit une information technique sur les fichiers compris dans une archive ZIP, incluant les droits d'accès aux fichiers, l'état de cryptage, le type de compression, etc.
Le package Zip contient les utilitaires Zip. Ils sont utiles pour compresser des fichiers et les stocker dans des archives ZIP.
Téléchargement (HTTP): http://www.mirror.ac.uk/sites/ftp.info-zip.org/pub/infozip/src/zip23.tar.gz
Téléchargement (FTP): ftp://ftp.info-zip.org/pub/infozip/src/zip23.tar.gz
Taille du téléchargement: 839 Ko
Estimation de l'espace disque requis: 3,6 Mo
Estimation du temps de construction: 0,05 SBU
Installez Zip en lançant les commandes suivantes:
cp unix/Makefile . && make prefix=/usr generic_gcc && make prefix=/usr install |
make prefix=/usr generic_gcc: Cette commande surcharge la variable prefix initialisée à /usr/local dans le Makefile et construit les exécutables pour un système linux. Les alternatives à 'generic_gcc' sont disponibles avec la commande 'make list'.
zip compresse des fichiers et les stocke dans une archive ZIP.
zipcloak est désactivé dans cette version de Zip. Il affichera un message sur le support du cryptage par la recompilation avec zcrypt27.zip.
Le package PCI Utilities est un ensemble de programmes indiquant la liste des périphériques PCI, inspectant leur statut et initialisant leur registres de configuration.
Téléchargement (HTTP): http://www.kernel.org/pub/software/utils/pciutils/pciutils-2.1.11.tar.bz2
Téléchargement (FTP): ftp://ftp.kernel.org/pub/software/utils/pciutils/pciutils-2.1.11.tar.bz2
Taille du téléchargement: 107 Ko
Estimation de l'espace disque requis: 1,1 Mo
Estimation du temps de construction: 0,02 SBU
Installez PCI Utilities en lançant les commandes suivantes:
make PREFIX=/usr && make PREFIX=/usr install |
lspci est un utilitaire pour afficher des informations sur tous les bus PCI sur le système et tous les périphériques qui y sont connectés.
Le package pkgconfig contient des outils pour passer le chemin d'include et/ou le chemin de bibliothèques au compilateur lors le script make.
Téléchargement (HTTP): http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz
Téléchargement (FTP): ftp://ftp.netbuddy.org/linux/pkgconfig-0.15.0.tar.gz
Taille du téléchargement: 604 Ko
Estimation de l'espace disque requis: 5,2 Mo
Estimation du temps de construction: 0,22 SBU
Installez pkgconfig en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Ajoutez à votre profile système ou personnel:
export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig |
Les paramètrages par défaut pour PKG_CONFIG_PATH sont /lib/pkgconfig, /usr/lib/pkgconfig et /usr/local/lib/pkgconfig. Ces paramètrages sont codés en dur et n'ont pas à être exporté avec les chemins supplémentaires.
pkg-config est une fonction retournant des méta-informations sur une bibliothèque spécifiée.
Le package cpio contient des outils pour l'archivage.
Téléchargement (HTTP): http://ftp.gnu.org/pub/gnu/cpio/cpio-2.5.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/pub/gnu/cpio/cpio-2.5.tar.gz
Taille du téléchargement: 188 Ko
Estimation de l'espace disque requis: 1 Mo
Estimation du temps de construction: 0,06 SBU
Installez cpio en lançant les commandes suivantes:
./configure --prefix=/usr --libexec=/usr/sbin \ --bindir=/bin && make && make install |
--libexec=/usr/bin : Cette commande installe rmt dans /usr/sbin au lieu de /usr/libexec.
--bindir=/bin : Cette commande installe cpio dans /bin au lieu de /usr/bin comme indiqué par le FHS.
MC (Midnight Commander) est un gestionnaire de fichier en mode texte et un shell visuel. Il fournit une interface clair, simple pour l'utilisateur mais protégé d'un système Unix, intéressant pour gérer des opérations fréquentes sur les fichiers de façon efficace et en préservant la toute puissance de la ligne de commande.
Téléchargement (HTTP): http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-4.6.0.tar.gz
Téléchargement (FTP): ftp://ftp.uni-koeln.de/util/shell/mc-4.6.0.tar.gz
Taille du téléchargement: 3,6 Mo
Estimation de l'espace disque requis: 31 Mo
Estimation du temps de construction: 0,45 SBU
Installez MC en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
~/.mc/*
Le répertoire ~/.mc et son contenu sont créé au premier lancement de mc. Ensuite, vous pouvez éditer le fichier de configuration principal ~/.mc/ini manuellement ou via le shell MC. Consultez la page man mc(1) pour plus de détails.
Un système LFS est un système de développement, mais seulement pour le C, C++ et Perl. Ce chapitre étend le nombre de langages disponibles.
Le package Python contient l'environnement de développement Python. Il est utile pour la programmation orientée objet, l'écriture de script, le prototypage de programmes importants ou pour les développer entièrement.
Téléchargement (HTTP): http://www.python.org/ftp/python/2.3.2/Python-2.3.2.tgz
Téléchargement (FTP): ftp://ftp.python.org/pub/python/2.3.2/Python-2.3.2.tgz
Taille du téléchargement: 8,3 Mo
Estimation de l'espace disque requis: 68 Mo
Estimation du temps de construction: 1,33 SBU
Installez Python en lançant les commandes suivantes:
patch -Np1 -i ../Python-2.3.2-gdbm-2.patch && ./configure --prefix=/usr --enable-shared && make && make install |
Le package des modules Perl ajoute des objets utiles au langage Perl. Les modules utilisés par les packages tout au long de BLFS sont listés ici avec leurs dépendances.
Installez les modules Perl en lançant les commandes suivantes:
perl Makefile.PL && make && make install |
Ci-dessous se trouvent les instructions d'installation pour les modules qui seraient cassés à ce moment.
Gtk-Perl-0.7008:
perl Makefile.PL --without-guessing && make cp Gtk/Makefile Gtk/Makefile.bak && sed '/^OBJECT/s/xs/./g' Gtk/Makefile.bak > Gtk/Makefile && cp Gtk/Makefile Gtk/Makefile.bak && sed '/^OBJECT/s/build/./g' Gtk/Makefile.bak > Gtk/Makefile && make && make install |
Le package librep contient un système Lisp. C'est utile pour écrire des scripts ou des applications qui peuvent utiliser l'interpréteur Lisp comme langage d'extension.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/librep/librep-0.16.2.tar.gz
Taille du téléchargement: 896 Ko
Estimation de l'espace disque requis: 9,1 Mo
Estimation de temps de construction: 0,52 SBU
Installez librep en lançant les commandes suivantes:
./configure --prefix=/usr --libexec=/usr/lib --mandir=/usr/share/man \ --infodir=/usr/share/info && make && make install |
--libexec=/usr/lib : Cette commande installe les fichiers dans /usr/lib/rep au lieu de /user/libexec/rep.
rep est l'interpréteur Lisp.
Les bibliothèques librep contiennent les fonctions nécessaires pour l'interpréteur Lisp.
Le package J2SDK contient l'environnement de développement Java de Sun. Il est utile pour développer des programmes Java et fournit l'environnement d'exécution nécessaire pour faire fonctionner les programmes Java. Il inclut aussi un plug-in pour les navigateurs de façon à ce qu'ils comprennent Java.
JDK arrive en deux versions, un binaire précompilé et un package source. Précédemment, le plug-in inclus dans le package binaire du JDK était inutilisable sur LFS dû aux incompatibilités avec les navigateurs compilés avec GCC-3. Ce n'est plus le cas.
Le package source requiert de s'enregistrer sur le site développeur de Sun et d'accepter la licence 'Sun Community Source License'. Le code source ne peut pas être téléchargé à partir de certains pays, donc, pour les utilisateurs de ce pays, le binaire est la seule option.
Même si vous pensez compiler le source JDK, vous aurez besoin de télécharger la version binaire pour créer le bootstrap de la construction du JDK. Suivez le lien ci-dessous pour télécharger à la fois le package des sources et celui du binaire. Lors du téléchargement du source, pensez aussi à télécharger le package d'entêtes de Mozilla disponible au même endroit.
Téléchargement (HTTP): http://freshmeat.net/projects/sunjdk
Version utilisée (binaire): 1.4.2_01
Taille du téléchargement (binaire): 59 Mo
Taille du téléchargement (source): 77 Mo
Estimation de l'espace disque requis: 1810 Mo
Estimation du temps de construction: 85 SBU
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-fix-intl-files.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-gcc33-1.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-link-missing-libs.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-motif-mkmsgcat.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-remove-fixed-paths.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-syntax-fixes.patch
http://www.linuxfromscratch.org/patches/blfs/5.0/j2sdk-1.4.1-use-included-motif.patch
Les deux versions seront installées en parallèle. Vous pouvez choisir d'en garder une ou les deux.
L'installation du JDK précompilé est facile, elle change le bit d'exécutable pour le fichier téléchargé, va dans le répertoire où vous souhaitez l'installer et exécute le fichier téléchargé.
VERSION=1.4.2_01 && MV=`echo $VERSION | cut -d "_" -f 1,1` && V=`echo ${VERSION} | sed -e "s/\./_/g"` && chmod +x j2sdk-${V}-linux-i?86.bin && ./j2sdk-${V}-linux-i?86.bin && cd j2sdk${VERSION} && install -d /opt/j2sdk/j2sdk-precompiled-${MV} && mv * /opt/j2sdk/j2sdk-precompiled-${MV} |
La version binaire est maintenant installée.
Si vous ne voulez pas compiler les sources, ou ne pouvez pas pour des raisons de licence, passez directement à la section de configuration.
Ajoutez le JDK tout juste compilé dans le chemin.
export JAVA_HOME=/opt/j2sdk/j2sdk-precompiled-${MV} && export PATH=$PATH:${JAVA_HOME}/bin |
Décompressez et appliquez le correctif aux sources:
VERSION=1.4.1 && V=`echo $VERSION | sed -e "s/\./_/g"` && unzip j2sdk-${V}-src-scsl.zip && unzip j2sdk-${V}-mozilla_headers-unix.zip && patch -Np1 -i j2sdk-${VERSION}-gcc33-1.patch && patch -Np1 -i j2sdk-${VERSION}-fix-intl-files.patch && patch -Np1 -i j2sdk-${VERSION}-link-missing-libs.patch && patch -Np1 -i j2sdk-${VERSION}-remove-fixed-paths.patch && patch -Np1 -i j2sdk-${VERSION}-syntax-fixes.patch && patch -Np1 -i j2sdk-${VERSION}-motif-mkmsgcat.patch && patch -Np1 -i j2sdk-${VERSION}-use-included-motif.patch |
Mettez en place quelques variables qui modifieront la construction:
export ALT_BOOTDIR="$JAVA_HOME" && unset JAVA_HOME && unset CLASSPATH unset CFLAGS unset CXXFLAGS unset LDFLAGS export ALT_DEVTOOLS_PATH="/usr/bin" && export BUILD_NUMBER="blfs-`date +%s`" && export DEV_ONLY=true && export ALT_MOZILLA_PATH=$PWD && export INSANE=true && export MAKE_VERBOSE=true && export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts |
De plus, si vous souhaitez le faire en parallèle, ajoutez ce qui suit (ajustez MAKE_PARALLEL à votre appréciation):
export HOTSPOT_BUILD_JOBS=$MAKE_PARALLEL |
Si le Motif inclus ne peut pas être construit correctement, l'erreur est remarquée plus tard lors de la construction. Une solution est de construire la bibliothèque Motif avant de compiler le J2SDK.
cd motif/lib/Xm && make && cd ../../.. |
Construisez et installez J2SDK avec les commandes suivantes. Il y aura beaucoup de messages sur des fichiers manquants, messages ressemblant à des erreurs. Tant que le construction continue, les messages ne sont pas gênants, donc ignorez-les.
cd control/make && make && cd ../.. && cd control/build/linux-i?86 && cp -a j2sdk-image /opt/j2sdk/j2sdk-1.4.1 |
export ALT_BOOTDIR="$JAVA_HOME" : Cette variable indique l'emplacement du bootstrap JDK.
export ALT_MOZILLA_PATH=$PWD : Cette variable pointe vers l'emplacement où vous avez décompressé les entêtes de Mozilla.
export ALT_DEVTOOLS_PATH="/usr/bin" : Ceci modifie l'emplacement où l'outil de construction trouvera les exécutables nécessaires.
export BUILD_NUMBER="blfs-`date +%s`" : Ceci vous aidera à identifier la version, utilisée lors de la compilation, de l'environnement d'exécution et de la machine virtuelle en ajoutant cette information à la version donnée par java -version.
export DEV_ONLY=true : Cette commande empêche la compilation de la documentation et élimine une dépendance pour rpm.
unset JAVA_HOME : Ceci supprime la variable JAVA_HOME pour prévenir contre un mauvais emplacement lors de la compilation.
unset CLASSPATH : Ceci supprime la variable CLASSPATH pour prévenir contre un mauvais emplacement lors de la compilation.
unset CFLAGS... : Ces variables posent problème lors de la compilation. Ne jamais les laisser.
export INSANE=true : Si vous n'indiquez pas que vous êtes malade, la construction ne continuera pas. La plateforme certifiée pour la construction est une RedHat 6.1. La variable ci-dessus vous assure que toutes les erreurs relatives à la compilation sur une plateforme non certifiée seront changées en messages d'avertissement.
export MAKE_VERBOSE=true : Autorise l'affichage de l'évolution de la compilation sur la console.
export ALT_CACERTS_FILE... : Spécifie le certificat à utiliser.
Nous avons deux SDK Java 2 installés dans /opt/j2sdk. Décidez ce que vous souhaitez utiliser par défaut. Par exemple si vous décidez d'utiliser la source J2SDK, faites la suite:
ln -nsf j2sdk-1.4.1 /opt/j2sdk/j2sdk |
Ajoutez les lignes suivantes à votre fichier de démarrage (c'est-à-dire /etc/profile).
export JAVA_HOME=/opt/j2sdk/j2sdk export PATH=$PATH:$JAVA_HOME/bin |
Ajoutez $JAVA_HOME/man à votre variable MANPATH ou dans /etc/man.conf.
Le plugin Java est dans le répertoire $JAVA_HOME/jre/plugin/i?86/ns610/. Créez un lien symbolique vers le fichier dans ce répertoire à partir de votre répertoire plugins.
Le package J2SDK contient appletviewer, extcheck, idlj, jar, jarsigner, java, javac, javadoc, javah, javap, jdb, keytool, native2ascii, orbd, policytool, rmic, rmid, rmiregistry, rmiregistry, serialver, servertool et tnameserv.
appletviewer lance des applets Java en dehors du contexte d'un navigateur.
extcheck vérifie à partir d'un fichier jar spécifié les conflits par rapport à son nom et à sa version avec toutes les extensions installées par le JDK.
jarsigner signe les fichiers JAR (Java ARchive) et vérifie les signatures et l'intégrité d'un JAR signé.
java lance une application Java en démarrant l'environnement d'exécution, en chargeant la classe spécifiée et en indiquant la méthode principale de cette classe.
javac lit les définitions de classe et d'interface, écrit en Java, et les compile en fichiers bytecode.
javadoc parcourt les déclarations et les commentaires de documentation dans un ensemble de fichiers source et produit un ensemble correspondant de pages HTML, décrivant les classes, interfaces, construteurs, méthodes et champs.
javah génère les fichiers source et entête C, nécessaire pour l'implémentation des méthodes natives.
native2ascii convertit les fichiers contenant un encodage de caractères non supporté en un fichier contenant des caractères encodés en Latin-1 ou en Unicode.
orbd est utilisé pour permettre aux clients de trouver et invoquer de manière transparente des objets persistants sur des serveurs avec l'environnement CORBA.
rmic génère des squelettes de fichiers de classe pour des objets distants à partir des noms de classes Java compilés, contenant des implémentations d'objets distants.
rmiregistry crée et démarre un registre d'objets distants sur un port spécifié sur l'hôte courant.
serialver retourne la variable serialVersionUID pour un ou plusieurs classes dans un format convenable pour être copié dans une classe.
servertool procure une interface facile à utiliser pour les programmeurs d'applications, pour leur permettre d'enregistrer, supprimer, démarrer et arrêter un serveur.
Le package Ruby contient l'environnement de développement ruby. Il est utile pour faire des scripts orientés objet.
Téléchargement (HTTP): http://rubyforge.org/download.php/34/ruby-1.8.0.tar.gz
Téléchargement (FTP): ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.0.tar.gz
Taille du téléchargement: 1,9 Mo
Estimation de l'espace disque requis: 25,6 Mo
Estimation du temps de construction: 0,52 SBU
Installez Ruby en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
ruby est un langage de scripts, interprété pour de la programmation orientée objet rapide et facile.
Le package GCC contient des compilateurs GNU. Ceci est utile pour compiler des programmes écrits en Ada, C, C++, Fortran, Java et Objective C.
Téléchargement (HTTP): http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.3.1/gcc-3.3.1.tar.bz2
Téléchargement (FTP): ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.3.1/gcc-3.3.1.tar.bz2
Taille du téléchargement: 23 Mo
Estimation de l'espace disque requis: 889 Mo
Estimation du temps de construction: 29,3 SBU
Si vous pensez compiler Ada, vous aurez besoin d'installer GNAT temporairement pour satisfaire les dépendances circulaires lorsque vous recompilez GCC pour inclure Ada.
Téléchargement (FTP): ftp://cs.nyu.edu/pub/gnat/3.15p/gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz
Taille du téléchargement: 13,2 Mo
Estimation de l'espace disque requis: 48,9 Mo
Estimation du temps de construction: 0,01 SBU
Installez GNAT en lançant les commandes suivantes:
./doconfig |
Le script ci-dessus vous demandera comment et où vous souhaitez installer GNAT. Pour éviter les conflits avec le système gcc, le package sera installé dans un répertoire séparé, qui pourra ensuite être supprimé du système.
En réponse aux questions posées par le script doconfig, entrez 3 à la première question et /opt/gnat à la deuxième.
Pour finir l'installation, lancez
./doinstall |
Le compilateur GNAT peut être invoqué en lançant le binaire gcc par le script ci-dessus.
Corrigez les fichiers source avec la commande suivante:
patch -Np1 -i ../gcc-3.3.1-no_fixincludes-2.patch && patch -Np1 -i ../gcc-3.3.1-suppress-libiberty.patch |
Installez GCC en lançant les commandes suivantes:
PATH_HOLD=$PATH && export PATH=/opt/gnat/bin:$PATH && cd gcc/ada && touch treeprs.ads [es]info.h nmake.ad[bs] && cd ../.. && mkdir ../gcc-build && cd ../gcc-build && CC=/usr/bin/gcc ../gcc-3.3.1/configure --prefix=/usr --enable-shared \ --enable-languages=c,c++,objc,f77,ada,java --enable-threads=posix \ --enable-__cxa_atexit --enable-clocale=gnu && make bootstrap && make -C gcc gnatlib_and_tools && make install && ln -sf g77 /usr/bin/f77 && export PATH=$PATH_HOLD |
Vous pouvez supprimer l'installation de GNAT:
rm -rf /opt/gnat |
export PATH_HOLD=$PATH : Cette commande stocke le chemin courant avant qu'il soit modifié de façon à ce qu'il soit restauré après installation.
export PATH=$PATH:/opt/gnat/bin : Cette commande permet la construction pour trouver le compilateur Ada de GNAT pour construire Ada.
touch treeprs.ads [es]info.h nmake.ad[bs] : Cette commande crée les fichiers nécessaires pour la construction d'Ada. Cette étape peut ne pas être réalisée si vous ne voulez pas compiler l'interfac d'Ada.
CC=/usr/bin/gcc : Cette commande fonctionne avec le nouveau PATH qui prend le gcc de GNAT comme compilateur primaire.
--enable-languages=c,c++,objc,f77,ada,java : Cette commande construit tous les langages disponibles dans le package gcc. Vous pouvez modifier cette commande pour supprimer les langages non voulus.
-- enable shared --enable-threads=posix --enable-__cxa_atexit : Ces commandes sont requises pour construire les bibliothèques C++ aux standards publiés.
--enable-clocale=gnu : Cette commande constitue un sécurité intrinsèque pour les localedata incomplètes.
make gnatlib_and tools : Cette commande complète la construction d'Ada. Ne faites pas cette étape si vous n'avez pas activé Ada comme langage supporté.
Le package GCC contient c++, c++filt, cpp, g++, g77, gcc, gccbug, gcov, glob, gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnatkr, gnatlink, gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref et les bibliothèques GCC.
Les programmes et bibliothèques dont les descriptions manquent ont déjà été décrit dans la page GCC-3.3.1 de LFS.
add2line convertit la forme ASCII des éléments dans un fichier en forme binaire et les ajoute aux fichiers orbdata.
gnatchop est utile pour renommer des fichiers pour satisfaire les conventions des noms de fichiers par défaut du standard Ada.
gnatelim est utilisé pour détecter et éliminer les sous-programmes inutilisés dans une partition Ada.
gnathtml.pl convertit des fichiers source Ada en HTML pour les visualiser avec un navigateur web.
gnatkr est utilisé pour déterminer le nom d'un fichier donné, lorsqu'il est restreint à une longueur maximale.
gnatmem est un utilitaire GNAT qui enregistre les activités d'allocation et de désallocation dynamique dans un programme.
gnatpsys détermine les valeurs de tous les paramètres adéquats du système et les envoie sur stdout.
Le package Tcl contient le "Tool Command Language".
Download (HTTP): http://aleron.dl.sourceforge.net/sourceforge/tcl/tcl8.4.4-src.tar.gz
Download size: 3,3 Mo
Estimated Disk space required: 17,1 Mo
Estimated build time: 0,27 SBU
Installez Tcl en lançant les commandes suivantes:
VERSION=8.4.4 && V=`echo $VERSION | cut -d "." -f 1,2` && DIR=$PWD && cd unix && ./configure --prefix=/usr && make && sed -i "s:${DIR}/unix:/usr/lib:" tclConfig.sh && sed -i "s:${DIR}:/usr/include/tcl${V}:" tclConfig.sh && sed -i "s,^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so',TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\"," tclConfig.sh && make install && install -d /usr/include/tcl${V}/unix && install -m644 *.h /usr/include/tcl${V}/unix/ && install -d /usr/include/tcl${V}/generic && install -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/ && rm -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h && ln -nsf /usr/include/tcl${V} /usr/lib/tcl${V}/include && ln -sf libtcl${V}.so /usr/lib/libtcl.so && ln -sf tclsh${V} /usr/bin/tclsh |
sed -i ...: Le package Tcl assume que la source utilisée pour construire Tcl est toujours gardé autour de la compilation des packages qui dépend de Tcl. Ces commandes sed suppriment la référence au répertoire de construction et les remplacent par des emplacements plus corrects.
install ...: Ces commandes installent les entêtes internes dans un emplacement global.
ln -sf ...: Ces commandes créent des liens symbôliques compatibles.
Le package Tk contient TCL (GUI Toolkit).
Téléchargement (HTTP): http://aleron.dl.sourceforge.net/sourceforge/tcl/tk8.4.4-src.tar.gz
Taille du téléchargement: 3,1 Mo
Estimation de l'espace disque requis: 17,4 Mo
Estimation du temps de construction: 0,41 SBU
Installez Tk en lançant les commandes suivantes:
VERSION=8.4.4 && V=`echo $VERSION | cut -d "." -f 1,2` && DIR=$PWD && cd unix && ./configure --prefix=/usr && make && sed -i "s:${DIR}/unix:/usr/lib:" tkConfig.sh && sed -i "s:${DIR}:/usr/include/tk${V}:" tkConfig.sh && make install && install -d /usr/include/tk${V}/unix && install -m644 *.h /usr/include/tk${V}/unix/ && install -d /usr/include/tk${V}/generic && install -m644 ../generic/*.h /usr/include/tk${V}/generic/ && rm -f /usr/include/tk${V}/generic/{tk,tkDecls,tkPlatDecls}.h && ln -nsf /usr/include/tk${V} /usr/lib/tk${V}/include && ln -sf libtk${V}.so /usr/lib/libtk.so && ln -sf wish${V} /usr/bin/wish |
sed -i ...: Le package Tk assume que la source utilisée pour construire Tk est toujours gardée pour compiler des packages qui dépend de Tk. Ces commandes sed suppriment la référence vers le répertoire de construction et les remplacent par des emplacements globaux.
install ...: Ces commandes installent les entêtes internes à un emplacement global.
ln -sf ...: Ces commandes créent des liens symboliques de compatibilité.
Il existe deux raisons pour installer GCC-2.95.3. La première est que les développeurs du noyau ont certifié que GCC-2.95.3 était leur compilateur préféré pour la compilation du noyau. L'autre raison (plus attrayante) est que certains packages commerciaux à sources fermés et pré-compilés (comme Netscape Navigator, Yahoo Pager) sont liés avec des bibliothèques GCC-2.95.3.
Téléchargement (HTTP): http://ftp.gnu.org/gnu/gcc/gcc-2.95.3.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3.tar.gz
Taille du téléchargement: 9,4 Mo
Estimation de l'espace disque requis: 150 Mo
Estimation du temps de construction: 2,60 SBU
Appliquez les correctifs :
patch -Np1 -i ../gcc-2.95.3-2.patch && patch -Np1 -i ../gcc-2.95.3-no-fixinc.patch && patch -Np1 -i ../gcc-2.95.3-returntype-fix.patch |
L'équipe de développement de GCC recommende de construire dans un répertoire séparé.
mkdir ../gcc-build && cd ../gcc-build |
Configurez GCC pour construire les compilateurs C et C++ et activez les options relatives C++.
../gcc-2.95.3/configure \ --prefix=/opt/gcc-2.95.3 \ --enable-shared --enable-languages=c,c++ \ --enable-threads=posix |
Compilez et installez GCC:
make bootstrap && make install |
Prenez note de la bibliothèque installée.
L=`find /opt/gcc-2.95.3/lib -name "*libstdc++*.so" -type f` && IL=`basename $L` |
Déplacez les bibliothèques C++ vers le répertoire standard des bibliothèques pour éviter d'avoir à ajouter /opt/gcc-2.95.3/lib à /etc/ld.so.conf.
for i in /opt/gcc-2.95.3/lib/*.so*; do mv -f $i /usr/lib; ln -sf /usr/lib/`basename $i` /opt/gcc-2.95.3/lib; done |
Créez les liens symboliques requis par les packages commerciaux et précompilés.
ln -sf $IL /usr/lib/libstdc++-libc6.1-1.so.2 && ln -sf $IL /usr/lib/libstdc++-libc6.2-2.so.3 && ln -sf $IL /usr/lib/libstdc++-libc6.3-2.so.3 |
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Les instructions données ci-dessus créent des liens symboliques de compatibilités que les packages précompilés de BLFS nécessitent. Vous pouvez créer des liens supplémentaires basés sur vos besoins.
Si vous avez seulement besoin des bibliothèques GCC-2.95.3, vous pouvez supprimer /opt/gcc2.95.3.
A chaque fois que vous aurez besoin de GCC-2.95.3 au lieu du compilateur de votre système, ajoutez /opt/gcc2.95.3/bin au début de votre PATH avant de compiler le package concerné.
Le package gcc-2.95.3 contient les compilateurs gcc-2.95.3 C et C++ ainsi que GCC-2.95.3 libstdc++.so requis par certains packages commerciaux pré-compilés.
NASM (l'assembleur Netwide, The Netwide Assembler) est un assembleur 80x86 conçu pour sa portabilité et sa modularité. Il inclut aussi un désassembleur.
Téléchargement (HTTP): http://unc.dl.sourceforge.net/sourceforge/nasm/nasm-0.98.38.tar.bz2
Téléchargement (FTP): ftp://ftp.iasi.roedu.net/pub/mirrors/download.sourceforge.net/nasm/nasm-0.98.38.tar.bz2
Taille du téléchargement: 536 Ko
Estimation de l'espace disque requis: 6,3 Mo
Estimation du temps de construction: 0,14 SBU
Installez NASM en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
Le livre LFS couvre la configuration du réseau en se connectant à un LAN avec une IP statique. Il existe néanmoins d'autres méthodes pour se connecter à des LAN et à d'autres réseaux comme Internet. Nous couvrons les méthodes les plus populaires dans ce chapitre.
Le package PPP contient le démon pppd et le programme chat. Il sert à la connexion vers d'autres machines; souvent à Internet via une connexion vers un FAI (Fournisseur d'Accès à Internet).
Téléchargement (HTTP): http://rz-obrian.rz.uni-karlsruhe.de/download/src/ppp-2.4/ppp-2.4.1.tar.gz
Téléchargement (FTP): ftp://cs.anu.edu.au/pub/software/ppp/ppp-2.4.1.tar.gz
Taille du téléchargement: 524 Ko
Estimation de l'espace disque requis: 4,1 Mo
Estimation du temps de construction: 0,09 SBU
Correctif requis si vous avez l'intention d'utiliser RP-PPPoE-3.5 avec la connexion à la demande ou avec le module du noyau PPPoE http://www.linuxfromscratch.org/patches/blfs/5.0/ppp-2.4.1-pppoe-5.patch
Note : Le support de PPP doit être compilé intégré au noyau ou comme module.
Si vous avez besoin du correctif relatif à PPPoE, appliquez-le:
patch -Np1 -i ../ppp-2.4.1-pppoe-5.patch |
Installez PPP en lançant les commandes suivantes:
./configure && make && make install |
/etc/ppp/*
Le démon PPP lui-même réclame très peu de configuration. Le principal problème est de scripter la connexion. Ceci peut se faire en utilisant soit le programme chat qui est livré avec ce package soit en utilisant WvDial-1.53.
Le programme chat définit un échange de conversation entre l'ordinateur et le modem. Son but principal est d'établir la connexion entre le démon point-à-point (PPPD) et le processus pppd distant.
Le package WvDial contient une alternative cohérente, rapide et facile à utiliser à chat et aux scripts pppd. Si vous souhaitez simplement appeler à partir de votre modem sans les problèmes et les horreurs liés à chat, alors vous voudrez ceci.
Téléchargement (HTTP): http://open.nit.ca/download/wvdial-1.53.tar.gz
Téléchargement (FTP): ftp://ftp.ing-steen.se/pub/unix/unsort/wvdial-1.53.tar.gz
Taille du téléchargement: 66 Ko
Estimation de l'espace disque requis: 2.3 Mo
Estimation du temps de construction: 0,06 SBU
Installez WvDial en lançant les commandes suivantes:
make PREFIX=/usr && make PREFIX=/usr install |
/etc/wvdial.conf, /etc/ppp/peers/*
touch /etc/wvdial.conf && wvdialconf /etc/wvdial.conf |
wvdialconf teste que vous possédez un modem qui fonctionne, essaie de déterminer sa configuration exacte et vous pose quelques questions concernant le numéro de téléphone de votre FAI, etc. Vous aurez ensuite besoin d'entrer cette information dans le fichier /etc/wvdial.conf.
Ensuite, vous lancez wvdial avec:
wvdial. |
Pour plus d'informations, voir les pages man de wvdialconf, wvdial.conf et wvdial.
DHCP est l'acronyme de Dynamic Host Configuration Protocol (Protocole de Configuration Dynamique des Hôtes). Ce protocole est utilisé par de nombreux sites pour attribuer automatiquement des informations comme les adresses IP, les masques de sous-réseau et les informations de routage aux ordinateurs. Si votre réseau utilise DHCP, vous avez besoin d'un client DHCP pour vous y connecter. DHCP est aussi utilisé par certains modems cable.
Actuellement, nous donnons des instructions d'installation pour deux clients DHCP, dhclient (du package dhcp) et dhcpcd. Nous commençons avec une page montrant comment modifier les scripts de démarrage de LFS pour un support générique de DHCP. Nous présentons ensuite les deux ensembles d'instructions d'installation ainsi que les fichiers de configuration appropriés pour utiliser le client DHCP de votre choix.
/etc/sysconfig/network, /etc/sysconfig/network-devices/ifup-eth0, /etc/sysconfig/network-devices/ifdown-eth0, /etc/sysconfig/network-devices/ifconfig.eth0
Notez que sur cette page et les suivantes, nous utiliserons eth0 comme interface d'exemple. Si vous voulez configurer une interface différente (ou plus d'une), remplacez simplement eth0 avec l'interface que vous souhaitez utiliser.
Ces instructions convertiront les fichiers de configuration de LFS (configuration statique) en une configuration utilisant le protocole DHCP). Notez que interfaces statiques et basées sur DHCP peuvent co-exister sur un système LFS. Pour ce faire, vous devez seulement faire les modifications sur les interfaces qui doivent supporter DHCP. Toutes les instructions sur cette page sont applicables quelque soit le client DHCP que vous souhaitez utiliser.
Si l'interface que vous avez l'intention d'utiliser comme passerelle par défaut va utiliser DHCP, la première étape est de supprimer les variables GATEWAY et GATEWAY_IF de /etc/sysconfig/network. Ceci doit être fait seulement une fois.
cd /etc/sysconfig && cp network network.bak && sed "s/GATEWAY/# GATEWAY/" network.bak > network |
Vous avez ensuite besoin de créer les scripts qui vont surcharger les scripts réseau par défaut et apporter le support de DHCP. Ces deux scripts sont génériques et donc à utiliser avec les deux clients DHCP. Tout d'abord, le script ifup-eth0:
cat > /etc/sysconfig/network-devices/ifup-eth0 << "EOF" #!/bin/sh source /etc/sysconfig/rc || exit source $rc_functions || exit source $network_devices/ifconfig.eth0 || exit echo "Bringing up the eth0 interface..." modprobe eth0 loadproc $DHCP_PROG $DHCP_START EOF |
Puis le script ifdown-eth0:
cat > /etc/sysconfig/network-devices/ifdown-eth0 << "EOF" #!/bin/sh source /etc/sysconfig/rc || exit source $rc_functions || exit source $network_devices/ifconfig.eth0 || exit echo "Bringing down the eth0 interface..." $DHCP_PROG $DHCP_STOP evaluate_retval EOF |
Finalement, nous avons besoin de rendre les scripts exécutables:
chmod 755 /etc/sysconfig/network-devices/ifup-eth0 && chmod 755 /etc/sysconfig/network-devices/ifdown-eth0 |
Le package DHCP fournit à la fois un programme client (appelé dhclient) et un programme serveur pour utiliser DHCP. Si vous voulez l'installer, les instructions se trouvent sur cette page DHCP-3.0pl2. Notez que, si vous n'utilisez que le client, vous n'avez pas besoin de lancer le serveur, et donc vous n'avez besoin ni du script de démarrage ni des liens associés au démon du serveur. Notez que pour utiliser le client, vous devez modifier votre script ethnet comme décrit dans la prochaine section. Néanmoins, vous avez seulement besoin de lancer le serveur DHCP si vous proposez ce service sur un réseau, et vous devez savoir si c'est le cas; dans le cas contraire, ne lancez pas le serveur!
Pour configurer dhclient, vous devez créer les deux fichiers, /etc/sysconfig/network-devices/ifconfig.eth0 et /etc/dhclient.conf.
Tout d'abord, créez le fichier ifconfig.eth0 avec les commandes suivantes (notez que ceci va écraser tout fichier existant):
cd /etc/sysconfig/network-devices && cat > ifconfig.eth0 << "EOF" ONBOOT=yes DHCP_PROG=/sbin/dhclient DHCP_START=<appropriate start parameters> DHCP_STOP=-r EOF |
Pour plus d'informations sur les valeurs appropriées DHCP_START et DHCP_STOP, examinez la page main pour dhclient.
Ensuite, vous devez créer le fichier /etc/dhclient.conf en utilisant la commande suivante:
cat > /etc/dhclient.conf << "EOF" # dhclient.conf interface "eth0"{ prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; } # end dhclient.conf EOF |
Le package dhcpcd contient le client dhcpcd. Il est utile pour connecter votre ordinateur à un réseau utilisant DHCP pour assigner les adresses réseau.
Téléchargement (HTTP): http://www.phystech.com/ftp/dhcpcd-1.3.22-pl4.tar.gz
Téléchargement (FTP): ftp://ftp.phystech.com/pub/dhcpcd-1.3.22-pl4.tar.gz
Taille du téléchargement: 145 Ko
Estimation de l'espace disque requis: 868 Ko
Estimation du temps de construction: 0,04 SBU
Installez dhcpcd en lançant les commandes suivantes:
patch -Np1 -i ../dhcpcd-1.3.22-pl4-fhs.patch && ./configure --prefix="" --sysconfdir=/var/lib && make && make install |
patch -Np1 -i ../dhcpcd-1.3.22-pl4-fhs.patch : Dhcpcd non corrigé place tous les fichiers de configuration et tous les fichiers temporaires dans /etc/dhcpc. Ceci devient très ennuyant quand dhcpcd vous dit qu'il est lancé alors que ce n'est pas le cas. Vous regardez dans /var/run pour le fichier PID, mais il n'y est pas, le fichier PID qui doit être supprimé est dans /etc/dhcpc. Ce correctif permet à ce programme d'être compatible avec FHS, mais plus important, place ces fichiers où vous vous attendez qu'ils soient.
--prefix="" : Il peut y avoir une bonne raison pour abandonner la convention habituelle de BLFS qui consiste à utiliser --prefix=/usr. Si vous installez DHCP, il se peut qu'il soit nécessaire lors du démarrage et /usr peut être un montage réseau. Dans ce cas, dhcpcd ne serait pas disponible car étant sur le réseau ! Donc, suivant votre situation, vous pouvez vouloir l'installer dans /sbin ou /usr/sbin. Cette commande l'installe dans /sbin.
--sysconfdir=/var/lib : Cette commande installe les fichiers de configuration dans le répertoire /var/lib.
--mandir=/usr/share/man : Cette commande installe les pages man dans le répertoire /usr/share/man.
/var/lib/dhcpcd/*
Pour configurer dhcpcd, créez le fichier the ifconfig.eth0 avec les commandes suivantes (notez que ceci va écraser tous les fichiers existants):
cd /etc/sysconfig/network-devices && cat > ifconfig.eth0 << "EOF" ONBOOT=yes DHCP_PROG=/sbin/dhcpcd DHCP_START=<appropriate start parameters> DHCP_STOP=-k EOF |
Pour plus d'informations sur les valeurs appropriées DHCP_START et DHCP_STOP, examinez la page man pour dhcpcd.
dhcpcd est une implémentation du client DHCP comme spécifié dans les RFC2131 et RFC1541 (dépendant des options spécifiées).
D'autres méthodes permettant de se connecter à de grands réseaux sont entre autres les interfaces ISDN et PPPoE. Ce dernier est discuté ici. Des pages sur l'ISDN (ou sur d'autres lorsque le besoin se fait sentir) sont toujours les bienvenues et seront incluses dans des futures versions du livre suivant leurs disponibilités.
Le package Roaring Penguin PPPoE contient à la fois un client et un composant server fonctionnant avec le client. Le client vous permet de vous connecter à de grands réseaux utilisant le protocole PPPoE, commun parmi les fournisseurs ADSL. Le composant serveur fonctionne avec le client, vous permettant de configurer d'autres clients réclamant une configuration.
Téléchargement (HTTP): http://www.roaringpenguin.com/products/rp-pppoe/rp-pppoe-3.5.tar.gz
Téléchargement (FTP): ftp://ftp.rutgers.edu/pub/slackware/slackware_source/n/rp-pppoe/rp-pppoe-3.5.tar.gz
Taille du téléchargement: 185 Ko
Estimation de l'espace disque requis: 2.2 Mo
Estimation du temps de construction: 0,05 SBU
Si vous pensez utiliser la connexion à la demande ou le mode noyau PPPoE, assurez-vous que vous avez appliqué le correctif lors de l'installation de PPP-2.4.1. Des informations supplémentaires sur le mode noyau PPPoE est disponible dans rp-pppoe-3.5/doc/KERNEL-MODE-PPPOE.
Installez RP-PPPoE en lançant les commandes suivantes:
cd src && ./configure && make && make install |
Ce sont les commandes d'installation standards utilisant le préfixe /usr. Vous pouvez de manière optionnelle utiliser le script go à la base du répertoire des sources pour lancer les mêmes commandes, qui sont ensuite immédiatement suivies du script adsl-setup.
/etc/ppp/pppoe.conf, /etc/ppp/firewall-standalone, /etc/ppp/firewall-masq, /etc/ppp/pppoe-server-options, /etc/resolv.conf, /etc/ppp/pap-seecrets, /etc/ppp/chap-secrets
Pour configurer RP-PPPoE après l'installation, vous devez lancer le script adsl-setup.
Lors de la configuration de votre connexion, vous aurez besoin d'avoir les informations des serveurs de noms, ainsi que votre nom d'utilisateur et votre mot de passe. Il vous sera aussi demandé si vous souhaitez configurer une connexion à la demande ou une connexion permanente. Si votre fournisseur d'accès ne vous charge pas à la minute, il est généralement bon d'avoir un script de démarrage gérant la connexion pour vous. Vous pouvez, bien sûr, choisir de ne pas installer le script suivant et de lancer votre connexion manuellement avec le script adsl-start.
Utilisez les commandes suivantes pour créer le script de démarrage optionnel adsl:
cat > /etc/rc.d/init.d/adsl << "EOF" #!/bin/bash # Début $rc_base/init.d/adsl # Basé sur le script sysklogd à partir de LFS-3.1 et précédent. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org # script adsl écrit par DJ Lucas - dj@lucasit.com source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Lancement de l'interface ADSL..." /usr/sbin/adsl-start evaluate_retval ;; stop) echo "Arrêt de l'interface ADSL..." /usr/sbin/adsl-stop evaluate_retval ;; restart) $0 stop sleep 1 $0 start ;; status) /usr/sbin/adsl-status ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # End $rc_base/init.d/adsl EOF chmod 755 /etc/rc.d/init.d/adsl |
Maintenant, créez les liens symboliques nécessaires:
ln -sf ../init.d/adsl /etc/rc.d/rc0.d/K49adsl && ln -sf ../init.d/adsl /etc/rc.d/rc1.d/K49adsl && ln -sf ../init.d/adsl /etc/rc.d/rc2.d/K49adsl && ln -sf ../init.d/adsl /etc/rc.d/rc3.d/S24adsl && ln -sf ../init.d/adsl /etc/rc.d/rc4.d/S24adsl && ln -sf ../init.d/adsl /etc/rc.d/rc5.d/S24adsl && ln -sf ../init.d/adsl /etc/rc.d/rc6.d/K49adsl |
Le package RP-PPPoE adsl-setup, adsl-start, adsl-status, adsl-stop, pppoe, pppoe-relay, pppoe-server et pppoe-sniff.
Un script pour configurer le client. La configuration est alors stockée dans /etc/ppp/pppoe.conf.
Ces applications sont des bibliothèques de support pour d'autres applications du livre. Il est peu probable que vous n'installiez que ces bibliothèques, vous trouverez généralement un lien vous référant à ce chapitre pour satisfaire une dépendance d'autres applications.
Le package cURL contient curl et ses bibliothèques de support. Il est utile pour transférer des fichiers par une syntaxe URL. Par exemple, curl http://curl.haxx.se/download/curl-7.10.7.tar.gz > curl-7.10.7.tar.gz va télécharger cette archive tar dans le répertoire courant. Cette capacité à télécharger et rediriger les fichiers peut être incorporée dans d'autres programmes pour ajouter le support de fonctions comme le 'streaming media'.
Téléchargement (HTTP): http://curl.haxx.se/download/curl-7.10.7.tar.bz2
Téléchargement (FTP): ftp://ftp.sunet.se/pub/www/utilities/curl/curl-7.10.7.tar.bz2
Taille du téléchargement: 964 Ko
Estimation de l'espace disque requis: 24,3 Mo
Estimation du temps de construction: 0,43 SBU
Installez cURL en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
curl est un client qui peut récupérer et envoyer des documents à partir des protocoles suivants: HTTP, HTTPS (nécessite openssl-0.9.7c), FTP, GOPHER, DICT, TELNET, LDAP (nécessite OpenLDAP-2.1.22) ou FILE.
curl-config affiche des informations sur la dernière compilation, comme les bibliothèques liées et la configuration du préfixe.
Le package WvStreams contient les bibliothèques libwvutils, libwvstreams et libwvcrypto. Elles sont requises pour compiler wvdial.
Téléchargement (HTTP): http://open.nit.ca/download/wvstreams-3.70.tar.gz
Téléchargement (FTP): ftp://ftp.ing-steen.se/pub/unix/unsort/wvstreams-3.70.tar.gz
Taille du téléchargement: 178 Ko
Estimation de l'espace disque requis: 11,5 Mo
Estimation du temps de construction: 0,17 SBU
Installez WvStreams en lançant les commandes suivantes:
patch -Np1 -i ../wvstreams-3.70-wvcrypto.patch && patch -Np1 -i ../wvstreams-3.70-wvresolver.patch && make PREFIX=/usr LDFLAGS="-lcrypt" && make PREFIX=/usr install |
make PREFIX=/usr LDFLAGS="-lcrypt" : Ceci corrige les problèmes de libwvstreams avec la bibliothèque cryptographique d'OpenSSL.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package GNet contient une bibliothèque réseau simple. C'est utile pour utiliser les sockets TCP, les multicast UDP et IP, les recherches asynchrones DNS et plus encore.
Téléchargement (HTTP) : http://gnetlibrary.org/src/gnet-2.0.4.tar.gz
Téléchargement (FTP) : ftp://ftp.man.olsztyn.pl/pub/linux/slackware/slackware-current/source/l/gnet/gnet-2.0.4.tar.gz
Taille du téléchargement : 448 Ko
Estimation de l'espace disque requis : 9,6 Mo
Estimation du temps de construction : 0,18 SBU
Installez GNet en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
Le package libsoup contient une bibliothèque d'implémentation de HTTP en C. Elle est utile pour accéder aux serveurs HTTP dans un mode asynchrone complet.
Téléchargement (HTTP) : http://ftp.gnome.org/pub/gnome/sources/libsoup/1.99/libsoup-1.99.23.tar.bz2
Téléchargement (FTP) : ftp://ftp.gnome.org/pub/gnome/sources/libsoup/1.99/libsoup-1.99.23.tar.bz2
Taille du téléchargement : 220 Ko
Estimatation de l'espace disque requis : 6,3 Mo
Estimation du temps de construction : 0,14 SBU
Installez libsoup en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
Les bibliothèques libsoup apportent des fonctions pour des connexions asynchrones HTTP.
Les personnes, commençant à connaître Unix, ont tendance à poser la question "Pourquoi voudrais-je un navigateur en mode texte? Je vais compiler X et utiliser Konqueror/Mozilla/Whatever!". Ceux qui s'occupent de ce type de système depuis un bon moment savent que lorsque vous arrivez à casser l'installation de votre navigateur graphique et que vous avez besoin de chercher de l'information sur le web, un navigateur basé sur une console vous sauvera. Aussi, certaines personnes préfèrent utiliser un de ces navigateurs comme moyen principal de surfer; soit pour ménager la bande passante, que génèrent les images, soit parce qu'ils utilisent un système vocal qui peut lire les pages pour eux (utile en particulier pour les mal voyants ou les aveugles). Nous disposons actuellement d'instructions d'installation pour deux navigateurs console:
Links est un navigateur texte pour le web. Il inclut le support des tables, cadres, dispose du téléchargement de l'arrière-plan, peut affiche les couleurs et a bien d'autres fonctionnalités.
Téléchargement (HTTP): http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/download/links-2.1pre14.tar.bz2
Téléchargement (FTP): ftp://atrey.karlin.mff.cuni.cz/pub/local/clock/links/links-2.1pre14.tar.bz2
Taille du téléchargement: 3,6 Mo
Estimation de l'espace disque requis: 26 Mo
Estimation du temps de construction: 0,33 SBU
Installez Links en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
--enable-graphics : Ajoutez cette option si vous voulez utiliser Links en mode graphique. Vous aurez aussi besoin d'activer le support du framebuffer dans votre noyau et d'installer gpm-1.20.1 ou d'installer une des bibliothèques grphiques supportées.
~/.links/*
Links enregistre sa configuration dans un fichier, par utilisateur, stocké dans le répertoire ~/.links. Ces fichiers sont créés automatiquement lorsque links est lancé.
Lynx est un navigateur web texte.
Téléchargement (HTTP): http://lynx.isc.org/release/lynx2.8.4.tar.bz2
Téléchargement (FTP): ftp://ftp.netbuddy.org/linux/lynx2.8.4.tar.bz2
Taille du téléchargement: 1,9 Mo
Estimation de l'espace disque requis: 16 Mo
Estimation du temps de construction: 1,66 SBU
Installez Lynx en lançant les commandes suivantes.
./configure --prefix=/usr --libdir=/etc --with-ssl --with-zlib && make && make install && make DOCDIR=/usr/share/doc/lynx-2.8.4/lynx_doc \ HELPDIR=/usr/share/doc/lynx-2.8.4/lynx_help install-doc && make DOCDIR=/usr/share/doc/lynx-2.8.4/lynx_doc \ HELPDIR=/usr/share/doc/lynx-2.8.4/lynx_help install-help && sed s/"t\/etc"/"t\/usr\/share\/doc\/lynx\-2\.8\.4"/ \ /etc/lynx.cfg > /etc/lynx.bak && mv /etc/lynx.bak /etc/lynx.cfg |
--libdir=/etc : Pour une quelconque raison, Les habituels configure et make pour lynx utilise libdir comme préfixe pour le fichier de configuration. Nous le mettons à /etc pour que le fichier de configuration du système soit /etc/lynx.cfg.
--with-ssl : Ceci active le support de SSL lié dans lynx.
--with-zlib : Ceci active le support de zlib dans Lynx.
DOCDIR=... HELPDIR=... : Nous positionnons ces variables pour éviter d'installer les fichiers d'aide et de documentation sous /etc.
sed... mv /etc/lynx.bak /etc/lynx.cfg : Cette commande sed modifie le fichier /etc/lynx.cfg de manière à ce qu'il cherche les fichiers d'aide au bon endroit.
/etc/lynx.cfg
Différents paramétrages tels que les proxies peuvent être placés dans le fichier global du système lynx.cfg disponible dans /etc.
w3m est un navigateur web en texte.
Téléchargement (HTTP): http://unc.dl.sourceforge.net/sourceforge/w3m/w3m-0.4.1.tar.gz
Téléchargement (FTP): ftp://sunsite.ccu.edu.tw/pub15/sourceforge/w/w3m/w3m-0.4.1.tar.gz
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 8,2 Mo
Estimation du temps de construction: 0,20 SBU
Nous configurons w3m pour utiliser le modèle 'monster', qui inclut couleur, menu, souris, cookie et le support SSL. D'autres modèles incluent:
baby - minimum vital
little - support couleur et menu
mouse - support couleur, menu et souris
cookie - support couleur, menu, souris et cookie
Installez w3m en lançant les commandes suivantes:
./configure -yes -lang=en -model=monster -prefix=/usr && make && make install |
./configure -yes : Réinitialise tous les paramètres à leur valeur par défaut.
-lang=en : Met l'anglais en tant que langue par défaut.
-model=monster : Ceci met en place le modèle de construction monster. Des modèles alternatifs sont discutés ci-dessous.
Ces applications sont généralement des applications clients utilisées pour accéder au serveur approprié local ou tout autour du monde. Tcpwrappers et portmap sont des programmes de support pour des démons qui pourraient être lancer sur votre machine.
Le package NcFTP contient une interface puissante et flexible pour le standard internet FTP. Il a été créé pour remplacer tous les programmes ftp.
Téléchargement (FTP) :ftp://ftp.ncftp.com/ncftp/ncftp-3.1.6-src.tar.bz2
Taille du téléchargement : 396 ko
Estimation de l'espace disque requis : 5,2 Mo
Estimation du temps de construction : 0,26 SBU
Il existe deux façons de construire NcFTP. La première façon (optimale) place la plupart des fonctionnalités dans une bibliothèque partagée et ensuite construit et installe le programme lié avec cette bibliothèque. La deuxième méthode lie simplement toutes les fonctionnalités dans le binaire en statique. Ceci ne rend pas la bibliothèque dynamique disponible pour être liée avec d'autres applications. Vous devez choisir la méthode qui vous convient le mieux. Notez que la deuxième méthode ne crée pas un binaire lié complètement statiquement; seules les parties de libncftp sont liées statiquement, dans ce cas. Sachez que la construction et l'utilisation de la bibliothèque partagée est soumise à la license Clarified Artistic License; néanmoins, développer des applications utilisant cette bibliothèque partagée est soumis à une autre license.
Pour installer NcFTP en utilisant la première méthode (optimale), lancez les commandes suivantes :
./configure --prefix=/usr && cd libncftp && make shared && make soinstall && cd .. && make && make install |
Pour installer NcFTP en utilisant la seconde méthode (avec les fonctionnalités de libncftp liées statiquement), lancez les commandes suivantes :
./configure --prefix=/usr && make && make install |
cd libncftp && make shared && make soinstall |
~/.ncftp/*; et spécialement ~/.ncftp/prefs_v3
La plupart de la configuration de NcFTP est faite avec le programme et les fichiers de configuration sont traités automatiquement. Une exception à ceci est ~/.ncftp/prefs_v3. Il existe de nombreuses options à modifier, comme:
yes-i-know-about-NcFTPd=yes |
Il existe d'autres options dans le fichier prefs_v3. La plupart d'entre elles se comprennent toutes seules.
Le package NcFTP contient ncftp, ncftpbatch, ncftpbookmarks, ncftpget, ncftpls, ncftpput et ncftpspooler.
Le client ssh est un remplacement sécurisé de telnet. Si vous voulez l'installer, les instructions sont disponibles dans le Chapitre 23 - OpenSSH-3.7.1p2. A noter que si vous souhaitez utiliser seulement le client, vous n'avez pas besoin de lancer le serveur et donc vous n'avez pas non plus besoin des scripts de démarrage et des liens. En accord avec les bonnes pratiques, lancez le serveur uniquement si vous en avez besoin (et si vous ne savez pas si vous en avec, ou non, besoin, c'est qu'à priori, vous n'en avez pas besoin!).
rsync est un utilitaire pour des transferts de fichiers rapides et incrémentaux. Si vous voulez l'installer, les instructions sont disponibles dans le chapitre 23 - rsync-2.5.6. Notez que si vous souhaitez seulement installer le client, vous n'avez pas besoin de lancer le serveur et donc vous n'avez pas besoin du script de démarrage et des liens. En accord avec les bonnes pratiques, lancez le serveur seulement si vous en avez besoin (et si vous ne savez pas si vous en avez besoin, il est fort probable que vous ne devriez pas !).
CVS est un Système de Contrôle de Version. C'est un système de contrôle de version utile pour les projets utilisant un dépôt central pour conserver leurs fichiers puis tracer toutes les modifications faites à ces fichiers. Les instructions installent le client utilisé pour manipuler le dépôt, la création d'un dépôt est couverte sur cvsserver.
Téléchargement (HTTP): http://gd.tuwien.ac.at/opsys/linux/sf/s/scmlinux/cvs-1.11.6.tar.bz2
Téléchargement (FTP): ftp://ftp.cvshome.org/pub/release/stable/cvs-1.11.6/cvs-1.11.6.tar.bz2
Taille du téléchargement: 2,1 Mo
Estimation de l'espace disque requis: 14 Mo
Estimation du temps de construction: 0,37 SBU
Installez cvs en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
~/.cvsrc, ~/.cvswrappers
~/.cvsrc est le fichier de configuration principal de CVS. Ce fichier est utilisé par les utilisateurs pour spécifier des valeurs par défaut pour les différentes commandes cvs, par exemple pour faire que toutes les commandes cvs diff soient lancées avec l'option -u, un utilisateur ajoutera diff -u dans son fichier .cvsrc.
~/.cvswrappers spécifie des emballages à utiliser en plus de ceux spécifié dans le fichier CVSROOT/cvswrappers dans le dépôt.
Le package Wget contient un utilitaire permettant le téléchargement non interactif de fichiers à partir du Web.
Téléchargement (HTTP): http://ftp.gnu.org/gnu/wget/wget-1.9.1.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/wget/wget-1.9.1.tar.gz
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 6,2 Mo
Estimation du temps de construction: 0,11 SBU
Installez Wget en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
--prefix=/usr : Ceci compile et installe wget dans la hiérarchie /usr au lieu de /usr/local.
--sysconfigdir=/etc : Ceci déplace le fichier de configuration de /usr/etc vers /etc.
wget récupère des fichiers du Web en utilisant les protocoles HTTP, HTTPS et FTP. Il a été créé pour être non interactif, pour des opérations en tâches de fond.
Le package tcpwrappers apporte des programmes d'encapsulation de démon qui rapportent le nom du client réclamant des services réseau et le service réclamé.
Téléchargement (HTTP): http://files.ichilton.co.uk/nfs/tcp_wrappers_7.6.tar.gz
Téléchargement (FTP): ftp://ftp.porcupine.org/pub/security/tcp_wrappers_7.6.tar.gz
Taille du téléchargement: 100 Ko
Estimation de l'espace disque requis: 720 Ko
Estimation du temps de construction: 0,16 SBU
Correctif requis (corrige quelques problèmes de construction et ajoute la construction d'une bibliothèque partagée): http://www.linuxfromscratch.org/patches/blfs/5.0/tcp_wrappers-7.6-shared-lib-plus-plus.patch
Installez tcpwrappers avec les commandes suivantes :
patch -Np1 -i ../tcp_wrappers-7.6-shared-lib-plus-plus.patch && make REAL_DAEMON_DIR=/usr/sbin STYLE=-DPROCESS_OPTIONS linux && make install |
/etc/hosts.allow, /etc/hosts.deny
Protections des fichiers: le wrapper, tous les fichiers utilisés par le wrapper, et tous les répertoires composant le chemin amenant à ces fichiers doivent être accessibles mais pas en écriture pour les utilisateurs non privilégiés (mode 750 ou mode 555). Ne pas installez le wrapper set-uid.
Ensuite, réalisez les éditions suivantes sur les fichiers de configuration /etc/inetd.conf :
finger stream tcp nowait nobody /usr/sbin/in.fingerd in.fingerd |
devient :
finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd |
Note : Le serveur finger est utilisé comme exemple ici.
Des changements similaires doivent être fait si xinetd est utilisé, le point important étant d'appeler /usr/sbin/tcpd au lieu du démon du service directement, et de passer le nom du démon à tcpd.
tcpd est le démon principal de contrôle d'accès pour tous les services internet, que inetd ou xinetd va lancer à la place des démons demandés.
tcpdchk est un outil pour examiner la configuration du wrapper tcpd et de rapporter les problèmes qui en découlent.
tcpdmatch est utilisé pour prédire comment le wrapper tcpd gèrera une requête spécifique pour un service.
try-from peut être appelé via une commande shell distante pour trouver si le nom d'hôte et l'adresse sont correctement reconnus.
safe_finger est un wrapper pour l'utilitaire finger pour procurer des recherches de noms inverses automatiques.
Le package portmap est un remplacement sécurisé du package original SUN de portmap. Portmap est utilisé pour envoyer des requêtes aux démons RPC tels que NFS et NIS.
Téléchargement (FTP): ftp://ftp.porcupine.org/pub/security/portmap_5beta.tar.gz
Taille du téléchargement: 20 Ko
Estimation de l'espace disque requis: 250 Ko
Estimation du temps de construction: 0,03 SBU
Installez portmap avec les commandes suivantes:
patch -Np1 -i ../portmap-5beta-compilation-fixes-2.patch && patch -Np1 -i ../portmap-5beta-glibc-errno-fix.patch && make && make install |
Note : L'installation ci-dessus place l'exécutable portmap dans /sbin. Vous pouvez choisir de déplacer le fichier dans /usr/sbin. Si vous le faites, rappellez-vous de modifier le script de démarrage.
/etc/rc.d/init.d/portmap
cat > /etc/rc.d/init.d/portmap << "EOF" #!/bin/sh # Début /etc/rc.d/init.d/portmap source /etc/rc.d/init.d/functions case "$1" in start) echo "Starting RPC Portmap" loadproc /sbin/portmap ;; stop) echo "Stopping Portmap" killproc /sbin/portmap ;; restart) $0 stop /bin/sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac # Fin /etc/rc.d/init.d/portmap EOF chmod 754 /etc/rc.d/init.d/portmap && cd /etc/rc.d/init.d && ln -sf ../init.d/portmap ../rc0.d/K49portmap && ln -sf ../init.d/portmap ../rc1.d/K49portmap && ln -sf ../init.d/portmap ../rc2.d/K49portmap && ln -sf ../init.d/portmap ../rc3.d/S22portmap && ln -sf ../init.d/portmap ../rc4.d/S22portmap && ln -sf ../init.d/portmap ../rc5.d/S22portmap && ln -sf ../init.d/portmap ../rc6.d/K49portmap |
Le package Inetutils contient des clients et des serveurs réseau. L'installation d'Inetutils dans LFS oublie l'installation de nombreux serveurs inclus dans ce package. Les instructions dans BLFS supprime cette déficience.
Téléchargement (HTTP) : http://gd.tuwien.ac.at/gnu/gnusrc/inetutils/inetutils-1.4.2.tar.gz
Téléchargement (FTP) : ftp://ftp.gnu.org/gnu/inetutils/inetutils-1.4.2.tar.gz
Taille du téléchargement : 1018 Ko
Estimation de l'espace disque requis : 2,3 Mo
Estimation du temps de construction : 0,30 SBU
Installez Inetutils en lançant les commandes suivantes :
./configure --prefix=/usr --disable-syslogd \ --with-libexecdir=/usr/sbin --infodir=/usr/share/info \ --sysconfdir=/etc --localstatedir=/var \ --mandir=/usr/share/man --with-wrap && make && make install && mv /usr/bin/ping /bin |
--disable-syslogd : Cette option empêche l'installation par Inetutils d'un démon de journalisation système, qui est installé à partir du livre LFS.
--with-wrap : Cette option rend possible la compilation d'Inetutils avec tcp-wrappers. Oubliez cette option si vous n'installez pas tcp-wrappers.
--disable-whois : Cette option empêche l'installation par Inetutils du client WhoIs car le client inclus est obsolète. Ajoutez cette option si vous souhaitez installer Whois-4.6.7.
--with-pam : Cette option active la compilation d'Inetutils avec Linux-PAM. Ajoutez cette option si vous comptez utiliser PAM.
--disable-servers : Certains serveurs inclus avec Inetutils sont non sécurisés de nature et dans certains cas, une meilleure alternative existe. Vous pouvez choisir cette option et seulement activer les serveurs que vous voulez et éviter ainsi d'installer des serveurs inutiles.
Le package NCPFS contient les outils client et d'administration pour l'utilisation de réseaux Novell.
Téléchargement (HTTP) : http://platan.vc.cvut.cz/ftp/pub/linux/ncpfs/ncpfs-2.2.3.tar.gz
Téléchargement (FTP) : ftp://platan.vc.cvut.cz/pub/linux/ncpfs/ncpfs-2.2.3.tar.gz
Taille du téléchargement: 1,4 Mo
Estimation de l'espace disque requis : 30 Mo
Estimation du temps de construction : 0,52 SBU
Installez NCPFS en lançant les commandes suivantes :
./configure --prefix=/usr --includedir=/usr/include \ mandir=/usr/share/man --datadir=/usr/share && make && make install && make install-dev |
--prefix="": Installe les binaires sur la partition racine de façon à ce qu'ils soient disponibles lors du démarrage. Ceci n'est pas idéal pour tous les systèmes. Si /usr est monté localement, --prefix=/usr pourrait être une meilleure option.
--includedir=/usr/include: Indique à configure de chercher dans /usr/include pour les fichiers d'entêtes. Il indique aussi à make d'installer les entêtes de NCPFS ici.
--mandir=/usr/share/man: Installe les pages man au bon emplacement.
--datadir=/usr/share: Installe correctement les fichiers locale dans /usr/share/.
Note: Si vous n'avez pas besoin du protocole IPX, ou que vous utilisez un package IPX différent, vous pouvez de manière optionnelle passer --disable-ipx et/ou --disable-ipx-tools au script configure pour désactiver ces options.
~/.nwclient
A config file ~/.nwclient should be placed in each user's home directory that intends to use ncpfs. The permissions on this file should be set to 600, for obvious security reasons. The configuration file should contain a sinlge line per server that the user will use. Each line should contain the sever name, the user name, and optionally the password. Below is a sample .nwclient file.
# Begin example ~/.nwclient config file Server1/User1 Password Server2/User1 Server2/Guest1 - # End example .nwclient config file |
The syntax for the .nwclient file is simple, server_name/user_name password. Be extremely careful when creating or editing this file as the client utilities are very picky about syntax. There should always be a space immediately after the username. If this space is substituted by a tab or multiple spaces, you will not get the expected results when attempting to use the ncpfs tools. If no password is supplied, the client utilities will ask for a password when it is needed. If no password is needed, for instance when using a guest account, a single '-' should be put in place of a password.
It should be noted that the ncpmount is not intended to mount individual volumes because each mountpoint creates a separate client connection to the Novell server. Mounting each individual volume separately would be unwise, as mounting all volumes on a server under one mount point, uses only one client connection.
If you need to set up the IPX protocol at boot, you can create the following scripts. These scripts assume IPX will be set up on eth0 and the network frame type is 802.2. You should confirm that these are the correct settings and adjust as necessary.
cat > /etc/sysconfig/network-devices/ifup-ipx0 << "EOF" #!/bin/sh # Begin /etc/sysconfig/network-devices/ifup-ipx0 source /etc/sysconfig/rc || exit source $rc_functions || exit echo "Setting up the IPX protocol on eth0..." /sbin/ipx_interface add eth0 802.2 && /sbin/ipx_configure --auto_interface=on --auto_primary=on evaluate_retval # End /etc/sysconfig/network-devices/ifup-ipx0 EOF cat > /etc/sysconfig/network-devices/ifdown-ipx0 << "EOF" #!/bin/sh # Begin /etc/sysconfig/network-devices/ifdown-ipx0 source /etc/sysconfig/rc || exit source $rc_functions || exit echo "Stoping IPX on the eth0 interface..." /usr/bin/ipx_configure --auto_interface=off --auto_primary=off && /usr/bin/ipx_interface del eth0 802.2 evaluate_retval # End /etc/sysconfig/network-devices/ifdown-ipx0 EOF echo "ONBOOT=yes" > /etc/sysconfig/network-devices/ifconfig.ipx0 chmod 755 /etc/sysconfig/network-devices/ifup-ipx0 chmod 755 /etc/sysconfig/network-devices/ifdown-ipx0 |
Utilitaires client: ncpmount, ncpumount, nprint, nsend, nwpasswd, nwsfind, pqlist, pqrm, pqstat et slist.
Utilitaires de l'administrateur système: ncopy, nwbocreate, nwbols, nwboprops, nwborm, nwbpadd, nwbpcreate, nwbprm, nwbpset, nwbpvalues, nwdir, nwdpvalues, nwfsctrl, nwfsinfo, nwfstime, nwgrant, nwpurge, nwrevoke, nwrights, nwtrustee, nwtrustee2, nwuserlist et nwvolinfo.
Utilitaires pour l'interface IPX: ipx_cmd, ipx_configure, ipx_interface, ipx_internal_net, et ipx_route.
Autres utilitaires: ncpmap et nwauth.
Le package NTP contient un client et un serveur permettant de conserver une synchronisation de l'heure entre différents ordinateurs sur un réseau. Ce package est l'implémentation officielle du protocole NTP.
Téléchargement (HTTP): http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.1.2.tar.gz
Téléchargement (FTP): ftp://ftp.udel.edu/pub/ntp/ntp4/ntp-4.1.2.tar.gz
Taille du téléchargement: 2,2 Mo
Estimation de l'espace disque requis: 19 Mo
Estimation du temps de construction: 0,36 SBU
Installez NTP en lançant les commandes suivantes :
./configure --prefix=/usr && make && make install |
/etc/ntp.conf
Le fichier de configuration suivant définit différents serveurs NTP à utiliser avec le serveur primaire désigné par la balise prefer. Il crée aussi un fichier où ntpd stocke le décalage de fréquence. Comme la documentation inclus avec le package est minuscule, visitez le site NTP, http://www.ntp.org/, pour plus d'informations.
server time-a.nist.gov prefer server time-b.nist.gov server tick.usno.navy.mil driftfile /var/cache/ntp.drift |
Il existe deux options. La première consiste à lancer ntpd continuellement et à lui permettre de synchroniser l'heure de manière graduelle. La deuxième option est de lancer ntpd périodiquement (avec cron) et de mettre à jour l'heure à chaque lancement de ntpd.
Si vous choisissez l'option une, alors créez le script de démarrage /etc/rc.d/init.d/ntp avec les liens symboliques de lancement et d'arrêt :
#!/bin/bash # Début $rc_base/init.d/ntp source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting ntpd..." loadproc ntpd ;; stop) echo "Stopping ntpd..." killproc ntpd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc ntpd ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/ntp |
Si vous préférez lancer ntpd périodiquement, ajoutez la commande suivante au crontab de root :
ntpd -q |
ntpd: Le démon NTP est lancé en tâche de fond et conserve la synchronisation de la date et de l'heure avec les serveurs NTP configurés. Il fonctionne aussi en tant que serveur NTP.
ntpdate: Le programme client NTP initialise la date et l'heure suivant la réponse du serveur NTP. Cette commande est obsolète.
ntp-genkeys: Ce programme génère des fichiers de données cryptographiques utilisés par des outils d'authentification et d'identification NTPv4, comme un client de transfert de fichier ARPANET.
ntpdc et ntpq: Programmes pour demander et initialiser la configuration de ntpd.
ntptrace: Trace une suite de serveurs NTP jusqu'à la source principale.
Ce chapitre contient quelques outils bien utiles lors de problèmes sur le réseau.
Le package Traceroute contient un programme, qui est utilisé pour afficher la route réseau que les paquets prennent pour accéder à un hôte donné. Ceci est un outil standard pour les problèmes réseaux. Si vous êtes dans l'incapacité de vous connecter à un autre système, traceroute peut vous aider à trouver le problème.
Téléchargement (HTTP): http://gd.tuwien.ac.at/platform/sun/packages/solaris/freeware/SOURCES/traceroute-1.4a12.tar.gz
Téléchargement (FTP): ftp://ftp.ee.lbl.gov/traceroute-1.4a12.tar.gz
Taille du téléchargement: 73 Ko
Estimation de l'espace disque requis: 464 Ko
Estimation du temps de construction: 0,02 SBU
Installez Traceroute en lançant les commandes suivantes:
mv Makefile.in Makefile.in.bak && sed 's/-o bin/-o root/' Makefile.in.bak > Makefile.in && ./configure --prefix=/usr && make && make install && make install-man |
sed 's/-o bin/-o root/'... |
make install : Installe traceroute avec l'UID root dans le répertoire /usr/sbin. Ceci permet à tous les utilisateurs d'utiliser traceroute. Pour une sécurité absolue, enlevez le SUID dans les droits du fichier traceroute avec la commande:
chmod 0755 /usr/sbin/traceroute |
Le risque est que, si un problème de sécurité comme un dépassement de tampon est découvert dans le code de Traceroute, un utilisateur standard sur votre système peux obtenir un accès root si votre programme est SUID root. Supprimer le droit SUID rend aussi impossible aux utilisateurs autre que root d'utiliser traceroute, donc décidez de ce qui est bien pour votre situation personnelle.
Maintenant, pour être complètement compatible avec FHS, ce qui est notre but, si vous laissez le binaire traceroute en SUID root, alors vous devez le déplacer sous /usr/bin avec la commande suivante:
mv /usr/sbin/traceroute /usr/bin |
Ceci vous assure que le binaire se trouve dans le chemin (PATH) des utilisateurs non root.
traceroute fait exactement ce qu'il dit : il trace la route que le paquet suit de l'hôte où vous travaillez jusqu'à un autre hôte sur le réseau, en vous indiquant toutes les étapes intermédiaires (les routers) sur son chemin.
Nmap est un utilitaire d'exploration de réseaux et d'audit de sécurité. Il supporte le scan par ping, le scan de ports et les empreintes TCP/IP.
Téléchargement (HTTP): http://download.insecure.org/nmap/dist/nmap-3.30.tar.bz2
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 11 Mo
Estimation du temps de construction: 0,36 SBU
openssl-0.9.7c, pcre-4.3, GTK+-1.2.10 (pour construire l'interface utilisateur) et libpcap
Installez Nmap en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
nmap est un utilitaire pour l'exploration des réseaux et l'audit de sécurité. Il supporte le scan par ping, le scan de port et les empreintes TCP/IP.
Whois est une apllication côté client, qui recherche dans le service du répertoire whois pour des informations sur un nom de domaine particulier.
Téléchargement (HTTP): http://www.linux.it/~md/software/whois_4.6.7.tar.gz
Téléchargement (FTP): ftp://ftp.debian.org/debian/pool/main/w/whois/whois_4.6.7.tar.gz
Taille du téléchargement: 46 Ko
Estimation de l'espace disque requis: 528 Ko
Estimation du temps de construction: 0,01 SBU
Installez Whois en lançant les commandes suivantes:
make && make prefix=/usr install |
whois est une application côté client, qui recherche dans le service du répertoire whois pour des informations sur un nom de domaine particulier.
BIND Utilities n'est pas un package séparé, c'est une collection de programmes client inclus avec BIND-9.2.2. Le package BIND inclut des programmes clients tels que nslookup, dig et host. Si vous installez le serveur BIND, ces programmes seront installés automatiquement. Cette section est pour les utilisateurs n'ayant pas besoin du serveur BIND complet, mais ayant besoin des applications clients.
Téléchargement (HTTP): http://gd.tuwien.ac.at/infosys/servers/isc/bind9/9.2.2/bind-9.2.2.tar.gz
Téléchargement (FTP): ftp://ftp.isc.org/isc/bind9/9.2.2/bind-9.2.2.tar.gz
Taille du téléchargement: 4,8 Mo
Estimation de l'espace disque requis: 47 Mo
Estimation du temps de construction: 0,54 SBU
Installez BIND Utilities en lançant les commandes suivantes :
./configure --prefix=/usr && make -C lib/dns && make -C lib/isc && make -C bin/dig && make -C bin/dig install |
make -C lib/... |
make -C bin/dig |
Les clients mail nous aident à récupérer (Fetchmail), trier (Procmail), lire et écrire des réponses (Nail, Mutt, Pine, Kmail, Balsa, Evolution, Mozilla) aux email.
Les clients de groupes de nouvelles nous aident à récupérer, trier, lire et rédiger des réponses mais ces messages voyagent via USENET (un BBS mondial). utilisant le protocole de transfert des nouvelles (Network News Transfer Protocol ou NNTP).
Le paquet Nail contient un client mail en lignes de commandes, compatible avec la commande mail disponible dans les versions commerciales d'Unix. La commande mail est utile pour écrire des scripts.
Téléchargement (HTTP): http://omnibus.ruf.uni-freiburg.de/~gritter/archive/nail/nail-10.5.tar.gz
Téléchargement (FTP): http://ftp.uni-koeln.de/mail/nail-10.5.tar.gz
Taille du téléchargement: 190 Ko
Estimation de l'espace disque requis: 3,8 Mo
Estimation du temps de construction: 0,11 SBU
Installez Nail en lançant les commandes suivantes. (Note : Si vous voulez que nail soit lié avec openssl, ajoutez --with-openssl à la commande configure mentionnée ci-dessous.)
./configure --prefix=/usr && make && make install && ln -sf nail /usr/bin/mail |
Le package Nail contient nail , un programme compatible avec mail disponible sur les versions commerciales d'Unix.
Le package Procmail contient un processeur autonome de mails. Ceci est utile pour filtrer et trier les mails arrivants.
Téléchargement (HTTP): http://www.procmail.org/procmail-3.22.tar.gz
Téléchargement (FTP): ftp://ftp.procmail.net/pub/procmail/procmail-3.22.tar.gz
Taille du téléchargement: 338 Ko
Estimation de l'espace disque requis: 1,5 Mo
Estimation du temps de construction: 0,38 SBU
Installez Procmail en lançant les commandes suivantes:
make BASENAME=/usr install && make install-suid |
BASENAME=/usr : L'équivalent de ./configure --prefix=/usr pour les installations des autres packages.
make install-suid : Modifie les permissions des fichiers installés.
/etc/procmailrc, ~/.procmailrc
Des recettes doivent êtres écrites et placées dans votre ~/.procmailrc pour être exécutées. La page man de procmailex est l'endroit où commencer pour apprendre l'écriture des recettes.
procmail est un processeur autonome de mail. Il remplit toutes les fonctions d'un MDA (Mail Delivery Agent, Agent de Livraison des Mails).
lockfile est un utilitaire qui peut verrouiller un fichier pour une utilisation exclusive, interactivement ou dans un script.
mailstat affiche un rapport résumé des mails qui ont été filtrés par procmail depuis la dernière fois où mailstat a été lancé.
Le package Fetchmail contient un programme de récupération de mails. "Il retouve les mails sur des serveurs mails distant et les envoie sur votre système local (client), de façon à ce qu'ils puissent être lus par un MUA normal."
Téléchargement (HTTP): http://www.catb.org/~esr/fetchmail/fetchmail-6.2.5.tar.gz
Téléchargement (FTP): ftp://gnome.dti.ad.jp/.1/unix/net/mail/fetchmail/fetchmail-6.2.5.tar.gz
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 5,8 Mo
Estimation du temps de construction: 0,14 SBU
Installez Fetchmail en lançant les commandes suivantes:
./configure --prefix=/usr --with-ssl --enable-fallback=procmail && make && make install |
--with-ssl : Ceci active SSL, si celui-ci est trouvé, de manière à ce qu'il puisse gérer des connexions avec des serveurs sécurisés POP3 et IMAP.
--enable-fallback=procmail : Ceci indique à Fetchmail d'envoyer les mails arrivant à Procmail pour que celui-ci les délivre au cas où votre serveur mail, port 25, n'est pas présent ou ne réponds pas.
~/.fetchmailrc
set logfile /var/log/fetchmail.log set no bouncemail set postmaster root poll SERVERNAME : user "username" pass "password"; mda "/usr/bin/procmail -f %F -d %T"; |
Est un exemple de configuration qui devrait suffire pour la plupart des gens. Vous pouvez ajouter autant d'utilisateurs et de serveurs que vous voulez en utilisant la même syntaxe.
man fetchmail : Cherchez la section en bas nommée CONFIGURATION EXAMPLES, il donne aussi quelques exemples rapides. Il existe un nombre incalculable d'options de configuration que vous pouvez utiliser une fois que vous vous y êtes habitué.
Lors de son exécution, il va lire le fichier ~/.fetchmailrc de l'utilisateur et télécharger les mails appropriés.
Ce programme procure une interface Tk pour rendre beaucoup plus simple la configuration du fichier ~/.fetchmailrc. Néanmoins, il requiert Python, et vous devez avoir le module Tkinker.
Le package Mutt contient un client mail (MUA, Mail User Agent). Ceci est utile pour lire, écrire, répondre et supprimer des emails.
Téléchargement (HTTP): http://gd.tuwien.ac.at/infosys/mail/mutt/mutt-1.4.1i.tar.gz
Téléchargement (FTP): ftp://ftp.mutt.org/mutt/mutt-1.4.1i.tar.gz
Taille du téléchargement: 2,5 Mo
Estimation de l'espace disque requis: 12 Mo
Estimation du temps de construction: 0,35 SBU
Mutt requiert un groupe nommé 'mail'. Vous pouvez ajouter ce groupe, si il n'existe pas, avec cette commande:
groupadd mail |
Si vous n'avez pas intallé un MTA, tel que Postfix-2.0.16 ou Sendmail-8.12.10, vous avez besoin de modifier le propriétaire de /var/mail avec cette commande:
chgrp mail /var/mail |
Installez Mutt en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc & & make && make install |
--sysconfdir=/etc : Ceci installe les fichiers de configuration dans /etc au lieu de /usr/etc.
/etc/Muttrc, ~/.muttrc, /etc/mime.types, ~/.mime.types.
Aucun changement dans ces fichiers n'est nécessaire pour commencer à utiliser Mutt. Quand vous serez prêt à faire des modifications, la page man de muttrc est un bon point de départ.
Pour utiliser GnuPG, utilisez la commande suivante :
cat /usr/share/doc/mutt/samples/gpg.rc >> ~/.muttrc |
mutt est un MUA (Mail User Agent, soit un client pour la lecture de courriers électroniques) qui vous permet de lire, écrire et supprimer vos courriers électoniques.
Le package Pine contient le MUA Pine et divers démons pour les différents protocoles mail, en plus de quelques programmes d'édition/navigation de fichiers/répertoires.
Téléchargement (HTTP): http://mirror.sit.wisc.edu/pub/net/mail/pine/pine4.58.tar.bz2
Téléchargement (FTP): ftp://ftp.cac.washington.edu/pine/pine4.58.tar.bz2
Taille du téléchargement: 2,7 Mo
Estimation de l'espace disque requis: 60 Mo
Estimation du temps de construction: 0,73 SBU
Installez Pine en lançant les commandes suivantes:
patch -Np1 -i ../pine-4.58-fhs.patch && ./build DEBUG=-O MAILSPOOL=/var/mail \ SSLDIR=/usr SSLCERTS=/etc/ssl/certs slx && cp doc/{pine,pico,rpdump,rpload}.1 /usr/share/man/man1 && cd bin && install pine imapd ipop2d ipop3d mailutil mtest pico pilot rpdump \ rpload /usr/bin |
patch -Np1 -i ../pine-4.58-fhs.patch : Ce correctif va permettre à Pine d'utiliser /etc pour les fichiers de configuration.
La procédure de construction de Pine est quelque peu inhabituelle, car les options, habituellement passées comme options à ./configure ou englobées dans $CFLAGS, doivent toutes être passées sur la ligne de commande au script ./build.
./build slx : Pine offre quelques plateformes cobles, slx spécifie Linux en utilisant -lcrypt pour la fonction crypt. Voir le fichier doc/pine-ports file pour plus d'informations et autres options d'authentification.
DEBUG='-Os ' : Cette option permet la compilation d'une version optimisée de pine et de pico qui ne produit aucun fichier de déboguage.
MAILSPOOL=/var/mail : Emplacement des fichiers de mail, /var/mail.
SSLDIR=/usr SSLCERTS=/etc/ssl/certs : Emplacement des fichiers OpenSSL.
cd bin && install pine imapd ipop2d ipop3d mailutil mtest pico pilot rpdump \ rpload /usr/bin Ceci installe Pine.
~/.pinerc
L'exécutable pine n'a besoin d'aucune configuration globale pour être utilisé. Les utilisateurs indiquent leurs options dans ~/.pinerc en utilisant le menu interne de configuration.
pine is l'agent utilisateur pour les mails (MUA) de Pine.
rpload est un utilitaire pour données distantes, utilisé pour convertir les fichiers de configurations ou les carnets d'adresses de Pine en des configurations ou des carnets d'adresses distants.
rpdump est utilisé pour copier les données des fichiers de configuration Pine ou de carnets d'adresses distants sur un fichier local.
slrn est un lecteur de news basé sur slang, capable de lire des groupes de news en local ainsi que des groupes provenant d'un serveur NNTP. De petits groupes locales de news peuvent aussi être créés pour être utilisés avec le programme slrnpull, inclus dans la distribution de slrn.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/slrn/slrn-0.9.7.4.tar.bz2
Téléchargement (FTP): ftp://ftp.uni-koeln.de/news/slrn-0.9.7.4.tar.gz
Taille du téléchargement: 850 Ko
Estimation de l'espace disque requis: 8,1 Mo
Estimation du temps de construction: 0,18 SBU
Installez slrn en lançant les commandes suivantes :
./configure --prefix=/usr --with-slrnpull && make LDFLAGS="-ldl" && make install |
./configure --prefix=/usr : Spécifie /usr pour l'installation au lieu de /usr/local.
./configure --with-slrnpull : Construit l'exécutable slrnpull.
$HOME/.jnewsrc, $HOME/.jnewsrc.time, $HOME/.slrnrc
La première fois que slrn est lancé, le fichier $HOME/.jnewsrc doit être créé. Pour que cette configuration fonctionne, vous devez avoir initialisé une variable d'environnement, NNTPSERVER. Habituellement, elle est exportée dans l'environnement par un script de démarrage comme /etc/profile ou ~/.bashrc. Ici, nous allons juste le placer dans l'environnement de l'étape de configuration. Nous utiliserons le serveur de nouvelles LFS dans cet exemple mais vous pouvez utiliser n'importe quel serveur.
Créez le fichier $HOME/.jnewsrc avec la commande suivante :
NNTPSERVER=news.linuxfromscratch.org \ slrn -f $HOME/.jnewsrc --create |
slrn est un lecteur de news basé sur slang.
slrnpull est utilisé pour récupérer quelques news d'un serveur NNTP pour les lire hors connexion.
Pan-0.14.2 est un programme client pour les news basé sur GTK2.
KNode est un programme client pour les news basé sur QT, disponible sur kdenetwork-3.1.4
KMail est un client mail basé sur QT disponible sur kdenetwork-3.1.4
Balsa-2.0.14 est un client mail basé sur GTK2.
Mozilla-1.5 inclut un client mail et news dans son installation avec quelques notes concernant l'installation de Mozilla Thunderbird, un client mail/news basé sur le code de Mozilla.
Ce chapitre inclut les applications nécessaires au serveur qmail. Les instructions de leur installation sont différentes de la plupart des autres packages de ce livre parce que nous voulons supporter FHS dans tout le livre.
Le package daemontools remplace inetd ou xinetd. La principale raison pour l'utiliser vient du fait qu'il est recommandé de l'utiliser avec qmail et djbdns.
Téléchargement (HTTP): http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
Téléchargement (FTP): ftp://ftp.lug.udel.edu/pub/network/mail/qmail/daemontools-0.76.tar.gz
Taille de téléchargement: 36 Ko
Estimation de l'espace disque requis: 1,8 Mo
Estimation du temps de construction: 0,05 SBU
Installez daemontools en lançant les commandes suivantes :
cd admin/daemontools-0.76 && patch -Np1 -i ../../daemontools-0.76-errno.patch && package/compile && cd package && sed 's|command|usr/sbin|' boot.inittab > boot.inittab~ && mv boot.inittab~ boot.inittab && cd ../command && sed -e 's|/command:/usr/local/bin:/usr/local/sbin:||' \ -e 's|command|usr/sbin|' \ -e 's|/service|/etc/service|g' svscanboot > svscanboot~ && mv svscanboot~ svscanboot && chmod 555 svscanboot && cp * /usr/sbin && cd ../package && cat /etc/inittab boot.inittab > /etc/inittab~ && mv -f /etc/inittab~ /etc/inittab && mkdir /etc/service && telinit Q |
Le package daemontools n'a pas de pages man, donc installez ce package si vous voulez avoir une aide en ligne pour les programmes daemontools :
tar xzvf daemontools-0.76-man.tar.gz && cp daemontools-man/*.8 /usr/share/man/man8 |
La première chose à comprendre pour l'installation de n'importe quel package écrit par Daniel J. Bernstein, et ceci inclut qmail, djbdns et ucspi-tcp en plus de daemontools, est qu'il veux ignorer les standards si son idée de la bonne façon de faire diffère d'un standard particulier. Le professeur Bernstein est un standard en lui-même quand cela touche son propre logiciel.
Il est donc nécessaire de faire quelques modifications de façon à ce que ce soit compatible avec le FHS (Filesystem Hierarchy Standard, ou Standard de la structure du système de fichiers). La plupart des commandes suivantes est dûe à cette difficulté.
cd admin/daemontools-0.76 : Tout d'abord, le package est déballé dans un répertoire admin. Vous trouverez les packages actuels à deux niveaux de répertoire en dessous de ceci.
package/compile : Cette commande compile le code source et prépare les binaires.
Comme nous installons les binaires dans /usr/sbin au lieu de créer un répertoire /command non standard, plusieurs chemins doivent être modifiés :
sed 's|command|usr/sbin|' boot.inittab > boot.inittab~ mv boot.inittab~ boot.inittab |
Dans boot.inittab, /command/svscanboot est modifié par /usr/sbin/svscanboot.
sed -e 's|/command:/usr/local/bin:/usr/local/sbin:||' \ -e 's|command|usr/sbin|' \ -e 's|/service|/etc/service|g' svscanboot > svscanboot~ && |
Ici, différents chemins sont ajustés dans le script svscanboot. Dans notre configuration, svscan vérifiera le répertoire /etc/service au lieu de /service pour les démons à lancer.
cp * /usr/sbin : Nous devons copier manuellement les binaires dans le répertoire /usr/sbin.
cat /etc/inittab boot.inittab > /etc/inittab~ mv -f /etc/inittab~ /etc/inittab |
mkdir /etc/service : Cette commande crée le répertoire de contrôle des daemontools, qui, même vide, doit exister pour que les daemontools puissent fonctionner correctement.
telinit Q : Cette commande demande au processus init de relire son fichier de configuration (inittab) et d'agir selon les changements qui y ont été apportés. Le script svscanboot est lancé.
Le package daemontools contient svscanboot, svscan, supervise, svc, svok, svstat, fghack, pgrphack, readproctitle, multilog, tai64n, tai64nlocal, setuidgid, envuidgid, envdir, softlimit et setlock. Des descriptions plus détaillées peuvent être touvées sur http://cr.yp.to/daemontools.html.
svscanboot est un script appellant svscan et renvoyant la sortie sur readproctitle.
svscan vérifie dans le répertoire service les démons à lancer et lance un processus supervise pour chaque script qu'il trouve en cours d'exécution.
supervise lance le script run que svscan lui a donné et surveille les processus que le script lance, de façon à ce que, si un d'entre eux meure, supervise puisse le relancer.
multilog est un programme d'enregistrements (logging). Il prend la sortie d'un démon et l'ajoute dans un certain nombre de journaux.
envuidgid réalise la même fonction que setuidgid, mais positionne les variables d'environnement UID et GID à la même valeur que l'UID et le GID du compte spécifié.
envdir lance un programme donné avec des variables d'environnement spécifiées par fichiers d'un répertoire.
Le package ucspi-tcp consiste en une suite d'outils qui permettent une création simple de démons client-serveur tcp. tcpserver est une alternative plus sécurisée que inetd. Il a des fonctionnalités intégrées pour des contrôles d'accès par règle, et va gracieusement reporter les connexions lorsqu'une charge maximale configurable a été atteinte, contrairement à inetd. tcpserver est aussi recommandé pour l'utiliser avec qmail, et a été écrit par le même auteur.
Téléchargement (HTTP): http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
Taille du téléchargement: 52 Ko
Estimation de l'espace disque requis: 2 Mo
Estimation du temps de construction: 0,05 SBU
Installez ucspi-tcp en lançant les commandes suivantes :
patch -Np1 -i ../ucspi-tcp-0.88-errno.patch && sed 's|/usr/local|/usr|' conf-home > conf-home~ && mv conf-home~ conf-home && sed 's/bin/sbin/' hier.c > hier.c~ && mv hier.c~ hier.c && make && make setup check |
sed 's|/usr/local|/usr|' conf-home > conf-home~ mv conf-home~ conf-home sed 's/bin/sbin/' hier.c > hier.c~ mv hier.c~ hier.c |
cd /usr/sbin mv tcpclient *@ mconnect delcr addcr tcpcat /usr/bin |
Le package ucspi-tcp contient tcpserver, tcprules, tcprulescheck, argv0, fixcrio, recordio, rblsmtpd, tcpclient, who@, date@, finger@, http@, tcpcat, mconnect, addcr et delcr
Vous pouvez aussi trouver les descriptions détaillées de chaque programme sur http://cr.yp.to/ucspi-tcp/tcpserver.html, mais voici un bref résumé:
tcpserver écoute sur un port donné les demandes de connexions TCP et lance un programme que vous avez choisi en réponse à la connexion.
tcprules compile des règles qui commandent le contrôle d'accès pour tcpserver, dans un format de base de données à accès rapide.
tcprulescheck permet de visualiser comment tcpserver va réagir aux connexions d'une adresse donnée, sans avoir besoin de se connecter à partir de cette adresse. Ceci est utile pour vérifier que les règles de contrôle d'accès que vous utilisez font ce que vous souhaitez.
rblsmtpd est un programme de blocage de spam qui fonctionne en relation avec un démon SMTP et tcpserver.
who@ est un programme de démonstration utilisant tcpclient qui a les fonctionnalités du programme rwho. Il requiert un serveur lançant sysstat sur le port 11.
date est un programme de démonstration utilisant tcpclient qui retournera l'heure système d'un hôte distant qui fait tourner un service de temps (service daytime) sur le port 13.
finger@ est un programme de démonstration utilisant tcpserver qui mimique les fonctionnalités du programme finger. Il requiert un serveur faisant tourner fingerd sur le port 79.
mconnect se connecte à un port TCP, délivre toute entrée spécifiée sur le port, et affiche toute sortie sur ce port.
addcr ajoute des retours chariot dans des fichiers. Ceci et delcr sont utiles pour convertir des formats de fichiers Windows vers Unix.
Les MTA sont des programmes transportant le mail d'une machine à une autre. Le MTA traditionnel est sendmail. Néanmoins, il existe plusieurs autres choix.
Avec les serveurs SMTP, il y a un serveur POP (qpopper) et un serveur IMAP (Courier-IMAP).
Le package Postfix contient un agent de transport du mail (Mail Transport Agent ou MTA). Il est utile pour envoyer des emails à d'autres utilisateurs de votre machine hôte. Il peut aussi être configuré pour etre un serveur central de mail, un agent de relais de mails ou simplement un agent de délivrance de mail local à votre fournisseur d'accès à Internet (FAI).
Téléchargement (FTP): ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.0.16.tar.gz
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 94 Mo
Estimation du temps de construction: 0,29 SBU
Avant de compiler le programme, vous devez créer des utilisateurs et des groupes, qui seront attendu d'être en place lors de l'exécution des scripts d'installation. Ajoutez les utilisateurs et les groupes avec les commandes suivantes:
groupadd postfix && groupadd postdrop && groupadd -g 65534 nogroup && useradd -c postfix -d /dev/null -g postfix -s /bin/false postfix && useradd -c nobody -d /home -g nogroup -s /bin/bash -u 65534 nobody && chown postfix:postfix /var/mail |
Installez Postfix en lançant les commandes suivantes:
make && sh postfix-install daemon_directory=/usr/sbin \ manpage_directory=/usr/share/man \ sample_directory=/usr/share/doc/postfix \ -non-interactive |
L'étape finale d'installation est d'installer la documentation du programme avec cette commande:
cp -rf html/* /usr/share/doc/postfix |
sh postfix-install ... -non-interactive : Nous ne voulons pas que le script d'installation pose des tas de questions donc nous l'appelons avec l'option non intercactive pour qu'il utilise toutes les réponses par défaut (répertoire de destination par défaut).
/etc/aliases, /etc/postfix/main.cf et /etc/postfix/master.cf
cat > /etc/aliases << "EOF" # Début /etc/aliases MAILER-DAEMON: postmaster postmaster: root root: LOGIN # Fin /etc/aliases EOF |
Le fichier /etc/aliases qui vient juste d'être créé, le main.cf et le master.cf doivent être personnalisés pour votre système. Le fichier aliases a besoin de connaître l'identité de votre login non-root pour que les messages adressées à root vous soient transférés au niveau simple utilisateur. Le fichier main.cf a besoin de votre nom d'hôte pleinement qualifié. Toutes ces éditions peuvent être faites avec des commandes sed entrées à la console avec des substitutions de votre nom de login différent de root par [utilisateur] et de votre nom d'hôte pleinement qualifié par [localhost.localdomain]. Vous trouverez le fichier main.cf auto-documenté, donc chargez-le à partir de votre éditeur pour réaliser les changements dont vous avez besoin.
cp /etc/aliases /etc/aliases.bak cp /etc/postfix/main.cf /etc/postfix/main.cf.bak cp /etc/postfix/master.cf /etc/postfix/master.cf.bak sed "s/LOGIN/[user]/" /etc/aliases.bak > /etc/aliases sed "s/#myhostname = host.domain.tld/myhostname = \ [localhost.localdomain]/" \ /etc/postfix/main.cf.bak > /etc/postfix/main.cf /usr/bin/newaliases /usr/sbin/postfix start |
Pour automatiser le lancement de Postfix, utilisez les commandes suivantes pour créer le script init.d:
cat > /etc/rc.d/init.d/postfix << "EOF" #!/bin/sh # Début $rc_base/init.d/postfix # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting Postfix..." loadproc postfix start ;; stop) echo "Stopping Postfix..." loadproc postfix stop ;; reload) echo "Reloading Postfix..." loadproc postfix reload ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|reload|restart}" exit 1 ;; esac # Fin $rc_base/init.d/postfix EOF chmod 755 /etc/rc.d/init.d/postfix |
Créez les liens symboliques vers ce fichier dans le répertoire rc.d avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/postfix ../rc0.d/K25postfix && ln -sf ../init.d/postfix ../rc1.d/K25postfix && ln -sf ../init.d/postfix ../rc2.d/K25postfix && ln -sf ../init.d/postfix ../rc3.d/S35postfix && ln -sf ../init.d/postfix ../rc4.d/S35postfix && ln -sf ../init.d/postfix ../rc5.d/S35postfix && ln -sf ../init.d/postfix ../rc6.d/K25postfix |
Le package Postfix contient bounce , cleanup, error, flush, lmtp, local, mailq, master, newaliases, nqmgr, pickup, pipe, postalias, postcat, postconf, postdrop, postfix, postkick, postlock, postlog, postmap, postqueue, postsuper, qmgr, qmqpd, sendmail, showq, smtp, smtpd, spawn, trivial-rewrite, et virtual.
postfix est le programme qui lance et arrête le système d'envoi de mails.
master est le processus résident qui lance bounce, cleanup, error, flush, lmtp, local, nqmgr, pickup, pipe, qmgr, qmqpd, showq, smtp, smtpd, spawn, trivial-rewrite and virtual sur demande. Ces programmes ne sont pas écrits pour fonctionner avec des commandes utilisateurs.
postqueue implémente l'interface utilisateur de Postfix pour la gestion de la queue. Il implémente toutes les opérations traditionnellement disponibles via la commande sendmail.
sendmail implémente l'interface de compatibilité Postfix vers Sendmail. mailq et newaliases sont des liens symboliques vers sendmail.
postcat affiche le contenu d'un fichier de la queue Postfix dans un format lisible par un humain.
postdrop crée un fichier dans le répertoire maildrop et copie l'entrée standard dans ce fichier.
postkick rends l'utilisation de scripts shell possible en permettant l'accès au système IPC privé du système de mail.
Le package qmail contient le MTA de Dan Bernstein. qmail fournit un accès aux envois/réceptions de courrier électronique.
Téléchargement (HTTP): http://www.qmail.org/qmail-1.03.tar.gz
Téléchargement (FTP): ftp://ftp.comimpex.cz/LINUX/System/qmail-1.03.tar.gz
Taille du téléchargement: 225 Ko
Estimation de l'espace disque requis: 4,6 Mo
Estimation du temps de construction: 0,14 SBU
qmail a besoin de certains comptes utilisateurs et groupes à ajouter avant l'installation de logiciels. Ajoutez les utilisateurs et les groupes avec les commandes suivantes:
mkdir /var/qmail && groupadd nofiles && useradd -g nofiles -d /var/qmail/alias alias && useradd -g nofiles -d /var/qmail qmaild && useradd -g nofiles -d /var/qmail qmaill && useradd -g nofiles -d /var/qmail qmailp && groupadd qmail && useradd -g qmail -d /var/qmail qmailq && useradd -g qmail -d /var/qmail qmailr && useradd -g qmail -d /var/qmail qmails |
Installez qmail en lançant les commandes suivantes:
patch -Np1 -i ../qmail-1.03-errno.patch && make setup check && ./config-fast `hostname` && cd /var/qmail && touch .qmail-postmaster .qmail-mailer-daemon .qmail-root && chmod 644 .qmail-* && ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail && mv /var/qmail/boot/home /var/qmail/rc && for mandir in 1 5 7 8; do mv /var/qmail/man/man$mandir/* \ /usr/man/man$mandir; done && rm -rf /var/qmail/man |
/etc/inetd.conf et les scripts de démarrage
Si inetd est utilisé, la commande suivante va ajouter l'entrée qmaild dans /etc/inetd.conf:
echo "smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env \ tcp-env /var/qmail/bin/qmail-smtpd" >> /etc/inetd.conf |
Si inetd est utilisé, la commande suivante va ajouter l'entrée qmaild dans /etc/xinetd.conf:
cat >> /etc/xinetd.conf << "EOF" service smtp { disable = no id = smtp-local socket_type = stream protocol = tcp wait = no user = qmaild server = /var/qmail/bin/tcp-env server_args = /var/qmail/bin/qmail-smtpd env = RELAYCLIENT= only_from = 127.0.0.1 log_on_failure += USERID } EOF |
Pour automatiser le lancement de qmail, utilisez la commande suivante pour créer le script init.d:
cat > /etc/rc.d/init.d/qmail << "EOF" #!/bin/sh # Début $rc_base/init.d/qmail # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting Qmail..." /var/qmail/rc & ;; stop) echo "Stopping Qmail..." killall qmail-send ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac # Fin $rc_base/init.d/qmail EOF chmod 755 /etc/rc.d/init.d/qmail |
Créez les liens symboliques vers ce fichier à partir du répertoire rc.d avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/qmail ../rc0.d/K25qmail && ln -sf ../init.d/qmail ../rc1.d/K25qmail && ln -sf ../init.d/qmail ../rc2.d/K25qmail && ln -sf ../init.d/qmail ../rc3.d/S35qmail && ln -sf ../init.d/qmail ../rc4.d/S35qmail && ln -sf ../init.d/qmail ../rc5.d/S35qmail && ln -sf ../init.d/qmail ../rc6.d/K25qmail |
Des informations de configuration pour quelques MUA couramment utilisées peuvent être trouvées dans le fichier /var/qmail/doc/INSTALL.mbox. La plupart des MUAs peut être configurée pour utiliser le format Mailbox de qmail en plaçant ceci dans ~/.profile:
MAIL=$HOME/Mailbox; export MAIL |
Le package qmail contient bouncesaying, condredirect, except, forward, maildir2mbox, maildirmake, maildirwatch, mailsubj, preline, qbiff, qreceipt, qmail-clean, qmail-inject, qmail-local, qmail-pop3d, qmail-popup, qmail-qstat, qmail-send, qmail-smtpd et qmail-start.
bouncesaying processes, possibly bouncing, incoming messages.
maildir2mbox moves current email from an maildir-format directory to an mbox-format file.
mailsubj sends a mail message with a subject supplied on the command line. The body of the message is read from standard input.
qmail-start enables mail delivery services, spawning qmail-send, qmail-lspawn, qmail-rspawn, and qmail-clean.
Le package Sendmail contient un agent de transport de courriers électroniques (MTA).
Téléchargement (HTTP): http://www.sendmail.org/ftp/sendmail.8.12.10.tar.gz
Téléchargement (FTP): ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.10.tar.gz
Taille du téléchargement: 1,8 Mo
Estimation de l'espace disque requis: 13 Mo
Estimation du temps de construction: 0,43 SBU
Avant la construction de Sendmail, nous avons besoin de créer des utilisateurs, groupes et répertoires que sendmail utilise avec les commandes suivantes:
groupadd smmsp && groupadd mail && useradd -g smmsp -G mail smmsp && chmod 1777 /tmp && chmod 1777 /var/mail && mkdir /var/spool/mqueue |
Installez Sendmail avec les commandes suivantes:
cat > devtools/Site/site.config.m4 << "EOF" define(`confMANGRP',`root') define(`confMANOWN',`root') define(`confSBINGRP',`root') define(`confUBINGRP',`root') define(`confUBINOWN',`root') EOF cd sendmail && sh Build && cd ../cf/cf && cp generic-linux.mc sendmail.mc && mkdir /etc/mail && sh Build sendmail.mc && sh Build install-cf && cd ../../ && sh Build install |
/etc/mail/*.
echo `hostname` > /etc/mail/local-host-names cat > /etc/mail/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF cd /etc/mail && cp -R /usr/src/sendmail-8.12.10/cf/* . && cp -R /usr/src/sendmail-8.12.10/cf/cf/submit.mc . && cp -R /usr/src/sendmail-8.12.10/cf/cf/sendmail.mc . && newaliases -v |
Pour lancer et arrêter Sendmail lors du démarrage et de l'arrêt du système, créez le script de démarrage sendmail avec les commandes suivantes:
Note : L'option -qNm, où N est le nombre de minutes, contrôle la fréquence dont Sendmail va examiner la queue des mails. Un défaut de cinq minutes est utilisé ici. Les utilisateurs de station individuel pourront vouloir le baisser à une minute, de grandes installations voudront la monter.
cat > /etc/rc.d/init.d/sendmail << "EOF" #!/bin/sh # Début $rc_base/init.d/sendmail # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting sendmail..." loadproc /usr/sbin/sendmail -bs -bd -q5m start ;; stop) echo "Stopping Sendmail..." killproc sendmail ;; status) statusproc sendmail ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac # Fin $rc_base/init.d/sendmail EOF chmod 755 /etc/rc.d/init.d/sendmail |
Créez les liens symboliques des niveaux d'exécution avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/sendmail ../rc0.d/K25sendmail && ln -sf ../init.d/sendmail ../rc1.d/K25sendmail && ln -sf ../init.d/sendmail ../rc2.d/K25sendmail && ln -sf ../init.d/sendmail ../rc3.d/S35sendmail && ln -sf ../init.d/sendmail ../rc4.d/S35sendmail && ln -sf ../init.d/sendmail ../rc5.d/S35sendmail && ln -sf ../init.d/sendmail ../rc6.d/K25sendmail |
Le package Sendmail contient mail.local, rmail, smrsh, editmap, makemap, mailq, newaliases, sendmail, vacation, praliases et mailstats.
Le package Exim contient un agent de transport de courriers électroniques écrit par l'université de Cambridge, et sortie sous la licence GNU Public License.
Téléchargement (HTTP): http://gd.tuwien.ac.at/infosys/mail/exim/exim4/exim-4.24.tar.bz2
Téléchargement (FTP): ftp://ftp.exim.org/pub/exim/exim4/exim-4.24.tar.bz2
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 11 Mo
Estimation du temps de construction: 0,27 SBU
Avant de construire Exim, nous avons besoin de créer un utilisateur et un groupe exim avec les commandes suivantes:
groupadd exim && useradd -d /dev/null -g exim -s /bin/false exim |
Installez Exim avec les commandes suivantes:
sed -e 's/^BIN_DIR.*$/BIN_DIRECTORY=\/usr\/sbin/' src/EDITME | \ sed -e 's/^CONF.*$/CONFIGURE_FILE=\/etc\/exim.conf/' | \ sed -e 's/^EXIM_USER.*$/EXIM_USER=exim/' | \ sed -e 's/^EXIM_MONITOR/#EXIM_MONITOR/' > Local/Makefile && make && make install && ln -s /usr/sbin/exim /usr/sbin/sendmail |
sed -e ... > Local/Makefile: Beaucoup des options de configuration d'Exim sont intégrés. Ici, nous spécifions l'ensemble minimum d'options, BIN_DIRECTORY, CONFIGURE_FILE et EXIM_USER. Nous allons aussi déférer la construction du programme de surveillance d'Exim qui requiert le support de X Window System, en mettant en commentaire la ligne EXIM_MONITOR dans le Makefile.
ln -s exim /usr/sbin/sendmail: Crée un lien vers sendmail pour les applications qui en ont besoin. Exim acceptera la plupart des options de Sendmail.
/etc/exim.conf, /etc/aliases
Créez les fichiers de configuration Exim avec les commandes suivantes:
cat >> /etc/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF exim -v -bi && /usr/sbin/exim -bd -q1m |
Note : Pour protéger un fichier /etc/aliases existant, nous allons lui ajouter ces alias si il existe. Ce fichier doit être vérifié et les alias dupliqués supprimés.
Pour lancer et arrêter exim lors d'un démarrage/arrêt du système, créer le script de démarrage d'exim avec les commandes suivantes:
cat > /etc/rc.d/init.d/exim << "EOF" #!/bin/sh # Début $rc_base/init.d/exim # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting exim..." loadproc /usr/sbin/exim -bd -q1m ;; stop) echo "Stopping exim..." killproc exim ;; status) statusproc exim ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac # Fin $rc_base/init.d/exim EOF chmod 755 /etc/rc.d/init.d/exim |
Créez les liens symboliques des niveaux d'exécution avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/exim ../rc0.d/K25exim && ln -sf ../init.d/exim ../rc1.d/K25exim && ln -sf ../init.d/exim ../rc2.d/K25exim && ln -sf ../init.d/exim ../rc3.d/S35exim && ln -sf ../init.d/exim ../rc4.d/S35exim && ln -sf ../init.d/exim ../rc5.d/S35exim && ln -sf ../init.d/exim ../rc6.d/K25exim |
Le package Exim contient exim, exim_dumpdb, exim_fixdb, exim_tidydb, exinext, exiwhat, exim_dbmbuild, exicyclog, exigrep, eximstats, exiqsumm, exim_lock et exim_checkaccess.
exim est le démon de transport de mail (Mail Transport Agent).
exim_checkaccess indique si une adresse donnée d'un hôte donné est acceptable ou pas.
Le package Qpopper contient un serveur de courrier élecronique POP3.
Téléchargement (HTTP): http://public.www.planetmirror.com/pub/mail/popper/qpopper4.0.5.tar.gz
Téléchargement (FTP): ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.0.5.tar.gz
Taille du téléchargement: 2,2 Mo
Estimation de l'espace disque requis: 9,0 Mo
Estimation du temps de construction: 0,13 SBU
Installez Qpopper avec les commandes suivantes:
./configure --prefix=/usr && make && make install |
Si vous utilisez inetd, la commande suivante va ajouter l'entrée qpopper dans /etc/inetd.conf:
echo "pop stream tcp nowait root /usr/sbin/popper popper" >> \ /etc/inetd.conf && echo "pop 110/tcp" >> /etc/services && killall inetd || inetd && echo "local0.notice;local0.debug /var/log/POP.log" >> \ /etc/syslog.conf && killall -HUP syslogd |
Lancez un killall -HUP inetd pour relire le fichier modifié inetd.conf.
Si vous utilisez xinetd, la commande suivante va ajouter l'entrée qpopper dans /etc/xinetd.conf:
cat >> /etc/xinetd.conf << "EOF" service pop { port = 110 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/sbin/popper server_args = popper } EOF |
Lancez un killall -HUP inetd pour relire le fichier modifié xinetd.conf.
Le package Courier contient un agent de transport de courriers électroniques (MTA). C'est utile pour envoyer des courriers aux autres utilisateurs de votre machine. Il peut aussi être configuré comme serveur central de mail pour votre domaine ou comme agent de relais de courriers. Le package Courier inclut aussi une interface de courriers électroniques basé sur le web, IMAP, IMAP-SSL, POP3 et POP3-SSL. La configuration listée ci-dessous permettra aux utilisateurs PAM et aux utilisateurs virtuels compris dans la base de données MySQL d'accèder à leurs courriers électroniques.
Téléchargement (HTTP): http://osdn.dl.sourceforge.net/sourceforge/courier/courier-0.43.2.tar.bz2
Téléchargement (FTP): ftp://ftp.pu.edu.tw/Unix/Mail/maildrop/courier-0.43.2.tar.bz2
Taille du téléchargement: 3,3 Mo
Estimation de l'espace disque requis: 104 Mo
Estimation du temps de construction: 2,79 SBU
Avant de compiler le programme, vous devez créer les utilisateurs et groupes qui seront attendues lors de l'exécution du script d'installation. Ajoutez les utilisateurs et groupes avec les commandes suivantes:
groupadd courier && useradd -c 'Courier Mail Server' -d /dev/null -g courier -s /bin/false courier |
Installez courier en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc/courier --with-piddir=/var/run \ --libexecdir=/usr/sbin --datadir=/usr/share/courier \ --localstatedir=/var/spool/courier --disable-root-check --with-db=gdbm \ --with-mailuser=courier --with-mailgroup=courier \ --enable-workarounds-for-imap-client-bugs \ --with-ispell=/usr/bin/aspell && make && make install && make install-configure |
--sysconfdir=/etc/courier: Spécifie le répertoire où les fichiers de configuration de Courier sont installés.
--with-piddir=/var/run: Spécifie le répertoire où les fichiers PID de Courier sont stockés lorsque Courier est actif.
--libexecdir=/usr/sbin: libexecdir contient des programmes et bibliothèques qui ne peuvent être directement exécutés à partir de la ligne de commande.
--datadir=/usr/share/courier: Spécifie le répertoire où différents scripts shell, scripts Perl scripts et fichiers de données seront installés.
--localstatedir=/var/spool/courier: Spécifie le répertoire qui contiendra la queue des courriers électroniques et les autres données temporaires. Cette option correspond par défaut au sous-répertoire var par rapport au répertoire spécifié via l'option --prefix.
--disable-root-check: Permet à Courier d'être construit en tant qu'utilisateur root.
--with-db=gbbm: Courier requiert soit GDBM soit DB. GDBM est utilisé si les deux sont présents. Cette option force la sélection de la bibliothèque de bases de données.
--with-mailuser=courier: Tout sauf deux démons Courier s'exécute en tant qu'utilisateur non privilégié. Cette option spécifie l'identifiant de l'utilisateur sous lequel Courier sera installé et exécuté.
--withmailgroup=courier: comme --with-mailuser, mais spécifie l'identifiant du groupe.
--enable-workarounds-for-imap-client-bugs: il existe différents bogues confirmés dans certains clients IMAP qui n'implémentent pas correctement le protocole IMAP4rev1. Cette option active certains contournements pour ces clients IMAP boggués. NOTE: make check échouera si cette option est utilisée. Vous devriez d'abord utiliser configure sans cette option, puis, si tous les tests post-configuration sont un succès, relancer configure avec cette option et recompiler.
--with-ispell=/usr/bin/aspell: Le webmail de Courier peut utiliser un vérificateur d'orthographe si le programme aspell est disponible. Si configure trouve ispell, la vérification d'orthographe est activé. Si aspell ne se troyve pas dans le chemin de recherche actuel, utilisez --with-ispell=programme pour configurer explicitement l'emplacement d'aspell.
/etc/courier/authmysqlrc
Faites les modifications suivantes dans ce fichier si vous utilisez MySQL:
MYSQL_SERVER localhost MYSQL_USERNAME courier MYSQL_PASSWORD (your choice) MYSQL_SOCKET /tmp/mysql.sock MYSQL_PORT 3306 MYSQL_DATABASE courier-mail MYSQL_USER_TABLE users MYSQL_CLEAR_PWFIELD clear DEFAULT DOMAIN (your domain) MYSQL_QUOTA_FIELD quota |
Si vous utilisez PAM:
cat > /etc/pam.d/esmtp << "EOF # Début /etc/pam.d/esmtp auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin /etc/pam.d/esmtp EOF cat > /etc/pam.d/pop3 << "EOF # Début /etc/pam.d/pop3 auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin /etc/pam.d/pop3 EOF cat > /etc/pam.d/imap << "EOF # Début /etc/pam.d/imap auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin /etc/pam.d/imap EOF cat > /etc/pam.d/webmail << "EOF # Début /etc/pam.d/webmail auth required pam_unix.so try_first_pass account required pam_unix.so session required pam_unix.so # Fin /etc/pam.d/webmail EOF |
Cette commande crée la base de données mysql d'authentication:
mysqladmin -uroot -p[password] create courier-mail |
Cette commande initialise la table users pour la base de données courier-mail:
mysql -uroot -p[password] courier-mail CREATE TABLE users ( id char(128) DEFAULT '' NOT NULL, crypt char(128) DEFAULT '' NOT NULL, clear char(128) DEFAULT '' NOT NULL, name char(128) DEFAULT '' NOT NULL, uid int(10) unsigned DEFAULT '65534' NOT NULL, gid int(10) unsigned DEFAULT '65534' NOT NULL, home char(255) DEFAULT '' NOT NULL, quota char(255) DEFAULT '' NOT NULL, KEY id (id(128)) ); |
Ceci ajoutera l'utilisateur courier que nous avons spécifié précédemment dans le fichier authmysql:
mysql -uroot -p[password] mysql grant all privileges on *.* to courier@localhost identified by '[password]' with grant option; |
Configuration générale pour le courrier
Vous aurez besoin de créer les fichiers suivants avec le contenu spécifié.
/etc/courier/defaultdomain
cat > /etc/courier/defaultdomain << "EOF" [votre_domaine] EOF |
/etc/courier/me
cat > /etc/courier/me << "EOF" [servername.votre_domaine] EOF |
/etc/courier/locals
cat > /etc/courier/locals << "EOF" localhost [votre_domaine] EOF |
/etc/courier/esmtpacceptmailfor.dir/system
cat >/etc/courier/esmtpacceptmailfor.dir/system << "EOF" localhost [votre_domaine] EOF |
Vous aurez besoin d'éditer le fichier aliases et de modifier l'entrée suivante.
/etc/courier/aliases/system
postmaster: [your administrator email] |
Si vous voulez empêcher l'accès à quelques hôtes pour envoyer des courriers, vous devrez éditer /etc/courier/smtpaccess/default.
Après avoir terminé les étapes ci-dessus, vous devrez lancer les commandes suivantes:
makesmtpaccess makehosteddomains makealiases |
Configuration SMTP/SMTMP-SSL
Cette section activera le serveur SMTP de Courier
/etc/courier/esmtpd
ESMTPDSTART=YES |
/etc/courier/esmtpd-ssl
ESMTPDSSLSTART=YES |
ConfigurationPOP3/POP3-SSL
Cette section activera le serveur POP3 de Courier
/etc/courier/pop3d
POP3DSTART=YES |
/etc/courier/pop3d-ssl
POP3DSLLSTART=YES |
Configuration IMAP/IMAP-SSL
Cette section activera le serveur IMAP de Courier
/etc/courier/imapd
IMAPDSTART=YES |
/etc/courierd/imapd-ssl
IMAPDSSLSTART=YES |
Création des répertoires de courrier des utilisateurs système
Cette section expliquera comment créer les répertoires MailDirs de vos utilisateurs système.
cd /home/[username] maildirmake Maildir chown [username].[username] Maildir -R |
Configuration pour les utilisateurs virtuels
Cette section expliquera comment configurer Maildir pour vos utilisateurs virtuels.
echo "vmailman:x:9000:9000:Virtual Mailman:/home/vmailman:/bin/bash" >> /etc/passwd echo "vmailman:x:9000:" >> /etc/group |
Maintenant, configurons maildir pour ces utilisateurs virtuels.
cd /home/vmailman mkdir [virtual_user] cd [virtual_user] maildirmake Maildir chown vmailman.vmailman Maildir -R |
Ajoutez l'utilisateur virtuel dans la base de données MySQL. Vous devez entrer au moins une version du mot de passe soit en clair soit crypté.
mysql -ucourier -p[password] courier-mail insert into users values('[virtual_users]@[domain.com], '[encrypted password or blank]','[clear text password or blank]', '[User's Name]',9000,9000,'[location of Maildir]','[Quota in Bytes']); |
exemple
insert into users values ('blfsuser@linuxfromscratch.org',' ','password','BLFS User',9000,9000,'/home/vmailman/blfsuser',''); |
Configuration pour le Webmail
Cette section expliquera comment configurer le système webmail de Courier.
Vous avez besoin de copier le fichier webmail de /usr/sbin/courier/webmail/webmail dans le répertoire cgi-bin de votre serveur Apache.
cp -a /usr/sbin/courier/webmail/webmail /var/www/cgi-bin |
Vous aurez ensuite besoin de copier les images dans un sous-répertoire du répertoire htdocs de votre serveur Apache. Le répertoire nécessite d'être nommé webmail ou vous avez besoin de le spécifier lors de la phase du configure avec --enable-imageurl=/url.
cp -a /usr/share/courier/sqwebmail/images /var/www/htdocs/webmail |
Configuration du webmail
Cette section expliquera comment installer le système d'administration web de Courier.
Vous avez besoin de copier le fichier webadmin de /usr/sbin/courier/webmail/webmin dans le répertoire cgi-bin de votre serveur Apache.
cp -a /usr/sbin/courier/webmail/webadmin /var/www/cgi-bin |
/etc/courier/webadmin/password
cat > /etc/courier/webadmin/password << "EOF" [password] EOF |
Si vous n'utilisez pas SSL sur votre serveur Apache, vous aurez besoin d'ajouter /etc/courier/webadmin/unsecureok, de façon à pouvoir utiliser l'outil d'administration web.
touch /etc/courier/webadmin/unsecureok |
Le script de démarrage de Courier est le plus facile à utiliser. Il créera automatiquement les fichiers de données manquants et les certificats SSL s'ils n'existent pas. Pour installer le fichier init.d pour Courier, vous aurez besoin d'utiliser les commandes suivantes:
cp /usr/src/courier-0.43.2/courier.sysvinit /etc/rc.d/init.d/courier && chmod 755 /etc/rc.d/init.d/courier |
Créez les liens symboliques vers ce fichier dans les répertoires rc.d adéquats avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/courier ../rc0.d/K25courier && ln -sf ../init.d/courier ../rc1.d/K25courier && ln -sf ../init.d/courier ../rc2.d/K25courier && ln -sf ../init.d/courier ../rc3.d/S35courier && ln -sf ../init.d/courier ../rc4.d/S35courier && ln -sf ../init.d/courier ../rc5.d/S35courier && ln -sf ../init.d/courier ../rc6.d/K25courier |
Le package Courier contient cancelmsg, courier-config, couriermlm, couriertls, deliverquota, dotforward, imapd, lockmail, mailbot, maildirkw, maildrop, mailq, makedat, makemime, mimegpg, preline, reformail, reformime, rmail, sendmail, testmxlookup, courier, courierfilter, courierlogger, couriertcpd, esmtpd, esmtpd-msa, esmtp-ssl, filterctl, imapd, imapd-ssl, makeacceptmailfor, makealiases, makehosteddomains, makepercentrelay, makesmtpacces, makesmtpaccess-msa, makeuserdb, makeuucpneighbors, mksmtpcert, mkimapdcert, mkpop3cert, pop3d, pop3d-ssl, pw2userdb, showconfig, showmodules, userdb, userdbpw, webgpg, authdaemon, authdaemon.mysql, authdaemon.plain, aliascombine, aliascreate, aliasexp, courierd, courierpop3d, courierpop3login, imaplogin, makedatprog, pcpd, submit, submitmkdir, webadmin, webmail, courierdsn, addcr, authend, authstate, courieresmtp, courieresmtpd, courierfax, courierdeliver, courierlocal, courieruucp, perlfilter, dupfilter.
cancelmsg supprime un message de la queue des courriers.
mailbot lit un message électronique sur l'entrée standard et crée un message électronique en réponse.
reformail lit un message sur l'entrée standard, le reformate d'une certaine façon et écrit le message sur la sortie standard.
La commande sendmail lit un message et l'envoie à ses destinataires. Cette commande fait partie du serveur Courier bien qu'il essaie d'émuler le comportement du MTA sendmail original.
testmxlookup liste les noms et adresses IP de relais de courrier qui reçoivent le mail pour ce domaine. C'est utile pour diagnostiquer des problèmes d'envoi/réception de courriers électroniques.
courier est un agent de transport de courrier électronique multi-protocole. La commande courier est une commande administrative et la plupart de ces options est seulement disponible pour le super-utilisateur.
courierfilter installe ou désintalle des filtres globaux de mail, utilisés pour bloquer certains mails non désirés.
filterctl installe ou désintalle des filtres globaux de mail, utilisés pour bloquer certains mails non désirés.
makeacceptmailfor construit une liste de domaines à partir desquels des courriers électroniques sont acceptés.
makealiases construit une liste des alias à partir des répertoires /etc/courier/aliases ou /etc/courier/aliasdir directories.
makehostedomains construit une base de données de domaines compris à partir de hosteddomains .
makepercentrelay construit une liste de domaines "%-relayed" à partir du répertoire percentrelay.dir.
makesmtpacces construit le fichier d'accès au serveur ESMTP à partir du répertoire /etc/courier/smtpaccess.
makesmtpaccess-msa construit le fichier d'accès au serveur à partir du répertoire ESMTP /etc/courier/smtpaccess. Cette liste est pour le protocole MSA.
makeuucpneighbors construit une liste de destinataires UUCP utilisant /etc/courier/uucpneighbors.
Ici vous trouverez plusieurs façons de partager votre machine avec le reste du monde ou avec votre réseau local. Avant d'installer tout package dans ce chapitre, vous aurez besoin de vous assurer de bien comprendre ce que fait le package et comment le configurer correctement. Il pourrait aussi être utile pour apprendre les conséquences d'une configuration incorrecte de façon à analyser les risques.
Le package BIND fournit un serveur et un client DNS.
Téléchargement (HTTP): http://gd.tuwien.ac.at/infosys/servers/isc/bind9/9.2.2/bind-9.2.2.tar.gz
Téléchargement (FTP): ftp://ftp.isc.org/isc/bind9/9.2.2/bind-9.2.2.tar.gz
Taille du téléchargement: 4,8 Mo
Estimation de l'espace disque requis: 90 Mo
Estimation du temps de construction: 0,89 SBU
Installez BIND en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
named.conf, root.hints, 127.0.0, rndc.conf
Nous configurons BIND pour qu'il soit lancé dans une prison chroot en tant qu'utilisateur non privilégié (named). Cette configuration est plus sécurisée car une compromission DNS peut seulement affecter quelques fichiers dans le répertoire HOME de l'utilisateur named.
Tout d'abord, nous créons l'utilisateur et le groupe non privilégiés named:
groupadd -g 200 named && useradd -m -g named -u 200 -s /bin/false named |
Ensuite nous configurons quelques fichiers, répertoires et périphériques nécessaires à BIND:
cd /home/named && mkdir -p dev etc/namedb/slave var/run && mknod /home/named/dev/null c 1 3 && mknod /home/named/dev/random c 1 8 && chmod 666 /home/named/dev/{null,random} && mkdir /home/named/etc/namedb/pz && cp /etc/localtime /home/named/etc |
Créez le fichier named.conf à partir duquel named lira l'emplacement des fichiers de zone, les serveurs de nom racines et les clés DNS sécurisés:
cat > /home/named/etc/named.conf << "EOF" options { directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndc_key; }; }; key "rndc_key" { algorithm hmac-md5; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; EOF |
Créez un fichier zone avec le contenu suivant:
cat > /home/named/etc/namedb/pz/127.0.0 << "EOF" $TTL 3D @ IN SOA ns.local.domain. hostmaster.local.domain. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.local.domain. 1 PTR localhost. EOF |
Créez le fichier root.hints avec les commandes suivantes:
Note : Faites attention et assurez-vous qu'il n'existe aucun espace final dans ce fichier.
cat > /home/named/etc/namedb/root.hints << "EOF" . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 B.ROOT-SERVERS.NET. 6D IN A 128.9.0.107 C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90 E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241 G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4 H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30 K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129 L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12 M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33 EOF |
Le fichier root.hints est une liste des serveurs de nom racines. Ce fichier doit être mis à jour périodiquement avec l'outil dig. Consultez le manuel de référence de l'administrateur BIND 9 pour plus de détails.
Créez rndc.conf avec les commandes suivantes:
cat > /etc/rndc.conf << "EOF" key rndc_key { algorithm "hmac-md5"; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; }; options { default-server localhost; default-key rndc_key; }; EOF |
Le fichier rndc.conf contient des informations pour contrôler les opérations de named avec l'outil rndc.
Note : Remplacez yourdomain.com avec votre propre nom de domaine valide.
cp /etc/resolv.conf /etc/resolv.conf.bak && cat > /etc/resolv.conf << "EOF" search yourdomain.com nameserver 127.0.0.1 EOF |
Indiquez les permissions sur la prison chroot avec la commande suivante:
chown -R named.named /home/named |
Créez le script de démarrage bind:
cat > /etc/rc.d/init.d/bind << "EOF" #!/bin/bash # Début $rc_base/init.d/bind # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting named..." loadproc /usr/sbin/named -u named -t /home/named -c \ /etc/named.conf ;; stop) echo "Stopping named..." killproc /usr/sbin/named ;; restart) $0 stop sleep 1 $0 start ;; reload) echo "Reloading named..." /usr/sbin/rndc -c /etc/rndc.conf reload ;; status) statusproc /usr/sbin/named ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/bind EOF |
Ajoutez les liens symboliques des niveaux d'exécution:
chmod 754 /etc/rc.d/init.d/bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc0.d/K90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc1.d/K90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc2.d/K90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc3.d/S90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc4.d/S90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc5.d/S90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc6.d/K90bind |
Alors, lancez BIND avec le nouveau script de démarrage:
/etc/rc.d/init.d/bind start |
Testez la nouvelle installation de BIND 9. Tout d'abord, recherchez l'adresse locale de l'hote avec dig:
dig -x 127.0.0.1 |
Maintenant, essayez la recherche de noms externes, en prenant note de la différence de vitesse dans des recherches répétées grace au cache. Lancez la commande dig deux fois sur la meme adresse:
dig beyond.linuxfromscratch.org && dig beyond.linuxfromscratch.org |
Vous pouvez voir des résultats pratiquement instantanés avec des recherches cachées de named. Consultez bind-9.2.2/doc/arm/Bv9ARM.html, le manuel de référence de l'administrateur de BIND pour plus d'options de configurations.
Le package BIND contient dig, host, rndc, rndc-confgen, named-checkconf, named-checkzone, lwresd, named, dnssec-signzone, dnssec-signkey, dnssec-keygen, dnssec-makekeyset et nsupdate.
dig interroge les serveurs DNS.
lwresd est un serveur de noms réalisant un cache seul pour être utilisé par des processus locaux.
dnssec-makekeyset génère un ensemble de clés de un à plusieurs clés créées par dnssec-keygen.
Cette section décrira comment le mettre en place, administrer et sécuriser un serveur CVS.
Nous allons discuter comment mettre en place un serveur CVS en utilisant OpenSSH en tant que méthode d'accès à distance. D'autres méthodes d'accès, incluant :pserver: et :server:, ne seront pas utilisées pour des accès en écriture au dépôt CVS. La méthode :pserver: envoie les mots de passe en clair sur le réseau et la méthode :server: n'est pas supportée sur tous les ports CVS. Des instructions pour l'accès anonyme, en lecture seule, utilisant :pserver:, peuvent être trouvées à la fin de cette section.
La configuration de notre serveur CVS consiste en quatre étapes:
Créez le nouveau dépôt CVS avec les commandes suivantes, connecté en tant que root:
mkdir /cvsroot && chmod 1777 /cvsroot && export CVSROOT=/cvsroot && cvs init |
Importez un module source dans le dépôt avec les commandes suivantes, envoyé à partir du compte utilisateur sur la même machine que le dépôt CVS:
export CVSROOT=/cvsroot && cd sourcedir && cvs import -m "repository test" cvstest vendortag releasetag |
Testez l'accès au dépôt CVS pour le même compte utilisateur avec la commande suivante:
cvs co cvstest |
Testez l'accès au dépot CVS d'une machine distante en utilisant un compte utilisateur qui a un accès ssh au serveur CVS avec les commandes suivantes:
Note : Remplacez [nom_serveur] avec l'adresse IP ou le nom d'hote de la machine du dépot CVS. Le nom du compte utilisateur va vous être demandé avant que le CVS checkout puisse continuer.
export CVS_RSH=/usr/bin/ssh && cvs -d:ext:[nom_serveur]:/cvsroot co cvstest |
CVS peut etre configuré pour permettre l'accès anonyme en lecture seule en utilisant la méthode :pserver: pour se connecter en tant que root et exécuter les commandes suivantes:
(grep anonymous /etc/passwd || useradd anonymous -s /bin/false) && echo anonymous: > /cvsroot/CVSROOT/passwd && echo anonymous > /cvsroot/CVSROOT/readers |
Si vous utilisez inetd, la commande suivante ajoutera l'entrée pserver à /etc/inetd.conf:
echo "2401 stream tcp nowait root /usr/bin/cvs cvs -f \ --allow-root=/cvsroot pserver" >> /etc/inetd.conf |
Envoyez un killall -HUP inetd pour relire le fichier inetd.conf modifié.
Si vous utilisez xinetd, la commande suivante ajoutera l'entrée pserver à /etc/xinetd.conf:
cat >> /etc/xinetd.conf << "EOF" service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/bin/cvs server_args = -f --allow-root=/cvsroot pserver } EOF |
Envoyez un killall -HUP xinetd pour relire le fichier xinetd.conf modifié.
Testez l'accès anonyme pour le nouveau dépot requiert un compte sur une autre machine qui peut atteindre le serveur CVS via le réseau. Aucun compte est nécessaire dans le dépot CVS. Pour tester l'accès anonyme au dépot CVS, connectez-vous sur une autre machine en tant qu'utilisateur non privilégié et exécutez la commande suivante:
cvs -d:pserver:anonymous@[nom_serveur]:/cvsroot co cvstest |
Note : Remplacez [nom_serveur] avec l'adresse IP ou le nom d'hote du serveur CVS.
mkdir /cvsroot : Créez le répertoire du dépôt CVS.
chmod 1777 /cvsroot : Droit 'Sticky bit' pour CVSROOT.
export CVSROOT=/cvsroot : Spécifie le nouveau CVSROOT pour toutes les commandes cvs.
cvs init : Initialise le nouveau dépôt CVS.
cvs import -m "repository test" cvstest vendortag releasetag : Tous les modules de code source doivent être importés dans le dépôt CVS avant utilisation, avec la commande cvs import. L'option -m spécifie une entrée initiale de descriptions pour le nouveau module. Le paramètre "cvstest" est le nom utilisé pour le module dans toutes les commandes cvs subséquentes. Les paramètres "vendortag" et "releasetag" sont utilisés pour mieux identifier chaque module CVS et sont nécessaires qu'ils sont utilisés ou non.
(grep anonymous /etc/passwd || useradd anonymous -s /bin/false) : Vérifie l'existence d'un utilisateur anonyme et en crée un si nécessaire.
echo anonymous: > /cvsroot/CVSROOT/passwd : Ajoute l'utilisateur anonyme dans le fichier passwd de CVS, qui est inutilisé pour tout autre chose dans cette configuration.
echo anonymous > /cvsroot/CVSROOT/readers : Ajoute l'utilisateur anonyme dans le fichier readers de CVS, une liste d'utilisateurs qui ont un accès en lecture seule au dépôt.
Le package DHCP contient à la fois les programmes client et serveur pour DHCP. dhclient (le client) est utile pour connecter votre ordinateur à un réseau utilisant DHCP pour affecter les adresses réseau. dhcpd (le serveur) est utile pour affecter des adresses réseau sur votre réseau privé.
Téléchargement (HTTP): http://gd.tuwien.ac.at/infosys/servers/isc/dhcp/dhcp-3.0pl2.tar.gz
Téléchargement (FTP): ftp://ftp.isc.org/isc/dhcp/dhcp-3.0pl2.tar.gz
Taille du téléchargement: 852 Ko
Estimation de l'espace disque requis: 29,6 Mo
Estimation du temps de construction: 0,23 SBU
Note : Vous devez avoir compilé le support du Packet Socket dans le noyau soit en intégré soit en module.
Installez DHCP en lançant les commandes suivantes:
./configure && make && make LIBDIR=/usr/lib INCDIR=/usr/include install |
LIBDIR=/usr/lib INCDIR=/usr/include : Cette commande installe la bibliothèque et les fichiers include dans /usr au lieu de /usr/local.
/etc/dhclient.conf
Informations sur la configuration du client DHCP peut être trouvé dans le Chapitre 14.
Notez que vous voulez seulement lancer le serveur DHCP si vous voulez adresser les adresses LAN sur votre réseau. Le client DHCP n'a pas besoin de ce script pour être utilisé. Notez aussi que ce script est codé pour l'interface 'eth1', qui a peut-être besoin d'être modifié pour votre configuration matérielle. Avec ceci à l'esprit, le script de démarrage DHCP peut être créé en utilisant les commandes suivantes.
cat > /etc/rc.d/init.d/dhcp << "EOF" #!/bin/sh # Début $rc_base/init.d/dhcp # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting DHCP Server..." loadproc dhcpd -q eth1 ;; stop) echo "Stopping DHCP Server..." killproc dhcpd ;; reload) echo "Reloading DHCP Server..." reloadproc dhcpd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc dhcpd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # End $rc_base/init.d/dhcp EOF chmod 755 /etc/rc.d/init.d/dhcp |
Le fichier lease doit exister au démarrage. Cette commande suivante satisfera celà:
touch /var/state/dhcp/dhcpd.leases |
Les commandes suivantes vont créer un fichier de configuration de base pour un serveur DHCP. Il existe de nombreuses options que vous voudriez ajouter (information qui est retournée au client DHCP) et celles-ci sont couvertes dans les pages man dans dhcp.conf.
cat > /etc/dhcpd.conf << "EOF" default-lease-time 72000; max-lease-time 144000; ddns-update-style ad-hoc; subnet 192.168.5.0 netmask 255.255.255.0 { range 192.168.5.10 192.168.5.240; option broadcast-address 195.168.5.255; option routers 192.168.5.1; } EOF |
Toutes les adresses doivent être modifiées suivant votre situation.
dhclient est l'implémentation du client DHCP.
dhcpd implémente le protocole 'Dynamic Host Configuration Protocol' (DHCP) et les requêtes 'Internet Bootstrap Protocol' (BOOTP) pour les adresses réseau.
dhcrelay apporte un moyen pour accepter les requêtes DHCP et BOOTP sur un sous-réseau sans un serveur DHCP et les relaie vers un serveur DHCP sur un autre sous-réseau.
Leafnode est un serveur NNTP conçu pour que des petits sites fournissent leur spool local USENET.
Téléchargement (HTTP): http://unc.dl.sourceforge.net/sourceforge/leafnode/leafnode-1.9.43.rel.tar.bz2
Téléchargement (FTP): ftp://unc.dl.sourceforge.net/pub/sourceforge/leafnode/leafnode-1.9.43.rel.tar.bz2
Taille du téléchargement: 614 Ko
Estimation de l'espace disque requis: 14 Mo
Estimation du temps de construction: 0,11 SBU
Créez le groupe et l'utilisateur news, s'ils ne sont pas présents:
groupadd news && useradd -g news news |
Installez Leafnode en lançant les commandes suivantes:
./configure --prefix=/usr --localstatedir=/var \ --sysconfdir=/etc/news --with-lockfile=/var/lock/fetchnews.lck && make && make install && ldconfig && make update |
--localstatedir=/var : Modifie le répertoire spool par défaut (/usr/var).
--sysconfdir=/etc/news : leafnode lit ses données de configuration d'un fichier nommé config, qui sera créé sous /etc/news pour éviter tout conflit potentiel avec d'autres packages.
make update : Crée un fichier initial /etc/news/config.example, qui doit être renommé en /etc/news/config.
/etc/leafnode/config, /etc/inetd.conf et /etc/xinetd.conf.
Leafnode peut être configuré pour utiliser inetd en ajoutant une entrée dans le fichier /etc/inetd.conf avec la commande suivante:
echo "nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode" \ >> /etc/inetd.conf |
Autrement, Leafnode peut être configuré pour utiliser xinetd en ajoutant une entrée dans le fichier /etc/xinetd.conf avec la commande suivante:
cat >> /etc/xinetd.conf << "EOF" service nntp { flags = NAMEINARGS NOLIBWRAP socket_type = stream protocol = tcp wait = no user = news server = /usr/sbin/tcpd server_args = /usr/sbin/leafnode instances = 7 per_source = 3 } EOF |
Le fichier /etc/news/config doit être édité pour refléter le nom du fournisseur NNTP. Copiez le fichier de configuration exemple sur /etc/news/config et sauvegardez l'original pour référence:
cp /etc/news/config.example /etc/news/config |
Modifiez l'entrée
server = |
La variable d'environnement NNTPSERVER doit être initialisée à 127.0.0.1 pour empêcher des clients news de lire les news du flux, ajoutez la suite à /etc/profile ou $HOME/.bash_profile:
export NNTPSERVER=127.0.0.1 |
Le package Leafnode contient leafnode, applyfilter, texpire, checkgroups, fetchnews et newsq.
leafnode-version affiche la version de leafnode.
fetchnews envoie des articles postés et retrouve les nouveaux articles lors d'un téléchargement d'un serveur de news.
Le package OpenSSH contient le client ssh et le démon sshd. Ceci est utile pour crypter tout trafic sur un réseau.
Téléchargement (HTTP): http://sunsite.ualberta.ca/pub/OpenBSD/OpenSSH/portable/openssh-3.7.1p2.tar.gz
Téléchargement (FTP): ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-3.7.1p2.tar.gz
Taille du téléchargement: 780 Ko
Estimation de l'espace disque requis: 28,6 Mo
Estimation du temps de construction: 0,32 SBU
OpenSSH fonctionne avec deux processus lors d'une connextion vers d'autres ordinateurs. Le premier processus est un processus privilégié et contrôle le problème des privilèges si nécessaire. Le second processus communique avec le réseau. Des étapes supplémentaires d'installation sont nécessaires pour configurer un bon environnement avec les commandes suivantes:
mkdir /var/empty && chown root:sys /var/empty && groupadd sshd && useradd -c 'sshd privsep' -d /var/empty -g sshd -s /bin/false sshd |
Installez OpenSSH en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc/ssh \ --libexecdir=/usr/sbin --with-md5-passwords && make && make install |
--sysconfigdir=/etc/ssh : Ceci empêche les fichiers de configuration d'aller sous /usr/etc.
--with-md5-passwords : C'est requis si vous avez fait les changements recommandés par l'astuce LFS shadowpasswd_plus sur votre serveur SSH lors de l'installation de la Shadow Password Suite ou si vous accédez un serveur SSH qui authentifie les mots de passe utilisateurs encryptés avec md5.
--libexecdir=/usr/sbin : OpenSSH met les programmes appelés par des programmes dans /usr/libexec. sftp-server est un utilitaire sshd et ssh-askpass est un utilitaire ssh-add qui est installé comme lien avec X11-ssh-askpass. Les deux doivent aller dans /usr/sbin et non pas /usr/libexec.
/etc/ssh/ssh_config, /etc/ssh/sshd_config
Il n'y a pas de modifications requises dans ces fichiers. Néanmoins, vous pouvez souhaiter les visualiser pour effectuer des changements en rapport avec votre système. Des informations de configuration peuvent être trouvées dans les pages man pour sshd, ssh et ssh-agent.
Notez que vous voulez seulement lancer le serveur sshd si vous voulez être capable de se connecter par ssh sur votre machine. Le client ssh n'a pas besoin de ce script pour être utilisé. Ceci dit, si vous voulez lancer le démon sshd, le script de démarrage d'OpenSSH doit être créé en utilisant les commandes suivantes:
cat > /etc/rc.d/init.d/sshd << "EOF" #!/bin/sh # Début $rc_base/init.d/sshd # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting SSH Server..." loadproc /usr/sbin/sshd ;; stop) echo "Stopping SSH Server..." killproc /usr/sbin/sshd ;; reload) echo "Reloading SSH Server..." reloadproc /usr/sbin/sshd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/sshd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/sshd EOF chmod 755 /etc/rc.d/init.d/sshd |
Créez les liens symboliques vers ce fichier dans le répertoire rc.d avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/sshd ../rc0.d/K30sshd && ln -sf ../init.d/sshd ../rc1.d/K30sshd && ln -sf ../init.d/sshd ../rc2.d/K30sshd && ln -sf ../init.d/sshd ../rc3.d/S30sshd && ln -sf ../init.d/sshd ../rc4.d/S30sshd && ln -sf ../init.d/sshd ../rc5.d/S30sshd && ln -sf ../init.d/sshd ../rc6.d/K30sshd |
Le package OpenSSH contient ssh, sshd, ssh-agent, ssh-add, sftp, scp, ssh-keygen, sftp-server et ssh-keyscan.
Le package rsync contient l'utilitaire rsync. Il est utile pour synchroniser de grosses archives de fichiers sur un réseau.
Téléchargement (HTTP): http://rsync.samba.org/ftp/rsync/rsync-2.5.6.tar.gz
Téléchargement (FTP): ftp://ftp2.nchu.edu.tw/UNIX/FTP/rsync/rsync-2.5.6.tar.gz
Taille du téléchargement: 571 Ko
Estimation de l'espace disque requis: 6,4 Mo
Estimation du temps de construction: 0,65 SBU
Pour des raisons de sécurité, lancez le serveur rsync en tant qu'utilisateur et groupe non privilégiés est encouragé.
groupadd rsyncd && useradd -c rsyncd -d /home/rsync -g rsyncd -s /bin/false rsyncd |
Installez rsync en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
/etc/rsyncd.conf
C'est un simple fichier de configuration en téléchargement seul. Voir la page man de rsyncd pour les options supplémentaires (authentification de l'utilisateur).
cat > /etc/rsyncd.conf << "EOF" # C'est un fichier de configuration basique pour rsync # Il exporte un seul module sans l'authentification utilisateur. motd file = /home/rsync/welcome.msg use chroot = yes [localhost] path = /home/rsync comment = Module rsync par défaut read only = yes list = yes uid = rsyncd gid = rsyncd EOF |
Notez que vous ne voulez lancer le serveur rsync que si vous disposez d'une archive rsync sur la machine. Le client rsync n'a pas besoin de ce script pour fonctionner. Ceci dit, si vous voulez lancer le démon rsync, le script de démarrage rsync peut être créé avec les commandes suivantes:
cat > /etc/rc.d/init.d/rsyncd << "EOF" #!/bin/sh # Début $rc_base/init.d/rsyncd # Basé sur le script sysklogd à partir de LFS-3.1 et précédent. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting RSYNC Server..." loadproc /usr/bin/rsync --daemon --compress ;; stop) echo "Stopping RSYNC Server..." killproc /usr/bin/rsync ;; reload) echo "Reloading RSYNC Server..." reloadproc /usr/bin/rsync ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/bin/rsync ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/rsyncd EOF chmod 755 /etc/rc.d/init.d/rsyncd |
Créez les liens symboliques pour ce fichier dans les répertoires rc.d adéquates avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/rsyncd ../rc0.d/K30rsyncd && ln -sf ../init.d/rsyncd ../rc1.d/K30rsyncd && ln -sf ../init.d/rsyncd ../rc2.d/K30rsyncd && ln -sf ../init.d/rsyncd ../rc3.d/S30rsyncd && ln -sf ../init.d/rsyncd ../rc4.d/S30rsyncd && ln -sf ../init.d/rsyncd ../rc5.d/S30rsyncd && ln -sf ../init.d/rsyncd ../rc6.d/K30rsyncd |
rsync est un remplacement pour rcp (et scp) disposant de nombreuses autres fonctionnalités. Il utilise "l'algorithme rsync" apportant une méthode très rapide pour synchroniser des fichiers distants. Il le fait en envoyant juste les différences des fichiers, sans nécessiter que les deux ensemble de fichiers soient présents auparavant à un des deux bouts.
Le package OpenLDAP fournit une implémentation libre du Lightweight Directory Access Protocol.
Téléchargement (HTTP): http://gd.tuwien.ac.at/infosys/network/OpenLDAP/openldap-release/openldap-2.1.22.tgz
Téléchargement (FTP): ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.1.22.tgz
Taille du téléchargement: 2,0 Mo
Estimation de l'espace disque requis: 126 Mo
Estimation du temps de construction: 3,90 SBU
Installez OpenLDAP en lançant les commandes suivantes:
./configure --prefix=/usr --libexecdir=/usr/sbin \ --sysconfdir=/etc --localstatedir=/var/lib \ --disable-debug --enable-ldbm && make depend && make && make test && make install |
--sysconfdir=/etc : Met à jour le répertoire de configuration pour éviter la valeur par défaut /usr/etc.
--libexecdir=/usr/sbin : Place les exécutables du serveur dans /usr/sbin au lieu de /usr/libexec.
--enable-ldbm : Construit slapd avec comme moteur de base de données primaire soit Berkeley DB soit GNU Database Manager.
--disable-debug : Désactive le code de débuggage.
make test : Valide la construction correcte du package.
/etc/openldap/*
La seule configuration nécessaire pour OpenLDAP est de lancer ldconfig. Le serveur LDAP peut être lancé par /usr/sbin/slapd comme décrit dans la page man slapd(8). Vous pouvez vérifier que LDAP est lancé avec ps aux et vous pouvez vérifier l'accès au serveur LDAP avec la commande suivante:
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts |
Le bon résultat est:
# extended LDIF # # LDAPv3 # base <> with scope base # filter: (objectclass=*) # requesting: namingContexts # # dn: namingContexts: dc=my-domain,dc=com # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 |
Arrêtez le serveur avec cette commande:
kill -INT `cat /var/lib/slapd.pid` |
Vous êtes maintenant prêt à modifier /etc/openldap/slapd.conf pour qu'il corresponde à votre installation.
Utiliser GDBM
Pour utiliser GDBM comme moteur de base de données, l'entrée "database" de /etc/openldap/slapd.conf doit être changée de "bdb" en "ldbm". Vous pouvez utiliser les deux en créant une section "database" supplémentaire dans /etc/openldap/slapd.conf.
Sécuriser votre serveur LDAP
Une configuration importante est nécessaire pour qu'OpenLDAP utilise les fonctionnalités de sécurité. Le guide de l'administrateur OpenLDAP 2.1 est un bon endroit pour commencer avec les configurations de contrôle d'accès, pour lancer le serveur en tant qu'utilisateur non privilégié et pour préparer un environnement chroot.
Outils de l'utilisateur
Des données peuvent être ajoutées à la base de données LDAP via ldapadd. Il existe d'autres programmes pouvant utiliser la base de données. Pour plus d'informations, voyez la page man appropriéepage.
Carnet d'adresses Mozilla
Par défaut, le support de LDAPv2 est désactivé dans le fichier slapd.conf. Une fois que la base de données est correctement configurée et que Mozilla est configuré pour utiliser le répertoire, vous pouvez ajouter allow bind_v2 au fichier slapd.conf.
Le package OpenLDAP contient ldapadd, ldapcompare, ldapdelete, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapwhoami, slapadd, slapcat, slapd, slapindex, slappasswd, slurpd, liblber et libldap.
ldapadd ouvre une connexion au serveur LDAP et ajoute des entrées.
ldapcompare ouvre une connexion au serveur LDAP et compare suivant les paramètres spécifiés.
ldapsearch ouvre une connexion au serveur LDAP et effectue une recherche suivant les paramètres spécifiés.
slapadd est utilisé pour ajouter des entrées spécifiées dans le format LDAP Directory Interchange Format (LDIF) dans une base de données slapd.
slapcat est utilisé pour générer une sortie LDIF LDAP basé sur le contenu d'une base de données slapd.
slapindex est utilisé pour regénérer les index de slapd suivant le contenu actuel d'une base de données.
Ces bibliothèques supportent les programmes LDAP et fournissent des fonctionnalités pour les autres programmes interagissant avec LDAP.
Le package Samba fournit des services fichiers et impression aux clients SMB/CIFS.
Téléchargement (HTTP): http://us1.samba.org/samba/ftp/old-versions/samba-2.2.8a.tar.bz2
Taille du téléchargement: 4,4 Mo
Estimation de l'espace disque requis: 43 Mo
Estimation du temps de construction: 5,40 SBU
Installez Samba en lançant les commandes suivantes:
cd source && mkdir -p /etc/samba/private && mkdir -p /var/cache/samba && ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --with-piddir=/var/run \ --with-fhs \ --with-smbmount && make && make install && rm -rf /usr/private && echo "swat 901/tcp" >> /etc/services && echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" >> \ /etc/inetd.conf |
mkdir -p /etc/samba/private mkdir -p /var/cache/samba |
--prefix=/usr : Indique le préfixe /usr pour pratiquement tous les chemins de fichiers.
--sysconfdir=/etc : Indique l'emplacement du fichier de configuration pour éviter /usr/etc, valeur par défaut.
--localstatedir=/var : Indique le répertoire des données pour éviter /usr/var, valeur par défaut.
--with-fhs : Assigne tous les autres chemins de fichiers de façon à être compatible avec le FHS (Filesystem Hierarchy Standard).
--with-smbmount : Demande la création d'un binaire supplémentaire que le commande mount utilise pour rendre le montage de partages SMB (windows) distants aussi simple que les partages NFS distants.
rm -rf /usr/private : Supprime un répertoire créé par erreur avec source/scripts/installbin.sh lors du make install.
Nous configurerons un serveur Samba (SAMBABOX) pour agir en tant que contrôleur primaire de domaine, et aussi configurer un client de domaine utilisant Windows 2000 Server (WIN2KBOX) et en agissant comme un serveur membre du domaine. Des instructions détaillées vont être données pour ajouter WIN2KBOX au domaine avec les étapes supplémentaires nécessaires. Des instructions pour ajouter des clients Windows 95/98/XP peuvent être trouvées dans la nouvelle documentation installée en pointant un navigateur web vers:
file:///usr/share/samba/swat/using_samba/ch03_01.html#ch03-55770. |
/etc/samba/smb.conf, /etc/rc.d/init.d/samba
Tout d'abord, nous mettons en place les répertoires nécessaires à Samba:
mkdir /var/lib/samba && mkdir /var/lib/samba/netlogon && mkdir /var/lib/samba/ntprofile && mkdir /var/lib/samba/profiles && chmod -R 1777 /var/lib/samba |
Et le fichier de configuration Samba:
cat > /etc/samba/smb.conf << "EOF" [global] netbios name = SAMBABOX workgroup = DOMAIN01 os level = 64 preferred master = yes domain master = yes local master = yes security = user encrypt passwords = yes domain logons = yes log file = /var/log/log.%m log level = 1 logon path = \\%N\home\%u\windows logon drive = H: logon home = \\homeserver\%u\windows logon script = logon.cmd [netlogon] path = /var/lib/samba/netlogon read only = yes write list = ntadmin [profiles] path = /var/lib/samba/ntprofile read only = no create mask = 0600 directory mask = 0700 ; World writable share for testing [tmp] comment = Temporary file space path = /tmp read only = no public = yes [home] comment = Users' home directories path = /home read only = no public = no EOF |
Maintenant, ajoutez le compte de confiance de la machine pour WIN2KBOX:
/usr/sbin/useradd -g 100 -d /dev/null -c \ "machine nickname" -s /bin/false win2kbox$ && passwd -l win2kbox$ && smbpasswd -a -m win2kbox |
Créez le script de démarrage Samba:
cat > /etc/rc.d/init.d/samba << "EOF" #!/bin/bash # Début $rc_base/init.d/samba # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting nmbd..." loadproc /usr/sbin/nmbd -D echo "Starting smbd..." loadproc /usr/sbin/smbd -D ;; stop) echo "Stopping smbd..." killproc /usr/sbin/smbd echo "Stopping nmbd..." killproc /usr/sbin/nmbd ;; reload) echo "Reloading smbd..." reloadproc /usr/sbin/smbd echo "Reloading nmbd..." reloadproc /usr/sbin/nmbd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/nmbd statusproc /usr/sbin/smbd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/samba EOF |
Ajoutez les liens symboliques de niveaux d'exécution:
chmod 754 /etc/rc.d/init.d/samba && ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc0.d/K48samba && ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc1.d/K48samba && ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc2.d/K48samba && ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc3.d/S24samba && ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc4.d/S24samba && ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc5.d/S24samba && ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc6.d/K48samba |
Maintenant, nous utiliserons notre nouveau script de démarrage pour démarrer Samba:
/etc/rc.d/init.d/samba start |
Nous avons ajouter le compte root SAMBABOX à la liste des utilisateurs Samba tout d'abord dans le but de joindre WIN2KBOX au domaine DOMAIN01:
smbpasswd -a root |
Après avoir lancé Samba et ajouté root à la liste des utilisateurs Samba, la première machine que nous joignerons à DOMAIN01 sera WIN2KBOX, la machine Windows 2000 Server pour qui nous avons créé la machine des comptes de confiance. Sur WIN2KBOX:
1. Clic droit sur My Computer. 2. Cliquez sur Properties. 3. Cliquez sur l'onglet du Network Identification. 4. Cliquez sur le bouton Properties. 5. Dans le champ d'édition Computer Name: entrez WIN2KBOX. 6. Cliquez sur le bouton radio Domain: et entrez DOMAIN01 dans le champ d'édition et cliquez sur OK. 7. A la présentation avec la boîte de dialogue Domain Username And Password, entrez root et le mot de passe sur SAMBABOX et cliquez OK. 8. Après que la machine de confiance est négociée, cliquez sur le bouton OK dans le boîte de dialogue vous accueillant dans le domaine DOMAIN01. 9. Cliquez OK dans la boite de dialogue de redémarrage. 10. Cliquez OK pour fermer la fenetre System Properties. 11. Cliquez Yes pour relancer WIN2KBOX. |
Avant de se connecter sur WIN2KBOX, nous créerons un nouvel utilisateur avec les commandes suivantes:
useradd -m win2kuser01 && passwd win2kuser01 && smbpasswd -a win2kuser01 |
Maintenant, nous nous connectrons sur le domaine en tant que notre utilisateur nouvellement créé comme ce qui suit:
1. Appuyez Ctrl-Alt-Del pour amener la boite de dialogue de connexion Log On. 2. Entrez les nom et mot de passe win2kuser01. 3. Sélectionnez DOMAIN01 de la boite Log on to: et cliquez OK. |
Ajoutez l'entrée swat sur /etc/services avec la commande suivante:
echo "swat 901/tcp" >> /etc/services |
Si inetd est utilisé, la commande suivante ajoutera l'entrée swat dans /etc/inetd.conf:
echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" \ >> /etc/inetd.conf |
Si xinetd est utilisé, la commande suivante ajoutera l'entrée swat vers /etc/xinetd.conf:
cat >> /etc/xinetd.conf << "EOF" service swat { port = 901 socket_type = stream wait = no only_from = 127.0.0.1 user = root server = /usr/sbin/swat log_on_failure += USERID } EOF |
L'outil d'administration web de Samba (Samba Web Administration Tool ou SWAT) peut etre lancé avec la commande suivante sur SAMBABOX:
lynx http://localhost:901 |
Note : Assurez-vous que inetd est démarré, et lancez un killall -HUP inetd avant de démarrer SWAT.
Le navigateur Lynx est utilisé pour cette démonstration, mais n'est pas nécessaire.
cat > /etc/samba/smb.conf << "EOF" : Créez un fichier de configuration Samba par défaut. Cette configuration autorisera Samba à agir comme Contrôleur Primaire de Domaine pour un réseau basé sur Microsoft Windows. Si ce n'est pas souhaité, un fichier smb.conf par défaut plus simple est disponible avec la distribution Samba. Voir le fichier samba2.2.8a/examples/smb.conf.default. La configuration d'un Contrôleur Primaire de Domaine est un peu plus compliquée que la configuration d'un serveur, donc les instructions pour la configuration d'un PDC vont être données ici.
cat > /etc/rc.d/init.d/samba << "EOF" : Créez le script de démarrage Samba, utilisé pour lancer et arrêter Samba automatiquement lors du lancement et de l'arrêt de la machine.
/usr/sbin/useradd -g 100 -d /dev/null -c \ "Win2k Server" -s /bin/false win2kbox$ |
echo "swat 901/tcp" >> /etc/services : Enregistrer le service swat et son port 901.
echo "swat stream tcp nowait.400 root /usr/sbin/swat swat" >> /etc/inetd.conf : Indique à inetd où trouver et comment lancer swat.
ln -s /etc/rc.d/init.d/samba /etc/rc.d/rc3.d/S600samba, etc. : Créez les scripts de démarrage Samba, utilisé pour lancer et arrêter Samba automatiquement lors du lancement et de l'arrêt de la machine.
Le package Samba contient make_smbcodepage, make_unicodemap, mount.smbfs, nmbd, nmblookup, rpcclient, smbcacls, smbclient, smbcontrol, smbd, smbpasswd, smbspool, smbstatus, swat, testparm, testprns, wbinfo et winbindd.
make_smbcodepage convertit les descriptions texte de pages code en fichiers page code binaires et vice-versa.
make_unicodemap convertit des fichiers texte 'unicode map' en binaire, pour utiliser les tables de caractères en unicode 16 bit.
mount.smbfs apporte à /bin/mount une façon de monter les partages de fichiers distants windows (ou samba).
nmblookup est utilisé pour rechercher des noms NetBIOS et les faire correspondre à des adresses IP.
xinetd est le démon étendu de services InterNET, une amélioration sécurisée de inetd.
Téléchargement (HTTP): http://www.xinetd.org/xinetd-2.3.12.tar.gz
Taille du téléchargement: 285 Ko
Estimation de l'espace disque requis: 6,5 Mo
Estimation du temps de construction: 0,14 SBU
Installez xinetd en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
./configure --prefix=/usr : Change le répertoire d'installation par défaut par /usr/local.
/etc/xinetd.conf
Créez le fichier xinetd.conf avec les commandes suivantes:
cp /etc/xinetd.conf /etc/xinetd.conf.bak |
Assurez-vous que le chemin vers tous les démons est /usr/sbin, plutôt que le chemin par défaut /usr/etc:
sed -e 's/etc/sbin/g' xinetd/sample.conf > /etc/xinetd.conf |
Le format de /etc/xinetd.conf est documenté dans la page man d'xinetd.conf. Plus d'informations sont disponibles dans http://www.xinetd.org.
Créez le script de démarrage xinetd:
cat > /etc/rc.d/init.d/xinetd << "EOF" #!/bin/bash # Début $rc_base/init.d/xinetd # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting xinetd..." loadproc /usr/sbin/xinetd ;; stop) echo "Stopping xinetd..." killproc /usr/sbin/xinetd ;; reload) echo "Reloading xinetd..." killall -HUP xinetd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/xinetd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # End $rc_base/init.d/xinetd EOF chmod 754 /etc/rc.d/init.d/xinetd |
Ajoutez les liens symboliques des niveaux d'exécution:
ln -s /etc/rc.d/init.d/xinetd /etc/rc.d/rc0.d/K49xinetd && ln -s /etc/rc.d/init.d/xinetd /etc/rc.d/rc1.d/K49xinetd && ln -s /etc/rc.d/init.d/xinetd /etc/rc.d/rc2.d/K49xinetd && ln -s /etc/rc.d/init.d/xinetd /etc/rc.d/rc3.d/S23xinetd && ln -s /etc/rc.d/init.d/xinetd /etc/rc.d/rc4.d/S23xinetd && ln -s /etc/rc.d/init.d/xinetd /etc/rc.d/rc5.d/S23xinetd && ln -s /etc/rc.d/init.d/xinetd /etc/rc.d/rc6.d/K49xinetd |
Maintenant, nous utiliserons notre nouveau script de démarrage pour lancer xinetd:
/etc/rc.d/init.d/xinetd start |
Vérifier le fichier /var/log/daemon.log devrait être intéressant. Ce fichier peut contenir des entrées similaires aux suivantes:
Aug 22 21:40:21 dps10 xinetd[2696]: Server /usr/sbin/in.rlogind is not executable [line=29] Aug 22 21:40:21 dps10 xinetd[2696]: Error parsing attribute server - DISABLING SERVICE [line=29] Aug 22 21:40:21 dps10 xinetd[2696]: Server /usr/sbin/in.rshd is not executable [line=42] |
Ces erreurs sont dûes au fait que nous n'avons pas installé encore la plupart des serveurs avec xinetd.
xinetd est le démon de services internet.
xconv.pl est un script perl utilisé pour convertir les fichiers inetd.conf dans le format xinetd.conf, similaire à itox.
Ce chapitre inclut les bases de données allant du serveur pour simple utilisateur aux serveurs industriels avec le support des transactions. Normalement, vous serez envoyé ici pour satisfaire les dépendances d'autres applications bien que la construction d'un serveur SQL sur un système LFS de base est entièrement possible.
Le package Berkeley DB contient des programmes et des outils utilisés par beaucoup d'autres programmes pour réaliser des fonctions en relation avec les bases de données.
Téléchargement (HTTP): http://www.sleepycat.com/update/snapshot/db-4.1.25.tar.gz
Téléchargement (FTP): ftp://ftp.us.xemacs.org/pub/xemacs/aux/db-4.1.25.tar.gz
Taille du téléchargement: 3 Mo
Estimation de l'espace disque requis: 27 Mo
Estimation du temps de construction: 1,22 SBU
Installez Berkeley DB en lançant les commandes suivantes:
cd build_unix && ../dist/configure --prefix=/usr \ --enable-compat185 \ --enable-cxx && make && make docdir=/usr/share/doc/db-4.1.25 install |
Note : Si vous souhaitez activer le support de Java dans Berkeley DB-4.1.25, ajoutez --enable-java aux options de configure. Le support de Java est nécessaire si vous pensez utilisé la version de Berkeley DB installé avec le système lors de la compilation d'OpenOffice.
cd build_unix && ../dist/configure --prefix=/usr --enable-compat185 : Ceci remplace la commande habituelle ./configure car Berkeley DB dispose de nombreux répertoires de construction pour les différentes plateformes.
make docdir=/usr/share/doc/db-4.1.25 install : Ceci installe la documentation de db à la bonne place.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Si vous recompilez Perl après avoir installé Berkeley DB-4.1.25, vous aurez besoin d'appliquer le correctif perl-5.8.0-db-4.1.patch disponible sur http://downloads.linuxfromscratch.org/blfs-patches.
Le package Berkeley DB contient db_archive, db_checkpoint, db_deadlock, db_dump, db_load, db_printlog, db_recover, db_stat, db_upgrade et db_verify.
db_archive affiche le chemin des fichiers de trace qui ne sont plus utilisés.
db_checkpoint est un démon utilisé pour surveiller et vérifier les traces de la base de données.
db_deadlock est utilisé pour annuler les demandes de verrous lorsque des interblocages sont détectés.
db_dump convertit des fichiers de base de donénes en un format de fichier texte lisible avec db_load.
db_load est utilisé pour créer des fichiers de base de données à partir de fichiers texte créés avec db_dump.
db_printlog convertit des fichiers de traces de la base de données en texte lisible par un humain.
db_recover est utilisé pour restaurer une base de données et le remettre dans un état consistant après une panne.
db_upgrade est utilisé pour mettre à jour les fichiers de la base de données en une version plus récente de la Berkeley DB.
db_verify est utilisé pour lancer des vérifications de cohérences sur les fichiers de la base de données.
Le package Berkeley DB-3.3.11 contient la version 3.3.11 de la base de données Berkeley.
Téléchargement (HTTP): http://www.sleepycat.com/update/snapshot/db-3.3.11.tar.gz
Téléchargement (FTP): ftp://ftp.pu.edu.tw/Unix/Database/BerkeleyDB/db-3.3.11.tar.gz
Taille du téléchargement: 2,3 Mo
Estimation de l'espace disque requis: 20.3 Mo
Estimation du temps de construction: 0,80 SBU
Installez Berkeley DB en lançant les commandes suivantes:
cd build_unix && ../dist/configure --prefix=/opt/db-3.3 --enable-compat185 && make && make docdir=/opt/db-3.3/doc/Berkeley-DB install && cd /opt/db-3.3/lib/ && rm -f libdb.so && for i in $(ls); do mv $i /usr/lib; ln -sf /usr/lib/$i; done && cd /opt/db-3.3/include/ && sed 's/^DB185/DB/' db_185.h > db_185.h.new && mv db_185.h.new db_185.h && ln -nsf /opt/db-3.3/include /usr/include/db3 |
sed 's/^DB185/DB/' /usr/include/db_185.h > /usr/include/db_185.h.new : Modifie le pointeur de la base de données DB185 en DB.
Le package Berkeley DB contient db_archive, db_checkpoint, db_deadlock, db_dump, db_load, db_printlog, db_recover, db_stat, db_upgrade et db_verify.
db_archive affiche les noms des chemins des fichiers de trace qui ne sont plus utilisés.
db_checkpoint est un processus démon utilisé pour surveiller les traces de la base de données.
db_deadlock est utilisé pour annuler les verrouillages des requêtes lorsque les verrouillages sont détectés.
db_load est utilisé pour créer les fichiers de base de données à partir de fichiers pleins créés avec db_dump.
db_printlog convertit les fichiers de trace de la base de données en texte lisible par un humain.
db_upgrade est utilisé pour mettre à jour les fichiers de base de données en une version plus récente de la base de données Berkeley.
db_verify est utilisé pour lancer des vérifications de cohérence sur les fichiers de la base de données.
MySQL est un serveur de bases de données SQL rapide et très utilisé. Il s'agit d'une implémentation client/serveur consistant en un démon serveur et en plusieurs programmes clients et bibliothèques.
Téléchargement (HTTP): http://mysql.he.net/Downloads/MySQL-4.0/mysql-4.0.15a.tar.gz
Téléchargement (FTP): ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-4.0/mysql-4.0.15a.tar.gz
Taille du téléchargement: 12 Mo
Estimation de l'espace disque requis: 92 Mo
Estimation du temps de construction: 4,11 SBU
Pour des raisons de sécurité, lancer le serveur en tant qu'utilisateur et groupe non privilégiés est fortement encouragé:
groupadd mysql && useradd -c mysql -d /dev/null -g mysql -s /bin/false mysql |
Construire et installer MySQL en lançant les commandes suivantes:
cp configure configure.old && sed -e "s%mysql-test/Makefile%%" -e "s% mysql-test%%" configure.old > configure && ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/sbin \ --localstatedir=/var/lib/mysql \ --enable-thread-safe-client \ --enable-local-infile \ --without-debug \ --without-bench && make && make install |
sed -e "s%mysql-test/Makefile%%" -e "s% mysql-test%%" configure.old > configure Cette commande sed est utilisé pour désactiver la suite de test mysql.
/etc/my.cnf, ~/.my.cnf
Il y a de nombreux fichiers de configuration par défaut disponible dans /usr/share/mysql que vous pouvez utiliser.
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf |
Maintenant, nous pouvons installer la base de données et changer le propriétaire en un utilisateur et groupe non privilégié.
mysql_install_db chown -R mysql:mysql /var/lib/mysql |
Une configuration plus avancée requiert que le serveur mysql soit lancé:
mysqld_safe --user=mysql 2>&1 >/dev/null & |
Une installation par défaut n'attribue pas de mot de passe pour l'administrateur. Donc, nous allons nous connecter et en ajouter un. Nous vous suggérons fortement de changer 'new-password' par le votre.
mysql -uroot mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connexion id is 2 to server version: 3.23.51-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> UPDATE user SET password=password('new-password') WHERE user='root'; Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> EXIT; bye |
Maintenant que nous avons terminé la configuration du serveur, nous devons l'arrêter.
kill `pidof -x mysqld_safe mysqld` |
Pour automatiser le lancement de MySQL, utilisez la commande suivante pour créer le script init.d:
cat > /etc/rc.d/init.d/mysql << "EOF" #!/bin/bash # Début $rc_base/init.d/ # Basé sur le script sysklogd de LFS-3.1 et précédent. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting MySQL daemon..." /usr/bin/mysqld_safe --user=mysql 2>&1 >/dev/null & evaluate_retval ;; stop) echo "Stopping MySQL daemon..." killproc mysqld ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/mysqld ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # End $rc_base/init.d/ EOF chmod 755 /etc/rc.d/init.d/mysql |
Créez les liens symboliques vers ce fichier dans le répertoire rc.d adéquat avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/mysql ../rc0.d/K26mysql && ln -sf ../init.d/mysql ../rc1.d/K26mysql && ln -sf ../init.d/mysql ../rc2.d/K26mysql && ln -sf ../init.d/mysql ../rc3.d/S34mysql && ln -sf ../init.d/mysql ../rc4.d/S34mysql && ln -sf ../init.d/mysql ../rc5.d/S34mysql && ln -sf ../init.d/mysql ../rc6.d/K26mysql |
Le package MySQL contient comp_err, isamchk, isamlog, msql2mysql, my_print_defaults, myisamchk, myisamlog, myisampack, mysql, mysql_config, mysql_convert_table_format, mysql_explain_log, mysql_find_rows, mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install, mysql_install_db, mysql_secure_installation, mysql_setpermission, mysql_tableinfo, mysql_waitpid, mysql_zap, mysqlacess, mysqladmin, mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe, mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager-pwgen, mysqlmanagerc, mysqlshow, mysqltest, pack_isam, perror, replace, resolve_stack_dump, resolveip, libdbug, libheap, libmerge, libmyisam, libmyisammrg, libmysqlclient, libmystrings, libmysys, libnisam et libvio.
Une liste des fichiers du package tiendrait sur plusieurs pages, nous vous suggérons à la place de consulter la documentation mysql pour tous les détails.
Certains programmes de support MySQL nécessitent que les modules perl DBI soient installés pour fonctionner correctement.
PostgreSQL est un système de gestion de bases de données objets relationnelles (ORDBMS), dérivé du système de gestion de bases de données Postgres de Berkeley.
Téléchargement (FTP): ftp://ftp8.us.postgresql.org/pub/pgsql/source/v7.3.4/postgresql-7.3.4.tar.gz
Taille du téléchargement: 11 Mo
Estimation de l'espace disque requis: 86 Mo
Estimation du temps de construction: 1,74 SBU
Installez PostgreSQL avec les commandes suivantes:
./configure --prefix=/usr && make && make install |
Initialise un cluster de base de données avec les commandes suivantes:
mkdir -p /var/pgsql/data && useradd -d /var/pgsql/data postgres && chown postgres /var/pgsql/data && su - postgres -c '/usr/bin/initdb -D /var/pgsql/data' |
Démarre le serveur de base de données avec la commande suivante:
su - postgres -c '/usr/bin/postmaster -D /var/pgsql/data > \ /var/pgsql/data/logfile 2>&1 &' |
Maintenant nous pouvons créer une base de données et vérifier l'installation:
su - postgres -c '/usr/bin/createdb test' echo "create table t1 ( name varchar(20), state_province varchar(20) );" \ | (su - postgres -c '/usr/bin/psql test ') echo "insert into t1 values ('Billy', 'NewYork');" \ | (su - postgres -c '/usr/bin/psql test ') echo "insert into t1 values ('Evanidus', 'Quebec');" \ | (su - postgres -c '/usr/bin/psql test ') echo "insert into t1 values ('Jesse', 'Ontario');" \ | (su - postgres -c '/usr/bin/psql test ') echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test') |
useradd -d /var/pgsql/data postgres : Ajoute un utilisateur non privilégié pour exécuter le serveur de base de données. Lancer le serveur en tant que root est dangereux, et beaucoup plus simplement ne fonctionnera pas.
su - postgres -c '/usr/bin/initdb -D /var/pgsql/data' : Initialise la base de données. Cette commande ne peut pas être exécuté par root.
su - postgres -c '/usr/bin/postmaster -D /var/pgsql/data > \ /var/pgsql/data/logfile 2>&1 &' : Lance le serveur de la base de données. L'utilisateur postgres doit aussi exécuter cette commande.
createdb test, create table t1 , insert into t1 values..., select * from t1 : Crée la base de donnée, ajoute une table, insère quelques lignes dans la table et les sélectionne pour vérifier que l'installation fonctionne correctement.
$PGDATA/pg_ident.con, $PGDATA/pg_hba.conf, $PGDATA/postgresql.conf
La variable d'environnement PGDATA est utilisé pour distinguer les clusters de bases de données en lui donnant comme valeur celle du répertoire contenant le cluster désiré. Les trois fichiers de configuration existent dans chaque répertoire PGDATA/. Les détails sur le format des fichiers et des options disponibles dans chacun d'entre eux peuvent être trouvé dans:
file:///usr/share/doc/postgresql/html/tutorial.html
Créez le script de démarrage postgres avec ce qui suit:
cat > /etc/rc.d/init.d/postgres << "EOF" #!/bin/bash # Début $rc_base/init.d/postgres # Basé sur le script sysklogd de LFS-3.1 et précédent. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting PostgreSQL daemon..." su - postgres -c '/usr/bin/pg_ctl start -W -D /var/pgsql/data \ -l /var/pgsql/data/logfile -o "-i" ' evaluate_retval ;; stop) echo "Stopping PostgreSQL daemon..." /usr/bin/pg_ctl stop -m smart -D /var/pgsql/data evaluate_retval ;; restart) $0 stop sleep 1 $0 start ;; status) /usr/bin/pg_ctl status -D /var/pgsql/data ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/ EOF chmod 755 /etc/rc.d/init.d/postgres |
Créez le lien symbolique de ce fichier dans le répertoire rc.d adéquat avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/mysql ../rc0.d/K26postgres && ln -sf ../init.d/postgres ../rc1.d/K26postgres && ln -sf ../init.d/postgres ../rc2.d/K26postgres && ln -sf ../init.d/postgres ../rc3.d/S34postgres && ln -sf ../init.d/postgres ../rc4.d/S34postgres && ln -sf ../init.d/postgres ../rc5.d/S34postgres && ln -sf ../init.d/postgres ../rc6.d/K26postgres |
Le package PostgreSQL contient clusterdb, createdb, createlang, createuser, dropdb, droplang, dropuser, ecpg, initdb, initlocation, ipcclean, pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_encoding, pg_id, pg_resetxlog, pg_restore, postgres, postmaster, psql, vacuumdb, libecpg, libpq et différents modules charset.
clusterdb est un utilitaire pour reclustering les tables d'une base de données PostgreSQL.
ipcclean supprime la mémoire partagée et les sémaphores laissées par un serveur de base de données annulé.
pg_controldata renvoit des informations initialisées lors de la commande initdb, telle que la version du catalogue et la locale du serveur.
pg_dump extrait les données et les metadatas d'une base de données et les mets dans des scripts qui sont utilisés pour recréer la base de données.
pg_resetxlog efface les traces << write-ahead >> et réinitialise de façon optionnel quelques champs du fichier pg_control.
postgres est un serveur de base de données simple utilisateur, généralement utilisé pour le débuggage.
vacuumdb rend compact les bases de données et génère des statistiques pour l'analyseur de requêtes.
Ce chapitre inclut des applications répondant à des requêtes provenant d'Internet. Plus spécifiquement, cela couvre les requêtes HTTP et FTP.
Le package Apache contient un serveur HTTP open-source. Il est utile pour créer des intranet locaux ou pour réaliser un immense service web.
Téléchargement (HTTP): http://www.apache.org/dist/httpd/httpd-2.0.48.tar.gz
Téléchargement (FTP): ftp://ftp.tux.org/pub/net/apache/dist/httpd/httpd-2.0.48.tar.gz
Taille du téléchargement: 5,9 Mo
Estimation de l'espace disque requis: 95 Mo
Estimation du temps de construction: 1,31 SBU
Pour des raisons de sécurité, lancez le serveur en tant qu'utilisateur et groupe non privilégiés est fortement encouragé.
groupadd apache && useradd -c apache -d /dev/null -g apache -s /bin/false apache |
Le correctif suivant définit la disposition des répertoires de destination et, parmi cela, le répertoire de construction sur /usr/lib/apache/build. Ceci va permettre la configuration sans erreurs de l'ajout des modules d'Apache. Appliquez le correctif:
patch -Np1 -i ../httpd-2.0.48-config.patch |
Construisez et installez Apache en lançant les commandes suivantes:
./configure --enable-layout=LFS \ --enable-mods-shared=all && make && make install && chown root:root /usr/sbin/{apxs,apachectl,dbmmanage,envvars-std,envvars} && chown -R root:root /usr/{include,lib}/apache && chown -R root:root /var/www && chown -R root:root /usr/share/man |
--enable-mods-shared=all : Nous voulons que les modules soient compilés et utilisés en tant qu'objets dynamiques partagés (Dynamic Shared Objects ou DSO) de façon à ce qu'ils soient inclus ou exclus du serveur en utilisant les directives de configuration lors de son exécution.
/etc/apache/*
Le principal fichier de configuration s'appelle httpd.conf. Voir http://httpd.apache.org/docs-2.0/configuring.html pour des instructions détaillées sur la personnalisation de votre serveur Apache HTTP.
Pour automatiser le lancement d'Apache, utilisez la commande suivante pour créer le script de démarrage:
cat > /etc/rc.d/init.d/apache << "EOF" #!/bin/bash source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting Apache daemon..." /usr/sbin/apachectl -k start evaluate_retval ;; stop) echo "Stopping Apache daemon..." /usr/sbin/apachectl -k stop evaluate_retval ;; restart) echo "Restarting Apache daemon..." /usr/sbin/apachectl -k restart evaluate_retval ;; status) statusproc /usr/sbin/httpd ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac EOF chmod 755 /etc/rc.d/init.d/apache |
Créez les liens symboliques dans le bon répertoire rc.d avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/apache ../rc0.d/K28apache && ln -sf ../init.d/apache ../rc1.d/K28apache && ln -sf ../init.d/apache ../rc2.d/K28apache && ln -sf ../init.d/apache ../rc3.d/S32apache && ln -sf ../init.d/apache ../rc4.d/S32apache && ln -sf ../init.d/apache ../rc5.d/S32apache && ln -sf ../init.d/apache ../rc6.d/K28apache |
Le package Apache package apporte ab, apachectl, apr-config, apu-config, apxs, checkgid, dbmmanage, htdbm, htdigest, htpasswd, httpd, instdso.sh, logresolve, rotatelogs, libapr, libaprutil et différents modules.
ab est un outil de contrôle des performances de votre serveur Apache HTTP.
apachectl est l'interface du serveur Apache HTTP conçue pour aider l'administrateur à contrôler le fonctionnement du démon httpd d'Apache.
apxs est in outil pour contruire et installer des modules d'extension pour le serveur Apache HTTP.
dbmmanage est utilisé pour créer et mettre à jour les fichiers au format DBM utilisés pour stocker les noms d'utilisateur et mots de passe pour une authentifiation basique des utilisateurs HTTP.
htdigest est utilisé pour créer et mettre à jour les fichiers utilisées pour stocker les noms d'utilisateurs, domaines et mots de passe pour l'authentification digest des utilisateurs HTTP.
htpasswd est utilisé pour créer et mettre à jour les fichiers utilisés pour stocker les noms d'utilisateurs et mots de passe pour une authentification basique des utilisateurs HTTP.
logresolve est un programme résolvant les adresses IP contenues dans les fichiers de traces d'accès d'Apache.
rotatelogs est un simple programme à utiliser avec la fonctionnalité des fichiers de trace envoyés sur un tube.
PHP est l'acronyme de PHP Hypertext Preprocessor. Principalement utilisé pour les sites web dynamiques, il permet d'intégrer directement un code de programmation dans le code HTML.
Téléchargement (HTTP): http://us2.php.net/distributions/php-4.3.3.tar.bz2
Téléchargement (FTP): ftp://ftp.isu.edu.tw/pub/Unix/Web/PHP/distributions/php-4.3.3.tar.bz2
Taille du téléchargement: 3,5 Mo
Estimation de l'espace disque requis: 79 Mo
Estimation du temps de construction: 1,24 SBU
Installez PHP en lançant les commandes suivantes:
./configure --prefix=/usr --with-apxs2=/usr/sbin/apxs \ --with-config-file-path=/etc --with-openssl=/usr \ --with-zlib=/usr --enable-bcmath --with-bz2=/usr \ --with-curl --enable-ftp --with-gd --with-jpeg-dir=/usr \ --enable-gd-native-ttf --with-db4 --with-png-dir=/usr \ --with-freetype-dir=/usr --with-gettext --with-mysql=/usr \ --with-ncurses --sysconfdir=/etc && make && make install && cp php.ini-dist /etc/php.ini |
Note : PHP a beaucoup d'options configure qui activent le support de certaines fonctionnalités. Vous pouvez utiliser ./configure --help pour voir la liste complète des options disponibles. De même, utiliser le site web PHP est fortement recommendé car leur documentation en ligne est excellente.
/etc/php.ini, /etc/pear.conf
Pour activer le support de PHP au niveau du serveur web Apache, une nouvelle directive AddType doit être ajoutée au fichier httpd.conf:
AddType application/x-httpd-php .php |
De même, il peut être utile d'ajouter une entrée pour index.php dans la directive DirectoryIndex du fichier httpd.conf.
Le package ProFTPD contient un démon FTP sécurisé et hautement configurable. Il est utile pour servir des grandes archives de fichiers sur un réseau.
Téléchargement (FTP): ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.8p.tar.bz2
Taille du téléchargement: 729 Ko
Estimation de l'espace disque requis: 6,3 Mo
Estimation du temps de construction: 0,26 SBU
Pour des raisons de sécurité, lancer ProFTPD en tant qu'utilisateur et groupe non privilégiés est encouragé.
groupadd proftpd && useradd -c proftpd -d /home/ftp -g proftpd -s /bin/false proftpd |
Installez ProFTPD en lançant les commandes suivantes:
install_user=proftpd install_group=proftpd \ ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var && make && make install |
install_user=proftpd install_groud=proftpd : Spécifie l'identité de l'utilisateur et du groupe pour ProFTPD.
--prefix=/usr : Ceci installe ProFTPD dans /usr au lieu de /usr/local.
--sysconfigdir=/etc : Ceci empêche que les fichiers de configuration aillent dans /usr/etc.
--localstatedir=/var : Ceci utilise /var au lieu de /usr/var pour les fichiers de verrouillage et de trace.
/etc/proftpd.conf
Ceci est la configuration d'exemple uniquement téléchargeable. Voir la documentation dans /usr/share/doc/proftpd et consultez le site web sur http://www.proftpd.net/ pour d'autres exemples de configuration.
cat > /etc/proftpd.conf << "EOF" # This is a basic ProFTPD configuration file # It establishes a single server and a single anonymous login. ServerName "ProFTPD Default Installation" ServerType standalone DefaultServer on # Port 21 is the standard FTP port. Port 21 # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask 022 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User proftpd Group proftpd # Normally, we want files to be overwriteable. <Directory /*> AllowOverwrite on </Directory> # A basic anonymous configuration, no upload directories. <Anonymous ~proftpd> User proftpd Group proftpd # We want clients to be able to login with "anonymous" as well as "proftpd" UserAlias anonymous proftpd # Limit the maximum number of anonymous logins MaxClients 10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin welcome.msg DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot <Limit WRITE> DenyAll </Limit> </Anonymous> EOF |
cat > /etc/rc.d/init.d/proftpd << "EOF" #!/bin/sh # Begin $rc_base/init.d/proftpd # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting FTP Server..." loadproc /usr/sbin/proftpd ;; stop) echo "Stopping FTP Server..." killproc /usr/sbin/proftpd ;; reload) echo "Reloading FTP Server..." reloadproc /usr/sbin/proftpd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/proftpd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # End $rc_base/init.d/proftpd EOF chmod 755 /etc/rc.d/init.d/proftpd |
Créez les liens symboliques vers ce fichier dans les répertoires rc.d adéquats avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/proftpd ../rc0.d/K50proftpd && ln -sf ../init.d/proftpd ../rc1.d/K50proftpd && ln -sf ../init.d/proftpd ../rc2.d/K50proftpd && ln -sf ../init.d/proftpd ../rc3.d/S50proftpd && ln -sf ../init.d/proftpd ../rc4.d/S50proftpd && ln -sf ../init.d/proftpd ../rc5.d/S50proftpd && ln -sf ../init.d/proftpd ../rc6.d/K50proftpd |
Ce chapitre contient un environnement graphique pour l'utilisateur.
XFree86 est une implémentation opensource librement redistributable de X Window System. XFree86 fournit une interface client/server entre le matériel d'affichage (souris, clavier et affichage vidéo) et l'environnement de bureau tout en apportant aussi l'infrastructure de fenêtrage et une interface standardisée des applications (API).
Téléchargement (HTTP): http://gnu.kookel.org/ftp/XFree86/4.3.0/source/
Téléchargement (FTP): ftp://ftp.xfree86.org/pub/XFree86/4.3.0/source/
Taille du téléchargement: 64 Mo
Estimation de l'espace disque requis: 633 Mo
Estimation du temps de construction: 13,8 SBU
Les packages suivants sont inclus dans le package XFree86, néanmoins ils sont plus souvent mis à jour que le package XFree86 et sont hautement recommendés: expat-1.95.6, FreeType-2.1.5 et Fontconfig-2.2.1
Note : Si vous choisissez de ne pas installer ces packages séparés, le fichier host.def ci-dessous devra être modifié pour montrer à XFree86 la façon de les construire.
Plusieurs fichiers devront être récupérés à partir de l'emplacement de téléchargement:
X430src-1.tgz
X430src-2.tgz
X430src-3.tgz
X430src-4.tgz
X430src-5.tgz
X430src-6.tgz
X430src-7.tgz
Vous pouvez aussi télécharger le correctif: ftp://ftp.xfree86.org/pub/XFree86/4.3.0/fixes/4.3.0-4.3.0.1.diff.gz
Les trois premiers packages sont les programmes XFree86, le quatrième et le cinquième concernent les polices, le sixième contient la documentation standard et le dernier une version imprimable de la documentation. Il reste aussi deux packages doctools-1.3.1.tgz, contenant les programmes pour regénérer la documentation imprimable, et utils-1.1.0.tgz contenant les outils GNU TAR et zlib qui sont déjà installés sur un système LFS.
Pour vérifier l'intégrité de vos téléchargements, récupérez le fichier SUMS.md5sum. Puis:
md5sum -c SUMS.md5sum |
Les seules erreurs que vous devriez apercevoir sont pour les fichiers README, doctools-1.3.1.tgz et utils-1.1.0.tgz si vous ne les avez pas téléchargé.
Le sous-répertoire fixes contient aussi un SUMS.md5sum. Notez que c'est le même nom de fichier que les sommes des sources principales, donc vous devez renommer le fichier si vous le télécharger. Sinon, vous pouvez juste y jetez un oœl; et l'utiliser avec le fichier correctif:
md5sum 4.3.0-4.3.0.1.diff.gz |
Après le déballage des fichiers X430src-?.tgz et le décompressage du fichier diff, modifiez le répertoire xc et lancez:
patch -Np1 -i ./4.3.0-4.3.0.1.diff |
Si vous avez un Intel P6 (Pentium Pro, Pentium II et suivants), il est recommandé de compiler le support de MTRR (acronyme de Memory Type Range Registers) dans le noyau. Le noyau peut interfacer les CPU Cyrix et AMD avec l'interface MTRR, donc la sélection de cette option est aussi utile pour ces processeurs. Cette option se trouve dans le menu Processor type and features. Il peut améliorer la performance des opérations d'écriture d'images, de la 2,5 fois à plus sur les cartes vidéo PCI et AGP.
Dans la section "Character Devices", activez le support de l'AGP et sélectionnez le support du chipset de votre carte mère. Si vous ne connaissez pas le chipset, vous pouvez sélectionner tous les types de composants, ce qui va agrandir la taille de votre noyau. Vous pouve déterminer habituellement le chipset de votre carte mère en lançant:
cat /proc/pci |
Dans le section "Character Devices", désactivez le 'Direct Rendering Manager' sauf si vous avez une carte vidéo disposant de l'infrastructure 'Direct Rendering Infrastructure' (DRI). Voir la section DRI plus bas pour une liste. Si vous activez le DRI ici, assurez-vous de sélectionner la carte vidéo, en tant que module, carte vidéo pour laquelle vous souhaitez disposer du support.
Si vous faites tout changement dans la configuration du noyau, recompilez-le avec
make dep && make bzImage && make modules && make modules_install |
Copiez /usr/src/linux/arch/i386/boot/bzImage et /usr/src/linux/System.map dans /boot, éditez /etc/lilo.conf de manière appropriée et lancez lilo.
Note : Si vous construisez XFree86 dans un environnement chroot, assurez-vous que la version du noyau du système de base et du système cible sont les mêmes. Ceci est tout spécialement important si vous avec activé le support de DRI en tant que module en suivant les instructions ci-dessus.
Bien que XFree86 compilera sans fichier host.def, le fichier suivant est recommandé pour personnalisation de l'installation. Commencez à partir du répertoire xc.
Note : Le fichier host.def est un fichier C, pas le fichier de configuration habituel. Si vous effectuez des changements, assurez-vous que les caractères de commentaire (/* et */) sont corrects. La plupart des entrées dans le fichier ci-dessous ne sont plus en commentaires avec les paramètrages par défaut.
cat > config/cf/host.def << "EOF" /* Begin XFree86 hosts.def file */ /* System Related Information. If you read and configure only one * section then it should be this one. The Intel architecture defaults are * set for a i686 and higher. Axp is for the Alpha architecture and Ppc is * for the Power PC. Note that there have been reports that the Ppc * optimization line causes segmentation faults during build. If that * happens, try building without the DefaultGcc2PpcOpt line. **************/ /* #define DefaultGcc2i386Opt -O2 -fomit-frame-pointer -march=i686 */ /* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */ /* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */ /* The following definitions are normally set properly by XFree86's scripts. * You can uncomment them if you want to make sure. ************************/ /* #define HasMTRRSupport YES */ /* Enabled in kernel see kernel docs */ /* #define HasMMXSupport NO */ /* Any i586 or above */ /* #define HasKatmaiSupport NO */ /* PIII SSE instuctions */ /* #define Has3DNowSupport NO */ /* AMD instructions */ /* This setting reduces compile time a little by omitting rarely used input * devices. You can find the complete list in config/cf/xfree86.cf ********/ #define XInputDrivers mouse void /* VIDEO DRIVERS ***********************************************************/ /* If you are sure you only want the drivers for one or a few video cards, * you can delete the drivers you do not want. *****************************/ #define XF86CardDrivers mga glint nv tga s3virge rendition \ cirrus vmware tseng chips apm \ fbdev i128 \ ati AgpGartDrivers DevelDrivers ark cyrix \ vesa vga XF86OSCardDrivers /* FONT SERVER AND LIBRARY SETTINGS ****************************************/ /* These setting should be set by default, but we are making sure. *********/ #define BuildFontServer YES /* Need for GhostScript Print Server */ #define SharedLibFont YES #define CompressAllFonts YES #define GzipFontCompression YES /* These setting ensure we use the proper version of freetype **************/ #define HasFreetype2 YES #define HasFontconfig YES #define BuildFreetype2Library NO #define Freetype2Dir /usr /* The font path can be redefined in the XF86Config file *******************/ #define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/75dpi/,\ $(FONTDIR)/100dpi/,$(FONTDIR)/Type1,$(FONTDIR)/local,\ $(FONTDIR)/TrueType,$(FONTDIR)/CID,$(FONTDIR)/Speedo /* INTERNATIONAL FONTS. Change to YES if you need any of them. These are * the defaults. ***********************************************************/ #define BuildCyrillicFonts NO #define BuildArabicFonts NO #define BuildISO8859_6Fonts NO #define BuildGreekFonts NO #define BuildISO8859_7Fonts NO #define BuildHebrewFonts NO #define BuildISO8859_8Fonts NO #define BuildKOI8_RFonts NO #define BuildJapaneseFonts NO #define BuildJISX0201Fonts NO #define BuildKoreanFonts NO #define BuildChineseFonts NO /* DOCUMENTATION SETTINGS **************************************************/ /* These setting are the defaults. *****************************************/ #define BuildLinuxDocHtml NO /* X Docs in Html format */ #define BuildLinuxDocPS NO /* X Docs in PostScript format */ #define BuildAllSpecsDocs NO /* Various docs */ #define BuildHtmlManPages NO /* Linux Distribution Information - Not essential that it is totally right.*/ #define LinuxDistribution LFS /* GENERAL SETTINGS: You generally want to leave these alone when * building X on an LFS system *********************************************/ #define GccWarningOptions -pipe #define TermcapLibrary -lncurses #define XprtServer YES /* Needed by realplayer */ #define XnestServer YES #define XAppLoadDir EtcX11Directory/app-defaults #define VarLibDir /var/lib #define XFree86Devel NO #define FSUseSyslog YES #define ThreadedX YES #define HasZlib YES #define HasNCurses YES #define HasPam NO #define SystemManDirectory /usr/share/man #define HasLibCrypt YES #define InstallXinitConfig YES #define InstallXdmConfig YES #define ForceNormalLib YES #define BuildSpecsDocs NO /* End XFree86 host.def file */ EOF |
Editiez le fichier suivant votre matériel et vos désirs.
Installez XFree86 en lançant les commandes suivantes:
WORLDOPTS="" make World 2>&1 | tee xfree-compile.log && make install && make install.man && ln -sf /usr/X11R6/bin /usr/bin/X11 && ln -sf /usr/X11R6/lib/X11 /usr/lib/X11 && ln -sf /usr/X11R6/include/X11 /usr/include/X11 |
Si vous possédez une des cartes DRI supportées et que vous avez activé le support de DRI dans les modules du noyau comme expliqué ci-dessus, vous avez maintenant besoin de mettre à jour les modules du noyau pour vous assurer qu'ils sont compatibles avec la version actuelle d'XFree86. Pour cela, réalisez ce qui suit:
cd programs/Xserver/hw/xfree86/os-support/linux/drm/kernel && make CC=/opt/gcc-2.95.3/bin/gcc -f Makefile.linux && mkdir -p /lib/modules/`uname -r`/kernel/drivers/char/drm/ && cp gamma.o radeon.o sis.o r128.o i810.o i830.o mga.o tdfx.o \ /lib/modules/`uname -r`/kernel/drivers/char/drm/ && depmod -a |
Avertissement |
Si vous recompilez ou mettez à jour votre noyau, vous aurez besoin de recopier les modules du pilotes dans la bibliothèque des modules du noyau et de relancer depmod. |
Note : Si vous avez ajouté le support de l'AGP en module lors de la compilation du noyau, vous pouvez ajouter une ligne dans /etc/modules.conf pour vous assurer que le module agpgart est bien chargé. Par exemple, la version AGP de la carte vidéo Radeon utilisera le pilote radeon.o. Il aura besoin de cette ligne
dans /etc/modules.conf pour activer le support DRI.
en dessous de radeon agpgart
make World 2>&1 | tee xfree-compile.log: Cette commande lance plusieurs makefiles pour constuire complètement le système. WORLDOPTS="" désactive la configuration par défaut pour continuer même en cas d'erreurs. 2>&1 redirige les messages d'erreurs vers la même sortie que la sortie standard. La commande tee permet de visusaliser la sortie en même temps que l'enregistrement des résultats dans un fichier.
Note : Lors de la reconstruction de XFree86, une commande séparée, qui peut être utilisée seulement si des changements mineurs ont lieu dans les sources, est make Everything. Ceci ne supprime pas automatiquement les fichiers générés et reconstruit seulement les fichiers ou programmes qui ne sont plus à jour.
ln -sf /usr/X11R6/bin /usr/bin/X11, ln -sf /usr/X11R6/lib/X11 /usr/lib/X11 et ln -sf /usr/X11R6/include/X11 /usr/include/X11: Ces commandes sont présentes pour permettre à d'autres packages (cassés) d'être construit avec XFree86. Nous le faisons même si FHS (Filesystem Hierarchy Standard, le Standard de Hiérarchie du système de Fichiers) dit: "En général, les logiciels ne doivent pas être installés ou gérés via les liens symboliques ci-dessus. Ils sont à l'intention des utilisateurs pour leur propre utilisation."
make -f Makefile.linux : Ceci construit les modules noyau compatible avec XFree86.
cp gamma.o radeon.o sis.o r128.o i810.o i830.o mga.o tdfx.o /lib/modules/`uname -r`/kernel/drivers/char/drm/ : Place les modules du noyau là où celui-ci les attend.
depmod -a : Met à jour le fichier modules.dep pour la gestion des modules.
Editez /etc/ld.so.conf et lancez /usr/X11R6/lib. Lancez
ldconfig |
Ajoutez /usr/X11R6/bin à votre variable d'environnement PATH dans .bash_profile. Vous devriez apercevoir quelque chose comme PATH=$PATH:/usr/X11R6/bin et être placé avant la commande export PATH.
Lancez
source ~/.bash_profile |
Configurez votre souris:
cd /dev ln -s psaux mouse |
Créez le fichier XF86Config avec
cd ~ XFree86 -configure |
Editez XF86Config.new suivant votre système. Les détails de ce fichier sont indiqués dans la page man man XF86Config. Vous pourriez vouloir faire:
Section "Files". Changer l'ordre du chemin des polices. Vous pouvez vouloir placer les polices 100dpi avant les polices 75dpi si votre système est plus près de 100 points par pouce. Vous pourriez vouloir supprimer complètement quelques répertoires de polices.
Section "Monitor". Spécifiez les valeurs de VertRefresh et HorizSync si le système ne détecte pas automatiquement le moniteur et ses valeurs.
Section "InputDevice". Vous pouvez vouloir changer le taux de répétition automatique en ajoutant Option "Autorepeat" "250 30".
Section "Device". Vous pouvez initialiser certaines options disponibles dans le pilote vidéo que vous avez sélectionné. Une description des paramètres du pilote se trouve sur la page man de votre pilote.
Section "Screen". Ajouter une indication DefaultDepth telle que: DefaultDepth 16. Dans la sous-section (SubSection) pour votre profondeur par défaut, ajouter les lignes 'modes line' telles que: Modes "1280x1024" "1024x768". Le premier mode affiché va normalement être la résolution lors du démarrage.
Testez le system avec
XFree86 -xf86config ~/XF86Config.new |
Déplacez le fichier de configuration à son emplacement final
mv ~/XF86Config.new /etc/X11/XF86Config-4 |
Créez .xinitrc
cat > ~/.xinitrc << "EOF" # Begin .xinitrc file xterm -g 80x40+0+0 & xclock -g 100x100-0+0 & twm EOF |
Lancez X avec
startx |
Le package XFree86 contient le système X Window pour Linux (et d'autres systèmes d'exploitation). Il inclut le serveur X, des polices, xterm, un simple gestionnaire de fenêtres (twm), des utilitaires variés, des pilotes vidéos et des pilotes d'entrées variés comme la souris et le clavier.
XFree86 contient aussi les bibliothèques et les fichiers d'entêtes pour le développement des programmes X Window.
Note : La liste suivante de programmes n'est pas extensible. La liste complète est dans /usr/X11R6/bin. Pour des informations supplémentaires sur ces programmes, voir les pages man respectives.
Un programme interactif pour générer un fichier XF86Config pour utiliser avec des serveurs X XFree86.
xf86cfg est un outil pour configurer XFree86 qui peut être utilisé pour soit écrire le fichier de configuration initial soit personnaliser la configuration courante.
xmodmap est un utilitaire pour modifier des plans de codage de clavier et du pointeur dans X.
DRI est un ensemble de travail permettant aux logiciels d'accéder au matériel graphique d'une manière efficace et sûre. Il est installé avec XFree86 par défaut si vous disposez d'une carte vidéo le supportant. Pour vérifier si DRI est installé correctement, vérifiez le fichier de traces /var/log/XFree86.0.log pour des indications comme:
(II) R128(0): Direct rendering enabled |
A partir d'un xterm, lancez glxinfo et cherchez la phrase:
direct rendering: Yes |
Vous pouvez aussi lancer le programme de test glxgears. Ce programme affiche une fenêtre avec trois engrenages tournants. xterm affichera le nombre d'images par cinq secondes, ce qui est une mesure de performance raisonnable. La fenêtre est redimensionnable, et le temps d'affichage des images écrites chaque seconde sont extrêmement dépendantes de la taille de la fenêtre.
Pour résoudre les problèmes éventuels, voir le guide de l'utilisateur DRI sur http://dri.sourceforge.net/doc/DRIuserguide.html.
Le support des polices TrueType est intégré à XFree86. Les éléments suivants ont besoin d'être complétés pour rendre les polices disponibles.
Etablir un répertoire pour les polices et y placer toutes les polices TrueType souhaitées.
Créer les fichiers fonts.scale et fonts.dir dans le répertoire des polices TrueType.
S'assurer que le module TrueType est chargé dans XF86Config.
S'assurer que la variable FontPath dans XF86Config contient le répertoire des polices TrueType.
La construction d'XFree86 faite ci-dessus crée un répertoire pour les polices TrueType: /usr/X11R6/lib/X11/fonts/TTF. Ce répertoire dispose déjà de quelques polices TrueType et est configuré correctement. Si ce répertoire est satisfaisant, copiez toutes les autres polices TrueType que vous souhaitez dans ce répertoire. Sinon, créez un nouveau répertoire, de préférence dans le répertoire /usr/X11R6/lib/X11/fonts/ et placez vos polices TrueType ici.
Maintenant, allez dans le répertoire où se trouvent vos polices TrueType et lancez
mkfontscale && mkfontdir |
La section "Module" devrait ressembler à ceci:
Section "Module" ... Load "freetype" ... EndSection |
Le section "Files" devrait ressembler à ceci:
Section "Files" ... FontPath "/usr/X11R6/lib/X11/fonts/[TruetypeDir]/" ... EndSection |
Finalement, pour mettre à jour tous les fichiers de cache des polices spécifiés dans /etc/fonts/fonts.conf, lancez
fc-cache |
XFree86 sera maintenant capable d'utiliser les polices TrueType lorsqu'il sera relancé. Vous pouvez vérifier si les nouvelles polices sont disponibles avec les programmes xlsfonts et xfontsel.
Note : Vous devriez relancer mkfontscale et mkfontdir à chaque fois que vous ajoutez ou supprimez des polices TrueType. Vous devriez aussi relancer fc-cache à chaque fois que vous ajoutez ou enlevez des polices.
Dans cette version d'XFree86, il a été dit que les plans de codage du clavier non-latin n'incluaient pas le configuration pour les entrées latin et non-latin, ce qui était auparavant le cas. Pour configurer un clavier en latin et non-latin, modifiez l'option du pilote du clavier XkbLayout dans la section InputDevice du fichier XF86Config. Par exempe:
Section "InputDevice" Identifier "Keyboard0" Driver "Keyboard" Option "XkbModel" "pc105" Option "XkbLayout" "en_US,ru" Option "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:scroll" EndSection |
Dans cet exemple, vous pouvez utiliser la combinaison Alt-Shift pour passer d'un plan de codage à un autre et utiliser la LED "Scroll Lock" pour indiquer lorsque le deuxième plan est actif.
xdm apporte un utilitaire de connexion graphique et est normalement configuré avec /etc/inittab. La plupart des informations dont vous avez besoin pour personnaliser xdm se trouve dans sa page man. Pour exécuter xdm au lancement, modifiez le niveau d'initialisation par défaut à 5 et ajoutez les lignes suivantes à /etc/inittab:
# Lancez xdm en tant que service séparé x:5:respawn:/usr/X11R6/bin/xdm -nodaemon |
Il existe beaucoup d'options pouvant être configurées dans XFree86 et les clients X via les ressources. Des ressources typiques sont configurées dans le fichier ~/.Xresources.
La répartition du fichier ~/.Xresources consiste en une liste de spécifications de la forme:
object.subobject[.subobject...].attribute: value |
Typiquement, les composants d'une spécification de ressource sont liés ensemble par un lien serré, représenté par un point (.), ou lâche, représenté par une astérisque (*). Un lien serré indique que les composants de chaque côté du point doivent être directement associés comme défini dans l'implémentation. Une astérisque est un caractère spécial signifiant un nombre illimité d'une hiérarchie définie. Par exemple, XFree86 offre deux nouveaux curseurs: redglass et whiteglass. Pour utiliser une de ces ressources, vous avez besoin d'ajouter la ligne suivante:
Xcursor.theme: whiteglass |
Néanmoins, vous pouvez spécifier que le fond de tous les cliens avec:
*background: blue |
Des variables de ressources plus spécifiques vont surenchérir des noms moins spécifiques.
Des définitions de ressources sont disponibles dans les pages man de chaque client.
Pour charger vos ressourcesn, le programme xrdb doit être appelé avec les paramètres appropriés. Typiquement, la première fois que vous chargez les ressources, vous utilisez:
xrdb -load <filename> |
Pour ajouter des ressources à la base de données XFree86 en mémoire, utilisez:
xrdb -merge <filename> |
L'instruction xrdb est généralement placé dans ~/.xinitrc ou ~/.xsession. Pour plus d'informations, voir la page man xrdb.
Ce chapitre ne contient pas des bibliothèques requises pour lancer X. Il contient des bibliothèques améliorant X. L'amélioration est aussi simple que le support des polices ou aussi complexe que les bibliothèques faisant l'interface entre X et les applications qui utilisent X dont le but est de standardiser l'allure et le comportement ainsi que les communications inter-processus pour que les applications écrites par différents développeurs finissent par se comporter de la même façon. Elles assistent aussi les développeurs en leur fournissant des éléments communs.
Le package FreeType2 contient une bibliothèque permettant à XFree86 d'afficher correctement les polices TrueType.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.5.tar.bz2
Téléchargement (FTP): ftp://ftp.pu.edu.tw/Unix/Graphics/freetype/freetype2/freetype-2.1.5.tar.bz2
Taille du téléchargement: 831 Ko
Estimation de l'espace disque requis: 22 Mo
Estimation du temps de construction: 0,35 SBU
Installez freetype2 en lançant les commandes suivantes:
patch -Np1 -i ../freetype-2.1.5-ahhint.patch && cp include/freetype/config/ftoption.h include/freetype/config/ftoption.h.orig && sed -e "s%\/\* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER \*\/%#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER%" \ include/freetype/config/ftoption.h.orig > include/freetype/config/ftoption.h && ./configure --prefix=/usr && make && make install |
sed ... include/freetype/config/ftoption.h : Nous activons l'interpréteur bytecode TrueType avant de construire la bibliothèque.
Les bibliothèques FreeType2 ajoutent le support des polices TrueType pour XFree86.
Le package Fontconfig est une bibliothèque de configuration et de personnalisation d'accès aux polices de caractères.
Téléchargement (HTTP): http://pdx.freedesktop.org/software/fontconfig/releases/fontconfig-2.2.1.tar.gz
Téléchargement (FTP): ftp://ftp.us.sinuspl.net/pub/src/fontconfig-2.2.1.tar.gz
Taille du téléchargement: 600 Ko
Estimation de l'espace disque requis: 9,6 Mo
Estimation du temps de construction: 0,19 SBU
Note : Le système de numérotage de Fontconfig est inhabituel. Les versions beta du package sont numérotées avec un 9x en dernière partie du numéro de version. Ceci signifie que la 2.2.90 est une version beta et la version stable la plus à jour est de la forme 2.2.1.
Installez Fontconfig en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
Le fichier de configuration pour Fontconfig est /etc/fonts/fonts.conf. Généralement, vous ne voudrez pas éditer ce fichier. Pour indiquer un nouveau répertoire de polices de caractères dans la configuration, créez un nouveau fichier, /etc/fonts/local.conf, avec vos informations locales. L'emplacement par défaut des polices dans Fontconfig est:
/usr/share/fonts
~/.fonts
Parce que nous n'avons pas encore construit XFree86, placez les répertoires suivants dans /etc/fonts/local.conf:
<dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
<dir>/usr/X11R6/lib/X11/fonts/truetype</dir>
Le programme Fontconfig cherchera automatiquement les répertoires ci-dessous et tous les sous-répertoires.
Note : X inclut aussi une version interne (et plus ancienne) de Fontconfig et au moins qu'elle ne soit explicitement désactivée lors de la construction d'XFree86, la version interne est créée laissant deux versions de bibliothèques légèrement incompatible sur votre système. Il est recommendé que vous n'installiez qu'une seule version.
fc-cache est une commande pour créer des caches d'informations sur les polices de caractères.
Le package Qt contient une bibliothèque C++ de GUI. Elle est utile pour créer des applications graphiques ou pour exécuter des applications graphiques liées dynamiquement avec elle.
Téléchargement (HTTP): http://gd.tuwien.ac.at/opsys/linux/sf/f/fink/qt-x11-free-3.2.1.tar.bz2
Téléchargement (FTP): ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.2.1.tar.bz2
Taille du téléchargement: 14 Mo
Estimation de l'espace disque requis: 155 Mo
Estimation du temps de construction: 29 SBU (complet), 18 SBU (outils)
bash export QTDIR=$PWD && export LD_LIBRARY_PATH=$QTDIR/lib && export PATH=$QTDIR/bin:$PATH && ./configure -prefix /opt/qt-3.2.1 -qt-gif -system-libpng \ -system-libmng -system-zlib -system-libjpeg -no-g++-exceptions \ -thread && make && make install && ln -sfn /opt/qt-3.2.1 /opt/qt && ln -s /opt/qt/lib/libqt-mt.so /opt/qt/lib/libqt.so && cp -r doc/man /opt/qt/doc && cp -r examples /opt/qt/doc exit |
Note : Le temps de construction de Qt est assez long. Si vous voulez gagner du temps et si vous ne voulez pas les tutoriels et les exemples, changez la première ligne du make ci-dessus avec:
make sub-tools
bash: Cette commande entre dans un sous-sheel pour isoler les modification de l'environnement.
export QTDIR=$PWD: Cette commande définit l'emplacement du répertoire Qt.
export LD_LIBRARY_PATH=$QTDIR/lib: Cette commande initialise l'emplacement des bibliothèques pour le processus de construction.
export PATH=$QTDIR/bin:$PATH: Cette commande permet au processus de construction de trouver les exécutables de support.
-prefix /opt/qt-3.2.1: Cette option indique la destination de l'installation.
-qt-gif: Cette option ajoute le support des fichiers gif aux bibliothèques.
-system-libpng -system-libmng -system-zlib -system-libjpeg: Cette option force la bibliothèque à utiliser les bibliothèques partagées présentes sur le système au lieu de recréer son propre ensemble de bibliothèques de support de ces fonctions.
-no-g++-exceptions: Cette option désactive le codage des exceptions générées par le compilateur C++.
-thread: Cette option compile la bibliothèque avec le support du multi-threading.
ln -sfn /opt/qt-3.2.1 /opt/qt: Cette commande normalise l'emplacement des bibliothèques qt dans l'entrée ld.so.conf décrit ci-dessous.
ln -s /opt/qt/lib/libqt-mt.so /opt/qt/lib/libqt.so: Cette commande permet aux scripts configure de trouver une installation fonctionnelle de Qt.
cp -r doc/man /opt/qt/doc: Cette commande installe le répertoire man qui est oublié par le make install.
cp -r examples /opt/qt/doc: Cette commande installe le répertoire d'exemples oublié par make install.
exit: Cette commande permet de retourner au shell parent et élimine ainsi les variables d'environnement initialisées précédemment.
Comme avec la plupart des bibliothèques, il n'y a pas de configuration à effectuer sauf que le répertoire des bibliothèques /opt/qt/lib doit apparaitre dans /etc/ld.so.conf de façon à ce que ldd puisse trouver les bibliothèques partagées. Les commandes suivantes vont ajouter ce qu'il manque:
cat >> /etc/ld.so.conf << "EOF" # Début ajout qt dans /etc/ld.so.conf /opt/qt/lib # Fin ajout qt EOF ldconfig |
Vous devez ajouter le chemin vers les pages man de Qt dans le fichier man.conf. Ceci est fait avec la commande suivante:
cat >> /etc/man.conf << "EOF" # Début ajout qt dans man.conf MANPATH /opt/qt/doc/man # Fin ajout qt EOF |
La bibliothèque Qt/X11 contient les API nécessaires à l'utilisation de programmes KDE.
Le package GTK+ contient les bibliothèques GTK+. C'est utile pour créer l'interface utilisateur graphique d'applications.
Téléchargement (HTTP): http://gd.tuwien.ac.at/graphics/gimp/gtk/v1.2/gtk+-1.2.10.tar.gz
Téléchargement (FTP): ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz
Taille du téléchargement: 2,7 Mo
Estimation de l'espace disque requis: 54 Mo
Estimation du temps de construction: 1,96 SBU
Installez GTK+ en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
--sysconfdir=/etc : Ceci installe les fichiers de configuration dans /etc au lieu de /usr/etc.
--with-xinput=xfree : Cette option de configuration est nécessaire pour utiliser les périphériques d'entrées alternatifs.
Les bibliothèques GTK+ apportent une API pour implémenter des interfaces utilisateur graphiques.
Le package Pango contient les bibliothèques libpango. Elles sont utiles pour le positionnement et le rendu de textes.
Téléchargement (HTTP): http://gd.tuwien.ac.at/graphics/gimp/gtk/v2.2/pango-1.2.5.tar.gz
Téléchargement (FTP): ftp://ftp.gtk.org/pub/gtk/v2.2/pango-1.2.5.tar.gz
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 21,8 Mo
Estimation du temps de construction: 0,49 SBU
Pour que pango trouve xft2, la variable PKG_CONFIG_PATH doit inclure /usr/X11R6/lib/pkgconfig. C'est le bon moment pour l'ajouter si vous ne l'avez pas encore fait. Les instructions spécifiques pour modifier cette variable sont disponibles dans les instructions de pré-installation de gnome.
Installez Pango en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
--sysconfdir=/etc : Ceci installe les fichiers de configuration dans /etc au lieu de /usr/etc.
--enable-gtk-doc : Cette option reconstruira la documentation API lors de la commande make.
Les bibliothèques Pango contiennent des routines de rendu bas niveau, un pilote haut niveau pour assembler des blocs entiers de textes et des routines d'aide à l'édition de textes internationalisés.
Le package ATK contient les bibliothèques ATK. Elles sont utiles pour permettre à des solutions d'accessibilité d'être disponible sur toutes les applications GTK2.
Téléchargement (HTTP): http://gd.tuwien.ac.at/graphics/gimp/gtk/v2.2/atk-1.2.4.tar.bz2
Téléchargement (FTP): ftp://ftp.gtk.org/pub/gtk/v2.2/atk-1.2.4.tar.bz2
Taille du téléchargement: 328 Ko
Estimation de l'espace disque requis: 6,2 Mo
Estimation du temps de construction: 0,12 SBU
Installez ATK en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
--enable-gtk-doc : Cette option construira la documentation API durant la commande make.
Les bibliothèques ATK contiennent l'API utilisée par des technologies 'assistives' pour interagir avec le bureau et les applications.
Le package GTK+ contient les bibliothèques GTK+. C'est utile pour créer des interfaces graphiques utilisateur pour les applications.
Téléchargement (HTTP): http://gd.tuwien.ac.at/graphics/gimp/gtk/v2.2/gtk+-2.2.4.tar.bz2
Téléchargement (FTP): ftp://ftp.gtk.org/pub/gtk/v2.2/gtk+-2.2.4.tar.bz2
Taille du téléchargement: 6,9 Mo
Estimation de l'espace disque requis: 187 Mo
Estimation du temps de construction: 2,88 SBU
Installez GTK+ en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
--sysconfdir=/etc: Cette option installe les fichiers de configuration dans /etc au lieu de /usr/etc.
--enable-gtk-doc: Cette option reconstruita la documentation de l'API lors de la commande make.
Les bibliothèques GTK+ fournissent l'API pour implémenter les interfaces graphiques utilisateur.
Le package LessTif contient une version Open Source d'OSF/Motif(R).
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/lesstif/lesstif-0.93.46.tar.bz2
Téléchargement (FTP): ftp://ftp.linux.hr/pub/lesstif/srcdist/lesstif-0.93.46.tar.bz2
Taille du téléchargement: 2,5 Mo
Estimation de l'espace disque requis: 33 Mo
Estimation du temps de construction: 2,73 SBU
Installez LessTif en lançant les commandes suivantes:
./configure --prefix=/usr \ --enable-build-20 \ --enable-build-21 \ --disable-debug \ --enable-production \ --disable-build-tests \ --with-xdnd && make && make install |
--enable-build-20 : Construit la version compatible Motif 2.0 des bibliothèques LessTif.
--enable-build-21 : Construit aussi les versions compatible Motif 2.1.
--disable-debug : Ne génère pas d'informations de débuggage.
--enable-production : Construit la release des bibliothèques LessTif.
--disable-build-tests : Ne construit pas l'arbre test/ (voir note de tests ci-dessous).
--with-xdnd : Active le support de la compatibilité XDND Gnome.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Il est recommandé de tester l'installation de LessTif avec la suite de test disponible dans lesstif-0.93.46/test. Il n'est pas requis d'installer un des binaires pour valider l'installer, les commandes suivantes, exécutées à partir du répertoire des sources, suffiront:
cd test && ./configure && make |
Les bibliothèques LessTif sont des bibliothèques X Window System compatibles OSF/Motif(R) au niveau code source.
Le package startup-notification contient les bibliothèques startup-notification. Elles sont utiles pour créer une façon constante d'avertir l'utilisateur via le curseur que l'application est en cours de chargement.
Téléchargement (HTTP): http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.5.tar.gz
Téléchargement (FTP): ftp://ftp.linux.org.uk/pub/linux/GNOME/sources/startup-notification/0.5/startup-notification-0.5.tar.gz
Taille du téléchargement: 212 Ko
Estimation de l'espace disque requis: 1,6 Mo
Estimation du temps de construction: 0,08 SBU
Installez startup-notification en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Les bibliothèques startup-notification apportent des fonctions permettant d'aider les applications à communiquer à l'utilisateur en montrant avec le curseur que l'application est en cours de chargement.
Des gestionnaires de fenêtres et des environnements de bureau sont les interfaces principales de l'utilisateur dans le système X Window. Un gestionnaire de fenêtre est un programme qui contrôle l'apparence des fenêtres et apporte les moyens par lesquels l'utilisateur peut interagir avec elles. Un environnement de bureau apporte une interface plus complète au système d'exploitation et apporte un ensemble d'utilitaires et d'applications intégrés.
Il existe un grand nombre de gestionnaires de fenêtres. Les plus connus incluent fvwm2, Window Maker, AfterStep, Enlightenment, Sawfish, et Blackbox.
Les environnements de bureau disponibles pour Linux sont GNOME, KDE et XFce.
Choisir un gestionnaire de fenêtres ou un environnement de bureau est hautement subjectif. Le choix dépend de l'apparence ('look and feel') des packages, des ressources (RAM, espace disque) requises, et des utilitaires inclues. Un site web, apportant un très bon résumé de ce qui est disponible, des copies d'écran et les fonctionnalités respectives, est Gestionnaires de Fenêtres sous X.
Dans ce chapitre, les instructions d'installation de plusieurs gestionnaires de bureau et d'un environnement de bureau léger sont présentées. Plus loin dans ce livre, KDE et GNOME auront leur propre partie.
Le package sawfish contient un gestionnaire de fenêtres. Il est utile pour organiser et afficher des fenetres où toutes les décorations sont configurables et où tout la politique d'interface utilisateur est contrôlé au travers d'un langage d'extension.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sawmill/sawfish-1.3.tar.gz
Téléchargement (FTP): ftp://sunsite.ccu.edu.tw/pub10/sourceforge/s/sawmill/sawfish-1.3.tar.gz
Taille du téléchargement: 1,5 Mo
Estimation de l'espace disque requis: 17,5 Mo
Estimation du temps de construction: 0,26 SBU
Installez sawfish en lançant les commandes suivantes:
./configure --prefix=/usr --libexec=/usr/sbin --infodir=/usr/share/info \ --with-gnome-prefix=/opt/gnome-2.2 && make && make install |
--with-audiofile : Cette commande demande à sawfish d'utiliser libaudiofile pour la manipulation du son.
--with-esd : Cette commande indique à sawfish d'utiliser le démon de son Enlightened.
--with-gnome-prefix=/opt/gnome2-2 : Cette commande indique à sawfish le répertoire de GNOME.
Assurez-vous de sauvegarder votre version actuelle .xinitrc avant de continuer.
cat >> ~/.xinitrc << "EOF" exec sawfish EOF |
sawfish est un gestionnaire de fenêtres extensible en utilisant un langage de script basé sur Lisp.
Le package Fluxbox contient un gestionnaire de fenêtres.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/fluxbox/fluxbox-0.1.14.tar.bz2
Taille du téléchargement: 372 Ko
Estimation de l'espace disque requis: 53,9 Mo
Estimation du temps de construction: 1,28 SBU
Installez Fluxbox en lançant les commandes suivantes:
patch -Np1 -i ../fluxbox-0.1.14-gcc33.patch && ./configure --prefix=/usr --enable-kde --enable-gnome && make && make install |
--enable-kde : Cette commande active la fonctionnalité de Fluxbox lui permettant de placer les icônes de la poubelle KDE.
--disable-nls: Cette commande désactive la fonctionnalité de Fluxbox pour supporter les langages internationaux. C'est un paramètre optionnel pour contourner un problème de compilation si vous n'avez pas installer toutes les locales.
~/.fluxbox/init, ~/.fluxbox/keys, ~/.fluxbox/menu
Assurez-vous d'avoir sauvegardé votre version actuelle de .xinitrc avant de continuer l'installation.
cat >> ~/.xinitrc << "EOF" exec fluxbox EOF |
mkdir ~/.fluxbox && cp /usr/share/fluxbox/init ~/.fluxbox/init && cp /usr/share/fluxbox/keys ~/.fluxbox/keys && cp /usr/share/fluxbox/menu ~/.fluxbox/menu |
Les objets du menu sont ajoutés en éditant ~/.fluxbox/menu. La syntaxe est expliquée dans la page man de fluxbox.
fluxbox est un gestionnaire de fenêtre pour X11 basé sur Blackbox 0.61.0.
bsetbg est un utilitaire qui met en place l'image de fond d'écran. Il a besoin de display, Esetroot, wmsetbg, xv, qiv ou xsri pour être utilisé.
Le package Metacity contient un gestionnaire de fenêtres. C'est utile pour organiser et afficher les fenêtres.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/metacity/2.4/metacity-2.4.55.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/metacity/2.4/metacity-2.4.55.tar.bz2
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 31,5 Mo
Estimation du temps de construction: 0,49 SBU
Installez Metacity en lançant les commandes suivantes:
./configure --prefix=/usr --libexec=/usr/sbin --sysconfdir=/etc && make && make install |
Assurez-vous de sauvegarder votre .xinitrc actuel avant de continuer.
cat >> ~/.xinitrc << "EOF" xterm & exec metacity EOF |
Le package XFce contient un environnement de bureau léger.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/xfce/xfce-4.0.0-src.tar.bz2
Taille du téléchargement: 16 Mo
Estimation de l'espace disque requis: 107 Mo
Estimation du temps de construction: varie
XFce est distribué maintenant avec une archive TAR des packages de base et des modules. Ces instructions couvrent seulement le minimum pour lancer l'application. Les modules restant pourraient tous suivre le même modèle qui deviendra rapidement évident.
Installez XFce en lançant les commandes suivantes:
cd src && tar -xzvf libxfce4util-4.0.0.tar.gz && cd libxfce4util-4.0.0 && ./configure --prefix=/usr && make && make install && cd .. && tar -xzvf libxfcegui4-4.0.0.tar.gz && cd libxfcegui4-4.0.0 && ./configure --prefix=/usr && make && make install && cd .. && tar -xzvf libxfce4mcs-4.0.0.tar.gz && cd libxfce4mcs-4.0.0 && ./configure --prefix=/usr --sysconfdir=/etc && make && make install && cd .. && tar -xzvf xfce-mcs-manager-4.0.0.tar.gz && cd xfce-mcs-manager-4.0.0 && ./configure --prefix=/usr && make && make install && cd .. && tar -xzvf xfwm4-4.0.0.tar.gz && cd xfwm4r-4.0.0 && ./configure --prefix=/usr && make && make install && cd .. && tar -xzvf xfdesktop-4.0.0.tar.gz && cd xfdesktop-4.0.0 && ./configure --prefix=/usr --sysconfdir=/etc && make && make install && cd .. && tar -xzvf xfce4-panel-4.0.0.tar.gz && cd xfce4-panel-4.0.0 && ./configure --prefix=/usr --sysconfdir=/etc && make && make install && cd .. && tar -xzvf xfce-utils-4.0.0.tar.gz && cd xfce-utils-4.0.0 && ./configure --prefix=/usr --sysconfdir=/etc && make && make install |
Les modules non installés ci-dessus sont : dbh-1.0.15 (requis pour xffm), gtk-xfce-engine-2.1.6, xfce-mcs-plugins, xfce4-iconbox, xfce4-mixer, xfce4-systray, sxfce4-themes, xfce4-toys, xfce4-trigger-launcher, xffm, xffm-icons, xfprint et xfwm4-themes.
~/.xinitrc
Assurez-vous de sauvegarder votre fichier .xinitrc avant de continuer.
cat >> ~/.xinitrc << "EOF" xfce-mcs-manager xfwm4 --daemon xftaskbar4 & xfdesktop & exec xfce4-panel EOF |
Le package XFce contient xfce-mcs-manager, xfce4-about, xfce-setting-show, xfce4-panel, xfdesktop, xfhelp4, xflock4, xfmountdev4, xfrun4, xfsamba4, xftaskbar4, xfterm4, xftrash4, xftree4, xfwm4 et les bibliothèques libxfce4mcs, libxfce4util, et libxfcegui4.
xfce-mce-manager est le gestionnaire de configuration pour XFce.
xfce4-panel est le gestionnaire de panneaux pour XFce. Il contient le lanceur, l'horloge, un outil de vérification d'arrivée de mails, le gestionnaire de bureaux et des autres programmes.
xfmountdev4 monte un périphérique sur un point de montage indiqué et lance xftree4, puis démonte le périphérique quand xftree4 se termine.
xfterm4 est un petit wrapper de terminal utilisé pour des actions de drag and drop avec le panneau d'XFce.
xftrash4 est un petit script utilisé pour des actions de drag and drop avec le panneau XFce.
KDE est un environnement de bureau complet, construit à partir de XFree86 et QT pour apporter un gestionnaire de fenêtres et plusieurs outils utilisateur, incluant un navigateur, un traitement de texte, un tableur, un programme de présentation, des jeux et de nombreux autres utilitaires. Il apporte des possibilités étendues de personnalisation.
Nous divisons les instructions KDE en trois parties. La première, les packages principaux, sont nécessaires pour que le reste de KDE fonctionne. La deuxième partie présente des packages additionnels, qui apportent des fonctionnalités dans différentes aires (multimédia, graphiques, etc...).
KDE a aussi de nombreux de packages d'internationalisation sous la forme suivante kde-i18n-xx-3.1.4.tar.bz2 où xx est un code de deux à cinq lettres représentant un pays. Nous ne couvrons pas l'installation de ces packages ici.
Tous les packages KDE comprennent de nombreux composants. Par défaut, nous installons la plupart des composants. Si des composants spécifiques doivent être éliminés, la façon officielle de le faire est de configurer la variable DO_NOT_COMPILE. Ceci vient à point lorsqu'il y a des problèmes lors de la compilation d'un composant particulier.
DO_NOT_COMPILE="component1 component2" \ ./configure --prefix=/opt/kde... |
Les packages KDE de base honorent aussi cette variable, mais nous ne pouvons pas vous conseiller d'omettre des composants des packages de base car cela pourrait résulter en une installation incomplète.
Note : KDE est un ensemble large et complexe de packages. Dans certains cas, les utilisateurs ont trouvés des corrections qui n'ont pas encore été intégré aux sources officielles de KDE. Si vous avez un problème avec une application spécifique, jetez un oœl sur les correctifs présents sur http://www.linuxfromscratch.org/patches/downloads/kde*. Les correctifs auront un numéro de version, 3.1.4, faisant parti de leur nom de fichier.
Le synthétiseur analogique temps réel (aRts, acronyme de Analog Real-time Synthesizer) fournit le support du son pour KDE. Il fournit les bibliothèques nécessaires pour kdelibs.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/arts-1.1.4.tar.bz2
Taille du téléchargement: 963 KB
Estimation de l'espace disque requis: 42.5 MB
Estimation du temps de construction: 2.52 SBU
Avant de commencer la construction, assurez-vous que vous avez initialisé la variable d'environnement QTDIR:
export QTDIR=/opt/qt |
Installez aRts en lançant les commandes suivantes:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install && ln -sfn /opt/kde-3.1.4 /opt/kde |
Note : Une autre option de configure est --enable-final. Cette option peut accélérer le processus de construction mais requiert beaucoup de mémoire. Si vous avez moins de 256 Mo de RAM, cette option risque de causer une utilisation importante du swap et réduire d'autant la vitesse de compilation.
--prefix=/opt/kde-3.1.4 : Cette option indique au processus d'installer le package dans /opt/kde-3.1.4. Nous plaçons aRts ici parce que ce package est requis avant l'installation de KDE.
--disable-debug : Cette option fait que le code compilé ne dispose pas de code de déboguage.
--disable-dependency-tracking : Cette option accélère le vitesse de construction.
ln -sfn /opt/kde-3.1.4 /opt/kde : Cette commande crée un lien pour accéder à KDE. Si une version plus récente de KDE est disponible, le nouveau système pourra être construit en modifiant l'emplacement --prefix puis en modifiant le lien comme le fait cette commande.
Le répertoire des bibliothèques /opt/kde/lib devrait apparaître dans /etc/ld.so.conf pour que ldd sache où trouver les bibliothèques partagées. La commande suivante va l'ajouter s'il manque:
cat >> /etc/ld.so.conf << "EOF" # Début de l'ajout kde dans /etc/ld.so.conf /opt/kde/lib # Fin de l'ajout kde EOF ldconfig |
Ce package inclut des bibliothèques centrales, nécessaires pour le développement et l'exécution de l'environnement KDE, ainsi que des fichiers d'internationalisation pour ces bibliothèques, de différentes documentations HTML, de modules, de tests de régression.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdelibs-3.1.4.tar.bz2
Taille du téléchargement: 10 MB
Estimation de l'espace dique requis: 193 MB
Estimation du temps de construction: 35.34 SBU
Installez kdelibs avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking --with-alsa --enable-fast-malloc=full && make && make install |
--prefix=/opt/kde-3.1.4 : Cette option indique d'installer le package dans /opt/kde-3.1.4.
--disable-debug : Cette option fait que le système est compilé sans symboles de déboguage.
--disable-dependency-tracking : Cette option accélère la construction.
--with-alsa : Cette option indique au processus de construction de chercher et d'utiliser Alsa pour le support du son.
--enable-fast-malloc=full : Cette option indique aux programmes KDE d'utiliser un schéma d'allocation mémoire interne optimisé pour KDE.
kdebase est le deuxième package obligatoire (après kdelibs) pour l'environnement de bureau KDE (acronyme de K Desktop Environment). Il fournit plusieurs applications ainsi que des fichiers et bibliothèques d'infrastructure.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdebase-3.1.4.tar.bz2
Taille du téléchargement: 14 MB
Estimation de l'espace disque requis: 196 MB
Estimation du temps de construction: 28.22 SBU
Vérifiez si /lib/libmisc.la existe. Dans le cas contraire, lancez:
ln -sf /usr/lib/libmisc.la /lib/libmisc.la |
Installez kdebase avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking --disable-lametest --with-shadow && make && make install |
--disable-lametest : Ne pas chercher ou utiliser le support de lame. Ce package fournit l'encodage MP3. Oubliez cette option si vous avec installé lame.
--with-shadow : Utilise le support des mots de passe shadow.
Les programmes majeurs de kdebase incluent kdesktop, kaddressbook, kappfinder, kcontrol, kdeprint, kdm, kfind, khelpcenter, khotkeys, kicker, klipper, kmenuedit, konqueror, konsole, kscreensaver et ktip
kdesktop est le programme qui gère les icônes du bureau, les menus contextuels et le système d'économiseur d'écran.
Tout d'abord, ajoutez le répertoire /opt/kde à votre variable d'environnement PATH:
export PATH=$PATH:/opt/kde/bin |
Puis, créez un fichier .xinitrc pour démarrer KDE:
echo "exec startkde" > ~/.xinitrc |
et assurez-vous que toutes les bibliothèques puissent être trouvées avec:
ldconfig |
A ce point, vous pouvez lancer KDE avec
startx |
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdemultimedia-3.1.4.tar.bz2
Taille du téléchargement: 5.7 MB
Estimation de l'espace disque requis: 88 MB
Estimation du temps de construction: 11.47 SBU
Installez kdemultimedia avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking --with-arts-alsa && sed -i -e 's/strings -ansi/strings/' kaudiocreator/Makefile && sed -i -e 's/strings -ansi/strings/' kioslave/audiocd/Makefile && sed -i -e 's/-ansi//' kscd/libwm/Makefile && make && make install |
--with-arts-alsa : Utilise le support d'ALSA construit dans into aRts.
sed -i -e 's/strings -ansi/strings/' kaudiocreator/Makefile : Supprime -ansi des paramètres de gcc pour contourner un entête cassé dans le noyau. Le fichier cassé est asm/byteorder.h, où un paramètre est utilisé mais non défini lorsque -ansi est spécifié.
sed -i -e 's/strings -ansi/strings/' kioslave/audiocd/Makefile : Supprime -ansi des paramètres de gcc pour contourner un entête cassé dans le noyau.
sed -i -e 's/-ansi//' kscd/libwm/Makefile : Supprime -ansi des paramètres de gcc pour contourner un entête cassé dans le noyau.
Il n'existe pas de configuration explicite pour le package kde multimedia, néanmoins Kscd a besoin de trouver le lecteur de CD. Le défaut est /dev/cdrom qui pourrait ne pas exister sur votre système. Le moyen le plus simple est de créer un lien symbolique de votre lecteur CD vers lui (c'est-à-dire /dev/hdc, /dev/scd0, etc.):
cd /dev && ln -s "CD Drive" /dev/cdrom |
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdenetwork-3.1.4.tar.bz2
Taille du téléchargement: 4.8 MB
Estimation de l'espace disque requis: 86 MB
Estimation du temps de construction: 8.20 SBU
Installez kdenetwork avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
Il n'existe pas de configuration explicite pour le package kde network, néanmoins certains packages individuels nécessitent d'être configuré avec des informations de l'utilisateur.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdegraphics-3.1.4.tar.bz2
Taille du téléchargement: 4.4 MB
Estimation de l'espace disque requis: 49 MB
Estimation du temps de construction: 9.23 SBU
Installez kdegraphics avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
Le package KDE Graphics fournit kcoloredit, kdvi, kfax, kfract, kghostview, kiconedit, kooka, kpaint, kruler, ksnapshot, kuickshow and kview.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdepim-3.1.4.tar.bz2
Taille du téléchargement: 3.1 MB
Estimation de l'espace disque requis: 55 MB
Estimation du temps de construction: 7.03 SBU
Installez kdepim avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdeadmin-3.1.4.tar.bz2
Taille du téléchargement: 1.5 MB
Estimation de l'espace disque requis: 44 MB
Estimation du temps de construction: 2.53 SBU
Installez kdeadmin avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking --with-shadow && make && make install |
--with-shadow : Cette option autorise l'utilisation des mots de passe shadow.
kdegames est une compilation de différents jeux.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdegames-3.1.4.tar.bz2
Taille du téléchargement: 8.1 MB
Estimation de l'espace disque requis: 92 MB
Estimation du temps de construction: 7.86 SBU
Installez kdegames avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
Le package KDE Games fournit kasteroids, kbounce, kfouleggs, ksirtet, ksmiletris, ksnakerace, kspaceduel, ktron, kbackgammon, kbattleship, kblakbox, kmahjongg, kreversi, kwin4, kenolaba, shisensho, kpoker, lieutnant, patience, katomic, kjumpingcube, kmines, ksokoban, kolorlines, konquest et samegame.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdeutils-3.1.4.tar.bz2
Taille du téléchargement: 1.3 MB
Estimation de l'espace disque requis: 31 MB
Estimation du temps de construction: 3.76 SBU
Installez kdeutils avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
Le package KDE Utils fournit kcalc, charselectapplet, arc, kdepasswd, kdf, kedit, kfloppy, khexeditor, kjots, kljtool, klpq et ktimer.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdeedu-3.1.4.tar.bz2
Taille du téléchargement: 19 MB
Estimation de l'espace disque requis: 105 MB
Estimation du temps de construction: 4.65 SBU
Installez kdeedu avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
kdeartwork contient des thèmes, économiseurs d'écrans, sons, fonds d'écran et styles supplémentaires pour KDE.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdeartwork-3.1.4.tar.bz2
Taille du téléchargement: 13 MB
Estimation de l'espace disque requis: 61 MB
Estimation du temps de construction: 1.13 SBU
Installez kdeartwork avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdetoys-3.1.4.tar.bz2
Taille du téléchargement: 1.8 MB
Estimation de l'espace disque requis: 18 MB
Estimation du temps de construction: 1.51 SBU
Installez kdetoys avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
kdeaddons contient des plugins et des scripts supplémentaires pour quelques applications KDE.
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/stable/3.1.4/src/kdeaddons-3.1.4.tar.bz2
Taille du téléchargement: 1.0 MB
Estimation de l'espace disque requis: 26 MB
Estimation du temps de construction: 4.85 SBU
Installez kdeaddons avec:
./configure --prefix=/opt/kde-3.1.4 --disable-debug \ --disable-dependency-tracking && make && make install |
Le package KDE Addons fournit des plugins pour konqueror et noatun, des applets pour kicker et des scripts pour newskicker.
Ce chapitre essaie d'installer un environnement de bureau GNOME-2.2 complet ainsi que les bibliothèques de GNOME-1.4 permettant de lancer des applications GNOME 1.4 inclus dans ce livre. L'ordre des pages suivent la construction définie par l'équipe de développement de GNOME telle que publiée sur les notes de version (release notes), avec deux exceptions. Si un package se trouve dans la liste de construction des notes de version, mais pas dans ce chapitre, il a été installé ailleurs dans ce livre.
L'installation de GNOME-2.2 prend du temps et nous souhaitons que vous arriviez à l'installer sans stress. Un de nos premiers buts lors de cette installation est de protéger vos logiciels déjà installés, et spécialement si vous ne souhaitez que tester GNOME sur votre machine. Les packages GNOME-2.2 utilisent l'option --prefix= avec configure, donc nous l'utiliserons ainsi qu'une variable d'environnement (GNOME_PREFIX) pour ajouter de la flexibilité lors de cette installation.
Si vous voulez que GNOME soit votre environnement de bureau principal, il est recommandé que vous l'installiez avec --prefix=/usr. Si vous ne savez pas si vous souhaitez conserver GNOME sur votre machine, il est recommandé de l'installer avec --prefix=/opt/gnome-2.2. Mettre en place la variable d'environnement et réaliser les éditions supplémentaires requises par la deuxième option sont indiqués dans la partie de pré-installation.
Si vous avez choisi la deuxième option, supprimez GNOME-2.2 est aussi facile que de supprimer les modifications lors de la pré-installation et que de lancer cette commande:
rm /opt/gnome-2.2 -r |
Si votre système a été entièrement construit avec les instructions de LFS et BLFS, vous aurez certainement la chance d'utiliser GNOME-2.2 dès votre première installation. Si vous êtes un utilisateur LFS typique, vous avez fait des modifications aux instructions en sachant que vous aurez à tenir compte de ses modifications pour vos futures installations de logiciels. Vous ne devriez pas avoir de problème pour intégrer GNOME-2.2 à votre configuration unique, mais vous aurez entre 28 et 33 packages à installer avant de pouvoir lancer GNOME (en supposant que votre gestionnaire de fenêtres est pré-installé et testé). Nous pensons que vous aurez à construire GNOME au moins deux fois pour réaliser les ajustements nécessaires à votre ocnfiguration.
Si vous construisez un environnement de bureau GNOME 1.4, vous devez seulement installer les bibliothèques du chapitre GNOME 1.4 ainsi que toutes les dépendances listées sur ces pages. Les packages GNOME sans page sont simplement installés avec:
./configure --prefix=/opt/gnome && make && make install |
Dépendances de GNOME-2.2
Requis
XFree86-4.3.0.1, GTK+-2.2.4, libpng-1.2.5, libjpeg-6b, libtiff-3.6.0 et popt-1.7
Optionnel
libxml2-2.5.11, libxslt-1.0.33, DocBook XML DTD-4.2, DocBook XSL Stylesheets-1.62.4 et libfam-2.6.10
Mettez une variable d'environnement pour résoudre la destination du préfixe.
Si GNOME est le bureau de votre choix:
export GNOME_PREFIX=/usr |
export GNOME_PREFIX=/opt/gnome-2.2 |
Le groupe des testeurs aura aussi besoin de faire tous les changements suivants:
Ajoutez à votre système ou votre profile système:
export PATH=$PATH:/opt/gnome-2.2/bin export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gnome-2.2/lib/pkgconfig export GNOME_LIBCONFIG_PATH=/usr/lib |
Ajoutez à votre /etc/ld.so.conf:
cat >> /etc/ld.so.conf << "EOF" # Début ajout de gnome à /etc/ld.so.conf /opt/gnome-2.2/lib # Fin ajout de gnome EOF |
Ajoutez à votre /etc/man.conf:
cat >> /etc/man.conf << "EOF" # Début ajout de gnome à man.conf MANPATH /opt/gnome-2.2/man # Fin ajout de gnome EOF |
Le package GTK-Doc contient un utilitaire de documentation de code. Ceci est utile pour l'extraction de commentaires spécialement formatés à partir du code pour créer une documentation de l'API. Ce package est optionnel; si il n'est pas installé, les packages ne construirons pas leur documentation. Ceci ne veut pas dire que vous n'aurez pas de documentation, si gtk-doc n'est pas disponible, le processus d'installation copiera la documentation pré-construite sur votre système.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/1.0/gtk-doc-1.0.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gtk-doc/1.0/gtk-doc-1.0.tar.bz2
Taille du téléchargement: 120 Ko
Estimation de l'espace disque requis: 956 Ko
Estimation du temps de construction:
Installez GTK-Doc en lançant les commandes suivantes:
./configure --prefix=/usr && make install |
Le package GTK-Doc contient gtkdoc-fixxref, gtkdoc-mkdb, gtkdoc-mkhtml, gtkdoc-mkman, gtkdoc-mktmpl, gtkdoc-scan, gtkdoc-scangobj et gtkdoc-scanobj.
Ce sont tous des scripts Perl utilisé par les scripts Makefile pour générer la documentation des packages.
Le package linc contient une bibliothèque qui facilite la tâche d'écriture de clients/serveurs réseau. C'est utilisé par ORBIT pour envoyer les messages de transmissions et les réceptions.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/linc/1.0/linc-1.0.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/linc/1.0/linc-1.0.3.tar.bz2
Taille du téléchargement: 244 Ko
Estimation de l'espace disque requis: 2,4 Mo
Estimation du temps de construction: 0,28 SBU
Installez linc en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --with-openssl --disable-gtk-doc && make && make install |
--with-openssl : Cette commande compile le support d'OpenSSL dans linc.
--disable-gtk-doc : Cette fonction empêchera la reconstruction de la documentation API lors de la commande make.
Les bibliothèques liblinc procurent des fonctions à prendre en compte l'initiation et la maintenance de connexion, et les détails des différents transports (IPv4, sockets Unix, IPv6 et IrDA).
Le package libIDL contient les bibliothèques des fichiers IDL (Interface Definition Language). C'est une spécification pour la définition des interfaces portables.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-0.8.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-0.8.2.tar.bz2
Taille du téléchargement: 252 Ko
Estimation de l'espace disque requis: 2,7 Mo
Estimation du temps de construction: 0,12 SBU
Installez libIDL en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Les bibliothèques libIDL apportent les fonctions de création et de maintenance des arbres de fichiers IDL (CORBA Interface Definition Language).
Le package ORBit2 contient un "high-performance CORBA Object Request Broker". Ceci permet aux programmes pour envoyer des requêtes et recevoir des réponses des autres programmes.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.6/ORBit2-2.6.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.6/ORBit2-2.6.2.tar.bz2
Taille du téléchargement: 432 Ko
Estimation de l'espace disque requis: 49,0 Mo
Estimation du temps de construction: 0,96 SBU
Installez ORBit2 en lançant les commandes suivantes:
ldconfig && ./configure --prefix=$GNOME_PREFIX && make && make install |
Le package intltool contient un outil d'internationalisation. Il est utile pour extraire les phrases à traduire de fichiers source, récupère les phrases extraites avec les messages des fichiers source traditionnels (<répertoire source>/<package>/po) et assemble les traductions en fichiers XML, .desktop et OAF.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/intltool/0.26/intltool-0.26.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/intltool/0.26/intltool-0.26.tar.bz2
Taille de téléchargement: 104 Ko
Estimation de l'espace disque requis: 968 Ko
Estimation du temps de construction: 0,00 SBU
Installez intltool en lançant les commandes suivantes:
./configure --prefix=/usr --mandir=/usr/share/man && make && make install |
Le package intltool contient intltoolize, intltool-update, intltool-extract, intltool-merge, intltool-prepare et intltool-unicodify.
intltoolize prépare un package à utiliser intltool.
intltool-update mets à jour les fichiers modèles po et les assemble avec les traducteurs.
intltool-prepare mets à jour les fichiers pot et les assemble avec les fichiers de traduction.
Le package Bonobo Activation contient les bibliothèques libbonobo-activation. Elles sont utiles pour le nouvel 'Object Activation Framework' (OAF) pour GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/bonobo-activation/2.2/bonobo-activation-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/bonobo-activation/2.2/bonobo-activation-2.2.2.tar.bz2
Taille du téléchargement: 480 Ko
Estimation de l'espace disque requis: 15,4 Mo
Estimation du temps de construction: 0,43 SBU
Installez Bonobo Activation en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --sysconfdir=/etc/gnome --disable-gtk-doc && make && make install |
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--disable-gtk-doc : Cette option empêche la construction de la documentation lors de l'exécution de la commande make.
Le package libbonobo contient les bibliothèques libbonobo. C'est un système de composants et de documents composés pour GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libbonobo/2.2/libbonobo-2.2.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libbonobo/2.2/libbonobo-2.2.3.tar.bz2
Taille du téléchargement: 568 Ko
Estimation de l'espace disque requis: 38,4 Mo
Estimation du temps de construction: 1,01 SBU
Installez libbonobo en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --disable-gtk-doc && make && make install |
Les bibliothèques libbonobo sont un ensemble d'interfaces CORBA indépendant du système et du langage permettant la création de composants réutilisables et de documents composés.
Le package GConf contient un système base de données de configuration.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/GConf/2.2/GConf-2.2.1.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/GConf/2.2/GConf-2.2.1.tar.bz2
Taille du téléchargement: 1,1 Mo
Estimation de l'espace disque requis: 25,4 Mo
Estimation du temps de construction: 0,56 SBU
Installez GConf en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --sysconfdir=/etc/gnome --disable-gtk-doc && make && make install |
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc. Cette installation contrôle toutes les futures installations de schéma, modifications d'emplacemenent, en sachant que la suppression de cette commande doit être consistant.
--disable-gtk-doc : Cette option empêche la reconstruction de la documentation lors de la commande make.
Les bibliothèques libgconf apportent les fonctions nécessaires à la maintenance de la base de données de configuration.
Le package GNOME MIME Data contient l'ensemble de base des types de fichiers et d'applications pour GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-mime-data/2.2/gnome-mime-data-2.2.1.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-mime-data/2.2/gnome-mime-data-2.2.1.tar.bz2
Taille du téléchargement: 1,1 Mo
Estimation de l'espace disque requis: 6,0 Mo
Estimation du temps de construction: 0,01 SBU
Installez GNOME MIME Data en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome && make && make install |
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Le package GNOME MIME Data contient $GNOME_PREFIX/share/icons, $GNOME_PREFIX/share/application-registry et $GNOME_PREFIX/share/mime-info.
Le package GNOME Virtual File System contient les bibliothèques de systèmes de fichiers virtuels. Elles sont utilisées comme une des fondations du gestionnaire de fichiers Nautilus.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-vfs/2.2/gnome-vfs-2.2.5.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-vfs/2.2/gnome-vfs-2.2.5.tar.bz2
Taille du téléchargement: 956 Ko
Estimation de l'espace disque requis: 36,0 Mo
Estimation du temps de construction: 1,36 SBU
Installez GNOME Virtual File System en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome --disable-gtk-doc && make && make install |
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--disable-gtk-doc : Cette commande empêchera la reconstruction de la documentation lors de l'exécution de la commande make.
Le package libgnome contient la bibliothèque libgnome.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgnome/2.2/libgnome-2.2.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgnome/2.2/libgnome-2.2.3.tar.bz2
Taille du téléchargement: 924 Ko
Estimation de l'espace disque requis: 16,2 Mo
Estimation du temps de construction: 0,32 SBU
Installez libgnome en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --sysconfdir=/etc/gnome --disable-gtk-doc && make && make install |
--libexecdir=$GNOME_PREFIX/sbin: Cette option place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--sysconfdir=/etc/gnome: Cette option place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--disable-gtk-doc: Cette option empêche la reconstruction de la documentation lors de la commande make.
Les bibliothèques libgnome sont la partie non GUI des bibliothèques GNOME.
Le package libart_lgpl contient les bibliothèques libart. C'est utile pour les graphiques 2D hautes-performances.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/libart_lgpl-2.3.11.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/libart_lgpl-2.3.11.tar.bz2
Taille du téléchargement: 212 Ko
Estimation de l'espace disque requis: 2,3 Mo
Estimation du temps de construction: 0,15 SBU
Installez libart_lgpl en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
La bibliothèque libart_lgpl est utilisé comme moteur de rendu avec anti-aliasing pour libgnomecanvas.
Le package libglade contient les bibliothèques libglade. Il est utile pour charger les fichiers d'interface de Glade dans un programme lors de son lancement.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libglade/2.0/libglade-2.0.1.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libglade/2.0/libglade-2.0.1.tar.bz2
Taille du téléchargement: 352 Ko
Estimation de l'espace disque requis: 2,7 Mo
Estimation du temps de construction: 0,16 SBU
Installez libglade en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
--enable-gtk-doc : Cette option permet d'activer la reconstruction de la documentation html.
Les bibliothèques libglade contiennent les fonctions nécessaires pour charger les fichiers d'interface glade.
Le package libgnomecanvas contient les bibliothèques libgnomecanvas.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgnomecanvas/2.2/libgnomecanvas-2.2.1.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgnomecanvas/2.2/libgnomecanvas-2.2.1.tar.bz2
Taille du téléchargement: 504 Ko
Estimation de l'espace disque requis: 16 Mo
Estimation du temps de construction: 0,36 SBU
Installez libgnomecanvas en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --disable-gtk-doc && make && make install |
--disable-gtk-doc: Cette option empêche la reconstruction de la documentation de l'API lors de la commande make.
Le package libbonoboui contient les bibliothèques libbonoboui.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libbonoboui/2.2/libbonoboui-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libbonoboui/2.2/libbonoboui-2.2.2.tar.bz2
Taille du téléchargement: 740 Ko
Estimation de l'espace disque requis: 65,5 Mo
Estimation du temps de construction: 1,71 SBU
Installez libbonoboui en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --disable-gtk-doc && make && make install |
Les bibliothèques libbonoboui sont la partie interface (GUI) des bibliothèques Bonobo.
Le package GNOME Icon Theme contient un assortiment d'icônes de toutes tailles et pour tout thème.
Download (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-icon-theme/1.0/gnome-icon-theme-1.0.6.tar.bz2
Download (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-icon-theme/1.0/gnome-icon-theme-1.0.6.tar.bz2
Download size: 1,9 Mo
Estimated Disk space required: 11 Mo
Estimated build time: 0,01 SBU
Installez GNOME Icon Theme en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Le package libgnomeui contient les bibliothèques libgnomeui.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgnomeui/2.2/libgnomeui-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgnomeui/2.2/libgnomeui-2.2.2.tar.bz2
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 54,7 Mo
Estimation du temps de construction: 1,10 SBU
Installez libgnomeui en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --disable-gtk-doc && make && make install |
--libexecdir=$GNOME_PREFIX/sbin: Cette option place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--disable-gtk-doc: Cette option empêche la reconstruction de la documentation lors de la commande make.
Les bibliothèques libgnomeui sont la partie interface (GUI) des bibliothèques GNOME.
Le package libwnck contient un kit de construction de fenêtres de navigation (Window Navigator Construction Kit).
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libwnck/2.2/libwnck-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libwnck/2.2/libwnck-2.2.2.tar.bz2
Taille du téléchargement: 300 Ko
Estimation de l'espace disque requis: 19,4 Mo
Estimation du temps de construction: 0,29 SBU
Installez libwnck en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Les bibliothèques libwnck contiennent des fonctions pour écrire des 'pagers' et des listes de tâches.
Le package GTK Engines contient trois thèmes pour GTK2.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gtk-engines/2.2/gtk-engines-2.2.0.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gtk-engines/2.2/gtk-engines-2.2.0.tar.bz2
Taille du téléchargement: 400 Ko
Estimation de l'espace disque requis: 5,1 Mo
Estimation du temps de construction: 0,10 SBU
Installez GTK Engines en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Les bibliothèques engines sont les systèmes de gestion des thèmes spécifiques.
Le package GTK ThinIce Engine contient quelques ensembles de thèmes.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gtk-thinice-engine/2.0/gtk-thinice-engine-2.0.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gtk-thinice-engine/2.0/gtk-thinice-engine-2.0.2.tar.bz2
Taille du téléchargement: 136 Ko
Estimation de l'espace disque requis: 1,6 Mo
Estimation du temps de construction: 0,00 SBU
Installez GTK ThinIce Engine en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package GNOME Themes contient plusieurs thèmes.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-themes/2.2/gnome-themes-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-themes/2.2/gnome-themes-2.2.2.tar.bz2
Taille du téléchargement: 2,4 Mo
Estimation de l'espace disque requis: 28,6 Mo
Estimation du temps de construction: 0,37 SBU
Installez GNOME Themes en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package ScrollKeeper contient un système de cataloguage pour la documentation. C'est utile pour gérer les métadonnées de documentation et pour apporter une API aux navigateurs d'aide pour trouver, trier et rechercher le catalogue des documents.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/scrollkeeper/scrollkeeper-0.3.12.tar.gz
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/scrollkeeper/0.3/scrollkeeper-0.3.12.tar.bz2
Taille du téléchargement: 536 Ko
Estimation de l'espace disque requis: 7,5 Mo
Estimation du temps de construction: 0,15 SBU
Installez ScrollKeeper en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-static \ --with-omfdirs=/usr/share/omf:/opt/gnome/share/omf:\ /opt/kde/share/omf:/opt/gnome-2.2/share/omf && make && make install |
--sysconfdir=/etc : Cette commande place les fichiers de configuration dans /etc/scrollkeeper.
--localstatedir=/var : Cette commande place le répertoire de base de données de scrollkeeper dans /var/lib/scrollkeeper.
--disable-static : Cette commande empêche la construction de la bibliothèque statique.
--omfdirs=/usr/share/omf:/opt/gnome/share/omf:/opt/kde/share/omf:/opt/gnome-2.2/share/omf : Cette commande mets tous les emplacements des fichiers OMF pour scrollkeeper.
/etc/scrollkeeper.conf
Les fichiers de configurations donnent à la variable OMF_DIR la valeur de l'emplacement de tous les répertoires omf du système. Ceci est mis en place avec la commande configure donc aucune autre action n'est nécessaire jusqu'à la création d'un nouveau fichier omf.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Les bibliothèques libscrollkeeper apportent l'API nécessaire pour que les navigateurs d'aide interagissent avec la documentation écrite en utilisant ScrollKeeper.
Ils réalisent l'installation, la constrution, la récupération et la mise à jour des fichiers de table des matières.
Le package VTE contient l'implémentation d'un fichier termcap pour les émulateurs de terminaux.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/vte/0.10/vte-0.10.29.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/vte/0.10/vte-0.10.29.tar.bz2
Taille du téléchargement: 744 Ko
Estimation de l'espace disque requis: 23,5 Mo
Estimation du temps de construction: 0,57 SBU
Installez VTE en lançant les commandes suivantes:
./configure --prefix=/usr --libexecdir=/usr/sbin --disable-gtk-doc && make && make install |
--libexecdir=/usr/sbin : Cette commande met le fichiers libexec dans /usr/sbin au lieu de /usr/libexec.
--disable-gtk-doc : Cette commande empêche la construction de la documentation comme les répertoires sont actuellement vides et causera des erreurs avec la commande make si cette option est manquante.
Les bibliothèques libvte apporte les fonctions nécessaires pour implémenter un "fichier termcap" pour les émulateurs de terminaux.
Le package libgtop contient les bibliothèques top de GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgtop/2.0/libgtop-2.0.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgtop/2.0/libgtop-2.0.2.tar.bz2
Taille du téléchargement: 824 Ko
Estimation de l'espace disque requis: 19,1 Mo
Estimation du temps de construction: 0,45 SBU
Installez libgtop en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Les bibliothèques libgtop contiennent les fonctions permettant l'accès aux données de performance du système.
Le package GAIL contient les bibliothèques d'implémentation de l'accessibilité GNOME (Gnome Accessibility Implementation Libraries).
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gail/1.2/gail-1.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gail/1.2/gail-1.2.2.tar.bz2
Taille du téléchargement: 320 Ko
Estimation de l'espace disque requis: 36,6 Mo
Estimation du temps de construction: 0,83 SBU
Installez GAIL en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --disable-gtk-doc && make && make install |
Les bibliothèques libgailutil apportent les fonctions résolvant les problèmes d'accessibilité d'une manière consistante dans tout GNOME.
Le package AT SPI contient l'interface du fournisseur de technilogies d'assistance. C'est utile pour rediriger les événements de l'interface utilisateur (UI) pour les applications accessibles et les technologies adaptées/d'assistance.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/at-spi/1.1/at-spi-1.1.9.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/at-spi/1.1/at-spi-1.1.9.tar.bz2
Taille du téléchargement: 360 Ko
Estimation de l'espace disque requis: 24 Mo
Estimation du temps de construction: 0,68 SBU
Installez AT SPI en lançant les commandes suivantes:
patch -Np1 -i ../at-spi-1.1.9-lspi.patch && ./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --disable-gtk-doc && make && make install |
--libexecdir=$GNOME_PREFIX/sbin: Cette option place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--disable-gtk-doc: Cette option empêche la reconstruction de la documentation lors de la commande make.
Aucune description n'est disponible.
at-spi-registryd est le démon de registres autorisant la communication entre l'interface utilisateur (UI) et les périphériques d'assistance.
Le package libgail-gnome contient un lieur entre GAIL et GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgail-gnome/1.0/libgail-gnome-1.0.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgail-gnome/1.0/libgail-gnome-1.0.2.tar.bz2
Taille du téléchargement: 140 Ko
Estimation de l'espace disque requis: 1,4 Mo
Estimation du temps de construction: 0,15 SBU
Installez libgail-gnome en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Le package librsvg contient les bibliothèques librsvg.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/librsvg/2.2/librsvg-2.2.5.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/librsvg/2.2/librsvg-2.2.5.tar.bz2
Taille du téléchargement: 228 Ko
Estimation de l'espace disque requis: 9,5 Mo
Estimation du temps de construction: 0,25 SBU
Installez librsvg en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome --disable-gtk-doc && make && make install |
Les bibliothèques librsvg apportent les fonctions permettant l'affichage de graphiques SVG (Scalable Vector Graphics).
Le package EEL contient la bibliothèque d'extensions Eazel (Eazel Extensions Library). Elle est utile comme collection de composants et d'extensions pour la plateforme GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/eel/2.2/eel-2.2.4.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/eel/2.2/eel-2.2.4.tar.bz2
Taille du téléchargement: 484 Ko
Estimation de l'espace disque requis: 23,6 Mo
Estimation du temps de construction: 0,76 SBU
Installez EEL en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Les bibliothèques libeel sont une collection de composants développés par le projet Nautilus.
Le package libgtkhtml contient les bibliothèques libgtkhtml.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgtkhtml/2.2/libgtkhtml-2.2.4.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgtkhtml/2.2/libgtkhtml-2.2.4.tar.bz2
Taille du téléchargement: 336 Ko
Estimation de l'espace disque requis: 129 Mo
Estimation du temps de construction: 1,40 SBU
Installez libgtkhtml en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Les bibliothèques libgtkhtml apportent les fonctions nécessaires pour afficher et/ou éditer du HTML.
Le package libgsf contient les bibliothèques libgsf. Elles sont utiles pour apporter une couche d'abstraction extensible pour les entrées/sorties des formats de fichier structurés.
Téléchargement (HTTP): http://ftp.gnome.org/pub/gnome/sources/libgsf/1.8/libgsf-1.8.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/gnome/sources/libgsf/1.8/libgsf-1.8.2.tar.bz2
Taille du téléchargement: 328 Ko
Estimation de l'espace disque requis: 11,6 Mo
Estimation du temps de construction: 0,24 SBU
Installez libgsf en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --disable-gtk-doc && make && make install |
--disable-gtk-doc: Cette option empêche la reconstruction de la documentation de l'API lors de la commande make.
Le package GAL contient des fonctions de bibliothèques provenant d'Evolution. GAL est l'acronyme de GNOME Application Libs.
Téléchargement (HTTP): http://ftp.gnome.org/pub/gnome/sources/gal/1.99/gal-1.99.9.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/gnome/sources/gal/1.99/gal-1.99.9.tar.bz2
Taille du téléchargement: 924 Ko
Estimation de l'espace disque requis: 118 Mo
Estimation du temps de construction: 1,70 SBU
Installez GAL en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Le package libgnomeprint contient les bibliothèques libgnomeprint.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgnomeprint/2.2/libgnomeprint-2.2.1.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgnomeprint/2.2/libgnomeprint-2.2.1.3.tar.bz2
Taille du téléchargement: 600 Ko
Estimation de l'espace disque requis: 22 Mo
Estimation du temps de construction: 0,64 SBU
Installez libgnomeprint en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome && make && make install |
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--enable-gtk-doc : Cette option reconstruit la documentation lors de l'exécution de la commande make.
Les bibliothèques libgnomeprint implémentent l'architecture d'impression GNOME.
Le package libgnomeprintui contient les bibliothèques libgnomeprintui.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libgnomeprintui/2.2/libgnomeprintui-2.2.1.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libgnomeprintui/2.2/libgnomeprintui-2.2.1.3.tar.bz2
Taille du téléchargement: 464 Ko
Estimation de l'espace disque requis: 20,5 Mo
Estimation du temps de construction: 0,29 SBU
Installez libgnomeprintui en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
--enable-gtk-doc: Cette option reconstruit la documentation lors de la commande make.
Les bibliothèques libgnomeprintui sont la partie interface (GUI) de l'implémentation de l'architecture d'impression GNOME.
Le package GtkHTML contient un moteur légé de rendu/impression/édition HTML. C'est une application spécifique à evolution pour le moment.
Téléchargement (HTTP): http://ftp.gnome.org/pub/gnome/sources/gtkhtml/3.0/gtkhtml-3.0.8.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/gnome/sources/gtkhtml/3.0/gtkhtml-3.0.8.tar.bz2
Taille de téléchargement: 1,0 Mo
Estimation de l'espace disque requis: 141,2 Mo
Estimation du temps de construction: 1,84 SBU
Installez GtkHTML en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
Les bibliothèques libgtkhtml apportent des fonctions de rendu HTML pour les applications.
Cette section contient les éléments requis de l'environnement GNOME pour affiche un bureau fonctionnel.
Le package GNOME Desktop contient les fichiers .desktop de GNOME, le programme gnome-about, les pages man et des fichiers graphiques, icônes du coeur de GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-desktop/2.2/gnome-desktop-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-desktop/2.2/gnome-desktop-2.2.2.tar.bz2
Taille du téléchargement: 1 Mo
Estimation de l'espace disque requis: 11,5 Mo
Estimation du temps de construction: 0,19 SBU
Installez GNOME Desktop en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome && make && make install |
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Les bibliothèques libgnome-desktop contiennent les API en cours de test pour être incluses dans libgnome ou libgnomeui.
Le package GNOME Panel contient le menu et le système d'applets.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-panel/2.2/gnome-panel-2.2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-panel/2.2/gnome-panel-2.2.2.2.tar.bz2
Taille du téléchargement: 2,6 Mo
Estimation de l'espace disque requis: 67,3 Mo
Estimation du temps de construction: 1,14 SBU
Installez GNOME Panel en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --localstatedir=/var/lib --sysconfdir=/etc/gnome --disable-gtk-doc && make && make install |
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--disable-gtk-doc : Cette option empêche la reconstruction de la documentation lors de la commande make.
Les bibliothèques libpanel-applet permettent le développement de petites applications, appelés applets, embarquées dans le panneau.
Les Applets inclus sont Workspace Switcher, Window List, Inbox Monitor, Clock et 'Wanda the Fish'.
Le package GNOME Session contient le gestionnaire de sessions GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-session/2.2/gnome-session-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-session/2.2/gnome-session-2.2.2.tar.bz2
Taille du téléchargement: 704 Ko
Estimation de l'espace disque requis: 15 Mo
Estimation du temps de construction: 0,22 SBU
Installez GNOME Session en lançant les commandes suivantes:
export PATH=$PATH:$GNOME_PREFIX/sbin:/sbin && ./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \ --sysconfdir=/etc/gnome && make && make install |
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Le package GNOME Session contient gnome-session, des utilitaires de session et un gestionnaire proxy.
gnome-session lance le bureau GNOME.
Les utilitaires session incluent un programme de configuration et d'autres utilitaires relatifs à la gestion de sessions.
manager proxy gère la gestion basique de sessions pour les applications ne supportant pas XSM.
Le package Control Center contient les gestionnaires de paramétrages GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/control-center/2.2/control-center-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/control-center/2.2/control-center-2.2.2.tar.bz2
Taille du téléchargement: 1,5 Mo
Estimation de l'espace disque requis: 62,0 Mo
Estimation du temps de construction: 1,02 SBU
Installez Control Center en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \ --sysconfdir=/etc/gnome && make && make install |
--localstatedir=/var/lib : Cette commande place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Le package Control Center contient gnome-control-center, gnome-settings-daemon, gnome-background-properties, gnome-default-applications-properties, gnome-file-types-properties, gnome-font-properties, gnome-keybinding-properties, gnome-keyboard-properties, gnome-mouse-properties, gnome-network-preferences, gnome-sound-properties, gnome-theme-properties et gnome-ui-properties.
These packages are modular and add desktop applications to the GNOME environment. Feel free to install them on an as needed or as wanted basis.
Le package GNOME Terminal contient la console. Il est utile pour exécuter des programmes à partir d'une invite (prompt).
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-terminal/2.2/gnome-terminal-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-terminal/2.2/gnome-terminal-2.2.2.tar.bz2
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 18,1 Mo
Estimation du temps de construction: 0,28 SBU
Installez GNOME Terminal en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \ --sysconfdir=/etc/gnome && make && make install |
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Le package GNOME System Monitor contient procman, le remplacement de gtop pour GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-system-monitor/2.0/gnome-system-monitor-2.0.5.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-system-monitor/2.0/gnome-system-monitor-2.0.5.tar.bz2
Taille du téléchargement: 520 Ko
Estimation de l'espace disque requis: 8,5 Mo
Estimation du temps de construction: 0,12 SBU
Installez GNOME System Monitor en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \ --sysconfdir=/etc/gnome && make && make install |
Note : make install aura besoin d'accéder au chemin vers $GNOME_PREFIX/bin. Si vos modifications avant l'installation étaient uniquement faites par le compte utilisateur, vous aurez besoin d'ajuster les chemins avant de lancer make install.
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
gnome-system-monitor affiche l'arbre des processus en cours et des mesures matériels.
Le package GNOME Applets contient de petites applications qui sont lancées généralement en tâche de fond et affiche leur sortie dans le panneau gnome.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-applets/2.2/gnome-applets-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-applets/2.2/gnome-applets-2.2.2.tar.bz2
Taille du téléchargement: 2,4 Mo
Estimation de l'espace disque requis: 62,6 Mo
Estimation du temps de construction: 0,85 SBU
Installez GNOME Applets en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --localstatedir=/var/lib --sysconfdir=/etc/gnome && make && make install |
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Le package GNOME Applets contient les applets battstat, cdplayer, charpick, drivemount, geyes, gkb, gtik2, gweather, mini-commander, mixer, modemlights et multiload.
Le package GNOME Utilities contient une collection de petites applications réalisées pou vous rendre la vie un peu plus facile.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-utils/2.2/gnome-utils-2.2.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-utils/2.2/gnome-utils-2.2.3.tar.bz2
Taille du téléchargement: 2,2 Mo
Estimation de l'espace disque requis: 39,0 Mo
Estimation du temps de construction: 0,40 SBU
Installez GNOME Utilities en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --localstatedir=/var/lib --sysconfdir=/etc/gnome && make && make install |
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--with-pam-prefix=/etc/pam.d : Cette option met les fichiers PAM dans /etc/pam.d au lieu de /etc/gnome.
Le package GNOME Utilities package contient gnome-system-log, gnome-character-map, gnome-calculator, gnome-search-tool, gnome-dictionary, archive-generator, gfloppy et gdialog.
gnome-system-log vous permet de visualiser les fichiers de traces du système.
gnome-character-map vous permet de sélectionner des caractères à partir d'une table et de les insérer dans vos applications.
gnome-calculator est une simple calculatrice mathématique et scientifique incluant des fonctions arithmétiques, trigonométriques et logarythmiques.
gnome-search-tool vous permet de chercher des fichiers sur votre système en utilisant des options de recherche simple ou avancées.
gnome-dictionary vous permet de rechercher la définition et l'orthographe correct de mots.
archive-generator crée des archives à partir d'une collection de fichiers et de répertoires en utilisant des fichiers d'archives compressés au format gzip.
Le package GNOME Games contient des jeux.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-games/2.2/gnome-games-2.2.1.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-games/2.2/gnome-games-2.2.1.tar.bz2
Taille du téléchargement: 9,6 Mo
Estimation de l'espace disque requis: 76,2 Mo
Estimation du temps de construction: 0,99 SBU
Installez GNOME Games en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \ --sysconfdir=/etc/gnome && make && make install |
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Le package GNOME Games contient aisleriot, freecell, gataxx, glines, gnect, gnibbles, gnobots2, gnome-stones, gnome-xbill, gnometris, gnomine, gnotravex, gnotski, gtali, iagno, mahjongg et same-gnome.
Le package Nautilus contient le shell GNOME et un gestionnaire de fichiers.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/nautilus/2.2/nautilus-2.2.4.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/nautilus/2.2/nautilus-2.2.4.tar.bz2
Taille du téléchargement: 4,6 Mo
Estimation de l'espace disque requis: 101,2 Mo
Estimation du temps de construction: 1,33 SBU
Installez Nautilus en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome \ --libexecdir=$GNOME_PREFIX/sbin && make && make install |
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans /opt/gnome2/sbin au lieu de $GNOME_PREFIX/libexec.
nautilus est le gestionnaire de fichiers GNOME.
Les bibliothèques nautilus apportent les fonctions nécessaires au gestionnaire de fichiers.
Le package Yelp contient le navigateur d'aide. Il est utile pour visualiser les fichiers d'aide.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/yelp/2.2/yelp-2.2.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/yelp/2.2/yelp-2.2.3.tar.bz2
Taille du téléchargement: 516 Ko
Estimation de l'espace disque requis: 11,9 Mo
Estimation du temps de construction: 0,16 SBU
Installez Yelp en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin && make && make install |
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
Le package bug-buddy contient un outil graphique de rapport de bugs. Il peut extraire des informations de débuggage d'un fichier core ou d'une application 'plantée'.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/bug-buddy/2.2/bug-buddy-2.2.106.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/bug-buddy/2.2/bug-buddy-2.2.106.tar.bz2
Taille du téléchargement: 460 Ko
Estimation de l'espace disque requis: 7,8 Mo
Estimation du temps de construction: 0,07 SBU
Installez bug-buddy en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib && make && make install |
--localstatedir=/var/lib : Cette commande place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
Le package gedit contient un éditeur de texte légé UTF-8 pour le bureau GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gedit/2.2/gedit-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gedit/2.2/gedit-2.2.2.tar.bz2
Taille du téléchargement: 1,7 Mo
Estimation de l'espace disque requis: 49,4 Mo
Estimation du temps de construction: 0,59 SBU
Installez gedit en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \ --sysconfdir=/etc/gnome && make && make install |
--localstatedir=/var/lib : Cette commande place les fichiers scrollkeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
Le package EOG contient Eyes of GNOME. Il est utile pour visualiser et cataloguer des fichiers image.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/eog/2.2/eog-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/eog/2.2/eog-2.2.2.tar.bz2
Taille du téléchargement: 480 Ko
Estimation de l'espace disque requis: 16,1 Mo
Estimation du temps de construction: 0,19 SBU
Installez EOG en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \ --localstatedir=/var/lib --sysconfdir=/etc/gnome && make && make install |
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
eog est un visualisateur d'images rapide et fonctionnel, mais aussi un programme de cataloguage d'images.
Le package GStreamer contient un ensemble de travail (framework) pour les flux de médias. C'est utile pour un interfaçage avec les binaires des CODECs.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gstreamer/0.6/gstreamer-0.6.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gstreamer/0.6/gstreamer-0.6.2.tar.bz2
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 72,7 Mo
Estimation du temps de construction: 1,31 SBU
Installez GStreamer en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib && make && make install && gst-register |
--localstatedir=/var/lib: Cette option place le cache de gst-register dans /var/lib/cache au lieu de $GNOME_PREFIX/var/cache.
Le package gst-plugins contient les interfaces CODEC.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gst-plugins/0.6/gst-plugins-0.6.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gst-plugins/0.6/gst-plugins-0.6.2.tar.bz2
Taille du téléchargement: 1,9 Mo
Estimation de l'espace disque requis: 102 Mo
Estimation du temps de construction: 2,16 SBU
Installez gst-plugins en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install && gst-register |
Le package GNOME Media contient les applications média de GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-media/2.2/gnome-media-2.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-media/2.2/gnome-media-2.2.2.tar.bz2
Taille du téléchargement: 2,8 Mo
Estimation de l'espace disque requis: 37,8 Mo
Estimation du temps de construction: 0,49 SBU
Installez GNOME Media en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome \ --localstatedir=/var/lib --libexecdir=$GNOME_PREFIX/sbin && make && make install |
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--localstatedir=/var/lib : Cette commande place les fichiers ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
Le package GNOME Media contient gnome-sound-recorder, gnome-cd, gnome-volume-control et vumeter.
Le package Nautilus Media contient les applications média de GNOME et utilisé par nautilus.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/nautilus-media/0.2/nautilus-media-0.2.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/nautilus-media/0.2/nautilus-media-0.2.2.tar.bz2
Taille du téléchargement: 352 Ko
Estimation de l'espace disque requis: 13,5 Mo
Estimation du temps de construction: 0,22 SBU
Installez Nautilus Media en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome \ --localstatedir=/var/lib --libexecdir=$GNOME_PREFIX/sbin && make && make install |
--sysconfdir=/etc/gnome: Cette option place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--localstatedir=/var/lib: Cette option place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--libexecdir=/opt/gnome2/sbin: Cette option place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
Le package GNOME2 User Docs contient des documents pour les utilisateurs de GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome2-user-docs/2.0/gnome2-user-docs-2.0.6.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome2-user-docs/2.0/gnome2-user-docs-2.0.6.tar.bz2
Taille du téléchargement: 7,3 Mo
Estimation de l'espace disque requis: 13,1 Mo
Estimation du temps de construction: 0,01 SBU
Installez GNOME2 User Docs en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib && make && make install |
--localstatedir=/var/lib : Cette commande place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
Les fichiers OMF contiennent de la documentation utilisateur. Ceci inclut les introductions et aides sur les packages principaux.
Cette section contient les autres packages GNOME.
Le package GConf Editor contient un éditeur GUI pour la base de données de configuration de GConf.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gconf-editor/0.4/gconf-editor-0.4.1.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gconf-editor/0.4/gconf-editor-0.4.1.tar.bz2
Taille du téléchargement: 328 Ko
Estimation de l'espace disque requis: 5,6 Mo
Estimation du temps de construction: 0,07 SBU
Installez GConf Editor en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX && make && make install |
gconf-editor permet la modification directe de la base de données de configuration de GConf.
Le package GDM contient le démon gérant l'affichage GNOME. Il est utile pour la configuration de connexions graphiques.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gdm/2.4/gdm-2.4.1.4.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gdm/2.4/gdm-2.4.1.4.tar.bz2
Taille du téléchargement: 1,9 Mo
Estimation de l'espace disque requis: 35,1 Mo
Estimation du temps de construction: 0,47 SBU
Installez GDM en lançant les commandes suivantes:
groupadd gdm && useradd -c gdm -d /dev/null -g gdm -s /bin/bash gdm && ./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome \ --localstatedir=/var/lib --with-pam-prefix=/etc && make && make install |
--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de /opt/gnome2/etc.
--localstatedir=/var/lib : Cette commande place les fichiers dans /var/lib au lieu de /opt/gnome2/var.
--with-pam-prefix=/etc : Cette commande place les fichiers de configuration de PAM dans /etc/pam.d au lieu de /etc/gnome.
/opt/gnome2/gdm.conf, /opt/gnome2/gnomerc
Les fichiers de configurations GDM PAM contiennent des modules non présents lors d'une installation BLFS. Les commandes suivantes vont remplacer ces fichiers:
cat > /etc/pam.d/gdm << "EOF" auth required pam_unix.so auth required pam_nologin.so account required pam_unix.so password required pam_unix.so session required pam_unix.so EOF cat > /etc/pam.d/gdm-autologin << "EOF" auth required pam_env.so auth required pam_nologin.so auth required pam_permit.so account required pam_unix.so password required pam_unix.so session required pam_unix.so EOF |
gdm peut être testé en le lançant à partir de la console root.
Pour automatiser le lancement de gdm, utilisez la commande suivante pour créer le script init.d si votre GNOME_PREFIX vaut /opt/gnome-2.2. Les chemins complètement qualifiés peuvent être remplacés par:
cat > /etc/rc.d/init.d/gdm << "EOF" #!/bin/bash # Debut $rc_base/init.d/gdm # Basé sur le script sysklogd de LFS-3.1 et précédent. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting GDM..." loadproc /opt/gnome-2.2/bin/gdm ;; stop) echo "Stopping GDM..." if [ -f /var/run/gdm.pid ]; then loadproc /opt/gnome-2.2/sbin/gdm-stop fi; ;; reload) echo "Reloading GDM..." reloadproc /opt/gnome-2.2/sbin/gdm-safe-restart ;; restart) echo "Restarting GDM..." loadproc /opt/gnome-2.2/sbin/gdm-restart ;; *) echo "Usage: $0 {start|stop|reload|restart}" exit 1 ;; esac # Fin $rc_base/init.d/gdm EOF chmod 755 /etc/rc.d/init.d/gdm |
Créez les liens symboliques vers ce fichier dans les répertoires rc.d avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/gdm ../rc0.d/K05gdm && ln -sf ../init.d/gdm ../rc1.d/K05gdm && ln -sf ../init.d/gdm ../rc2.d/K05gdm && ln -sf ../init.d/gdm ../rc3.d/K05gdm && ln -sf ../init.d/gdm ../rc4.d/K05gdm && ln -sf ../init.d/gdm ../rc5.d/S95gdm && ln -sf ../init.d/gdm ../rc6.d/K05gdm |
Pour démarrer automatiquement avec un login graphique, éditez /etc/inittab de façon à ce que la ligne indiquant
id:3:initdefault: |
soit changé en
id:5:initdefault: |
Le package GDM contient gdm, gdm-binary, gdmXnestchooser, gdmchooser, gdmflexiserver, gdmgreeter, gdmlogin, gdmmktemp, gdmphotosetup, gdmsetup, gdmthemetester, gdm-restart, gdm-safe-restart, gdm-stop, gdmaskpass, gdmconfig et gdmopen.
gdm est un script wrapper exécutant l'exécutable GDM, l'invite de connexion basé sur GNOME.
gdmchooser est une application pour sélectionner les hôtes activés par XDMCP sur le réseau local.
gdm-restart envoie le signal HUP et gdm-restart envoie le signal USR1 au démon pour qu'il se relance. Ils sont utilisés après que le fichier de configuration est éditée.
gdmconfig est une application pour gérer la configuration d'une suite entière d'applications GDM. Il gère l'apparence (look and feel), la sécurité, XDMCP, GDMchooser et plus.
Ce chapitre fait de GNOME votre environnement de bureau de choix lorsque startx est lancé.
Créez un fichier .xinitrc pour lancer GNOME:
echo "exec gnome-session" >> ~/.xinitrc |
et assurez-vous que toutes les bibliothèques peuvent être trouvées dans:
ldconfig |
Vous pouvez dès maintenant lancer GNOME avec startx.
Cette section contient les bibliothèques supplémentaires de GNOME 1.4, nécessaires pour quelques applications qui n'ont pas encore été porté vers GNOME 2.x. Aucune de ces bibliothèques n'est nécessaire pour l'installation d'un environnement de bureau GNOME.
Ajoutez à votre profile personnel ou système:
export PATH=$PATH:/opt/gnome/bin export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/gnome/lib/pkgconfig export GNOME_LIBCONFIG_PATH=/usr/lib |
Ajoutez à votre fichier /etc/ld.so.conf:
cat >> /etc/ld.so.conf << "EOF" # Début ajout gnome à /etc/ld.so.conf /opt/gnome/lib # Fin ajout gnome EOF |
Ajoutez à votre fichier /etc/man.conf:
cat >> /etc/man.conf << "EOF" # Début ajout gnome à man.conf MANPATH /opt/gnome/man # Fin ajout gnome EOF |
Le package ORBit contient un "CORBA Object Request Broker" de haute performance. Ceci permet aux programmes d'envoyer des requêtes et de recevoir des réponses des autres programmes.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/ORBit/0.5/ORBit-0.5.17.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/ORBit/0.5/ORBit-0.5.17.tar.bz2
Taille du téléchargement: 1 Mo
Estimation de l'espace disque requis: 51,4 Mo
Estimation du temps de construction: 0,73 SBU
Installez ORBit en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
Le package ORBit contient les bibliothèques libIDL, libIIOP, libORBit, libORBitCosNaming et libORBitutil.
La bibliothèque libIDL est l'acronyme de "Interface Definition Language mappings" pour CORBA.
Le package OAF contient le groupe d'activation d'objets (Object Activation Framework for GNOME).
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/oaf/0.6/oaf-0.6.10.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/oaf/0.6/oaf-0.6.10.tar.bz2
Taille du téléchargement: 432 Ko
Estimation de l'espace disque requis: 10,3 Mo
Estimation du temps de construction: 0,16
Installez OAF en lançant les commandes suivantes:
ldconfig && ./configure --prefix=/opt/gnome --disable-gtk-doc && make && make install |
Le package GNOME Libraries contient les bibliothèques de GNOME. C'est utile comme fondation à l'environnement de bureau et aux applications GNOME.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-libs/1.4/gnome-libs-1.4.2.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-libs/1.4/gnome-libs-1.4.2.tar.bz2
Taille du téléchargement: 2,8 Mo
Estimation de l'espace disque requis: 112,4 Mo
Estimation du temps de construction: 1,95 SBU
Installez GNOME Libraries en lançant les commandes suivantes:
./configure --prefix=/opt/gnome --disable-gtk-doc && make && make install |
/opt/gnome/etc/mime-magic, /opt/gnome/etc/paper.config, /opt/gnome/etc/sound/events/gnome.soundlist and /opt/gnome/etc/sound/events/gtk-events.soundlist
Le package GNOME Libraries contient les bibliothèques libgnome, libgnomeui, libgnomesupport, libart_lgpl, libgtk-xmhtml, libgnorbagtk et libzvt.
Le package GDK Pixel Buffer est la bibliothèque de tampons pixel de GTK+.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/0.22/gdk-pixbuf-0.22.0.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/0.22/gdk-pixbuf-0.22.0.tar.bz2
Taille du téléchargement: 396 Ko
Estimation de l'espace disque requis: 13,3 Mo
Estimation du temps de construction: 0,34 SBU
La commande make essaie d'ouvrir un affichage X lors de la compilation, donc un serveur X doit être en cours d'exécution durant cette étape.
Installez GDK Pixel Buffer en lançant les commandes suivantes:
./configure --prefix=/opt/gnome --disable-gtk-doc && make && make install |
Les bibliothèques libdgk_pixbuf contiennent les bibliothèques de tampons pixels de GTK+ pour le GIMP Toolkit.
Le package GNOME Print contient l'architecture d'impression GNOME, pour GNOME 1.4.
Téléchargement (HTTP): http://ftp.linux.org.uk/mirrors/ftp.gnome.org/sources/gnome-print/0.37/gnome-print-0.37.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-print/0.37/gnome-print-0.37.tar.bz2
Taille du téléchargement: 756 Ko
Estimation de l'espace disque requis: 33,3 Mo
Estimation du temps de construction: 0,66
Le script configure n'interprète pas correctement que libxml-1.8.17 est plus récent que libxml-1.8.8. Ceci se résout en construisant xmlConf.sh avec cette commande:
cat > /opt/gnome/lib/xmlConf.sh << EOF XML_LIBDIR="-L/usr/lib" XML_LIBS="-lxml" XML_INCLUDEDIR="-I/usr/include/gnome-xml" MODULE_VERSION=xml-1.8.17 EOF |
Installez GNOME Print en lançant les commandes suivantes:
./configure --prefix=/opt/gnome --with-zlib=/usr && make && make install |
--with-zlib=/usr : Configure GNOME Print pour qu'il utilise la version zlib du système installée dans /usr.
Le package Bonobo contient un ensemble d'interfaces CORBA indépendant du langage et du système pour créer des composants réutilisables, des contrôles et pour créer des documents composés.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/bonobo/1.0/bonobo-1.0.22.tar.bz2
Téléchargement (FTP): http://ftp.gnome.org/pub/GNOME/sources/bonobo/1.0/bonobo-1.0.22.tar.bz2
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 110,2 Mo
Estimation du temps de construction: 2,18 SBU
Installez Bonobo en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
Le package Bonobo contient les bibliothèques GNOME 1.4 de composants et de documents composés.
Le package GConf contient un système de bases de données pour la configuration.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/GConf/1.0/GConf-1.0.9.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/GConf/1.0/GConf-1.0.9.tar.bz2
Taille du téléchargement: 772 Ko
Estimation de l'espace disque requis: 20,0 Mo
Estimation du temps de construction: 0,44
Installez GConf en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
Les bibliothèques libgconf apportent les fonctions nécessaires au maintien de la base de données de configuration.
Le package GNOME Virtual File System contient les bibliothèques du système de fichiers.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnome-vfs/1.0/gnome-vfs-1.0.5.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnome-vfs/1.0/gnome-vfs-1.0.5.tar.bz2
Taille du téléchargement: 768 Ko
Estimation de l'espace disque requis: 32,9 Mo
Estimation du temps de construction: 1,19 SBU
Installez GNOME Virtual File System en lançant les commandes suivantes:
./configure --prefix=/opt/gnome --disable-gtk-doc && make && make install |
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package libglade contient des bibliothèques qui permettent aux applications de charger les fichiers d'interface Glade à l'exécution.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libglade/0.17/libglade-0.17.tar.gz
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libglade/0.17/libglade-0.17.tar.gz
Taille du téléchargement: 416 Ko
Estimation de l'espace disque requis: 8,5 Mo
Estimation du temps de construction: 0,22 SBU
La commande make tente d'ouvrir un affichage X lors de la compilation, donc un serveur X doit être en cours d'exécution.
Installez libglade en lançant les commandes suivantes:
./configure --prefix=/opt/gnome --enable-bonobo \ --disable-gtk-doc && make && make install |
Le package GAL contient des fonctions de bibliothèques provenant de Gnumeric et d'Evolution. GAL est l'acronyme de GNOME Application Libs.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gal/0.24/gal-0.24.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gal/0.24/gal-0.24.tar.bz2
Taille du téléchargement: 1,0 Mo
Estimation de l'espace disque requis: 100,8 Mo
Estimation du temps de construction: 1,51 SBU
Installez GAL en lançant les commandes suivantes:
./configure --prefix=/opt/gnome --disable-gtk-doc && make && make install |
Le package GAL contient des routines de bibliohèques recréées à partir de Evolution et Gnumeric.
Le package Guppi contient un programme de dessin scriptable Guile avec des fonctionnalités intégrées de statistiques.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/Guppi/0.40/Guppi-0.40.3.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/Guppi/0.40/Guppi-0.40.3.tar.bz2
Taille du téléchargement: 1,0 Mo
Estimation de l'espace disque requis: 89,2 Mo
Estimation du temps de construction: 1,83 SBU
Installez Guppi en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
Le package libcapplet contient une bibliothèque de contrôle des applets du panneau.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libcapplet/1.5/libcapplet-1.5.11.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libcapplet/1.5/libcapplet-1.5.11.tar.bz2
Taille du téléchargement: 312 Ko
Estimation de l'espace disque requis: 2,4 Mo
Estimation du temps de construction: 0,01 SBU
Installez libcapplet en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
Le package Soup contient une implémentation de SOAP (Simple Object Access Protocol) en C.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/soup/0.7/soup-0.7.11.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/soup/0.7/soup-0.7.11.tar.bz2
Taille du téléchargement: 324 Ko
Estimation de l'espace disque requis: 11,1 Mo
Estimation du temps de construction: 0,33
Installez Soup en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
--prefix=/opt/gnome: Installe Soup à l'emplacement de GNOME 1.4.
--enable-apache=no: Cette commande peut être ajoutée pour empêcher une construction le liant à Apache.
Le package Soup contient les bibliothèques SOAP, utilisé pour implémenter les appels XML de procédures distantes.
Le package GtkHTML contient un moteur léger de rendu/impression/édition HTML.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gtkhtml/1.1/gtkhtml-1.1.7.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gtkhtml/1.1/gtkhtml-1.1.7.tar.bz2
Taille du téléchargement: 1,1 Ko
Estimation de l'espace disque requis: 78,6 Mo
Estimation du temps de construction: 1,83 SBU
Installez GTK HTML en lançant les commandes suivantes:
./configure --prefix=/opt/gnome --disable-gtk-doc && make && make install |
Le package libghttp contient une bibliothèque HTTP client pour GNOME 1.4.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/libghttp/1.0/libghttp-1.0.9.tar.gz
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/libghttp/1.0/libghttp-1.0.9.tar.gz
Taille du téléchargement: 148 Ko
Estimation de l'espace disque requis: 1,6 Mo
Estimation du temps de construction: 0,01 SBU
Installez libghttp en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
Ce chapitre est une collection de projets indépendants qui peuvent être installés suivant des besoins spécifiques. Ensemble, ils créent une suite office respectable. Bien qu'ils soient déficients sur la cohérence de l'interface utilisateur, ils excellent sur la seule chose qu'ils ont à faire.
Le package AbiWord contient une application de traitement de texte. C'est utile pour écrire des rapports, lettres et autres documents formatés.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/abiword/abiword-2.0.0.tar.bz2
Taille du téléchargement: 20,5 Mo
Estimation de l'espace disque requis: 164,7 Mo
Estimation du temps de construction: 1,82 SBU
Installez AbiWord en lançant les commandes suivantes:
cd abi && ./configure --prefix=/usr && make && make install |
Le package Gnumeric contient un tableur. Ceci est utile pour établir des analyses financières.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/gnumeric/1.2/gnumeric-1.2.0.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/gnumeric/1.2/gnumeric-1.2.0.tar.bz2
Taille du téléchargement: 10,5 Mo
Estimation de l'espace disque requis: 247,6 Mo
Estimation du temps de construction: 2,81 SBU
Installez Gnumeric en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \ --sysconfdir=/etc/gnome --libexecdir=$GNOME_PREFIX/sbin && make && make install |
--localstatedir=/var/lib : Cette option place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--sysconfdir=/etc/gnome : Cette option place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--libexecdir=$GNOME_PREFIX/sbin : Cette option place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.
GnuCash est un gestionnaire de finances personnelles.
Téléchargement (HTTP): http://www.gnucash.org/pub/gnucash/sources/stable/gnucash-1.8.7.tar.gz
Taille du téléchargement: 6,3 Mo
Estimation de l'espace disque requis: 144 Mo
Estimation du temps de construction: 3,18 SBU
Installez GnuCash en lançant les commandes suivantes:
./configure --prefix=/opt/gnome && make && make install |
--prefix=/opt/gnome : La version 1.8.7 de GnuCash est une application GNOME 1.4.
Note : GnuCash doit être lancé en tant que root une fois avant d'être utilisé. Il suffit d'exécuter GnuCash à partir d'un terminal X et de cliquer sur le bouton Cancel. Ceci doit être fait avant de configurer les comptes en tant qu'utilisateur non privilégié, dû au fait que GnuCash doit créer des catalogues scheme pour son utilisation propre avant d'être utilisé.
Le package GIMP contient le programme de manipulation d'images GNU. C'est utile pour retoucher des photos, composer des images.
Téléchargement (HTTP): http://gd.tuwien.ac.at/graphics/gimp/gimp/v1.2/v1.2.5/gimp-1.2.5.tar.bz2
Téléchargement (FTP): ftp://ftp.gimp.org/pub/gimp/v1.2/v1.2.5/gimp-1.2.5.tar.bz2
Taille du téléchargement: 10,6 Mo
Estimation de l'espace disque requis: 226 Mo
Estimation du temps de construction: 3,62 SBU
Téléchargement (FTP): ftp://ftp.gimp.org/pub/gimp/fonts/freefonts-0.10.tar.gz
Téléchargement (FTP): ftp://ftp.gimp.org/pub/gimp/v1.2/v1.2.5/gimp-data-extras-1.2.0.tar.bz2
libtiff-3.6.0, libpng-1.2.5, libjpeg-6b, gimp-print, AAlib-1.4rc5, mpeg_lib-1.3.1, Python-2.3.2 et Perl modules:Gtk-Perl-0.7008, PDL-2.4.0 et Parse-RecDescent-1.94
Installez GIMP en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc --disable-print && make && make install |
--disable-print: Cette option est nécessaire quand gimp-print n'est pas installé. Si gimp-print est installé, cette option pourra être supprimé.
~/.gimp-1.2
GIMP exécute un assistant de configuration pour chaque utilisateur lors de leur première utilisation du programme.
gimp est un programme de manipulation d'images. Il fonctionne avec une variété de formats d'images et fournit une grande sélection d'outils.
escputil est un outil réalisant des tâches de maintenance sur une imprimante à jet d'encre Epson Stylus.
gimp-config est utilisé par d'autres programmes qui souhaitent être liés aux bibliothèques GIMP.
gimp-remote est un petit outil indiquant à un GIMP en cours d'exécution d'ouvrir une image en local ou à distance.
Le package Evolution contient une suite intégrée pour le mail, le calendrier et le carnet d'adresses.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/evolution/1.4/evolution-1.4.4.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/evolution/1.4/evolution-1.4.4.tar.bz2
Taille du téléchargement: 12 Mo
Estimation de l'espace disque requis: 387 Mo
Estimation du temps de construction: 10,84 SBU
Note : Evolution requiert Berkeley DB-3.1.17. Les détails sur le "pourquoi" sont dans le fichier README donné avec le code source d'Evolution. Evolution est lié statiquement à la bibliothèque, donc ce livre installe Berkeley DB-3.1.17 dans /opt, qui peut être supprimé une fois Evolution installé.
Installez Berkeley DB-3.1.17 en lançant les commandes suivantes:
cd build_unix && ../dist/configure --prefix=/opt/db-3.1.17 --enable-compat185 && make && make install |
Installez Evolution en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --with-db3=/opt/db-3.1.17 --enable-openssl && make && make install |
De manière optionnelle, vous pouvez supprimer Berkeley DB-3.1.17 installé ci-dessus avec cette commande:
rm -rf /opt/db-3.1.17 |
--enable-compat185: Construit le support pour d'anciens fichiers de base de données.
--prefix=/opt/db-3.1.17: Cette version de la base de données Berkeley ne devrait pas être installée dans /usr, car elle est seulement nécessaire pour construire Evolution.
--with-db3=/opt/db-3.1.17: Spécifie le répertoire d'installation de db-3.1.17.
--enable-openssl: Cette option compilera le support de SSL dans Evolution.
--enable-openldap: Cette option compilera le support de LDAP dans Evolution.
evolution contient une suite avec client mail, gestion de calendriers et carnet d'adresses.
Ce chapitre contient des applications qui contiennent tous les besoins essentiels des travailleurs quotidiens sur un seul "petit" package. Les bénéfices sont une interface utilisateur consistante et une coopération entre les applications.
KOffice est la suite office intégrée pour KDE.
Téléchargement (HTTP): http://download.at.kde.org/pub/kde/unstable/koffice-1.2.93/src/koffice-1.2.93.tar.bz2
Téléchargement (FTP): ftp://ftp.kde.org/pub/kde/unstable/koffice-1.2.93/src/koffice-1.2.93.tar.bz2
Taille du téléchargement: 10,3 Mo
Estimation de l'espace disque requis: 181 Mo
Estimation du temps de construction: 30,8 SBU
KOffice a plusieurs packages d'internationalisation disponibles sous cette forme:
koffice-i18n-xx-1.2.93.tar.bz2 |
Installez KOffice en lançant les commandes suivantes:
export QTDIR=/opt/qt ./configure --prefix=/opt/kde-3.1.4 --disable-debug && make && make install |
Le package KOffice fournit kword, kspread, kpresenter, kivio, kontour, krita, kugar, kplato, kchart et kformula.
OpenOffice est une suite office, la contre-partie Open Source de StarOffice.
Téléchargement (HTTP): http://www.openoffice.org/dev_docs/source/1.1.0/source.html
Taille du téléchargement: 155 Mo
Estimation de l'espace disque requis: 3,0 Go
Estimation du temps de construction:
Bibliothèque General Polygon Clipper (Requis): ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z
Correctif requis (désactive la construction du carnet d'adresses de mozilla addressbook): http://www.linuxfromscratch.org/patches/blfs/5.0/openoffice-1.1.0-no-mozab.patch
Correctif requis (l'exécutable test se trouve dans /bin, not in /usr/bin): http://www.linuxfromscratch.org/patches/blfs/5.0/openoffice-1.1.0-test-bin-loc.patch
Correctif requis si Linux_PAM-0.77 n'est pas installé: http://www.linuxfromscratch.org/patches/blfs/5.0/openoffice-1.1.0-no-pam.patch
Correctif requis si vous compilez avec JDK 1.4.2: http://www.linuxfromscratch.org/patches/blfs/5.0/openoffice-1.1.0-jdk-1.4.2-fix.patch
L'archive source TAR contient seulement l'aide en anglais. Le fichier contenant l'aide localisé pourrait être disponible sur http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/.
Appliquez les correctifs téléchargés et copiez les fichiers gpc.
mv ../gpc231/* external/gpc && rm -rf ../gpc231 && for p in ../openoffice-1.1.0-*.patch do patch -Np1 -i $p done |
Si vous voulez optimiser la construction, éditez solenv/inc/unxlngi4.mk et ajoutez les options d'optimisation à la variable CFLAGSOPT. Quelques utilisateurs ont rapporté avoir des problèmes avec -fomit-frame-pointer. Le meilleur choix est de ne pas utiliser d'optimisation personnalisé. La commande suivante supprime une option -mcpu incorrecte dans le fichier ci-dessus.
cd solenv/inc && cp unxlngi4.mk unxlngi4.mk.orig && sed -e "s:\-mcpu=pentiumpro::" \ unxlngi4.mk.orig > unxlngi4.mk && cd ../.. |
Configurez openoffice en utilisant les commandes suivantes. Vous pouvez ajouter des langages suivant vos préférences. Si un composant particulier n'est pas disponible dans la langue de votre choix, il sera par défaut en anglais.
cd config_office/ && ./configure --with-lang=ALL && cd .. |
Compilez OpenOffice en utilisant les commandes suivantes.
Note : Openoffice échoue à la compilation si umask est initialisé sur quelque chose d'exotique. Initialisez-le à 022 si vous l'initialisez habituellement sur autre chose.
./bootstrap && bash -c "source LinuxIntelEnv.Set.sh; dmake" |
Si vous avez téléchargé les fichiers compressés d'aide localisé, vous aurez besoin de les décompresser dans le répertoire approprié comme mentionné ci-dessous et de recréer l'ensemble d'installation.
cd solver/645/unxlngi4.pro/pck && for i in $(ls ../../../../../helpcontent_*_unix.tgz) do tar -xvzf $i done && cd ../../../../instsetoo && rm -rf unxlngi4.pro && cd .. && bash -c "source LinuxIntelEnv.Set.sh ; dmake" |
Installez OpenOffice en utilisant les commandes suivantes. Les commandes suivantes installent le nécessaire pour la langue anglaise. Pour installer une version localisée, remplacez le 01 par le code international téléphonique de votre pays. Notez qu'un affichage X est nécessaire lors de l'installation bien qu'aucune fenêtre X ne sera visible. Vous pouvez utiliser Xvfb si vous compilez à partir de la console.
cd instsetoo/unxlngi4.pro/01/normal && cp install install.orig && sed -e "s:^oo_home=.*:oo_home=openoffice:" install.orig > install && ./install --prefix=/opt && for appl in swriter scalc sdraw simpress smath soffice spadmin do ln -sf /opt/openoffice/program/$appl /usr/bin/$appl done |
mv ../gpc231/gpc.* external/gpc : Copie les fichiers gpc à l'emplacement adéquate.
--with-lang=ENUS : Compile en anglais US, vous pouvez mettre en place plus de langages, ou tous.
./bootstrap : Création des packages requis pour le bootstrap lors de la construction.
dmake : Compile le package.
sed -e "s:^oo_home=... : Supprime le répertoire d'installation spécifique à la version.
for appl in swriter scalc sdraw simpress smath soffice; do ... : Crée les liens pour que le package puisse être lancé de la ligne de commande sans modifier le chemin existant.
Application de traitement de texte.
Configuration des imprimantes pour OpenOffice. Vous pourriez avoir besoin de le lancer si vous avez des problèmes d'impression.
Ce chapitre contient une sélection magnifique de navigateurs. Nous espérons que vous y trouverez celui que vous appréciez ou les testerez tous.
Mozilla est une suite de navigation, la contre-partie Open Source de Netscape. Elle inclut le navigateur, un client mail, un client pour les calendriers et un client IRC.
Le projet Mozilla gère aussi deux sous-projets qui ont pour ambition de contenter les besoins des utilisateursqui n'ont pas besoin de la suite complète ou qui apprécient d'avoir des applications séparées pour naviguer ou pour leurs courriers. Ces sous-projets sont Mozilla Firebird, (un navigateur indépendant basé sur le code source de Mozilla) et Mozilla Thunderbird, (un client mail indépendant basé sur le code source de Mozilla). Les instructions de construction pour ces deux applications séparées sont abordées dans cette section au lieu d'avoir une section séparée car les instructions d'installation sont très similaires à celles de Mozilla. De plus, à cause de cette similarité, seules les modifications requises en respect des instructions pour Mozilla sont mentionnées.
Téléchargement (HTTP): http://ftp.mozilla.org/pub/mozilla/releases/mozilla1.5/src/mozilla-source-1.5.tar.bz2
Téléchargement (FTP): ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.5/src/mozilla-source-1.5.tar.bz2
Taille du téléchargement: 39 Mo
Estimation de l'espace disque requis: 550 Mo
Estimation du temps de construction: 22,64 SBU
Enigmail Extension (Utile seulement si Mozilla Mail est construit): http://downloads.mozdev.org/enigmail/src/enigmail-0.76.7.tar.gz
Inter Process Communicaton Extension (Nécessaire pour Enigmail): http://downloads.mozdev.org/enigmail/src/ipc-1.0.4.tar.gz
Note : D'après les institutions financières, le correctif suivant rend votre navigateur non sécurisé. Vous avez été prévenu. Un grand nombre de sites utilise un indicatif MS-IE spécifique (autocomplete=off) pour empêcher la complétion automatique de fonctionner dans certaines formes. Cet indicatif est maintenant supporté par Mozilla pour faire plaisir aux institutions financières. Quant aux nécessités des institutions financières, ils n'accepteront même pas une solution où ceci est une préférence, une option. Néanmoins, notre opinion est que ceci est l'affaire de l'utilisateur. Pour activer la complétion automatique et passer cette restriction, nous avons besoin de faire une légère modification dans le code.
Ouvrez le fichier extensions/wallet/src/wallet.cpp à partir des sources Mozilla et recherchez la ligne:
Alors supprimez ou mettez cette ligne en commentaire. Maintenant, si quelqu'un vous dit que MS-IE est facile d'utilisation, donnez cet exemple!
#define WALLET_DONT_CACHE_ALL_PASSWORDS
Si vous pensez installer Enigmail, récupérez les archives tar d'ipc et d'engimail dans le répertoire extensions.
Compilez Mozilla en lançant les commandes suivantes:
export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" && ./configure --prefix=/usr \ --enable-default-mozilla-five-home \ --enable-toolkit-gtk2 --enable-default-toolkit=gtk2 \ --with-x --with-system-zlib \ --with-system-jpeg --with-system-png --with-system-mng \ --enable-xft --enable-crypto \ --enable-java-supplement \ --disable-accessibility \ --disable-tests --disable-debug \ --disable-logging --enable-reorder \ --enable-strip --disable-pedantic \ --enable-cpp-rtti --enable-extensions=all && make |
Si vous installez Enigmail, exécutez les étapes suivantes:
cd extensions/ipc && ./makemake -r && make && cd ../enigmail && ./makemake -r && make && cd ../.. |
Installez Mozilla de cette façon:
make install && install -d /usr/include/mozilla-1.5/nss && cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-1.5/nss && ln -nsf mozilla-1.5 /usr/include/mozilla && ln -nsf mozilla-1.5 /usr/lib/mozilla |
Installez Enigmail de cette façon:
for i in components/enigmime.xpt \ components/ipc.xpt components/libenigmime.so components/enigmail.js \ components/enigmail.xpt chrome/enigmail.jar do install dist/bin/$i /usr/lib/mozilla-1.5/$i done |
Pour activer les opérations multi-utilisateurs, exécutez ce qui suit:
cd /usr/lib/mozilla-1.5 && export LD_LIBRARY_PATH="/usr/lib/mozilla-1.5" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.5" && ./regxpcom && ./regchrome && touch `find /usr/lib/mozilla-1.5 -name *.rdf` |
Chacune de ses options peut être ajoutée à la ligne de configure pour avoir l'effet décrit sur la compilation de Mozilla.
--enable-elf-dynstr-gc: Supprime les chaînes non référencées à partir d'objets partagés ELF générés lors de la construction. Notez que cette option casse la construction sur les machines à base de processeur alpha.
--disable-mailnews: Désactive les clients mail et news.
--disable-ldap: Désactive le support de LDAP, ce qui est recommendé si le mail est désactivé.
--enable-calendar: Construit le client pour le calendrier.
--enable-xterm-updates: Cette option est nécessaire pour activer le titre xterm avec la commande actuelle lors de la compilation.
--enable-plaintext-editor-only: Désactive le support de l'édition HTML. N'utilisez pas cette option si vous construisez le composant mail-news.
Ajoutez la variable d'environnement suivante (la variable est nommé Phoenix car il s'agissait de l'ancien nom du projet Mozilla Firebird):
export MOZ_PHOENIX="1" |
Assurez-vous que les options suivantes sont passées à ./configure: --disable-calendar et --disable-mailnews.
Nous recommendons l'installation dans un répertoire séparé tel que --prefix=/opt/firebird-0.7 pour prévenir les problèmes avec un Mozilla installé.
L'exécutable Mozilla Firebird est MozillaFirebird.
Ajoutez la variable d'environnement suivante:
export MOZ_THUNDERBIRD="1" |
Assurez-vous que les options suivantes sont passées à ./configure: --disable-calendar.
Nous recommendons l'installation dans un répertoire séparé tel que --prefix=/opt/thunderbird-0.3 pour prévenir les problèmes avec un Mozilla installé.
L'exécutable Mozilla Thunderbird est thunderbird.
export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" |
--prefix=/usr: Auparavant, mozilla ne supportait pas l'option make install. Donc, le package était installé dans /opt. Le package supporte maintenant "make install" et suit les lignes de conduite du FHS pour l'installation. Le livre recommande donc maintenant l'installation avec un préfixe système tel que /usr.
--enable-toolkit-gtk2 |
--with-system-zlib --with-system-jpeg \ --with-system-png --with-system-mng" |
--enable-xft: Active le support de Xft. Vous avez besoin de FontConfig ou de la dernière version de XFree86 pour activer xft.
--enable-crypto: Active le Gestionnaire de Sécurité Personnel pour permettre les connexions SSL.
--disable-jsd --disable-accessibility \ --disable-tests --disable-debug \ --disable-dtd-debug \ --disable-logging --enable-reorder \ --enable-strip \ --enable-cpp-rtti |
--enable-extensions=...: Active les extensions. Si vous le souhaitez, vous pouvez désactiver toutes les extensions autre que le navigateur en changeant cette option par --enable-extensions="default,-venkman,-inspector,-irc".
--enable-svg: Active le support de SVG (Scalable Vector Graphics).
install -d /usr/include/mozilla-1.5/nss cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-1.5/nss |
ln -nsf mozilla-1.5 ...: Mozilla installe les entêtes et bibliothèques dans des répertoires spécifiques à la version. Ce lien crée des liens symboliques pour que les applications dépendant de Mozilla (comme OpenOffice, Galeon, etc...) puissent utiliser un chemin non spécifique à la version lors de l'installation.
export LD_LIBRARY_PATH="/usr/lib/mozilla-1.5" && export MOZILLA_FIVE_HOME="/usr/lib/mozilla-1.5" && ./regxpcom && ./regchrome && touch `find /usr/lib/mozilla-${VERSION} -name *.rdf` |
Aucune configuration spécifique n'est requise tant que le binaire mozilla se trouve dans le path de l'utilisateur. Si Mozilla est installé dans un répertoire non standard, alors créez un lien symbolique vers le binaire mozilla à partir du répertoire /usr/bin. Ceci s'applique aussi à Mozilla FireBird et à Mozilla Thunderbird.
Beaucoup d'applications recherchent netscape lorsqu'elles ont besoin d'ouvrir un navigateur. Vous pouvez créer un lien symbolique pour plus de facilité.
ln -sf mozilla /usr/bin/netscape |
Pour installer les plugins variés de Mozilla, référez-vous au projet PluginDoc de Mozdev.
Le package Mozilla contient mozilla. Les nombreux composants comme le composeur, le client mail sont accessibles dans le menu après le démarrage de mozilla ou via des options sur la ligne de commande du binaire mozilla.
Le package Galeon contient le navigateur GNOME utilisant le moteur de rendu gecko de Mozilla et présentant l'interface la plus simple possible pour un navigateur.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/galeon/galeon-1.3.10.tar.gz
Taille du téléchargemenr: 2,9 Mo
Estimation de l'espace disque requis: 122,3 Mo
Estimation du temps de construction: 1,95 SBU
La compilation doit être faite avec la même version de compilateur et les mêmes optimisations que celles utilisées pour Mozilla.
Installez Galeon en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome \ --localstatedir=/var/lib && make && make install |
galeon positionne LD_LIBRARY_PATH et MOZILLA_FIVE_HOME avant d'exécuter galeon-bin.
galeon-config-tool efface les paramétrages, installe les schémas, supprime des schémas et corrige les permissions dans GConf.
Konqueror est le navigateur web par défaut pour l'environnement de burau KDE. Il est installé avec kdebase-3.1.4.
Dillo est un navigateur web graphique rapide et peu consomnateur en mémoire. Bien que la version 0.7.3 est en phase alpha, il est stable. Dillo ne supporte pas java ou javascript, et la version actuelle ne supporte pas le copier/cooler, le FTP, https ou les cadres. Il est néanmoins très rapide et donc utile sur les anciennes machines, assez lentes. Il supporte les téléchargements et peut autoriser les cookies.
Téléchargement (HTTP): http://www.dillo.org/download/dillo-0.7.3.tar.bz2
Taille du téléchargement: 345 Ko
Estimation de l'espace disque requis: 14,2 Mo
Estimation du temps de construction: 0,23 SBU
Note : Dillo ne dispose pas de mécanisme de sélection d'ensemble de caractères et utilise en permanence iso8859-1. Si celui-ci n'est pas approprié, remplacez toutes les occurences de iso8859-1 par celui que vous souhaitez dans src/dw_style.c.
Installez Dillo en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
Une configuration système est possible en utilisant /etc/dillorc. Il permet de définir les serveurs proxy et la page d'accueil par défaut.
Dillo enregistre sa configuration pour chaque utilisateur dans des fichiers disponible sous ~/.dillo. Ces fichiers sont créés automatiquement au lancement de Dillo. Par défaut, les cookies ne sont pas activés par Dillo. Pour les activer, éditez le fichier ~/.dillo/cookiesrc. Le fichier ~/.dillo/bookmarks.html est créé par Dillo. Il peut aussi être modifié avec n'importe quel éditeur texte ou HTML.
dillo est un navigateur WWW graphique basé sur GTK+, disposant de possibilités limitées mais ayant une petite empreinte mémoire et très rapide sur des machines lentes.
L'Internet n'est pas uniquement un navigateur. Voici quelques applications graphiques qui utilisent d'autres aires de l'Internet.
Le package Pan contient un lecteur de news graphique. C'est utile pour lire et écrire des news, hiérarchiser des articles et y répondre via email.
Téléchargement (HTTP): http://pan.rebelbase.com/download/releases/0.14.2/SOURCE/pan-0.14.2.tar.bz2
Taille du téléchargement: 1,8 Mo
Estimation de l'espace disque requis: 67,8 Mo
Estimation du temps de construction: 0,72 SBU
Installez Pan en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package Balsa contient un lecteur de mail basé sur GNOME 2.
Téléchargement (HTTP): http://balsa.gnome.org/balsa-2.0.14.tar.bz2
Taille du téléchargement: 2,7 Mo
Estimation de l'espace disque requis: 74 Mo
Estimation du temps de construction: 0,82
Installez Balsa en lançant les commandes suivantes:
./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib --with-ssl \ --sysconfdir=/etc/gnome --with-ldap --with-gpgme && make && make install |
--localstatedir=/var/lib : Cette option place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.
--with-ssl : Modifie la configuration de Balsa qui ne propose pas par défaut le support de SSL.
--sysconfdir=/etc/gnome : Cette option place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.
--with-ldap : Change la valeur par défaut pour activer le support de LDAP s'il est disponible.
--with-gpgme : Change la valeur par défaut pour activer le support de GPG si 'GnuPG made easy' (GPGME) est installé.
Toute la configuration de Balsa est faite avec le menu système Balsa, et la configuration de la boîte mail avec le menu Settings->Preferences.
Beaucoup de programmes multimedia requièrent des bibliothèques et/ou des pilotes pour fonctionner proprement. Les packages de cette section ne tombent pas dans cette catégorie. Généralement, vous avez seulement besoin de les installer si vous installez un programme qui a les bibliothèques listées soit comme une nécessité soit comme une option à activer pour supporter certaines fonctionnalités.
La première question, que les gens ont tendance à se poser à propos d'ALSA, est pourquoi il faut l'utiliser plutôt que les pilotes son inclus dans le noyau - il existe plusieurs raisons. Tout d'abord, les pilotes ALSA supportent plus de cartes son que ceux dans le noyau. Ensuite, l'émulation OSS est dans quelques cas plus rapide et meilleure que le pilote OSS original lui-même. Et finalement, il existe plusieurs programmes pouvant utiliser les fonctionnalités avancées pour mieux utiliser la carte son.
ALSA semble aussi être le futur du Son Linux (d'où le nom Advanced Linux Sound Architecture), et les pilotes ALSA vont probablement être inclus dans le noyau principal linux à un point quelconque lors du développement de la série 2.5, menant éventuellement au fait qu'ALSA puisse être le standard des pilotes son dans le futur noyau stable 2.6.
Les cinq sections suivantes s'occupent des cinq composants séparés d'ALSA; les pilotes, les bibliothèques, les utilitaires, les outils et les bibliothèques de compatibilité OSS.
Le package ALSA Driver contient les pilotes son d'ALSA. Ils sont la prochaine génération des pilotes son pour Linux.
Téléchargement (HTTP): http://www.alsa-project.org/alsa/ftp/driver/alsa-driver-0.9.6.tar.bz2
Téléchargement (FTP): ftp://ftp.alsa-project.org/pub/driver/alsa-driver-0.9.6.tar.bz2
Taille du téléchargement: 1,5 Mo
Estimation de l'espace disque requis: 22 Mo (pour tous les pilotes)
Estimation du temps de construction: 1,13 SBU
Avant l'installation d'ALSA Driver, notez que, dans la configuration de votre noyau, vous devez avoir activé Sound Card Support (CONFIG_SOUND) mais rien d'autre dans le menu Sound (avec la possible exception du support du mixer de la carte TV). En particulier, vous ne devez pas avoir activé OSS Sound Modules car ceci causera des problèmes lors du chargement des modules du pilote alse.
Note : Parce que ALSA drivers n'est qu'un ensemble de modules, ils doivent être compilés avec le même compilateur que celui utilisé pour le noyau.
Installez ALSA Driver en utilisant les commandes suivantes comme modèle:
CC=/opt/gcc-2.95.3/bin/gcc ./configure \ --with-moddir=/lib/modules/`uname -r`/kernel/drivers/sound \ --with-kernel=/lib/modules/`uname -r`/build \ --with-sequencer=yes \ --with-oss=yes \ --with-isapnp=no \ --with-cards=all && make && make install |
Si c'est la première fois que vous avez installé les pilotes ALSA, vous n'aurez pas besoin de créer les entrées /dev en utilisant le script apporté par l'arbre des sources ALSA Driver:
./snddevices |
--with-sequencer=yes : Ceci indique au package ALSA Driver de construire les modules du séquenceur pour toutes les cartes son que vous avez spécifiées. La plupart des personnes les souhaitent donc vous voudrez certainement le laisser à oui (yes).
--with-oss=yes : Ceci indique au package de construire les modules d'émulation OSS/Free. Encore une fois, la plupart des personnes pensent que c'est mieux.
--with-isapnp=no : De nos jours, la plupart des cartes son sont PCI, donc le support de l'ISA Plug and Play n'est pas nécessaire. Si vous utilisez une carte ISA, il est préférable de répondre oui (yes) ici. Si votre carte est une ISA non PnP, il est plus sûr de répondre non (no).
--with-cards=all : Vous spécifiez ici quelles sont les cartes son pour lesquelles vous souhaitez disposer de pilotes. Pour plus d'informations sur les pilotes disponibles, voir ./configure --help. Si vous n'êtes pas sûr des composants utilisés par votre carte, jetez un oeil sur CARDS-STATUS dans le répertoire des sources ALSA Driver. La valeur par défaut spécifiée ici va construire tous les pilotes.
/etc/modules.conf
Pour configurer les pilotes ALSA, vous avez besoin d'ajouter quelques lignes dans /etc/modules.conf:
cat >> /etc/modules.conf << "EOF" alias char-major-14 soundcore alias char-major-116 snd alias snd-card-0 snd-[soundcard-name] alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-midi EOF |
[nom-carte-son] a besoin d'être remplacé avec le pilote adéquat pour votre carte son. Si vous avez plus d'une carte son, vous pouvez ajouter des sections supplémentaires en répétant les étapes du dessus mais en changeant les premiers 0 en 1 et ainsi de suite.
Après avoir édité /etc/modules.conf, vous aurez besoin de lancer depmod. Si les pilotes que vous avez compilé pour la version du noyau en cours d'exécution, lancez simplement
depmod |
Si vous compilez des pilotes pour une version différente du noyau que celle en cours d'exécution, vous aurez besoin d'utiliser une ligne parmi celles de:
depmod -a 2.4.19 -F /boot/System.map-2.4.19 |
Ce sont des modules du noyau, qui apportent des fonctionnalités audio et MIDI au système d'exploitation.
Ils sont installés dans /usr/include/sound et sont nécessaires pour compiler certains packages tels que ALSA Libraries.
Le package ALSA Library contient les bibliothèques d'ALSA. Elles sont utilisées par des programmes (y compris ALSA Utilities) qui souhaitent utiliser l'interface son ALSA.
Téléchargement (HTTP): http://www.alsa-project.org/alsa/ftp/lib/alsa-lib-0.9.6.tar.bz2
Téléchargement (FTP): ftp://ftp.alsa-project.org/pub/lib/alsa-lib-0.9.6.tar.bz2
Taille du téléchargement: 501 Ko
Estimation de l'espace disque requis: 19 Mo
Estimation du temps de construction: 0,41 SBU
Installez ALSA Library en lançant les commandes suivantes:
./configure && make && make install |
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
libasound apporte les fonctions ALSA aux programmes applicatifs.
Le package ALSA Utilities contient différents utilitaires importants pour contrôler votre carte son.
Téléchargement (HTTP): http://www.alsa-project.org/alsa/ftp/utils/alsa-utils-0.9.6.tar.bz2
Téléchargement (FTP): ftp://ftp.alsa-project.org/pub/utils/alsa-utils-0.9.6.tar.bz2
Taille du téléchargement: 106 Ko
Estimation de l'espace disque requis: 1,8 Mo
Estimation du temps de construction: 0,06 SBU
Installez ALSA Utilities en lançant les commandes suivantes:
./configure && make && make install |
/etc/asound.state
La façon la plus simple de stocker les niveaux de mixage est certainement de les configurer en utilisant un script de démarrage. Il est possible de faire cela avec une ligne post-install dans /etc/modules.conf mais ceci est laissé comme exercice aux lecteurs souhaitant le faire.
Le package ALSA Driver installe un script nommé /etc/rc.d/init.d/alsasound. Bien qu'il soit possible d'utiliser ce script, il contient plein de détails supplémentaires et non nécessaire à un système LFS, donc nous créons notre propre script /etc/rc.d/init.d/alsa.
Pour créer le script ALSA, faites ce qui suit:
cat > /etc/rc.d/init.d/alsa << "EOF" #!/bin/sh # Début $rc_base/init.d/alsa # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org # Parties spécifiques à ALSA par Mark Hymers - markh@linuxfromscratch.org # Stockage des paramètrages du mixage dans l'emplacement par défaut: /etc/asound.state source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting ALSA... Restoring volumes..." loadproc /usr/sbin/alsactl restore #echo " Loading MIDI font..." #loadproc sfxload /path/to/soundfont ;; stop) echo "Stopping ALSA... Saving volumes......" loadproc /usr/sbin/alsactl store #echo " Removing MIDI font.........." #loadproc sfxload -i ;; restart) $0 stop /usr/bin/sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac # Fin $rc_base/init.d/alsa EOF chmod 755 /etc/rc.d/init.d/alsa |
Vous pouvez alors créer les liens symboliques associés:
cd /etc/rc.d/init.d && ln -sf ../init.d/alsa ../rc0.d/K35alsa && ln -sf ../init.d/alsa ../rc1.d/K35alsa && ln -sf ../init.d/alsa ../rc2.d/S40alsa && ln -sf ../init.d/alsa ../rc3.d/S40alsa && ln -sf ../init.d/alsa ../rc4.d/S40alsa && ln -sf ../init.d/alsa ../rc5.d/S40alsa && ln -sf ../init.d/alsa ../rc6.d/K35alsa |
Notez que tous les canaux de votre carte son sont muets par défaut. Vous pouvez utiliser le programme alsamixer de ALSA Utilities (ou tout autre mixeur OSS) pour le changer.
De même, la première fois que le script ci-dessus est lancé, il se plaindra qu'il ne trouve pas d'état dans /etc/asound.state. Vous pouvez empêcher ceci en lançant les commandes suivantes après l'installation d'ALSA Utilities:
touch /etc/asound.state && alsactl store |
Une note finale pour indiquer que les lignes permettant le chargement de sfxload sont en commentaires. Elles sont ici comme exemple d'autres choses que vous pourriez vouloir faire dans le script de démarrage. sfxload est un package séparé intéressant les utilisateurs de SoundBlaster AWE et Live!. Il a été conçu pour charger les "sons" utilisés par la sortie MIDI. Vous pouvez souhaiter supprimer ces lignes et ajouter les vôtres ou, si vous diposez de la carte adéquate, installer sfxload et supprimer les commentaires.
Le package ALSA Utilities contient aconnect, alsactl, alsamixer, amixer, aplay, arecord et aseqnet.
aconnect est un utilitaire pour connecter et déconnecter deux ports existants dans le système de séquencement ALSA.
alsamixer est un programme mixer basé sur ncurses pour l'utiliser avec les cartes son ALSA.
arecord est l'enregistreur de fichiers sons et ligne de commande pour les pilotes de cartes son.
aseqnet est un client du séquenceur ALSA qui envoie et reçoit des paquets événements sur le réseau.
Le package ALSA Tools contient des outils avancés pour certaines cartes sons.
Téléchargement (HTTP): http://www.alsa-project.org/alsa/ftp/tools/alsa-tools-0.9.6.tar.bz2
Téléchargement (FTP): ftp://ftp.alsa-project.org/pub/tools/alsa-tools-0.9.6.tar.bz2
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 6,8 Mo (pour compiler tous les outils)
Estimation du temps de construction: varie
Le package alsa-tools est nécessaire seulement pour ceux qui ont des besoins avancés pour leur carte son. Les outils ne sont pas tous construits ensemble, vous avez en fait besoin d'entrer (cd) dans le répertoire de chaque outil que vous souhaitez compiler et lancer les commandes suivantes
./configure && make && make install |
Les outils disponibles dans ce package sont ac3dec, as10k1, envy24control, sb16_csp et sbiload.
ac3dec est un décodeur libre de flux AC-3.
as10k1 est un assembleur pour le circuit emu10k1 DSP présent dans les cartes son Creative SB Live, PCI 512 et emu APS. Il est utilisé pour réaliser des effets audio comme un 'flanger', un choeur ou une réverbation.
envy24control est un outil de contrôle pour les cartes son basées sur Envy24 (ice1712).
sb16_csp est un programme de contrôle pour le SB16/AWE32 Creative Signal Processor (ASP/CSP).
Le package ALSA OSS contient la bibliothèque de compatibilité ALSA OSS. Elle est utilisée par des programmes souhaitant utiliser l'interface de son ALSA OSS.
Téléchargement (HTTP): http://www.alsa-project.org/alsa/ftp/oss-lib/alsa-oss-0.9.6.tar.bz2
Téléchargement (FTP): ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-0.9.6.tar.bz2
Taille du téléchargement: 131 Ko
Estimation de l'espace disque requis: 1,3 Mo
Estimation du temps de construction: 0,04 SBU
Installez ALSA OSS en lançant les commandes suivantes:
./configure && make && make install |
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Le package ALSA OSS contient aoss et les bibliothèques libaoss (bibliothèques de compatibilité OSS d'ALSA).
Le synthétiseur analogique en temps réel (Analog Realtime Synthesizer ou aRts) apporte le logiciel nécessaire à la simulation d'un "synthétiseur analogue modulaire" complet sur votre ordinateur. Il crée des sons et de la musique en utilisant des petits modules comme des oscillateurs pour créer des 'waveforms', différents filtres, modules pour jouer des données sur vos haut-parleurs, mixeurs et 'faders'. Vous pouvez construire une configuration complète pour le gui de votre système en utilisant les modules, générateurs, effets et sorties, inter-connectés.
aRts apporte les bibliothèques nécessaires pour KDE, néanmoins il s'agit d'un package indépendant. Les instructions d'installation pour aRts se trouvent dans la partie aRts-1.1.4 des instructions d'installation de KDE.
Le package Audio File contient les bibliothèques de fichiers audio et deux programmes de support de fichiers de son. Ils sont utiles pour supporter les formats de fichiers de son basiques.
Téléchargement (HTTP): http://www.zentek-international.com/mirrors/gnome/desktop/2.0/2.0.1/sources/audiofile-0.2.3.tar.gz
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/audiofile/0.2/audiofile-0.2.3.tar.gz
Taille du téléchargement: 328 Ko
Estimation de l'espace disque requis: 22,7 Mo
Estimation du temps de construction: 0,30 SBU
Installez Audio File en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package Audio File contient les bibliothèques libaudiofile, audiofile-config, sfinfo et sfconvert.
La bibliothèque audiofile est utilisé par les programmes pour supporter les formats audio AIFF, AIFF-compressé, SUN/NeXT, WAVE et BICS.
Le script audiofile-config est utilisé durant le processus de compilation lors d'édition de liens avec cette bibliothèque.
Le programme sfinfo affiche le format du fichier de son, l'encodage audio, le taux d'échantillonnage et la durée des formats audio supportés par cette bibliothèque.
Le programme sfconvert convertit les formats de fichiers de son, où le format original et le format de destination sont supportés par cette bibliothèque.
Le package EsounD contient Enlightened Sound Daemon. Ceci est utile pour mixer ensemble plusieurs flux audio digitales par un simple périphérique.
Téléchargement (HTTP): http://ftp.gnome.org/pub/GNOME/sources/esound/0.2/esound-0.2.30.tar.bz2
Téléchargement (FTP): ftp://ftp.gnome.org/pub/GNOME/sources/esound/0.2/esound-0.2.30.tar.bz2
Taille du téléchargement: 348 Ko
Estimation de l'espace disque requis: 3,0 Mo
Estimation du temps de construction: 0,17 SBU
Installez EsounD en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
--sysconfdir=/etc : Cette commande place les fichiers de configuration de esounds dans /etc au lieu de /use/etc.
/etc/esd.conf
Instructions et information sur le fichier de configuration se trouve dans le fichier TIPS dans le répertoire source d'EsounD.
Le package EsounD contient esd, esdcat, esdctl, esdloop, esdmon, esdrec, esdsample et les bibliothèques libesd.
Simple DirectMedia Layer (SDL en court) est une bibliothèque cross-platforme conçue pour rendre facile l'écriture de logiciels multimedia, tels que les jeux et les émulateurs.
Téléchargement (HTTP): http://www.libsdl.org/release/SDL-1.2.6.tar.gz
Taille du téléchargement: 1,9 Mo
Estimation de l'espace disque requis: 50,3 Mo
Estimation du temps de construction: 0,72 SBU
Installez SDL en lançant les commandes suivantes:
./configure --prefix=/usr --disable-debug && make && make install |
--disable-debug : Cette commande configure SDL pour être construit avec des optimisations agressives.
--enable-video-aalib : Cette option est requise pour construire SDL avec le support vidéo AAlib.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Simple DirectMedia Layer est une API générique qui apporte des accès bas-niveau à l'audio, le clavier, la souris, le joystick, le matériel 3D via OpenGL et le framebuffer 2D au travers de plateformes multiples.
Le package libao contient une bibliothèque audio cross-plateforme. Elle est utile pour jouer de l'audio sur une grande variété de plateformes. Il supporte actuellement les fichiers WAV, OSS (acronyme d'Open Sound System), ESD (acronyme d'Enlighten Sound Daemon) et ALSA (acronyme d'Advanced Linux Sound Architecture).
Téléchargement (HTTP): http://fatpipe.vorbis.com/files/1.0/unix/libao-0.8.3.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/util/sound/ogg/libao-0.8.3.tar.gz
Taille du téléchargement: 212 Ko
Estimation de l'espace disque requis: 1,7 Mo
Estimation du temps de construction: 0,05 SBU
Installez libao en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
libao apporte des fonctions pour des programmes souhaitant de sortir du son sur des plateformes supportées.
Le package libogg contient la structure du fichier Ogg. C'est utile pour créer (encoder) ou jouer (décoder) un seul flux physique.
Téléchargement (HTTP): http://fatpipe.vorbis.com/files/1.0/unix/libogg-1.0.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/util/sound/ogg/libogg-1.0.tar.gz
Taille du téléchargement: 224 Ko
Estimation de l'espace disque requis: 1,6 Mo
Estimation du temps de construction: 0,03 SBU
Installez libogg en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Les bibliothèques libogg fournissent les fonctions aux programmes souhaitant lire ou écrire des flux formattés OGG.
Le package libvorbis contient un format d'encodage audio et musique à but général. C'est utile pour créer (coder) et jouer (décoder) du son dans un format libre (sans brevet).
Téléchargement (HTTP): http://fatpipe.vorbis.com/files/1.0/unix/libvorbis-1.0.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/util/sound/ogg/libvorbis-1.0.tar.gz
Taille du téléchargement: 736 Ko
Estimation de l'espace disque requis: 24 Mo
Estimation du temps de construction: 0,57 SBU
Installez libvorbis en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
libvorbis est connue pour causer des erreurs de compilation sur certaines machines. Si vous obtenez des erreurs, essayez ces commandes pour installer libvorbis:
./configure --prefix=/usr && cd lib && cp Makefile Makefile.bak && sed s/-mno-ieee-fp// Makefile.bak > Makefile && cd .. && make && make install |
Les bibliothèques libvorbis fournissent les fonctions de lecture et écriture de fichiers sons.
Le système audio par réseau (Network Audio System) est un système de transport transparent pour l'audio par le réseau en client/serveur. Il peut être décrit comme l'équivalent audio d'un serveur X.
Téléchargement (HTTP): http://radscan.com/nas/nas-1.6.src.tar.gz
Téléchargement (FTP): ftp://ftp.us.xemacs.org/pub/xemacs/aux/nas-1.6.src.tar.gz
Taille du téléchargement: 1,0 Mo
Estimation de l'espace disque requis: 13 Mo
Estimation du temps de construction: 0,30 SBU
Installez NAS en lançant les commandes suivantes:
patch -Np1 -i ../nas-1.6-bison-fix.patch && xmkmf && make Makefiles && make includes && make depend && make && make install install.man |
xmkmf... : Ces commandes utilisent la façon standard pour compiler des applications X.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Libmpeg3 supporte une édition et une manipulation avancées de flux MPEG.
Téléchargement (HTTP): http://aleron.dl.sourceforge.net/sourceforge/heroines/libmpeg3-1.5.2-src.tar.bz2
Taille du téléchargement: 611 Ko
Estimation de l'espace disque requis: 7,0 Mo
Estimation du temps de construction: 0,13 SBU
Installez libmpeg3 en lançant les commandes suivantes:
make && make install && cp i686/libmpeg3.a /usr/lib && cp libmpeg3.h mpeg3private.h /usr/include |
cp i686/libmpeg3.a /usr/lib && cp libmpeg3.h mpeg3private.h /usr/include : Comme make install ne copie pas les fichiers bibliothèque et entête au bon emplacement, nous le faisons manuellement.
Le package libmpeg3 contient la bibliothèque libmpeg3, les utilitaires mpeg3cat, mpeg3dump et mpeg3toc.
libmpeg3 décode plusieurs standards MPEG en des données non compressées disponibles pour l'édition et l'écoute.
Libmad est un décodeur audio de haute qualité pour le MPEG capable d'une sortie en 24-bit.
Téléchargement (HTTP): http://flow.dl.sourceforge.net/sourceforge/mad/libmad-0.15.0b.tar.gz
Téléchargement (FTP): ftp://ftp.mars.org/pub/mpeg/libmad-0.15.0b.tar.gz
Taille du téléchargement: 398 Ko
Estimation de l'espace disque requis: 3,8 Mo
Estimation du temps de construction: 0,09 SBU
Installez libmad en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
OpenQuicktime est une petite bibliothèque gérant le format de film Quicktime sur une majorité d'Unix. Le décodage et le codage audio sont assurés en utilisant un mécanisme de plug-ins.
Téléchargement (HTTP): http://flow.dl.sourceforge.net/sourceforge/openquicktime/openquicktime-1.0-src.tgz
Taille du téléchargement: 313 Ko
Estimation de l'espace disque requis: 8,6 Mo
Estimation du temps de construction: 0,11 SBU
Installez OpenQuicktime en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Ce package apporte la bibliothèque libopenquicktime et les utilitaires vous permettant de manipuler des fichiers Quicktime.
libFAME est une bibliothèque de codage vidéo rapide pour le MPEG-1 (temps réel) ainsi que MPEG-4.
Téléchargement (HTTP): http://flow.dl.sourceforge.net/sourceforge/fame/libfame-0.9.0.tar.gz
Téléchargement (FTP): ftp://sunsite.ccu.edu.tw/pub14/sourceforge/f/fame/libfame-0.9.0.tar.gz
Taille du téléchargement: 233 Ko
Estimation de l'espace disque requis: 6,0 Mo
Estimation du temps de construction: 0,17 SBU
Installez libFAME en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Speex est un format de compression audio conçu spécialement pour la parole. Il est bien adapté aux applications Internet et apporte des fonctionnalités utiles non présentes dans la plupart des CODEC.
Téléchargement (HTTP): http://www.speex.org/download/speex-1.0.1.tar.gz
Taille du téléchargement: 381 Ko
Estimation de l'espace disque requis: 4,0 Mo
Estimation du temps de constructon: 0,13 SBU
Installez Speex en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
id3lib est un bibliothèque pour lire, écrire, manipuler des balises ID3v1 et ID3v2.
Téléchargement (HTTP): http://flow.dl.sourceforge.net/sourceforge/id3lib/id3lib-3.8.3.tar.gz
Téléchargement (FTP): ftp://sunsite.ccu.edu.tw/pub13/sourceforge/i/id3lib/id3lib-3.8.3.tar.gz
Taille du téléchargement: 928 Ko
Estimation de l'espace disque requis: 39 Mo
Estimation du temps de construction: 1,01 SBU
Installez id3lib en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package id3lib contient la bibliothèque libid3 ainsi que id3convert, id3cp, id3info et id3tag.
FLAC est un CODEC audio similaire à MP3 mais sans pertes, ce qui signifie que l'audio est compressé sans perte d'informations.
Téléchargement (HTTP): http://flow.dl.sourceforge.net/sourceforge/flac/flac-1.1.0.tar.gz
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 33 Mo
Estimation du temps de construction: 0,71 SBU
Installez FLAC en lançant les commandes suivantes:
./configure --prefix=/usr make && make install |
Le package FLAC contient flac, metaflac, libFLAC, libFLAC++, libOggFLAC, libOggFLAC++ et libxmms-flac.
flac est un outil en ligne de commande pour le codage, le décodage et la conversion de fichiers FLAC.
metaflac est un programme pour lister, ajouter, supprimer ou éditer des métadata dans un ou plusieurs fichiers FLAC.
Ces bibliothèques apportent une API native C/C++ pour FLAC et Ogg FLAC, pour les programmes utilisant FLAC.
libdvdread est une bibliothèque qui fournit une simple fondation pour lire des DVD.
Téléchargement (HTTP): http://www.dtek.chalmers.se/groups/dvd/dist/libdvdread-0.9.4.tar.gz
Taille du téléchargement: 251 Ko
Estimation de l'espace disque requis: 4,0 Mo
Estimation du temps de construction: 0,12 SBU
Installez libdvdread en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
--with-libdvdcss: Cette option est nécessaire si vous voulez que libdvdread soit capable de lire les DVD cryptés avec CSS.
libdvdcss est une simple bibliothèque conçue pour accéder les DVD comme un périphérique de type bloc sans avoir à s'embêter avec le décryptage.
Téléchargement (HTTP): http://www.videolan.org/pub/libdvdcss/1.2.8/libdvdcss-1.2.8.tar.bz2
Téléchargement (FTP): ftp://ftp.us.sinuspl.net/pub/src/libdvdcss-1.2.8.tar.bz2
Taille du téléchargement: 205 Ko
Estimation de l'espace disque requis: 2,6 Mo
Estimation du temps de construction: 0,07 SBU
Installez libdvdcss en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
libdvdcss fournit les fonctionnalités nécessaires pour un accès transparent aux DVD avec cryptage CSS.
libdv (Quasar DV) est un CODEC logiciel pour la vidéo DV, le format d'encodage utilisé par la plupart des camcorders digitales.
Téléchargement (HTTP): http://flow.dl.sourceforge.net/sourceforge/libdv/libdv-0.99.tar.gz
Taille du téléchargement: 351 Ko
Estimation de l'espace disque requis: 8,5 Mo
Estimation du temps de construction: 0,21 SBU
Installez libdv en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
dvconnect est un petit outil pour envoyer ou capturer des données brutes à partir ou vers le camcorder.
liba52 est une bibliothèque libre pour décoder les flux ATSC A/52 (aussi connus sous le nom d'AC-3). Le standard A/52 est utilisé par un grand nombre d'applications, incluant la télévision digitale et les DVD.
Téléchargement (HTTP): http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
Taille du téléchargement: 236 Ko
Estimation de l'espace disque requis: 2,8 Mo
Estimation du temps de construction: 0,07 SBU
Installez liba52 en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
XviD est un CODEC MPEG-4 pour la vidéo.
Téléchargement (HTTP): http://files.xvid.org/downloads/xvidcore-0.9.2.tar.bz2
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/lib/xvidcore-0.9.2.tar.bz2
Taille du téléchargement: 486 Ko
Estimation de l'espace disque requis: 5,1 Mo
Estimation du temps de construction: 0,23 SBU
Installez XviD en lançant les commandes suivantes:
cd build/generic && ./configure --prefix=/usr && make && make install && cp ../../src/divx4.h /usr/include |
cp ../../src/divx4.h /usr/include: Cette commande place ces fichiers d'entêtes dans le chemin de recherche des fichiers d'entête pour que Xine et MPlayer puissent les trouver.
Le package principal XviD contient la bibliothèque libxvidcore et ses fichiers d'entêtes. La bibliothèque apporte elle-même des fontions pour coder et décoder la plupart des données vidéo MPEG-4.
Les fonctionnalités de MPEG-4 suivantes sont supportées:
codage I, P Frame
I-Frames sont des image frames, while P-Frames are Pattern Frames. Image Frames contain full images. P-Frames contain patterns of what changes in the image, thusly saving a lot of space.
PMVFast and EPZS with diamond a sqare pattern motion estimation
Fast Motion detection that can refer a square or diamond shaped pattern to different directions.
inter4v mode
Fast interpolation ability.
fullpixel and halfpixel precision
Even halfpixel movements can be encoded. Better precision results in better compression at better quality.
both MPEG-4 and H263 quantizations
MPEG-4 is the standard DivX was derived from. H263 is a slightly changed subset of that standard made by Microsoft. Quantization means to map the quantity of color values to numbers.
custom quant matrices
The quantization can be done using custom matrices, possibly giving better results if the matrix is made to suit the video data. Every normal user should be fine with the default matrix that comes with XviD.
Adaptive quantization / Luminance masking
Qantization and Luminance masking are variant, depending on the input material, therefore providing better results on dark or very contrasting images.
Le package xine Libraries contient les bibliothèques xine. C'est utile pour interfacer des plugins externes permettant le flux d'informations de la source à l'écran et aux haut-parleurs.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/xine/xine-lib-1-rc0a.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/X11/xine-lib-1-rc0a.tar.gz
Taille du téléchargement: 4,0 Mo
Estimation de l'espace disque requis: 59 Mo
Estimation du temps de construction: 3,31 SBU
Installez xine Libraries en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
xine-config fournit des informations aux programmes essayant de se lier avec les bibliothèques xine.
Ce chapitre contient les programmes contenant la manipulation de fichiers audio; ce qui revient à dire la lecture, l'enregistrement, le 'ripping' et autres choses communes que les gens veulent faire. Pour utiliser la plupart des logiciels, vous aurez besoin soient des pilotes de son du noyau installés, soit de ALSA-0.9.6 installé. Notez que dans l'arbre de développement du noyau 2.5, les anciens pilotes sont remplacés avec ALSA et donc quand la série 2.6 arrive; la plupart des gens l'utiliseront par défaut.
Le package mpg123 contient un lecteur de MP3 en mode console. Il prétend être le plus rapide décodeur MP3 pour Unix.
Téléchargement (HTTP): http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz
Téléchargement (FTP): ftp://alge.anart.no/pub/audio/mpg123-0.59r.tar.gz
Taille du téléchargement: 155 Ko
Estimation de l'espace disque requis: 1,3 Mo
Estimation du temps de construction: 0,08 SBU
Installez mpg123 en lançant les commandes suivantes:
make PREFIX=/usr linux && make PREFIX=/usr install |
Le package Vorbis Tools contient des outils en ligne de commande pour les fichiers audio OGG. Ceci est utile pour l'encodage, la lecture ou l'édition de fichiers utilisant le CODEC Ogg.
Téléchargement (HTTP): http://fatpipe.vorbis.com/files/1.0/unix/vorbis-tools-1.0.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/util/sound/ogg/vorbis-tools-1.0.tar.gz
Taille du téléchargement: 420 Ko
Estimation de l'espace disque requis: 3 Mo
Estimation du temps de construction: 0,12 SBU
Installez Vorbis Tools en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
oggdec est un simple décodeur qui convertit les fichiers Ogg Vorbis en des fichiers audio PCM (WAV ou RAW).
vorbiscomment est un éditeur qui change l'information dans les tags metadata d'un fichier audio.
XMMS est un lecteur audio pour le système X Window.
Téléchargement (HTTP): http://www.xmms.org/files/1.2.x/xmms-1.2.7.tar.bz2
Téléchargement (FTP): ftp://ftp.xmms.org/pub/xmms/1.2.x/xmms-1.2.7.tar.bz2
Taille du téléchargement: 11 Mo
Estimation de l'espace disque requis: 17 Mo
Estimation du temps de construction: 1,0 SBU
une carte son fonctionnelle, XFree86-4.3.0.1, GTK+-1.2.10 et GLib-1.2.10
EsounD-0.2.30, GNOME Libraries-1.4.2, gnome-applets, libmikmod, libogg-1.0, libvorbis-1.0 et libxml-1.8.17
Installez XMMS en lançant les commandes suivantes:
./configure --prefix=/usr --enable-one-plugin-dir && make && make install |
./configure --prefix=/usr --enable-one-plugin-dir: Cette commande assure que tous les plugins sont placés sous /usr/lib/xmms/Plugins.
~/.xmms/config
Quand vous lancez xmms pour la première fois, vous pouvez le configurer avec CTRL+P. Notez que vous pouvez étendre la fonctionnalité XMMS avec plugins et skins. Vous pouvez les trouver sur http://xmms.org.
XMMS, dont l'acronyme veut dire X Multimedia System, est un programme comparable en fonctions avec WinAMP. Sa principale fonctionnalité est de jouer des fichiers audio comme les WAV et les MP3. Il peut être étendu avec des plugins pour jouer un nombre d'autres formats audio ou vidéo. Son look est personnalisable avec des thèmes style WinAMP.
Ce script est utilisé par d'autres programmes qui ont besoin d'être liés avec xmms pour retrouver la bibliothèque et les chemins d'entêtes avec lesquelles XMMS a été compilé.
C'est une applet pour l'environnement de bureau GNOME qui se collera sur le panneau GNOME. De l'applet, vous pouvez lancer et contrôler xmms.
wmxmms est un applet dockable pour le gestionnaire de fenêtres Window Maker. De l'applet, vous pouvez lancer et contrôler xmms.
Le package LAME contient un codeur MP3. Il est utile pour créer des fichiers audio compressés.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/lame/lame-3.93.1.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/util/mpeg/lame-3.93.1.tar.gz
Taille du téléchargement: 1 Mo
Estimation de l'espace disque requis: 7,1 Mo
Estimation du temps de construction: 0,39 SBU
Installez LAME en lançant les commandes suivantes:
./configure --prefix=/usr --mandir=/usr/share/man --with-gtk-prefix=/usr && make && make install |
lame crée des fichiers audio MP3.
Les bibliothèques libmp3lame apportent les fonctions nécessaires pour convertir les fichiers WAV en MP3.
Le package CDParanoia contient un outil d'extraction des pistes audio d'un CD. C'est utile pour extraire des fichiers au format wave à partir d'un CD audio. Un lecteur CDROM capable de CDDA est nécessaire. Pratiquement tous les lecteurs supportés par Linux peuvent être utilisés.
Téléchargement (HTTP): http://www.xiph.org/paranoia/download/cdparanoia-III-alpha9.8.src.tgz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/util/cd/cdparanoia-III-alpha9.8.src.tgz
Taille du téléchargement: 114 Ko
Estimation de l'espace disque requis: 1,3 Mo
Estimation du temps de construction: 0,12 SBU
Installez CDParanoia en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
CDParanoia a besoin lui-même d'un peu de configuration; l'information est disponible sur la page man.
Comme pour beaucoup de bibliothèques, il n'y a pas de configuration à faire à part le fait qu'il est nécessaire de mettre ce répertoire de bibliothèques, c'est-à-dire /opt/lib ou /usr/local/lib, dans /etc/ld.so.conf, de manière à ce que ldd puisse trouver les bibliothèques partagées. Après avoir vérifié que ceci est bien le cas, /sbin/ldconfig doit être lancé en étant connecté root.
Ceci est utilisé pour 'ripper' un CD audio. Ripper correspond au processus digitale d'extraire de la musique du CD audio.
Ce chapitre semble être le chapitre favori. C'est probablement parce qu'il y a une grosse satisfaction à lire sa première vidéo lorsque vous avez passé tant de temps pour arriver à ce point. Toutes les bibliothèques, toute la configuration et votre récompense est de voir un film. Pas d'inquiétude à avoir, il reste toujours un CODEC à installer.
FFmpeg est une solution pour enregistrer, convertir et envoyer des flux audio et vidéo. Dû à un développement important, toutes les fonctionnalités ne fonctionneront pas.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/ffmpeg/ffmpeg-0.4.7.tar.gz
Téléchargement (FTP): ftp://sunsite.ccu.edu.tw/pub14/sourceforge/f/ffmpeg/ffmpeg-0.4.7.tar.gz
Taille du téléchargement: 1,2 Mo
Estimation de l'espace disque requis: 32 Mo
Estimation du temps de construction: 1,01 SBU
Installez FFmpeg en lançant les commandes suivantes:
Note : Les mainteneurs du package recommendent de compiler sans optimisation.
./configure --prefix=/usr --enable-shared && make && make install |
--enable-shared: Cette option est nécessaire pour construire les bibliothèques partagées libavcodec et libavformat.
~/.ffmpeg/ffserver-config
Vous trouverez un fichier de configuration d'exemple pour ffserver ici.
ffmpeg est un outil en ligne de commande pour convertir des fichiers vidéo, des flux réseaux, les entrées d'une carte TV en différents formats vidéo.
ffserver est un serveur en flux pour tout ce que ffmpeg peut utiliser en entrée (fichiers, flux, entrée de cartes TV, webcam, etc.).
ffplay est un lecteur média simple et portable en utilisant les bibliothèques ffmpeg et la bibliothèque SDL.
libavcodec et libavformats sont des bibliothèques pour coder et décoder des flux vidéos, et les enregistrer dans des fichiers ou les envoyer par le réseau. Comme elles sont bien documentées, vous pouvez facilement les inclure dans vos logiciels, comme quelques autres packages le font déjà.
Le package Avifile contient un lecteur de fichiers vidéo AVI, des outils et des bibliothèques de support. C'est utile pour voir et éditer des fichiers AVI.
Téléchargement (HTTP): http://heanet.dl.sourceforge.net/sourceforge/avifile/avifile-0.7-0.7.38.tar.gz
Taille du téléchargement: 2,8 Mo
Estimation de l'espace disque requis: 46,0 Mo
Estimation du temps de construction: 4,28 SBU
Installez Avifile en lançant les commandes suivantes:
install -d /usr/lib/avifile-0.7/win32 && tar xzvf ../binaries-011002.tgz -C /usr/lib/avifile-0.7 && ./autogen.sh && ./configure && make maintainer-clean && ./autogen.sh && ./configure --prefix=/usr --with-qt-prefix=/opt/qt \ --with-win32-path=/usr/lib/avifile-0.7/win32 && make && make install |
./autogen.sh && ./configure && make maintainer-clean && ./autogen.sh : L'auteur de ce package a utilisé le vieux autoconf ce qui amène des problèmes comme la fait que configure ne soit pas capable de détecter certaines bibliothèques et certaines erreurs de compilation. Nous corrigeons ceco en reconstruisant les scripts de configuration.
Le package avifile contient aviplay, avibench, avifile-config, mmxnow-config, avirecompress, avicap, avirec, kv4lsetup, avicat, avitype et avimake.
aviplay gère les formats d'entrée, les codecs et les formats de sortie pour afficher des fichiers vidéo display AVI sur votre écran.
avifile-config est lancé par configure pour les programmes souhaitant être lié avec la bibliothèque avifile.
mmxnow-config est lancé par configure pour les programmes souhaitant être lié avec la bibliothèque mmxnow.
avirecompress est un composant qui prend un fichier d'entrée d'un type codec et le convertit sur un fichier vidéo d'un autre codec.
avicap est un composant qui affiche une vidéo aquise à partir d'un périphérique compatible pour Video For Windows (vfw), comme une webcam ou un tuner TV.
Le package MPlayer contient un lecteur de vidéo en ligne de commande. Il est utile pour visualiser pratiquement tous les types de fichiers vidéos.
Téléchargement (HTTP): http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre1.tar.bz2
Téléchargement (FTP): ftp://ftp1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre1.tar.bz2
Taille du téléchargement: 4,0 Mo
Estimation de l'espace disque requis: 67,2 Mo
Estimation du temps de construction: 3,16 SBU
CODEC requis: http://www1.mplayerhq.hu/MPlayer/releases/codecs/extralite.tar.bz2
Interfaces requises: http://www1.mplayerhq.hu/MPlayer/Skin/default-1.7.tar.bz2
Polices optionnelles: http://www1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2
Note : C'est le minimum requis pour installer MPlayer. Pour plus de CODEC, d'interfaces et de polices, visitez la page d'accueil de MPlayer.
Note : Les mainteneurs du package recommendent de construire sans optimisation
Installez MPlayer en lançant les commandes suivantes:
install -d /usr/lib/mplayer/extralite && tar xjvf ../extralite.tar.bz2 -C /usr/lib/mplayer && ./configure --prefix=/usr --confdir=/etc/mplayer --enable-largefiles \ --enable-gui --enable-menu --enable-shared-pp \ --with-codecsdir=/usr/lib/mplayer/extralite && make && make install && make -C libavcodec/libpostproc install && cp etc/codecs.conf /etc/mplayer && tar xjvf ../default-1.7.tar.bz2 -C /usr/share/mplayer/Skin |
Si FreeType est utilisé, le seul avantage des polices pré-rendues consiste en leur rapidité. Installez-les comme ceci:
tar xjvf ../font-arial-iso-8859-1.tar.bz2 -C /usr/share/mplayer/font |
Initialisez les bons droits aux codecs, interfaces et polices:
chown -R root:root /usr/{lib/mplayer/extralite,share/mplayer} |
Si vous voulez lire des DVD avec MPlayer, vous avez besoin de faire un lien partant de votre lecteur de DVD vers /dev/dvd:
ln -s /dev/<dvd drive> /dev/dvd |
Remplacez [lecteur dvd] par le périphérique adéquate, par exemple /dev/hdc. Si vous ne savez pas quel péripérique choisir, tapez:
dmesg | grep DVD |
Vous devriez obtenir:
hdc: Pioneer DVD-ROM ATAPIModel DVD-114 0110, ATAPI CD/DVD-ROM drive |
Si vous avez une émulation SCSI activé pour les lecteurs, vous aurez besoin d'obtenir le bon périphérique SCSI. Chaque lecteur CD/DVD est attribué dans le même ordre que les périphériques IDE de cette façon /dev/scd0, /dev/scd1 et ainsi de suite.
--enable-gui : Cette option indique à MPlayer de compiler le code GUI.
--enable-menu --enable-new-conf : Ces options activent le support du nouveau menu. C'est comme un OSD, mais vous pouvez aussi y lancer un shell.
--enable-shared-pp : Ceci active la construction d'un libpostproc partagé (bibliothèque pour le post processing, appliquant des filtres comme 'sharpen').
cp etc/codecs.conf ~/.mplayer : Cette commande copie le fichier standard codecs.conf pour l'utilisateur. MPlayer a besoin de ce fichier au démarrage.
/etc/mplayer/*, ~/.mplayer/*
Si vous souhaitez utiliser une police FreeType, vous avez besoin de lier un fichier TTF à votre répertoire ~/.mplayer. Par exemple:
ln -sf /usr/X11R6/lib/X11/fonts/TTF/luxisri.ttf /etc/mplayer/subfont.tt |
ln -sf /usr/share/mplayer/font/font-arial-*-iso-8859-1 /etc/mplayer/font |
Configuré l'interface utilisateur avec les commandes suivantes exécutées à partir de votre répertoire source:
cat > /etc/mplayer/config << "EOF" gui = yes skin = default EOF |
La première ligne, gui = yes, fera que MPlayer se lancera en mode GUI automatiquement. Si vous souhaitez décider s'il doit se lancer en mode GUI ou non, oubliez cette ligne et lancez mplayer avec -gui ou lancez gmplayer (c'est-à-dire lorsque vous le lancez à partir d'un menu du gestionnaire de fenêtre ou à l'invite). Notez que le fichier de configuration principal est appelé config s'il est placé dans le répertoire ~/.mplayer.
mplayer gère les formats d'entrées, les CODEC et formats pour jouer des fichiers vidéo, DVD, (S)VCD ou des flux réseau contenant des informations audio et/ou vidéo sur votre système.
Exemples:
mplayer -fs blfs.avi mplayer -vo fbdev -fb /dev/fb0 dvd://1 -aid 128 -sub en -framedrop mplayer -fs vcd://1 # works both for VCDs and SVCDs mplayer http://www.students.uni-marburg.de/~Klossa/hapkidofight_lo.mpg |
Pour plus d'informations, regardez la très bonne documentation incluse dans le package dans le sous-répertoire DOCS/.
mencoder est utilisé pour coder tous films jouables pour un lecteur MPlayer en DivX4, XviD ou tout autre CODEC dans libavcodec avec de l'audio PCM/MP3/VBRMP3.
Exemple:
rm frameno.avi mencoder -dvd 1 -aid 128 -ovc frameno -oac mp3lame \ -lameopts vbr=3 -o frameno.avi # mencoder should output bitrates for average encodings # now, choose one you like best! In the following lines, # replace <bitrate> and <name.avi> with statements of your # personal liking. mencoder -dvd 1 -aid 128 -oac copy -ovc lavc \ -lavcopts vcodec=mpeg4:vpass=1:vhq:vbitrate=<bitrate> -o <name.avi> mencoder -dvd 1 -aid 128 -oac copy -ovc lavc \ -lavcopts vcodec=mpeg4:vpass=2:vhq:vbitrate=<bitrate> -o <name.avi> mencoder -forceidx <name.avi> |
Le package xine User Interface contient une interface utilisateur pour xine. C'est utile pour contrôler des opérations sur votre film.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/xine/xine-ui-0.9.22.tar.gz
Téléchargement (FTP): ftp://ftp.yars.free.net/pub/software/unix/X11/xine-ui-0.9.22.tar.gz
Taille du téléchargement: 2,6 Mo
Estimation de l'espace disque requis: 15,2 Mo
Estimation du temps de construction: 0,68 SBU
Installez xine User Interface en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
~/.xine/config
Le fichier ci-dessus est créé et maintenable à travers le dialogue de configuration de xine. La documentation pour les configurations est situé dans /usr/share/doc/xine-ui/README.config_en.
xine joue des flux MPEG (audio et vidéo), des flux élémentaires MPEG (MP3), des flux de transport MPEG, des fichiers OGG, des fichiers AVI, des fichiers ASF, quelque fichiers quicktime et des VCD et DVD (non cryptés).
transcode est un convertisseur rapide de tout en tout, en ligne de commande.
Téléchargement (HTTP): http://zebra.fh-weingarten.de/~transcode/pre/transcode-0.6.10.tar.gz
Taille du téléchargement: 2,9 Mo
Estimation de l'espace disque requis: 109 Mo
Estimation du temps de construction: 3,87 SBU
XFree86-4.3.0.1, MPlayer-1.0pre1, ImageMagick, libdv-0.99, libdvdread-0.9.4 mjpeg tools, SDL-1.2.6, Qt-3.2.1, Avifile-0.7.38, libFAME-0.9.0, libmpeg3-1.5.2, XviD-0.9.2, LZO-1.08, libxml2-2.5.11, liba52-0.7.4, FFmpeg-0.4.7, libmad-0.15.0b, cURL-7.10.7, libogg-1.0, libvorbis-1.0, Theora, libjpeg-6b, GLib-1.2.10, GTK+-1.2.10, FreeType-2.1.5, libmpeg3-1.5.2 et OpenQuicktime-1.0
Installez transcode en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Le package transcode contient transcode, tccat, tcdecode, tcdemux, tcextract, tcframe, tcprobe, tcscan, avicodec, avidump, avimerge, avisplit, avisync et un grand nombre de modules d'entrées, de filtres et de sorties.
transcode est l'interface utilisateur de l'encodeur, gérant les plugins et d'autres programmes, en étant le lien entre les modules. Il existe quelques exemples d'utilisation bien documentées soit sur la page d'accueil soit dans la documentation incluse dans le package.
tcdecode est utilisé pour décoder les fichiers d'entrée et les transformer en flux vidéo RAW et audio PCM bruts.
tcdemux démultiplexe l'entrée audio/video contenant plusieurs flux, c'est-à-dire des fichiers VOB.
tcframe analyse les frames vidéo simple pour différents codages couleur (RGB >-< YUV ou similaire).
avidump renvoie un flux audio ou video stream d'un fichier AVI donné sur la sortie standard (pour convertir ce fichier ou extraire les flux audios).
avimerge assemble plusieurs fichiers AVI du même format. N'essayez pas d'assembler des fichiers AVI de formats différents, cela finira en erreurs (et même format veut aussi dire même bitrates!).
avisync peut déplacer l'audio dans les fichiers AVI pour une meilleure synchronisation des signaux audio et vidéo.
Suivant les bibliothèques externes utilisées, il existe un grand nombre de plugins pour convertir une entrée audio et vidéo en des formats bruts, analyser de l'audio et la vidéo bruts, et convertir de l'audio et de la vidéo bruts en d'autres formats pour être écrit sur le type de fichier de son choix. Lisez la documentation.
Ce chapitre contient des informations sur la gravure de CD pour Linux. Vous aurez à configure votre noyau pour graver des CD. Nous commençons par discuter de la façon de le faire, puis de la façon d'installer ces utilitaires.
Des sources supplémentaires d'informations sur la gravure de CD incluent:
Dans configuration du noyau, vérifiez votre paramétrage avec ceux listés ci-dessous:
SCSI CD-writer:
SCSI support menu SCSI support: Y or M SCSI CD-ROM support: Y or M SCSI generic support: Y or M Vendor-specific extensions: [1] Incluez aussi le pilote bas-niveau pour votre carte SCSI si applicable. |
IDE CD-writer:
ATA/IDE/MFM/RLL support menu IDE/ATAPI CDROM support: N SCSI emulation support: Y or M SCSI support menu SCSI support: Y or M SCSI CD-ROM support: Y or M SCSI generic support: Y or M Vendor-specific extensions: [1] |
[1] Lire l'aide pour déterminer si cette sélection est applicable pour votre matériel.
Si nécessaire, recompilez votre noyau avec:
make CC=/opt/gcc-2.95.3/bin/gcc dep && make CC=/opt/gcc-2.95.3/bin/gcc bzImage && make CC=/opt/gcc-2.95.3/bin/gcc modules && make CC=/opt/gcc-2.95.3/bin/gcc modules_install |
Copiez /usr/src/linux/arch/i386/boot/bzImage et /usr/src/linux/System.map dans /boot. Si vous utilisez LILO, éditez /etc/lilo.conf de manière appropriée et lancez lilo.
Pour plus d'informations sur ces paramétrages et les pilotes qu'ils installent, lire The Linux 2.4 SCSI subsystem HOWTO.
Le package Cdrtools contient des utilitaires d'enregistrement de CDs. Ils sont utiles pour lire, créer ou écrire (graver) des Disques Compacts.
Téléchargement (HTTP): http://gd.tuwien.ac.at/utils/schilling/cdrtools/cdrtools-2.00.3.tar.gz
Téléchargement (FTP): ftp://ftp.berlios.de/pub/cdrecord/cdrtools-2.00.3.tar.gz
Taille du téléchargement: 1,6 Mo
Estimation de l'espace disque requis: 19,1 Mo
Estimation du temps de construction: 0,44 SBU
Installez Cdrtools en lançant les commandes suivantes:
make INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root && make INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root install |
INS_BASE=/usr : Cette commande déplace le répertoire d'installation de /opt/schily vers /usr.
DEFINSUSR=root DEFINSGRP=root : Ces commandes installent tous les programmes avec le propriétaire root.root au lieu de bin:bin par défaut.
Le package Cdrtools contient cdrecord, cdda2wav, mkisofs, readcd, scgcheck, isoinfo, isodump, isovfy, devdump, rscsi et les bibliothèques de support.
cdrecord enregistre les CDs audio et données.
isoinfo, isodump, isovfy, isodebug et devdumpsont des utilitaires pour vérifier des images ISO9660.
libdeflt, libedc_ecc, libfile, libhfs, libparanoia, librscg, libscg, libschily et libunls sont des bibliothèques de support pour ce package.
Le package Cdrdao contient des utilitaires d'enregistrement de CD. Ils sont utiles pour graver un CD en mode disk-at-once.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/cdrdao/cdrdao-1.1.7.src.tar.bz2
Téléchargement (FTP): ftp://sunsite.lanet.lv/pub/mirror/Slackware/source/ap/cdrdao/cdrdao-1.1.7.src.tar.bz2
Taille du téléchargement: 1,1 Mo
Estimation de l'espace disque requis: 33 Mo
Estimation du temps de construction: 0,68 SBU
Installez Cdrdao en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
cdrdao enregistre des CD-R audio ou données dans le mode disk-at-once (DAO) basé sur une description textuelle du contenu du CD.
Le package UDFtools contient des utilitaires pour créer et monter des disques CD-RW avec des systèmes de fichiers UDF en lecture et en écriture. Les systèmes de fichiers UDF sont utilisés à la fois sur des médias CD-RW et sur des DVD. Pour plus d'informations sur le standard des systèmes de fichiers UDF, voir: http://www.osta.org et http://www.ecma-international.org.
Téléchargement (HTTP): http://aleron.dl.sourceforge.net/sourceforge/linux-udf/udftools-1.0.0b2.tar.gz
Taille du téléchargement: 236 Ko
Estimation de l'espace disque requis: 2,7 Mo
Estimation du temps de construction:
Correctifs requis: http://www.linuxfromscratch.org/patches/blfs/5.0/linux-2.4.22-packet.patch
Correctifs pour les autres versions du noyau: http://w1.894.telia.com/~u89404340/patches/packet/
Avertissement |
Note that this patch can permenantly damage your CD drive if it is from one of the few mentioned at http://slashdot.org/article.pl?sid=03/10/25/1737244. Do not apply the patch without first checking out the article. |
Installez le correctif du noyau en lançant les commandes suivantes à partir du répertoire des sources du noyau:
patch -Np1 -i ../linux-2.4.20-packet.patch |
Dans la configuration du noyau, vérifiez votre paramètrage pour ce qui est cité ci-dessous:
Block devices Packet writing on CD/DVD media: Y or M File Systems UDF filesystems support (read only): Y UDF write support (DANGEROUS) Y |
SI nécessaire, recompilez le noyau avec
make CC=/opt/gcc-2.95.3/bin/gcc dep && make CC=/opt/gcc-2.95.3/bin/gcc bzImage && make CC=/opt/gcc-2.95.3/bin/gcc modules && make CC=/opt/gcc-2.95.3/bin/gcc modules_install |
Copiez /usr/src/linux/arch/i386/boot/bzImage et /usr/src/linux/System.map dans /boot. Si vous utilisez LILO, éditez /etc/lilo.conf de façon approprié et lancez lilo.
Si vous construisez le créateur de paquets comme module, ajoutez ce qui suit à /etc/modules.conf:
alias block-major-97 pktcdvd |
Finalement, créez les noeuds pour le pilote du périphérique dans /dev, ajoutez un noeud pour chaque lecteur CD-RW que vous souhaitez gérer:
mknod /dev/pktcdvd0 b 97 0 mknod /dev/pktcdvd1 b 97 1 |
Installez UDFtools en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
pktsetup est utilisé pour établir et casser les associations entre le pilote de paquets du noyau et un lecteur physique.
Exemple:
pktsetup /dev/pktcdvd0 /dev/scd0 mount /dev/pktcdvd0 /mnt/cdrom -t udf -o rw,noatime |
cdrwtool apporte des possibilités pour gérer des lecteurs CD-RW, en incluant le formattage de nouveaux disques, le paramétrage des vitesses de lecture et d'écriture, etc.
Exemple:
cdrwtool -d /dev/scd0 -q |
mkudffs est utilisé pour créer des nouveaux systèmes de fichiers UDF. Il peut être utilisé sur des disques durs et sur des CD-R ainsi que sur des CD-RW.
Ce chapitre contient des système de gestion d'imprimantes avec spoolers et des applications ghostscript pour afficher du PostScript sur des affichages comme des terminaux ou du papier.
Le système d'impression CUPS (acronyme de Common Unix Printing System) est un démon d'impression de type sooler associé avec différents utilitaires. Il est basé sur l'Internet Printing Protocol et fournit des services d'édition à la plupart des imprimantes PostScript et raster.
Téléchargement (HTTP): http://kitty.dnsalias.org/PKGS/SOURCES/cups-1.1.19-source.tar.bz2
Téléchargement (FTP): ftp://ftp.easysw.com/pub/cups/1.1.19/cups-1.1.19-source.tar.bz2
Taille du téléchargement: 3,5 Mo
Estimation de l'espace disque requis: 32 Mo
Estimation du temps de construction: 0,67 SBU
Installez CUPS en lançant les commandes suivantes:
./configure && make && make install |
Le comportement basique par défaut de l'installation est approprié pour les systèmes LFS. Les fichiers CUPS sont placés dans /usr/bin, /usr/sbin, /var et /etc/cups.
La configuration de CUPS est dépendante du type d'imprimante et peut devenir complexe. Généralement, les imprimantes PostScript sont simples. Pour des instructions détaillées sur la configuration et l'utilisation de CUPS, voir http://www.cups.org/documentation.php. Le manuel de l'administrateur et celui de l'utilisateur sont particulièrement utiles.
Lors de l'installation, CUPS crée un fichier de démarrage /etc/rc.d/init.d/cups. Ce fichier fonctionne mais vous pouvez le changer pour qu'il ressemble plus à un script LFS conventionnel:
cat > /etc/rc.d/init.d/cups << "EOF" #!/bin/sh # Début $rc_base/init.d/cups # Lance ou arrête le serveur CUPS suivant le premier argument du script. source /etc/sysconfig/rc source $rc_functions case $1 in start) echo "Starting CUPS Printserver..." loadproc /usr/sbin/cupsd ;; stop) echo "Stopping CUPS Printserver..." killproc cupsd ;; reload) echo "Reloading CUPS Printserver..." reloadproc /usr/sbin/cupsd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc cupsd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/cups startup script. EOF |
Créez les liens symboliques vers ce fichier dans le bon répertoire rc.d avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/cups ../rc0.d/K00cups && ln -sf ../init.d/cups ../rc2.d/S99cups && ln -sf ../init.d/cups ../rc3.d/S99cups && ln -sf ../init.d/cups ../rc5.d/S99cups |
CUPS fournit accept, cupsaddsmb, cupsd, cupstestppd, lpadmin, lpc, lpinfo, lpmove, reject, cancel, cups-config, disable, enable, lp, lpoptions, lppasswd, lpq, lpr, lprm, lpstat, libcups, libcupsimage ainsi que différents scripts et filtres.
accept indique au système d'impression d'accepter les travaux d'impressions aux destinations spécifiées.
reject indique au système d'impression de rejeter les travaux d'impressions pour les destinations spécifiées.
cupsaddsmb exporte les imprimantes pour que le logiciel SAMBA permette leur utilisation via des clients Windows.
lpstat affiche des informations sur le statut pour les classes, travaux et imprimantes actuels.
lppasswd ajoute, modifie ou supprime les mots de passe dans le fichier de mots de passe de CUPS, nommé passwd.md5.
Le package LPRng contient une implémentation améliorée, étendue et portable du spooler d'impression Berkeley Line PRinter (LPR). Il est utile pour gérer des queues d'impressions.
Téléchargement (HTTP): http://www.lprng.com/DISTRIB/LPRng/LPRng-3.8.22.tgz
Téléchargement (FTP): ftp://ftp.lprng.com/pub/LPRng/LPRng/LPRng-3.8.22.tgz
Taille du téléchargement: 15,4 Mo
Estimation de l'espace disque requis: 59,5 Mo
Estimation du temps de construction: 0,29 SBU
Installez LPRng en lançant les commandes suivantes:
./configure --prefix=/usr --libexecdir=/usr/sbin --sysconfdir=/etc && make && make install |
--libexecdir=/usr/sbin --sysconfdir=/etc : Ces options empêchent l'utilisation par défaut de /usr/libexec et /usr/etc.
/etc/printcap
Il n'existe pas de printcap générique pour toutes les imprimantes. Un simple printcap est chargé dans le répertoire etc, ce qui sera d'une certaine aide. Les informations sont aussi disponibles sur http://www.lprng.org et sur http://www.linuxprinting.org.
Le script d'initialisation installé par LPRng ne correspond pas aux scripts BLFS; donc, nous en créons un nouveau avec la commande suivante:
mv /etc/rc.d/init.d/lpd /etc/rc.d/init.d/lpd.orig && cat > /etc/rc.d/init.d/lpd << "EOF" #!/bin/sh # Début $rc_base/init.d/lpd # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting lpd..." loadproc /usr/sbin/lpd ;; stop) echo "Stopping lpd..." killproc /usr/sbin/lpd ;; reload) echo "Reloading lpd..." reloadproc /usr/sbin/lpd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/lpd ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # End $rc_base/init.d/lpd EOF chmod 755 /etc/rc.d/init.d/lpd |
Créez les liens symboliques pour le script d'initialisation dans les répertoires appropriés avec les commandes suivantes:
cd /etc/rc.d/init.d && ln -sf ../init.d/lpd ../rc0.d/K00lprng && ln -sf ../init.d/lpd ../rc1.d/K00lprng && ln -sf ../init.d/lpd ../rc2.d/S99lprng && ln -sf ../init.d/lpd ../rc3.d/S99lprng && ln -sf ../init.d/lpd ../rc4.d/S99lprng && ln -sf ../init.d/lpd ../rc5.d/S99lprng && ln -sf ../init.d/lpd ../rc6.d/K00lprng |
Ghostscript est un processeur versatile pour les données Postscript avec la capacité d'afficher du Postscript pour différentes cibles.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/ghostscript/ghostscript-8.11.tar.bz2
Téléchargement (FTP): ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/AFPL/gs811/ghostscript-8.11.tar.bz2
Taille du téléchargement: 5,1 Mo
Estimation de l'espace disque requis: 50-61 Mo (suivant que libgs.so est installé ou non)
Estimation du temps de construction: 1,31-2,48 SBU
Installez Ghostscript en lançant les commandes suivantes:
./configure --prefix=/usr --libexecdir=/usr/lib/gs \ --sysconfdir=/etc/gs --enable-shared --enable-static && make && make install |
Pour installer la bibliothèque partagée libgs.so, lancez les commandes suivantes:
make so && make soinstall |
Note : La bibliothèque partagée dépend de GTK+-1.2.10. Elle est seulement utilisée dans les programmes externes comme GSview-4.4.
Pour finir l'installation, déballez toutes les polices que vous avez chargé dans /usr/share/ghostscript.
--libexecdir=/usr/lib/gs : Cette option fait que les bibliothèques exécutables de Ghostscript seront installées dans /usr/lib/gs.
--sysconfdir=/etc/gs : Cette option fait que les données de configuration vont dans /etc/gs au lieu de /usr/etc.
Ghostscript est livré avec un grand nombre de filtres pour afficher les fichiers Postscript/PDF. Merci de vous référer à la documentation HTML ou essayez man gs.
Ghostscript est un moteur versatile pour les données PostScript ayant la capacité de proposer du PostScript à différentes cibles. ESP Ghostscript est une version personnalisée de GNU Ghostscript incluant un script de configuration amélioré, le pilote raster CUPS pour supporter les pilotes d'imprimantes raster CUPS et différents correctifs et pilotes provenant des distributions Linux.
Téléchargement (HTTP): http://heanet.dl.sourceforge.net/sourceforge/espgs/espgs-7.07.1rc2-source.tar.bz2
Taille du téléchargement: 5,1 Mo
Estimation de l'espace disque requis: 116-140 Mo (suivant que libgs.so est installé ou non)
Estimation du temps de construction: 1,65-3,20 SBU
Polices standards: http://ftp.gnu.org/pub/gnu/ghostscript/gnu-gs-fonts-std-6.0.tar.gz
Autres polices: http://ftp.gnu.org/pub/gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz
Polices cyrillic: ftp://ftp.gnome.ru/fonts/urw/release/urw-fonts-1.0.7pre22.tar.bz2
Pilotes OMNI: http://keihanna.dl.sourceforge.net/sourceforge/omniprint/Omni-0.9.0.tar.gz
Correctif optionnel: http://www.linuxfromscratch.org/patches/blfs/5.0/espgs-7.07.1rc2-gdevpng.patch
Si vous souhaitez utiliser les pilotes OMNI, vous devez extraire l'archive source dans le répertoire de Ghostscript:
tar xzvf ../Omni-0.9.0.tar.gz |
Sinon, vous devez ajouter l'option --without-omni au script configure si vous avez l'intention d'installer la bibliothèque partagée.
Installez Ghostscript en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Pour installer la bibliothèque partagée libgs.so, vous aurez besoin de GTK+-1.2.10. De plus, si vous avez déballé les pilotes OMNI, alors vous devez installer GLib-1.2.10 et créer les liens symboliques suivants:
ln -s glib-1.2/glib.h /usr/include/glib.h && ln -s glib-1.2/gmodule.h /usr/include/gmodule.h && ln -s ../lib/glib/include/glibconfig.h /usr/include/glibconfig.h |
Continuez avec les commandes suivantes:
patch -Np1 -i ../espgs-7.07.1rc2-gdevpng.patch && make so && make soinstall |
Supprimez les liens symboliques créés précédemment car ils ne sont plus nécessaires:
rm /usr/include/g{lib,module,libconfig}.h |
Note : La bibliothèque partagée est seulement utilisée par les programmes externes comme GSview-4.4.
Pour finir l'installation, déballez toutes les polices que vous avez chargé dans le répertoire /usr/share/ghostscript.
--without-gimp-print: Cette option désactive la construction du pilote d'impression de GIMP.
--without-ijs: Cette option désactive le support du pilote IJS.
Ghostscript vient avec beaucoup de filtres pour le rendu des fichiers PostScript/PDF. Merci de vous référer à la documentation HTML ou d'essayez man gs. ESP Ghostscript fournit aussi pstoraster.
pstoraster permet à CUPS de filtrer la sortie des imprimantes non PostScript. Il est construit et installé seulement si CUPS-1.1.19 est disponible.
Ce chapitre contient des applications de numérisation qui nous permettent de convertir des documents imprimés en documents formattés lisibles par d'autres applications.
SANE est l'acronyme de Scanner Access Now Easy, c'est-à-dire la numérisation rendue facile. Néanmoins, l'accès au scanner est loin d'être simple car chaque vendeur a ses propres protocoles. Le seul protocole connu, apportant une certaine unité dans ce chaos est l'interface TWAIN mais il n'est pas assez précis pour permettre un ensemble de numérisation stable. Du coup, SANE dispose de son propre protocole, ce qui ne permet pas d'utiliser les pilotes des vendeurs.
SANE est divisé entre la partie moteur et la partie interface. Le moteur est composé des pilotes des différents scanners. L'interface permet à l'utilisateur d'accéder au moteur.
Téléchargement (HTTP): http://www.sane-project.org/
Téléchargement (FTP): ftp://ftp.mostang.com/pub/sane/sane-backends-1.0.12/sane-backends-1.0.12.tar.gz
Téléchargement (FTP): ftp://ftp.mostang.com/pub/sane/sane-frontends-1.0.11/sane-frontends-1.0.11.tar.gz
Taille du téléchargement: 2,7 Mo (Back ends), 180 Ko (Front ends)
Estimation de l'espace disque requis: 31 Mo (Moteur), 3,3 Mo (Interface)
Estimation du temps de construction: 1,44 SBU (Moteur), 0,09 SBU (Interface)
Pour accéder à votre scanner, vous aurez probablement besoin des pilotes en relation au noyau. Un scanner SCSI aura besoin des pilotes SCSI, un scanner connecté sur le port parallèle aura besoin du support du port parallèle (vous devrez aussi utiliser les modes avancés EPP) et un scanner USB aura besoin d'un module USB et un système SCSI pour l'émulation. Assurez-vous que vous disposez des pilotes nécessaires pour accéder aux périphériques.
Installez SANE backends en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
Pour installer SANE frontends, utilisez les commandes suivantes:
./configure --prefix=/usr && make && make install |
--prefix=/usr : Cette option fait que tous les logiciels vont être installés dans les répertoires de /usr.
--sysconfdir=/etc: Cette option installe les fichiers de configuration dans /etc/sane.d au lieu de /usr/etc/sane.d.
Voir http://www.sane-project.org/sane-supported-devices.html pour une liste des systèmes disponibles.
scanimage : Interface en ligne de commande pour numériser.
xscanimage : Interface utilisateur graphique pour numériser.
gimp-plugin : xscanimage en tant que plugin GIMP.
XSane est une autre interface pour SANE-1.0.12. Il dispose de fonctionnalités supplémentaires pour améliorer la qualité de l'image en comparaison avec xscanimage.
Téléchargement (HTTP): http://gd.tuwien.ac.at/hci/sane/xsane/xsane-0.91.tar.gz
Téléchargement (FTP): ftp://ftp.mostang.com/pub/sane/xsane/xsane-0.91.tar.gz
Taille du téléchargement: 2,4 Mo
Estimation de l'espace disque requis: 17 Mo
Estimation du temps de construction: 0,30 SBU
Installez XSane en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
--prefix=/usr : Cette option fait que tous les logiciels vont être installés dans les répertoires de /usr.
XSane vient avec une interface graphique utilisateur, et (si GIMP-1.2.5 est disponible) un plugin GIMP avec des fonctionnalités avancées. Merci de vous référer à la documentation pour plus d'informations.
GOCR contient un petit programme d'OCR (acronyme d'Object Character Recognition, reconnaissance de caractères). C'est utile pour lire du texte à partir d'un fichier graphique en entrée. Il fonctionne sans entraînement mais vous devez avoir une numérisation de haute qualité pour obtenir de bons résultats.
GOCR peut être utilisé en ligne de commande mais il existe aussi une interface GTK dans le package.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/jocr/gocr-0.37.tar.gz
Téléchargement (FTP): ftp://ftp.sourceforge.net/pub/sourceforge/jocr/gocr-0.37.tar.gz
Taille du téléchargement: 657 Ko
Estimation de l'espace disque requis: 5,9 Mo
Estimation du temps de construction: 0,20 SBU
la section intitulée tex-2.0.2 dans Chapitre 50 ou fig2dev (pour les exemples), XFree86-4.3.0.1 et GTK+-1.2.10 (uniquement pour l'interface)
Installez GOCR en lançant les commandes suivantes:
./configure --prefix=/usr && make && make install |
Pour installer l'interface GTK, utilisez les commandes suivantes:
cd frontend/gnome && ./configure --prefix=/usr && make && make install |
Pour installer l'aide:
make help |
Pour installer la documentation:
make doc |
Pour lancer des tests sur GOCR:
make examples |
gocr est un programme qui affiche tout le texte qu'il lit à partir d'un fichier graphique en entrée.
Ce chapitre contient les définitions de type de document DocBook SGML (DTDs), les feuilles de style DocBook DSSSL et les outils DocBook pour valider, transformer, formatter et publier des documents DocBook.
Le package SGML Common contient install-catalog, utile pour créer et maintenir des catalogues SGML centralisés.
Téléchargement (HTTP): http://gd.tuwien.ac.at/hci/kde/devel/docbook/SOURCES/sgml-common-0.6.3.tgz
Téléchargement (FTP): ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/sgml-common-0.6.3.tgz
Taille du téléchargement: 75 Ko
Estimation de l'espace disque requis: 648 Ko
Estimation du temps de construction: 0,00 SBU
Installez SGML Common en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man && make && make install && install-catalog --add /etc/sgml/sgml-ent.cat \ /usr/share/sgml/sgml-iso-entities-8879.1986/catalog && install-catalog --add /etc/sgml/sgml-docbook.cat \ /etc/sgml/sgml-ent.cat |
Astuce de mise à jour : Supprimez les éléments du catalogue ci-dessus avant des les mettre à jour:
install-catalog --remove /etc/sgml/sgml-ent.cat \ /usr/share/sgml/sgml-iso-entities-8879.1986/catalog && install-catalog --remove /etc/sgml/sgml-docbook.cat \ /etc/sgml/sgml-ent.cat
Le package SGML Common contient install-catalog, sgmlwhich, des fichiers d'entités SGML et XML.
install-catalog crée un catalogue centralisé qui maintient les références aux catalogues dispersés dans le répertoire /usr/share/sgml.
Les fichiers d'entité SGML contiennent les entités des caractères de base définies avec les entrées SDATA.
Les fichiers d'entité XML contiennent les entités des caractères de base définies par une représentation hexadécimal de leur numéro de caractère Unicode.
Le package DocBook SGML DTD contient des définitions de type de document pour vérification des fichiers de données SGML avec l'ensemble des règles de DocBook. C'est utile pour structurer les livres et la documentation de logiciel en un standard vous permettant d'utiliser les outils de transformations déjà écrits avec ce standard.
Téléchargement (HTTP): http://www.docbook.org/sgml/3.1/docbk31.zip
Téléchargement (FTP): ftp://ftp.rutgers.edu/pub/kde/devel/docbook/SOURCES/docbk31.zip
Taille du téléchargement: 60 Ko
Estimation de l'espace disque requis: 336 Ko
Estimation du temps de construction: 0,01 SBU
Installez DocBook SGML DTD en lançant les commandes suivantes:
cp docbook.cat docbook.cat.orig && sed -e '/ISO 8879/d' docbook.cat.orig > docbook.cat && cp docbook.cat docbook.cat.orig && sed -e '/gml/d' docbook.cat.orig > docbook.cat && cp docbook.cat docbook.cat.orig && sed -e 's|DTDDECL "-//OASIS//DTD DocBook V3.1//EN"|SGMLDECL|g' \ docbook.cat.orig > docbook.cat && install -d /usr/share/sgml/docbook/sgml-dtd-3.1 && chown -R root:root . && chmod -R 755 . && install docbook.cat /usr/share/sgml/docbook/sgml-dtd-3.1/catalog && cp -af *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-3.1 && install-catalog --add /etc/sgml/sgml-docbook-dtd-3.1.cat \ /usr/share/sgml/docbook/sgml-dtd-3.1/catalog && install-catalog --add /etc/sgml/sgml-docbook-dtd-3.1.cat \ /etc/sgml/sgml-docbook.cat |
cp docbook.cat docbook.cat.orig sed -e '/ISO 8879/d' docbook.cat.orig > docbook.cat cp docbook.cat docbook.cat.orig sed -e '/gml/d' docbook.cat.orig > docbook.cat |
cp docbook.cat docbook.cat.orig sed -e 's|DTDDECL "-//OASIS//DTD Docbook V3.1//EN"|SGMLDECL|g' \ docbook.cat.orig > docbook.cat |
/etc/sgml/catalog
Le script ci-dessous met à jour le catalogue.
Utiliser seulement la version 3.x la plus courante des DocBook SGML DTD nécessite ce qui suit:
cat >> /usr/share/sgml/docbook/sgml-dtd-3.1/catalog << "EOF" -- Begin Single Major Version catalog changes -- PUBLIC "-//Davenport//DTD DocBook V3.0//EN" "docbook.dtd" -- End Single Major Version catalog changes -- EOF |
Les fichiers DTD contiennent une définition de type de document définissant les types d'éléments et les listes d'attributs pouvant être utilisés dans les fichiers SGML correspondants.
Les fichiers MOD contiennent les composants de la définition du type de document compris dans les fichiers DTD.
Le package DocBook SGML DTD contient les définitions de type de document pour vérification des fichiers de données SGML avec l'ensemble des règles de DocBook. C'est utile pour structurer des livres et des documentations de logiciels sur un standard vous permettant d'utiliser les outils de transformation déjà écrit pour ce standard.
Téléchargement (HTTP): http://www.docbook.org/sgml/4.2/docbook-4.2.zip
Téléchargement (FTP): ftp://ftp.ibiblio.org/pub/Linux/distributions/rootlinux/ports/x/docbook/docbook-4.2.zip
Taille du téléchargement: 68 Ko
Estimation de l'espace disque requis: 376 Ko
Estimation du temps de construction 0,01 SBU
Installez DocBook SGML DTD en lançant les commandes suivantes:
cp docbook.cat docbook.cat.orig && sed -e '/ISO 8879/d' docbook.cat.orig > docbook.cat && cp docbook.cat docbook.cat.orig && sed -e '/gml/d' docbook.cat.orig > docbook.cat && install -d /usr/share/sgml/docbook/sgml-dtd-4.2 && chown -R root:root . && chmod -R 755 . && install docbook.cat /usr/share/sgml/docbook/sgml-dtd-4.2/catalog && cp -af *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-4.2 && install-catalog --add /etc/sgml/sgml-docbook-dtd-4.2.cat \ /usr/share/sgml/docbook/sgml-dtd-4.2/catalog && install-catalog --add /etc/sgml/sgml-docbook-dtd-4.2.cat \ /etc/sgml/sgml-docbook.cat |
cp docbook.cat docbook.cat.orig sed -e '/ISO 8879/d' docbook.cat.orig > docbook.cat cp docbook.cat docbook.cat.orig sed -e '/gml/d' docbook.cat.orig > docbook.cat |
/etc/sgml/catalog
Le script d'installation ci-dessous met à jour le catalogue.
Utiliser seulement la version 4.x la plus à jour de DocBook SGML DTD nécessite ce qui suit:
cat >> /usr/share/sgml/docbook/sgml-dtd-4.2/catalog << "EOF" -- Begin Single Major Version catalog changes -- PUBLIC "-//OASIS//DTD DocBook V4.1//EN" "docbook.dtd" PUBLIC "-//OASIS//DTD DocBook V4.0//EN" "docbook.dtd" -- End Single Major Version catalog changes -- EOF |
Les fichiers DTD contiennent une définition de type de document définissant les types d'éléments et les listes d'attributs pouvant être utilisés dans les fichiers SGML correspondants.
Les fichiers MOD contiennent les composants de la définition du type de document compris dans les fichiers DTD.
Le package OpenSP contient une bibliothèque C++ permettant d'utiliser des fichiers SGML/XML. C'est utile pour valider, analyser et manipuler des documents SGML et XML.
Téléchargement (HTTP): http://download.sourceforge.net/openjade/OpenSP-1.5.tar.gz
Téléchargement (FTP): ftp://ftp.freestandards.org/pub/lsb/app-battery/packages/OpenSP-1.5.tar.gz
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 16,1 Mo
Estimation du temps de construction: 1,76 SBU
Ce correctif supprime quelques messages ennuyants qui pourraient apparaître en lançant openjade.
patch -Np1 -i ../OpenSP-1.5-LITLEN.patch patch -Np1 -i ../OpenSP-1.5-gcc33-1.patch |
Installez OpenSP en lançant les commandes suivantes:
./configure --prefix=/usr --disable-static --enable-http \ --enable-default-catalog=/etc/sgml/catalog \ --enable-default-search-path=/usr/share/sgml && make pkgdatadir=/usr/share/sgml/OpenSP-1.5 && make pkgdatadir=/usr/share/sgml/OpenSP-1.5 install && ln -sf onsgmls /usr/bin/nsgmls && ln -sf osgmlnorm /usr/bin/sgmlnorm && ln -sf ospam /usr/bin/spam && ln -sf ospcat /usr/bin/spcat && ln -sf ospent /usr/bin/spent && ln -sf osx /usr/bin/sx && ln -sf osx /usr/bin/sgml2xml && ln -sf libosp.so /usr/lib/libsp.so && install-catalog --add /etc/sgml/OpenSP-1.5.cat \ /usr/share/sgml/OpenSP-1.5/catalog && install-catalog --add /etc/sgml/sgml-docbook.cat \ /etc/sgml/OpenSP-1.5.cat |
Astuce de mise à jour : Supprimez les éléments du catalogue ci-dessus avant de mettre à jour avec:
install-catalog --remove /etc/sgml/OpenSP-[version].cat \ /usr/share/sgml/OpenSP-[version]/catalog && install-catalog --remove /etc/sgml/sgml-docbook.cat \ /etc/sgml/OpenSP-[version].cat
--disable-static: Cette option empêche la construction des bibliothèques statiques.
--enable-http: Cette option ajoute le support d'HTTP.
--enable-default-catalog=/etc/sgml/catalog: Cette option initialise le chemin vers notre catalogue centralisé.
--enable-default-search-path: Cette option initialise la valeur par défaut de SGML_SEARCH_PATH.
--enable-xml-messages: Cette option ajoute le support des messages formattés (XML Formatted Messages).
make pkgdatadir=/usr/share/sgml/OpenSP-1.5: Ceci initialise la variable pkgdatadir dans le Makefile à partir de /usr/share/OpenSP vers /usr/share/sgml/OpenSP-1.5.
ln -sf onsgmls /usr/bin/nsgmls ln -sf osgmlnorm /usr/bin/sgmlnorm ln -sf ospam /usr/bin/spam ln -sf ospcat /usr/bin/spcat ln -sf ospent /usr/bin/spent ln -sf osx /usr/bin/sx ln -sf osx /usr/bin/sgml2xml ln -sf libosp.so /usr/lib/libsp.so |
Le package OpenJade contient un moteur DSSSL. C'est utile pour les transformations SGML et XML vers RTF, TeX, SGML et XML.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/openjade/openjade-1.3.2.tar.gz
Téléchargement (FTP): ftp://ftp.freestandards.org/pub/lsb/app-battery/packages/openjade-1.3.2.tar.gz
Taille du téléchargement: 880 Ko
Estimation de l'espace disque requis: 14,5 Mo
Estimation du temps de construction: 1,51 SBU
Installez OpenJade en lançant les commandes suivantes:
./configure --prefix=/usr --enable-http --disable-static \ --enable-default-catalog=/etc/sgml/catalog \ --enable-default-search-path=/usr/share/sgml \ --datadir=/usr/share/sgml/openjade-1.3.2 && make && make install && ln -sf openjade /usr/bin/jade && ln -sf libogrove.so /usr/lib/libgrove.so && ln -sf libospgrove.so /usr/lib/libspgrove.so && ln -sf libostyle.so /usr/lib/libstyle.so && install -m644 dsssl/catalog /usr/share/sgml/openjade-1.3.2/ && install -m644 dsssl/*.dtd dsssl/*.dsl dsssl/*.sgm \ /usr/share/sgml/openjade-1.3.2 && install-catalog --add /etc/sgml/openjade-1.3.2.cat \ /usr/share/sgml/openjade-1.3.2/catalog && install-catalog --add /etc/sgml/sgml-docbook.cat /etc/sgml/openjade-1.3.2.cat |
--disable-static: Cette option empêche la construction de bibliothèques statiques.
--enable-http: Cette option ajoute le support d'HTTP.
--enable-default-catalog=/etc/sgml/catalog: Cette option initialise le chemin vers notre catalogue centralisé.
--enable-default-search-path: Cette option initialise la valeur par défaut de SGML_SEARCH_PATH.
--datadir=/usr/share/sgml/openjade-1.3.2: Cette option place les fichiers de données dans /usr/share/sgml/openjade-1.3.2 au lieu de /usr/share.
ln -sf openjade /usr/bin/jade ln -sf libogrove.so /usr/lib/libgrove.so ln -sf libospgrove.so /usr/lib/libspgrove.so ln -sf libostyle.so /usr/lib/libstyle.so |
echo "SYSTEM \"/usr/share/docbook/docbookx.dtd\" \ \"/usr/share/xml/docbook/xml-dtd-4.2/docbookx.dtd\"" >> \ /usr/share/sgml/openjade-1.3.2/catalog |
Cette configuration est seulement nécessaire si vous avez l'intention d'utiliser OpenJade pour travailler sur les fichiers XML BLFS avec les feuilles de style DSSSL.
Le package DocBook DSSSL Stylesheets contient les feuilles de style DSSSL. Elles sont utilisées par OpenJade ou d'autres outils pour transformer des fichiers DocBook SGML et XML.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-1.78.tar.gz
Taille du téléchargement: 384 Ko
Estimation de l'espace disque requis: 4 Mo
Estimation du temps de construction: 0,01 SBU
Installez DocBook DSSSL Stylesheets en lançant les commandes suivantes:
mkdir -p /usr/share/sgml/docbook/dsssl-stylesheets-1.78/dtds/decls && mkdir -p /usr/share/sgml/docbook/dsssl-stylesheets-1.78/lib && mkdir -p /usr/share/sgml/docbook/dsssl-stylesheets-1.78/common && mkdir -p /usr/share/sgml/docbook/dsssl-stylesheets-1.78/html && mkdir -p /usr/share/sgml/docbook/dsssl-stylesheets-1.78/print && mkdir -p /usr/share/sgml/docbook/dsssl-stylesheets-1.78/test && mkdir -p /usr/share/sgml/docbook/dsssl-stylesheets-1.78/images && install bin/collateindex.pl /usr/bin && cp catalog VERSION /usr/share/sgml/docbook/dsssl-stylesheets-1.78 && cp dtds/decls/*.dcl \ /usr/share/sgml/docbook/dsssl-stylesheets-1.78/dtds/decls && cp lib/dblib.dsl /usr/share/sgml/docbook/dsssl-stylesheets-1.78/lib && cp common/*.dsl /usr/share/sgml/docbook/dsssl-stylesheets-1.78/common && cp common/*.ent /usr/share/sgml/docbook/dsssl-stylesheets-1.78/common && cp html/*.dsl /usr/share/sgml/docbook/dsssl-stylesheets-1.78/html && cp lib/*.dsl /usr/share/sgml/docbook/dsssl-stylesheets-1.78/lib && cp print/*.dsl /usr/share/sgml/docbook/dsssl-stylesheets-1.78/print && cp images/*.gif /usr/share/sgml/docbook/dsssl-stylesheets-1.78/images && install-catalog --add /etc/sgml/dsssl-docbook-stylesheets.cat \ /usr/share/sgml/docbook/dsssl-stylesheets-1.78/catalog && install-catalog --add /etc/sgml/sgml-docbook.cat \ /etc/sgml/dsssl-docbook-stylesheets.cat |
La configuration suivante est nécessaire pour utiliser OpenJade dans la conversion du livre BLFS du XML en HTML:
ln -sf [votre répertoire personnel]/BLFS/BOOK/blfs.dsl \ /usr/share/sgml/docbook/dsssl-stylesheets-1.78/html/ |
Si vous voulez tester Docbook XML DTD, DocBook DSSSL Stylesheets et OpenJade avec le livre BLFS, utilisez la commande suivante. Les commandes sont écrites pour une récupération du CVS dans votre répertoire personnel, le résultat allant dans le répertoire courant, donc faites toutes les modifications nécessaires pour votre configuration.
mkdir introduction postlfs general connect basicnet server \ content x kde gnome xsoft multimedia pst preface appendices other && openjade -t sgml \ -d /usr/share/sgml/docbook/dsssl-stylesheets-1.78/html/blfs.dsl \ /usr/share/sgml/docbook/dsssl-stylesheets-1.78/dtds/decls/xml.dcl \ ~/BLFS/BOOK/index.xml |
Le package DocBook DSSSL Stylesheets contient les feuilles de style DSSSL et collateindex.pl.
collateindex.pl est un script Perl qui crée un index DocBook à partir de données d'indexage brut.
Ce chapitre contient la définition du type de document DocBook XML (DTD) et les feuilles de style DocBook utilisées pour valider, transformer, formatter et publier des documents DocBook.
Le package DocBook XML DTD-4.2 contient des définitions de type de document pour une vérification des fichiers de données XML avec l'ensemble des règles DocBook. C'est utile pour structurer les livres et les documentations de logiciel avec un standard vous permettant d'utiliser les outils de transformation déjà écrits pour ce standard.
Téléchargement (HTTP): http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip
Téléchargement (FTP): ftp://ftp.us.sinuspl.net/pub/src/docbook-xml-4.2.zip
Taille du téléchargement: 84 Ko
Estimation de l'espace disque requis: 468 Ko
Estimation du temps de construction: 0,01 SBU
Installez DocBook XML DTD en lançant les commandes suivantes:
install -d /usr/share/xml/docbook/xml-dtd-4.2 && cp -af docbook.cat *.dtd ent/ *.mod /usr/share/xml/docbook/xml-dtd-4.2 && if [ ! -e /etc/xml/catalog ]; then mkdir -p /etc/xml; xmlcatalog --noout \ --create /etc/xml/catalog; fi && if [ ! -e /etc/xml/docbook ]; then xmlcatalog --noout --create \ /etc/xml/docbook; fi && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.2/dbpoolx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V4.2//EN" \ "http://oasis-open.org/docbook/xml/4.2/docbookx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Character Entities V4.2//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.2/dbcentx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Notations V4.2//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.2/dbnotnx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.2//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.2/dbgenent.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.2//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.2/dbhierx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.2/soextblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML CALS Table Model V4.2//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.2/calstblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/4.2" \ "file:///usr/share/xml/docbook/xml-dtd-4.2" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/4.2" \ "file:///usr/share/xml/docbook/xml-dtd-4.2" \ /etc/xml/docbook && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" /etc/xml/catalog |
/etc/xml/catalog, /etc/xml/docbook
Le script d'installation ci-dessous crée les fichiers et met à jour le catalogue. Nous avons besoin de faire des entrées supplémentaires pour créer le livre BLFS:
xmlcatalog --noout --add "delegateSystem" \ "/usr/share/docbook/" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "/usr/share/docbook/" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "rewriteSystem" \ "/usr/share/docbook" \ "file:///usr/share/xml/docbook/xml-dtd-4.2" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteURI" \ "/usr/share/docbook" \ "file:///usr/share/xml/docbook/xml-dtd-4.2" \ /etc/xml/docbook |
Pour installer ScrollKeeper ou pour utiliser DocBook XML DTD V4.2 alors que la V4.1.2 est demandé par l'identifiant système (System Identifier), ajoutez l'entrée suivante:
xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V4.1.2//EN" \ "http://oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "delegateSystem" \ "http://oasis-open.org/docbook/xml/4.1.2/" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://oasis-open.org/docbook/xml/4.1.2/" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "rewriteSystem" \ "http://oasis-open.org/docbook/xml/4.1.2" \ "file:///usr/share/xml/docbook/xml-dtd-4.2" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteURI" \ "http://oasis-open.org/docbook/xml/4.1.2" \ "file:///usr/share/xml/docbook/xml-dtd-4.2" \ /etc/xml/docbook |
Les fichiers DTD contiennent une définition du type de document qui indique les éléments type et les listes d'attributs pouvant être utilisés dans les fichiers XML correspondants.
Les fichiers MOD contiennent des composants de la définition du type de document qui proviennent des fichiers DTD.
Les fichiers ENT contiennent les listes d'entités de caractères nommés autorisées en HTML.
Le package DocBook XSL Stylesheets contient les feuilles de style XSL, utiles pour réaliser les transformations sur des fichiers DocBook XML.
Téléchargement (HTTP): http://telia.dl.sourceforge.net/sourceforge/docbook/docbook-xsl-1.62.4.tar.gz
Taille du téléchargement: 1,3 Mo
Estimation de l'espace disque requis: 12,2 Mo
Estimation du temps de construction: 0,01 SBU
Installez DocBook XSL Stylesheets avec les commandes suivantes:
install -d /usr/share/xml/docbook/xsl-stylesheets-1.62.4 && cp -af VERSION common extensions fo html htmlhelp images javahelp lib \ manpages params profiling template tools xhtml \ /usr/share/xml/docbook/xsl-stylesheets-1.62.4 && install -d /usr/share/doc/xml && cp -af doc/* /usr/share/doc/xml && if [ ! -f /etc/xml/catalog ]; then mkdir -p /etc/xml; xmlcatalog --noout \ --create /etc/xml/catalog; fi && if [ ! -e /etc/xml/docbook ]; then xmlcatalog --noout --create \ /etc/xml/docbook; fi && xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/1.45" \ "/usr/share/xml/docbook/xsl-stylesheets-1.62.4" /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/1.45" \ "/usr/share/xml/docbook/xsl-stylesheets-1.62.4" /etc/xml/catalog && xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-1.62.4" /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-1.62.4" /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://docbook.sourceforge.net/release/xsl/" \ "file:///etc/xml/docbook" /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.sourceforge.net/release/xsl/" \ "file:///etc/xml/docbook" /etc/xml/catalog |
/etc/xml/catalog
Le script d'installation ci-dessous crée les fichiers et met à jour le catalogue.
Si vous souhaitez tester le DocBook XML DTD et DocBook XSL Stylesheets avec le livre BLFS, utilisez la commande suivante. La commande est écrite pour une récupération du CVS dans votre répertoire personnel, al sortie allant dans le répertoire actuel, donc faites toute modification nécessaire sur votre configuration.
xsltproc --nonet -o index.html \ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl \ ~/BLFS/BOOK/index.xml |
Le package DocBook XSL Stylesheets contient les feuilles de style XSL pour le HTML et pour FO.
Ce chapitre inclut des applications qui créent, manipulent ou visualisent des fichiers PostScript et visualisent les fichiers au format PDF (acronyme de Portable Document Format).
a2ps est un filtre utilisé principalement en tâche de fond par des scripts d'impressions qui convertissent pratiquement tout format d'entrée en sortie PostScript. Le nom de l'application est un acronyme signifiant "tout vers PostScript (all to PostScript).
Téléchargement (HTTP): http://ftp.gnu.org/gnu/a2ps/a2ps-4.13b.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/a2ps/a2ps-4.13b.tar.gz
Taille du téléchargement: 1,9 Mo
Estimation de l'espace disque requis: 19,2 Mo
Estimation du temps de construction: 0,26 SBU
Installez a2ps en lançant les commandes suivantes:
cd contrib && cp Makefile.in Makefile.in.orig && sed -e "s:emacs::" Makefile.in.orig > Makefile.in && cd .. && cp configure{,.orig} && sed -e 's|/usr/local/share/ghostscript|/usr/share/ghostscript|g' \ configure.orig > configure ./configure --prefix=/usr \ --sysconfdir=/etc/a2ps --localstatedir=/var \ --with-medium=letter && make && make install |
cd contrib && cp Makefile.in Makefile.in.orig && sed -e "s:emacs::" Makefile.in.orig > Makefile.in && cd .. && |
cp configure{,.orig} && sed -e 's|/usr/local/share/ghostscript|/usr/share/ghostscript|g' \ configure.orig > configure |
--sysconfdir=/etc/a2ps: Les données de configuration vont dans /etc/a2ps au lieu de /usr/etc.
--with-medium=letter: Cette option modifie le format de papier par défaut d'A4 en letter. Les installations qui utilisent le format A4 doivent supprimer cette option.
/etc/a2ps/a2ps.cfg, /etc/a2ps/a2ps-site.cfg
Les informations sur la configuration d'a2ps sont disponibles dans les commentaires contenus dans les fichiers ci-dessus et aussi en lançant info a2ps.
a2ps est un filtre utilisé principalement par des scripts d'impression qui convertissent l'entrée standard ou des fichiers supportés en PostScript.
Enscript convertit les fichiers ASCII en PostScript.
Téléchargement (HTTP): http://ftp.gnu.org/gnu/enscript/enscript-1.6.1.tar.gz
Téléchargement (FTP): ftp://ftp.gnu.org/gnu/enscript/enscript-1.6.1.tar.gz
Taille du téléchargement: 636 Ko
Estimation de l'espace disque requis: 6,8 Mo
Estimation du temps de construction: 0,10 SBU
Installez enscript en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc/enscript \ --localstatedir=/var --with-media=letter && make && make install |
Note : Supprimez --with-media=letter des options de configure si votre format est le A4.
--sysconfdir=/etc/enscript: Cette option place les données de configuration dans /etc/enscript au lieu de /usr/etc.
--localstatedir=/var: Cette option initialise le répertoire des données d'exécution à /var au lieu de /usr/var.
enscript est un filtre utilisé principalement par des scripts d'impression convertissant des fichiers ASCII en PostScript.
PSUtils est un ensemble d'utilitaires pour manipuler des fichiers PostScript.
Téléchargement (HTTP): http://gd.tuwien.ac.at/publishing/tex/tex-utils/psutils/psutils-p17.tar.gz
Téléchargement (FTP): ftp://ftp.knackered.org/pub/psutils/psutils-p17.tar.gz
Taille du téléchargement: 68 Ko
Estimation de l'espace disque requis: 740 Ko
Estimation du temps de construction: 0,01 SBU
Installez PSUtils en lançant les commandes suivantes:
cat Makefile.unix | sed -e 's/\/usr\/local/\/usr/g' > Makefile && make && make install |
cat ... | sed ...: Cette commande crée un Makefile qui installe le programme dans le répertoire /usr au lieu du répertoire /usr/local.
Le package PSUtils contient psbook, psselect, pstops psnup, psresize, epsffit, getafm, showchar, fixdlsrps, fixfmps, fixmacps, fixpsditps , fixpspps, fixscribeps, fixtpps, fixwfwps, fixwpps, fixwwps, extractres , includeres, psmerge.
psbook ré-arrange les pages en signatures.
Les autres commandes sont des scripts réalisant des fonctions spécifiques décrites dans leur page man respective.
GSview est un visualisateur pour PostScript et PDF utilisant X.
Téléchargement (HTTP): http://gd.tuwien.ac.at/publishing/ghostscript/ghostgum/gsview-4.4.tar.gz
Téléchargement (FTP): ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/gsview-4.4.tar.gz
Taille du téléchargement: 875 Ko
Estimation de l'espace disque requis: 24 Mo
Estimation du temps de construction: 0,26 SBU
Correctif requis: http://www.linuxfromscratch.org/patches/blfs/5.0/gsview-4.4-gvx.patch
GTK+-1.2.10 et AFPL Ghostscript-8.11 ou ESP Ghostscript-7.07.1rc2 (avec libgs.so installé)
GSview utilise netscape pour naviguer à travers l'aide en ligne. BLFS n'installe pas Netscape, mais dispose d'autres navigateurs. Editez srcunx/gvxreg.c en utilisant le script sed suivant avec le nom de l'exécutable du navigateur de votre choix à substituer à [navigateur]:
mv srcunx/gvxreg.c srcunx/gvxreg.old && cat srcunx/gvxreg.old | sed s/netscape/[navigateur]/ > srcunx/gvxreg.c |
Installez GSview en lançant les commandes suivantes:
patch -Np1 -i ../gsview-4.4-gvx.patch && sed 's|GSVIEW_ROOT=/usr/local|GSVIEW_ROOT=/usr|' \ srcunx/unx.mak > Makefile && make && make install |
sed 's|GSVIEW_ROOT=/usr/local|GSVIEW_ROOT=/usr|': Cette commande modifie le répertoire d'installation par défaut avec /usr.
epstool est un outil pour extraire des images bitmap de prévisualisation de fichiers EPS.
Xpdf est un visualisateur de fichiers au format PDF de Adobe, application rapide et légère venant avec quelques outils utiles en ligne de commandes.
Téléchargement (HTTP): http://gd.tuwien.ac.at/publishing/xpdf/xpdf-2.02pl1.tar.gz
Téléchargement (FTP): ftp://sunsite.lanet.lv/pub/unix/Slackware-9.0/source/xap/xpdf/xpdf-2.02pl1.tar.gz
Taille du téléchargement: 472 Ko
Estimation de l'espace disque requis: 20,4 Mo
Estimation du temps de construction: 0,35 SBU
Installez Xpdf en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man \ --with-freetype2-includes=/usr/include/freetype2 \ --with-freetype2-library=/usr/lib \ --with-appdef-dir=/usr/X11R6/lib/X11/app-defaults/ && make && make install |
--enable-a4-paper: Cette option doit être ajoutée pour initialiser l'A4 DIN comme format de papier standard.
Dans le répertoire etc, vous trouverez un fichier xpdfrc d'exemple qui peut être soit copié dans ~/.xpdfrc soit pris en exemple pour écrire son propre fichier de configuration.
# Exemple .xpdfrc displayFontT1 Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb displayFontT1 Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb displayFontT1 Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb displayFontT1 Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb displayFontT1 Helvetica /usr/share/ghostscript/fonts/n019003l.pfb displayFontT1 Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb displayFontT1 Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb displayFontT1 Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb displayFontT1 Courier /usr/share/ghostscript/fonts/n022003l.pfb displayFontT1 Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb displayFontT1 Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb displayFontT1 Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb displayFontT1 Symbol /usr/share/ghostscript/fonts/s050000l.pfb displayFontT1 ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb fontDir /usr/X11R6/lib/X11/fonts/truetype psFile "|lpr" psPaperSize letter textEOL unix t1libControl low freetypeControl low urlCommand "links -g %s" |
KGhostview est un programme de lecture de nouvelles basé sur Qt disponible à partir de kdegraphics-3.1.4.
Ce chapitre inclut des applications qui créent une sortie équivalent à de la composition de texte.
TeX est un package de composition de texte, capable de créer des documents dans différents formats. L'archive TAR optionnelle texmfsrc contient le code source des packages contenus dans l'archive TAR texmf, inclus dans les sources docstrip.
Téléchargement (FTP): ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/2.0/distrib/tetex-src-2.0.2.tar.gz
Téléchargement (FTP): ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/2.0/distrib/tetex-texmf-2.0.2.tar.gz
Téléchargement supplémentaire (FTP): ftp://sunsite.informatik.rwth-aachen.de/pub/comp/tex/teTeX/2.0/distrib/tetex-texmfsrc-2.0.2.tar.gz
Taille du téléchargement: 52 Mo
Estimation de l'espace disque requis: 175 Mo
Estimation du temps de construction: 2,97 SBU
TeX est installé à partir du répertoire source (habituellement /usr/src) et les instructions de déballage sont inclus ci-dessous à la place de l'habituelle supposition que vous avez déjà déballé le package. Le répertoire source devrait contenir les deux packages requis et le package optionnel si désiré.
Installez TeX en lançant les commandes suivantes:
mkdir -p /usr/share/texmf && tar zxvf tetex-src-2.0.2.tar.gz && cd tetex-2.0.2 && gzip -dc ../tetex-texmf-2.0.2.tar.gz \ | (umask 0; cd /usr/share/texmf; tar xvf -) |
Si l'archive TAR du code source optionnel texmf était téléchargé, déballez-la maintenant:
gzip -dc ../tetex-texmfsrc-2.0.2.tar.gz \ | (umask 0; cd /usr/share/texmf; tar xvf -) |
./configure --with-x=no --prefix=/usr \ --without-texinfo --with-system-ncurses --with-system-zlib \ --exec-prefix=/usr --bindir=/usr/bin && make world && texconfig dvips paper letter && texconfig font rw |
gzip -dc ../teTeX-texmf-2.0.2.tar.gz \ | (umask 0; cd /usr/share/texmf; tar xvf -) |
--with-x=no : Evite toute dépendance avec XFree86. TeX peut être compilé avec le support de XFree86, principalement pour xdvi. Si ceci est désiré, supprimez cette option de configure.
--exec-prefix=/usr --bindir=/usr/bin : Nécessaire pour que les binaires TeX soient installés dans /usr/bin.
--without-texinfo : Une installation LFS par défaut dispose déjà du package texinfo, nous éviterons de le remplacer avec le package texinfo inclus.
--with-system-ncurses : Demande l'utilisation de la bibliothèque libncurses déjà installée.
--with-system-zlib : Les systèmes LFS, à partir des versions 4.0, disposent de zlib installé avec la base du système d'exploitation. Nous devons éviter de le construire ici.
texconfig dvips paper letter : Configure la taille du papier par défaut pour TeX.
texconfig font rw : Spécifie les polices modifiables.
Le package TeX contient 125 binaires séparés. Référez-vous à file:///usr/share/texmf/doc/index.html pour plus de détails, et faites aussi un tour sur l'importante documentation TeX.
Cette section liste tous les liens symboliques utilisés par le package lfs-bootscripts (d'après la version 1.9) et tous les scripts du livre BLFS. Ceci est fait pour deux raisons: tout d'abord, pour que vous puissiez voir d'un coup d'oeil quel numéro nous utilisons pour chaque package, et deuxièmement, pour que nous puissions savoir quel numéro nous avons utilisé pour chaque package! Sans cela, nos vies seraient plus compliquées (car nous finirions par avoir des conflits).
Il n'est pas besoin de dire que ceci n'est pas la seule configuration pour les liens symboliques (même pas l'optimale). Dans la tradition LFS, vous devez trouver ce qui vous convient et l'utiliser; nos recommentations ne sont qu'un modèle.
Tableau A-1. Liens symboliques dans rc0.d
Numéro | Titre | Lien | Explication |
K00 | cups | ../init.d/cups | Arrête le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19 |
K00 | lprng | ../init.d/lprng | Arrête le système d'impression par spoolers LPR: LPRng-3.8.22 |
K05 | gdm | ../init.d/gdm | Arrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4 |
K08 | fcron | ../init.d/fcron | Arrête le démon Cron: fcron-2.9.3 |
K10 | gpm | ../init.d/gpm | Arrête le démon GPM (General Purpose Mouse): gpm-1.20.1 |
K25 | postfix | ../init.d/postfix | Arrête le MTA Postfix: Postfix-2.0.16 |
K26 | mysql | ../init.d/mysql | Arrête le démon MySQL: MySQL-4.0.15a |
K26 | postgresql | ../init.d/postgresql | Arrête le démon PostgreSQL: PostgreSQL-7.3.4 |
K28 | apache | ../init.d/apache | Arrête le démon Apache: apache |
K30 | sshd | ../init.d/sshd | Arrête le démon SSH: OpenSSH-3.7.1p2 |
K35 | alsa | ../init.d/alsa | Sauvegarde la configuration du volume: ALSA-0.9.6 |
K40 | sysklogd | ../init.d/sysklogd | Arrête les démons des logs système et noyau: Fait partie du LFS de base. |
K45 | random | ../init.d/random | Sauvegarde la génération de nombres aléatoires: random |
K48 | samba | ../init.d/amba | Arrête le système de fichiers réseau: Samba-2.2.8a. |
K48 | NFS | ../init.d/nfs | Arrête le système de fichiers réseau: |
K49 | adsl | ../init.d/adsl | Arrête le client ADSL: RP-PPPoE-3.5 |
K49 | portmap | ../init.d/portmap | Arrête l'envoi des requetes RPC: portmap-5beta. |
K49 | xinetd | ../init.d/xinetd | Arrête le démon des services internet: xinetd-2.3.12 |
K49 | bind | ../init.d/bind | Arrête le démon des services de nom (DNS): BIND-9.2.2 |
K50 | sendsignals | ../init.d/sendsignals | Tue les processus: Fait partie du LFS de base. |
K59 | firewall | ../init.d/firewall | Supprime la configuration du pare-feu: Firewalling. |
K60 | mountfs | ../init.d/mountfs | Démonte tous les systèmes de fichiers: Fait partie du LFS de base. |
K70 | swap | ../init.d/swap | Désactive le swap: Fait partie du LFS de base. |
K80 | network | ../init.d/network | Arrête le réseau: Fait partie du LFS de base. |
K90 | localnet | ../init.d/localnet | Supprime l'interface loopback: Fait partie du LFS de base. |
K99 | halt | ../init.d/halt | Arrête le système: Fait partie du LFS de base. |
Tableau A-2. Liens symboliques dans rc1.d
Numéro | Titre | Lien | Explication |
K00 | lprng | ../init.d/lprng | Arrête le système d'impression par spoolers LPR: LPRng-3.8.22 |
K05 | gdm | ../init.d/gdm | Arrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4 |
K10 | gpm | ../init.d/gpm | Arrête le démon GPM (General Purpose Mouse): gpm-1.20.1 |
K25 | postfix | ../init.d/postfix | Arrête le MTA Postfix: Postfix-2.0.16 |
K26 | mysql | ../init.d/mysql | Arrête le démon MySQL: MySQL-4.0.15a |
K26 | postgresql | ../init.d/postgresql | Arrête le démon PostgreSQL: PostgreSQL-7.3.4 |
K28 | apache | ../init.d/apache | Arrête le démon Apache: apache |
K30 | sshd | ../init.d/sshd | Arrête le démon SSH: OpenSSH-3.7.1p2 |
K35 | alsa | ../init.d/alsa | Sauvegarde la configuration du volume: ALSA-0.9.6 |
K48 | samba | ../init.d/samba | Arrête le système de fichiers réseau: Samba-2.2.8a |
K48 | NFS | ../init.d/nfs | Arrête le système de fichiers réseau: |
K49 | adsl | ../init.d/adsl | Arrête le client ADSL: RP-PPPoE-3.5 |
K49 | portmap | ../init.d/portmap | Arrête l'envoi des requetes RPC: portmap-5beta |
K49 | xinetd | ../init.d/xinetd | Arrête le démon des services internet: xinetd-2.3.12 |
K49 | bind | ../init.d/bind | Arrête le démon des serveurs de nom (DNS): BIND-9.2.2 |
K59 | firewall | ../init.d/firewall | Supprime la configuration du pare-feu: Firewalling |
K80 | sysklogd | ../init.d/sysklogd | Arrête les démons des logs système et noyau: Fait partie du LFS de base. |
K90 | network | ../init.d/network | Arrête le réseau: Fait partie du LFS de base. |
Tableau A-3. Liens symboliques dans rc2.d
Numéro | Titre | Lien | Explication |
K05 | gdm | ../init.d/gdm | Arrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4 |
K10 | gpm | ../init.d/gpm | Arrête le démon GPM (General Purpose Mouse): gpm-1.20.1 |
K25 | postfix | ../init.d/postfix | Arrête le MTA Postfix: Postfix-2.0.16 |
K26 | mysql | ../init.d/mysql | Arrête le démon MySQL: MySQL-4.0.15a |
K26 | postgresql | ../init.d/postgresql | Arrête le démon PostgreSQL: PostgreSQL-7.3.4 |
K28 | apache | ../init.d/apache | Arrête le démon Apache: apache |
K30 | sshd | ../init.d/sshd | Arrête le démon SSH: OpenSSH-3.7.1p2 |
K48 | samba | ../init.d/samba | Arrête le système de fichiers réseau: Samba-2.2.8a. |
K48 | NFS | ../init.d/nfs | Arrête le système de fichiers réseau: |
K49 | adsl | ../init.d/adsl | Arrête le client ADSL: RP-PPPoE-3.5 |
K49 | portmap | ../init.d/portmap | Arrête l'envoi des requetes RPC: portmap-5beta. |
K49 | xinetd | ../init.d/xinetd | Arrête le démon des services internet: xinetd-2.3.12 |
K49 | bind | ../init.d/bind | Arrête le démon des serveurs de nom (DNS): BIND-9.2.2 |
K59 | firewall | ../init.d/firewall | Supprime la configuration du firewall: Firewalling. |
K90 | network | ../init.d/network | Arrête le réseau: Fait partie du LFS de base. |
S10 | sysklogd | ../init.d/sysklogd | Démarre les démons des logs système et noyau: Fait partie du LFS de base. |
S25 | random | ../init.d/random | Sauvegarde la génération de nombres aléatoires: random |
S40 | alsa | ../init.d/alsa | Démarre la gestion du son: ALSA-0.9.6 |
S40 | fcron | ../init.d/fcron | Démarre le démon Cron: fcron-2.9.3 |
S99 | cups | ../init.d/cups | Démarre le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19 |
S99 | lprng | ../init.d/lprng | Démarre le système d'impression par spoolers LPR: LPRng-3.8.22 |
Tableau A-4. Liens symboliques dans rc3.d
Numéro | Titre | Lien | Explication |
K05 | gdm | ../init.d/gdm | Arrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4 |
S10 | sysklogd | ../init.d/sysklogd | Démarre les démons des logs système et noyau: Fait partie du LFS de base. |
S20 | network | ../init.d/network | Démarre le réseau: Fait partie du LFS de base. |
S21 | firewall | ../init.d/firewall | Active la configuration du pare-feu: Firewalling. |
S22 | bind | ../init.d/bind | Démarre le démon des serveurs de nom (DNS): BIND-9.2.2 |
S22 | portmap | ../init.d/portmap | Prends en compte les requêtes RPC: portmap-5beta. |
S23 | xinetd | ../init.d/xinetd | Démarre le démon des services internet: xinetd-2.3.12 |
S24 | adsl | ../init.d/adsl | Démarre le client ADSL: RP-PPPoE-3.5 |
S24 | NFS | ../init.d/nfs | Démarre le système de fichiers réseau: |
S24 | samba | ../init.d/samba | Démarre le système de fichiers réseau: Samba-2.2.8a. |
S25 | random | ../init.d/random | Restaure la génération de nombres aléatoires: random |
S30 | sshd | ../init.d/sshd | Démarre le démon SSH: OpenSSH-3.7.1p2 |
S32 | apache | ../init.d/apache | Démarre le démon Apache: apache |
S34 | mysql | ../init.d/mysql | Démarre le démon MySQL: MySQL-4.0.15a |
S34 | postgresql | ../init.d/postgresql | Démarre le démon PostgreSQL: PostgreSQL-7.3.4 |
S35 | postfix | ../init.d/postfix | Démarre le MTA Postfix: Postfix-2.0.16 |
S40 | alsa | ../init.d/alsa | Démarre la gestion du son: ALSA-0.9.6 |
S40 | fcron | ../init.d/fcron | Démarre le démon Cron: fcron-2.9.3 |
S70 | gpm | ../init.d/gpm | Démarre le démon GPM (General Purpose Mouse): gpm-1.20.1 |
S99 | cups | ../init.d/cups | Démarre le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19 |
S99 | lprng | ../init.d/lprng | Démarre le système d'impression par spoolers LPR: LPRng-3.8.22 |
Tableau A-5. Liens symboliques dans rc4.d
Numéro | Titre | Lien | Explication |
K05 | gdm | ../init.d/gdm | Arrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4 |
S10 | sysklogd | ../init.d/sysklogd | Démarre les démons des logs système et noyau: Fait partie du LFS de base. |
S20 | network | ../init.d/network | Démarre le réseau: Fait partie du LFS de base. |
S21 | firewall | ../init.d/firewall | Charge la configuration du pare-feu: Firewalling. |
S22 | bind | ../init.d/bind | Démarre le démon des serveurs de nom (DNS): BIND-9.2.2 |
S22 | portmap | ../init.d/portmap | Transfère les requetes RPC: portmap-5beta. |
S23 | xinetd | ../init.d/xinetd | Démarre le démon des services internet: xinetd-2.3.12 |
S24 | adsl | ../init.d/adsl | Démarre le client ADSL: RP-PPPoE-3.5 |
S24 | NFS | ../init.d/nfs | Démarre le système de fichiers réseau: |
S24 | samba | ../init.d/samba | Démarre le système de fichiers réseau: Samba-2.2.8a. |
S25 | random | ../init.d/random | Restaure la génération de nombres aléatoires: random |
S30 | sshd | ../init.d/sshd | Démarre le démon SSH: OpenSSH-3.7.1p2 |
S32 | apache | ../init.d/apache | Démarre le démon Apache: apache |
S34 | mysql | ../init.d/mysql | Arrête le démon MySQL: MySQL-4.0.15a |
S34 | postgresql | ../init.d/postgresql | Arrête le démon PostgreSQL: PostgreSQL-7.3.4 |
S35 | postfix | ../init.d/postfix | Démarre le MTA Postfix: Postfix-2.0.16 |
S40 | alsa | ../init.d/alsa | Démarre la gestion du son: ALSA-0.9.6 |
S40 | fcron | ../init.d/fcron | Démarre le démon Cron: fcron-2.9.3 |
S70 | gpm | ../init.d/gpm | Démarre le démon GPM (General Purpose Mouse): gpm-1.20.1 |
S99 | lprng | ../init.d/lprng | Démarre le système d'impression par spoolers LPR: LPRng-3.8.22 |
Tableau A-6. Liens symboliques dans rc5.d
Numéro | Titre | Lien | Explication |
S10 | sysklogd | ../init.d/sysklogd | Démarre les démons des logs système et noyau: Fait partie du LFS de base. |
S20 | network | ../init.d/network | Démarre le réseau: Fait partie du LFS de base. |
S21 | firewall | ../init.d/firewall | Charge la configuration du pare-feu: Firewalling. |
S22 | bind | ../init.d/bind | Démarre le démon des serveurs de nom (DNS): BIND-9.2.2 |
S22 | portmap | ../init.d/portmap | Transfère les requêtes RPC: portmap-5beta. |
S23 | xinetd | ../init.d/xinetd | Démarre le démon des services internet: xinetd-2.3.12 |
S24 | adsl | ../init.d/adsl | Démarre le client ADSL: RP-PPPoE-3.5 |
S24 | NFS | ../init.d/nfs | Démarre le système de fichiers réseau: |
S24 | samba | ../init.d/samba | Démarre le système de fichiers réseau: Samba-2.2.8a. |
S25 | random | ../init.d/random | Restaure la génération de nombres aléatoires: random |
S30 | sshd | ../init.d/sshd | Démarre le démon SSH: OpenSSH-3.7.1p2 |
S32 | apache | ../init.d/apache | Démarre le démon Apache: apache |
S34 | mysql | ../init.d/mysql | Arrête le démon MySQL: MySQL-4.0.15a |
S34 | postgresql | ../init.d/postgresql | Arrête le démon PostgreSQL: PostgreSQL-7.3.4 |
S35 | postfix | ../init.d/postfix | Démarre le MTA Postfix: Postfix-2.0.16 |
S40 | alsa | ../init.d/alsa | Démarre la gestion du son: ALSA-0.9.6 |
S40 | fcron | ../init.d/fcron | Démarre le démon Cron: fcron-2.9.3 |
S70 | gpm | ../init.d/gpm | Démarre le démon GPM (General Purpose Mouse): gpm-1.20.1 |
S95 | gdm | ../init.d/gdm | Lance le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4 |
S99 | cups | ../init.d/cups | Démarre le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19 |
S99 | lprng | ../init.d/lprng | Démarre le système d'impression par spoolers LPR: LPRng-3.8.22 |
Tableau A-7. Liens symboliques dans rc6.d
Numéro | Titre | Lien | Explication |
K00 | lprng | ../init.d/lprng | Arrête le système d'impression par spoolers LPR: LPRng-3.8.22 |
K05 | gdm | ../init.d/gdm | Arrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4 |
K08 | fcron | ../init.d/fcron | Arrête le démon Cron: fcron-2.9.3 |
K10 | gpm | ../init.d/gpm | Arrête le démon GPM (General Purpose Mouse): gpm-1.20.1 |
K25 | postfix | ../init.d/postfix | Arrête le MTA Postfix: Postfix-2.0.16 |
K26 | mysql | ../init.d/mysql | Arrête le démon MySQL: MySQL-4.0.15a |
K26 | postgresql | ../init.d/postgresql | Arrête le démon PostgreSQL: PostgreSQL-7.3.4 |
K28 | apache | ../init.d/apache | Arrête le démon Apache: apache |
K30 | sshd | ../init.d/sshd | Arrête le démon SSH: OpenSSH-3.7.1p2 |
K35 | alsa | ../init.d/alsa | Sauvegarde la configuration du volume: ALSA-0.9.6 |
K40 | sysklogd | ../init.d/sysklogd | Arrête les démons des logs système et noyau: Fait partie du LFS de base. |
K45 | random | ../init.d/random | Sauvegarde la génération de nombres aléatoires: random |
K48 | samba | ../init.d/samba | Arrête le système de fichiers réseau: Samba-2.2.8a |
K48 | NFS | ../init.d/nfs | Arrête le système de fichiers réseau: |
K49 | adsl | ../init.d/adsl | Arrête le client ADSL: RP-PPPoE-3.5 |
K49 | portmap | ../init.d/portmap | Arrête l'envoi des requetes RPC: portmap-5beta. |
K49 | xinetd | ../init.d/xinetd | Arrête le démon des services internet: xinetd-2.3.12 |
K49 | bind | ../init.d/bind | Arrête le démon des serveurs de nom (DNS): BIND-9.2.2 |
K50 | sendsignals | ../init.d/sendsignals | Tue les processus: Fait partie de la base de LFS. |
K59 | firewall | ../init.d/firewall | Supprime la configuration du pare-feu: Firewalling. |
K60 | mountfs | ../init.d/mountfs | Démonte tous les systèmes de fichiers: Fait partie du LFS de base. |
K70 | swap | ../init.d/swap | Désactive le swap: Fait partie du LFS de base. |
K80 | network | ../init.d/network | Arrête le réseau: Fait partie du LFS de base. |
K90 | localnet | ../init.d/localnet | Supprime l'interface loopback: Fait partie du LFS de base. |
K99 | reboot | ../init.d/halt | Rdémarre le système: Fait partie du LFS de base. |
Lorsque vous voulez installer un package à un autre droit que / ou /usr, vous installez en dehors de l'environnement par défaut sur la plupart des machines. Les exemples suivants doivent vous assister pour savoir comment corriger cette situation. Les exemples couvrent un ensemble complet de paramètrages dont la mise à jour peut être nécessaire, mais elles nes seront pas obligatoirement toutes nécessaires dans chaque situation.
Etendre le PATH pour inclure $PREFIX/bin.
Etendre le PATH pour root pour inclure $PREFIX/sbin.
Ajouter $PREFIX/lib à /etc/ld.so.conf ou étendre LD_LIBRARY_PATH pour l'inclure. Avant d'utiliser cette dernière option, jetez un oeil sur http://www.visi.com/~barr/ldpath.html.
Ajouter $PREFIX/man à /etc/man.conf ou étendre MANPATH.
Ajouter $PREFIX/info à INFOPATH.
Ajoutez $PREFIX/lib/pkgconfig à PKG_CONFIG_PATH.
Ajouter $PREFIX/include à CPPFLAGS lors de la compilation de packages dépendant de packages déjà installés.