Installer Bash-2.05a

Estimation du temps de construction:           3 minutes 
Estimation de l'espace disque requis:  15 Mo

Installation de Bash

Avant d'installer Bash, vous devez vérifier que votre distribution dispose des fichiers /usr/lib/libcurses.a et /usr/lib/libncurses.a. Si votre distribution est un système LFS, tous les fichiers seront présents si vous suivez les instructions du livre que vous êtes en train de lire précisement.

Si les deux fichiers sont manquants, vous devez installer le package de développement de Ncurses. Ce package est souvent dénommé Ncurses-dev. Si ce package est déjà installé, ou si vous venez de l'installer, vérifiez à nouveau la présence des deux fichiers. Souvent, le fichier libcurses.a est (encore) manquant. S'il l'est, alors créez libcurses.a comme un lien symbolique en exécutant les commandes suivantes en tant qu'utilisateur root:

ln -s libncurses.a /usr/lib/libcurses.a

Maintenant, nous pouvons continuer. Installez Bash en exécutant les commandes suivantes:

./configure --enable-static-link \
    --prefix=$LFS/static --with-curses &&
make &&
make install

Si le make install se termine avec quelque chose du style

install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir' 
usage: install-info [--version] [--help] [--debug] [--maxwidth=nnn] 
	[--section regexp title] [--infodir=xxx] [--align=nnn] 
	[--calign=nnn] [--quiet] [--menuentry=xxx]
	[--info-dir=xxx] 
	[--keep-old] [--description=xxx] [--test]
	[--remove] [--] filename 
make[1]: *** [install] Error 1 
make[1]: Leaving directory `/mnt/lfs/usr/src/bash-2.05a/doc' 
make: [install] Error 2 (ignored)

cela veut dire probablement que vous utilisez une distribution Debian et que vous avez une ancienne version du package texinfo. Cette erreur n'est pas gênante outre mesure : les pages d'info seront installées quand vous recompilerez bash dynamiquement au chapitre 6, vous pouvez donc l'ignorer.

Détail de la commande

--enable-static-link: Cette option permet à Bash d'être lié statiquement

--prefix=$LFS/static: Cette option installe tous les fichiers bash dans le répertoire $LFS/static, qui devient alors le répertoire /static lors d'un chroot ou d'un reboot dans LFS.

--with-curses: Ceci permet à bash d'être lié à la bibliothèque curses plutôt qu'à la bibliothèque termcap par défaut, laquelle devient obsolète.

Il n'est pas nécessaire au sens strict que le bash statique soit lié à libncurses (il peut être lié à la bibliothèque statique termcap dans un premier temps car nous réinstallerons Bash dans le chapitre 6 de toute façon, où là nous utiliserons libncurses), cependant c'est un bon test pour être sûr que le package ncurses a été correctement installé. S'il ne l'a pas été, vous aurez quelques problèmes plus loin dans ce chapitre lorsqu'il s'agira d'installer le package Texinfo. Ce package requiert ncurses et termcap ne peut plus alors être utilisé.

Les caractères && à la fin de chaque ligne permettent de n'exécuter la prochaine commande que si la commande précédente existe et retourne 0 indiquant qu'elle s'est exécutée sans erreur. Dans ce cas, toutes les commandes sont copiées et collées dans le shell, il est important de s'assurer que si ./configure échoue, make ne sera pas exécuté et, de ce fait, si make échoue, alors make install ne doit pas être exécuté, et ainsi de suite.

Contenu de Bash

Dernière vérification effectuée auprès de la version 2.05a.

Programmes

bash, sh (lien vers bash) et bashbug

Descriptions

bash

bash est le Bourne-Again SHell, un interpréteur de commandes très largement répandu sur les systèmes Unix. bash est un programme qui lit depuis l'entrée standard, le clavier. L'utilisateur tape quelque chose et le programme évaluera ce qu'il a tapé et fera quelque chose avec, comme lancer un programme.

bashbug

bashbug est un shell de script afin d'aider l'utilisateur à composer et à expédier par courrier électronique sous un format standard les rapports de bogues concernant bash.

sh

sh est un lien symbolique vers le programme bash. Quand bash est invoqué en tant que sh, il essaye de simuler le comportement du démarrage des versions historiques de sh aussi similairement que possible, tout en restant conforme au standard POSIX aussi.

Dépendances d'installation de Bash

Dernière vérification effectuée auprès de la version 2.05a.


Bash: bash, sh
Binutils: ar, as, ld, ranlib, size
Diffutils: cmp
Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, grep
Make: make
Gawk: awk
Sed: sed
Sh-utils: basename, echo, expr, hostname, sleep, uname
Texinfo: install-info
Textutils: cat, tr, uniq