Beyond Linux From Scratch

Version 5.0

BLFS Equipe de développement

Ce livre prend la suite du livre Linux From Scratch. Il introduit et guide le lecteur à travers les ajouts au système incluant le réseau, le support de X, le support du son et le support des imprimantes et scanners.

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.



Dedicace

Ce livre est dédié à la communauté LFS.

Table des matières
Préface
Avant-propos
Qui voudra lire ce livre
Organisation
Partie I - Introduction
Partie II - Configuration Post-LFS et Logiciels supplémentaires
Partie III - Bibliothèques et utilitaires généraux
Partie IV - Connection à un réseau
Partie V - Réseaux de base
Partie VI - Serveurs réseaux
Partie VII - Serveurs de contenu
Partie VIII - X + Gestionnaires de fenêtres
Partie IX - KDE
Partie X - Gnome
Partie XI - Logiciels X
Partie XII - Multimedia
Partie XIII - Impression, Scannérisation et frappe clavier
Annexes
I. Introduction
1. Bienvenue dans BLFS
Remerciements
Crédits
Quelles sections de ce livre m'intéressent?
Conventions utilisées dans ce livre
Version du livre
Sites miroirs
Journal des modifications (Changelog)
Listes de diffusion
Serveur news
Demander de l'aide et la FAQ
Contacts
2. Informations importantes
Récupérer et déballer les logiciels
Le débat /usr contre /usr/local
Correctifs optionnels
Utiliser les scripts de démarrage de BLFS
Après BLFS
II. Configuration post LFS et logiciels supplémentaires
3. Après la configuration de LFS
Créer un disque de démarrage personnalisé
Configurer l'ajout d'utilisateurs
/etc/inputrc
Les fichiers de démarrage du shell Bash
/etc/vimrc, ~/.vimrc
/etc/issue (Personnaliser votre connexion)
Génération de nombres aléatoires
Compresser les pages man et info
4. Securité
Configurer shadow
gnupg-1.2.3
iptables-1.2.8
Mettre en place un pare-feu réseau
tripwire-2.3.1-2
Linux_PAM-0.77
Configurer syslog
5. Systèmes de fichiers
Ext3
ReiserFS-3.6.11
XFS-2.5.6
6. Editeurs
Vim-6.2
Emacs-21.3
nano-1.2.2
JOE-2.9.8
7. Shells
ASH-0.4.0
Tcsh-6.12.00
ZSH-4.1.1
III. Bibliothèques et Utilitaires Généraux
8. Bibliothèques générales
openssl-0.9.7c
pcre-4.3
popt-1.7
slang-1.4.9
fam-2.6.10
libxml-1.8.17
libxml2-2.5.11
libxslt-1.0.33
readline-4.3
GMP-4.1.2
GDBM-1.8.3
GLib-1.2.10
GLib-2.2.3
expat-1.95.6
libesmtp-1.0
aspell-0.50.3
ispell-3.2.06.epa6
Guile-1.6.4
slib-2d6
G-Wrap-1.3.4
LZO-1.08
9. Bibliothèques graphiques
lcms-1.11
libjpeg-6b
libpng-1.2.5
libtiff-3.6.0
libungif-4.1.0b1
libmng-1.0.5
Imlib-1.9.14
AAlib-1.4rc5
SVGAlib-1.4.3
DirectFB-0.9.19
Imlib2-1.1.0
10. Utilitaires d'ordre général
bc-1.06
rep-gtk-0.18
compface-1.4
11. Utilitaires systèmes
gpm-1.20.1
fcron-2.9.3
hdparm-5.4
which-2.14 et alternatives
UnZip-5.50
Zip-2.3
PCI Utilities - 2.1.11
pkgconfig-0.15.0
cpio-2.5
MC-4.6.0
12. Programmation
Python-2.3.2
Modules Perl
librep-0.16.2
J2SDK-1.4.1
Ruby-1.8.0
GCC-3.3.1
Tcl-8.4.4
Tk-8.4.4
GCC-2.95.3
NASM-0.98.38
IV. Se connecter à un réseau
13. Réseaux commutés
PPP-2.4.1
WvDial-1.53
14. Clients DHCP
Configurer les scripts de démarrage LFS pour supporter les clients DHCP
DHCP-3.0pl2
dhcpcd-1.3.22-pl4
15. Autres connexions
RP-PPPoE-3.5
V. Logiciels réseau de base
16. Bibliothèques réseau
cURL-7.10.7
WvStreams-3.70
GNet-2.0.4
libsoup-1.99.23
17. Navigateurs web en mode texte
Links-2.1pre14
Lynx-2.8.4
w3m-0.4.1
18. Programmes de base pour le réseau
NcFTP-3.1.6
Client OpenSSH-3.7.1p2
rsync-2.5.6 client
CVS-1.11.6
Wget-1.9.1
tcpwrappers-7.6
portmap-5beta
Inetutils-1.4.2
NCPFS-2.2.3
NTP-4.1.2
19. Utilitaires basiques pour le réseau
Traceroute-1.4a12
Nmap-3.30
Whois-4.6.7
BIND Utilities-9.2.2
20. Programmes de base pour le réseau
Nail-10.5
Procmail-3.22
Fetchmail-6.2.5
Mutt-1.4.1i
Pine-4.58
slrn-0.9.7.4
Autres programmes de mail et de news
21. D.J. Bernstein's Utilities
daemontools-0.76
ucspi-tcp-0.88
VI. Serveur Réseau
22. Logiciels serveur de courier
Postfix-2.0.16
qmail-1.03
Sendmail-8.12.10
Exim-4.24
Qpopper-4.0.5
Courier-0.43.2
23. Autres logiciels serveurs
BIND-9.2.2
Running a CVS server
DHCP-3.0pl2
Leafnode-1.9.43
OpenSSH-3.7.1p2
rsync-2.5.6
OpenLDAP-2.1.22
Samba-2.2.8a
xinetd-2.3.12
VII. Serveurs de contenu
24. Bases de données
Berkeley DB-4.1.25
Berkeley DB-3.3.11
MySQL-4.0.15a
PostgreSQL-7.3.4
25. Serveur web
Apache-2.0.48
PHP-4.3.3
ProFTPD-1.2.8p
VIII. X + Gestionnaires de Fenêtres
26. Installer X
XFree86-4.3.0.1
Composants XFree86
27. Bibliothèques X
FreeType-2.1.5
Fontconfig-2.2.1
Qt-3.2.1
GTK+-1.2.10
Pango-1.2.5
ATK-1.2.4
GTK+-2.2.4
LessTif-0.93.46
startup-notification-0.5
28. Gestionnaires de fenêtres
sawfish-1.3
Fluxbox-0.1.14
Metacity-2.4.55
XFce-4.0.0
IX. KDE
29. Packages principaux de KDE
aRts-1.1.4
kdelibs-3.1.4
kdebase-3.1.4
Configurer les packages principaux de KDE
30. Packages additionnels pour KDE
kdemultimedia-3.1.4
kdenetwork-3.1.4
kdegraphics-3.1.4
kdepim-3.1.4
kdeadmin-3.1.4
kdegames-3.1.4
kdeutils-3.1.4
kdeedu-3.1.4
kdeartwork-3.1.4
kdetoys-3.1.4
kdeaddons-3.1.4
X. GNOME
31. Bibliothèques GNOME
Configuration de pre-installation
GTK-Doc-1.0
linc-1.0.3
libIDL-0.8.2
ORBit2-2.6.2
intltool-0.26
Bonobo Activation-2.2.2
libbonobo-2.2.3
GConf-2.2.1
GNOME MIME Data-2.2.1
GNOME Virtual File System-2.2.5
libgnome-2.2.3
libart_lgpl-2.3.11
libglade-2.0.1
libgnomecanvas-2.2.1
libbonoboui-2.2.2
GNOME Icon Theme-1.0.6
libgnomeui-2.2.2
libwnck-2.2.2
GTK Engines-2.2.0
GTK ThinIce Engine-2.0.2
GNOME Themes-2.2.2
ScrollKeeper-0.3.12
VTE-0.10.29
libgtop-2.0.2
GAIL-1.2.2
AT SPI-1.1.9
libgail-gnome-1.0.2
librsvg-2.2.5
EEL-2.2.4
libgtkhtml-2.2.4
libgsf-1.8.2
GAL-1.99.9
libgnomeprint-2.2.1.3
libgnomeprintui-2.2.1.3
GtkHTML-3.0.8
32. GNOME core
GNOME Desktop-2.2.2
GNOME Panel-2.2.2.2
GNOME Session-2.2.2
Control Center-2.2.2
33. Additional GNOME Packages
GNOME Terminal-2.2.2
GNOME System Monitor-2.0.5
GNOME Applets-2.2.2
GNOME Utilities-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
GNOME Media-2.2.2
Nautilus Media-0.2.2
GNOME2 User Docs-2.0.6
34. Autres packages GNOME
GConf Editor-0.4.1
GDM-2.4.1.4
35. Configurer Gnome
Configurer les packages principaux de GNOME
36. Bibliothèques GNOME 1.4
Configuration de pré-installation
ORBit-0.5.17
OAF-0.6.10
GNOME Libraries-1.4.2
GDK Pixel Buffer-0.22.0
GNOME Print-0.37
Bonobo-1.0.22
GConf-1.0.9
GNOME Virtual File System-1.0.5
libglade-0.17
GAL-0.24
Guppi-0.40.3
libcapplet-1.5.11
Soup-0.7.11
GtkHTML-1.1.7
libghttp-1.0.9
XI. Logiciels sous X
37. Programmes de bureau individuels
AbiWord-2.0.0
Gnumeric-1.2.0
GnuCash-1.8.7
GIMP-1.2.5
Evolution-1.4.4
38. Suites Office
KOffice-1.2.93
OpenOffice-1.1.0
39. Navigateurs Web Graphiques
Mozilla-1.5
Galeon-1.3.10
Konqueror-3.1.4
Dillo-0.7.3
40. Autres Programmes Internet basés sur X
Pan-0.14.2
Balsa-2.0.14
XII. Multimédia
41. Bibliothèques multimédia et pilotes
ALSA-0.9.6
ALSA Driver-0.9.6
ALSA Library-0.9.6
ALSA Utilities-0.9.6
ALSA Tools-0.9.6
ALSA OSS-0.9.6
aRts-1.1.4
Audio File-0.2.3
EsounD-0.2.30
SDL-1.2.6
libao-0.8.3
libogg-1.0
libvorbis-1.0
NAS-1.6
libmpeg3-1.5.2
libmad-0.15.0b
OpenQuicktime-1.0
libFAME-0.9.0
Speex-1.0.1
id3lib-3.8.3
FLAC-1.1.0
libdvdread-0.9.4
libdvdcss-1.2.8
libdv-0.99
liba52-0.7.4
XviD-0.9.2
xine Libraries-1-rc0a
42. Utilitaires audio
mpg123-0.59r
Vorbis Tools-1.0
XMMS-1.2.7
LAME-3.93.1
CDParanoia-III-9.8
43. Utilitaires vidéo
FFmpeg-0.4.7
Avifile-0.7.38
MPlayer-1.0pre1
xine User Interface-0.9.22
transcode-0.6.10
44. Utilitaires de gravure CD
Configurer votre kernel pour la gravure de CD
Cdrtools-2.00.3
Cdrdao-1.1.7
UDFtools-1.0.0b2
XIII. Impression, Scannérisation et frappe clavier
45. Impression
CUPS-1.1.19
LPRng-3.8.22
AFPL Ghostscript-8.11
ESP Ghostscript-7.07.1rc2
46. Numérisation
SANE-1.0.12
XSane-0.91
GOCR-0.37
47. Langage de balises standards généralisées (SGML, acronyme de Standard Generalized Markup Language)
SGML Common-0.6.3
DocBook SGML DTD-3.1
DocBook SGML DTD-4.2
OpenSP-1.5
OpenJade-1.3.2
DocBook DSSSL Stylesheets-1.78
48. Langage de balises extensible (XML, acronyme de Extensible Markup Language)
DocBook XML DTD-4.2
DocBook XSL Stylesheets-1.62.4
49. PostScript
a2ps-4.13b
enscript-1.6.1
PSUtils-p17
GSview-4.4
Xpdf-2.02pl1
Autres programmes PostScript
50. Composition de texte
tex-2.0.2
XIV. Annexes
A. Liste des liens symboliques rc?.d utilisés dans LFS/BLFS
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
B. Installer dans des emplacements spécifiques
Liste des tableaux
A-1. Liens symboliques dans rc0.d
A-2. Liens symboliques dans rc1.d
A-3. Liens symboliques dans rc2.d
A-4. Liens symboliques dans rc3.d
A-5. Liens symboliques dans rc4.d
A-6. Liens symboliques dans rc5.d
A-7. Liens symboliques dans rc6.d

Préface

Avant-propos

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)


Qui voudra lire ce livre

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!


Organisation

Ce livre est divisé en plusieurs parties que voici.


Partie I - Introduction

Cette partie contient des informations essentielles pour le reste du livre.


Partie II - Configuration Post-LFS et Logiciels supplémentaires

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.


Partie III - Bibliothèques et utilitaires généraux

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.


Partie IV - Connection à un réseau

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.


Partie V - Réseaux de base

Les bibliothèques réseau et outils réseau en ligne de commande en sont la grosse partie.


Partie VI - Serveurs réseaux

Ici, nous nous occupons de configurer les serveurs de mails et autres (tels que SSH, CVS, etc.).


Partie VII - Serveurs de contenu

Dans cette partie, nous nous occupons des logiciels de bases de données et des serveurs web.


Partie VIII - X + Gestionnaires de fenêtres

Cette partie explique comment configurer une installation de XFree86 avec quelques bibliothèques génériques X et des gestionnaires de fenêtres.


Partie IX - KDE

Pour ceux qui veulent utiliser l'environnement de bureau KDE ou certaines parties de celui-ci, cette partie en parle.


Partie X - Gnome

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.


Partie XI - Logiciels X

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.


Partie XII - Multimedia

Ici, nous couvrons les bibliothèques de configuration multimédia et pilotes avec quelques programmes audio, vidéo et de gravure de CD.


Partie XIII - Impression, Scannérisation et frappe clavier

La partie PST (Printing, Scanning and Typesetting) de ce livre couvre de Ghostscript, CUPS à Docbook en passant par l'installation de TeX.


Annexes

Les annexes couvrent l'information qui n'appartient pas au livre principal; ils sont ici principalement comme référence.

I. Introduction


Chapitre 1. Bienvenue dans BLFS

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.


Remerciements

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.


Crédits

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.


Editeurs


Auteurs des textes

  • 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.


Auteurs des instructions d'installation

  • 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


Remerciements généraux

  • 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.


Quelles sections de ce livre m'intéressent?

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.


Conventions utilisées dans ce livre

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.


Version du livre

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.


Sites miroirs

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.


Journal des modifications (Changelog)

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


Listes de diffusion

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.


Serveur news

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.


Demander de l'aide et la FAQ

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.


Divers à vérifier avant de demander

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.


Divers à mentionner

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.


Contacts

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.


Chapitre 2. Informations importantes

Récupérer et déballer les logiciels

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.


Déballer le logiciel

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

Le débat /usr contre /usr/local

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!


Correctifs optionnels

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 :)


Utiliser les scripts de démarrage de BLFS

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.


Après BLFS

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.

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.

II. Configuration post LFS et logiciels supplémentaires


Chapitre 3. Après la configuration de LFS

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.


Créer un disque de démarrage personnalisé

Besoins décents pour une disque de démarrage de dépannage

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.


La disquette de dépannage minimale

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.


Construire la disquette de dépannage

Prérequis

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.


Etapes de la construction de la disquette de dépannage

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.


Configurer un ensemble de deux disquettes de dépannage

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.


Configurer l'ajout d'utilisateurs

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

/etc/inputrc

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

Les fichiers de démarrage du shell Bash

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.


/etc/vimrc, ~/.vimrc

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.


/etc/issue (Personnaliser votre connexion)

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.

Génération de nombres aléatoires

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

Compresser les pages man et info

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.


Chapitre 4. Securité

Configurer shadow

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
par
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.


Installation de shadow pour utiliser PAM

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

Explication des commandes

cp debian/securetty /etc/securetty : Cette commande indique les terminaux (tty) permettant la connexion à travers PAM.


Configurer PAM pour fonctionner avec shadow

Fichiers de configuration

/etc/pam.d/login, /etc/pam.d/passwd, /etc/pam.d/su, /etc/pam.d/shadow, /etc/pam.d/useradd


Informations de configuration

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.


gnupg-1.2.3

Introduction à GnuPG

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.


Informations sur le package


Installation de GnuPG

Installez GnuPG en lançant les commandes suivantes:

./configure --prefix=/usr --libexecdir=/usr/lib &&
make &&
make install &&
chmod 4755 /usr/bin/gpg

Explication des commandes

--libexecdir=/usr/sbin : Cette commande crée un répertoire gnupg dans /usr/sbin au lieu de /usr/libexec.


Contenu

Le package GnuPG contient gpg, gpgsplit et gpgv.


Description

gpg

gpg est l'interface moteur (interface en ligne de commande) pour l'implémention de PGP.


gpgsplit

gpgsplit sépare les jeux de clés.


gpgv

gpgv est une version de gpg permettant uniquement la vérification.


iptables-1.2.8

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.


Introduction à iptables

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!


Informations sur le package


Installation de iptables

Installez iptables en lançant les commandes suivantes:

make PREFIX=/usr &&
make PREFIX=/usr install

Explication des commandes

PREFIX=/usr: Compile et installe iptables dans le répertoire /usr au lieu de /usr/local.


Contenu

Le package iptables contient iptables, ip6tables et quelques bibliothèques.


Description

iptables

iptables est utilisé pour mettre en place, maintenir et inspecter les tables des règles de filtres de paquets IP dans le noyau Linux.


iptables-save, ~-restore

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.


ip6tables

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.


libip*.so

Il existe plusieurs modules (implémentés en tant que bibliothèques partagées) qui étendent les fonctionnalités de base de iptables.


Mettre en place un pare-feu réseau

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.


Introduction à la création de pare-feux

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!


Signification du mot pare-feu

Le mot pare-feu peut avoir plusieurs sens différents.


Personal Firewall

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'.


Masquerading Router

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.


BusyBox

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.


Pare-feu avec une zone démilitarisé [pas décrit plus en profondeur ici]

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.


Packetfilter / accessible partiellement du réseau [décrit partiellement ici, voir BusyBox]

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.


Réclamations

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.


Avoir un noyau dont le pare-feu est actif

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

Maintenant, vous pouvez commencer la construction de votre pare-feu.

Un pare-feu personnel

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.


Router Masquerading

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.


BusyBox

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.


Conclusion

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!


Informations supplémentaires


firewall.status

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

firewall.stop

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

tripwire-2.3.1-2

Introduction à Tripwire

Le package Tripwire contient les programmes utilisés par Tripwire pour vérifier l'intégrité des fichiers sur un système donné.


Informations sur le package


Téléchargements supplémentaires


Installation de Tripwire

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

Explication des commandes

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.


Configurer Tripwire


Informations de configuration

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/.


Informations sur l'utilisation

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.


Changing the Policy File

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

Contenu

Le package Tripwire contient siggen, tripwire, twadmin et twprint.


Linux_PAM-0.77

Introduction à Linux_PAM

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.


Informations sur le package


Installation de Linux_PAM

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

Explication des commandes

--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.


Configurer Linux_PAM

Fichier de configuration

/etc/pam.d ou /etc/pam.conf


Informations de configuration

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.


Contenu

Le package Linux_PAM contient unix-chkpwd et les bibliothèques libpam.


Description

unix-chkpwd

Aucune description disponible.


Bibliothèques libpam

Les bibliothèques libpam apportent les interfaces entre les applications et les modules PAM.


Configurer syslog

A ECRIRE - NOUVEAU


Chapitre 5. Systèmes de fichiers

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

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


ReiserFS-3.6.11

Introduction à ReiserFS

Le package ReiserFS contient différents utilitaires du système de fichiers reiser.


Informations sur le package


Installation de ReiserFS

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

Explication des commandes

--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.


Contenu

ReiserFS contient debugreiserfs, mkreiserfs, reiserfsck, resize_reiserfs et unpack.


Description

debugreiserfs

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.


mkreiserfs

mkreiserfs crée un système de fichiers ReiserFS.


reiserfsck

reiserfsck vérifie un système de fichiers ReiserFS.


reiserfstune

reiserfstune est utilisé pour configurer finement le journal ReiserFS. ATTENTION: N'utilisez pas cet utilitaire sans avoir lu la page man concenscieusement.


resize_reiserfs

resize_reiserfs est utilisé pour retailler un système de fichiers ReiserFS non monté.


unpack

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.


XFS-2.5.6

Correctif du noyau XFS

Le correctif XFS pour le noyau doit être appliqué pour utiliser le système de fichiers XFS.


Informations sur le package


Améliorer Linux-2.4.22 pour XFS

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

Introduction à XFS

Le package XFS contient des outils d'administration et de débuggage pour le système de fichiers XFS.


Informations sur le package


Installation de XFS

Installez XFS en lançant les commandes suivantes:

./configure &&
make &&
make install

Contenu

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.


Description

xfsgrowfs

xfsgrowfs étend un système de fichiers XFS.


xfs_admin

xfs_admin modifie les paramètres d'un système de fichiers XFS.


xfs_freeze

xfs_freeze suspends l'accès à un système de fichiers XFS.


xfs_mkfile

xfs_mkfile crée un fichier XFS, remplis de zéros par défaut.


xfs_check

xfs_check vérifie la consistence d'un système de fichiers XFS.


xfs_bmap

xfs_bmap affiche le plan des blocs d'un fichier XFS.


xfs_rtcp

xfs_rtcp copie un fichier sur la partition réelle d'un système de fichiers XFS.


xfs_repair

xfs_repair répare un système de fichiers XFS corrompu ou endommagé.


xfs_db

xfs_db est utilisé pour débugger un système de fichiers XFS.


xfs_logprint

xfs_logprint affiche les traces (log) d'un système de fichiers XFS.


xfs_ncheck

xfs_ncheck génère les noms de chemin à partir des numéros d'inodes pour les systèmes de fichiers XFS.


mkfs.xfs

mkfs.xfs construit un système de fichiers XFS.


fsck.xfs

fsck.xfs quitte simplement avec l'état 0, car les partitions XFS sont vérifiés lors du montage.


Chapitre 6. Editeurs

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.


Vim-6.2

Introduction à Vim

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é.


Informations sur le package


Installation de Vim

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

Explication des commandes

--with-features=huge : Active toutes les fonctionnalités additionnelles disponibles dans Vim.


Contenu

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.


Emacs-21.3

Introduction à Emacs

Le package Emacs contient un éditeur extensible, personnalisable, auto-documenté.


Informations sur le package


Installation de Emacs

Installez macs en lançant les commandes suivantes:

./configure --prefix=/usr \
    --libexecdir=/usr/sbin &&
make bootstrap &&
make install

Contenu

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.


Description

emacs

L'éditeur.


b2m

b2m est un programme qui convertit des fichiers mail au format RMAIL dans un format 'mbox' Unix.


ctags

ctags crée des fichiers de base de données en références croisées pour du code source.


ebrowse

ebrowse permet de naviguer dans une hiérarchie de classes C++ à partir d'Emacs.


emacsclient

emacsclient attache une session emacs à une instance emacsserver en cours d'exécution.


etags

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

grep-changelog affiche les entrées de fichiers ChangeLogs suivant différents critères.


rcs-checkin

rcs-checkin est un script shell utilisé pour vérifier les fichiers dans RCS.


cvt-mail

cvt-mail convertit les répertoires de mail emacs de l'ancien style au format gnu-rmail.


digest-doc

digest-doc est un filtre pour créer une sortie nroff pour les pages man.


emacsserver

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.


fakemail

fakemail est une interface style sendmail pour /bin/mail.


hexl

hexl convertit des fichiers pour être utilisés avec le mode édition des fichiers binaires hexl.


movemail

movemail procure un accès aux boîtes mails POP3.


profile

profile génère des événements périodiques pour 'profiler' le code Lisp d'Emacs.


rcs2log

rcs2log génère des traces (logs) à partir de fichiers RCS.


sorted-doc

sorted-doc est un filtre pour générer des fichiers texinfo.


vcdiff

vcdiff compare des fichiers SCCS.


yow

yow affiche une citation de 'Zippy the Pinhead'.


nano-1.2.2

Introduction à nano

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.


Informations sur le package


Installation de nano

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

Configurer nano

Fichiers de configuration

/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.


Contenu

Le package nano contient nano.


Description

nano

nano est un petit, simple éditeur de texte qui a pour but de remplacer Pico, l'éditeur par défaut du package Pine.


JOE-2.9.8

Introduction à joe

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.


Informations sur le package


Installation de JOE

Installez JOE en lançant les commandes suivantes:

./configure --sysconfdir=/etc --prefix=/usr &&
make &&
make install

Fichiers de configuration

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.


Contenu

Le package JOE contient jmacs, joe, jpico, jstar, rjoe et termidx.


Description

jmacs

jmacs est un lien symbolique vers joe utilisé pour lancer le mode d'émulation Emacs.


joe

joe est un petit éditeur de texte capable d'émuler WordStar, Pico et Emacs.


jpico

jpico est un lien symbolique vers joe utilisé pour lancer le mode d'émulation Pico.


jstar

jstar est un lien symbolique vers joe utilisé pour lancer le mode d'émulation WordStar.


rjoe

rjoe est un lien symbolique vers joe qui le restreint pour n'éditer que les fichiers spécifiés sur la ligne de commande.


termidx

termidx est un programme utilisé par joe pour générer le fichier index termcap.


Chapitre 7. Shells

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-0.4.0

Introduction à ASH

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.


Informations sur le package


Installation de ASH

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

Configurer ASH

Fichiers de configuration

ASH utilise /etc/profile et $HOME/.profile


Contenu

Le package ASH contient ash, un shell compatible avec sh.


Description

ash

ash est un shell compatible avec sh.


Tcsh-6.12.00

Introduction à Tcsh

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.


Informations sur le package


Installation de Tcsh

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

Explication des commandes

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.


Configurer Tcsh

Fichiers de configuration

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).


Contenu

Le package Tcsh contient tcsh.


Description

tcsh

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.


ZSH-4.1.1

Introduction à ZSH

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.


Informations sur le package


Installation de ZSH

Installez ZSH en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Configurer ZSH

Fichiers de configuration

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.


Contenu

Le package ZSH contient zsh.


Description

zsh

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...

III. Bibliothèques et Utilitaires Généraux


Chapitre 8. Bibliothèques générales

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.


openssl-0.9.7c

Introduction à OpenSSL

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).


Information sur le package


Installation de OpenSSL

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

Explications des commandes

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
: Ces commandes installent OpenSSL avec les pages man dans /usr/share/man au lieu de /etc/ssl/man, par défaut.

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).


Configurer OpenSSL

Fichier de configuration

/etc/ssl/openssl.cnf


Informations de configuration

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.


Contenu

Le package OpenSSL contient c_rehash, openssl, et les bibliothèques libcrypto et libssl.


Description

c_rehash

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.


openssl

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.


libcrypto

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.


libssl

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.


pcre-4.3

Introduction à PCRE

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.


Information sur le package


Installation de PCRE

Installez PCRE en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package PCRE contient les bibliothèques libpcre, pcregrep, pcretest et pcre-config.


Description

pcregrep

pcregrep est un grep qui comprend les expressions régulières compatibles Perl.


pcretest

pcretest peut tester votre expression régulière compatible Perl.


pcre-config

pcre-config est utilisé durant le processus de compilation de programmes se liant à cette bibliothèque.


popt-1.7

Introduction à popt

Le package popt contient les bibliothèques popt utilisées par certains programmes pour analyser les options en ligne de commande.


Informations sur le package


Installation de popt

Installez popt en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package popt contient les bibliothèques libpopt.


Description

Bibliothèque popt

La bibliothèque libpopt est utilisée pour analyser les options en ligne de commande.


slang-1.4.9

Introduction à slang

Le package slang contient la bibliothèque slang, utilisée pour créer des logiciels multi-plateformes robustes.


Informations sur le package


Installation de slang

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

Configurer slang

Informations de configuration

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.


Contenu

Le package slang contient les bibliothèques libslang.


fam-2.6.10

Introduction à FAM

Le package fam contient un moniteur d'altération de fichiers, utile pour informer les applications de changements sur les fichiers système.


Informations sur le package


Installation de FAM

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

Explication des commandes

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
Ces commandes sont nécessaires car les correctifs affectent le fichier configure.in. Ils génèrent une nouvelle commande configure avec les modifications nécessaires.


Configurer FAM

Fichiers de configuration

/etc/rpc, /etc/fam.conf, /etc/inetd.conf, /etc/xinetd.d/fam ou /etc/xinetd.conf


Informations de configuration

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

Contenu

Le package FAM contient fam et les bibliothèques libfam.


Description

fam

fam est le moniteur d'altération de fichiers.


libxml-1.8.17

Introduction à libxml

Le package libxml contient les bibliothèques libxml, utiles pour analyser des fichiers XML.


Informations sur le package


Installation de libxml

Installez libxml en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libxml contient les bibliothèques libxml, xmllint et xmlcatalog.


Description

Bibliothèques libxml

Les bibliothèques libxml apportent des fonctions aux programmes souhaitant analyser des fichiers au format XML.


libxml2-2.5.11

Introduction à libxml2

Le package libxml2 contient les bibliothèques XML. Elles sont utiles pour analyser des fichiers XML.


Informations sur le package


Installation de libxml2

Installez libxml2 en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libxml2 contient les bibliothèques libxml2, xmllint et xmlcatalog.


Description

Bibliothèques libxml2

Les bibliothèques libxml2 apportent des fonctions aux programmes permettant d'analyser des fichiers utilisant le format XML.


xmllint

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

xmlcatalog permet aux utilisateurs de surveiller et de manipuler des catalogues XML et SGML.


libxslt-1.0.33

Introduction à libxslt

Le package libxslt contient les bibliothèques XSLT. Elles sont utiles pour étendre les bibliothèques libxml2 au support des fichiers XSLT.


Informations sur le package


Installation de libxslt

Installez libxslt en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libxslt contient les bibliothèques libxslt, libexslt ainsi que xsltproc.


Description

Bibliothèques libxslt

Les bibliothèques libxslt proposent des extensions aux bibliothèques libxml2 pour utiliser des fichiers au format XSLT.


xsltproc

xsltproc est utilisé pour appliquer des feuilles de style XSLT à des documents XML.


readline-4.3

Introduction à readline

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.


Informations sur le package


Installation de readline

Installez readline en lançant les commandes suivantes:

./configure --prefix=/usr &&
make SHLIB_LIBS=-lcurses &&
make install

Explication des commandes

make SHLIB_LIBS=-lcurses : Ces commandes rendent disponibles les bons symbôles pour les applications supposant que readline est compilé lié avec ncurses.


Configurer readline

Informations de configuration

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.


Contenu

Le package readline contient les bibliothèques libreadline et libhistory.


GMP-4.1.2

Introduction à GMP

Le package gmp contient la bibliothèque de mathématiques. Elle contient des fonctions utiles pour l'arithmétique de précision.


Informations sur le package


Installation de GMP

Installez GMP en lançant les commandes suivantes:

./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man &&
make &&
make install

Explication des commandes

--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.


Contenu

Le package GMP contient les bibliothèques libgmp.


Description

Bibliothèques gmp

Les bibliothèques libgmp contiennent les fonctions permettant de travailler sur des entiers signés, des nombres rationnelles, et des nombres à virgule flottante.


GDBM-1.8.3

Introduction à GDBM

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.


Informations sur le package


Installation de GDBM

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

Explication des commandes

--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.


Contenu

Le package gdbm contient les bibliothèques libgdbm.


Description

Bibliothèque gdbm

Les bibliothèques libgdbm contiennent des fonctions réalisant des routines de base de données en utilisant le hachage extensible.


GLib-1.2.10

Introduction à GLib

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.


Informations sur le package


Installation de GLib

Installez glib en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package glib contient les bibliothèques libglib-1.2.


Description

Bibliothèques GLib

Les bibliothèques GLib contiennent la bibliothèque principale bas niveau pour le GIMP Tool Kit.


GLib-2.2.3

Introduction à GLib

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.


Informations sur le package


Installation de GLib

Installez glib en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Explication des commandes

--enable-gtk-doc: Cette instruction construira la documentation de l'API lors de l'exécution de la commande make.


Contenu

Le package glib contient les bibliothèques libglib-2.0.


Description

Bibliothèques GLib

Les bibliothèques GLib contiennent les bibliothèques principales de bas-niveau pour l'ensemble d'outils de GIMP.


expat-1.95.6

Introduction à expat

Le package expat contient une bibliothèque C orienté flux (stream) pour analyser du XML.


Informations sur le package


Installation de expat

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

Contenu

Le package expat contient les bibliothèques libexpat et xmlwf.


Description

xmlwf

xmlwf est un utilitaire non validant vérifiant si des documents XML sont bien formés ou non.


libesmtp-1.0

Introduction à libesmtp

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.


Informations sur le package


Installation de libesmtp

Installez libesmtp en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libesmtp contient la bibliothèque libesmtp.


Description

Bibliothèque libesmtp

La bibliothèque libesmtp est utilisée pour gérer la soumission de mails vers un agent de transport de mail.


aspell-0.50.3

Introduction à aspell

Le package aspell contient la bibliothèque aspell, utilisée pour interfacer les bibliothèques de vérification d'orthographe.


Informations sur le package


Installation de aspell

Installez aspell en lançant les commandes suivantes:

patch -Np1 -i ../aspell-0.50.3-gcc33-1.patch &&
./configure --prefix=/usr &&
make &&
make install

Configurer aspell

Informations de configuration

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

Contenu

Le package aspell contient les bibliothèques libaspell.


Description

Bibliothèque aspell

La bibliothèque libaspell est une interface pour le vérificateur d'orthographe.


ispell-3.2.06.epa6

Introduction à ispell

Le package ispell contient un correcteur orthographique pouvant gérer des langues internationales.


Informations sur le package


Installation de ispell

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

Contenu

Le package ispell contient le programme ispell utilisé pour la correction orthographique.


Guile-1.6.4

Introduction à Guile

Le package Guile contient la bibliothèque d'extension de langage du projet GNU. Guile contient aussi l'interpréteur Scheme indépendant.


Informations sur le package


Installation de Guile

Installez Guile en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

En plus des bibliothèques libguile, le package Guile contient guile, guile-config et guile-snarf.


Description

guile

guile est un interpréteur scheme indépendant pour Guile.


guile-config

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

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.


slib-2d6

Introduction à slib

Le package slib est une bibliothèque Scheme utilisée avec Guile.


Informations sur le package


Installation de slib

L'installation de slib est simplement une copie:

cp -R slib /usr/share/guile

Contenu

Le package slib contient une bibliothèque Scheme.


G-Wrap-1.3.4

Introduction à G-Wrap

Le package G-Wrap contient des outils pour exporter les bibliothèques C en interpréteurs Scheme.


Informations sur le package


Installation de G-Wrap

Installez G-Wrap en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

En plus des bibliothèques Scheme, le package G-Wrap contient g-wrap-config.


Description

g-wrap-config

g-wrap-config est un outil pour générer le CFLAGS du code C lié pour les bibliothèques runtime de Scheme.


LZO-1.08

Introduction à LZO

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.


Informations sur le package


Installation de LZO

Installez LZO en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package LZO apporte la bibliothèque liblzo.


Description

liblzo

liblzo est une bibliothèque de compression et décompression de données.


Chapitre 9. Bibliothèques graphiques

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.


lcms-1.11

Introduction à lcms

La bibliothèque lcms est utilisée par d'autres programmes pour faciliter la gestion des couleurs.


Informations sur le package


Installation de lcms

Installez lcms en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package lcms contient les bibliothèques liblcms, icc2ps, icclink, icctrans et optionnellement, tifficc, jpegicc, les bibliothèques _lcms et lcms.py.


Description

Bibliothèque lcms

La bibliothèque lcms est utilisée par d'autres programmes pour faciliter la gestion des couleurs.


icc2ps

icc2ps génère du PostScript CRD ou CSA à partir des profiles ICC.


icclink

icclink lie deux profiles ou plus dans un seul profile devicelink.


icctrans

icctrans est un convertisseur ColorSpace.


tifficc

tifficc est un applicateur de profiles ICC pour les fichiers TIFF.


jpegicc

jpegicc est un applicateur de profiles ICC pour les fichiers JPEG.


libjpeg-6b

Introduction à libjpeg

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é.


Informations sur le package


Installation de libjpeg

Installez libjpeg en lançant les commandes suivantes:

./configure --enable-static --enable-shared --prefix=/usr &&
make &&
make install

Explication des commandes

./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.


Configurer libjpeg

Informations de configuration

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.


Contenu

Le package libjpeg contient cjpeg, djpeg, jpegtran, rdjpgcom, wrjpgcom et les bibliothèques libjpeg.


Description

cjpeg

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

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.


jpegtran

jpegtran est utilisé pour la transformation, sans perte de qualité, de fichiers JPEG.


rdjpgcom

rdjpgcom affiche les commentaires textes compris dans un fichier JPEG.


wrjpgcom

wrjpgcom insert des commentaires texte dans un fichier JPEG.


Bibliothèques jpeg

Les bibliothèques sont utilisées par de nombreux programmes pour lire et écrire des fichiers au format jpeg.


libpng-1.2.5

Introduction à libpng

Le package libpng contient des bibliothèques utilisées par d'autres programmes pour lire et écrire des fichiers PNG.


Informations sur le package


Installation de libpng

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

Explications des commandes

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.


Configurer libpng

Informations de configuration

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.


Contenu

Le package libpng contient les bibliothèques libpng et libpng-config.


Description

Bibliothèques png

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.


libpng-config

libpng-config apporte des informations de configuration pour libpng.


libtiff-3.6.0

Introduction à libtiff

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.


Informations sur le package


Installer libtiff

Installez libtiff en lançant les commandes suivantes:

./configure --prefix=/usr --noninteractive \
   --with-DIR_MAN=/usr/share/man &&
make &&
make install

Explication des commandes

--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.


Configurer libtiff

Informations de configuration

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.


Contenu

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.


Description

fax2ps

fac2ps convertit un facsimile TIFF en un fichier PostScript compressé.


fax2tiff

fax2tiff crée un fichier TIFF de classe F à partir des données brutes d'un fax.


gif2tiff

gif2tiff crée un fichier TIFF à partir d'une image au format GIF87.


pal2rgb

pal2rgb convertit une image avec une palette de couleurs TIFF, en une image toutes couleurs.


ppm2tiff

ppm2tiff crée un fichier TIFF à partir d'un fichier image PPM.


ras2tiff

ras2tiff crée un fichier TIFF à partir d'un fichier raster Sun.


rgb2ycbcr

rgb2ycbcr convertit des images TIFF non YbCbCr en images TIFF YCbCr.


thumbnail

thumbnail crée un fichier TIFF avec des images miniatures.


tiff2bw

tiff2bw convertit une image couleur TIFF en image en niveaux de gris.


tiff2ps

tiff2ps convertit une image TIFF en un fichier PostScript.


tiff2rgba

Aucune description disponible.


tiffcmp

tiffcmp compare deux fichiers TIFF.


tiffcp

tiffcp copie (voire convertit) un fichier TIFF.


tiffdither

tiffdither convertit un fichier en niveaux de gris en une image noir et blanc.


tiffdump

tiffdump affiche les informations verbatim sur des fichiers TIFF.


tiffinfo

tiffinfo affiche des informations sur des fichiers TIFF.


tiffmedian

tiffmedian applique un algorithme ('medium cut') aux données d'un fichier TIFF.


tiffsplit

tiffsplit découpe un fichier TIFF multi-image en plusieurs fichiers TIFF mono-image.


Bibliothèques tiff

Les bibliothèques TIFF sont utilisées par de nombreux programmes pour lire et écrire des fichiers TIFF.


libungif-4.1.0b1

Introduction à libungif

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.


Informations sur le package


Installer libungif

Installez libungif en lançant les commandes suivantes:

patch -Np1 -i ../libungif-4.1.0b1-va_start.patch &&
./configure --prefix=/usr &&
make &&
make install

Contenu

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.


Description

gif2epsn

Envoie les images sauvegardées en GIF sur des imprimantes type Epson.


gif2ps

Imprime des fichiers GIF sur des imprimantes laser supportant le PostScript.


gif2rgb

Convertit les images GIF en images RGB 24 bits.


gifasm

Assemble de multiples GIF en un seul, ou crée une multiple-image GIF.


gifbg

Génère un modèle GIF simple couleur de test.


gifburst

Burst a GIF image into subrectangles.


gifclip

Clip or crop a GIF image.


gifclrmp

Modify GIF image colormaps.


gifcolor

Generate color test patterns.


gifcomb

Combine 2 GIF images of exactly the same size into one.


gifcompose

Use (un)giflib tools to compose images.


giffiltr

Template code for filtering a GIF sequentially.


giffix

Clumsily attempts to fix truncated GIF images.


gifflip

Flip GIF image along X or Y axis or rotate by 90 degrees.


gifhisto

Generate color-frequency histogram from a GIF.


gifinfo

Gives information on a GIF file.


gifinter

Convert between interlaced and non interlaced images.


gifinto

End-of-pipe fitting for GIF-processing pipelines.


gifovly

Generate one composite GIF from a multiple-image GIF.


gifpos

Change a GIF's screen size or recondition it.


gifrotat

Rotate a GIF through any desired angle.


gifrsize

Resize a GIF by deletion or duplication of bits.


gifspnge

Template code for filtering a GIF with in-core operations.


giftext

Print (text only) general information about a GIF


gifwedge

Create a test GIF image resembling a color monitor test pattern.


icon2gif

Converter/deconverter to/from an editable text format.


raw2gif

Convert raw 8-bit image data into GIF files.


rgb2gif

Convert 24 bit images to a GIF image using color quantization.


text2gif

Generate GIF images out of regular text in 8x8 font.


libmng-1.0.5

Introduction à libmng

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.


Informations sur le package


Installation de libmng

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

Explications des commandes

./configure --prefix=/usr --with-zlib \
--with-jpeg --with-lcms 
Cette commande indique le répertoire d'installation et dit à la routine de configuration de chercher zlib, libjpeg et 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.


Contenu

Le package libmng contient les bibliothèques libmng.


Description

Bibliothèques mng

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.


Imlib-1.9.14

Introduction à Imlib

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.


Informations sur le package


Installer Imlib

Installez Imlib en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc/imlib &&
make &&
make install

Explication des commandes

--sysconfdir=/etc/imlib : Ceci installe et combine les fichiers de configuration dans /etc au lieu de /usr/etc.


Contenu

Le package Imlib contient les bibliothèques libimlib.


Description

Bibliothèques imlib

Imlib propose aux programmes des fonctions d'affichage et d'édition de fichiers images, dont le format peut être très varié.


AAlib-1.4rc5

Introduction à AAlib

AAlib est une bibliothèque de rendu de graphique en art ASCII.


Informations sur le package


Installation de AAlib

Installez AAlib en lançant les commandes suivantes:

./configure --prefix=/usr && 
make &&
make install

Contenu

Le package AAlib contient les bibliothèques libaa, aalib-config, aainfo, aatest et aasavefont.


Description

Bibliothèques d'Art ASCII

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.


aalib-config

aalib-config donne des informations de configuration d'AAlib.


aainfo

aainfo donne des informations sur vos paramétrages actuels en relation avec aalib.


aatest

aatest montre les capacités d'AAlib lors d'un petit test.


aafire

aafire est un autre petit jouet d'AAlib, qui transforme un feu animé en Art ASCII.


aasavefont

Aucune information disponible.


SVGAlib-1.4.3

Introduction à SVGAlib

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.


Informations sur le package


Installation de SVGAlib

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

Explication des commandes

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.


Configurer SVGAlib

Fichiers de configurations

/etc/vga/libvga.config, ~/.svgalibrc


Informations de configuration

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.


Contenu

Le package SVGAlib contient les bibliothèques libvga et libvgagl, dumpreg, mode3, restorefont, restorepalette, restoretextmode, savetextmode, textmode et svgakeymap.


Description

bibliothèque libvga

libvga est une bibliothèque graphique de bas niveau.


Bibliothèque libvgagl

libvgagl est une bibliothèque rapide pour les graphiques au niveau du framebuffer basée sur libvga.


dumpreg

dumpreg affiche l'état de la carte comme le voit le pilote svgalib du composant graphique.


mode3

mode3 passe en mode VESA.


restorefont

restorefont sauvegarde ou restaure la police SVGA du mode texte.


restorepalette

restorepalette initialise la palette de couleur du mode texte.


restoretextmode

restoretextmode sauvegarde ou restaure les registres SVGA du mode texte.


savetextmode, textmode

savetextmode et textmode sauvegardent ou restaurent l'état SVGA du mode texte.


svgakeymap

svgakeymap génère les plans de codage clavier pour svgalib.


DirectFB-0.9.19

Introduction à DirectFB

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.


Informations sur le package


Installation de DirectFB

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.


Configurer DirectFB

Fichiers de configuration

/etc/directfbrc, ~/.directfbrc


Informations de configuration

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.


Contenu

Le package DirectFB apporte dfbdump, dfbg, dfbinfo, dfblayer, directfb-config, directfb-csource et les bibliothèques libdirectfb.


Description

dfbdump

C'est un simple outil de déboguage pour DirectFB affichant une liste des surfaces et fenêtres.


dfbg

dfbg est un outil de configuration du fond.


dfbinfo

Cet outil énumère les périphériques d'entrée.


dfblayer

dfblayer est un outil de configuration des couches graphiques.


directfb-config

directfb-config apporte toutes les options pour lier des binaires statiques avec un choix des pilotes et d'autres modules construit.


directfb-csource

Ceci est un utilitaire de génération de code C pour les surfaces DirectFB.


Bibliothèques libdirectfb

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-1.1.0

Introduction à Imlib2

Imlib2 est une bibliothèque graphique pour charger, sauver, afficher et manipuler rapidement des fichiers graphiques.


Informations sur le package


Installation de Imlib2

Installez Imlib2 en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Ce package contient la bibliothèque libImlib2 ainsi que de nombreux filtres et des fonctions de chargement d'images.


Description

libImlib2

libImlib2 approte des fonctions aux prgrammes souhaitant gérer différents types de données.


Chapitre 10. Utilitaires d'ordre général

bc-1.06

Introduction à bc

Le package bc contient un langage de calculs sur des nombres à précision arbitraire.


Informations sur le package


Installation de bc

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

Contenu

Le package bc contient bc et dc.


Description

bc

bc est une calculatrice.


dc

dc est une calculatrice en notation polonaise inversée.


rep-gtk-0.18

Introduction à rep-gtk

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.


Informations sur le package


Installation de rep-gtk

Installez rep-gtk en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package rep-gtk contient des lieurs pour Lisp.


Description

Lieurs pour Lisp

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-1.4

Introduction à compface

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.


Informations sur le package


Installation de Compface

Installez Compface en lançant les commandes suivantes:

patch -Np1 -i ../compface-1.4-errno-2.patch &&
./configure --prefix=/usr &&
make &&
make install

Contenu

Ce package contient compface, uncompface et libcompface.


Description

compface

compface est un filtre pour générer des représentations hautement compressées de fichiers image 48x48x1.


uncompface

uncompface est un filtre inverse qui réalise une transformation inverse sans perte de données.


libcompface

libcompface dispose d'algorithmes de compression et de décompression à utiliser dans d'autres programmes comme des MTAs.


Chapitre 11. Utilitaires systèmes

Ce chapitre contient de nombreux utilitaires pour le matériel. Il contient aussi quelques applications utilisées par d'autres applications du livre.


gpm-1.20.1

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!


Introduction à GPM

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.


Informations sur le package


Installation de GPM

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

Explication des commandes

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.


Configurer GPM

Script gpm init.d

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

Fichiers de configuration

/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

Informations de configuration

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.


Contenu

Le package GPM contient gpm, gpm-root, disable-paste et mev.


Description

gpm

gpm est un utilitaire pour copier-coller et un serveur souris pour les consoles virtuelles.


gpm-root

gpm-root est un gestionnaire par défaut pour gpm. Il est utilisé pour dessiner des menus sur la fenêtre racine.


disable-paste

Aucune description disponible.


mev

mev est un programme de rapport d'événements de la souris.


fcron-2.9.3

Introduction à Fcron

Le package Fcron contient un gestionnaire de commandes périodiques qui a pour but de remplacer Vixie Cron.


Informations sur le package


Installation de Fcron

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

Explications des commandes

--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.


Configurer Fcron

Fichiers de configuration

/etc/fcron.conf, /etc/fcron.allow, /etc/fcron.deny


Informations de configuration

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

Contenu

Le package fcron contient fcron, fcrontab, fcronsighup et fcrondyn.


Description

fcron

fcron est le démon programmateur (scheduler).


fcrontab

fcrontab est le programme utilisé pour installer, éditer, lister et supprimer les tables utilisées par fcron.


fcronsighup

fcronsighup demande à fcron de relire les tables.


fcrondyn

fcrondyn est un outil utilisateur pour interagir avec un démon fcron en cours d'exécution.


hdparm-5.4

Introduction à hdparm

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.


Informations sur le package


Installation de hdparm

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

Contenu

Le package hdparm contient hdparm.


Description

hdparm

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.


which-2.14 et alternatives

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.


Introduction à which

Informations sur le package


Installation de which

Installez which en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package which contient which.


Description

which

which affiche le chemin complet de commandes (shell).


Le script 'which'

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.


UnZip-5.50

Introduction à UnZip

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.


Informations sur le package


Installation de UnZip

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

Explications sur les commandes

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.


Contenu

Le package UnZip contient unzip , funzip, unzipfsx, zipgrep et zipinfo.


Description

unzip

unzip liste, teste et extrait des fichiers d'une archive ZIP.


funzip

funzip permet à la sortie de commandes unzip d'être redirigée.


unzipfsx

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.


zipgrep

zipgrep est un grep pour les archives ZIP.


zipinfo

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.


Zip-2.3

Introduction à Zip

Le package Zip contient les utilitaires Zip. Ils sont utiles pour compresser des fichiers et les stocker dans des archives ZIP.


Informations sur le package


Installation de Zip

Installez Zip en lançant les commandes suivantes:

cp unix/Makefile . &&
make prefix=/usr generic_gcc &&
make prefix=/usr install

Explication sur les commandes

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'.


Contenu

Le package Zip contient zip , zipcloak, zipnote et zipsplit.


Description

zip

zip compresse des fichiers et les stocke dans une archive ZIP.


zipcloak

zipcloak est désactivé dans cette version de Zip. Il affichera un message sur le support du cryptage par la recompilation avec zcrypt27.zip.


zipnote

zipnote lit et écrit des commentaires stockés dans un fichier ZIP.


zipsplit

zipsplit est un utilitaire pour diviser des fichiers ZIP en des fichiers plus petits.


PCI Utilities - 2.1.11

Introduction à PCI Utilities

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.


Informations sur le package


Installation de PCI Utilities

Installez PCI Utilities en lançant les commandes suivantes:

make PREFIX=/usr &&
make PREFIX=/usr install

Contenu

Le package des utilitaires PCI (PCI Utilities) contient lspci, setpci et update-pciids.


Description

lspci

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.


setpci

setpci est un utilitaire pour accéder et configurer aux périphériques PCI.


update-pciids

update-pciids récupère la version actuelle de la liste des identifiants PCI.


pkgconfig-0.15.0

Introduction to pkgconfig

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.


Informations sur le package


Installation de pkgconfig

Installez pkgconfig en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Configurer pkgconfig

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.


Contenu

Le package pkgconfig contient pkg-config


Description

pkg-config

pkg-config est une fonction retournant des méta-informations sur une bibliothèque spécifiée.


cpio-2.5

Introduction à cpio

Le package cpio contient des outils pour l'archivage.


Informations sur le package


Installation de cpio

Installez cpio en lançant les commandes suivantes:

./configure --prefix=/usr --libexec=/usr/sbin \
--bindir=/bin &&
make &&
make install

Explications des commandes

--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.


Contenu

Le package cpio contient cpio, mt et rmt.


Description

cpio

cpio insère des fichiers dans des archives et les extrait.


mt

mt contrôle les opérations des lecteurs de bandes magnétiques.


rmt

rmt contrôle les opérations des lecteurs de bandes magnétiques.


MC-4.6.0

Introduction à MC

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.


Informations sur le package


Installation de MC

Installez MC en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Configurer MC


Informations de configuration

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.


Contenu

Le package MC contient mc, mcedit, mcmfmt et mcview.


Description

mc

mc est un shell visuel.


mcedit

mcedit est un éditeur de fichier interne.


mcview

mcview est un visualisateur de fichier interne.


Chapitre 12. Programmation

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.


Python-2.3.2

Introduction à Python

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.


Informations sur le package


Installation de Python

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 

Contenu

Le package Python contient python et pydoc.


Description

python

python est un langage de programmation interprété, interactif et orienté objet.


pydoc

pydoc est l'outil de documentation Python.


Modules Perl

Introduction aux modules Perl

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.


Installation des modules Perl

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

librep-0.16.2

Introduction à librep

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.


Informations sur le package


Installation de librep

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

Explications des commandes

--libexec=/usr/lib : Cette commande installe les fichiers dans /usr/lib/rep au lieu de /user/libexec/rep.


Contenu

Le package librep contient rep et les bibliothèques librep.


Description

rep

rep est l'interpréteur Lisp.


Bibliothèques librep

Les bibliothèques librep contiennent les fonctions nécessaires pour l'interpréteur Lisp.


J2SDK-1.4.1

Introduction à j2sdk

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.


Informations sur le package

  • Téléchargement (HTTP): http://freshmeat.net/projects/sunjdk

  • Téléchargement (FTP):

  • 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


Installation de J2SDK

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

Explication des commandes

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.


Configurer J2SDK

Informations de configuration

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.


Contenu

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.


Description

appletviewer

appletviewer lance des applets Java en dehors du contexte d'un navigateur.


extcheck

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.


idlj

idlj génère des bindings Java à partir d'un fichier IDL donné.


jar

jar combine plusieurs fichiers en une seule archive JAR.


jarsigner

jarsigner signe les fichiers JAR (Java ARchive) et vérifie les signatures et l'intégrité d'un JAR signé.


java

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

javac lit les définitions de classe et d'interface, écrit en Java, et les compile en fichiers bytecode.


javadoc

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

javah génère les fichiers source et entête C, nécessaire pour l'implémentation des méthodes natives.


javap

javap déassemble un fichier classe Java.


jdb

jdb est un simple debugger en ligne de commandes pour les classes Java.


keytool

keytool est un utilitaire de gestion de clé et de certificat.


native2ascii

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

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.


policytool

policytool crée et gère un fichier de règles, graphiquement.


rmic

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.


rmid

rmid démarre un démon d'activation système.


rmiregistry

rmiregistry crée et démarre un registre d'objets distants sur un port spécifié sur l'hôte courant.


serialver

serialver retourne la variable serialVersionUID pour un ou plusieurs classes dans un format convenable pour être copié dans une classe.


servertool

servertool procure une interface facile à utiliser pour les programmeurs d'applications, pour leur permettre d'enregistrer, supprimer, démarrer et arrêter un serveur.


tnameserv

tnameserv démarre le serveur de nom Java IDL.


Ruby-1.8.0

Introduction à Ruby

Le package Ruby contient l'environnement de développement ruby. Il est utile pour faire des scripts orientés objet.


Informations sur le package


Installation de Ruby

Installez Ruby en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package Ruby contient ruby et irb.


Description

ruby

ruby est un langage de scripts, interprété pour de la programmation orientée objet rapide et facile.


irb

irb est l'interface interactive pour ruby.


GCC-3.3.1

Introduction à GCC

Le package GCC contient des compilateurs GNU. Ceci est utile pour compiler des programmes écrits en Ada, C, C++, Fortran, Java et Objective C.


Informations sur le package


Installation de GCC

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.


Informations sur le package


Installation de GNAT

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.


Retour à l'installation de GCC

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

Explications des commandes

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é.


Contenu

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.


Description

Les programmes et bibliothèques dont les descriptions manquent ont déjà été décrit dans la page GCC-3.3.1 de LFS.


g77

g77 est le compilateur Fortran appelé par gcc.


add2line

add2line convertit la forme ASCII des éléments dans un fichier en forme binaire et les ajoute aux fichiers orbdata.


gcov

gcov est un programme de test.


gdb

gdb est le déboggueur GNAT.


gnatbind

gnatbind est utilisé pour lier les objets compilés.


gnatbl

gnatbl est l'éditeur de liens Ada.


gnatchop

gnatchop est utile pour renommer des fichiers pour satisfaire les conventions des noms de fichiers par défaut du standard Ada.


gnatelim

gnatelim est utilisé pour détecter et éliminer les sous-programmes inutilisés dans une partition Ada.


gnatfind

gnatfind cherche les définitions GNAT.


gnatgcc

gnatgcc est le compilateur.


gnathtml.pl

gnathtml.pl convertit des fichiers source Ada en HTML pour les visualiser avec un navigateur web.


gnatkr

gnatkr est utilisé pour déterminer le nom d'un fichier donné, lorsqu'il est restreint à une longueur maximale.


gnatlink

gnatlink est utilisé pour lier des programmes et construire un exécutable.


gnatls

gnatls est un navigateur d'unité compilée.


gnatemake

gnatmake est un utilitaire make automatique.


gnatmem

gnatmem est un utilitaire GNAT qui enregistre les activités d'allocation et de désallocation dynamique dans un programme.


gnatprep

gnatprep est le préprocesseur externe GNAT.


gnatpsta

gnatpsta détermine les valeurs de tous les paramètres adéquats et les envoie sur stdout.


gnatpsys

gnatpsys détermine les valeurs de tous les paramètres adéquats du système et les envoie sur stdout.


gnatstub

gnatstub est un générateur 'body stubs'.


gnatxref

gnatxref permet le cross référence GNAT.


gvd

gvd est le débugger visuel GNU.


Tcl-8.4.4

Introduction à Tcl

Le package Tcl contient le "Tool Command Language".


Package information


Installation de Tcl

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

Explications des commandes

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.


Tk-8.4.4

Introduction à Tk

Le package Tk contient TCL (GUI Toolkit).


Informations sur le package


Installation de Tk

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

Explications des commandes

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é.


GCC-2.95.3

Introduction to GCC-2.95.3

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.


Informations sur le package


Installation de GCC

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

Configurer GCC

Informations de configuration

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é.


Contenu

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-0.98.38

Introduction à NASM

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.


Informations sur le package


Installation de NASM

Installez NASM en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package NASM contient les programmes nasm et ndisasm.


Description

nasm

nasm est un assembleur portable 80x86.


ndisasm

ndisasm est un désassembleur de fichiers binaires 80x86.

IV. Se connecter à un réseau

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.


Chapitre 13. Réseaux commutés

PPP-2.4.1

Introduction à PPP

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).


Informations sur le package


Téléchargements supplémentaires


Installation de PPP

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

Configurer PPP


Informations de configuration

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.


Contenu

Le package PPP contient les programmes chat, pppd, pppdump et pppstats.


Description

chat

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.


pppd

pppd est le démon gérant le protocole point-à-point.


pppdump

pppdump est utilisé pour convertir les fichiers PPP en un format lisible.


pppstats

pppstats est utilisé pour éditer les statistiques PPP.


WvDial-1.53

Introduction à WvDial

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.


Informations sur le package


Installation de WvDial

Installez WvDial en lançant les commandes suivantes:

make PREFIX=/usr &&
make PREFIX=/usr install

Configurer WvDial

Fichiers de configuration

/etc/wvdial.conf, /etc/ppp/peers/*


Informations de configuration

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.


Contenu

Le package WvDial contient les programmes wvdial et wvdialconf.


Description

wvdial

Démarre une connexion PPP.


wvdialconf

Automatise la configuration de wvdial.


Chapitre 14. Clients DHCP

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.


Configurer les scripts de démarrage LFS pour supporter les clients DHCP

Fichiers de configurations

/etc/sysconfig/network, /etc/sysconfig/network-devices/ifup-eth0, /etc/sysconfig/network-devices/ifdown-eth0, /etc/sysconfig/network-devices/ifconfig.eth0


Informations de configuration

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

DHCP-3.0pl2

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


dhcpcd-1.3.22-pl4

Introduction à dhcpcd

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.


Informations sur le package


Installation de dhcpcd

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

Explication des commandes

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.


Configurer dhcpcd

Fichiers de configuration

/var/lib/dhcpcd/*


Informations de configuration

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.


Contenu

Le package dhcpcd contient dhcpcd.


Description

dhcpcd

dhcpcd est une implémentation du client DHCP comme spécifié dans les RFC2131 et RFC1541 (dépendant des options spécifiées).


Chapitre 15. Autres connexions

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.


RP-PPPoE-3.5

Introduction à RP-PPPoE

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.


Informations sur le package


Installation de RP-PPPoE

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


Explication des commandes

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.


Configurer RP-PPPoE

Fichiers de configuration

/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


Informations de configuration

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

Contenu

Le package RP-PPPoE adsl-setup, adsl-start, adsl-status, adsl-stop, pppoe, pppoe-relay, pppoe-server et pppoe-sniff.


Description

adsl-setup

Un script pour configurer le client. La configuration est alors stockée dans /etc/ppp/pppoe.conf.


adsl-start

adsl-start lance le client en utilisant les options spécifiées dans /etc/ppp/pppoe.conf.


adsl-status

adsl-status affiche le statut de la connexion ADSL.


adsl-stop

adsl-stop arrête le client.


pppoe

Il s'agit du client. Généralement, vous ne devez pas le lancer directement.


pppoe-relay

pppoe-relay lance l'agent de relai du serveur.


pppoe-server

pppoe-server lance le composant serveur.


pppoe-sniff

Un petit reniffleur serveur créé pour aider aux paramètrages de PPPOE_EXTRA.


Chapitre 16. Bibliothèques réseau

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.


cURL-7.10.7

Introduction à cURL

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'.


Informations sur le package


Installer cURL

Installez cURL en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package cURL contient curl, curl-config et les bibliothèques curl.


Description

curl

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

curl-config affiche des informations sur la dernière compilation, comme les bibliothèques liées et la configuration du préfixe.


Bibliothèque curl

libcurl procure les fonctionnalités de curl aux autres programmes.


WvStreams-3.70

Introduction à WvStreams

Le package WvStreams contient les bibliothèques libwvutils, libwvstreams et libwvcrypto. Elles sont requises pour compiler wvdial.


Informations sur le package


Installer WvStreams

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

Explication des commandes

make PREFIX=/usr LDFLAGS="-lcrypt" : Ceci corrige les problèmes de libwvstreams avec la bibliothèque cryptographique d'OpenSSL.


Configurer WvStreams

Information sur la configuration

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.


Contenu

Le package WvStreams contient les bibliothèques libwvcrypto, libwvstreams et libwvutils.


Description

libwvcrypto

libwvcrypto définit les flux avec une cryptographie intégrée.


libwvstreams

libwvstreams définit les propriétés de base d'un flux.


libwvutils

libwvutils contient les utilitaires fondamentales de support.


GNet-2.0.4

Introduction à gnet

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.


Informations sur le package


Installation de GNet

Installez GNet en lançant les commandes suivantes :

./configure --prefix=/usr  &&
make &&
make install

Contenu

Le package GNet contient les bibliothèques libgnet.


libsoup-1.99.23

Introduction à libsoup

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.


Informations sur le package


Installation de libsoup

Installez libsoup en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libsoup contient les bibliothèques libsoup.


Description

Bibliothèques libsoup

Les bibliothèques libsoup apportent des fonctions pour des connexions asynchrones HTTP.


Chapitre 17. Navigateurs web en mode texte

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-2.1pre14

Introduction à Links

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.


Informations sur le package


Installation de Links

Installez Links en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Explication des commandes

--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.


Configurer Links


Information de configuration

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é.


Contenu

Le package Links contient links.


Description

links

links est un navigateur WWW en mode caractère, une alternative à lynx.


Lynx-2.8.4

Introduction à Lynx

Lynx est un navigateur web texte.


Informations sur le package


Installation de Lynx

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

Explications des commandes

--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.


Configurer Lynx


Informations de configuration

Différents paramétrages tels que les proxies peuvent être placés dans le fichier global du système lynx.cfg disponible dans /etc.


Contenu

Le package Lynx contient lynx.


Description

lynx

lynx est un navigateur texte pour le World Wide Web.


w3m-0.4.1

Introduction à w3m

w3m est un navigateur web en texte.


Informations sur le package


Installation de w3m

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

Explication des commandes

./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.


Contenu

Le package w3m contient w3m et w3mman.


Description

w3m

w3m est un navigateur web texte et un pageur.


w3mman

w3mman est une interface pour les manuels de référence en ligne dans w3m.


Chapitre 18. Programmes de base pour le réseau

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.


NcFTP-3.1.6

Introduction à ncftp

Le package NcFTP contient une interface puissante et flexible pour le standard internet FTP. Il a été créé pour remplacer tous les programmes ftp.


Informations sur le package


Installation de NcFTP

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

Explications des commandes

cd libncftp &&
make shared &&
make soinstall
: Ces commandes construisent et installent la bibliothèque dynamique libncftp, qui est ensuite utilisée pour être liée lors de la compilation du programme principal.


Configurer NcFTP

Fichiers de configuration

~/.ncftp/*; et spécialement ~/.ncftp/prefs_v3


Informations de configuration

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
: Ceci désactive le message de démarrage du serveur NcFTPd.

Il existe d'autres options dans le fichier prefs_v3. La plupart d'entre elles se comprennent toutes seules.


Contenu

Le package NcFTP contient ncftp, ncftpbatch, ncftpbookmarks, ncftpget, ncftpls, ncftpput et ncftpspooler.


Description

ncftp

Un navigateur FTP.


ncftpbatch

Processeur de fichiers FTP par lots.


ncftpbookmarks

L'éditeur de favoris pour NcFTP (basé sur NCurses).


ncftpget

Un programme de transfert de fichiers sur Internet par scripts.


ncftpls

Un programme de transfert de fichiers sur Internet par scripts.


ncftpput

Un programme de transfert de fichiers sur Internet par scripts.


ncftpspooler

Un démon pour les transferts groupés par FTP.


Client OpenSSH-3.7.1p2

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-2.5.6 client

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-1.11.6

Introduction à CVS

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.


Informations sur le package


Installation de CVS

Installez cvs en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Configurer CVS

Fichiers de configuration

~/.cvsrc, ~/.cvswrappers


Informations de configuration

~/.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.


Contenu

Le package CVS contient cvs, cvsbug et rcs2log.


Description

cvs

Ceci est le programme principal pour le système CVS.


cvsbug

Ceci est utilisé pour envoyer les rapports de bugs sur CVS dans un site central de support.


rcs2log

Générateur de journal de modification (changelog) à partir de RCS.


Wget-1.9.1

Introduction à Wget

Le package Wget contient un utilitaire permettant le téléchargement non interactif de fichiers à partir du Web.


Informations sur le package


Installation de Wget

Installez Wget en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install

Explication des commandes

--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.


Configurer Wget

Fichiers de configuration

/etc/wgetrc, ~/.wgetrc

Il n'est pas nécessaire de modifier ces fichiers.


Contenu

Le package Wget contient wget.


Description

wget

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.


tcpwrappers-7.6

Introduction à tcpwrappers

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é.


Informations sur le package


Téléchargements supplémentaires


Installation de tcpwrappers

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

Configurer tcpwrappers

Fichiers de configuration

/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.


Contenu

Le package tcpwrappers contient tcpd, tcpdchk, tcpdmatch, try-from et safe_finger.


Description

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

tcpdchk est un outil pour examiner la configuration du wrapper tcpd et de rapporter les problèmes qui en découlent.


tcpdmatch

tcpdmatch est utilisé pour prédire comment le wrapper tcpd gèrera une requête spécifique pour un service.


try-from

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

safe_finger est un wrapper pour l'utilitaire finger pour procurer des recherches de noms inverses automatiques.


portmap-5beta

Introduction à portmap

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.


Informations sur le package


Installation de portmap

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.


Configurer portmap

Fichier de configuration

/etc/rc.d/init.d/portmap


Créez le script de démarrage 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

Contenu

Le package portmap contient portmap, pmap_dump et pmap_set.


Description

portmap

portmap est le cartographieur (mapper) de port RPC.


pmap_dump

pmap_dump sauve la table des ports dans un fichier ASCII.


pmap_set

pmap_set restaure la table des ports à partir d'un fichier ASCII.


Inetutils-1.4.2

Introduction à Inetutils

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.


Informations sur le package


Installation de Inetutils

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

Explication des commandes

--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.


Contenu

Le package Inetutils contient des clients et serveurs réseau.


Description

ftp

ftp est un programme de transfert de fichiers ARPANET.


logger

logger ajoute des entrées dans les journaux système.


ping

ping envoie des paquets ICMP ECHO_REQUEST vers les hôtes du réseau.


rcp

rcp copie des fichiers distants.


rlogin

rlogin permet une connexion à distance.


rsh

rsh est un client shell distant.


syslogd

syslogd enregistre les messages système.


talk

talk permet une discution avec les autres utilisateurs.


telnet

telnet est une interface utilisateur pour le protocole TELNET.


tftp

tftp est un programme basique de transfert de fichiers.


whois

whois est un client pour le service d'annuaire whois.


ftpd

ftpd est un serveur pour le protocole de transfert de fichiers DARPA.


inetd

inetd est un super-serveur internet.


rexecd

rexcd est un serveur d'exécution à distance.


rlogind

rlogind est un serveur de connexions distantes.


rshd

rshd est un serveur de shells distants.


talkd

talkd est un serveur de communication entre utilisateurs à distance.


telnetd

telnetd est un serveur du protocole TELNET DARPA.


tftpd

tftpd est un serveur basique du protocole de transfert de fichiers.


uucpd

Aucune description disponible.


NCPFS-2.2.3

Introduction à NCPFS

Le package NCPFS contient les outils client et d'administration pour l'utilisation de réseaux Novell.


Informations sur le package


Installation de NCPFS

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

Explication des commandes

--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.


Configuring nfs-utils

Config files

~/.nwclient


Configuration Information

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


Contenu

  • 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.


NTP-4.1.2

Introduction à NTP

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.


Informations sur le package


Installation de NTP

Installez NTP en lançant les commandes suivantes :

./configure --prefix=/usr &&
make &&
make install

Configurer NTP


Informations de configuration

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

Synchroniser le temps

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

Contenu

Le package NTP contient le protocole serveur et client NTP.


Description

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.


Chapitre 19. Utilitaires basiques pour le réseau

Ce chapitre contient quelques outils bien utiles lors de problèmes sur le réseau.


Traceroute-1.4a12

Introduction à Traceroute

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.


Informations sur le package


Installation de Traceroute

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

Explication des commandes

sed 's/-o bin/-o root/'...
Ajuste le fichier Makefile de façon à ce que le programme soit installé en tant qu'utilisateur root, au lieu de l'utilisateur bin (qui n'existe pas sur le système LFS par défaut).

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.


Contenu

Le package Traceroute contient traceroute.


Description

traceroute

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-3.30

Introduction à Nmap

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.


Informations sur le package


Dépendances de Nmap

Optionnel

openssl-0.9.7c, pcre-4.3, GTK+-1.2.10 (pour construire l'interface utilisateur) et libpcap


Installation de Nmap

Installez Nmap en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package nmap contient nmap.


Description

nmap

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-4.6.7

Introduction à Whois

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.


Informations du package


Installation de Whois

Installez Whois en lançant les commandes suivantes:

make &&
make prefix=/usr install

Contenu

Le package Whois contient whois.


Description

whois

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-9.2.2

Introduction à BIND Utilities

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.


Informations sur le package


Installation de BIND Utilities

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

Explication des commandes

make -C lib/...
Construit les bibliothèques nécessaires aux programmes clients.

make -C bin/dig
Construit les programmes clients.


Contenu

Le package BIND Utilities contient dig, host et nslookup.


Chapitre 20. Programmes de base pour le réseau

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).


Nail-10.5

Introduction à Nail

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.


Informations sur le package


Installation de Nail

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

Contenu

Le package Nail contient nail , un programme compatible avec mail disponible sur les versions commerciales d'Unix.


Description

nail

nail est un client mail en ligne de commandes.


Procmail-3.22

Introduction à Procmail

Le package Procmail contient un processeur autonome de mails. Ceci est utile pour filtrer et trier les mails arrivants.


Informations sur le package


Installer Procmail

Installez Procmail en lançant les commandes suivantes:

make BASENAME=/usr install &&
make install-suid

Explication des commandes

BASENAME=/usr : L'équivalent de ./configure --prefix=/usr pour les installations des autres packages.

make install-suid : Modifie les permissions des fichiers installés.


Configurer Procmail

Fichiers de configuration

/etc/procmailrc, ~/.procmailrc


Informations de configuration

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.


Contenu

La package Procmail contient procmail, formail, lockfile et mailstat.


Description

procmail

procmail est un processeur autonome de mail. Il remplit toutes les fonctions d'un MDA (Mail Delivery Agent, Agent de Livraison des Mails).


formail

formail est un filtre qui peut être utilisé pour transformer le mail dans un format mailbox.


lockfile

lockfile est un utilitaire qui peut verrouiller un fichier pour une utilisation exclusive, interactivement ou dans un script.


mailstat

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é.


Fetchmail-6.2.5

Introduction à Fetchmail

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."


Informations sur le package


Installer Fetchmail

Installez Fetchmail en lançant les commandes suivantes:

./configure --prefix=/usr --with-ssl --enable-fallback=procmail &&
make &&
make install

Explications des commandes

--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.


Configurer Fetchmail


Informations de configuration

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é.


Contenu

Le package Fetchmail contient fetchmail et fetchmailconf.


Description

fetchmail

Lors de son exécution, il va lire le fichier ~/.fetchmailrc de l'utilisateur et télécharger les mails appropriés.


fetchmailconf

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.


Mutt-1.4.1i

Introduction à Mutt

Le package Mutt contient un client mail (MUA, Mail User Agent). Ceci est utile pour lire, écrire, répondre et supprimer des emails.


Informations sur le package


Installer Mutt

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

Explication de la commande

--sysconfdir=/etc : Ceci installe les fichiers de configuration dans /etc au lieu de /usr/etc.


Configurer Mutt

Fichiers de configuration

/etc/Muttrc, ~/.muttrc, /etc/mime.types, ~/.mime.types.


Informations de configuration

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

Contenu

Le package Mutt contient mutt, flea, muttbug, mutt_dotlock, pgpwrap et pgpring


Description

mutt

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.


flea

flea est un système de soumission de bugs pour Mutt.


muttbug

muttbug est un script qui exécute flea.


mutt_dotlock

mutt_dotlock implémente le verrouillage du fichier des courriers électroniques.


pgpwrap

Aucune description disponible.


pgpring

Aucune description disponible.


Pine-4.58

Introduction à Pine

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.


Informations sur le package


Installation de Pine

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

Explications des commandes

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.


Configurer Pine


Informations de configuration

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.


Contents

Le package Pine contient pine, pico, pilot, imapd, ipop2d, ipop3d, mtest, rpload et rpdump.


Description

pine

pine is l'agent utilisateur pour les mails (MUA) de Pine.


pico

pico est un éditeur autonome, similaire au composeur interne de message de Pine.


pilot

pilot est un navigateur de fichiers et de répertoires.


imapd

imapd est un démon serveur IMAP.


ipop2d

ipop2d est un serveur IMAP vers POP2.


ipop3d

ipop3d est un serveur IMAP vers POP3.


mtest

mtest est un MUA IMAP minimal, utilisé pour le débuggage.


rpload

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

rpdump est utilisé pour copier les données des fichiers de configuration Pine ou de carnets d'adresses distants sur un fichier local.


slrn-0.9.7.4

Introduction à slrn

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.


Informations sur le package


Installation de slrn

Installez slrn en lançant les commandes suivantes :

./configure --prefix=/usr --with-slrnpull &&
make LDFLAGS="-ldl" &&
make install

Explication des commandes

./configure --prefix=/usr : Spécifie /usr pour l'installation au lieu de /usr/local.

./configure --with-slrnpull : Construit l'exécutable slrnpull.


Configurer slrn

Fichiers de configuration

$HOME/.jnewsrc, $HOME/.jnewsrc.time, $HOME/.slrnrc


Informations de configuration

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

Contenu

Le package slrn contient slrn et slrnpull.


Description

slrn

slrn est un lecteur de news basé sur slang.


slrnpull

slrnpull est utilisé pour récupérer quelques news d'un serveur NNTP pour les lire hors connexion.


Autres programmes de mail et de news

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.


Chapitre 21. D.J. Bernstein's Utilities

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.


daemontools-0.76

Introduction à daemontools

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.


Informations sur le package


Installer daemontools

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

Explications des commandes

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
Ces commandes ajoutent une ligne dans /etc/inittab de façon à ce que init démarre le programme svscanboot.

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é.


Contenu

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.


Description

svscanboot

svscanboot est un script appellant svscan et renvoyant la sortie sur readproctitle.


svscan

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

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.


svc

svc envoie des signaux aux processus lancés à partir de supervise.


svok

svok vérifie que supervise tourne dans le répertoire qui lui a été donné.


svstat

svstat affiche l'état des processus en cours de surveillance par supervise.


fghack

fghack empêche les processus de se mettre en tâche de fond.


pgrphack

pgrphack lance un processus dans un groupe de processus séparé.


readproctitle

readproctitle affiche les entrées du journal en sortie de ps.


multilog

multilog est un programme d'enregistrements (logging). Il prend la sortie d'un démon et l'ajoute dans un certain nombre de journaux.


tai64n

tai64n est un programme de génération d'horodatage.


tai64nlocal

tai64nlocal convertit la sortie de tai64n en format lisisble par un humain.


setuidgid

setuidgid lance un programme spécifié sous un UID et GID donnés.


envuidgid

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

envdir lance un programme donné avec des variables d'environnement spécifiées par fichiers d'un répertoire.


softlimit

softlimit autorise la mise en place de limite de ressources pour un programme donné.


setlock

setlock verrouille un fichier et lance un programme.


ucspi-tcp-0.88

Introduction à ucspi-tcp

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.


Informations sur le package


Installer ucspi-tcp

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

Explications des commandes

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
Ces commandes changent le répertoire d'installation en /usr/sbin à la place de /usr/local/bin par défaut. Comme ces outils sont utilisés avec des démons, il n'y a pas de raisons de les installer dans des répertoires généraux des utilisateurs. Néanmoins, quelques-uns des programmes d'exemple et le programme tcpclient pourraient s'avérer utiles pour les utilisateurs non root. Si vous souhaitez rendre ceux-ci disponibles, alors nous vous suggérons de les installer comme ci-dessus, puis de lancer les commandes suivantes :
cd /usr/sbin
mv tcpclient *@ mconnect delcr addcr tcpcat /usr/bin
Ceci va placer les programmes clients dans /usr/bin pour un usage général.


Contenu

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é:


Description

tcpserver

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

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

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.


argv0

argv0 lance un programme donné avec l'argument 0 spécifié.


fixcrio

fixcrio insert des retours chariots à la fin des lignes quand ils manquent.


recordio

recordio enregistre toutes les entrées et sorties d'un programme donné comme argument.


rblsmtpd

rblsmtpd est un programme de blocage de spam qui fonctionne en relation avec un démon SMTP et tcpserver.


tcpclient

tcpclient crée une connexion à un port TCP pour un programme donné.


who@

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@

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@

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.


http@

http@ télécharge des pages web des serveurs web.


tcpcat

tcpcat se connecte sur un port TCP et affiche tout ce qui est retourné par ce port.


mconnect

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

addcr ajoute des retours chariot dans des fichiers. Ceci et delcr sont utiles pour convertir des formats de fichiers Windows vers Unix.


delcr

delcr supprime les retours chariot des fichiers.

VI. Serveur Réseau


Chapitre 22. Logiciels serveur de courier

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).


Postfix-2.0.16

Introduction à Postfix

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).


Informations sur le package


Installation de Postfix

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

Explication des commandes

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).


Configurer Postfix

Fichiers de configuration

/etc/aliases, /etc/postfix/main.cf et /etc/postfix/master.cf


Informations de configuration

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

Script de démarrage Postfix

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

Contents

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.


Description

postfix

postfix est le programme qui lance et arrête le système d'envoi de mails.


master

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

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

sendmail implémente l'interface de compatibilité Postfix vers Sendmail. mailq et newaliases sont des liens symboliques vers sendmail.


showq

showq émulera la commande mailq quand le système de mail Postfix ne sera pas lancé.


postsuper

postsuper fait la maintenance des jobs dans la queue de Postfix.


postalias

postalias crée, recherche ou mets à jour les bases de données d'alias de Postfix.


postcat

postcat affiche le contenu d'un fichier de la queue Postfix dans un format lisible par un humain.


postconf

postconf affiche ou change la valeur des paramètres de configuration.


postdrop

postdrop crée un fichier dans le répertoire maildrop et copie l'entrée standard dans ce fichier.


postkick

postkick rends l'utilisation de scripts shell possible en permettant l'accès au système IPC privé du système de mail.


postlock

postlock verrouille un fichier en accès exclusif et exécute une commande sur ce fichier.


postlog

postlog implémente une interface de traces (logs) à utiliser dans des scripts shells.


postmap

postmap crée, recherche ou mets à jour les tables lookup de Postfix.


qmail-1.03

Introduction à qmail

Le package qmail contient le MTA de Dan Bernstein. qmail fournit un accès aux envois/réceptions de courrier électronique.


Informations sur le package


Installation de qmail

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

Configurer qmail

Fichiers de configuration

/etc/inetd.conf et les scripts de démarrage


Informations de configuration

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

Configurer les systèmes de mail pour fonctionner avec qmail

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


Contenu

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.


Description

bouncesaying

bouncesaying processes, possibly bouncing, incoming messages.


condredirect

condredirect processes, possibly redirecting incoming messages.


except

except reverses the exit code of a program.


forward

forward forwards new mail to one or more addresses.


maildir2mbox

maildir2mbox moves current email from an maildir-format directory to an mbox-format file.


maildirmake

maildirmake create a maildir format directory for incoming mail.


maildirwatch

maildirwatch watches a users maildir and prints a new mail summary every 30 seconds.


mailsubj

mailsubj sends a mail message with a subject supplied on the command line. The body of the message is read from standard input.


preline

preline prepends lines to a message.


qbiff

qbiff announces new mail as soon as it arrives.


qreceipt

qreceipt responds to delivery notice requests.


qmail-clean

qmail-clean cleans up the queue directory.


qmail-inject

qmail-inject preprocesses and sends a mail message.


qmail-local

qmail-local delivers or forwards mail messages.


qmail-pop3d

qmail-pop3d accesses users' pop3 mail accounts.


qmail-popup

qmail-popup reads pop3 usernames and passwords.


qmail-qstat

qmail-qstat summarizes mail queue statistics.


qmail-send

qmail-send delivers mail from the message queue.


qmail-smtpd

qmail-smtpd receives mail via SMTP.


qmail-start

qmail-start enables mail delivery services, spawning qmail-send, qmail-lspawn, qmail-rspawn, and qmail-clean.


Sendmail-8.12.10

Introduction à Sendmail

Le package Sendmail contient un agent de transport de courriers électroniques (MTA).


Informations sur le package


Installation de Sendmail

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

Configurer Sendmail


Informations de configuration

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

Contenu

Le package Sendmail contient mail.local, rmail, smrsh, editmap, makemap, mailq, newaliases, sendmail, vacation, praliases et mailstats.


Description

mail.local

mail.local ajoute l'entrée standard au fichier mail de l'utilisateur.


rmail

rmail interprète les mails entrant reçus via UUCP.


smrsh

smrsh est un shell restreint pour Sendmail.


editmap

editmap recherche et édite les fichiers map de Sendmail.


makemap

makemap crée des fichiers map de Sendmail.


mailq

mailq affiche un résumé des messages mail en attente.


newaliases

newaliases reconstruit /etc/mail/aliases.db.


sendmail

sendmail est l'agent de transport de mail Sendmail.


vacation

vacation est un répondeur automatique d'email.


praliases

praliases affiche des alias courants de Sendmail.


mailstats

mailstats affiche des statistiques de Sendmail.


Exim-4.24

Introduction à Exim

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.


Informations sur le package


Installation de Exim

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


Explications des commandes d'installation

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.


Configurer Exim

Fichiers de configuration

/etc/exim.conf, /etc/aliases


Informations de configuration

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

Contenu

Le package Exim contient exim, exim_dumpdb, exim_fixdb, exim_tidydb, exinext, exiwhat, exim_dbmbuild, exicyclog, exigrep, eximstats, exiqsumm, exim_lock et exim_checkaccess.


Description

exim

exim est le démon de transport de mail (Mail Transport Agent).


exim_dumpdb

exim_dumpdb écrit le contenu des bases de données exim sur la sortie standard.


exim_fixdb

exim_fixdb modifie les données des bases exim.


exim_tidydb

exim_tidydb supprime les anciens enregistrements dans les bases de données d'exim.


exinext

exinext envoie des requêtes à l'hôte distant sur les délais.


exiwhat

exiwhat cherche les processus exim en cours d'exécution.


exim_dbmbuild

exim_dbmbuild crée et reconstruit les bases de données exim.


exicyclog

exicyclog réalise un cycle avec les fichiers log d'exim.


exigrep

exigrep recherche dans les fichiers log d'exim.


eximstats

eximstats génère des statistiques mail à partir des fichiers log d'exim.


exiqsumm

exiqsumm produit une liste des messages dans la queue des mails.


exiqgrep

exiqgrep est un outil de listes sélectives des queues.


exim_lock

exim_lock verrouille un fichier mailbox.


exim_checkaccess

exim_checkaccess indique si une adresse donnée d'un hôte donné est acceptable ou pas.


Qpopper-4.0.5

Introduction à Qpopper

Le package Qpopper contient un serveur de courrier élecronique POP3.


Informations sur le package


Installation de Qpopper

Installez Qpopper avec les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Configurer Qpopper

Informations de configuration

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.


Contenu

Le package Qpopper contient qpopper.


Description

popper

popper est le démon serveur POP3.


Courier-0.43.2

Introduction à Courier

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.


Informations sur le package


Installation de Courier

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

Explication des commandes

--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.


Configurer Courier

Fichier de configuration

/etc/courier/authmysqlrc


Informations de configuration

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

Script de démarrage Courier

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

Contenu

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.


Description

cancelmsg

cancelmsg supprime un message de la queue des courriers.


couriermlm

couriermlm est le gestionnaire de listes de diffusion Courier.


lockmail

lockmail est un outil d'aide pour travailler avec des fichiers mailbox.


mailbot

mailbot lit un message électronique sur l'entrée standard et crée un message électronique en réponse.


maildirkw

maildirkw modifie les mots clés du message maildir compatible avec Courier-IMAP.


maildrop

maildrop est un MDA local de remplacement qui inclut un langage de filtres.


mailq

mailq affiche une liste de tous les messages n'ayant pas été encore apportés.


reformail

reformail lit un message sur l'entrée standard, le reformate d'une certaine façon et écrit le message sur la sortie standard.


reformime

reformime est un utilitaire pour reformatter les messages MIME.


sendmail

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

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

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

courierfilter installe ou désintalle des filtres globaux de mail, utilisés pour bloquer certains mails non désirés.


filterctl

filterctl installe ou désintalle des filtres globaux de mail, utilisés pour bloquer certains mails non désirés.


makeacceptmailfor

makeacceptmailfor construit une liste de domaines à partir desquels des courriers électroniques sont acceptés.


makealiases

makealiases construit une liste des alias à partir des répertoires /etc/courier/aliases ou /etc/courier/aliasdir directories.


makehosteddomains

makehostedomains construit une base de données de domaines compris à partir de hosteddomains .


makepercentrelay

makepercentrelay construit une liste de domaines "%-relayed" à partir du répertoire percentrelay.dir.


makesmtpaccess

makesmtpacces construit le fichier d'accès au serveur ESMTP à partir du répertoire /etc/courier/smtpaccess.


makesmtpaccess-msa

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

makeuucpneighbors construit une liste de destinataires UUCP utilisant /etc/courier/uucpneighbors.


showconfig

showconfig affiche la configuration actuelle de Courier.


showmodules

showmodules affiche les modules actuelles de Courier.


authdaemon

authdaemon est la bibliothèque d'authentication de Courier.


.


Chapitre 23. Autres logiciels serveurs

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.


BIND-9.2.2

Introduction à BIND

Le package BIND fournit un serveur et un client DNS.


Informations sur le package


Installation de BIND

Installez BIND en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install

Configurer BIND

Fichiers de configuration

named.conf, root.hints, 127.0.0, rndc.conf


Informations de configuration

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

Tester BIND

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.


Contenu

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.


Description

dig

dig interroge les serveurs DNS.


host

host est un utilitaire pour des recherches DNS.


rndc

rndc contrôle l'opération de BIND.


rndc-confgen

rndc-confgen génère les fichiers rndc.conf.


named-checkconf

named-checkconf vérifie la syntaxe des fichiers named.conf.


named-checkzone

named-checkzone vérifie la validité du fichier zone.


lwresd

lwresd est un serveur de noms réalisant un cache seul pour être utilisé par des processus locaux.


named

named est le démon du serveur de noms.


dnssec-signzone

dnssec-signzone génère des versions signées des fichiers zone.


dnssec-signkey

dnssec-signkey signe des ensembles de clés des fichiers zone.


dnssec-keygen

dnssec-keygen est un générateur de clés pour le DNS sécurisé.


dnssec-makekeyset

dnssec-makekeyset génère un ensemble de clés de un à plusieurs clés créées par dnssec-keygen.


nsupdate

nsupdate est utilisé pour soumettre des requêtes de mises à jour DNS.


Running a CVS server

Faire tourner un serveur CVS

Cette section décrira comment le mettre en place, administrer et sécuriser un serveur CVS.


Mettre en place 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:


1. Créer le dépôt.

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

2. Importer le code source dans le dépôt.

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

3. Vérifier l'accès local au dépôt.

Testez l'accès au dépôt CVS pour le même compte utilisateur avec la commande suivante:

cvs co cvstest

4. Vérifier l'accès distant au dépot.

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

Configurer CVS pour un accès anonyme en lecture seul.

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.


Explication des commandes

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.


DHCP-3.0pl2

Introduction à DHCP

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é.


Informations sur le package


Installation de DHCP

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

Explications des commandes

LIBDIR=/usr/lib INCDIR=/usr/include : Cette commande installe la bibliothèque et les fichiers include dans /usr au lieu de /usr/local.


Configurer DHCP

Fichiers de configuration

/etc/dhclient.conf


Informations de configuration

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.


Contenu

Le package DHCP contient dhclient, dhcpd et dhcrelay.


Description

dhclient

dhclient est l'implémentation du client DHCP.


dhcpd

dhcpd implémente le protocole 'Dynamic Host Configuration Protocol' (DHCP) et les requêtes 'Internet Bootstrap Protocol' (BOOTP) pour les adresses réseau.


dhcrelay

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-1.9.43

Introduction à Leafnode

Leafnode est un serveur NNTP conçu pour que des petits sites fournissent leur spool local USENET.


Informations sur le package


Installation de Leafnode

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

Explications des commandes d'installation

--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.


Configurer Leafnode

Fichiers de configuration

/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 = 
pour refléter votre fournisseur de news.

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

Contenu

Le package Leafnode contient leafnode, applyfilter, texpire, checkgroups, fetchnews et newsq.


Description

leafnode-version

leafnode-version affiche la version de leafnode.


leafnode

leafnode est le démon serveur NNTP.


applyfilter

applyfilter filtre les articles du groupe de news suivant des expressions régulières.


texpire

texpire fait expirer les anciens articles et les groupes non lus.


checkgroups

checkgroups insère les titres des newsgroup dans la base de données des newsgroups.


fetchnews

fetchnews envoie des articles postés et retrouve les nouveaux articles lors d'un téléchargement d'un serveur de news.


newsq

newsq affiche les articles en attente d'être envoyé vers le serveur.


OpenSSH-3.7.1p2

Introduction à OpenSSH

Le package OpenSSH contient le client ssh et le démon sshd. Ceci est utile pour crypter tout trafic sur un réseau.


Informations sur le package


Installation de OpenSSH

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 

Explications des commandes

--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.


Configurer OpenSSH

Fichiers de configuration

/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.


Script init.d sshd

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

Contenu

Le package OpenSSH contient ssh, sshd, ssh-agent, ssh-add, sftp, scp, ssh-keygen, sftp-server et ssh-keyscan.


Description

ssh

Le programme client basique style rlogin/rsh.


sshd

Le démon qui vous permet de vous connecter.


ssh-agent

Un agent d'authentication qui stocke les clés privées.


ssh-add

Outil qui ajoute les clés avec ssh-agent.


sftp

Programme style FTP fonctionnant sous les protocoles SSH1 et SSH2.


scp

Programme de copie de fichiers, agissant comme rcp.


ssh-keygen

Outil de génération de clés.


sftp-server

Sous-système du serveur SFTP.


ssh-keyscan

Utilitaire pour récupérer les clés publics d'un certain nombre d'hôtes.


rsync-2.5.6

Introduction à rsync

Le package rsync contient l'utilitaire rsync. Il est utile pour synchroniser de grosses archives de fichiers sur un réseau.


Informations sur le package


Installation de rsync

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 

Explication des commandes

--prefix=/usr : Ceci installe rsync dans /usr au lieu de /usr/local


Configurer rsync

Fichiers de configuration

/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

Script de démarrage rsyncd

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

Contenu

Le package rsync contient rsync.


Description

rsync

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.


OpenLDAP-2.1.22

Introduction à OpenLDAP

Le package OpenLDAP fournit une implémentation libre du Lightweight Directory Access Protocol.


Informations sur le package


Installation de OpenLDAP

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

Explications des commandes d'installation

--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.


Configurer OpenLDAP


Informations de configuration

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.


Contenu

Le package OpenLDAP contient ldapadd, ldapcompare, ldapdelete, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapwhoami, slapadd, slapcat, slapd, slapindex, slappasswd, slurpd, liblber et libldap.


Description

ldapadd

ldapadd ouvre une connexion au serveur LDAP et ajoute des entrées.


ldapcompare

ldapcompare ouvre une connexion au serveur LDAP et compare suivant les paramètres spécifiés.


ldapdelete

ldapdelete ouvre une connexion au serveur LDAP et supprime une ou plusieurs entrées.


ldapmodify

ldapmodify ouvre une connexion au serveur LDAP et modifie des entrées.


ldapmodrdn

ldapmodrdn ouvre une connexion au serveur LDAP et modifie le RDN des entrées.


ldappasswd

ldappasswd est un outil pour configurer le mot de passe d'un utilisateur LDAP.


ldapsearch

ldapsearch ouvre une connexion au serveur LDAP et effectue une recherche suivant les paramètres spécifiés.


ldapwhoami

ldapwhoami ouvre une connexion au serveur LDAP et effectue une opération whoami.


slapadd

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

slapcat est utilisé pour générer une sortie LDIF LDAP basé sur le contenu d'une base de données slapd.


slapd

slapd est un serveur LDAP autonome.


slapindex

slapindex est utilisé pour regénérer les index de slapd suivant le contenu actuel d'une base de données.


slappasswd

slappasswd est un outil de mot de passe pour OpenLDAP.


slurpd

slurpd est un serveur réplicat autoname pour LDAP.


liblber et libldap

Ces bibliothèques supportent les programmes LDAP et fournissent des fonctionnalités pour les autres programmes interagissant avec LDAP.


Samba-2.2.8a

Introduction à Samba

Le package Samba fournit des services fichiers et impression aux clients SMB/CIFS.


Informations sur le package


Installation de Samba

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

Explication des commandes d'installation

mkdir -p /etc/samba/private
mkdir -p /var/cache/samba
: Répertoires nécessaires pour que les démons smbd et nmbd fonctionnent correctement.

--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.


Configurer Samba

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.

Fichiers de configuration

/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.

Ajoutez un nouvel utilisateur pour le domaine DOMAIN01.

Avant de se connecter sur WIN2KBOX, nous créerons un nouvel utilisateur avec les commandes suivantes:

useradd -m win2kuser01 &&
passwd win2kuser01 &&
smbpasswd -a win2kuser01

Se connecter sur DOMAIN01.

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.


Explication des commandes de configuration

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$
: Cette commande crée un machine de confiance, nécessaire seulement pour les serveurs Windows 2000/NT pour authentifier notre nouveau PDC. Des comptes de confiance machine ne sont pas nécessaires pour les clients Win95/98.

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.


Contenu

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.


Description

make_smbcodepage

make_smbcodepage convertit les descriptions texte de pages code en fichiers page code binaires et vice-versa.


make_unicodemap

make_unicodemap convertit des fichiers texte 'unicode map' en binaire, pour utiliser les tables de caractères en unicode 16 bit.


mount.smbfs

mount.smbfs apporte à /bin/mount une façon de monter les partages de fichiers distants windows (ou samba).


nmbd

nmbd est le serveur de nom NetBIOS de Samba.


nmblookup

nmblookup est utilisé pour rechercher des noms NetBIOS et les faire correspondre à des adresses IP.


rpcclient

rpcclient est utilisé pour exécuter des fonctions MS-RPC côté client.


smbcacls

smbcacls est utilisé pour manipuler des listes de contrôles d'accès NT.


smbclient

smbclient est un utilitaire d'accès SMB/CIFS, similaire à FTP.


smbcontrol

smbcontrol est utilisé pour contrôler les démons smbd , nmbd et winbindd.


smbd

smbd est le démon principal de Samba.


smbpasswd

smbpasswd change le mot de passe d'un utilisateur Samba .


smbspool

smbspool envoie un job d'édition vers une imprimante SMB.


smbstatus

smbstatus rapporte les connexions actuelles sur Samba .


swat

swat est l'outil d'administration web de Samba (Samba Web Administration Tool).


testparm

testparm vérifie le fichier smb.conf sur sa syntaxe.


testprns

testprns teste les noms d'imprimantes.


wbinfo

wbinfo recherche un démon winbindd déjà lancé.


winbindd

winbindd résout les noms de serveurs NT.


xinetd-2.3.12

Introduction à xinetd

xinetd est le démon étendu de services InterNET, une amélioration sécurisée de inetd.


Informations sur le package

  • Téléchargement (HTTP): http://www.xinetd.org/xinetd-2.3.12.tar.gz

  • Téléchargement (FTP):

  • Taille du téléchargement: 285 Ko

  • Estimation de l'espace disque requis: 6,5 Mo

  • Estimation du temps de construction: 0,14 SBU


Installation de xinetd

Installez xinetd en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Explications des commandes d'installation

./configure --prefix=/usr : Change le répertoire d'installation par défaut par /usr/local.


Configurer xinetd

Fichier de configuration

/etc/xinetd.conf


Informations de configuration

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.


Contenu

Le package xinetd contient xinetd, itox et xconv.pl.


Description

xinetd

xinetd est le démon de services internet.


itox

itox est un outil utilisant pour convertir des fichiers inetd.conf dans le format xinetd.conf.


xconv.pl

xconv.pl est un script perl utilisé pour convertir les fichiers inetd.conf dans le format xinetd.conf, similaire à itox.

VII. Serveurs de contenu

Table des matières
24. Bases de données
25. Serveur web

Chapitre 24. Bases de données

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.


Berkeley DB-4.1.25

Introduction à Berkeley DB

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.


Informations sur le package


Installation de Berkeley DB

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.


Explications des commandes

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.


Configurer Berkeley DB

Informations de configuration

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.


Contenu

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.


Description

db_archive

db_archive affiche le chemin des fichiers de trace qui ne sont plus utilisés.


db_checkpoint

db_checkpoint est un démon utilisé pour surveiller et vérifier les traces de la base de données.


db_deadlock

db_deadlock est utilisé pour annuler les demandes de verrous lorsque des interblocages sont détectés.


db_dump

db_dump convertit des fichiers de base de donénes en un format de fichier texte lisible avec db_load.


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

db_printlog convertit des fichiers de traces de la base de données en texte lisible par un humain.


db_recover

db_recover est utilisé pour restaurer une base de données et le remettre dans un état consistant après une panne.


db_stat

db_stat affiche les statistique de l'environnement de la base de données.


db_upgrade

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

db_verify est utilisé pour lancer des vérifications de cohérences sur les fichiers de la base de données.


Berkeley DB-3.3.11

Introduction à Berkeley DB-3.3.11

Le package Berkeley DB-3.3.11 contient la version 3.3.11 de la base de données Berkeley.


Informations sur le package


Installation de Berkeley DB

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

Explication des commandes

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.


Contenu

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.


Description

db_archive

db_archive affiche les noms des chemins des fichiers de trace qui ne sont plus utilisés.


db_checkpoint

db_checkpoint est un processus démon utilisé pour surveiller les traces de la base de données.


db_deadlock

db_deadlock est utilisé pour annuler les verrouillages des requêtes lorsque les verrouillages sont détectés.


db_dump

db_dump convertit une base de données en un fichier plein lisible par db_load.


db_load

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

db_printlog convertit les fichiers de trace de la base de données en texte lisible par un humain.


db_recover

db_recover est utilisé pour réparer la base de données après une panne.


db_stat

db_stat affiche les statistiques de l'environnement de la base de données.


db_upgrade

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

db_verify est utilisé pour lancer des vérifications de cohérence sur les fichiers de la base de données.


MySQL-4.0.15a

Introduction à MySQL

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.


Informations sur le package


Installation de MySQL

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

Explication des commandes

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.


Configurer MySQL

Fichiers de MySQL

/etc/my.cnf, ~/.my.cnf


Informations de configuration

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`

Script init.d pour MySQL

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

Contenu

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.


Description

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-7.3.4

Introduction à PostgreSQL7.3.4

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.


Informations sur le package


Installation de PostgreSQL

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')

Explication des commandes

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.


Configurer PostgreSQL

Fichiers de configurations

$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

Contenu

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.


Description

clusterdb

clusterdb est un utilitaire pour reclustering les tables d'une base de données PostgreSQL.


createdb

createdb crée une nouvelle base de données PostgreSQL.


createlang

createlang définit un nouveau langage procédural PostgreSQL.


createuser

createuser définit un nouveau compte utilisateur PostgreSQL.


dropdb

dropdb supprime une base de données PostgreSQL.


droplang

droplang supprime le langage procédural PostgreSQL.


dropuser

dropuser supprime un compte utilisateur PostgreSQL.


ecpg

ecpg est le préprocesseur SQL embarqué.


initdb

initdb crée un nouveau cluster de base de données.


initlocation

initlocation crée une aire de stockage d'une seconde base de données.


ipcclean

ipcclean supprime la mémoire partagée et les sémaphores laissées par un serveur de base de données annulé.


pg_config

pg_config retrouve des informations sur la version de PostgreSQL.


pg_controldata

pg_controldata renvoit des informations initialisées lors de la commande initdb, telle que la version du catalogue et la locale du serveur.


pg_ctl

pg_ctl contrôle le démarrage et l'arrêt du serveur de base de données.


pg_dump

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_dumpall

pg_dumpall appelle récursivement pg_dump pour chaque base de données d'un cluster.


pg_resetxlog

pg_resetxlog efface les traces << write-ahead >> et réinitialise de façon optionnel quelques champs du fichier pg_control.


pg_restore

pg_restore crée une base de données de fichiers dump créés par pg_dump.


postgres

postgres est un serveur de base de données simple utilisateur, généralement utilisé pour le débuggage.


postmaster

postmaster est le démon multi-utilisateur de la base de données.


psql

psql est un shell console de bases de données.


vacuumdb

vacuumdb rend compact les bases de données et génère des statistiques pour l'analyseur de requêtes.


Chapitre 25. Serveur web

Ce chapitre inclut des applications répondant à des requêtes provenant d'Internet. Plus spécifiquement, cela couvre les requêtes HTTP et FTP.


Apache-2.0.48

Introduction à Apache

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.


Informations sur le package


Installation d'Apache

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

Explication des commandes

--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.


Configurer Apache


Informations de configuration

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

Contenu

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.


Description

ab

ab est un outil de contrôle des performances de votre serveur Apache HTTP.


apachectl

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

apxs est in outil pour contruire et installer des modules d'extension pour le serveur Apache HTTP.


dbmmanage

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

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

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.


httpd

httpd est le serveur Apache HTTP.


instdso.sh

instdso.sh est un script installant les modules DSO d'Apache.


logresolve

logresolve est un programme résolvant les adresses IP contenues dans les fichiers de traces d'accès d'Apache.


rotatelogs

rotatelogs est un simple programme à utiliser avec la fonctionnalité des fichiers de trace envoyés sur un tube.


PHP-4.3.3

Introduction à PHP

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.


Informations sur le package


Installation de PHP

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.


Configurer PHP

Fichiers de configurations

/etc/php.ini, /etc/pear.conf


Informations de configuration

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.


ProFTPD-1.2.8p

Introduction à ProFTPD

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.


Informations sur le package


Installation de ProFTPD

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

Explication des commandes

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.


Configurer ProFTPD

Fichiers de configuration

/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

Script init.d de proftpd

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

Contenu

Le package ProFTPD contient ftpcount, ftpshut, ftptop, ftpwho et proftpd.


Description

ftpcount

ftpcount affiche le nombre actuel de connexions.


ftpshut

ftpshut arrête tous les serveurs proftpd à un moment donné.


ftptop

ftptop affiche le statut en cours des connexions.


ftpwho

ftpwho affiche les informations sur l'identifiant du processus pour chaque session.


proftpd

proftpd est le démon lui-même.

VIII. X + Gestionnaires de Fenêtres


Chapitre 26. Installer X

Ce chapitre contient un environnement graphique pour l'utilisateur.


XFree86-4.3.0.1

Introduction à XFree86

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).


Informations sur le package


Dépendances de XFree86


Recommendé

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.


Instructions de téléchargement

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

Installation de XFree86

Paramétrages de compilation du noyau

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.


Créer host.def

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.


Commandes de construction

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

Mettre à jour le moteur de rendu DRI (Direct Rendering Infrastructure)

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
en dessous de radeon agpgart
dans /etc/modules.conf pour activer le support DRI.


Explication des commandes

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.


Configurer XFree86

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
Ajustez le lien symbolique comme nécessaire pour les autres types de souris. Par exemple, un souris série sur le premier port série sera lié vers ttyS1.

Créez le fichier XF86Config avec
cd ~
XFree86 -configure
L'écran va devenir noir et vous pourrez entendre des clics sur le moniteur. Cette commande va créer un fichier, XF86Config.new dans votre répertoire principal.

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
Vous obtiendrez seulement un fond d'écran gris avec un curseur de souris en forme de X, mais il confirme que le système fonctionne. Sortez avec Control-Alt-Backspace. Si le système ne fonctionne pas, jetez un oeil sur /var/log/XFree86.0.log pour voir ce qui ne va pas.

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
Ceci apporte un écran initial avec un xterm et une horloge géré par un gestionnaire de fenêtres simple, Tab Window Manager. Pour plus de détails sur twm, voir la page man.

Lancez X avec
startx
pour obtenir un système X Windows basique fonctionnel.


Contenu

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.


Description

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.


XFree86

XFree86 est l'implémentation X11R6 du serveur X Window.


xf86config

Un programme interactif pour générer un fichier XF86Config pour utiliser avec des serveurs X XFree86.


xf86cfg

xf86cfg est un outil pour configurer XFree86 qui peut être utilisé pour soit écrire le fichier de configuration initial soit personnaliser la configuration courante.


startx

startx est un script pour initialiser la session X. Il lance xinit.


xinit

Ce programme est utilisé pour lancer le serveur X Window.


twm

twn est un gestionnaire de fenêtres pour X Window.


xterm

xterm est un émulateur de terminal pour X.


xwininfo

xwininfo> est un utilitaire d'informations sur les fenêtres pour X.


x11perf

x11perf est un programme de tests de performance pour serveur X11.


xlsfonts

xslfonts est un programme pour lister les polices disponibles sur le serveur X.


xvidtune

xvidtune est un tuner de mode vidéo pour XFree86.


xload

xload affiche la charge moyenne du système pour X.


xcalc

xcalc est une calculatrice scientifique pour X.


xclock and oclock

xclock et oclock sont des horloges pour X.


xmodmap

xmodmap est un utilitaire pour modifier des plans de codage de clavier et du pointeur dans X.


Composants XFree86

Vérification de l'installation Direct Rendering Infrastructure (DRI)

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.


Ajouter des polices TrueType à XFree86

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.


Etablir un 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.


Créer fonts.scale et fonts.dir

Maintenant, allez dans le répertoire où se trouvent vos polices TrueType et lancez
mkfontscale &&
mkfontdir


S'assurer que TrueType est chargé dans XF86Config

La section "Module" devrait ressembler à ceci:
Section "Module"
        ...
        Load  "freetype"
        ...
EndSection


S'assurer que la variable FontPath dans XF86Config pointe vers le répertoire des polices TrueType

Le section "Files" devrait ressembler à ceci:
Section "Files"
        ...
	FontPath
	"/usr/X11R6/lib/X11/fonts/[TruetypeDir]/"
        ...
EndSection


Mettre à jour les fichiers de cache des polices

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.


Configurer les claviers

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.


Configurer xdm

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


Utiliser les ressources d'XFree86

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.


Chapitre 27. Bibliothèques X

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.


FreeType-2.1.5

Introduction à FreeType2

Le package FreeType2 contient une bibliothèque permettant à XFree86 d'afficher correctement les polices TrueType.


Informations sur le package


Installation de freetype2

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

Explication des commandes

sed ... include/freetype/config/ftoption.h : Nous activons l'interpréteur bytecode TrueType avant de construire la bibliothèque.


Contenu

Le package FreeType2 contient les bibliothèques libfreetype.


Description

Bibliothèques FreeType2

Les bibliothèques FreeType2 ajoutent le support des polices TrueType pour XFree86.


Fontconfig-2.2.1

Introduction à Fontconfig

Le package Fontconfig est une bibliothèque de configuration et de personnalisation d'accès aux polices de caractères.


Informations sur le package

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.


Installation de Fontconfig

Installez Fontconfig en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install

Configurer Fontconfig

Informations de configuration

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.


Contenu

Le package Fontconfig contient la bibliothèque libfontconfig, fc-cache et fc-list.


Description

fc-cache

fc-cache est une commande pour créer des caches d'informations sur les polices de caractères.


fc-list

fc-list est une commande pour lister les polices de caractères.


Qt-3.2.1

Introduction à Qt

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.


Informations sur le package


Installation de Qt

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


Explication des commandes

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.


Configurer Qt

Informations de configuration

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

Contenu

Le package Qt package contient les bibliothèques libqt-mt et libqui.


Description

Bibliothèques Qt

La bibliothèque Qt/X11 contient les API nécessaires à l'utilisation de programmes KDE.


GTK+-1.2.10

Introduction à GTK+

Le package GTK+ contient les bibliothèques GTK+. C'est utile pour créer l'interface utilisateur graphique d'applications.


Informations sur le package


Installation de GTK+

Installez GTK+ en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install

Explication de la commande

--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.


Contenu

Le package GTK+ contient les bibliothèques libgtk-1.2.


Description

Bibliothèques GTK+

Les bibliothèques GTK+ apportent une API pour implémenter des interfaces utilisateur graphiques.


Pango-1.2.5

Introduction à Pango

Le package Pango contient les bibliothèques libpango. Elles sont utiles pour le positionnement et le rendu de textes.


Informations sur le package


Installation de Pango

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

Explications des commandes

--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.


Contenu

Le package Pango contient les bibliothèques libpango.


Description

Bibliothèques Pango

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.


ATK-1.2.4

Introduction à ATK

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.


Informations sur le package


Installation de ATK

Installez ATK en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Explication des commandes

--enable-gtk-doc : Cette option construira la documentation API durant la commande make.


Contenu

Le package ATK contient les bibliothèques libatk.


Description

Bibliothèques ATK

Les bibliothèques ATK contiennent l'API utilisée par des technologies 'assistives' pour interagir avec le bureau et les applications.


GTK+-2.2.4

Introduction à GTK+

Le package GTK+ contient les bibliothèques GTK+. C'est utile pour créer des interfaces graphiques utilisateur pour les applications.


Informations sur le package


Installation de GTK+

Installez GTK+ en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install

Explication des commandes

--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.


Contenu

Le package GTK+ contient les bibliothèques libgtk-x11-2.0.


Description

Bibliothèques GTK+

Les bibliothèques GTK+ fournissent l'API pour implémenter les interfaces graphiques utilisateur.


LessTif-0.93.46

Introduction à LessTif

Le package LessTif contient une version Open Source d'OSF/Motif(R).


Informations sur le package


Installation de LessTif

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

Explication des commandes

--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.


Configurer LessTif

Informations de configuration

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.


Tester LessTif

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

Contenu

Le package LessTif contient les bibliothèques LessTif.


Description

Bibliothèques LessTif

Les bibliothèques LessTif sont des bibliothèques X Window System compatibles OSF/Motif(R) au niveau code source.


startup-notification-0.5

Introduction à startup-notification

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.


Informations sur le package


Installation de startup-notification

Installez startup-notification en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package startup-notification contient les bibliothèques libstartup-notification.


Description

Bibliothèques startup-notification

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.


Chapitre 28. Gestionnaires de fenêtres

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.


sawfish-1.3

Introduction à sawfish

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.


Informations sur le package


Installation de sawfish

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

Explications des commandes

--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.


Configurer sawfish

Informations de configuration

Assurez-vous de sauvegarder votre version actuelle .xinitrc avant de continuer.

cat >> ~/.xinitrc << "EOF"
exec sawfish
EOF

Contenu

Le package sawfish contient sawfish.


Description

sawfish

sawfish est un gestionnaire de fenêtres extensible en utilisant un langage de script basé sur Lisp.


Fluxbox-0.1.14

Introduction à Fluxbox

Le package Fluxbox contient un gestionnaire de fenêtres.


Informations sur le package


Installation de Fluxbox

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

Explication des commandes

--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.


Configurer Fluxbox

Fichiers de configuration

~/.fluxbox/init, ~/.fluxbox/keys, ~/.fluxbox/menu


Informations de configuration

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.


Contenu

Le package Fluxbox contient fluxbox, bsetbg et bsetroot.


Description

fluxbox

fluxbox est un gestionnaire de fenêtre pour X11 basé sur Blackbox 0.61.0.


bsetbg

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é.


bsetroot

bsetroot est un utilitaire blackbox permettant de changer l'apparence de la fenêtre racine.


Metacity-2.4.55

Introduction à Metacity

Le package Metacity contient un gestionnaire de fenêtres. C'est utile pour organiser et afficher les fenêtres.


Informations sur le package


Installation de Metacity

Installez Metacity en lançant les commandes suivantes:

./configure --prefix=/usr --libexec=/usr/sbin --sysconfdir=/etc &&
make &&
make install

Configurer Metacity

Informations de configuration

Assurez-vous de sauvegarder votre .xinitrc actuel avant de continuer.

cat >> ~/.xinitrc << "EOF"
xterm &
exec metacity
EOF

Contenu

Le package Metacity contient metacity.


Description

metacity

metacity est un gestionnaire de fenêtres utilisé principalement par GNOME.


XFce-4.0.0

Introduction à XFce

Le package XFce contient un environnement de bureau léger.


Informations sur le package


Installation à XFce

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.


Configurer XFce


Informations de configuration

Assurez-vous de sauvegarder votre fichier .xinitrc avant de continuer.

cat >> ~/.xinitrc << "EOF"
xfce-mcs-manager
xfwm4 --daemon
xftaskbar4 &
xfdesktop &
exec xfce4-panel
EOF

Contenu

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.


Description

xfce-mce-manager

xfce-mce-manager est le gestionnaire de configuration pour XFce.


xfce4-about

xfce4-about affiche la fenêtre d'à propos.


xfce-setting-show

xfce_setting-show affiche la configuration pour XFce.


xfce4-panel

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.


xfdesktop

xfdesktop est le gestionnaire de bureaux de XFce.


xfhelp4

xfhelp4 est un script lançant un navigateur HTML pour afficher la documentation en ligne.


xflock4

xflock4 est un script utilisé pour verrouiller l'écran actuel lors d'actions drag and drop.


xfmountdev4

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.


xfrun4

xfrun4 est un lanceur de programmes pour XFce.


xfsamba4

xfsamba4 est une interface Samba pour XFce.


xftaskbar4

xftaskbar4 est le gestionnaire de la barre de tâches pour XFce.


xfterm4

xfterm4 est un petit wrapper de terminal utilisé pour des actions de drag and drop avec le panneau d'XFce.


xftrash4

xftrash4 est un petit script utilisé pour des actions de drag and drop avec le panneau XFce.


xftree4

xftree4 est le gestionnaire de fichiers d'XFce.


xfwm4

xfwm4 est un gestionnaire de fenêtres pour X11.

IX. KDE

Introduction à KDE

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.


Chapitre 29. Packages principaux de KDE

aRts-1.1.4

Introduction à aRts

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.


Informations sur le package


Installation de aRts

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.


Explication des commandes

--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.


Configurer aRts

Informations de configuration

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

kdelibs-3.1.4

Introduction à kdelibs

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.


Informations sur le package


Installation de kdelibs

Installez kdelibs avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
     --disable-dependency-tracking --with-alsa --enable-fast-malloc=full &&
make &&
make install

Explication des commandes

--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.


Contenu

kdelibs fournit de nombreuses bibliothèques nécessaires aux programmes KDE.


kdebase-3.1.4

Introduction à kdebase

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.


Informations sur le package


Installation de kdebase

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

Explication des commandes

--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.


Contenu

Les programmes majeurs de kdebase incluent kdesktop, kaddressbook, kappfinder, kcontrol, kdeprint, kdm, kfind, khelpcenter, khotkeys, kicker, klipper, kmenuedit, konqueror, konsole, kscreensaver et ktip


Description

kdesktop

kdesktop est le programme qui gère les icônes du bureau, les menus contextuels et le système d'économiseur d'écran.


kaddressbook

kaddressbook est un simple carnet d'adresses.


kappfinder

kappfinder est un utilitaire permettant d'ajouter des applications non KDE au menu K.


kcontrol

kcontrolest le centre de contrôle de KDE.


kdeprint

kdeprint fournit l'administration des impressions.


kdm

kdm est le gestionnaire d'affichage de KDE (un remplacement à xdm).


kfind

kfind est un outil de recherche de fichiers.


khelpcenter

khelpcenter est l'outil d'aide de KDE.


khotkeys

khotkeys gère les touches multimédia pour KDE.


kicker

kicker est le panneau de contrôle de KDE.


klipper

klipper est l'outil de presse-papiers.


kmenuedit

kmenuedit est un outil de réarrangement ou d'ajout d'éléments dans le menu K.


konqueror

konqueror est un explorateur (système de fichiers et Web).


konsole

konsole est un émulateur de terminal X hautement configurable.


kscreensaver

kscreensaver est un programme de configuration de l'économiseur d'écran.


ktip

ktip est un assistant apportant aide et informations sur KDE information.


Configurer les packages principaux de KDE

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


Chapitre 30. Packages additionnels pour KDE

kdemultimedia-3.1.4

Introduction à kdemultimedia

Informations sur le package


Installation de kdemultimedia

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

Explication des commandes

--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.


Configurer kdemultimedia

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


Contenu

Le package KDE Multimedia fournit kaboodle, noatun, timidity, kmidi, kmix, kscd et aktion.


Description

kaboodle

kaboodle est un lecteur multimédia.


noatun

noatun est un autre lecteur multimédia.


timidity

timidity est un lecteur de fichiers midi.


kmidi

kmidi est une interface pour timidity.


kmix

kmix est un mixeur de sons.


kscd

kscd est un lecteur de CD.


aktion

aktion est un lecteur de vidéos.


kdenetwork-3.1.4

Introduction à kdenetwork

Informations sur le package


Installation de kdenetwork

Installez kdenetwork avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Configurer kdenetwork

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.


Contenu

Le package KDE Network fournit kmail, knewsticker, knode, kppp, ksirc, kit et korn.


Description

kmail

kmail est un client mail.


knewsticker

knewsticker est une applet pour les nouvelles intégrée au panneau de lancement de KDE.


knode

knode est un lecteur de nouvelles.


kppp

kppp est un utilitaire de connexion.


ksirc

ksirc est un client IRC.


kit

kit est un client de messagerie AOL (AIM).


korn

korn est un outil de notification de courriers.


kdegraphics-3.1.4

Introduction à kdegraphics

Informations sur le package


Installation de kdegraphics

Installez kdegraphics avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

Le package KDE Graphics fournit kcoloredit, kdvi, kfax, kfract, kghostview, kiconedit, kooka, kpaint, kruler, ksnapshot, kuickshow and kview.


Description

kcoloredit

kcoloredit est un éditeur de palettes de couleurs.


kdvi

kdvi est un visualisateur de a DVI.


kfax

kfax est un visualisateur de a FAX.


kfract

kfract est un générateur de fractales.


kghostview

kghostview est un visualisateur de a PS/PDF.


kiconedit

kiconedit est un éditeur d'icônes.


kooka

kooka est un programme de numérisation d'images.


kpaint

kpaint est un programme de dessin.


kruler

kruler est une règle pour l'écran.


ksnapshot

ksnapshot est un logiciel de captures d'écrans.


kuickshow

kuickshow est un visualisateur d'images.


kview

kview est un autre visualisateur d'images.


kdepim-3.1.4

Introduction à kdepim

Informations sur le package


Installation de kdepim

Installez kdepim avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

Le package KDE PIM fournit kalarm, kandy, karm, knotes, korganizer, kpilot et libical.


Description

kalarm

kalarm est un système d'avertissement des messages en rappel.


kandy

kandy est un programme de synchronisation de numéros de portables.


karm

karm est un gestionnaire de temps personnel.


knotes

knotes est un outil de notes.


korganizer

korganizer est un système personnel de calendrier et de liste de choses à faire.


kpilot

kpilot est un programme de synchronisation avec un Palm-Pilot.


libical

libical est une bibliothèque pour les calendriers.


kdeadmin-3.1.4

Introduction à kdeadmin

Informations sur le package


Installation de kdeadmin

Installez kdeadmin avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking --with-shadow &&
make &&
make install

Explication des commandes

--with-shadow : Cette option autorise l'utilisation des mots de passe shadow.


Contenu

Le package KDE Admin fournit kpackage, kcron, kuser, kwuftpd et ksysv.


Description

kpackage

kpackage est un gestionnaire de packages.


kcron

kcron est un gestionnaire de tâches.


kuser

kuser est un outil de gestions de la base des utilisateurs.


kwuftpd

kwuftpd est un éditeur pour FTPD.


ksysv

ksysv est un éditeur de scripts de démarrage du type Sys V-Init.


kdegames-3.1.4

Introduction à kdegames

kdegames est une compilation de différents jeux.


Informations sur le package


Installation de kdegames

Installez kdegames avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

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.


kdeutils-3.1.4

Introduction à kdeutils

Informations sur le package


Installation de kdeutils

Installez kdeutils avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

Le package KDE Utils fournit kcalc, charselectapplet, arc, kdepasswd, kdf, kedit, kfloppy, khexeditor, kjots, kljtool, klpq et ktimer.


Description

kcalc

kcalc est une calculatrice scientifique.


charselectapplet

charselectapplet est une applet pour la sélection de caractères.


arc

arc est un outil d'archivage.


kdepasswd

kdepasswd est un outil de gestion de mots de passe.


kdf

kdf est un visualisateur d'utilisation du disque.


kedit

kedit est un éditeur de texte.


kfloppy

kfloppy est un formatteur de disquette.


khexeditor

khexeditor est un éditeur binaire.


kjots

kjots est un outil de prise de notes.


kljtool

kljtool est un panneau de contrôle pour HP Laserjet.


klpq

klpq affiche la queue d'impression.


ktimer

ktimer est un gestionnaire de tâches.


kdeedu-3.1.4

Introduction à kdeedu

Informations sur le package


Installation de kdeedu

Installez kdeedu avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

Le package KDE Edu fournit keduca, kgeo, klettres, kstars, ktouch et kvoctrain.


Description

keduca

keduca - tests et examens.


kgeo

kgeo est un tutoriel interactif de géométrie.


klettres

klettres est un tutoriel pour l'alphabet (français).


kstars

kstars est un planétarium de bureau.


ktouch

ktouch est un tutoriel de frappe clavier.


kvoctrain

kvoctrain est un entraîneur pour le vocabulaire.


kdeartwork-3.1.4

Introduction à kdeartwork

kdeartwork contient des thèmes, économiseurs d'écrans, sons, fonds d'écran et styles supplémentaires pour KDE.


Informations sur le package


Installation de kdeartwork

Installez kdeartwork avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

Le package KDE Artwork fournit kscreensaver.


Description

kscreensaver

kscreensaver est l'économiseur d'écran de KDE.


kdetoys-3.1.4

Introduction à kdetoys

Informations sur le package


Installation de kdetoys

Installez kdetoys avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

Le package KDE Toys fournit amor, kaphorism, kmoon, kodo, kteatime et ktux.


Description

amor

amor - acronyme de Amusing Misuse of Resources.


kaphorism

kaphorism - aphorismes.


kmoon

kmoon est un indicateur sur la phase de la Lune.


kodo

kodo mesure la distance parcourue par votre souris.


kteatime

kteatime vous prévient pour l'heure du thé.


ktux

ktux - petit Tux à la rencontre des étoiles.


kdeaddons-3.1.4

Introduction à kdeaddons

kdeaddons contient des plugins et des scripts supplémentaires pour quelques applications KDE.


Informations sur le package


Installation de kdeaddons

Installez kdeaddons avec:

./configure --prefix=/opt/kde-3.1.4 --disable-debug \
    --disable-dependency-tracking &&
make &&
make install

Contenu

Le package KDE Addons fournit des plugins pour konqueror et noatun, des applets pour kicker et des scripts pour newskicker.

X. GNOME

Introduction à GNOME

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
Ces instructions sont très simples pour faciliter la suppression de GNOME-1.4 à partir d'un système BLFS lorsque cette version ne sera plus nécessaire. Ces instructions peuvent être redéfinies plus tard pour se conformer aux standards BLFS sur l'emplacement des fichiers, spécifiquement /opt/gnome/etc vers /etc et /opt/gnome/var vers /var. Vous devriez utiliser l'astuce LFS sur GNOME-1.4 située sur http://hints.linuxfromscratch.org/hints si vous n'êtes pas intéressé par GNOME-2.2.

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


Chapitre 31. Bibliothèques GNOME

Configuration de pre-installation

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
Si vous souhaitez essayer GNOME:

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

GTK-Doc-1.0

Introduction à GTK-Doc

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.


Informations sur le package


Installation de GTK-Doc

Installez GTK-Doc en lançant les commandes suivantes:

./configure --prefix=/usr &&
make install

Contenu

Le package GTK-Doc contient gtkdoc-fixxref, gtkdoc-mkdb, gtkdoc-mkhtml, gtkdoc-mkman, gtkdoc-mktmpl, gtkdoc-scan, gtkdoc-scangobj et gtkdoc-scanobj.


Description

Ce sont tous des scripts Perl utilisé par les scripts Makefile pour générer la documentation des packages.


linc-1.0.3

Introduction à linc

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.


Informations sur le package


Installation de linc

Installez linc en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --with-openssl --disable-gtk-doc &&
make &&
make install

Explication des commandes

--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.


Contenu

Le package linc contient les bibliothèques liblinc.


Description

Bibliothèques liblinc

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).


libIDL-0.8.2

Introduction à libIDL

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.


Informations sur le package


Installation de libIDL

Installez libIDL en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libIDL contient les bibliothèques libIDL.


Description

Bibliothèques libIDL

Les bibliothèques libIDL apportent les fonctions de création et de maintenance des arbres de fichiers IDL (CORBA Interface Definition Language).


ORBit2-2.6.2

Introduction à ORBit2

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.


Informations sur le package


Installation de ORBit2

Installez ORBit2 en lançant les commandes suivantes:

ldconfig &&
./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package ORBit2 contient les bibliothèques libORBit-2 et libORBitCosNaming-2.


Description

libORBit-2

libORBit-2 est l' API CORBA.


libORBitCosNaming

Aucune description disponible.


intltool-0.26

Introduction à intltool

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.


Informations sur le package


Installation de intltool

Installez intltool en lançant les commandes suivantes:

./configure --prefix=/usr --mandir=/usr/share/man &&
make &&
make install

Contenu

Le package intltool contient intltoolize, intltool-update, intltool-extract, intltool-merge, intltool-prepare et intltool-unicodify.


Description

intltoolize

intltoolize prépare un package à utiliser intltool.


intltool-update

intltool-update mets à jour les fichiers modèles po et les assemble avec les traducteurs.


intltool-extract

intltool-extract génère les fichiers d'entête qui peut être lu par gettext.


intltool-merge

intltool-merge assemble les phrases traduites dans différents types de fichiers.


intltool-prepare

intltool-prepare mets à jour les fichiers pot et les assemble avec les fichiers de traduction.


intltool-unicodify

intltool-unicodify est un utilitaire d'encodage unicode.


Bonobo Activation-2.2.2

Introduction à Bonobo Activation

Le package Bonobo Activation contient les bibliothèques libbonobo-activation. Elles sont utiles pour le nouvel 'Object Activation Framework' (OAF) pour GNOME.


Informations sur le package


Installation de Bonobo Activation

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

Explication des commandes

--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.


Contenu

Le package Bonobo Activation contient les bibliothèques libbonobo-activation.


Description

libbonobo-activation

Aucune description disponible.


libbonobo-2.2.3

Introduction à libbonobo

Le package libbonobo contient les bibliothèques libbonobo. C'est un système de composants et de documents composés pour GNOME.


Informations sur le package


Installation de libbonobo

Installez libbonobo en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --disable-gtk-doc  &&
make &&
make install 

Contenu

Le package libbonobo contient les bibliothèques libbonobo.


Description

Bibliothèques libbonobo

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.


GConf-2.2.1

Introduction à GConf

Le package GConf contient un système base de données de configuration.


Informations sur le package


Installation de GConf

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

Explication des commandes

--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.


Contenu

Le package GConf contient les bibliothèques libgconf.


Description

Bibliothèques libgconf

Les bibliothèques libgconf apportent les fonctions nécessaires à la maintenance de la base de données de configuration.


GNOME MIME Data-2.2.1

Introduction à GNOME MIME Data

Le package GNOME MIME Data contient l'ensemble de base des types de fichiers et d'applications pour GNOME.


Informations sur le package


Installation de GNOME MIME Data

Installez GNOME MIME Data en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome &&
make &&
make install

Explication de la commande

--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.


Contenu

Le package GNOME MIME Data contient $GNOME_PREFIX/share/icons, $GNOME_PREFIX/share/application-registry et $GNOME_PREFIX/share/mime-info.


Description

icons

icons contient toutes les icônes par défaut des types de document.


application-registry

application-registry contient la base de données mime des applications.


mime-info

mime-info contient la base de données mime de descriptions.


GNOME Virtual File System-2.2.5

Introduction à GNOME Virtual File System

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.


Informations sur le package


Installation de GNOME Virtual File System

Installez GNOME Virtual File System en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome --disable-gtk-doc &&
make &&
make install

Explication de la commande

--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.


Contenu

Le package GNOME Virtual File System contient les bibliothèques libgnomevfs.


Description

Bibliothèques libgnomevfs

Aucune description disponible.


libgnome-2.2.3


Installation de libgnome

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

Explication des commandes

--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.


Contenu

Le package libgnome contient les bibliothèques libgnome.


Description

Bibliothèques libgnome

Les bibliothèques libgnome sont la partie non GUI des bibliothèques GNOME.


libart_lgpl-2.3.11

Introduction à libart_lgpl

Le package libart_lgpl contient les bibliothèques libart. C'est utile pour les graphiques 2D hautes-performances.


Informations sur le package


Installation de libart_lgpl

Installez libart_lgpl en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libart_lgpl contient les bibliothèques libart_lgpl.


Description

Bibliothèques libart_lgpl libraries

La bibliothèque libart_lgpl est utilisé comme moteur de rendu avec anti-aliasing pour libgnomecanvas.


libglade-2.0.1

Introduction à libglade

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.


Informations sur le package


Installation de libglade

Installez libglade en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Explication des commandes

--enable-gtk-doc : Cette option permet d'activer la reconstruction de la documentation html.


Contenu

Le package libglade contient les bibliothèques libglade.


Description

Bibliothèques libglade

Les bibliothèques libglade contiennent les fonctions nécessaires pour charger les fichiers d'interface glade.


libgnomecanvas-2.2.1

Introduction à libgnomecanvas

Le package libgnomecanvas contient les bibliothèques libgnomecanvas.


Informations sur le package


Installation de libgnomecanvas

Installez libgnomecanvas en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --disable-gtk-doc &&
make &&
make install

Explication des commandes

--disable-gtk-doc: Cette option empêche la reconstruction de la documentation de l'API lors de la commande make.


Contenu

Le package libgnomecanvas contient les bibliothèques libgnomecanvas.


Description

Bibliothèques libgnomecanvas

Aucune description disponible.


libbonoboui-2.2.2

Introduction à libbonoboui

Le package libbonoboui contient les bibliothèques libbonoboui.


Informations sur le package


Installation de libbonoboui

Installez libbonoboui en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --disable-gtk-doc &&
make &&
make install

Contenu

Le package libbonoboui contient les bibliothèques libbonoboui.


Description

Bibliothèques libbonoboui

Les bibliothèques libbonoboui sont la partie interface (GUI) des bibliothèques Bonobo.


GNOME Icon Theme-1.0.6

Introduction à GNOME Icon Theme

Le package GNOME Icon Theme contient un assortiment d'icônes de toutes tailles et pour tout thème.


Installation de GNOME Icon Theme

Installez GNOME Icon Theme en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package GNOME Icon Theme contient des icônes.


libgnomeui-2.2.2

Introduction à libgnomeui

Le package libgnomeui contient les bibliothèques libgnomeui.


Informations sur le package


Installation de libgnomeui

Installez libgnomeui en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin \
--disable-gtk-doc &&
make &&
make install

Explication des commandes

--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.


Contenu

Le package libgnomeui contient des bibliothèques libgnomeui.


Description

Bibliothèques libgnomeui

Les bibliothèques libgnomeui sont la partie interface (GUI) des bibliothèques GNOME.


libwnck-2.2.2

Introduction à libwnck

Le package libwnck contient un kit de construction de fenêtres de navigation (Window Navigator Construction Kit).


Informations sur le package


Installation de libwnck

Installez libwnck en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package libwnck contient les bibliothèques libwnck.


Description

Bibliothèques libwnck

Les bibliothèques libwnck contiennent des fonctions pour écrire des 'pagers' et des listes de tâches.


GTK Engines-2.2.0

Introduction à GTK Engines

Le package GTK Engines contient trois thèmes pour GTK2.


Informations sur le package


Installation de GTK Engines

Installez GTK Engines en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package GTK Engines contient les bibliothèques engines et les fichiers de thèmes.


Description

Bibliothèques des bibliothèques engines

Les bibliothèques engines sont les systèmes de gestion des thèmes spécifiques.


Fichiers thèmes

Les fichiers thèmes inclus sont Pixmap, Metal et Redmond95.


GTK ThinIce Engine-2.0.2

Introduction à GTK ThinIce Engine

Le package GTK ThinIce Engine contient quelques ensembles de thèmes.


Informations sur le package


Installation de GTK ThinIce Engine

Installez GTK ThinIce Engine en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package GTK ThinIce Engine contient des thèmes.


GNOME Themes-2.2.2

Introduction à GNOME Themes

Le package GNOME Themes contient plusieurs thèmes.


Informations sur le package


Installation de GNOME Themes

Installez GNOME Themes en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package GNOME Themes contient des thèmes.


ScrollKeeper-0.3.12

Introduction à ScrollKeeper

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.


Informations sur le package


Installation de ScrollKeeper

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

Explication des commandes

--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.


Configurer ScrollKeeper

Fichier de configuration

/etc/scrollkeeper.conf


Informations de configuration

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.


Contenu

Le package ScrollKeeper contient les bibliothèques scrollkeeper et les utilitaires scripts.


Description

Bibliothèques scrollkeeper

Les bibliothèques libscrollkeeper apportent l'API nécessaire pour que les navigateurs d'aide interagissent avec la documentation écrite en utilisant ScrollKeeper.


Utilitaires scripts

Ils réalisent l'installation, la constrution, la récupération et la mise à jour des fichiers de table des matières.


VTE-0.10.29

Introduction à VTE

Le package VTE contient l'implémentation d'un fichier termcap pour les émulateurs de terminaux.


Informations sur le package


Installation de VTE

Installez VTE en lançant les commandes suivantes:

./configure --prefix=/usr --libexecdir=/usr/sbin --disable-gtk-doc &&
make &&
make install

Explication des commandes

--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.


Contenu

Le package VTE contient les bibliothèques vte, vte et gnome-pty-helper


Description

Bibliothèques vte

Les bibliothèques libvte apporte les fonctions nécessaires pour implémenter un "fichier termcap" pour les émulateurs de terminaux.


vte

vte est une application test pour les bibliothèques vte.


gnome-pty-helper

Aucune description disponible.


libgtop-2.0.2

Introduction à libgtop

Le package libgtop contient les bibliothèques top de GNOME.


Informations sur le package


Installation de libgtop

Installez libgtop en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package libgtop contient les bibliothèques libgtop.


Description

Bibliothèques libgtop

Les bibliothèques libgtop contiennent les fonctions permettant l'accès aux données de performance du système.


GAIL-1.2.2

Introduction à GAIL

Le package GAIL contient les bibliothèques d'implémentation de l'accessibilité GNOME (Gnome Accessibility Implementation Libraries).


Informations sur le package


Installation de GAIL

Installez GAIL en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --disable-gtk-doc &&
make &&
make install

Contenu

Le package GAIL contient les bibliothèques libgailutil.


Description

Bibliothèques libgailutil

Les bibliothèques libgailutil apportent les fonctions résolvant les problèmes d'accessibilité d'une manière consistante dans tout GNOME.


AT SPI-1.1.9

Introduction à AT SPI

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.


Informations sur le package


Installation de AT SPI

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

Explication des commandes

--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.


Contenu

Le package AT SPI contient les bibliothèques libcspi , libspi ainsi que at-spi-registryd


Description

Bibliothèques libcspi

Aucune description n'est disponible.


Bibliothèques libspi

Aucune description n'est disponible.


at-spi-registryd

at-spi-registryd est le démon de registres autorisant la communication entre l'interface utilisateur (UI) et les périphériques d'assistance.


libgail-gnome-1.0.2

Introduction à libgail-gnome

Le package libgail-gnome contient un lieur entre GAIL et GNOME.


Informations sur le package


Installation de libgail-gnome

Installez libgail-gnome en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package libgail-gnome contient des bibliothèques libgail-gnome.


Description

Bibliothèques libgail-gnome

Aucune description disponible.


librsvg-2.2.5

Introduction à librsvg

Le package librsvg contient les bibliothèques librsvg.


Informations sur le package


Installation de librsvg

Installez librsvg en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome --disable-gtk-doc &&
make &&
make install

Contenu

Le package librsvg contient les bibliothèques librsvg.


Description

Bibliothèques librsvg

Les bibliothèques librsvg apportent les fonctions permettant l'affichage de graphiques SVG (Scalable Vector Graphics).


EEL-2.2.4

Introduction à EEL

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.


Informations sur le package


Installation de EEL

Installez EEL en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package EEL contient les bibliothèques libeel.


Description

Bibliothèques libeel

Les bibliothèques libeel sont une collection de composants développés par le projet Nautilus.


libgtkhtml-2.2.4

Introduction à libgtkhtml

Le package libgtkhtml contient les bibliothèques libgtkhtml.


Informations sur le package


Installation de libgtkhtml

Installez libgtkhtml en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package libgtkhtml contient les bibliothèques libgtkhtml.


Description

Bibliothèques libgtkhtml

Les bibliothèques libgtkhtml apportent les fonctions nécessaires pour afficher et/ou éditer du HTML.


libgsf-1.8.2

Introduction à libgsf

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.


Informations sur le package


Installation de libgsf

Installez libgsf en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --disable-gtk-doc &&
make &&
make install 

Explication des commandes

--disable-gtk-doc: Cette option empêche la reconstruction de la documentation de l'API lors de la commande make.


Contenu

Le package libgsf contient les bibliothèques libgsf et libgsf-gnome.


GAL-1.99.9

Introduction à GAL

Le package GAL contient des fonctions de bibliothèques provenant d'Evolution. GAL est l'acronyme de GNOME Application Libs.


Informations sur le package


Installation de GAL

Installez GAL en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package GAL contient les routines factorisées d'Evolution et Gnumeric.


libgnomeprint-2.2.1.3

Introduction à libgnomeprint

Le package libgnomeprint contient les bibliothèques libgnomeprint.


Informations sur le package


Installation de libgnomeprint

Installez libgnomeprint en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome &&
make &&
make install

Explication de la commande

--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.


Contenu

Le package libgnomeprint contient les bibliothèques libgnomeprint.


Description

Bibliothèques libgnomeprint

Les bibliothèques libgnomeprint implémentent l'architecture d'impression GNOME.


libgnomeprintui-2.2.1.3

Introduction à libgnomeprintui

Le package libgnomeprintui contient les bibliothèques libgnomeprintui.


Informations sur le package


Installation de libgnomeprintui

Installez libgnomeprintui en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Explication des commandes

--enable-gtk-doc: Cette option reconstruit la documentation lors de la commande make.


Contenu

Le package libgnomeprintui contient les bibliothèques libgnomeprintui.


Description

Bibliothèques libgnomeprintui

Les bibliothèques libgnomeprintui sont la partie interface (GUI) de l'implémentation de l'architecture d'impression GNOME.


GtkHTML-3.0.8

Introduction à GtkHTML

Le package GtkHTML contient un moteur légé de rendu/impression/édition HTML. C'est une application spécifique à evolution pour le moment.


Informations sur le package


Installation de GtkHTML

Installez GtkHTML en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package GtkHTML contient les bibliothèques libgtkhtml.


Description

Bibliothèques libgtkhtml

Les bibliothèques libgtkhtml apportent des fonctions de rendu HTML pour les applications.


Chapitre 32. GNOME core

Cette section contient les éléments requis de l'environnement GNOME pour affiche un bureau fonctionnel.


GNOME Desktop-2.2.2

Introduction à GNOME Desktop

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.


Informations sur le package


Installation de GNOME Desktop

Installez GNOME Desktop en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome &&
make &&
make install

Explication de la commande

--sysconfdir=/etc/gnome : Cette commande place les fichiers de configuration dans /etc/gnome au lieu de $GNOME_PREFIX/etc.


Contenu

Le package GNOME Desktop contient les bibliothèques libgnome-desktop, gnome-about.


Description

Bibliothèques libgnome-desktop

Les bibliothèques libgnome-desktop contiennent les API en cours de test pour être incluses dans libgnome ou libgnomeui.


gnome-about

gnome-about donne l'écran d'à propos.


GNOME Panel-2.2.2.2

Introduction à GNOME Panel

Le package GNOME Panel contient le menu et le système d'applets.


Informations sur le package


Installation de GNOME Panel

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

Explication des commandes

--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.


Contenu

Le package GNOME Panel contient les bibliothèques libpanel-applet et les applets.


Description

Bibliothèques libpanel-applet

Les bibliothèques libpanel-applet permettent le développement de petites applications, appelés applets, embarquées dans le panneau.


Applets

Les Applets inclus sont Workspace Switcher, Window List, Inbox Monitor, Clock et 'Wanda the Fish'.


GNOME Session-2.2.2

Introduction à GNOME Session

Le package GNOME Session contient le gestionnaire de sessions GNOME.


Informations sur le package


Installation de GNOME Session

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

Explication des commandes

--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.


Contenu

Le package GNOME Session contient gnome-session, des utilitaires de session et un gestionnaire proxy.


Description

gnome-session

gnome-session lance le bureau GNOME.


Utilitaires session

Les utilitaires session incluent un programme de configuration et d'autres utilitaires relatifs à la gestion de sessions.


manager proxy

manager proxy gère la gestion basique de sessions pour les applications ne supportant pas XSM.


Control Center-2.2.2

Introduction à Control Center

Le package Control Center contient les gestionnaires de paramétrages GNOME.


Informations sur le package


Installation de Control Center

Installez Control Center en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \
--sysconfdir=/etc/gnome &&
make &&
make install

Explication des commandes

--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.


Contenu

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.


Description

gnome-control-center

Aucune description disponible.


gnome-settings-daemon

Aucune description disponible.


Chapitre 33. Additional GNOME Packages

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.


GNOME Terminal-2.2.2

Introduction à GNOME Terminal

Le package GNOME Terminal contient la console. Il est utile pour exécuter des programmes à partir d'une invite (prompt).


Informations sur le package


Installation de GNOME Terminal

Installez GNOME Terminal en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \
--sysconfdir=/etc/gnome &&
make &&
make install

Explication des commandes

--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.


Contenu

Le package GNOME Terminal contient gnome-terminal.


Description

gnome-terminal

gnome-terminal apporte l'invite des commandes dans l'environemment GNOME.


GNOME System Monitor-2.0.5

Introduction à GNOME System Monitor

Le package GNOME System Monitor contient procman, le remplacement de gtop pour GNOME.


Informations sur le package


Installation de GNOME System Monitor

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.


Explication des commandes

--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.


Contenu

Le package GNOME System Monitor contient gnome-system-monitor.


Description

gnome-system-monitor

gnome-system-monitor affiche l'arbre des processus en cours et des mesures matériels.


GNOME Applets-2.2.2

Introduction à GNOME Applets

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.


Informations sur le package


Installation de GNOME Applets

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

Explication des commandes

--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.


Contenu

Le package GNOME Applets contient les applets battstat, cdplayer, charpick, drivemount, geyes, gkb, gtik2, gweather, mini-commander, mixer, modemlights et multiload.


Description

applets

Ce sont de petits programmes conçus pour être lancé dans le panneau.


GNOME Utilities-2.2.3

Introduction à GNOME Utilities

Le package GNOME Utilities contient une collection de petites applications réalisées pou vous rendre la vie un peu plus facile.


Informations sur le package


Installation de GNOME Utilities

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

Explication des commandes

--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.


Contenu

Le package GNOME Utilities package contient gnome-system-log, gnome-character-map, gnome-calculator, gnome-search-tool, gnome-dictionary, archive-generator, gfloppy et gdialog.


Description

gnome-system-log

gnome-system-log vous permet de visualiser les fichiers de traces du système.


gnome-character-map

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

gnome-calculator est une simple calculatrice mathématique et scientifique incluant des fonctions arithmétiques, trigonométriques et logarythmiques.


gnome-search-tool

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

gnome-dictionary vous permet de rechercher la définition et l'orthographe correct de mots.


archive-generator

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.


gfloppy

gfloppy formatte des disquettes sous Linux.


gdialog

gdialog ne fonctionne pas encore.


GNOME Games-2.2.1

Introduction à GNOME Games

Le package GNOME Games contient des jeux.


Informations sur le package


Installation de GNOME Games

Installez GNOME Games en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \
--sysconfdir=/etc/gnome &&
make &&
make install

Explication des commandes

--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.


Contenu

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.


Nautilus-2.2.4

Introduction à Nautilus

Le package Nautilus contient le shell GNOME et un gestionnaire de fichiers.


Informations sur le package


Installation de Nautilus

Installez Nautilus en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --sysconfdir=/etc/gnome \
--libexecdir=$GNOME_PREFIX/sbin && 
make &&
make install

Explication des commandes

--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.


Contenu

Le package Nautilus contient nautilus et les bibliothèques nautilus.


Description

nautilus

nautilus est le gestionnaire de fichiers GNOME.


Bibliothèques nautilus

Les bibliothèques nautilus apportent les fonctions nécessaires au gestionnaire de fichiers.


Yelp-2.2.3

Introduction à Yelp

Le package Yelp contient le navigateur d'aide. Il est utile pour visualiser les fichiers d'aide.


Informations sur le package


Installation de Yelp

Installez Yelp en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --libexecdir=$GNOME_PREFIX/sbin &&
make &&
make install

Explication de la commande

--libexecdir=$GNOME_PREFIX/sbin : Cette commande place les fichiers libexec dans $GNOME_PREFIX/sbin au lieu de $GNOME_PREFIX/libexec.


Contenu

Le package Yelp contient yelp.


Description

yelp

yelp est le navigateur d'aide GNOME.


bug-buddy-2.2.106

Introduction à bug-buddy

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'.


Informations sur le package


Installation de bug-buddy

Installez bug-buddy en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib &&
make &&
make install

Explication de la commande

--localstatedir=/var/lib : Cette commande place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.


Contenu

Le package bug-buddy contient bug-buddy.


Description

bug-buddy

bug-buddy est un système graphique de rapport de bugs.


gedit-2.2.2

Introduction à gedit

Le package gedit contient un éditeur de texte légé UTF-8 pour le bureau GNOME.


Informations sur le package


Installation de gedit

Installez gedit en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib \
--sysconfdir=/etc/gnome &&
make &&
make install

Explication des commandes

--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.


Contenu

Le package gedit contient gedit.


Description

gedit

gedit est un éditeur de texte légé.


EOG-2.2.2

Introduction à EOG

Le package EOG contient Eyes of GNOME. Il est utile pour visualiser et cataloguer des fichiers image.


Informations sur le package


Installation de EOG

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

Explication des commandes

--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.


Contenu

Le package EOG contient eog.


Description

eog

eog est un visualisateur d'images rapide et fonctionnel, mais aussi un programme de cataloguage d'images.


GStreamer-0.6.2

Introduction à GStreamer

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.


Informations sur le package


Installation de GStreamer

Installez GStreamer en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib  &&
make &&
make install &&
gst-register 

Explication sur les commandes

--localstatedir=/var/lib: Cette option place le cache de gst-register dans /var/lib/cache au lieu de $GNOME_PREFIX/var/cache.


Contenu

Le package GStreamer contient les bibliothèques libgstreamer et libgst.


gst-plugins-0.6.2


Installation de gst-plugins

Installez gst-plugins en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install &&
gst-register

Contenu

Le package gst-plugins contient les bibliothèques libgst*.


GNOME Media-2.2.2

Introduction à GNOME Media

Le package GNOME Media contient les applications média de GNOME.


Informations sur le package


Installation de GNOME Media

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

Explication des commandes

--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.


Contenu

Le package GNOME Media contient gnome-sound-recorder, gnome-cd, gnome-volume-control et vumeter.


Description

gnome-sound-recorder

gnome-sound-recorder est l'enregistreur GNOME.


gnome-cd

gnome-cd est le lecteur de CDs GNOME.


gnome-volume-control

gnome-volume-control est le mixeur GNOME avec l'applet volume.


vumeter

vumeter est un mesureur visuel de volume.


Nautilus Media-0.2.2

Introduction à Nautilus Media

Le package Nautilus Media contient les applications média de GNOME et utilisé par nautilus.


Informations sur le package


Installation de Nautilus Media

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

Explications sur les commandes

--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.


Contenu

Le package Nautilus Media contient nautilus-audio-view et ses bibliothèques de support.


Description

nautilus-audio-view

nautilus-audio-view affiche le répertoire en tant que pistes audio.


GNOME2 User Docs-2.0.6

Introduction à GNOME2 User Docs

Le package GNOME2 User Docs contient des documents pour les utilisateurs de GNOME.


Informations sur le package


Installation de GNOME2 User Docs

Installez GNOME2 User Docs en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX --localstatedir=/var/lib &&
make &&
make install

Explication de la commande

--localstatedir=/var/lib : Cette commande place les fichiers de ScrollKeeper dans /var/lib/scrollkeeper au lieu de $GNOME_PREFIX/var/scrollkeeper.


Contenu

Le package GNOME2 User Docs contient les fichiers OMF.


Description

Fichiers OMF

Les fichiers OMF contiennent de la documentation utilisateur. Ceci inclut les introductions et aides sur les packages principaux.


Chapitre 34. Autres packages GNOME

Cette section contient les autres packages GNOME.


GConf Editor-0.4.1

Introduction à GConf Editor

Le package GConf Editor contient un éditeur GUI pour la base de données de configuration de GConf.


Informations sur le package


Installation de GConf Editor

Installez GConf Editor en lançant les commandes suivantes:

./configure --prefix=$GNOME_PREFIX &&
make &&
make install

Contenu

Le package GConf Editor contient gconf-editor.


Description

gconf-editor

gconf-editor permet la modification directe de la base de données de configuration de GConf.


GDM-2.4.1.4

Introduction à GDM

Le package GDM contient le démon gérant l'affichage GNOME. Il est utile pour la configuration de connexions graphiques.


Informations sur le package


Installation de GDM

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

Explication des commandes

--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.


Configurer GDM

Fichiers de configuration

/opt/gnome2/gdm.conf, /opt/gnome2/gnomerc


Informations de configuration

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:

Contenu

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.


Description

gdm

gdm est un script wrapper exécutant l'exécutable GDM, l'invite de connexion basé sur GNOME.


gdmchooser

gdmchooser est une application pour sélectionner les hôtes activés par XDMCP sur le réseau local.


gdmsetup

gdmsetup est une interface graphique pour éditer gdm.conf.


gdm-restart et gdm-safe-restart

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

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.


Chapitre 35. Configurer Gnome

Ce chapitre fait de GNOME votre environnement de bureau de choix lorsque startx est lancé.


Configurer les packages principaux de GNOME

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.


Chapitre 36. Bibliothèques GNOME 1.4

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.


Configuration de pré-installation

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

ORBit-0.5.17

Introduction à ORBit

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.


Informations sur le package


Installation de ORBit

Installez ORBit en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Contenu

Le package ORBit contient les bibliothèques libIDL, libIIOP, libORBit, libORBitCosNaming et libORBitutil.


Description

libIDL

La bibliothèque libIDL est l'acronyme de "Interface Definition Language mappings" pour CORBA.


libIIOP

La bibliothèque libIIOP est nécessaire pour les communications bas niveau de CORBA.


libORBit

La bibliothèque libORBit est l'API CORBA.


libORBitCosNaming

Aucune description disponible.


libORBitutil

La bibliothèque libORBitutil contient les routines pratiques pour ORBit.


OAF-0.6.10

Introduction à OAF

Le package OAF contient le groupe d'activation d'objets (Object Activation Framework for GNOME).


Informations sur le package


Installation de OAF

Installez OAF en lançant les commandes suivantes:

ldconfig &&
./configure --prefix=/opt/gnome --disable-gtk-doc &&
make &&
make install

Contenu

Le package OAF contient les bibliothèques liboaf.


Description

Bibliothèques liboaf

Aucune description disponible.


GNOME Libraries-1.4.2

Introduction à GNOME Libraries

Le package GNOME Libraries contient les bibliothèques de GNOME. C'est utile comme fondation à l'environnement de bureau et aux applications GNOME.


Informations sur le package


Installation de GNOME Libraries

Installez GNOME Libraries en lançant les commandes suivantes:

./configure --prefix=/opt/gnome --disable-gtk-doc &&
make &&
make install

Configurer les GNOME Libraries

Fichiers de configuration

/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


Contenu

Le package GNOME Libraries contient les bibliothèques libgnome, libgnomeui, libgnomesupport, libart_lgpl, libgtk-xmhtml, libgnorbagtk et libzvt.


Description

libgnome

La bibliothèque libgnome est la partie non GUI des bibliothèques GNOME.


libgnomeui

libgnomeui est la partie interface (GUI) des bibliothèques GNOME.


libgnomesupport

Aucune description disponible.


libart_lgpl

La bibliothèque libart_lgpl est le composant LGPL de libart.


libgtk-xmhtml

Aucune description disponible.


libgnorbagtk

libgnorbagtk est l'ensemble GTK CORBA de GNOME.


libzvt

La bibliothèque libzvt fournit les fonctions nécessaires pour émuler xterm.


GDK Pixel Buffer-0.22.0

Introduction à GDK Pixel Buffer

Le package GDK Pixel Buffer est la bibliothèque de tampons pixel de GTK+.


Informations sur le package


Installation de GDK Pixel Buffer

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

Contenu

Le package GDK Pixel Buffer contient les bibliothèques libgdk_pixbuf.


Description

Bibliothèques libgdk_pixbuf

Les bibliothèques libdgk_pixbuf contiennent les bibliothèques de tampons pixels de GTK+ pour le GIMP Toolkit.


GNOME Print-0.37

Introduction à GNOME Print

Le package GNOME Print contient l'architecture d'impression GNOME, pour GNOME 1.4.


Informations sur le package


Installation de GNOME Print

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

Explication de la commande

--with-zlib=/usr : Configure GNOME Print pour qu'il utilise la version zlib du système installée dans /usr.


Contenu

Le package GNOME Print contient les bibliothèques d'impression de GNOME 1.4.


Bonobo-1.0.22

Introduction à Bonobo

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.


Informations sur le package


Installation de Bonobo

Installez Bonobo en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Explication des commandes

--prefix=/opt/gnome : Installe Bonobo dans l'emplacement de GNOME 1.4.


Contenu

Le package Bonobo contient les bibliothèques GNOME 1.4 de composants et de documents composés.


GConf-1.0.9

Introduction à GConf

Le package GConf contient un système de bases de données pour la configuration.


Informations sur le package


Installation de GConf

Installez GConf en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Contenu

Le package GConf contient les bibliothèques libgconf.


Description

Bibliothèques libgconf

Les bibliothèques libgconf apportent les fonctions nécessaires au maintien de la base de données de configuration.


GNOME Virtual File System-1.0.5

Introduction à GNOME Virtual File System

Le package GNOME Virtual File System contient les bibliothèques du système de fichiers.


Informations sur le package


Installation de GNOME Virtual File System

Installez GNOME Virtual File System en lançant les commandes suivantes:

./configure --prefix=/opt/gnome --disable-gtk-doc &&
make &&
make install

Configurer GNOME Virtual File System

Informations de configuration

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.


Contenu

Le package GNOME Virtual File System contient les bibliothèques libgnomevfs.


Description

Bibliothèques libgnomevfs

Aucune description disponible.


libglade-0.17

Introduction à libglade

Le package libglade contient des bibliothèques qui permettent aux applications de charger les fichiers d'interface Glade à l'exécution.


Informations sur le package


Installation de libglade

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

Explication des commandes

--enable-bonobo : Active le support de Bonobo.


Contenu

Le package libglade contient les bibliothèques de chargement de fichiers d'interface Glade.


GAL-0.24

Introduction à GAL

Le package GAL contient des fonctions de bibliothèques provenant de Gnumeric et d'Evolution. GAL est l'acronyme de GNOME Application Libs.


Informations sur le package


Installation de GAL

Installez GAL en lançant les commandes suivantes:

./configure --prefix=/opt/gnome --disable-gtk-doc &&
make &&
make install

Explication de la commande

--prefix=/opt/gnome : Installe GAL à l'emplacement de GNOME 1.4.


Contenu

Le package GAL contient des routines de bibliohèques recréées à partir de Evolution et Gnumeric.


Guppi-0.40.3

Introduction à Guppi

Le package Guppi contient un programme de dessin scriptable Guile avec des fonctionnalités intégrées de statistiques.


Informations sur le package


Installation de Guppi

Installez Guppi en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Explication de la commande

--prefix=/opt/gnome : Installe Guppi à l'emplacement de GNOME 1.4.


Contenu

Le package Guppi contient des bibliothèques de graphes et des plugins pour GNOME 1.4.


libcapplet-1.5.11

Introduction à libcapplet

Le package libcapplet contient une bibliothèque de contrôle des applets du panneau.


Informations sur le package


Installation de libcapplet

Installez libcapplet en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Explication de la commande

--prefix=/opt/gnome : Installe libcapplet à l'emplacement de GNOME 1.4.


Contenu

Le package libcapplet contient une bibliothèque pour applet du panneau de contrôle.


Soup-0.7.11

Introduction à Soup

Le package Soup contient une implémentation de SOAP (Simple Object Access Protocol) en C.


Informations sur le package


Installation de Soup

Installez Soup en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Explication de la commande

--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.


Contenu

Le package Soup contient les bibliothèques SOAP, utilisé pour implémenter les appels XML de procédures distantes.


GtkHTML-1.1.7

Introduction à GtkHTML

Le package GtkHTML contient un moteur léger de rendu/impression/édition HTML.


Informations sur le package


Installation de GTK HTML

Installez GTK HTML en lançant les commandes suivantes:

./configure --prefix=/opt/gnome --disable-gtk-doc &&
make &&
make install

Explication de la commande

--prefix=/opt/gnome : Installe GTK HTML à l'emplacement de GNOME 1.4.


Contenu

Le package GtkHTML contient le moteur de rendu HTML de GNOME 1.4.


libghttp-1.0.9

Introduction à libghttp

Le package libghttp contient une bibliothèque HTTP client pour GNOME 1.4.


Informations sur le package


Installation de libghttp

Installez libghttp en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Explication de la commande

--prefix=/opt/gnome : Installe libghttp à l'emplacement de GNOME 1.4.


Contenu

Le package libghttp contient une bibliothèque client HTTP pour Gnome 1.4.


Chapitre 37. Programmes de bureau individuels

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.


AbiWord-2.0.0

Introduction à AbiWord

Le package AbiWord contient une application de traitement de texte. C'est utile pour écrire des rapports, lettres et autres documents formatés.


Informations sur le package


Installation de AbiWord

Installez AbiWord en lançant les commandes suivantes:

cd abi &&
./configure --prefix=/usr &&
make &&
make install

Contenu

Le package AbiWord contient AbiWord.


Description

AbiWord

AbiWord ou abiword est un ensemble de scripts pour l'exécutable AbiWord.


Gnumeric-1.2.0

Introduction à Gnumeric

Le package Gnumeric contient un tableur. Ceci est utile pour établir des analyses financières.


Informations sur le package


Installation de Gnumeric

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

Explication des commandes

--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.


Contenu

Le package Gnumeric contient gnumeric.


Description

gnumeric

gnumeric est le tableur de GNOME.


GnuCash-1.8.7

Introduction à GnuCash

GnuCash est un gestionnaire de finances personnelles.


Informations sur le package


Installation de GnuCash

Installez GnuCash en lançant les commandes suivantes:

./configure --prefix=/opt/gnome &&
make &&
make install

Explication des commandes

--prefix=/opt/gnome : La version 1.8.7 de GnuCash est une application GNOME 1.4.


Configurer GnuCash

Informations de configuration

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é.


Contenu

Le package GnuCash contient gnucash.


Description

GnuCash

gnucash est le gestionnaire de finances personnelles GnuCash.


GIMP-1.2.5

Introduction à GIMP

Le package GIMP contient le programme de manipulation d'images GNU. C'est utile pour retoucher des photos, composer des images.


Informations sur le package


Installation de GIMP

Installez GIMP en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc --disable-print &&
make &&
make install

Explication des commandes

--disable-print: Cette option est nécessaire quand gimp-print n'est pas installé. Si gimp-print est installé, cette option pourra être supprimé.


Configurer GIMP


Informations de configuration

GIMP exécute un assistant de configuration pour chaque utilisateur lors de leur première utilisation du programme.


Contenu

Le package GIMP contient gimp, escputil, gimp-config et gimp-remote.


Description

gimp

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

escputil est un outil réalisant des tâches de maintenance sur une imprimante à jet d'encre Epson Stylus.


gimp-config

gimp-config est utilisé par d'autres programmes qui souhaitent être liés aux bibliothèques GIMP.


gimp-remote

gimp-remote est un petit outil indiquant à un GIMP en cours d'exécution d'ouvrir une image en local ou à distance.


Evolution-1.4.4

Introduction à Evolution

Le package Evolution contient une suite intégrée pour le mail, le calendrier et le carnet d'adresses.


Informations sur le package


Installation de Evolution

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

Explication des commandes

--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.


Contenu

Le package Evolution contient la suite Evolution, email, calendrier et carnet d'adresse.


Description

evolution

evolution contient une suite avec client mail, gestion de calendriers et carnet d'adresses.


Chapitre 38. Suites Office

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-1.2.93

Introduction à KOffice

KOffice est la suite office intégrée pour KDE.


Informations sur le package


Téléchargements supplémentaires

KOffice a plusieurs packages d'internationalisation disponibles sous cette forme:
koffice-i18n-xx-1.2.93.tar.bz2
où xx correspond à entre deux et cinq lettres du code du pays impliqué. La taille du fichier peut aller de 0,4 Mo à 3,7 Mo.


Installation de KOffice

Installez KOffice en lançant les commandes suivantes:

export QTDIR=/opt/qt 
./configure --prefix=/opt/kde-3.1.4 --disable-debug &&
make &&
make install

Contenu

Le package KOffice fournit kword, kspread, kpresenter, kivio, kontour, krita, kugar, kplato, kchart et kformula.


kword

kword est un traitement de texte du type framemaker ainsi qu'un programme de publication.


kspread

kspread est un tableur scriptable.


kpresenter

kpresenter est un programme de présentation.


kivio

kivio est un programme de création de diagrammes.


kontour

kontour est un programme de dessins vectoriels.


krita

krita est un programme de dessin et d'édition d'images.


kugar

kugar est un outil de création de rapports.


kplato

kplato est une application de gestion des projets (encore dans son étape de développement).


kchart

kchart est un application de création de diagrammes.


kformula

kformula est un éditeur de formules.


OpenOffice-1.1.0

Introduction à OpenOffice

OpenOffice est une suite office, la contre-partie Open Source de StarOffice.


Informations sur le package


Téléchargements supplémentaires


Installation de OpenOffice

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

Explications des commandes

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.


Contenu

Le package OpenOffice contient swriter, simpress, scalc, sdraw, smath.


Description

swriter

Application de traitement de texte.


simpress

Application de présentations.


scalc

Tableur.


sdraw

Application de dessin.


smath

Editeur de formules mathématiques.


spadmin

Configuration des imprimantes pour OpenOffice. Vous pourriez avoir besoin de le lancer si vous avez des problèmes d'impression.


Chapitre 39. Navigateurs Web Graphiques

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-1.5

Introduction à Mozilla

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.


Informations sur le package


Installation de Mozilla

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:
#define WALLET_DONT_CACHE_ALL_PASSWORDS
Alors supprimez ou mettez cette ligne en commentaire. Maintenant, si quelqu'un vous dit que MS-IE est facile d'utilisation, donnez cet exemple!

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`

Options supplémentaires

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.


Notes de construction supplémentaires pour Mozilla Firebird 0.7

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.


Notes de construction supplémentaires pour Mozilla Thunderbird 0.3

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.


Explications des commandes

export MOZILLA_OFFICIAL="1" &&
export BUILD_OFFICIAL="1"
Mets en place quelques variables qui affecte ce qui sera construit et comment. Les deux premiers exports spécifient que nous allons construire une distribution. Le dernier export indique que nous sommes d'accord pour libart en version LGPL.

--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
: Utilise la boîte à outils gtk2.

--with-system-zlib --with-system-jpeg \
--with-system-png --with-system-mng"
Utilisez les versions du système pour ces packages.

--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
Différentes options indiquant quels composants seront construit et d'autres options d'optimisations. Vous pouvez choisir ces options. Plus d'informations sur elles peut être trouvé dans l'aide du script de configuration de Mozilla. Toutes les options ne sont pas utilisées dans les instructions données ci-dessus.

--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
Copie les entêtes nss qui ne sont pas copiés par make install.

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`
Crée les registeres composants requis pour activer l'installation multiple.


Configurer Mozilla

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.


Contenu

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.


Galeon-1.3.10

Introduction à Galeon

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.


Informations sur le package


Installation de Galeon

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

Contenu

Le package Galeon contient galeon et galeon-config-tool.


Description

galeon

galeon positionne LD_LIBRARY_PATH et MOZILLA_FIVE_HOME avant d'exécuter galeon-bin.


galeon-config-tool

galeon-config-tool efface les paramétrages, installe les schémas, supprime des schémas et corrige les permissions dans GConf.


Konqueror-3.1.4

Konqueror est le navigateur web par défaut pour l'environnement de burau KDE. Il est installé avec kdebase-3.1.4.


Dillo-0.7.3

Introduction à Dillo

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.


Informations sur le package


Installation de Dillo

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

Configurer Dillo

Fichiers de configuration

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.


Informations de configuration

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.


Contenu

Le package Dillo contient dillo.


Description

dillo

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.


Chapitre 40. Autres Programmes Internet basés sur X

L'Internet n'est pas uniquement un navigateur. Voici quelques applications graphiques qui utilisent d'autres aires de l'Internet.


Pan-0.14.2

Introduction à Pan

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.


Informations sur le package


Installation de Pan

Installez Pan en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package Pan contient pan.


Description

pan

pan est un lecteur graphique de forums de discussion.


Balsa-2.0.14

Introduction à Balsa

Le package Balsa contient un lecteur de mail basé sur GNOME 2.


Informations sur le package


Installation de Balsa

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

Explication des commandes

--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é.


Configurer Balsa

Informations de configuration

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.


Contenu

Le package Balsa contient balsa.


Description

balsa

balsa est le lecteur mail basé sur GNOME 2.


Chapitre 41. Bibliothèques multimédia et pilotes

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.


ALSA-0.9.6

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.


ALSA Driver-0.9.6

Introduction à ALSA Driver

Le package ALSA Driver contient les pilotes son d'ALSA. Ils sont la prochaine génération des pilotes son pour Linux.


Informations sur le package


Installation de ALSA Driver

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


Explication des commandes

--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.


Configurer ALSA Driver

Fichiers de configuration

/etc/modules.conf


Informations de configuration

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

Contenu

Le package ALSA Driver contient les pilotes son ALSA et les fichiers d'entête.


Description

Pilotes de carte son ALSA

Ce sont des modules du noyau, qui apportent des fonctionnalités audio et MIDI au système d'exploitation.


Fichiers d'entête

Ils sont installés dans /usr/include/sound et sont nécessaires pour compiler certains packages tels que ALSA Libraries.


ALSA Library-0.9.6

Introduction à ALSA Library

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.


Informations sur le package


Installation de ALSA Library

Installez ALSA Library en lançant les commandes suivantes:

./configure &&
make &&
make install

Configurer ALSA Library

Informations de configuration

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.


Contenu

Le package ALSA Library contient aserver et les bibliothèques alsa.


Description

libasound (bibliothèque alsa)

libasound apporte les fonctions ALSA aux programmes applicatifs.


ALSA Utilities-0.9.6

Introduction à ALSA Utilities

Le package ALSA Utilities contient différents utilitaires importants pour contrôler votre carte son.


Informations sur le package


Installation de ALSA Utilities

Installez ALSA Utilities en lançant les commandes suivantes:

./configure &&
make &&
make install

Configurer ALSA Utilities

Fichier de configurations

/etc/asound.state


Informations de configuration

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.


Contenu

Le package ALSA Utilities contient aconnect, alsactl, alsamixer, amixer, aplay, arecord et aseqnet.


Description

aconnect

aconnect est un utilitaire pour connecter et déconnecter deux ports existants dans le système de séquencement ALSA.


alsactl

alsactl est utilisé pour contrôler les paramétrages avancés des pilotes de cartes son ALSA.


alsamixer

alsamixer est un programme mixer basé sur ncurses pour l'utiliser avec les cartes son ALSA.


amixer

amixer permet le contrôle en ligne de commande des mixers pour les pilotes des cartes son.


aplay

aplay est un lecteur de fichier son en lignes de commande pour les pilotes de cartes son ALSA.


arecord

arecord est l'enregistreur de fichiers sons et ligne de commande pour les pilotes de cartes son.


aseqnet

aseqnet est un client du séquenceur ALSA qui envoie et reçoit des paquets événements sur le réseau.


ALSA Tools-0.9.6

Introduction à ALSA Tools

Le package ALSA Tools contient des outils avancés pour certaines cartes sons.


Informations sur le package


Installation de alsa-tools

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

Contenu

Les outils disponibles dans ce package sont ac3dec, as10k1, envy24control, sb16_csp et sbiload.


Description

ac3dec

ac3dec est un décodeur libre de flux AC-3.


as10k1

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

envy24control est un outil de contrôle pour les cartes son basées sur Envy24 (ice1712).


sb16_csp

sb16_csp est un programme de contrôle pour le SB16/AWE32 Creative Signal Processor (ASP/CSP).


sbiload

sbiload est un chargeur d'instruments OPL2/3 FM pour le séquenceur pour l'ALSA.


ALSA OSS-0.9.6

Introduction à ALSA OSS

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.


Informations sur le package


Installation de ALSA OSS

Installez ALSA OSS en lançant les commandes suivantes:

./configure &&
make &&
make install

Configurer ALSA OSS

Information de configuration

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.


Contenu

Le package ALSA OSS contient aoss et les bibliothèques libaoss (bibliothèques de compatibilité OSS d'ALSA).


aRts-1.1.4

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.


Audio File-0.2.3

Introduction à Audio File

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.


Informations sur le package


Installation de Audio File

Installez Audio File en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package Audio File contient les bibliothèques libaudiofile, audiofile-config, sfinfo et sfconvert.


Description

Bibliothèques audiofile

La bibliothèque audiofile est utilisé par les programmes pour supporter les formats audio AIFF, AIFF-compressé, SUN/NeXT, WAVE et BICS.


audiofile-config

Le script audiofile-config est utilisé durant le processus de compilation lors d'édition de liens avec cette bibliothèque.


sfinfo

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.


sfconvert

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.


EsounD-0.2.30

Introduction à EsounD

Le package EsounD contient Enlightened Sound Daemon. Ceci est utile pour mixer ensemble plusieurs flux audio digitales par un simple périphérique.


Informations sur le package


Installation de EsounD

Installez EsounD en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install

Explication de la commande

--sysconfdir=/etc : Cette commande place les fichiers de configuration de esounds dans /etc au lieu de /use/etc.


Configurer EsounD


Informations de configuration

Instructions et information sur le fichier de configuration se trouve dans le fichier TIPS dans le répertoire source d'EsounD.


Contenu

Le package EsounD contient esd, esdcat, esdctl, esdloop, esdmon, esdrec, esdsample et les bibliothèques libesd.


Description

esd

esd est le démon Enlightened Sound Daemon.


esdcat

esdcat lit un flux audio brut (RAW) avec le démon.


esdctl

esdctl contrôle certains aspects du démon de son.


esdloop

esdloop est 'test scaffolding' pour des caches d'exemple, boucles, libre.


esdmon

esdmon sort le flux mixé du démon.


esdrec

esdrec sort de l'entrée courante du périphérique de son.


esdsample

esdsample est 'test scaffolding' pour des caches d'exemple, boucles, libre.


Bibliothèques esd

Les bibliothèques libesd contiennent les fonctions utilisées par esd.


SDL-1.2.6

Introduction à SDL

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.


Informations sur le package


Installation de SDL

Installez SDL en lançant les commandes suivantes:

./configure --prefix=/usr --disable-debug &&
make &&
make install

Explication de la commande

--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.


Configurer SDL

Information de configuration

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.


Contenu

Le package SDL contient Simple DirectMedia Layer.


Description

Simple DirectMedia Layer

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.


libao-0.8.3

Introduction à libao

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).


Informations sur le package


Installation de libao

Installez libao en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libao contient les bibliothèques libao.


Description

Bibliothèques ao

libao apporte des fonctions pour des programmes souhaitant de sortir du son sur des plateformes supportées.


libogg-1.0

Introduction à libogg

Le package libogg contient la structure du fichier Ogg. C'est utile pour créer (encoder) ou jouer (décoder) un seul flux physique.


Informations sur le package


Installation de libogg

Installez libogg en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libogg contient les bibliothèques libogg.


Description

Bibliothèques ogg

Les bibliothèques libogg fournissent les fonctions aux programmes souhaitant lire ou écrire des flux formattés OGG.


libvorbis-1.0

Introduction à libvorbis

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).


Informations sur le package


Installation de libvorbis

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

Contenu

Le package libvorbis contient les bibliothèques libvorbis.


Description

Bibliothèques vorbis

Les bibliothèques libvorbis fournissent les fonctions de lecture et écriture de fichiers sons.


NAS-1.6

Introduction à NAS

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.


Informations sur le package


Installation de NAS

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

Explication des commandes

xmkmf... : Ces commandes utilisent la façon standard pour compiler des applications X.


Configurer NAS

Informations de configuration

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.


Contenu

Le package NAS contient des utilitaires, entêtes et bibliothèques nas.


libmpeg3-1.5.2

Introduction à libmpeg3

Libmpeg3 supporte une édition et une manipulation avancées de flux MPEG.


Informations sur le package


Installation de libmpeg3

Installez libmpeg3 en lançant les commandes suivantes:

make &&
make install &&
cp i686/libmpeg3.a /usr/lib &&
cp libmpeg3.h mpeg3private.h /usr/include

Explication des commandes

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.


Contenu

Le package libmpeg3 contient la bibliothèque libmpeg3, les utilitaires mpeg3cat, mpeg3dump et mpeg3toc.


Description

libmpeg3

libmpeg3 décode plusieurs standards MPEG en des données non compressées disponibles pour l'édition et l'écoute.


mpeg3cat

mpeg3cat concatène des flux élémentaires ou démultiplexe un flux programme.


mpeg3dump

mpeg3dump affiche l'information ou extrait l'audio dans un fichier PCM 24 bit.


mpeg3toc

mpeg3toc crée une table des matières pour un flux DVD ou MPEG.


libmad-0.15.0b

Introduction à libmad

Libmad est un décodeur audio de haute qualité pour le MPEG capable d'une sortie en 24-bit.


Informations sur le package


Installation de libmad

Installez libmad en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Ce package apporte la bibliothèque libmad.


Description

libmad

libmad est une bibliothèque audio de décodage MPEG.


OpenQuicktime-1.0

Introduction à OpenQuicktime

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.


Informations sur le package


Installation de OpenQuicktime

Installez OpenQuicktime en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Ce package apporte la bibliothèque libopenquicktime et les utilitaires vous permettant de manipuler des fichiers Quicktime.


Description

libopenquicktime

Voici le coeur de la bibliothèque.


dechunk

dechunk extrait les images RGB d'un film et les convertit en image PPM.


make_streamable

Ce programme rend un fichier Quicktime disponible en flux.


qtdump

qtdump affiche toutes les tables du film.


qtinfo

qtinfo lit toutes les informations concernant le fichier.


recover

Ce programme récupère l'audio en JPEG et PCM à partir d'un film corrompu.


libFAME-0.9.0

Introduction à libFAME

libFAME est une bibliothèque de codage vidéo rapide pour le MPEG-1 (temps réel) ainsi que MPEG-4.


Informations sur le package


Installation de libFAME

Installez libFAME en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libFAME contient libfame-config et libfame.


Description

libfame-config

libfame-config fournit les informations de configuration pour libfame.


libfame

libfame fournit les fonctions pour les programmes de codage vidéo.


Speex-1.0.1

Introduction à Speex

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.


Informations sur le package


Installation de Speex

Installez Speex en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package Speex fournit speexdec, speexenc et libspeex.


Description

speexdec

speexdec décode un fichier Speex et produit un fichier WAV ou RAW.


speexenc

speexenc code un fichier WAV ou RAW en utilisant Speex.


libspeex

libspeex fournit des fonctions aux programmes de codage/décodage audio.


id3lib-3.8.3

Introduction à id3lib

id3lib est un bibliothèque pour lire, écrire, manipuler des balises ID3v1 et ID3v2.


Informations sur le package


Installation de id3lib

Installez id3lib en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package id3lib contient la bibliothèque libid3 ainsi que id3convert, id3cp, id3info et id3tag.


Description

libid3

libid3 fournit des fonctions pour les programmes éditant la balise ID3v1/v2.


id3convert

id3convert effectue une convertion entre les formats des balises ID3v1/v2.


id3cp

id3cp extrait les balises ID3v1/v2 à partir de fichiers audio digitaux.


id3info

id3info affiche le contenu des balises ID3v1/v2.


id3tag

id3tag est un outil pour éditer les balises ID3v1/v2.


FLAC-1.1.0

Introduction à FLAC

FLAC est un CODEC audio similaire à MP3 mais sans pertes, ce qui signifie que l'audio est compressé sans perte d'informations.


Informations sur le package


Installation de FLAC

Installez FLAC en lançant les commandes suivantes:

./configure --prefix=/usr
make &&
make install

Contenu

Le package FLAC contient flac, metaflac, libFLAC, libFLAC++, libOggFLAC, libOggFLAC++ et libxmms-flac.


Description

flac

flac est un outil en ligne de commande pour le codage, le décodage et la conversion de fichiers FLAC.


metaflac

metaflac est un programme pour lister, ajouter, supprimer ou éditer des métadata dans un ou plusieurs fichiers FLAC.


libFLAC, libFLAC++, libOggFLAC et libOggFLAC++

Ces bibliothèques apportent une API native C/C++ pour FLAC et Ogg FLAC, pour les programmes utilisant FLAC.


libxmms-flac

libxmms-flac est un plugin pour XMMS.


libdvdread-0.9.4

Introduction à libdvdread

libdvdread est une bibliothèque qui fournit une simple fondation pour lire des DVD.


Informations sur le package


Installation de libdvdread

Installez libdvdread en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Explication des commandes

--with-libdvdcss: Cette option est nécessaire si vous voulez que libdvdread soit capable de lire les DVD cryptés avec CSS.


Contenu

Le package libdvdread contient la bibliothèque libdvdread.


Description

libdvdread

libdvdread fournit la fonctionnalité nécessaire pour accéder aux DVD.


libdvdcss-1.2.8

Introduction à libdvdcss

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.


Informations sur le package


Installation de libdvdcss

Installez libdvdcss en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libdvdcss contient la bibliothèque libdvdcss.


Description

libdvdcss

libdvdcss fournit les fonctionnalités nécessaires pour un accès transparent aux DVD avec cryptage CSS.


libdv-0.99

Introduction à libdv

libdv (Quasar DV) est un CODEC logiciel pour la vidéo DV, le format d'encodage utilisé par la plupart des camcorders digitales.


Informations sur le package


Installation de libdv

Installez libdv en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package libdv contient dvconnect, encodedv, playdv et libdv.


Description

dvconnect

dvconnect est un petit outil pour envoyer ou capturer des données brutes à partir ou vers le camcorder.


encodedv

encodedv code une série d'images vers un flux vidéo digital.


playdv

playdv affiche des flux vidéo digital sur l'écran.


libdv

libdv fournit des fonctions pour les programmes manipulant avec le Quasar DV CODEC.


liba52-0.7.4

Introduction à liba52

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.


Informations sur le package


Installation de liba52

Installez liba52 en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package liba52 contient a52dec, extract_a52 et liba52.


Description

a52dec

a52dec joue des flux audio ATSC A/52.


extract_a52

extract_a52 extrait l'audio ATSC A/52 à partir d'un flux MPEG.


liba52

liba52 fournit des fonctions pour les programmes gérant les flux ATSC A/52.


XviD-0.9.2

Introduction à XviD

XviD est un CODEC MPEG-4 pour la vidéo.


Informations sur le package


Installation de XviD

Installez XviD en lançant les commandes suivantes:

cd build/generic &&
./configure --prefix=/usr &&
make  &&
make install &&
cp ../../src/divx4.h /usr/include

Explication des commandes

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.


Contenu

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.


xine Libraries-1-rc0a

Introduction à Bibliothèques xine

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.


Informations sur le package


Installation de xine Libraries

Installez xine Libraries en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package xine Libraries contient les bibliothèques xine-config et libxine.


Description

xine-config

xine-config fournit des informations aux programmes essayant de se lier avec les bibliothèques xine.


Bibliothèques libxine

Les bibliothèques libxine fournit l'API pour utiliser les fichiers vidéo.


Chapitre 42. Utilitaires audio

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.


mpg123-0.59r

Introduction à mpg123

Le package mpg123 contient un lecteur de MP3 en mode console. Il prétend être le plus rapide décodeur MP3 pour Unix.


Informations sur le package


Installation de mpg123

Installez mpg123 en lançant les commandes suivantes:

make PREFIX=/usr linux &&
make PREFIX=/usr install

Contenu

Le package mpg123 contient mpg123.


Description

mpg123

mpg123 est utilisé pour jouer des fichiers MP3 à partir de la console.


Vorbis Tools-1.0

Introduction à Vorbis Tools

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.


Informations sur le package


Installation de Vorbis Tools

Installez Vorbis Tools en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package Vorbis Tools contient oggdec, oggenc, ogg123, vcut et vorbiscomment.


Description

oggdec

oggdec est un simple décodeur qui convertit les fichiers Ogg Vorbis en des fichiers audio PCM (WAV ou RAW).


oggenc

oggenc est l'encodeur qui transforme les fichiers raw, WAV ou AIFF en un flux Ogg Vorbis.


ogg123

ogg123 est un lecteur audio en ligne de commande pour les flux Ogg Vorbis.


ogginfo

ogginfo affiche l'information stocké dans les fichiers audio.


vcut

vcut va découper un fichier en deux fichiers séparés à un point de découpage spécifié.


vorbiscomment

vorbiscomment est un éditeur qui change l'information dans les tags metadata d'un fichier audio.


XMMS-1.2.7

Introduction à XMMS

XMMS est un lecteur audio pour le système X Window.


Informations sur le package


Installation de XMMS

Installez XMMS en lançant les commandes suivantes:

./configure --prefix=/usr --enable-one-plugin-dir &&
make &&
make install

Explication de la commande

./configure --prefix=/usr --enable-one-plugin-dir: Cette commande assure que tous les plugins sont placés sous /usr/lib/xmms/Plugins.


Configurer XMMS


Information de configuration

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.


Contenu

Le package XMMS contient xmms, xmms-config, gnomexmss et wmxmms.


Description

xmms

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.


xmms-config

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é.


gnomexmms

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

wmxmms est un applet dockable pour le gestionnaire de fenêtres Window Maker. De l'applet, vous pouvez lancer et contrôler xmms.


LAME-3.93.1

Introduction à LAME

Le package LAME contient un codeur MP3. Il est utile pour créer des fichiers audio compressés.


Informations sur le package


Installation de LAME

Installez LAME en lançant les commandes suivantes:

./configure --prefix=/usr --mandir=/usr/share/man --with-gtk-prefix=/usr &&
make &&
make install

Explication des commandes

--with-gtk-prefix=/usr : Cette option dirige configure vers gtk-config.


Contenu

Le package LAME contient lame et les bibliothèques libmp3lame.


Description

lame

lame crée des fichiers audio MP3.


Bibliothèques libmp3lame

Les bibliothèques libmp3lame apportent les fonctions nécessaires pour convertir les fichiers WAV en MP3.


CDParanoia-III-9.8

Introduction à CDParanoia

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.


Informations sur le package


Installation de CDParanoia

Installez CDParanoia en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Configurer CDParanoia

Informations de configuration

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.


Contenu

Le package CDParanoia contient cdparanoia et les bibliothèques libcdda.


Description

cdparanoia

Ceci est utilisé pour 'ripper' un CD audio. Ripper correspond au processus digitale d'extraire de la musique du CD audio.


Bibliothèque libcdda

Aucune description n'est actuellement disponible.


Chapitre 43. Utilitaires vidéo

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-0.4.7

Introduction à FFmpeg

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.


Informations sur le package


Installation de FFmpeg

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

Explication des commandes

--enable-shared: Cette option est nécessaire pour construire les bibliothèques partagées libavcodec et libavformat.


Configurer FFmpeg

Fichiers de configuration

~/.ffmpeg/ffserver-config

Vous trouverez un fichier de configuration d'exemple pour ffserver ici.


Contenu

Le package FFmpeg contient ffmpeg, ffserver, les bibliothèques libavcodec et libavformat.


Description

ffmpeg

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

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

ffplay est un lecteur média simple et portable en utilisant les bibliothèques ffmpeg et la bibliothèque SDL.


libavcodec/libavformat

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à.


Avifile-0.7.38

Introduction à Avifile

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.


Informations sur le package


Installation de Avifile

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

Explication des commandes

./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.


Contenu

Le package avifile contient aviplay, avibench, avifile-config, mmxnow-config, avirecompress, avicap, avirec, kv4lsetup, avicat, avitype et avimake.


Description

aviplay

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.


avibench

avibench réalise une mesure des performances de la bibliothèque avifile pour un fichier.


avifile-config

avifile-config est lancé par configure pour les programmes souhaitant être lié avec la bibliothèque avifile.


mmxnow-config

mmxnow-config est lancé par configure pour les programmes souhaitant être lié avec la bibliothèque mmxnow.


avirecompress

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

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.


avirec

avirec est un outil d'enregistrement vidéo en ligne de commande.


kv4lsetup

kv4lsetup est un petit outil qui indique à video4linux sur le mode vidéo actuel.


avicat

avicat prend un ensemble de fichier AVI et les combine en un seul fichier.


avitype

avitype lit et affiche les informations d'entête du fichier AVI.


avimake

avimake prend un ensemble d'images JPG et crée un film.


MPlayer-1.0pre1

Introduction à MPlayer

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.


Informations sur le package


Téléchargements supplémentaires

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.


Installation 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}

Installation de la lecture de DVD

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.


Explication des commandes

--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.


Configurer MPlayer

Fichiers de configuration

/etc/mplayer/*, ~/.mplayer/*


Informations de configuration

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
ou otherwise
ln -sf /usr/share/mplayer/font/font-arial-*-iso-8859-1 /etc/mplayer/font
Vous pouvez choisir la taille parmi 14, 18, 24 et 28.

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.


Contenu

Le package MPlayer contient mplayer, gmplayer et mencoder.


Description

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/.


gmplayer

gmplayer est MPlayer avec une interface utilisateur graphique.


mencoder

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>

xine User Interface-0.9.22

Introduction à xine User Interface

Le package xine User Interface contient une interface utilisateur pour xine. C'est utile pour contrôler des opérations sur votre film.


Informations sur le package


Installation de xine User Interface

Installez xine User Interface en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Configurer xine User Interface


Informations de configuration

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.


Contenu

Le package xine User Interface contient xine, xine-check et xine-remote.


Description

xine

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).


xine-check

xine-check teste l'installation du lecteur vidéo xine sur les problèmes habituels.


xine-remote

xine-remote est un outil pour connecter un serveur de contrôle à distance xine.


transcode-0.6.10


Installation de transcode

Installez transcode en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

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.


Description

transcode

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.


tccat

tccat concatène les fichiers d'entrée en utilisant les plugins d'entrée de transcode.


tcdecode

tcdecode est utilisé pour décoder les fichiers d'entrée et les transformer en flux vidéo RAW et audio PCM bruts.


tcdemux

tcdemux démultiplexe l'entrée audio/video contenant plusieurs flux, c'est-à-dire des fichiers VOB.


tcextract

tcextract attrape les flux simples à partir d'un fichier qui en contient plusieurs.


tcframe

tcframe analyse les frames vidéo simple pour différents codages couleur (RGB >-< YUV ou similaire).


tcprobe

tcprobe affiche les informations du format du fichier d'entrée.


tcscan

tcscan réalise plusieurs mesures sur les données d'entrée.


avicodec

avicodec indique ou change le drapeau du CODEC FOURCC dans un fichier AVI.


avidump

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

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!).


avisplit

avisplit sépare des fichiers AVI en plusieurs fichiers.


avisync

avisync peut déplacer l'audio dans les fichiers AVI pour une meilleure synchronisation des signaux audio et vidéo.


Modules entrées/filtres/sorties

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.


Chapitre 44. Utilitaires de gravure CD

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:


Configurer votre kernel pour la gravure de CD

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.


Cdrtools-2.00.3

Introduction à Cdrtools

Le package Cdrtools contient des utilitaires d'enregistrement de CDs. Ils sont utiles pour lire, créer ou écrire (graver) des Disques Compacts.


Informations sur le package


Installation de Cdrtools

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

Explication des commandes

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.


Contenu

Le package Cdrtools contient cdrecord, cdda2wav, mkisofs, readcd, scgcheck, isoinfo, isodump, isovfy, devdump, rscsi et les bibliothèques de support.


Description

cdrecord

cdrecord enregistre les CDs audio et données.


cdda2wav

cdda2wav transforme les Compact Disc audio en fichiers son WAV.


mkisofs

mkisofs et mkhybrid génère un système de fichiers hybride ISO9660/JOLIET/HFS.


readcd

readcd lit et écrit des Compact Discs.


scgcheck

scgcheck est utilisé pour vérifier l' "Application Binary Interface" de libscg.


Utilitaires de support

isoinfo, isodump, isovfy, isodebug et devdumpsont des utilitaires pour vérifier des images ISO9660.


rscsi

rscsi est un gestionnaire distant SCSI.


Bibliothèques de support

libdeflt, libedc_ecc, libfile, libhfs, libparanoia, librscg, libscg, libschily et libunls sont des bibliothèques de support pour ce package.


Cdrdao-1.1.7

Introduction à Cdrdao

Le package Cdrdao contient des utilitaires d'enregistrement de CD. Ils sont utiles pour graver un CD en mode disk-at-once.


Informations sur le package


Installation de Cdrdao

Installez Cdrdao en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package Cdrdao contient cdrdao.


Description

cdrdao

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.


UDFtools-1.0.0b2

Introduction à UDFtools

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.


Informations sur le package


Installation du correctif pour le noyau

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

Installation de UDFtools

Installez UDFtools en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Contenu

Le package UDFtools contient pktsetup, cdrwtool et mkudffs.


Description

pktsetup

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
associe le périphérique physique /dev/scd0 avec le pilote de paquets du noyau /dev/pktcdvd0 puis monte un UDF formatté CD-RW pour un accès en lecture/écriture.


cdrwtool

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
prépare un nouveau CD-RW et le formatte avec un système de fichiers udf.


mkudffs

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.


Chapitre 45. Impression

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.


CUPS-1.1.19

Introduction to CUPS

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.


Informations sur le package


Installation de CUPS

Installez CUPS en lançant les commandes suivantes:

./configure &&
make &&
make install

Explication des commandes

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.


Configurer 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

Contenu

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.


lpc

lpc fournit un contrôle limité sur les imprimantes et les classes proposées par CUPS .


cupsd

cupsd est le démon du Common Unix Printing System.


accept

accept indique au système d'impression d'accepter les travaux d'impressions aux destinations spécifiées.


reject

reject indique au système d'impression de rejeter les travaux d'impressions pour les destinations spécifiées.


cupsaddsmb

cupsaddsmb exporte les imprimantes pour que le logiciel SAMBA permette leur utilisation via des clients Windows.


lpadmin

lpadmin configure imprimante et classe proposée par CUPS.


lpinfo

lpinfo liste les périphériques disponibles ou pilotes connus du serveur CUPS.


lpmove

lpmove déplace le travail spécifié vers une nouvelle destination.


cupstestppd

cupstestppd teste la conformance des fichiers PPD.


lpq

lpq affiche le statut de la queue d'impression suivant l'imprimante désignée.


lpr

lpr soumet des fichiers à imprimer.


lprm

lprm annule des travaux d'impression qui se trouvaient dans la queue.


cancel

cancel annule des travaux d'impression existants.


disable

disable arrête les imprimantes ou classes nommées.


enable

enable démarre les imprimantes ou classes nommées.


lp

lp soumet des fichiers à l'impression ou modifie un travail en attente.


lpoptions

lpoptions affiche ou initialise les options de l'imprimante et ses valeurs par défaut.


lpstat

lpstat affiche des informations sur le statut pour les classes, travaux et imprimantes actuels.


lppasswd

lppasswd ajoute, modifie ou supprime les mots de passe dans le fichier de mots de passe de CUPS, nommé passwd.md5.


cups-config

cups-config est l'outil de configuration de CUPS.


LPRng-3.8.22

Introduction à LPRng

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.


Informations sur le package


Installation de LPRng

Installez LPRng en lançant les commandes suivantes:

./configure --prefix=/usr --libexecdir=/usr/sbin --sysconfdir=/etc &&
make &&
make install

Explication des commandes

--libexecdir=/usr/sbin --sysconfdir=/etc : Ces options empêchent l'utilisation par défaut de /usr/libexec et /usr/etc.


Configurer LPRng


Informations de configuration

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

Contenu

Le package LPRng contient lp, lpq, lpr, lprm, lpstat, lpc et lpd.


Description

lp

lp est un lien symbolique vers lpr.


lpq

lpq est le programme indiquant l'état.


lpr

lpr est le programme qui envoie les requêtes.


lprm

lprm est le programme qui supprime les requêtes.


lpstat

lpstat est le programme de statut des requêtes.


lpc

lpc est le programme de contrôle du démon.


lpd

lpd est le démon.


AFPL Ghostscript-8.11

Introduction à Ghostscript

Ghostscript est un processeur versatile pour les données Postscript avec la capacité d'afficher du Postscript pour différentes cibles.


Informations sur le package


Installation de Ghostscript

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.


Explication des commandes

--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.


Contenu

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.


ESP Ghostscript-7.07.1rc2

Introduction à Ghostscript

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.


Informations sur le package


Installation de Ghostscript

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.


Explication des commandes

--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.


Contenu

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.


Description

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.


Chapitre 46. Numérisation

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-1.0.12

Introduction à SANE

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.


Informations sur le package


Installation de sane

Préparer votre système pour accéder au scanner

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.


Installation de SANE backends

Installez SANE backends en lançant les commandes suivantes:

./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install

Installation de SANE frontends

Pour installer SANE frontends, utilisez les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Explication des commandes d'installation

--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.


Contenu

Sous-systèmes:

Voir http://www.sane-project.org/sane-supported-devices.html pour une liste des systèmes disponibles.


Interfaces:

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-0.91

Introduction à XSane

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.


Informations sur le package


Installation de XSane

Installez XSane en lançant les commandes suivantes:

./configure --prefix=/usr &&
make &&
make install

Explication des commandes d'installation

--prefix=/usr : Cette option fait que tous les logiciels vont être installés dans les répertoires de /usr.


Contenu

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-0.37

Introduction à GOCR

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.


Informations sur le package


Installation de GOCR

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

Contenu

Le package GOCR contient gocr et gtk-ocr.


Description

gocr

gocr est un programme qui affiche tout le texte qu'il lit à partir d'un fichier graphique en entrée.


gtk-ocr

gtk-ocr est l'interface GTK de gocr.


Chapitre 47. Langage de balises standards généralisées (SGML, acronyme de Standard Generalized Markup Language)

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.


SGML Common-0.6.3

Introduction à SGML Common

Le package SGML Common contient install-catalog, utile pour créer et maintenir des catalogues SGML centralisés.


Informations sur le package


Installation de SGML Common

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


Configurer SGML-common

Fichier de configuration

/etc/sgml/sgml.conf


Informations de configuration

Aucune modification dans ce fichier n'est nécessaire.


Contenu

Le package SGML Common contient install-catalog, sgmlwhich, des fichiers d'entités SGML et XML.


Description

install-catalog

install-catalog crée un catalogue centralisé qui maintient les références aux catalogues dispersés dans le répertoire /usr/share/sgml.


sgmlwhich

sgmlwhich affichera sur la sortie standard le nom du fichier de configuration principal.


Fichiers d'entités SGML

Les fichiers d'entité SGML contiennent les entités des caractères de base définies avec les entrées SDATA.


Fichiers d'entités XML

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.


DocBook SGML DTD-3.1

Introduction à DocBook SGML DTD

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.


Informations sur le package


Installation de DocBook SGML DTD

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

Explication des commandes

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
Ces commandes suppriment les définitions ENT du fichier catalogue.

cp docbook.cat docbook.cat.orig
sed -e 's|DTDDECL "-//OASIS//DTD Docbook V3.1//EN"|SGMLDECL|g' \
docbook.cat.orig > docbook.cat
Cette commande remplace l'entrée de catalogue DTDDECL qui n'est pas supporté par les outils SGML sous Linux, avec l'entrée de catalogue SGMLDECL.


Configurer DocBook SGML DTD

Fichier de configuration

/etc/sgml/catalog


Informations de configuration

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

Contenu

Le package DocBook SGML DTD contient les fichiers DTD et les fichiers MOD.


Description

Fichiers DTD

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.


Fichiers MOD

Les fichiers MOD contiennent les composants de la définition du type de document compris dans les fichiers DTD.


DocBook SGML DTD-4.2

Introduction à DocBook SGML 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.


Informations sur le package


Installation de DocBook SGML DTD

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

Explication des commandes

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
Ces commandes suppriment les définitions ENT du fichier catalogue.


Configurer DocBook SGML DTD

Fichier de configuration

/etc/sgml/catalog


Informations de configuration

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

Contenu

Le package DocBook SGML DTD contient les fichiers DTD et les fichiers MOD.


Description

Fichiers DTD

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.


Fichiers MOD

Les fichiers MOD contiennent les composants de la définition du type de document compris dans les fichiers DTD.


OpenSP-1.5

Introduction à OpenSP

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.


Informations sur le package


Installation de OpenSP

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


Explication des commandes

--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
Ces commandes créent les équivalents SP d'OpenSP pour les exécutables et les bibliothèques.


Contenu

Le package OpenSP contient onsgmls, ospam, osx, ospcat et ospent.


Description

onsgmls

onsgmls travaille sur des fichiers SGML.


ospam

ospam est un éditeur de balises.


osx

osx est un normaliseur SGML ou un convertisseur de SGML vers XML.


ospcat

ospcat affiche les identifiants système effectifs trouvés dans les catalogues.


ospent

ospent fournit l'accès au gestionnaire d'entités d'OpenSP.


OpenJade-1.3.2

Introduction à OpenJade

Le package OpenJade contient un moteur DSSSL. C'est utile pour les transformations SGML et XML vers RTF, TeX, SGML et XML.


Informations sur le package


Installation d'OpenJade

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

Explication des commandes

--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
Ces commandes créent les équivalents exécutables et bibliothèques Jade d'OpenJade.


Configurer OpenJade

Informations de configuration

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.


Contenu

Le package OpenJade contient openjade.


Description

openjade

openjade est un moteur DSSSL utilisé pour des transformations.


DocBook DSSSL Stylesheets-1.78

Introduction à DocBook DSSSL Stylesheets

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.


Informations sur le package


Installation de DocBook DSSSL Stylesheets

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

Explication des commandes

Ces commandes créent un script make install pour ce package.


Configurer DocBook DSSSL Stylesheets

Informations de configuration

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
En cas de succès, vous devriez avoir un livre BLFS en HTML exactement identique à celui présent sur la page web.


Contenu

Le package DocBook DSSSL Stylesheets contient les feuilles de style DSSSL et collateindex.pl.


Description

collateindex.pl

collateindex.pl est un script Perl qui crée un index DocBook à partir de données d'indexage brut.


Chapitre 48. Langage de balises extensible (XML, acronyme de Extensible Markup Language)

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.


DocBook XML DTD-4.2

Introduction à DocBook XML DTD

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.


Informations sur le package


Installation de DocBook XML DTD

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

Configurer DocBook XML DTD

Fichiers de configuration

/etc/xml/catalog, /etc/xml/docbook


Informations de configuration

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

Contenu

Le package DocBook XML DTD contient les fichiers DTD, les fichiers MOD et les fichiers ENT.


Description

Fichiers DTD

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.


Fichiers MOD

Les fichiers MOD contiennent des composants de la définition du type de document qui proviennent des fichiers DTD.


Fichiers ENT

Les fichiers ENT contiennent les listes d'entités de caractères nommés autorisées en HTML.


DocBook XSL Stylesheets-1.62.4

Introduction à DocBook XSL Stylesheets

Le package DocBook XSL Stylesheets contient les feuilles de style XSL, utiles pour réaliser les transformations sur des fichiers DocBook XML.


Informations sur le package


Installation de DocBook XSL Stylesheets

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

Configurer DocBook XSL Stylesheets

Fichier de configuration

/etc/xml/catalog


Informations de configuration

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
En cas de succès, vous devriez avoir un fichier index.html qui affichera le livre BLFS dans un navigateur sur une seule page. Il sera formatté par le XSL Stylesheets, donc il ne correspondra pas au livre BLFS publié sur le web, qui est formatté avec les DocBook DSSSL Stylesheets.


Contenu

Le package DocBook XSL Stylesheets contient les feuilles de style XSL pour le HTML et pour FO.


Chapitre 49. PostScript

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-4.13b

Introduction à a2ps

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).


Informations sur le package


Installation de a2ps

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

Explication des commandes

cd contrib &&
cp Makefile.in Makefile.in.orig &&
sed -e "s:emacs::" Makefile.in.orig > Makefile.in &&
cd .. &&
Ces commandes éliminent la compilation et l'installation des fichiers scripts d'Emacs. Si vous utilisez Emacs plutôt que Vi comme éditeur principal, n'hésitez pas à oublier ces instructions.

cp configure{,.orig} &&
sed -e 's|/usr/local/share/ghostscript|/usr/share/ghostscript|g' \
    configure.orig > configure
Cette commande modifie le script configure pour rechercher les polices Ghostscript à l'endroit où elles ont été installé suivant les instructions du livre BLFS.

--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.


Configurer a2ps

Fichier de configuration

/etc/a2ps/a2ps.cfg, /etc/a2ps/a2ps-site.cfg


Informations de configuration

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.


Contenu

Le package a2ps contient a2ps et des données filtrées.


Description

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-1.6.1

Introduction à enscript

Enscript convertit les fichiers ASCII en PostScript.


Informations sur le package


Installation d'enscript

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.


Explication des commandes

--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.


Contenu

Le package enscript contient enscript et des données de filtre.


Description

enscript

enscript est un filtre utilisé principalement par des scripts d'impression convertissant des fichiers ASCII en PostScript.


PSUtils-p17

Introduction à PSUtils

PSUtils est un ensemble d'utilitaires pour manipuler des fichiers PostScript.


Informations sur le package


Installation de PSUtils

Installez PSUtils en lançant les commandes suivantes:

cat Makefile.unix | sed -e 's/\/usr\/local/\/usr/g' > Makefile &&
make &&
make install

Explication des commandes explanations

cat ... | sed ...: Cette commande crée un Makefile qui installe le programme dans le répertoire /usr au lieu du répertoire /usr/local.


Contenu

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.


Description

psbook

psbook ré-arrange les pages en signatures.


psselect

psselect sélectionne des ensembles de pages.


pstops

pstops réalise un ré-arrangement général des pages et des sélections.


psnup

psnup place plusieurs pages par feuille physique de papier.


psresize

psresize modifie la taille du document papier.


epsffit

epsffit fait contenir un fichier EPSF dans une boîte de dimensions données.


scripts

Les autres commandes sont des scripts réalisant des fonctions spécifiques décrites dans leur page man respective.


GSview-4.4

Introduction à GSview

GSview est un visualisateur pour PostScript et PDF utilisant X.


Informations sur le package


Installation de GSview

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

Explication des commandes

sed 's|GSVIEW_ROOT=/usr/local|GSVIEW_ROOT=/usr|': Cette commande modifie le répertoire d'installation par défaut avec /usr.


Contenu

Le package GSview contient epstool, gsview et gsview-help.


Description

epstool

epstool est un outil pour extraire des images bitmap de prévisualisation de fichiers EPS.


gsview

gsview est un visualisateur de fichiers PostScript (PS) et PDF.


gsview-help

gsview-help est un script affichant des fichiers d'aide dans votre navigateur.


Xpdf-2.02pl1

Introduction à Xpdf

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.


Informations sur le package


Installation de Xpdf

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

Explication des commandes

--enable-a4-paper: Cette option doit être ajoutée pour initialiser l'A4 DIN comme format de papier standard.


Configurer Xpdf

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 de .xpdfrc

# 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"

Contenu

Le package Xpdf contient xpdf, pdftops, pdftotext, pdftopbm.


Description

xpdf

xpdf affiche des fichiers PDF.


pdftops

pdftops convertit les fichiers PDF au format PostScript (PS).


pdftotext

pdftotext analyse le texte ASCII des fichiers PDF.


pdftopbm

pdftopbm convertit les fichiers PDF en fichiers au format PBM (Portable BitMap).


Autres programmes PostScript

KGhostview est un programme de lecture de nouvelles basé sur Qt disponible à partir de kdegraphics-3.1.4.


Chapitre 50. Composition de texte

Ce chapitre inclut des applications qui créent une sortie équivalent à de la composition de texte.


tex-2.0.2

Introduction à TeX

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.


Informations sur le package


Installation de TeX

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

Explications des commandes d'installation

gzip -dc ../teTeX-texmf-2.0.2.tar.gz \
    | (umask 0; cd /usr/share/texmf; tar xvf -)
Déballage des polices TeX et des bibliothèques de macro.

--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.


Contenu

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.


Annexe A. Liste des liens symboliques rc?.d utilisés dans LFS/BLFS

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.


rc0.d

Tableau A-1. Liens symboliques dans rc0.d

NuméroTitreLienExplication
K00cups../init.d/cupsArrête le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19
K00lprng../init.d/lprngArrête le système d'impression par spoolers LPR: LPRng-3.8.22
K05gdm../init.d/gdmArrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4
K08fcron../init.d/fcronArrête le démon Cron: fcron-2.9.3
K10gpm../init.d/gpmArrête le démon GPM (General Purpose Mouse): gpm-1.20.1
K25postfix../init.d/postfixArrête le MTA Postfix: Postfix-2.0.16
K26mysql../init.d/mysqlArrête le démon MySQL: MySQL-4.0.15a
K26postgresql../init.d/postgresqlArrête le démon PostgreSQL: PostgreSQL-7.3.4
K28apache../init.d/apacheArrête le démon Apache: apache
K30sshd../init.d/sshdArrête le démon SSH: OpenSSH-3.7.1p2
K35alsa../init.d/alsaSauvegarde la configuration du volume: ALSA-0.9.6
K40sysklogd../init.d/sysklogdArrête les démons des logs système et noyau: Fait partie du LFS de base.
K45random../init.d/randomSauvegarde la génération de nombres aléatoires: random
K48samba../init.d/ambaArrête le système de fichiers réseau: Samba-2.2.8a.
K48NFS../init.d/nfsArrête le système de fichiers réseau:
K49adsl../init.d/adslArrête le client ADSL: RP-PPPoE-3.5
K49portmap../init.d/portmapArrête l'envoi des requetes RPC: portmap-5beta.
K49xinetd../init.d/xinetdArrête le démon des services internet: xinetd-2.3.12
K49bind../init.d/bindArrête le démon des services de nom (DNS): BIND-9.2.2
K50sendsignals../init.d/sendsignalsTue les processus: Fait partie du LFS de base.
K59firewall../init.d/firewallSupprime la configuration du pare-feu: Firewalling.
K60mountfs../init.d/mountfsDémonte tous les systèmes de fichiers: Fait partie du LFS de base.
K70swap../init.d/swapDésactive le swap: Fait partie du LFS de base.
K80network../init.d/networkArrête le réseau: Fait partie du LFS de base.
K90localnet../init.d/localnetSupprime l'interface loopback: Fait partie du LFS de base.
K99halt../init.d/haltArrête le système: Fait partie du LFS de base.

rc1.d

Tableau A-2. Liens symboliques dans rc1.d

NuméroTitreLienExplication
K00lprng../init.d/lprngArrête le système d'impression par spoolers LPR: LPRng-3.8.22
K05gdm../init.d/gdmArrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4
K10gpm../init.d/gpmArrête le démon GPM (General Purpose Mouse): gpm-1.20.1
K25postfix../init.d/postfixArrête le MTA Postfix: Postfix-2.0.16
K26mysql../init.d/mysqlArrête le démon MySQL: MySQL-4.0.15a
K26postgresql../init.d/postgresqlArrête le démon PostgreSQL: PostgreSQL-7.3.4
K28apache../init.d/apacheArrête le démon Apache: apache
K30sshd../init.d/sshdArrête le démon SSH: OpenSSH-3.7.1p2
K35alsa../init.d/alsaSauvegarde la configuration du volume: ALSA-0.9.6
K48samba../init.d/sambaArrête le système de fichiers réseau: Samba-2.2.8a
K48NFS../init.d/nfsArrête le système de fichiers réseau:
K49adsl../init.d/adslArrête le client ADSL: RP-PPPoE-3.5
K49portmap../init.d/portmapArrête l'envoi des requetes RPC: portmap-5beta
K49xinetd../init.d/xinetdArrête le démon des services internet: xinetd-2.3.12
K49bind../init.d/bindArrête le démon des serveurs de nom (DNS): BIND-9.2.2
K59firewall../init.d/firewallSupprime la configuration du pare-feu: Firewalling
K80sysklogd../init.d/sysklogdArrête les démons des logs système et noyau: Fait partie du LFS de base.
K90network../init.d/networkArrête le réseau: Fait partie du LFS de base.

rc2.d

Tableau A-3. Liens symboliques dans rc2.d

NuméroTitreLienExplication
K05gdm../init.d/gdmArrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4
K10gpm../init.d/gpmArrête le démon GPM (General Purpose Mouse): gpm-1.20.1
K25postfix../init.d/postfixArrête le MTA Postfix: Postfix-2.0.16
K26mysql../init.d/mysqlArrête le démon MySQL: MySQL-4.0.15a
K26postgresql../init.d/postgresqlArrête le démon PostgreSQL: PostgreSQL-7.3.4
K28apache../init.d/apacheArrête le démon Apache: apache
K30sshd../init.d/sshdArrête le démon SSH: OpenSSH-3.7.1p2
K48samba../init.d/sambaArrête le système de fichiers réseau: Samba-2.2.8a.
K48NFS../init.d/nfsArrête le système de fichiers réseau:
K49adsl../init.d/adslArrête le client ADSL: RP-PPPoE-3.5
K49portmap../init.d/portmapArrête l'envoi des requetes RPC: portmap-5beta.
K49xinetd../init.d/xinetdArrête le démon des services internet: xinetd-2.3.12
K49bind../init.d/bindArrête le démon des serveurs de nom (DNS): BIND-9.2.2
K59firewall../init.d/firewallSupprime la configuration du firewall: Firewalling.
K90network../init.d/networkArrête le réseau: Fait partie du LFS de base.
S10sysklogd../init.d/sysklogdDémarre les démons des logs système et noyau: Fait partie du LFS de base.
S25random../init.d/randomSauvegarde la génération de nombres aléatoires: random
S40alsa../init.d/alsaDémarre la gestion du son: ALSA-0.9.6
S40fcron../init.d/fcronDémarre le démon Cron: fcron-2.9.3
S99cups../init.d/cupsDémarre le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19
S99lprng../init.d/lprngDémarre le système d'impression par spoolers LPR: LPRng-3.8.22

rc3.d

Tableau A-4. Liens symboliques dans rc3.d

NuméroTitreLienExplication
K05gdm../init.d/gdmArrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4
S10sysklogd../init.d/sysklogdDémarre les démons des logs système et noyau: Fait partie du LFS de base.
S20network../init.d/networkDémarre le réseau: Fait partie du LFS de base.
S21firewall../init.d/firewallActive la configuration du pare-feu: Firewalling.
S22bind../init.d/bindDémarre le démon des serveurs de nom (DNS): BIND-9.2.2
S22portmap../init.d/portmapPrends en compte les requêtes RPC: portmap-5beta.
S23xinetd../init.d/xinetdDémarre le démon des services internet: xinetd-2.3.12
S24adsl../init.d/adslDémarre le client ADSL: RP-PPPoE-3.5
S24NFS../init.d/nfsDémarre le système de fichiers réseau:
S24samba../init.d/sambaDémarre le système de fichiers réseau: Samba-2.2.8a.
S25random../init.d/randomRestaure la génération de nombres aléatoires: random
S30sshd../init.d/sshdDémarre le démon SSH: OpenSSH-3.7.1p2
S32apache../init.d/apacheDémarre le démon Apache: apache
S34mysql../init.d/mysqlDémarre le démon MySQL: MySQL-4.0.15a
S34postgresql../init.d/postgresqlDémarre le démon PostgreSQL: PostgreSQL-7.3.4
S35postfix../init.d/postfixDémarre le MTA Postfix: Postfix-2.0.16
S40alsa../init.d/alsaDémarre la gestion du son: ALSA-0.9.6
S40fcron../init.d/fcronDémarre le démon Cron: fcron-2.9.3
S70gpm../init.d/gpmDémarre le démon GPM (General Purpose Mouse): gpm-1.20.1
S99cups../init.d/cupsDémarre le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19
S99lprng../init.d/lprngDémarre le système d'impression par spoolers LPR: LPRng-3.8.22

rc4.d

Tableau A-5. Liens symboliques dans rc4.d

NuméroTitreLienExplication
K05gdm../init.d/gdmArrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4
S10sysklogd../init.d/sysklogdDémarre les démons des logs système et noyau: Fait partie du LFS de base.
S20network../init.d/networkDémarre le réseau: Fait partie du LFS de base.
S21firewall../init.d/firewallCharge la configuration du pare-feu: Firewalling.
S22bind../init.d/bindDémarre le démon des serveurs de nom (DNS): BIND-9.2.2
S22portmap../init.d/portmapTransfère les requetes RPC: portmap-5beta.
S23xinetd../init.d/xinetdDémarre le démon des services internet: xinetd-2.3.12
S24adsl../init.d/adslDémarre le client ADSL: RP-PPPoE-3.5
S24NFS../init.d/nfsDémarre le système de fichiers réseau:
S24samba../init.d/sambaDémarre le système de fichiers réseau: Samba-2.2.8a.
S25random../init.d/randomRestaure la génération de nombres aléatoires: random
S30sshd../init.d/sshdDémarre le démon SSH: OpenSSH-3.7.1p2
S32apache../init.d/apacheDémarre le démon Apache: apache
S34mysql../init.d/mysqlArrête le démon MySQL: MySQL-4.0.15a
S34postgresql../init.d/postgresqlArrête le démon PostgreSQL: PostgreSQL-7.3.4
S35postfix../init.d/postfixDémarre le MTA Postfix: Postfix-2.0.16
S40alsa../init.d/alsaDémarre la gestion du son: ALSA-0.9.6
S40fcron../init.d/fcronDémarre le démon Cron: fcron-2.9.3
S70gpm../init.d/gpmDémarre le démon GPM (General Purpose Mouse): gpm-1.20.1
S99lprng../init.d/lprngDémarre le système d'impression par spoolers LPR: LPRng-3.8.22

rc5.d

Tableau A-6. Liens symboliques dans rc5.d

NuméroTitreLienExplication
S10sysklogd../init.d/sysklogdDémarre les démons des logs système et noyau: Fait partie du LFS de base.
S20network../init.d/networkDémarre le réseau: Fait partie du LFS de base.
S21firewall../init.d/firewallCharge la configuration du pare-feu: Firewalling.
S22bind../init.d/bindDémarre le démon des serveurs de nom (DNS): BIND-9.2.2
S22portmap../init.d/portmapTransfère les requêtes RPC: portmap-5beta.
S23xinetd../init.d/xinetdDémarre le démon des services internet: xinetd-2.3.12
S24adsl../init.d/adslDémarre le client ADSL: RP-PPPoE-3.5
S24NFS../init.d/nfsDémarre le système de fichiers réseau:
S24samba../init.d/sambaDémarre le système de fichiers réseau: Samba-2.2.8a.
S25random../init.d/randomRestaure la génération de nombres aléatoires: random
S30sshd../init.d/sshdDémarre le démon SSH: OpenSSH-3.7.1p2
S32apache../init.d/apacheDémarre le démon Apache: apache
S34mysql../init.d/mysqlArrête le démon MySQL: MySQL-4.0.15a
S34postgresql../init.d/postgresqlArrête le démon PostgreSQL: PostgreSQL-7.3.4
S35postfix../init.d/postfixDémarre le MTA Postfix: Postfix-2.0.16
S40alsa../init.d/alsaDémarre la gestion du son: ALSA-0.9.6
S40fcron../init.d/fcronDémarre le démon Cron: fcron-2.9.3
S70gpm../init.d/gpmDémarre le démon GPM (General Purpose Mouse): gpm-1.20.1
S95gdm../init.d/gdmLance le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4
S99cups../init.d/cupsDémarre le système d'impression CUPS (Common Unix printing system): CUPS-1.1.19
S99lprng../init.d/lprngDémarre le système d'impression par spoolers LPR: LPRng-3.8.22

rc6.d

Tableau A-7. Liens symboliques dans rc6.d

NuméroTitreLienExplication
K00lprng../init.d/lprngArrête le système d'impression par spoolers LPR: LPRng-3.8.22
K05gdm../init.d/gdmArrête le démon du gestionnaire d'affichage GNOME: GDM-2.4.1.4
K08fcron../init.d/fcronArrête le démon Cron: fcron-2.9.3
K10gpm../init.d/gpmArrête le démon GPM (General Purpose Mouse): gpm-1.20.1
K25postfix../init.d/postfixArrête le MTA Postfix: Postfix-2.0.16
K26mysql../init.d/mysqlArrête le démon MySQL: MySQL-4.0.15a
K26postgresql../init.d/postgresqlArrête le démon PostgreSQL: PostgreSQL-7.3.4
K28apache../init.d/apacheArrête le démon Apache: apache
K30sshd../init.d/sshdArrête le démon SSH: OpenSSH-3.7.1p2
K35alsa../init.d/alsaSauvegarde la configuration du volume: ALSA-0.9.6
K40sysklogd../init.d/sysklogdArrête les démons des logs système et noyau: Fait partie du LFS de base.
K45random../init.d/randomSauvegarde la génération de nombres aléatoires: random
K48samba../init.d/sambaArrête le système de fichiers réseau: Samba-2.2.8a
K48NFS../init.d/nfsArrête le système de fichiers réseau:
K49adsl../init.d/adslArrête le client ADSL: RP-PPPoE-3.5
K49portmap../init.d/portmapArrête l'envoi des requetes RPC: portmap-5beta.
K49xinetd../init.d/xinetdArrête le démon des services internet: xinetd-2.3.12
K49bind../init.d/bindArrête le démon des serveurs de nom (DNS): BIND-9.2.2
K50sendsignals../init.d/sendsignalsTue les processus: Fait partie de la base de LFS.
K59firewall../init.d/firewallSupprime la configuration du pare-feu: Firewalling.
K60mountfs../init.d/mountfsDémonte tous les systèmes de fichiers: Fait partie du LFS de base.
K70swap../init.d/swapDésactive le swap: Fait partie du LFS de base.
K80network../init.d/networkArrête le réseau: Fait partie du LFS de base.
K90localnet../init.d/localnetSupprime l'interface loopback: Fait partie du LFS de base.
K99reboot../init.d/haltRdémarre le système: Fait partie du LFS de base.

Annexe B. Installer dans des emplacements spécifiques

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.