Subversion Repositories svn LFS-FR

Compare Revisions

Ignore whitespace Rev 467 → Rev 468

/trunk/blfs/postlfs/postlfs.ent
8,8 → 8,7
<!ENTITY postlfs-config-vimrc SYSTEM "config/vimrc.xml">
<!ENTITY postlfs-config-bootdisk SYSTEM "config/bootdisk.xml">
<!ENTITY postlfs-config-random SYSTEM "config/random.xml">
<!ENTITY postlfs-config-manpages SYSTEM "config/manpages.xml">
<!ENTITY postlfs-config-infopages SYSTEM "config/infopages.xml">
<!ENTITY postlfs-config-compressdoc SYSTEM "config/compressdoc.xml">
<!ENTITY postlfs-config-skel SYSTEM "config/skel.xml">
 
<!-- Post-LFS Security -->
54,6 → 53,8
 
<!-- Shells -->
<!ENTITY postlfs-shells SYSTEM "shells/shells.xml">
<!ENTITY % ash SYSTEM "shells/ash/ash.ent">
%ash;
<!ENTITY % tcsh SYSTEM "shells/tcsh/tcsh.ent">
%tcsh;
<!ENTITY % zsh SYSTEM "shells/zsh/zsh.ent">
/trunk/blfs/postlfs/config/profile.xml
1,4 → 1,4
<sect1 id="postlfs-config-profile">
<sect1 id="postlfs-config-profile" xreflabel="Les fichiers de démarrage Bash">
<?dbhtml filename="profile.html" dir="postlfs"?>
<title>Les fichiers de démarrage du shell Bash</title>
 
7,7 → 7,7
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
<filename>/etc</filename> apportent habituellement une configuration globale.
<filename class="directory">/etc</filename> apportent habituellement une configuration globale.
Si un fichier équivalent existe dans votre répertoire personnel, il pourrait
écraser les paramètrages globaux.</para>
 
41,6 → 41,12
quand le shell est invoqué comme shell interactif sans fonction de connexion.
</para>
 
<para>Aussi utiles sont les fichiers <filename>/etc/dircolors</filename> et
<filename>~/.dircolors</filename> appelés à partir de
<filename>/etc/profile</filename>. Ils contrôlent les sorties colorisées de
commandes comme <command>ls --color</command>.
</para>
 
<para>Voici la base d'un <filename>/etc/profile</filename>. 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
184,7 → 190,7
<para>Voici la base d'un <filename>~/.bashrc</filename>. Les commentaires
dans le fichier devraient expliquer tout ce dont vous avez besoin. Les
commentaires et instructions sur l'utilisation de
<filename>/etc/skel</filename> pour <filename>.bash_profile</filename> ci-dessus
<filename class="directory">/etc/skel</filename> pour <filename>.bash_profile</filename> ci-dessus
s'appliquent ici aussi. Seuls les noms des fichiers cibles sont différents.
</para>
 
218,7 → 224,7
 
<para>Si vous voulez utiliser la capacité <filename>dircolors</filename>, alors
lancez la commande suivante. Les étapes de configuration de
<filename>/etc/skel</filename> vues ci-dessus peuvent aussi être utilisées ici
<filename class="directory">/etc/skel</filename> vues ci-dessus peuvent aussi être utilisées ici
pour procurer un fichier <filename>.dircolors</filename> 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,
/trunk/blfs/postlfs/config/random.xml
54,7 → 54,8
chmod 755 /etc/rc.d/init.d/random</command></userinput></screen>
 
<para>Créez les liens symboliques de ce fichier dans les répertoires <filename
class="directory">rc.d</filename> appropriés avec les commandes suivantes:
class="directory">rc.d</filename> appropriés avec les commandes
suivantes:</para>
<screen><userinput><command>cd /etc/rc.d/init.d &amp;&amp;
ln -sf ../init.d/random ../rc0.d/K45random &amp;&amp;
ln -sf ../init.d/random ../rc2.d/S25random &amp;&amp;
62,7 → 63,6
ln -sf ../init.d/random ../rc4.d/S25random &amp;&amp;
ln -sf ../init.d/random ../rc5.d/S25random &amp;&amp;
ln -sf ../init.d/random ../rc6.d/K45random</command></userinput></screen>
</para>
 
 
</sect1>
/trunk/blfs/postlfs/config/vimrc.xml
1,22 → 1,26
<sect1 id="postlfs-config-vimrc">
<sect1 id="postlfs-config-vimrc" xreflabel="/etc/vimrc, ~/.vimrc">
<?dbhtml filename="vimrc.html" dir="postlfs"?>
<title>/etc/vimrc, ~/.vimrc</title>
 
<para>Le livre LFS installe vim comme son éditeur. A ce point, nous devons
établir qu'il existe <emphasis>beaucoup</emphasis> 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!</para>
<para>Le livre <acronym>LFS</acronym> installe vim comme son éditeur. A ce
point, nous devons établir qu'il existe <emphasis>beaucoup</emphasis> d'éditeurs
différents incluant <application>emacs</application>,
<application>nano</application>, <application>joe</application> 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 <application>vim</application> et
<application>emacs</application>&nbsp;!</para>
 
<para>Le livre LFS donne un fichier <filename>vimrc</filename> basique. Ici,
nous essaierons d'améliorer ce fichier. Au démarrage, vim lit
<filename>/etc/vimrc</filename> et <filename>~/.vimrc</filename> (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 <filename>/usr/share/vim/vimrc</filename>.</para>
<para>Le livre <acronym>LFS</acronym> donne un fichier <filename>vimrc</filename>
basique. Ici, nous essaierons d'améliorer ce fichier. Au démarrage,
<command>vim</command> lit <filename>/etc/vimrc</filename> et
<filename>~/.vimrc</filename> (c'est-à-dire le fichier global et le fichier
spécifique aux utilisateurs). Notez que ceci est seulement vrai si vous avez
compilé <application>vim</application> en utilisant <acronym>LFS</acronym>-3.1.
Avant ceci, le fichier global vimrc était <filename>/usr/share/vim/vimrc</filename>.
</para>
 
<para>Ici se trouve un exemple légèrement étendu de vimrc que vous pouvez
<para>Ici se trouve un exemple légèrement étendu de <filename>vimrc</filename> que vous pouvez
mettre dans <filename>/etc/vimrc</filename> pour un effet global. Bien sûr, si
vous le placez dans <filename>/etc/skel/.vimrc</filename>, il sera mis à
disposition de tous les utilisateurs que vous ajouterez plus tard au système.
26,75 → 30,57
les droits, propriétaire et groupe si vous copiez tout directement à partir de
<filename>/etc/skel</filename>.</para>
 
<para><screen>" Début .vimrc
<screen>" Début .vimrc
 
set nocompatible
set bs=2
set columns=80
set background=dark
set tabstop=8
set wrapmargin=8
set nobk
syntax on
set ruler
set noexpandtab
 
" Fin .vimrc</screen></para>
" Fin .vimrc</screen>
 
<para>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.</para>
<para>Une <acronym>FAQ</acronym> sur les listes lfs parle des tags de
commentaires dans <filename>vimrc</filename>. Notez qu'on utilise " au lieu du
plus usuel # ou //. C'est correct, la syntaxe
pour <filename>vimrc</filename> est légèrement inhabituelle.</para>
 
<para>Nous allons nous lancer dans une rapide explication de chaque option du
fichier exemple:</para>
<itemizedlist>
<listitem><para><userinput>set nocompatible</userinput> :
Cette option empêche vim d'avoir une compatibilité vi trop affirmée. Elle doit
être au début de chaque fichier vimrc car il affecte beaucoup d'autres options
que vous souhaiteriez surcharger.</para></listitem>
 
<listitem><para><userinput>set bs=2</userinput> :
<listitem><para><option>set bs=2</option> :
Ceci influence le comportement de l'option backspace. Elle est assez complexe,
donc voir <userinput>:help 'bs'</userinput> pour plus de détails.
donc voir <command>:help 'bs'</command> pour plus de détails.
</para></listitem>
 
<listitem><para><userinput>set columns=80</userinput> :
<listitem><para><option>set columns=80</option> :
Ceci indique simplement le nombre de colonnes utilisées sur l'écran.
</para></listitem>
 
<listitem><para><userinput>set background=dark</userinput> :
Ceci dit à vim d'utiliser des couleurs correctes sur un fond noir.
<listitem><para><option>set background=dark</option> :
Ceci dit à <command>vim</command> d'utiliser des couleurs correctes sur un fond noir.
</para></listitem>
 
<listitem><para><userinput>set tabstop=8</userinput> :
Le nombre d'espaces qu'une tabulation prends.</para></listitem>
 
<listitem><para><userinput>set wrapmargin=8</userinput> :
<listitem><para><option>set wrapmargin=8</option> :
Il s'agit du nombre de caractères du bord droit de la fenêtre où le 'wrapping'
commence.</para></listitem>
 
<listitem><para><userinput>set nobk</userinput> :
Ceci empêche vim de créer une sauvegarde avant d'écrire sur un fichier.
</para></listitem>
<listitem><para><option>syntax on</option> :
Active le surlignage syntaxique de <command>vim</command>.</para></listitem>
 
<listitem><para><userinput>syntax on</userinput> :
Active le surlignage syntaxique de vim.</para></listitem>
 
<listitem><para><userinput>set ruler</userinput> :
Ceci fait que vim affiche la ligne et la colonne courantes dans le bas droit de
<listitem><para><option>set ruler</option> :
Ceci fait que <command>vim</command> affiche la ligne et la colonne courantes dans le bas droit de
l'écran.</para></listitem>
 
<listitem><para><userinput>set noexpandtab</userinput> :
Ceci fait que vim insère des tabulations comme des caractères tab au lieu
d'ensembles d'espaces.</para></listitem>
 
</itemizedlist>
 
<para>Plus d'informations sur les <emphasis>nombreuses</emphasis> options de
vim peuvent être trouvées en lisant l'aide dans vim lui-même. Faites ceci en
tapant <userinput>:help</userinput> dans vim pour accéder à l'aide général, ou
en tapant <userinput>:help usr_toc.txt</userinput> pour voir le Sommaire du
Manuel Utilisateur.</para>
<command>vim</command> peuvent être trouvées en lisant l'aide dans
<command>vim</command> lui-même. Faites ceci en tapant
<command>:</command><option>help</option> dans <command>vim</command> pour
accéder à l'aide général, ou en tapant <command>:help</command><option>
usr_toc.txt</option> pour voir le sommaire du manuel utilisateur.</para>
 
</sect1>
 
/trunk/blfs/postlfs/config/compressdoc.xml
0,0 → 1,504
<sect1 id="postlfs-config-compressdoc" xreflabel="compressdoc">
<?dbhtml filename="compressdoc.html" dir="postlfs"?>
<title>Compresser les pages man et info</title>
 
<para>Les programmes de lecture de pages man et peuvent traiter de manière
transparente des pages compressées avec <application>gzip</application>
et <application>bzip</application>, fonctionnalité intéressante pour gagner en
espace disque tout en conservant votre documentation. Néanmoins, les choses ne
sont pas aussi simple&nbsp;: 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 <command>gzip</command>. Une meilleur façon de faire est d'utiliser
le script ci-dessous.
</para>
 
<screen><userinput><command>cat &gt; /usr/bin/compressdoc &lt;&lt; "EOF"</command>
#!/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 &lt;marc @ koelkast.net&gt;
# 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 &lt;markh @ linuxfromscratch.org&gt;
#
# Modifié 20030930 par Yann E. Morin &lt;yann.morin.1998 @ anciens.enib.fr&gt;
# 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 &lt;méthode_compression&gt; [options] [dirs]" &amp;&amp; \
cat &lt;&lt; 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&gt;/dev/null | tail -1)`
for i in "${BASENAME}" "${GZ_FILE}" "${BZ_FILE}"; do
[ "$LATEST" != "$i" ] &amp;&amp; rm -f "$DIR"/"$i"
done
 
# Au cas où le fichier spécifié est le dernier, renvoit 0
[ "$LATEST" = "$2" ] &amp;&amp; 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" ] &amp;&amp; echo "yes" || echo "no"
echo "man.conf est..........: ${MAN_CONF}/man.conf"
echo -n "Hard-links............: "
[ "foo$LN_OPT" = "foo-S" ] &amp;&amp; echo "convert to soft-links" || echo "leave as is"
echo -n "Liens symboliques.....: "
[ "foo$LN_OPT" = "foo-H" ] &amp;&amp; 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..." &gt; $DEST_FD0
[ -f "${DIR_NAME}.tar.old" ] &amp;&amp; rm -f "${DIR_NAME}.tar.old"
[ -f "${DIR_NAME}.tar" ] &amp;&amp; mv "${DIR_NAME}.tar" "${DIR_NAME}.tar.old"
tar cfv "${DIR_NAME}.tar" "${DIR_NAME}" &gt; $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 "-&gt; Entering ${DIR}/${FILE}..." &gt; $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 "&lt;- Sortie de ${DIR}/${FILE}." &gt; $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 "&gt;" -f2 | tr -d " " | sed s/\.$EXT$//`
NEWNAME=`echo "$FILE" | sed s/\.$EXT$//`
mv "$FILE" "$NEWNAME"
FILE="$NEWNAME"
else
LINK=`ls -l "$FILE" | cut -d "&gt;" -f2 | tr -d " "`
fi
 
if [ "$LN_OPT" = "-H" ]; then
# Modifie le lien symbolique en lien physique
rm -f "$FILE" &amp;&amp; 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" &amp;&amp; ln -s "${LINK}$COMP_SUF" "${FILE}$COMP_SUF"
fi
echo "Modification du lien $FILE" &gt; $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" &amp;&amp; chmod 644 "${FILE}${COMP_SUF}"
echo "$FILE compressé " &gt; $DEST_FD1
;;
*gz)
gzip ${COMP_LVL} "$FILE" &amp;&amp; chmod 644 "${FILE}${COMP_SUF}"
echo "$FILE compressé " &gt; $DEST_FD1
;;
*)
echo "$FILE non compressé " &gt; $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
<command>EOF
chmod 755 /usr/bin/compressdoc</command></userinput></screen>
 
<para>Maintenant, en tant qu'utilisateur root, vous pouvez lancer
<command>/usr/bin/compressdoc --bz2</command> pour compresser toutes les pages
man de votre système. Vous pouvez aussi lancer <command>/usr/bin/compressdoc
--help</command> pour obtenir une aide compréhensible sur ce que le script est
capable de faire.</para>
 
<para>N'oubliez que certains programmes, comme le système <application>X</application>
Window, <application>XEmacs</application>, installent aussi leur
documentation dans des emplacements non standard (tels que <filename class="directory">
/usr/X11R6/man</filename>, etc...). N'oubliez pas d'ajouter ces emplacements
dans le fichier <filename>/etc/man.conf</filename>, comme une section
<envar>MANPATH</envar>=<replaceable>/path</replaceable>.</para>
<para>Exemple:</para><screen><userinput>
...
MANPATH=/usr/share/man
MANPATH=/usr/local/man
MANPATH=/usr/X11R6/man
MANPATH=/opt/qt/doc/man
...</userinput></screen>
 
<para>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&nbsp;: 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.</para>
 
</sect1>
 
/trunk/blfs/postlfs/config/inputrc.xml
1,4 → 1,4
<sect1 id="postlfs-config-inputrc">
<sect1 id="postlfs-config-inputrc" xreflabel="/etc/inputrc">
<?dbhtml filename="inputrc.html" dir="postlfs"?>
<title>/etc/inputrc</title>
 
39,7 → 39,8
simplement copier ce fichier dans <filename>/etc/inputrc</filename> 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
d'utiliser le paramètre <parameter>-p</parameter> de <command>cp</command>
pour conserver les droits et assurez-vous
de changer le propriétaire et le groupe de façon appropriée.</para>
 
<screen><userinput><command>cat &gt; /etc/inputrc &lt;&lt; "EOF"</command>
/trunk/blfs/postlfs/config/config.xml
1,8 → 1,8
<chapter id="postlfs-config">
<?dbhtml filename="config.html" dir="postlfs"?>
<title>Après la configuration de LFS</title>
<title>Après la configuration de <acronym>LFS</acronym></title>
 
<para>L'intention de LFS est d'apporter un système basique à partir duquel vous
<para>L'intention de <acronym>LFS</acronym> 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.</para>
38,8 → 38,7
&postlfs-config-vimrc;
&postlfs-config-logon;
&postlfs-config-random;
&postlfs-config-manpages;
&postlfs-config-infopages;
&postlfs-config-compressdoc;
 
</chapter>
 
/trunk/blfs/postlfs/config/bootdisk.xml
2,61 → 2,367
<?dbhtml filename="bootdisk.html" dir="postlfs"?>
<title>Créer un disque de démarrage personnalisé</title>
 
<sect2><title>Comment créer un disque de démarrage décent</title>
<sect2>
<title>Besoins décents pour une disque de démarrage de dépannage</title>
<para>Cette section se concentre particulièrement sur la création d'une
disquette de dépannage (<emphasis>rescue</emphasis>). 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 <emphasis>ne devez pas</emphasis>
dépendre de ressources disponibles sur l'hôte à réparer. Présumer qu'une
partition ou un disque dur donné <emphasis>sera</emphasis> disponible est très
risqué.</para>
 
<para>Le but ici est de créer un "disque de démarrage de dépannage" qui
chargera assez 'linux' pour vous permettre de faire des opérations de dépannage.
Ce qui est présenté ici est suffisant pour faire des manipulations de
fichiers, de monter et démonter, ainsi que d'autres tâches. Ceci n'est pas
néanmoins une limite. Le disque minimal est décrit ici, et vous pouvez ajouter
tout ce qui pourra tenir dans la disquette.</para>
<para>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 (<acronym>MBR</acronym> 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.</para>
 
<para>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.</para>
</sect2>
 
<sect2><title>Disque de démarrage/Disque de dépannage</title>
<sect2>
<title>La disquette de dépannage minimale</title>
 
<para>Tout d'abord, nous allons créer un fichier loopback sur lequel nous allons
construire le système de fichiers racine pour notre image disque de dépannage.
Ceci est habituellement connu sous le nom de ramdisk initial, ou initrd en plus
court, et il est automatiquement chargé lors du processus de démarrage si
toute la configuration est faite correctement.</para>
<para>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 <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox
</ulink></application> et <application><ulink
url="http://freshmeat.net/projects/e2fsprogs/">e2fsprogs</ulink></application>.
Un éditeur basique et un outil de partionnement rudimentaire pourraient aussi
être inclus, de manière optionnelle.</para>
 
<para>Ensuite, nous créerons un système de fichiers sur le fichier loopback et
utiliserons <command>mount</command> pour monter le fichier loopback comme un
disque ordinaire, nous permettant de lire et d'écrire des fichiers. Les
commandes suivantes nous construirons une image de 4 Mo.</para>
<para>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.</para>
</sect2>
 
<screen><userinput><command>dd if=/dev/zero of=/tmp/rfloppy bs=1k count=4096 &amp;&amp;
mke2fs -m 0 -N 2000 /tmp/rfloppy &amp;&amp;
mount -o loop /tmp/rfloppy /mnt/loop1 &amp;&amp;
rmdir /mnt/loop1/lost+found/</command></userinput></screen>
<sect2>
<title>Construire la disquette de dépannage</title>
<sect3>
<title>Prérequis</title>
 
<para>Maintenant que nous avons un fichier monté et utilisable, nous allons le
remplir de matériaux utiles. Comme ce n'est qu'une disquette de dépannage, nous
aurons seulement besoin de mettre en place les répertoires minimums.</para>
<para>Vous devez avoir des disquettes, reconnues bonnes. Certains préfèrent
utiliser la commande <command>fdformat</command> 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.</para>
 
<para>Ces instructions présument une installation <acronym>LFS</acronym> de base
utilisant le système de fichiers ext2/ext3.</para>
 
<para>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
<ulink url="&patch-root;/linux-2.4.22-init-1.patch">init-1</ulink>, 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.</para>
 
<para>Vous avez besoin du support du périphérique loopback activé dans le noyau
de votre hôte pour utiliser cette procédure.</para>
 
<para>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 <application>XFree86</application>,
<application>DRI</application>, etc, car la plupart des dépannages sont réalisés
à partir de la ligne de commande. Si vous avez <xref linkend="gcc2"/>, 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.</para>
 
<para>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 <command>mount</command> pour travailler
correctement.</para>
 
<para>Si vous installez <emphasis>seulement</emphasis> 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
<command>ed</command> et un outil de partionnement rudimentaire comme
<command>sfdisk</command> - 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 <acronym>CD</acronym> 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.</para>
 
<para>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".</para>
 
<para>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.</para>
 
<para>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
<command>ls -sk</command> 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.</para>
</sect3>
 
<sect3>
<title>Etapes de la construction de la disquette de dépannage</title>
 
<para>Les étapes de base seront&nbsp;:</para>
<itemizedlist>
<listitem><para>créer un point de montage pour un système de fichiers</para></listitem>
<listitem><para>créer un fichier vide pour contenir le système de fichiers</para></listitem>
<listitem><para>lier le fichier vide à un périphérique loopback</para></listitem>
<listitem><para>créer un système de fichiers de 4&nbsp;Mo</para></listitem>
<listitem><para>monter le système de fichiers</para></listitem>
<listitem><para>ajouter les composants au système de fichiers</para></listitem>
<listitem><para>créer l'initrd compressé</para></listitem>
<listitem><para>joindre rescueimage et initrd sur une disquette</para></listitem>
</itemizedlist>
 
<para>Le disque ram initial sera automatiquement chargé au démarrage si la
configuration est faite correctement.</para>
 
<para><emphasis>Créer un point de montage et un fichier vide pour contenir le
système de fichiers</emphasis></para>
 
<screen><userinput><command>mkdir -p /mnt/loop1
dd if=/dev/zero of=/tmp/rfloppy bs=1k count=4096</command></userinput></screen>
 
<para><emphasis>Explication des commandes</emphasis></para>
 
<para><command>dd</command>: C'est un outil général de copie entrée-vers-sortie
disposant de nombreuses fonctionnalités de transformation.</para>
 
<para><parameter>if=/dev/zero</parameter>: Ce paramètre affecte le fichier
d'entrée de <command>dd</command> à un périphérique renvoyant un flux infini de
zéros.</para>
 
<para><parameter>of=/tmp/rfloppy</parameter>: Ce paramètre redirige la sortie de
<command>dd</command> vers <filename>/tmp/rfloppy</filename>.</para>
 
<para><parameter>bs=1k count=4096</parameter>: Ces paramètres indiquent à
<command>dd</command> de lire et écrire par paquets de 1024 octets et d'en
traiter 4096.</para>
 
<para><emphasis>Lier le fichier au périphérique loopback, créer un système de
fichier et le monter.</emphasis></para>
 
<para>La raison pour laquelles ces commandes sont utilisées est qu'elles
fonctionnent quelle que soit la version de <command>mount</command> (les plus
anciennes n'ont pas l'option <userinput>-o loop</userinput>) ou si <filename>/etc/mtab</filename>
est un lien symbolique de <filename class="directory">/proc</filename> (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.</para>
 
<screen><userinput><command>losetup /dev/loop1 /tmp/rfloppy
mke2fs -m 0 -N 504 /dev/loop1
mount -t ext2 /dev/loop1 /mnt/loop1</command></userinput></screen>
 
<para><emphasis>Explication des commandes</emphasis></para>
 
<para><command>losetup /dev/loop1 /tmp/rfloppy</command>: Cette commande
"lie" le périphérique loopback au fichier vide.</para>
 
<para><command>mke2fs -m 0 -N 504 /dev/loop1</command>: 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
<userinput>-N 504</userinput> fait que seules 504 inodes sont allouées, laissant
plus d'espace pour d'autres choses nécessaires dans le système de fichiers.
</para>
 
<para><command>mount -t ext2 /dev/loop1 /mnt/loop1</command>: 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.</para>
 
<para>Si votre commande <command>mount</command> supporte l'option
<option>-o loop</option> <emphasis>et</emphasis> que votre
<filename>/etc/mtab</filename> est un vrai fichier, plutôt qu'un lien symbolique
vers <filename class="directory">/proc</filename>, les trois commandes ci-dessus
peuvent être remplacées par ces deux commandes.</para>
 
<screen><userinput><command>mke2fs -F -m 0 -N 504 /tmp/rfloppy
mount -o loop /tmp/rfloppy /mnt/loop1</command></userinput></screen>
 
<para><emphasis>Explication des commandes</emphasis></para>
 
<para><command>mke2fs -F -m 0 -N 504 /tmp/rfloppy</command>: 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 <userinput>-F</userinput>
supprime simplement une question irritante lorsque <command>mke2fs</command>
réalisé que vous n'accédez pas à un périphérique.</para>
 
<para><command>mount -o loop /tmp/rfloppy /mnt/loop1</command>: Cette
commande indique à <command>mount</command> 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 <filename class="directory">/mnt/loop1</filename>.</para>
 
<para><emphasis>Ajouter des composants au système de fichiers</emphasis></para>
 
<para><emphasis>Note d'avertissement:</emphasis> Si vous n'êtes pas dans un
environnement <command>chroot</command>, assurez-vous que vous n'omettez pas
accidentellement la référence <filename class="directory">/mnt/loop1</filename>
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 <acronym>LFS</acronym>
fraichement construit que vous comptez utiliser comme hôte dans le futur.
</para>
 
<para>Tout d'abord, pour conserver autant de place libre que possible, supprimez
le répertoire <filename>lost+found</filename>, qui n'est pas nécessaire sauf
dans le cas d'un <command>fsck</command>. Comme <command>fsck</command> ne sera
jamais exécuté sur ce système de fichiers, il n'est pas nécessaire.</para>
 
<screen><userinput><command>rmdir /mnt/loop1/lost+found/</command></userinput></screen>
 
<para>Maintenant, créez un ensemble minimal de répertoires.</para>
 
<screen><userinput><command>mkdir /mnt/loop1/{dev,proc,etc,sbin,bin,lib,mnt,usr,var}</command></userinput></screen>
 
<para>Ensuite, nous allons mettre en place les fichiers périphériques. J'utilise
devfs sur mon système, donc la commande suivante fonctionne bien, car je dispose
seulement des périphériques que j'utilise. Si vous avez utilisé
<command>MAKEDEV</command> pour créer vos fichiers périphériques, vous devrez
faire le ménage dans le répertoire <filename>/mnt/loop1/dev</filename> pour
réclamer les inodes perdues par tous les périphériques du répertoire
<filename>dev</filename> que vous n'utilisez pas.</para>
<para>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.</para>
 
<screen><userinput><command>cp -dpR /dev/* /mnt/loop1/dev</command></userinput></screen>
 
<para>Maintenant pour le répertoire <filename>/etc</filename>. Pour commencer,
tout ce que nous ferons est d'utiliser les fichiers passwd et group, qui
fonctionnaient, dans un environnement statique chroot lors de la construction
de <acronym>LFS</acronym>. Nous copierons aussi les scripts de démarrage et
quelques autres fichiers qui servent bien comme point d'entrée.</para>
<para>Si vous utilisez <command>MAKEDEV</command> 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.</para>
 
<screen><userinput><command>cp -ax /etc/rc* /mnt/loop1/etc
cp -ax /etc/fstab /mnt/loop1/etc
echo "root:x:0:0:root:/root:/bin/bash" &gt; /mnt/loop1/etc/passwd
cat &gt; /mnt/loop1/etc/group &lt;&lt; "EOF"</command>
<para><emphasis>Vous devez modifier ceci pour convenir à la configuration de la
disquette de démarrage.</emphasis> Par exemple, vous avez besoin de
périphériques <acronym>SCSI</acronym> 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.
</para>
 
<screen><userinput><command>mkdir /mnt/loop1/dev/pts
cp -a \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/null /dev/console \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/fb[0-7] /dev/fd /dev/fd0 /dev/fd0h1440 /dev/full \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/hda* /dev/hdb* /dev/hdc* /dev/hdd* /dev/initctl /dev/kmem \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/loop[0-3] /dev/lp0 /dev/mem /dev/port \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/psaux /dev/ram \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/ram0 /dev/ram1 /dev/ram2 /dev/ram3 /dev/random /dev/rtc \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/shm /dev/stderr /dev/stdin /dev/stdout /dev/tty \
&nbsp;&nbsp;&nbsp;&nbsp;/dev/tty[0-9] /dev/ttyS0 /dev/ttyS1 /dev/urandom /dev/zero \
&nbsp;&nbsp;/mnt/loop1/dev</command></userinput></screen>
 
<para><emphasis>Qu'est-il nécessaire dans le répertoire <filename class="directory">/etc</filename></emphasis></para>
 
<para>Si vous voulez, vous pouvez copier tout ou partie de vos fichiers
<filename>/etc/passwd</filename> et <filename>/etc/group</filename>. 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
<filename>rcS</filename> que <filename>linuxrc</filename> (en fait
<application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox
</ulink></application>) 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.
</para>
 
<para>Certains aimeraient copier leur répertoire <filename class="directory">/etc/rc*</filename>
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.</para>
 
<para>Ici, seul <filename>fstab</filename> 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 <filename>fstab</filename>.
Si vous décidez d'inclure certains scripts de démarrage qui pourraient essayer
de monter quelque chose, modifiez les entrées de <filename>fstab</filename> avec
l'option <command>noauto</command> dans le champ des options pour qu'ils
n'essaient pas de monter une partition potentiellement corrompue. Copiez-le dans
<filename class="directory">/tmp</filename>, éditez-le puis faites:</para>
 
<screen><userinput><command>cp -a /tmp/fstab /mnt/loop1/etc</command></userinput></screen>
 
<para>Maintenant, le script d'initialisation va être ajouté. Comme mentionné
ci-dessus, <command>linuxrc</command> est lié symboliquement à <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox
</ulink></application>.
Après le chargement du noyau et du disque ram initial, le noyau donne le
contrôle à <command>linuxrc</command> (<application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox
</ulink></application>). Il veut lancer un script <filename class="directory">/etc/init.d/rcS</filename>
pour réaliser la configuration initiale.</para>
 
<para>Si vous utilisez devfsd, vous aurez besoin de configurer le script
<filename>rcS</filename> pour gérer le lancement de devfsd. Placez les commandes
suivantes dans <filename class="directory">/mnt/loop1/etc/init.d/rcS</filename>.
Vous pouvez aussi ajouter quelques-unes des étapes montrées dans la version non devfs
qui suit.</para>
 
<screen><userinput>#!/bin/sh
mount -t devfs devfs /dev
/sbin/devfsd /dev</userinput></screen>
 
<para>Si vous ne voulez pas utiliser devfsd, mais que vous souhaitez créer un
répertoire <filename class="directory">/dev</filename> statique en utilisant
<command>MAKEDEV</command>, ou tout autre outil, le script
<filename>rcS</filename> fera les choses d'une façon légèrement différente. De
même, n'oubliez pas qu'il crée les fichiers <filename>/etc/passwd</filename> et
<filename>/etc/group</filename> sauvant ainsi de l'espace sur la disquette.</para>
 
<para>Ensuite, le script montera <filename class="directory">/proc</filename>,
activera le swap (aucun problème si cela échoue), crée les fichiers
<filename>/etc/passwd</filename> et <filename>/etc/group</filename>, crée un
répertoire de traces. Créez le script avec:</para>
 
<screen><userinput><command>mkdir -p /mnt/loop1/etc/init.d
cat &gt;/mnt/loop1/etc/init.d/rcS &lt;&lt; EOD</command>
#!/bin/sh
mount -t proc proc /proc
swapon -a
 
echo "root:x:0:0:root:/root:/bin/bash" &gt; /etc/passwd
 
<command>cat &gt; /etc/group &lt;&lt;EOF</command>
root:x:0:
bin:x:1:
sys:x:2:
69,79 → 375,306
lp:x:9:
dialout:x:10:
audio:x:11:
<command>EOF</command></userinput></screen>
<command>EOF
chmod 644 /etc/passwd /etc/group</command>
 
<para>Pour empêcher le montage automatique des partitions des disques durs,
assurez-vous d'ajouter l'option noauto dans les entrées fstab. Ajoutez aussi les
entrées suivantes dans <filename>/mnt/loop1/etc/fstab</filename> pour vous aider
à monter notre disquette et l'image ram.</para>
<screen><userinput>/dev/ram0 / ext2 defaults
/dev/fd0 / ext2 defaults</userinput></screen>
mkdir /var/log
 
<para>Ensuite, nous installerons <ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox</ulink>
sur l'image. Busybox intègre un grand nombre des fonctions unix dans un seul
petit exécutable.</para>
<command>EOD
chmod u+x /mnt/loop1/etc/init.d/rcS</command></userinput></screen>
 
<para>Sauf si vous ajoutez beaucoup de commandes dans ce script, ce qui
<emphasis>est</emphasis> encouragé, ce qui se trouve ci-dessus est
raisonnablement proche de ce dont vous avez besoin.</para>
 
<para><emphasis>Installer les packages</emphasis></para>
 
<para>Deux packages doivent êtres installés. Le package <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox</ulink></application>
incorpore les fonctions de base fournissant un shell et beaucoup d'outils
basiques. Un package pour le système de fichiers, comme <application><ulink
url="http://freshmeat.net/projects/e2fsprogs/">e2fsprogs</ulink></application>, 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.</para>
 
<para>Si vous utilisez devfsd, vous aurez aussi besoin d'installer ce logiciel.</para>
 
<para>Installez <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox</ulink></application>
dans l'image du disque ram initial. Busybox incorpore un grand nombre d'outils
Unix en un seul petit exécutable.</para>
 
<screen><userinput><command>make &amp;&amp;
make PREFIX=/mnt/loop1 install &amp;&amp;
cp -ax /var/utmp /mnt/loop1/var &amp;&amp;
mkdir /mnt/loop1/var/log</command></userinput></screen>
&gt; /mnt/loop1/var/utmp</command></userinput></screen>
 
<para>Conservez aussi 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 <userinput>ldd</userinput> sur chaque exécutable pour voir quelles
bibliothèques devront être copiées.</para>
<para>Un fichier <filename>var/utmp</filename> est créé parce que <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox</ulink></application>
en a besoin pour que la commande de redémarrage fonctionne correctement. Si ce
fichier n'existe pas lorsque <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox</ulink></application>
est démarré, la commande <command>reboot</command> ne fonctionnera pas. Ceci
serait une mauvaise chose pour les personnes ne disposant pas du bouton de
réinitialisation.</para>
 
<para>Maintenant, comme j'utilise devfs pour créer les périphériques au vol et
libérer ainsi des précieuses inodes sur la disquettes, nous allons aussi
installer devfsd pour les périphériques que busybox attends de trouver.</para>
<para>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 <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox</ulink></application>
s'attend à trouver. Utilisez les commandes suivantes pour faire l'installation.</para>
 
<screen><userinput><command>mv GNUmakefile Makefile &amp;&amp;
make &amp;&amp;
make PREFIX=/mnt/loop1 install &amp;&amp;
cp /lib/libc.so.6 /lib/ld-linux.so.2 /lib/libdl.so.2 /tmp &amp;&amp;
strip --strip-deb /tmp/ld-linux.so.2 /tmp/libc.so.6 /tmp/libdl.so.2 &amp;&amp;
mv /tmp/ld-linux.so.2 /tmp/libc.so.6 /tmp/libdl.so.2 /mnt/loop1/lib/</command></userinput></screen>
make PREFIX=/mnt/loop1 install &amp;&amp;</command></userinput></screen>
 
<para>Nous aurons aussi besoin mettre en place un script rc pour gérer le
lancement de devfsd. Mettre ceci dans
<filename>/mnt/loop1/etc/init.d/rcS</filename></para>
<para><emphasis>Installez une partie de <application>e2fsprogs</application></emphasis></para>
 
<screen><userinput>#!/bin/sh
mount -t devfs devfs /dev
/sbin/devfsd /dev</userinput></screen>
<para>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 <application>e2fsprogs</application>
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
<emphasis>principal</emphasis> de ce que vous voyez ici pour installler les
parties de votre package.</para>
 
<para>Ensuite, créez votre système de fichiers root compressé. Nous utilisons
l'option -9 avec gzip pour rendre l'image compressé la plus petite possible.
</para>
<screen><userinput><command>LDFLAGS='-s'
mkdir build &amp;&amp;
cd build &amp;&amp;
../configure --prefix=/mnt/loop1/usr --with-root-prefix="" \
--disable-swapfs --disable-debugfs \
--enable-dynamic-e2fsck --disable-nls --disable-evms \
--disable-rpath &amp;&amp;
make LDFLAGS="$LDFLAGS" &amp;&amp;
strip -p --strip-unneeded --remove-section=.comment \
-o /mnt/loop1/sbin/mke2fs misc/mke2fs &amp;&amp;
strip -p --strip-unneeded --remove-section=.comment \
-o /mnt/loop1/sbin/e2fsck e2fsck/e2fsck &amp;&amp;
chmod 555 /mnt/loop1/sbin/{mke2f,e2fsck}
</command></userinput></screen>
 
<screen><userinput><command>umount /mnt/loop1 &amp;&amp; dd if=/tmp/rfloppy bs=1k | gzip -v9 > rootfs.gz</command></userinput></screen>
<para><emphasis>Deux outils bien utiles</emphasis></para>
 
<para><userinput><command>ls -l rootfs.gz</command></userinput> pour s'assurer
qu'il tient sur une disquette.</para>
<para>Voici deux outils que devrait posséder toute disquette de dépannage. Le
premier est un outil de partitionnement. Le programme <command>sfdisk</command>
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 <command>fdisk</command> et <command>cfdisk</command> sont bien
plus gros et requièrent bien plus d'objets partagés comme
<application>ncurses</application>.</para>
 
<para>Créez un noyau personnalisé optimisé en taille. Incluez seulement les
fonctionnalités dont vous avez besoin pour dépanner votre système. Il n'y a
aucun intérêt à construire le support de choses comme xfree86 dri, etc..., car
la plupart des dépannages est réalisée à la ligne de commande.</para>
<screen><userinput><command>dd if=rescueimg of=/dev/floppy/0bs=1k</command>
429+1 records in
429+1 records out
<command>rdev /dev/floppy/0 /dev/floppy/0
<para>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, <command>ed</command> 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.</para>
 
<para>Lisez les fichiers <filename>INSTALL</filename> et
<filename>README</filename> de <application>busybox</application> pour voir
comment inclure un éditeur <command>vi</command>. Cela n'a pas encore été testé,
donc cela pourrait tenir ou pas dans une seule image de disquette.</para>
 
<para>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.</para>
 
<para><command>Sfdisk</command> et <command>ed</command> 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
<acronym>LFS</acronym> devrait déjà les avoir passé sur cette commande. Utilisez
les commandes suivantes:</para>
 
<screen><userinput><command>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</command></userinput></screen>
 
<para>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 <command>ldd</command> pour savoir de quelles bibliothèques vous aurez
besoin pour utiliser ces exécutables. N'oubliez pas de lancer
<command>strip</command> <emphasis>avant</emphasis> de les copier sur l'image
du disque ram ou d'utiliser <command>strip</command>, comme ci-dessus, pour les
"copier".</para>
 
<para><emphasis>Configurer le répertoire lib</emphasis></para>
 
<para>Une fois que vous avez installé tous les outils ci-dessus et y compris
ceux que vous souhaitez, utilisez la commande <command>ldd</command> 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.</para>
 
<para>Si vous avez installé seulement ceux du document, les objets partagés
nécessaires seront minimes. Vous pouvez les ajouter au disque ram avec:</para>
 
<screen><userinput><command>strip -p --strip-unneeded --remove-section=.comment \
&nbsp;&nbsp;&nbsp;&nbsp;-o /mnt/loop1/lib/libc.so.6 /lib/libc-2.3.2.so &amp;&amp;
strip -p --strip-unneeded --remove-section=.comment \
&nbsp;&nbsp;&nbsp;&nbsp;-o /mnt/loop1/lib/ld-linux.so.2 /lib/ld-2.3.2.so &amp;&amp;
strip -p --strip-unneeded --remove-section=.comment \
&nbsp;&nbsp;&nbsp;&nbsp;-o /mnt/loop1/lib/libdl.so.2 /lib/libdl-2.3.2.so &amp;&amp;
chmod 555 /mnt/loop1/lib/{libc.so.6,ld-linux.so.2,libdl.so.2}</command></userinput></screen>
 
<para>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.</para>
 
<para><emphasis>Créer le fichier initrd compressé</emphasis></para>
 
<para>Démontez le fichier loopback. Si vous utilisez l'option <option>-o
loop</option> de la commande <command>mount</command>, le lien entre le
périphérique loop et le fichier sera supprimé lorsque le démontage sera terminé.
Omettez simplement le <command>losetup -d /dev/loop1</command> de la séquence
suivante. Le paramètre <userinput>-9</userinput> est utilisé avec
<command>gzip</command> pour compresser au maximum l'image. Pour s'assurer
qu'elle tient sur la disquette, affichez la taille du fichier.</para>
 
<screen><userinput><command>umount /mnt/loop1 &amp;&amp;
losetup -d /dev/loop1 &amp;&amp; # Oubliez l'option -o loop de mount a été utilisé
gzip -9 &lt; /tmp/rfloppy &gt; /tmp/rootfs.gz
ls -l /tmp/rootfs.gz</command></userinput></screen>
 
<para><emphasis>Joindre l'image de dépannage et le disque ram initial sur une disquette</emphasis></para>
 
<para>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 <filename>/tmp/rootfs.gz</filename>
(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.</para>
 
<para>Pour créer une disquette de dépannage, utilisant devfs, utilisez les
commandes suivantes. Si vous utilisez la configuration du
<filename class="directory">/dev</filename> statique, utilisez
<filename>/dev/fd0</filename> au lieu de /dev/floppy/0.</para>
 
<screen><userinput><command>dd if=rescueimage of=/dev/floppy/0 bs=1k
rdev /dev/floppy/0 0,0
rdev -R /dev/floppy/0 0</command></userinput></screen>
 
<para>Dans cet exemple, l'image de dépannage (NOYAU) est de 429+1 blocs de
taille. Nous nous en rappelerons pour la commande suivante. Nous allons
maintenant écrire le système de fichiers root juste après le noyau sur la
disquette en faisant 16384+429+1=16814 </para>
<para><emphasis>Explication des commandes</emphasis></para>
 
<screen><userinput><command>rdev -r /dev/floppy/0 16814
dd if=rootfs.gz of=/dev/floppy/0 bs=1k seek=430</command></userinput></screen>
<para><command>rdev /dev/floppy/0 0,0</command>: 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,
<option>0,0</option> lui donnera "sans valeur", indiquant au noyau de ne pas
monter les autres périphériques. Certains donnent <filename>/dev/fd0</filename> ou
quelque chose de similaire. Mais, ceci a un effet <emphasis>seulement</emphasis>
lorsque <command>linuxrc</command> (en fait <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox
</ulink></application>) quitte et que les processus <command>init</command>
normaux sont appelés. Comme cela n'est pas le cas ici et que la disquette n'est
<emphasis>pas</emphasis> 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 <application><ulink
url="http://www.busybox.net/downloads/busybox-0.60.4.tar.bz2">busybox
</ulink></application> fournit la commande <command>reboot</command>, une
initialisation automatique n'est pas nécessaire.</para>
 
<para>Dans cette commande, nous utilisons seek pour rechercher la fin du noyau
(429+1) et écrire le système de fichiers root sur la disquette.</para>
<para><command>rdev -R /dev/floppy/0 0</command> initialisera les options de la
racine à zéro. Elles n'ont pas d'utilité dans cette application.</para>
 
</sect2>
<para>La commande <command>dd</command> ci-dessus affichera quelques résultats
du type</para>
 
<screen> 480+1 records in
480+1 records out</screen>
 
<para>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.</para>
 
<para>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 <command>rdev</command> exécutée tout de suite après.</para>
 
<para>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 <command>seek</command> doit être la taille, en blocs, de
votre image de dépannage. Si vous utilisez la configuration du <filename
class="directory">/dev</filename> statique, utilisez
<filename>/dev/fd0</filename> dans la commande ci-dessous, au lieu de
<filename>/dev/floppy/0</filename>.</para>
 
<screen><userinput><command>rdev -r /dev/floppy/0 <replaceable>16865</replaceable>
dd if=/tmp/rootfs.gz of=/dev/floppy/0 bs=1k seek=<replaceable>481</replaceable></command></userinput></screen>
 
<para>Dans cette commande, <command>seek</command> 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.</para>
</sect3>
</sect2>
 
<sect2>
<title>Configurer un ensemble de deux disquettes de dépannage</title>
 
<para>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
<command>linuxrc</command> 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.</para>
 
<para>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.</para>
one) on the second diskette.</para>
 
<para>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.</para>
 
<screen><userinput><command>rdev -r /dev/floppy/0 <replaceable>49152</replaceable></command></userinput></screen>
 
<para>Notez que l'image du disque ram initial n'est <emphasis>pas</emphasis>
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 <filename>/dev/fd0</filename>
si vous n'utilisez pas devfs). Notez qu'aucun paramètre <command>seek</command>
n'est utilisé.</para>
 
<screen><userinput><command>dd if=/tmp/rootfs.gz of=/dev/floppy/0 bs=1k</command></userinput></screen>
 
<para>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 <ulink
url="http://linuxfromscratch.org/hints/news.html">astuces <acronym>LFS </acronym></ulink>
(merci d'utiliser un miroir convenable) et au
<ulink url="http://www.tldp.org">TLDP</ulink>.</para>
 
</sect2>
</sect1>
/trunk/blfs/postlfs/config/logon.xml
34,7 → 34,7
<para>Le fichier <filename>issue</filename> 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 <filename>/etc/issue</filename>
lettres expliquées ci-dessous (donc <option>\d</option> dans <filename>/etc/issue</filename>
insère la date courante).</para>
 
<screen>b Insérer la vitesse de la ligne.
/trunk/blfs/postlfs/config/skel.xml
3,7 → 3,7
<title>Configurer l'ajout d'utilisateurs</title>
 
<para>Ensemble, la commande <command>/usr/sbin/useradd</command> et le
répertoire <filename>/etc/skel</filename> (tous les deux simple à configurer et
répertoire <filename class="directory">/etc/skel</filename> (tous les deux simple à configurer et
à utiliser) sont un moyen de vous assurer que les nouveaux utilisateurs de votre
système <acronym>LFS</acronym> disposeront au départ des mêmes configurations
sur des éléments comme <envar>PATH</envar>, la gestion du clavier et les
10,23 → 10,23
variables d'environnement. Utiliser ces deux moyens rendra ceci plus facile et
vous assure de l'état initial de chaque nouvel utilisateur.</para>
 
<para>Le répertoire <filename>/etc/skel</filename> tient des copies de
<para>Le répertoire <filename class="directory">/etc/skel</filename> 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
<command>/usr/sbin/useradd</command> ajoutera cet utilisateur.</para>
 
<para>Useradd</para>
<para><emphasis>Useradd</emphasis></para>
 
<para>Le programme <command>useradd</command> utilise une collection de valeurs
par défaut conservée dans <filename>/etc/default/useradd</filename>, 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
<userinput><command>/usr/sbin/useradd -D</command></userinput>.
<command>/usr/sbin/useradd -D</command>.
</para>
 
<para>Pour changer ces valeurs en quelque chose de nouveau, créez un fichier
<filename>/etc/default/useradd</filename> de base avec les mêmes valeurs que la
sortie de <userinput><command>/usr/sbin/useradd -D</command></userinput>. Voici
sortie de <command>/usr/sbin/useradd -D</command>. Voici
un exemple.</para>
 
<screen># Début /etc/default/useradd
54,9 → 54,9
 
<para>Pour plus d'informations, voir <command>man useradd</command>.</para>
 
<para>/etc/skel</para>
<para><emphasis>/etc/skel</emphasis></para>
 
<para>Pour commencer, créez un répertoire <filename>/etc/skel</filename> et
<para>Pour commencer, créez un répertoire <filename class="directory">/etc/skel</filename> 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.</para>
68,18 → 68,19
rendre illisible pour le groupe et les autres.</para>
 
<para>Vous pouvez aussi placer d'autres fichiers dans
<filename>/etc/skel</filename> et d'autres droits peuvent être nécessaires pour
<filename class="directory">/etc/skel</filename> et d'autres droits peuvent être nécessaires pour
ceux-là.</para>
 
<para>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", "Fichiers de
démarrage du Shell Bash" et "/etc/vimrc, ~/.vimrc". Certains ou tous ces
vous ferez dans les trois prochaines sections, <xref
linkend="postlfs-config-inputrc"/>, <xref linkend="postlfs-config-profile"/> et
<xref linkend="postlfs-config-vimrc"/>. Certains ou tous ces
fichiers seront utiles à root, aux utilisateurs déjà existants et aux nouveaux
utilisateurs.</para>
 
<para>Les fichiers de ces sections que vous pourriez vouloir placer dans
<filename>/etc/skel</filename> incluent
<filename class="directory">/etc/skel</filename> incluent
<filename>.inputrc</filename>, <filename>.bash_profile</filename>,
<filename>.bashrc</filename>, <filename>.bash_logout</filename>,
<filename>.dircolors</filename> et <filename>.vimrc</filename>. Si vous n'êtes
88,22 → 89,22
décidez.</para>
 
<para>Vous lancerez un ensemble de commandes légèrement modifié des fichiers
placés dans <filename>/etc/skel</filename>. Chaque section vous le rappelera.
placés dans <filename class="directory">/etc/skel</filename>. Chaque section vous le rappelera.
En bref, les commandes du livre ont été écrites pour des fichiers
<emphasis>non</emphasis> ajoutés dans <filename>/etc/skel</filename> et
<emphasis>non</emphasis> ajoutés dans <filename class="directory">/etc/skel</filename> et
envoient simplement les résultats dans le répertoire personnel de l'utilisateur.
Si le fichier se trouve être dans <filename>/etc/skel</filename>, changez les
Si le fichier se trouve être dans <filename class="directory">/etc/skel</filename>, changez les
commandes du livre pour envoyer la sortie là-bas et ensuite copiez le fichier
<filename>/etc/skel</filename> pour les répertoires appropriés, comme
<filename>/etc</filename>, <filename>~</filename> ou le répertoire personnel de
<filename class="directory">/etc/skel</filename> pour les répertoires appropriés, comme
<filename class="directory">/etc</filename>, <filename class="directory">~</filename> ou le répertoire personnel de
tout autre utilisateur existant déjà dans le système.</para>
 
<para>Lors de l'ajout d'un utilisateur</para>
<para><emphasis>Lors de l'ajout d'un utilisateur</emphasis></para>
 
<para>Lors de l'ajout d'un nouvel utilisateur avec <filename>useradd</filename>,
utilisez le paramètre <userinput>-m</userinput>, indiquant à
<filename>useradd</filename> de créer le répertoire personnel de l'utilisateur
et de copier les fichiers de <filename>/etc/skel</filename> (peut être
<para>Lors de l'ajout d'un nouvel utilisateur avec <command>useradd</command>,
utilisez le paramètre <option>-m</option>, indiquant à
<command>useradd</command> de créer le répertoire personnel de l'utilisateur
et de copier les fichiers de <filename class="directory">/etc/skel</filename> (peut être
surchargé) dans le répertoire personnel du nouvel utilisateur. Par exemple:
</para>
 
/trunk/blfs/postlfs/filesystems/xfs.xml
1,6 → 1,6
<sect1 id="xfs" xreflabel="xfs-&xfsprogs-version;">
<sect1 id="xfs" xreflabel="XFS-&xfsprogs-version;">
<?dbhtml filename="xfsfs.html" dir="postlfs"?>
<title>xfsprogs-&xfsprogs-version;</title>
<title>XFS-&xfsprogs-version;</title>
&xfs-patch;
&xfs-patch-inst;
&xfs-intro;
/trunk/blfs/postlfs/filesystems/xfs/xfs.ent
1,18 → 1,17
<!ENTITY xfs SYSTEM "../xfs.xml">
<!ENTITY xfs-patch SYSTEM "xfs-patch.xml">
<!ENTITY xfs-patch-inst SYSTEM "xfs-patch-inst.xml">
<!ENTITY xfspatch-version "2.4.22">
<!ENTITY xfspatch-download-http "">
<!ENTITY xfspatch-download-ftp "ftp://oss.sgi.com/projects/xfs/download/patches/&xfspatch-version;/xfs-&xfspatch-version;-all-i386.bz2">
<!ENTITY xfspatch-buildsize "">
<!ENTITY xfspatch-size "860 KB">
<!ENTITY xfs-intro SYSTEM "xfs-intro.xml">
<!ENTITY xfs-inst SYSTEM "xfs-inst.xml">
<!ENTITY xfs-exp SYSTEM "xfs-exp.xml">
<!ENTITY xfs-desc SYSTEM "xfs-desc.xml">
<!ENTITY xfsprogs-version "2.5.6">
<!ENTITY xfsprogs-download-http "http://gd.tuwien.ac.at/opsys/linux/slackware/slackware-current/source/a/xfsprogs/xfsprogs-&xfsprogs-version;.src.tar.gz">
<!ENTITY xfsprogs-download-ftp "ftp://oss.sgi.com/projects/xfs/download/Release-1.3.1/cmd_tars/xfsprogs-&xfsprogs-version;.src.tar.gz">
<!ENTITY xfsprogs-size "816 Ko">
<!ENTITY xfsprogs-buildsize "42 Mo">
<!ENTITY xfsprogs-size "816 Ko">
<!ENTITY xfsprogs-version "2.5.6">
<!ENTITY xfspatch-buildsize "">
<!ENTITY xfspatch-size "860 Ko">
<!ENTITY xfspatch-version "2.4.21">
<!ENTITY xfsprogs-download-http "">
<!ENTITY xfsprogs-download-ftp "ftp://oss.sgi.com/projects/xfs/download/Release-1.3/cmd_tars/xfsprogs-2.5.6.src.tar.gz">
<!ENTITY xfspatch-download-http "">
<!ENTITY xfspatch-download-ftp "ftp://oss.sgi.com/projects/xfs/download/patches/&xfspatch-version;/xfs-&xfspatch-version;-all-i386.bz2">
<!ENTITY xfsprogs-time "0,67 SBU">
/trunk/blfs/postlfs/filesystems/xfs/xfs-intro.xml
1,7 → 1,7
<sect2>
<title>Introduction à <acronym>XFS</acronym></title>
 
<para>Le package <application>xfsprogs</application> contient des outils
<para>Le package <application>XFS</application> contient des outils
d'administration et de débuggage pour le système de fichiers
<acronym>XFS</acronym>.</para>
 
/trunk/blfs/postlfs/filesystems/xfs/xfs-inst.xml
1,7 → 1,7
<sect2>
<title>Installation de <application>xfsprogs</application></title>
<title>Installation de <application>XFS</application></title>
 
<para>Installez <application>xfsprogs</application> en lançant les commandes
<para>Installez <application>XFS</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./configure &amp;&amp;
/trunk/blfs/postlfs/filesystems/xfs/xfs-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>xfsprogs contient <command>xfs_growfs</command>,
<para><application>XFS</application> contient <command>xfs_growfs</command>,
<command>xfs_admin</command>,
<command>xfs_freeze</command>,
<command>xfs_mkfile</command>,
/trunk/blfs/postlfs/filesystems/ext3.xml
19,21 → 19,24
vous voulez convertir en ext3, éditez l'entrée de façon à ce qu'il ressemble à
la ligne suivante.</para>
 
<screen>/dev/hdXX /mnt_point ext3 defaults 1 0</screen>
<screen>/dev/hd<replaceable>XX</replaceable> /mnt_point ext3 defaults 1 0</screen>
 
<para>Dans la ligne ci-dessus, remplacez <filename>/dev/hdXX</filename> par
<para>Dans la ligne ci-dessus, remplacez
<filename>/dev/hd<replaceable>XX</replaceable></filename> par
votre partition (par exemple <filename>/dev/hda2</filename>), <filename
class="directory">/mnt_point</filename> par le point de montage (par exemple
<filename>/home</filename>). 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.</para>
<filename class="directory">/home</filename>). Le <option>0</option> dans le
dernier champ assure que la partition ne sera pas vérifiée pour sa consistence
lors du démarrage par le script <command>checkfs</command>. Vous pouvez
remplacer le type de système de fichiers <option>ext3</option> par
<option>auto</option> si vous voulez vous assurer que la partition sera montée
si vous avez accidentellement oublié d'activer le support ext3 dans le noyau.
</para>
 
<para>Pour chaque partition que vous voulez convertir en ext3 dans /etc/fstab,
activez le journal pour la partition en lançant la commande suivante.</para>
 
<screen><userinput><command>tune2fs -j /dev/hdXX</command></userinput></screen>
<screen><userinput><command>tune2fs -j /dev/hd<replaceable>XX</replaceable></command></userinput></screen>
 
<para>Remontez les partitions concernées, ou plus simplement, redémarrez si vous
avez recompilé le noyau pour activer le support ext3.</para>
/trunk/blfs/postlfs/filesystems/reiser.xml
1,6 → 1,6
<sect1 id="reiserfs" xreflabel="reiserfs-&reiser-version;">
<sect1 id="reiserfs" xreflabel="ReiserFS-&reiser-version;">
<?dbhtml filename="reiserfs.html" dir="postlfs"?>
<title>reiserfs-&reiser-version;</title>
<title>ReiserFS-&reiser-version;</title>
 
&reiser-intro;
&reiser-inst;
/trunk/blfs/postlfs/filesystems/reiser/reiser-intro.xml
1,7 → 1,7
<sect2>
<title>Introduction à <application>reiserfsutils</application></title>
<title>Introduction à <application>ReiserFS</application></title>
 
<para>Le package <application>reiserfsutils</application> contient différents
<para>Le package <application>ReiserFS</application> contient différents
utilitaires du système de fichiers reiser.</para>
 
<sect3><title>Informations sur le package</title>
/trunk/blfs/postlfs/filesystems/reiser/reiser-exp.xml
1,13 → 1,13
<sect2>
<title>Explication des commandes</title>
 
<para><command>--prefix=/usr</command> : Ceci s'assure que les pages man
<para><parameter>--prefix=/usr</parameter> : Ceci s'assure que les pages man
sont installées dans l'emplacement correct alors que l'installation des
programmes sera toujours dans <filename>/sbin</filename> comme cela doit être.
programmes sera toujours dans <filename class="directory">/sbin</filename> comme cela doit être.
</para>
 
<para><command>--sbindir=/sbin</command> : Ceci s'assure que les utilitaires
reiserfs sont installés dans <filename>/sbin</filename> comme cela doit être.
<para><parameter>--sbindir=/sbin</parameter> : Ceci s'assure que les utilitaires
<application>ReiserFS</application> sont installés dans <filename class="directory">/sbin</filename> comme cela doit être.
</para>
 
</sect2>
/trunk/blfs/postlfs/filesystems/reiser/reiser-inst.xml
1,7 → 1,7
<sect2>
<title>Installation de <application>reiserfs</application></title>
<title>Installation de <application>ReiserFS</application></title>
 
<para>Installez <application>reiserfs</application> en lançant les commandes
<para>Installez <application>ReiserFS</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./configure --prefix=/usr --sbindir=/sbin &amp;&amp;
/trunk/blfs/postlfs/filesystems/reiser/reiser-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>reiserfsprogs contient <command>debugreiserfs</command>,
<para><application>ReiserFS</application> contient <command>debugreiserfs</command>,
<command>mkreiserfs</command>, <command>reiserfsck</command>,
<command>resize_reiserfs</command> et <command>unpack</command>.</para>
 
11,33 → 11,33
 
<sect3><title>debugreiserfs</title>
<para><command>debugreiserfs</command> peut quelque fois aider à résoudre des
problèmes avec les systèmes de fichiers reiserfs. Si il est appelé sans
problèmes avec les systèmes de fichiers <application>ReiserFS</application>. Si il est appelé sans
options, il affiche le super bloc de tout système de fichiers trouvé sur le
périphérique.</para>
</sect3>
 
<sect3><title>mkreiserfs</title>
<para><command>mkreiserfs</command> crée un système de fichiers reiserfs.
<para><command>mkreiserfs</command> crée un système de fichiers <application>ReiserFS</application>.
</para></sect3>
 
<sect3><title>reiserfsck</title>
<para><command>reiserfsck</command> vérifie un système de fichiers reiserfs.
<para><command>reiserfsck</command> vérifie un système de fichiers <application>ReiserFS</application>.
</para></sect3>
 
<sect3><title>reiserfstune</title>
<para><command>reiserfstune</command> est utilisé pour configurer finement le
journal ReiserFS. <emphasis>ATTENTION</emphasis>: N'utilisez pas cet utilitaire
journal <application>ReiserFS</application>. <emphasis>ATTENTION</emphasis>: N'utilisez pas cet utilitaire
sans avoir lu la page man concenscieusement.
</para></sect3>
 
<sect3><title>resize_reiserfs</title>
<para><command>resize_reiserfs</command> est utilisé pour retailler un système
de fichiers reiserfs non monté.</para></sect3>
de fichiers <application>ReiserFS</application> non monté.</para></sect3>
 
<sect3><title>unpack</title>
<para>L'utilitaire <command>unpack</command> peut être utilisé pour envoyer des
informations du système de fichiers reiserfs dans des fichiers pour un
débuggage, un peu comme debugreiserfs.</para></sect3>
informations du système de fichiers <application>ReiserFS</application> dans des fichiers pour un
débuggage, un peu comme <command>debugreiserfs</command>.</para></sect3>
 
</sect2>
 
/trunk/blfs/postlfs/filesystems/reiser/reiser.ent
3,9 → 3,9
<!ENTITY reiser-inst SYSTEM "reiser-inst.xml">
<!ENTITY reiser-exp SYSTEM "reiser-exp.xml">
<!ENTITY reiser-desc SYSTEM "reiser-desc.xml">
<!ENTITY reiser-buildsize "9,3 Mo">
<!ENTITY reiser-version "3.6.11">
<!ENTITY reiser-download-http "http://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-&reiser-version;.tar.gz">
<!ENTITY reiser-download-ftp "ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-&reiser-version;.tar.gz">
<!ENTITY reiser-size "368 Ko">
<!ENTITY reiser-buildsize "9,3 Mo">
<!ENTITY reiser-time "0,16 SBU">
/trunk/blfs/postlfs/security/gnupg/gnupg.ent
3,10 → 3,9
<!ENTITY gnupg-inst SYSTEM "gnupg-inst.xml">
<!ENTITY gnupg-exp SYSTEM "gnupg-exp.xml">
<!ENTITY gnupg-desc SYSTEM "gnupg-desc.xml">
<!ENTITY gnupg-config SYSTEM "gnupg-config.xml">
<!ENTITY gnupg-buildsize "26,1 Mo">
<!ENTITY gnupg-version "1.2.3">
<!ENTITY gnupg-download-http "http://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.2.3.tar.bz2">
<!ENTITY gnupg-download-ftp "ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.2.3.tar.bz2">
<!ENTITY gnupg-download-http "http://public.ftp.planetmirror.com/pub/gnupg/gnupg-&gnupg-version;.tar.bz2">
<!ENTITY gnupg-download-ftp "ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-&gnupg-version;.tar.bz2">
<!ENTITY gnupg-size "2,2 Mo">
<!ENTITY gnupg-buildsize "26,1 Mo">
<!ENTITY gnupg-time "0,32 SBU">
/trunk/blfs/postlfs/security/gnupg/gnupg-intro.xml
1,7 → 1,7
<sect2>
<title>Introduction à <application>gnupg</application></title>
<title>Introduction à <application>GnuPG</application></title>
 
<para>Le package <application>gnupg</application> contient un crypteur de clés
<para>Le package <application>GnuPG</application> 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.</para>
/trunk/blfs/postlfs/security/gnupg/gnupg-exp.xml
1,9 → 1,10
<sect2>
<title>Explication des commandes</title>
 
<para><command>--libexecdir=/usr/sbin</command> : Cette commande crée un
répertoire <filename>gnupg</filename> dans <filename>/usr/sbin</filename> au
lieu de <filename>/usr/libexec</filename>.</para>
<para><parameter>--libexecdir=/usr/sbin</parameter> : Cette commande crée un
répertoire <filename class="directory">gnupg</filename> dans <filename
class="directory">/usr/sbin</filename> au lieu de <filename
class="directory">/usr/libexec</filename>.</para>
 
</sect2>
 
/trunk/blfs/postlfs/security/gnupg/gnupg-inst.xml
1,10 → 1,10
<sect2>
<title>Installation de <application>gnupg</application></title>
<title>Installation de <application>GnuPG</application></title>
 
<para>Installez <application>gnupg</application> en lançant les commandes
<para>Installez <application>GnuPG</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./configure --prefix=/usr --libexecdir=/usr/sbin &amp;&amp;
<screen><userinput><command>./configure --prefix=/usr --libexecdir=/usr/lib &amp;&amp;
make &amp;&amp;
make install &amp;&amp;
chmod 4755 /usr/bin/gpg</command></userinput></screen>
/trunk/blfs/postlfs/security/gnupg/gnupg-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>Le package <application>gnupg</application> contient
<para>Le package <application>GnuPG</application> contient
<command>gpg</command>, <command>gpgsplit</command> et
<command>gpgv</command>.</para>
 
17,7 → 17,7
<para><command>gpgsplit</command> sépare les jeux de clés.</para></sect3>
 
<sect3><title>gpgv</title>
<para><command>gpgv</command> est une version de gpg permettant uniquement la
<para><command>gpgv</command> est une version de <command>gpg</command> permettant uniquement la
vérification.</para></sect3>
 
</sect2>
/trunk/blfs/postlfs/security/firewalling/kernel.xml
22,7 → 22,7
supposé que les modules ont d'abord été chargés.</para>
 
<screen>Network options menu
Network paket filtering: Y
Network packet filtering: Y
Unix domain sockets: Y or M
TCP/IP networking: Y
IP: advanced router: Y
/trunk/blfs/postlfs/security/firewalling/masqrouter.xml
2,9 → 2,10
<title>Router Masquerading</title>
 
<para>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
cette exemple, <emphasis role="bold">eth0</emphasis>, et une connectée à internet,
ici, <emphasis role="bold">ppp0</emphasis>. 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
dessus, et spécialement <application>X11</application>. 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
24,7 → 25,7
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://beyond.linuxfromscratch.org/"
echo "http://www.linuxfromscratch.org/blfs"
echo
 
# Insert iptables modules (not needed if built into the kernel).
86,11 → 87,12
n'existe aucun service lancé qu'un cracker pourrait attaqué.</para>
 
<para>Note: si l'interface, par laquelle vous vous connectez à Internet, ne se
connecte pas via ppp, vous aurez besoin de changer <userinput>ppp+</userinput>
connecte pas via ppp, vous aurez besoin de changer
<replaceable>ppp+</replaceable>
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
<emphasis>eth<userinput>0</userinput></emphasis>, sur les deux interfaces.
<emphasis role="bold">eth0</emphasis>, sur les deux interfaces.
</para>
 
<para>Si vous avez besoin d'une sécurité plus forte (c'est-à-dire DOS,
/trunk/blfs/postlfs/security/firewalling/library.xml
2,9 → 2,12
<title>Où commencer des lectures plus poussées sur les pare-feux.</title>
 
<para><blockquote><literallayout>
<ulink url="http://www.netfilter.org/">www.netfilter.org - Accueil du projet netfilter/iptables</ulink>
<ulink url="http://www.netfilter.org/documentation/FAQ/netfilter-faq.html">FAQ Netfilter</ulink>
<ulink url="http://www.netfilter.org/documentation/index.html#HOWTO">HOWTO Netfilter</ulink>
<ulink url="http://www.netfilter.org/">www.netfilter.org - Page d'accueil du
projet netfilter/iptables</ulink>
<ulink url="http://www.netfilter.org/documentation/FAQ/netfilter-faq.html">FAQ
en relation avec Netfilter</ulink>
<ulink url="http://www.netfilter.org/documentation/index.html#HOWTO">Guides
pratiques en relation avec Netfilter</ulink>
<ulink url="http://www.linuxdoc.org/LDP/nag2/x-087-2-firewall.html">www.linuxdoc.org/LDP/nag2/x-087-2-firewall.html</ulink>
<ulink url="http://www.linuxdoc.org/HOWTO/Security-HOWTO.html">www.linuxdoc.org/HOWTO/Security-HOWTO.html</ulink>
<ulink url="http://www.linuxdoc.org/HOWTO/Firewall-HOWTO.html">www.linuxdoc.org/HOWTO/Firewall-HOWTO.html</ulink>
11,9 → 14,9
<ulink url="http://www-106.ibm.com/developerworks/security/library/s-fire.html">www.ibm.com/developerworks/security/library/s-fire.html</ulink>
<ulink url="http://www-106.ibm.com/developerworks/security/library/s-fire2.html">www.ibm.com/developerworks/security/library/s-fire2.html</ulink>
<ulink url="http://www.interhack.net/pubs/fw-faq/">www.interhack.net/pubs/fw-faq/</ulink>
<ulink url="http://csrc.nist.gov/isptg/html/ISPTG-6.html">csrc.nist.gov/isptg/html/ISPTG-6.html</ulink>
<ulink url="http://www.linuxsecurity.com/docs/">www.linuxsecurity.com/docs/</ulink>
<ulink url="http://www.little-idiot.de/firewall">www.little-idiot.de/firewall (Allemand &amp; non à jour, mais très compréhensible)</ulink>
<ulink url="http://www.little-idiot.de/firewall">www.little-idiot.de/firewall
(allemande et obsolète, mais très compréhensible)</ulink>
<ulink url="http://www.linuxgazette.com/issue65/stumpel.html">www.linuxgazette.com/issue65/stumpel.html</ulink>
<ulink url="http://linux.oreillynet.com/pub/a/linux/2000/03/10/netadmin/ddos.html">linux.oreillynet.com/pub/a/linux/2000/03/10/netadmin/ddos.html</ulink>
<ulink url="http://staff.washington.edu/dittrich/misc/ddos">staff.washington.edu/dittrich/misc/ddos</ulink>
22,7 → 25,7
<ulink url="http://www.circlemud.org/~jelson/writings/security/index.htm">www.circlemud.org/~jelson/writings/security/index.htm</ulink>
<ulink url="http://www.securityfocus.com">www.securityfocus.com</ulink>
<ulink url="http://www.cert.org/tech_tips/">www.cert.org - tech_tips</ulink>
<ulink url="http://www.uni-siegen.de/security/pointers.html">www.uni-siegen.de/security/pointers.html</ulink>
<ulink url="http://www.infoserversecurity.org/pointers.html">www.infoserversecurity.org/pointers.html</ulink>
<ulink url="http://security.ittoolbox.com/">security.ittoolbox.com</ulink>
<ulink url="http://www.linux-firewall-tools.com/linux/">www.linux-firewall-tools.com/linux/</ulink>
<ulink url="http://logi.cc/linux/athome-firewall.php3">logi.cc/linux/athome-firewall.php3</ulink>
/trunk/blfs/postlfs/security/firewalling/busybox.xml
20,16 → 20,17
<para>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
<emphasis>avant</emphasis> les règles de traces (logging-rules) dans le script.
<emphasis>avant</emphasis> les règles de traces (logging-rules) dans le
script.</para>
 
<screen>iptables -A INPUT -i ! ppp+ -j ACCEPT
iptables -A OUTPUT -o ! ppp+ -j ACCEPT</screen></para>
iptables -A OUTPUT -o ! ppp+ -j ACCEPT</screen>
 
<para>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).
ouvrir la sortie (OUTPUT) et restreindre l'entrée (INPUT).</para>
 
<screen>iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT</screen></para>
iptables -A OUTPUT -j ACCEPT</screen>
 
<para>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
45,20 → 46,20
<!-- <orderedlist numeration="arabic" spacing="compact"> -->
<title>Jetez un oeil sur les exemples suivants:</title>
 
<listitem><para>Squid fait un cache du web:
<listitem><para>Squid fait un cache du web:</para>
<screen>iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT</screen></para></listitem>
iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT</screen></listitem>
 
<listitem><para>Votre cache-serveur de noms (par exemple, dnscache) fait ses
recherches via udp:
recherches via udp:</para>
<screen>iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT</screen></para></listitem>
iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT</screen></listitem>
 
<listitem><para>Autrement, si vous voulez être capable de 'ping'uer votre
machine pour vous assurez qu'elle fonctionne toujours:
machine pour vous assurez qu'elle fonctionne toujours:</para>
<screen>iptables -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
&nbsp;&nbsp;&nbsp;-j ACCEPT
iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT</screen></para></listitem>
iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT</screen></listitem>
 
<listitem><para><anchor id='postlfs-security-fw-BB-4' xreflabel="example no. 4"/>
Si vous accédez fréquemment à des serveurs ftp ou que vous appréciez faire du
68,24 → 69,25
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.</para>
 
<para>Pour éviter ces délais, vous devez rejeter ces requêtes à un 'tcp-reset':
<para>Pour éviter ces délais, vous devez rejeter ces requêtes à un
'tcp-reset':</para>
<screen>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</screen></para></listitem>
iptables -A OUTPUT -p tcp --sport 113 -m state --state RELATED -j ACCEPT</screen></listitem>
 
<listitem><para>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:
scannés:</para>
 
<screen>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</screen></para></listitem>
iptables -I INPUT 2 -p tcp -m state --state INVALID -j DROP</screen></listitem>
 
<listitem><para>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:
privées, c'est une attaque commune appelée IP-spoofing:</para>
 
<screen>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</screen></para></listitem>
iptables -t nat -A PREROUTING -i ppp+ -s 192.168.0.0/16 -j DROP</screen></listitem>
 
<listitem><para>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
92,10 → 94,10
erreur, vous devez rejeter (REJECT) les pacquets en question.</para>
 
<para>Evidemment, ceci doit être fait tout de suite après les avoir enregistré
(loggué):
(loggué):</para>
 
<screen>iptables -A INPUT -j REJECT
iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT</screen></para></listitem>
iptables -A OUTPUT -p icmp --icmp-type 3 -j ACCEPT</screen></listitem>
 
</itemizedlist>
 
/trunk/blfs/postlfs/security/firewalling/intro.xml
1,5 → 1,5
<sect2 id="postlfs-security-fw-intro" xreflabel="Firewalling Introduction">
<title>Introduction aux pare-feux</title>
<title>Introduction à la création de pare-feux</title>
 
<para>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
/trunk/blfs/postlfs/security/iptables/iptables.ent
3,9 → 3,9
<!ENTITY iptables-inst SYSTEM "iptables-inst.xml">
<!ENTITY iptables-exp SYSTEM "iptables-exp.xml">
<!ENTITY iptables-desc SYSTEM "iptables-desc.xml">
<!ENTITY iptables-buildsize "2,8 Mo">
<!ENTITY iptables-version "1.2.8">
<!ENTITY iptables-download-http "http://www.iptables.org/files/iptables-&iptables-version;.tar.bz2">
<!ENTITY iptables-download-ftp "ftp://ftp.netfilter.org/pub/iptables/iptables-&iptables-version;.tar.bz2">
<!ENTITY iptables-size "128 Ko">
<!ENTITY iptables-buildsize "2,8 Mo">
<!ENTITY iptables-time "0,28 SBU">
/trunk/blfs/postlfs/security/iptables/iptables-exp.xml
1,7 → 1,7
<sect2>
<title>Explication des commandes</title>
 
<para><command>PREFIX=/usr</command>: Compile et installe
<para><parameter>PREFIX=/usr</parameter>: Compile et installe
<application>iptables</application> dans le répertoire <filename
class="directory">/usr</filename> au lieu de <filename
class="directory">/usr/local</filename>.</para>
/trunk/blfs/postlfs/security/shadow/shadow-inst.xml
1,17 → 1,13
<sect2>
<title>Réinstallation de <application>shadow</application> pour utiliser <application><acronym>PAM</acronym></application></title>
<title>Installation de <application>shadow</application> pour utiliser <application><acronym>PAM</acronym></application></title>
 
<screen>shadow requiert:
<xref linkend="Linux_PAM"/></screen>
 
<para>Téléchargez le correctif pour shadow à partir de <ulink
url="&hfile-root;"/>.</para>
url="&patch-root;"/>.</para>
 
<para>Réinstallez shadow en lançant les commandes suivantes:</para>
 
<para><screen><userinput><command>patch -Np1 -i ../shadow-4.0.3.patch &amp;&amp;
autoconf &amp;&amp;
LDFLAGS="-lpam -lpam_misc" ./configure --prefix=/usr --libdir=/usr/lib \
<screen><userinput><command>patch -Np1 -i ../shadow-4.0.3-pam-2.patch &amp;&amp;
./configure --prefix=/usr --libdir=/usr/lib \
--enable-shared --with-libpam &amp;&amp;
make &amp;&amp;
make install &amp;&amp;
21,7 → 17,7
mv /usr/lib/lib{misc,shadow}.so.0* /lib &amp;&amp;
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so &amp;&amp;
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so &amp;&amp;
cp debian/securetty /etc/securetty</command></userinput></screen></para>
cp debian/securetty /etc/securetty</command></userinput></screen>
 
</sect2>
 
/trunk/blfs/postlfs/security/shadow/shadow-config.xml
1,5 → 1,5
<sect2>
<title>Configurer <acronym>PAM</acronym> pour fonctionner avec <application>shadow</application></title>
<title>Configurer <application><acronym>PAM</acronym></application> pour fonctionner avec <application>shadow</application></title>
 
<sect3><title>Fichiers de configuration</title>
<para><filename>/etc/pam.d/login</filename>,
13,7 → 13,7
 
<para>Ajoutez les fichiers de configuration
<application><acronym>PAM</acronym></application> suivants dans
<filename>/etc/pam.d</filename> (ou ajoutez-les dans
<filename class="directory">/etc/pam.d</filename> (ou ajoutez-les dans
<filename>/etc/pam.conf</filename> avec le champ additionnel pour le programme).
</para>
<screen><userinput><command>cat &gt; /etc/pam.d/login &lt;&lt; "EOF"</command>
36,7 → 36,7
cat &gt; /etc/pam.d/passwd &lt;&lt; "EOF"</command>
# Début /etc/pam.d/passwd
 
password required pam_unix.so md5 shadow
password required pam_unix.so md5 shadow
 
# Fin /etc/pam.d/passwd
<command>EOF
86,12 → 86,12
 
<para>Actuellement, <filename>/etc/pam.d/other</filename> 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:
</para>
qui n'ont pas un fichier de configuration spécifique. Après avoir testé
<application><acronym>PAM</acronym></application> pour vérifier que sa
configuration est correcte, il peut être changé par ceci:</para>
 
<screen><userinput><command>cat &gt; /etc/pam.d/other &lt;&lt; "EOF"</command>
# Début /etc/pam.d/other
# Begin /etc/pam.d/other
 
auth required pam_deny.so
auth required pam_warn.so
100,7 → 100,7
password required pam_deny.so
password required pam_warn.so
 
# Fin /etc/pam.d/other
# End /etc/pam.d/other
<command>EOF</command></userinput></screen>
 
<para>Enfin, éditez <filename>/etc/login.defs</filename> en ajoutant '#' au
/trunk/blfs/postlfs/security/shadow/shadow.ent
2,5 → 2,4
<!ENTITY shadow-intro SYSTEM "shadow-intro.xml">
<!ENTITY shadow-inst SYSTEM "shadow-inst.xml">
<!ENTITY shadow-exp SYSTEM "shadow-exp.xml">
<!ENTITY shadow-desc SYSTEM "shadow-desc.xml">
<!ENTITY shadow-config SYSTEM "shadow-config.xml">
/trunk/blfs/postlfs/security/shadow/shadow-intro.xml
0,0 → 1,17
<sect2>
<title>Introduction à <application>Shadow</application></title>
 
<para>Shadow a cependant besoin d'être installé dans <acronym>LFS</acronym> et
il n'y a aucune raison de le réinstaller sauf si vous avez installé
<application>Linux-<acronym>PAM</acronym></application>. Si c'est votre cas,
ceci permettra aux programmes comme <command>login</command> et
<command>su</command> d'utiliser
<acronym>PAM</acronym>.</para>
 
<sect3><title>Dépendances de <application>Shadow</application></title>
<sect4><title>Requis</title>
<para><xref linkend="Linux_PAM"/></para></sect4>
</sect3>
</sect2>
 
 
/trunk/blfs/postlfs/security/tripwire/tripwire-inst.xml
1,28 → 1,21
<sect2>
<title>Installation de <application>tripwire</application></title>
<title>Installation de <application>Tripwire</application></title>
 
<para>Téléchargez le correctif pour la configuration de
<application>tripwire</application> à partir de
<ulink url="&hfile-root;"/>.</para>
 
<para>Installez <application>tripwire</application> en lançant les commandes
<para>Compilez <application>Tripwire</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>export PATH_HOLD=$PATH &amp;&amp;
export PATH=/opt/gcc-2.95.3/bin:$PATH &amp;&amp;
ln -s make /usr/bin/gmake &amp;&amp;
<screen><userinput><command>patch -Np1 -i ../tripwire-&tripwire-version;-gcc3-build-fixes.patch &amp;&amp;
cd src &amp;&amp;
gmake release &amp;&amp;
make release &amp;&amp;
cd .. &amp;&amp;
cp install/install.{sh,cfg} . &amp;&amp;
patch -Np0 -i ../tripwire-cfg.patch &amp;&amp;
./install.sh &amp;&amp;
cp install/install.{sh,cfg} .</command></userinput></screen>
 
<para>Installez <application>Tripwire</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./install.sh &amp;&amp;
cp /etc/tripwire/tw.cfg /usr/sbin &amp;&amp;
cp policy/*.txt /usr/share/doc/tripwire</command></userinput></screen>
 
<para>Supprimez les modifications faites ci-dessus:
<screen><userinput><command>rm /usr/bin/gmake &amp;&amp;
export PATH=$PATH_HOLD</command></userinput></screen></para>
 
</sect2>
 
/trunk/blfs/postlfs/security/tripwire/tripwire-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>Le package tripwire contient <command>siggen</command>,
<para>Le package <application>Tripwire</application> contient <command>siggen</command>,
<command>tripwire</command>, <command>twadmin</command>
et <command>twprint</command>.</para>
 
/trunk/blfs/postlfs/security/tripwire/tripwire-config.xml
1,8 → 1,8
<sect2>
<title>Configurer <application>tripwire</application></title>
<title>Configurer <application>Tripwire</application></title>
 
<sect3><title>Fichiers de configuration</title>
<para><filename>/etc/tripwire</filename></para>
<para><filename class="directory">/etc/tripwire</filename></para>
</sect3>
 
<sect3><title>Informations de configuration</title>
10,7 → 10,7
<para><application>Tripwire</application> 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 (<filename>twpol.txt</filename> trouvé dans
<filename>/etc/tripwire/</filename>) est celui disponible lors de
<filename class="directory">/etc/tripwire/</filename>) est celui disponible lors de
l'installation de la RedHat 7.0 et est quelque peu ancien.</para>
 
<para>Les fichiers de règles sont aussi personnalisés et doivent être ajustés
24,7 → 24,7
Fichier de règles personnalisé pour un système Suse-7.2.</screen>
 
<para>Téléchargez le fichier de règles personnalisé que vous souhaitez essayer,
copiez-le dans <filename>/etc/tripwire/</filename> et utilisez-le à la place de
copiez-le dans <filename class="directory">/etc/tripwire/</filename> et utilisez-le à la place de
<filename>twpol.txt</filename>. 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
<filename>/usr/share/doc/tripwire/policyguide.txt</filename>.
33,13 → 33,13
comme moyen de garder traces d'installation/désinstallation de logiciels.</para>
 
<para>Une fois que vous avez transféré votre fichier de règles dans
<filename>/etc/tripwire/</filename>, vous pouvez commencer les étapes de
<filename class="directory">/etc/tripwire/</filename>, vous pouvez commencer les étapes de
configuration:</para>
 
<screen><userinput><command>twadmin -m P /etc/tripwire/twpol.txt &amp;&amp;
tripwire -m i</command></userinput></screen>
 
<para>Lors de la configuration, tripwire va créer deux clés: une clé pour le
<para>Lors de la configuration, <application>tripwire</application> va créer deux clés: une clé pour le
site et une clé locale qui seront stockées sous <filename
class="directory">/etc/tripwire/</filename>.</para>
 
53,34 → 53,38
<screen><userinput><command>tripwire -m c &gt; /etc/tripwire/report.txt</command></userinput></screen></para>
 
<para>View the output to check the integrity of your files. An automatic
integrity report can be produced by using fcron. </para>
integrity report can be produced by using a cron facility to schedule
the runs. </para>
 
<para>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
the report or email and then modify the
<application>Tripwire</application> database of the files
on your system so that <application>Tripwire</application> will not continually notify you that
files you intentionally changed are a security violation. To do this you
must first <command>ls /var/lib/tripwire/report/</command> and note
the name of the newest file which starts with
<filename>linux-</filename> and ends in <filename>.twr</filename>. 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 '?':
<screen><userinput><command>tripwire -m u -r /var/lib/tripwire/report/linux-???????-??????.twr </command></userinput></screen></para>
the name of the newest file which starts with <filename>linux-</filename> and
ends in <filename>.twr</filename>. This encrypted file was created during the
last report creation and is needed to update the
<application>Tripwire</application> database of your
system. Then, type in the following command making the appropriate
substitutions for '?':</para>
<screen><userinput><command>tripwire -m u -r /var/lib/tripwire/report/linux-???????-??????.twr </command></userinput></screen>
 
<para>You will be placed into vim with a copy of the report in front of
you. If all the chnages were good, then just type
<command>:x</command> 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 <command>:x</command>. </para>
<para>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 <command>:x</command> 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 <command>:x</command>. </para>
 
</sect3>
 
<sect3><title>Changing the Policy File</title>
 
<para>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:
<para>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:</para>
<screen><userinput><command>twadmin -m P /etc/tripwire/twpol.txt &amp;&amp;
tripwire -m i</command></userinput></screen></para>
tripwire -m i</command></userinput></screen>
 
</sect3>
 
/trunk/blfs/postlfs/security/tripwire/tripwire.ent
2,11 → 2,11
<!ENTITY tripwire-intro SYSTEM "tripwire-intro.xml">
<!ENTITY tripwire-inst SYSTEM "tripwire-inst.xml">
<!ENTITY tripwire-exp SYSTEM "tripwire-exp.xml">
<!ENTITY tripwire-config SYSTEM "tripwire-config.xml">
<!ENTITY tripwire-desc SYSTEM "tripwire-desc.xml">
<!ENTITY tripwire-config SYSTEM "tripwire-config.xml">
<!ENTITY tripwire-version "2.3.1-2">
<!ENTITY tripwire-download-http "http://telia.dl.sourceforge.net/sourceforge/tripwire/tripwire-&tripwire-version;.tar.gz">
<!ENTITY tripwire-download-ftp "ftp://ftp.fu-berlin.de/unix/security/tripwire/tripwire-&tripwire-version;.tar.gz">
<!ENTITY tripwire-size "1,4 Mo">
<!ENTITY tripwire-buildsize "63 Mo">
<!ENTITY tripwire-version "2.3.1-2">
<!ENTITY tripwire-download-http "http://telia.dl.sourceforge.net/sourceforge/tripwire/tripwire-2.3.1-2.tar.gz">
<!ENTITY tripwire-download-ftp "">
<!ENTITY tripwire-size "1,5 Mo">
<!ENTITY tripwire-time "">
<!ENTITY tripwire-time "2,35 SBU">
/trunk/blfs/postlfs/security/tripwire/tripwire-intro.xml
1,8 → 1,8
<sect2>
<title>Introduction à <application>tripwire</application></title>
<title>Introduction à <application>Tripwire</application></title>
 
<para>Le package <application>tripwire</application> contient les programmes
utilisés par <application>tripwire</application> pour vérifier l'intégrité des
<para>Le package <application>Tripwire</application> contient les programmes
utilisés par <application>Tripwire</application> pour vérifier l'intégrité des
fichiers sur un système donné.</para>
 
<sect3><title>Informations sur le package</title>
18,4 → 18,12
&tripwire-time;</para></listitem></itemizedlist>
</sect3>
 
<sect3><title>Téléchargements supplémentaires</title>
<itemizedlist spacing='compact'>
<listitem><para>Correctif requis pour plusieurs problèmes de
construction (voir le correctif pour plus d'informations):
<ulink url="&patch-root;/tripwire-&tripwire-version;-gcc3-build-fixes.patch"/></para></listitem>
</itemizedlist>
</sect3>
 
</sect2>
/trunk/blfs/postlfs/security/tripwire/tripwire-exp.xml
1,15 → 1,11
<sect2>
<title>Explication des commandes</title>
 
<para><command>ln -s make /usr/bin/gmake</command> : La raison pour laquelle
nous créons le lien symbolique gmake est que tripwire s'installera seulement si
celui-ci est présent.</para>
<para><command>make release</command> : Cette commande crée les binaires
<application>Tripwire</application>.</para>
 
<para><command>gmake release</command> : Cette commande crée les binaires
tripwire.</para>
 
<para><command>cp install.{sh,cfg} .</command> : Ces fichiers sont copiés
vers le répertoire principal de tripwire de façon à ce que le script puisse être
vers le répertoire principal de <application>Tripwire</application> de façon à ce que le script puisse être
utilisé pour installer le package.</para>
 
<para><command>cp policy/*.txt /usr/share/doc/tripwire</command> : Cette
/trunk/blfs/postlfs/security/pam/linux_pam.ent
2,11 → 2,11
<!ENTITY Linux_PAM-intro SYSTEM "linux_pam-intro.xml">
<!ENTITY Linux_PAM-inst SYSTEM "linux_pam-inst.xml">
<!ENTITY Linux_PAM-exp SYSTEM "linux_pam-exp.xml">
<!ENTITY Linux_PAM-config SYSTEM "linux_pam-config.xml">
<!ENTITY Linux_PAM-desc SYSTEM "linux_pam-desc.xml">
<!ENTITY Linux_PAM-config SYSTEM "linux_pam-config.xml">
<!ENTITY Linux_PAM-buildsize "4,1 Mo">
<!ENTITY Linux_PAM-version "0.77">
<!ENTITY Linux_PAM-download-http "http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-0.77.tar.gz">
<!ENTITY Linux_PAM-download-ftp "">
<!ENTITY Linux_PAM-download-http "http://www.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-&Linux_PAM-version;.tar.bz2">
<!ENTITY Linux_PAM-download-ftp "ftp://ftp.kernel.org/pub/linux/libs/pam/pre/library/Linux-PAM-&Linux_PAM-version;.tar.bz2">
<!ENTITY Linux_PAM-size "332 Ko">
<!ENTITY Linux_PAM-buildsize "4,1 Mo">
<!ENTITY Linux_PAM-time "0,07 SBU">
/trunk/blfs/postlfs/security/pam/linux_pam-intro.xml
19,9 → 19,18
&Linux_PAM-time;</para></listitem></itemizedlist>
</sect3>
 
<sect3><title>Dépendances de <application>Linux_<acronym>PAM</acronym></application></title>
<sect3><title>Téléchargements supplémentaires</title>
<itemizedlist spacing='compact'>
<listitem><para>Correctif requis:
<ulink url="&patch-root;/Linux-PAM-0.77-linkage-1.patch"/></para></listitem></itemizedlist>
</sect3>
 
 
<sect3><title>Dépendances de <application>Linux-<acronym>PAM</acronym></application></title>
<sect4><title>Optionnel</title>
<para><ulink url="http://www.crypticide.org/users/alecm/security/cracklib,2.7.tar.gz">cracklib v2.7</ulink></para></sect4>
<para><ulink
url="http://www.crypticide.org/users/alecm/security/cracklib,2.7.tar.gz">
cracklib v2.7</ulink></para></sect4>
</sect3>
 
</sect2>
/trunk/blfs/postlfs/security/pam/linux_pam-exp.xml
1,13 → 1,13
<sect2>
<title>Explication des commandes</title>
 
<para><command>--enable-static-libpam</command> : Cette commande construit
<para><option>--enable-static-libpam</option> : Cette commande construit
les bibliothèques <acronym>PAM</acronym> statiques et dynamiques.</para>
 
<para><command>--with-mailspool=/var/mail</command> : Cette commande rend
<para><parameter>--with-mailspool=/var/mail</parameter> : Cette commande rend
le répertoire mailspool en accord avec <acronym>FHS</acronym>.</para>
 
<para><command>--enable-both-confs</command> : Cette commande laisse le
<para><option>--enable-both-confs</option> : Cette commande laisse le
choix du fichier de configuration à utiliser à l'administrateur local.</para>
 
<para><command>mv /lib/libpam.a /lib/libpam_misc.a /lib/libpamc.a /usr/lib</command> :
/trunk/blfs/postlfs/security/pam/linux_pam-inst.xml
4,7 → 4,8
<para>Installez <application>Linux_<acronym>PAM</acronym></application> en
lançant les commandes suivantes:</para>
 
<para><screen><userinput><command>./configure --enable-static-libpam --with-mailspool=/var/mail \
<screen><userinput><command>patch -Np1 -i ../Linux-PAM-0.77-linkage-1.patch &amp;&amp;
./configure --enable-static-libpam --with-mailspool=/var/mail \
--enable-read-both-confs --sysconfdir=/etc &amp;&amp;
make &amp;&amp;
make install &amp;&amp;
11,6 → 12,6
mv /lib/libpam.a /lib/libpam_misc.a /lib/libpamc.a /usr/lib &amp;&amp;
ln -sf ../../lib/libpam.so.&Linux_PAM-version; /usr/lib/libpam.so &amp;&amp;
ln -sf ../../lib/libpam_misc.so.&Linux_PAM-version; /usr/lib/libpam_misc.so &amp;&amp;
ln -sf ../../lib/libpamc.so.&Linux_PAM-version; /usr/lib/libpamc.so</command></userinput></screen></para>
ln -sf ../../lib/libpamc.so.&Linux_PAM-version; /usr/lib/libpamc.so</command></userinput></screen>
 
</sect2>
/trunk/blfs/postlfs/security/pam/linux_pam-desc.xml
3,7 → 3,7
 
<para>Le package <application>Linux_<acronym>PAM</acronym></application>
contient <command>unix-chkpwd</command> et les bibliothèques
<filename>libpam</filename>.</para>
<filename class="libraryfile">libpam</filename>.</para>
 
</sect2>
 
13,7 → 13,7
<para>Aucune description disponible.</para></sect3>
 
<sect3><title>Bibliothèques libpam</title>
<para>Les bibliothèques <filename>libpam</filename> apportent les interfaces
<para>Les bibliothèques <filename class="libraryfile">libpam</filename> apportent les interfaces
entre les applications et les modules <acronym>PAM</acronym>.</para></sect3>
 
</sect2>
/trunk/blfs/postlfs/editors/emacs.xml
1,6 → 1,6
<sect1 id="postlfs-editors-emacs">
<sect1 id="postlfs-editors-emacs" xreflabel="Emacs-&emacs-version;">
<?dbhtml filename="emacs.html" dir="postlfs"?>
<title>emacs-&emacs-version;</title>
<title>Emacs-&emacs-version;</title>
 
&emacs-intro;
&emacs-inst;
/trunk/blfs/postlfs/editors/editors.xml
2,12 → 2,11
<?dbhtml filename="editors.html" dir="postlfs"?>
<title>Editeurs</title>
 
<para>Du point de vue d'un développeur, c'est le seul programme qui importe.
Nous l'utilisons tellement souvent qu'une utilisation confortable est capitale.
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.</para>
<para>Ce chapitre est référencé dans le livre <acronym>LFS</acronym> pour ceux
qui souhaitent utiliser d'autres éditeurs sur leur système
<acronym>LFS</acronym>. Nous avons aussi l'opportunité de montrer le bénéfice
que tirent certains programmes déjà installés par <acronym>LFS</acronym> à être
recompilés après l'installation des bibliothèques <acronym>GUI</acronym>.</para>
 
&postlfs-editors-vim;
&postlfs-editors-emacs;
/trunk/blfs/postlfs/editors/emacs/emacs-intro.xml
1,7 → 1,7
<sect2>
<title>Introduction à <application>emacs</application></title>
<title>Introduction à <application>Emacs</application></title>
 
<para>Le package <application>emacs</application> contient un éditeur
<para>Le package <application>Emacs</application> contient un éditeur
extensible, personnalisable, auto-documenté.</para>
 
<sect3><title>Informations sur le package</title>
17,7 → 17,7
&emacs-time;</para></listitem></itemizedlist>
</sect3>
 
<sect3><title>Dépendances d'<application>emacs</application></title>
<sect3><title>Dépendances d'<application>Emacs</application></title>
<sect4><title>Optionnel</title>
<para><xref linkend="xfree86"/>, <xref linkend="libjpeg"/>, <xref
linkend="libpng"/>, <xref linkend="libtiff"/> et <xref
/trunk/blfs/postlfs/editors/emacs/emacs-inst.xml
1,7 → 1,7
<sect2>
<title>Installation de <application>emacs</application></title>
<title>Installation de <application>Emacs</application></title>
 
<para>Installez <application>emacs</application> en lançant les commandes
<para>Installez <application>macs</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./configure --prefix=/usr \
/trunk/blfs/postlfs/editors/emacs/emacs-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>Le package emacs contient <command>emacs</command>,
<para>Le package <application>Emacs</application> contient <command>emacs</command>,
<command>b2m</command>, <command>ctags</command>,
<command>ebrowse</command>, <command>emacsclient</command>,
<command>etags</command>, <command>grep-changelog</command>,
69,7 → 69,7
 
<sect3><title>movemail</title>
<para><command>movemail</command> procure un accès aux boîtes mails
<acronym>POP3</acronym>.</para></sect3>
<acronym>POP</acronym>3.</para></sect3>
 
<sect3><title>profile</title>
<para><command>profile</command> génère des événements périodiques pour
/trunk/blfs/postlfs/editors/emacs/emacs.ent
2,9 → 2,9
<!ENTITY emacs-intro SYSTEM "emacs-intro.xml">
<!ENTITY emacs-inst SYSTEM "emacs-inst.xml">
<!ENTITY emacs-desc SYSTEM "emacs-desc.xml">
<!ENTITY emacs-buildsize "92,5 Mo">
<!ENTITY emacs-version "21.3">
<!ENTITY emacs-download-http "http://ftp.gnu.org/pub/gnu/emacs/emacs-&emacs-version;.tar.gz">
<!ENTITY emacs-download-ftp "ftp://ftp.gnu.org/pub/gnu/emacs/emacs-&emacs-version;.tar.gz">
<!ENTITY emacs-size "20 Mo">
<!ENTITY emacs-buildsize "92,5 Mo">
<!ENTITY emacs-time "4,20 SBU">
/trunk/blfs/postlfs/editors/vim.xml
1,6 → 1,6
<sect1 id="postlfs-editors-vim">
<sect1 id="postlfs-editors-vim" xreflabel="Vim-&vim-version;">
<?dbhtml filename="vim.html" dir="postlfs"?>
<title>vim-&vim-version;</title>
<title>Vim-&vim-version;</title>
 
&vim-intro;
&vim-inst;
/trunk/blfs/postlfs/editors/nano/nano.ent
1,11 → 1,11
<!ENTITY nano SYSTEM "../nano.xml">
<!ENTITY nano-intro SYSTEM "nano-intro.xml">
<!ENTITY nano-inst SYSTEM "nano-inst.xml">
<!ENTITY nano-config SYSTEM "nano-config.xml">
<!ENTITY nano-desc SYSTEM "nano-desc.xml">
<!ENTITY nano-config SYSTEM "nano-config.xml">
<!ENTITY nano-buildsize "5,6 Mo">
<!ENTITY nano-version "1.2.2">
<!ENTITY nano-download-http "http://www.nano-editor.org/dist/v1.2/nano-&nano-version;.tar.gz">
<!ENTITY nano-download-ftp "ftp://ftp.gnu.org/gnu/nano/nano-&nano-version;.tar.gz">
<!ENTITY nano-size "868 Ko">
<!ENTITY nano-time "0,08 SBU">
<!ENTITY nano-download-ftp "ftp://ftp.uni-koeln.de/editor/nano-&nano-version;.tar.gz">
<!ENTITY nano-size "876 Ko">
<!ENTITY nano-buildsize "4,4 Mo">
<!ENTITY nano-time "0,04 SBU">
/trunk/blfs/postlfs/editors/nano/nano-inst.xml
7,7 → 7,9
<screen><userinput><command>./configure --prefix=/usr --sysconfdir=/etc \
--enable-color --enable-multibuffer --enable-nanorc &amp;&amp;
make &amp;&amp;
make install</command></userinput></screen>
make install &amp;&amp;
mkdir -p /usr/share/doc/nano/examples &amp;&amp;
cp nanorc.sample /usr/share/doc/nano/examples</command></userinput></screen>
 
</sect2>
 
/trunk/blfs/postlfs/editors/nano/nano-config.xml
3,6 → 3,24
 
<sect3><title>Fichiers de configuration</title>
<para><filename>/etc/nanorc</filename>, <filename>~/.nanorc</filename></para>
 
<para>Exemple de configuration</para>
 
<screen><userinput>set autoindent
set const
set fill 72
set historylog
set multibuffer
set nohelp
set regexp
set smooth
set suspend</userinput></screen>
 
<para>Un autre exemple se trouve dans le fichier <filename>nanorc.sample</filename>
du répertoire <filename class="directory">/usr/share/doc/nano/examples</filename>.
Il inclut des configurations pour la couleur et dispose de documentations dans
les commentaires.</para>
 
</sect3>
 
</sect2>
/trunk/blfs/postlfs/editors/vim/vim.ent
1,11 → 1,11
<!ENTITY vim SYSTEM "../vim.xml">
<!ENTITY vim-intro SYSTEM "vim-intro.xml">
<!ENTITY vim-inst SYSTEM "vim-inst.xml">
<!ENTITY vim-exp SYSTEM "vim-exp.xml">
<!ENTITY vim-desc SYSTEM "vim-desc.xml">
<!ENTITY vim-exp SYSTEM "vim-exp.xml">
<!ENTITY vim-buildsize "46 Mo">
<!ENTITY vim-version "6.2">
<!ENTITY vim-download-http "">
<!ENTITY vim-download-ftp "ftp://ftp.nluug.nl/pub/editors/vim/unix/vim-&vim-version;.tar.bz2">
<!ENTITY vim-download-http "http://ftp.at.vim.org/pub/vim/unix/vim-&vim-version;.tar.bz2">
<!ENTITY vim-download-ftp "ftp://ftp.vim.org/pub/vim/unix/vim-&vim-version;.tar.bz2">
<!ENTITY vim-size "3,2 Mo">
<!ENTITY vim-buildsize "46 Mo">
<!ENTITY vim-time "0,59 SBU">
/trunk/blfs/postlfs/editors/vim/vim-intro.xml
1,7 → 1,7
<sect2>
<title>Introduction à <application>Vim</application></title>
 
<para>Le package <application>vim</application>, abréviation de VI IMproved (vi
<para>Le package <application>Vim</application>, abréviation de VI IMproved (vi
amélioré), contient un clone de <command>vi</command> avec des fonctionnalités
supplémentaires.</para>
 
22,7 → 22,7
<listitem><para>Estimation du temps de construction: &vim-time;</para></listitem></itemizedlist>
</sect3>
 
<sect3><title>Dépendances de <application>vim</application></title>
<sect3><title>Dépendances de <application>Vim</application></title>
<sect4><title>Requis</title>
<para><xref linkend="xfree86"/></para></sect4>
<sect4><title>Optionnel</title>
/trunk/blfs/postlfs/editors/vim/vim-exp.xml
1,8 → 1,9
<sect2>
<title>Explication des commandes</title>
 
<para><command>--with-features=huge</command> : Active toutes les
fonctionnalités additionnelles disponibles dans vim.</para>
<para><parameter>--with-features=huge</parameter> : Active toutes les
fonctionnalités additionnelles disponibles dans
<application>Vim</application>.</para>
 
</sect2>
 
/trunk/blfs/postlfs/editors/vim/vim-inst.xml
1,13 → 1,15
<sect2>
<title>Installation de <application>vim</application></title>
<title>Installation de <application>Vim</application></title>
 
<para>Installez <application>vim</application> en lançant les commandes
<para>Installez <application>Vim</application> en lançant les commandes
suivantes:</para>
 
<para><screen><userinput><command>./configure --prefix=/usr \
<screen><userinput><command>echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h &amp;&amp;
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' &gt;&gt; src/feature.h &amp;&amp;
./configure --prefix=/usr \
--with-features=huge &amp;&amp;
make &amp;&amp;
make install</command></userinput></screen></para>
make install</command></userinput></screen>
 
</sect2>
 
/trunk/blfs/postlfs/editors/vim/vim-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>Le package <application>vim</application> contient
<para>Le package <application>Vim</application> contient
<command>eview</command>, <command>evim</command>,
<command>ex</command>, <command>gview</command>,
<command>gvim</command>, <command>gvimdiff</command>,
/trunk/blfs/postlfs/editors/joe.xml
1,6 → 1,6
<sect1 id="postlfs-editors-joe">
<?dbhtml filename="joe.html" dir="postlfs"?>
<title>joe-&joe-version;</title>
<title>JOE-&joe-version;</title>
 
&joe-intro;
&joe-inst;
/trunk/blfs/postlfs/editors/joe/joe-config.xml
1,11 → 1,12
<sect2>
<title>Fichiers de configuration</title>
 
<para><application>Joe</application> peut utiliser plusieurs fichiers de
<para><application><acronym>JOE</acronym></application> peut utiliser plusieurs fichiers de
configuration. Des informations sur ces fichiers peuvent être trouvées sur la
page man joe. Ces fichiers sont <filename>/etc/jmacsrc</filename>,
<filename>/etc/joerc</filename>, <filename>/etc/jpicorc</filename>,
<filename>/etc/jstarrc</filename> et <filename>/etc/rjoerc</filename>. Joe peut
<filename>/etc/jstarrc</filename> et <filename>/etc/rjoerc</filename>.
<application><acronym>JOE</acronym></application> peut
aussi utiliser <filename>~/.joerc</filename>, qui peut être copié à partir de
<filename>/etc/joerc</filename> et personnalisé suivant les goûts de chaque
utilisateur.</para>
/trunk/blfs/postlfs/editors/joe/joe.ent
1,11 → 1,11
<!ENTITY joe SYSTEM "../joe.xml">
<!ENTITY joe-intro SYSTEM "joe-intro.xml">
<!ENTITY joe-inst SYSTEM "joe-inst.xml">
<!ENTITY joe-config SYSTEM "joe-config.xml">
<!ENTITY joe-desc SYSTEM "joe-desc.xml">
<!ENTITY joe-config SYSTEM "joe-config.xml">
<!ENTITY joe-buildsize "4,3 Mo">
<!ENTITY joe-version "2.9.8">
<!ENTITY joe-download-http "http://unc.dl.sourceforge.net/sourceforge/joe-editor/joe-2.9.8.tar.gz">
<!ENTITY joe-download-ftp "">
<!ENTITY joe-download-http "http://unc.dl.sourceforge.net/sourceforge/joe-editor/joe-&joe-version;.tar.gz">
<!ENTITY joe-download-ftp "ftp://ftp.uni-koeln.de/editor/joe-&joe-version;.tar.gz">
<!ENTITY joe-size "284 Ko">
<!ENTITY joe-buildsize "4,3 Mo">
<!ENTITY joe-time "0,11 SBU">
/trunk/blfs/postlfs/editors/joe/joe-intro.xml
1,8 → 1,9
<sect2>
<title>Introduction à joe</title>
 
<para><application>joe</application> est un petit éditeur de texte capable
d'émuler WordStar, <application>Pico</application> et
<para><application>JOE</application> (acronyme de <foreignphrase>Joe's Own
Editor</acronym>, c'est-à-dire le propre éditeur de Joe) est un petit éditeur
de texte capable d'émuler WordStar, <application>Pico</application> et
<application>Emacs</application>.</para>
 
<sect3><title>Informations sur le package</title>
/trunk/blfs/postlfs/editors/joe/joe-inst.xml
1,7 → 1,7
<sect2>
<title>Installation de <application>joe</application></title>
<title>Installation de <application><acronym>JOE</acronym></application></title>
 
<para>Installez <application>joe</application> en lançant les commandes
<para>Installez <application><acronym>JOE</acronym></application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./configure --sysconfdir=/etc --prefix=/usr &amp;&amp;
/trunk/blfs/postlfs/editors/joe/joe-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>Le package joe contient <command>jmacs</command>,
<para>Le package <application><acronym>JOE</acronym></application> contient <command>jmacs</command>,
<command>joe</command>, <command>jpico</command>,
<command>jstar</command>, <command>rjoe</command> et
<command>termidx</command>.</para>
10,8 → 10,9
<sect2><title>Description</title>
 
<sect3><title>jmacs</title>
<para><command>jmacs</command> est un lien symbolique vers joe utilisé pour
lancer le mode d'émulation Emacs.</para></sect3>
<para><command>jmacs</command> est un lien symbolique vers
<command>joe</command> utilisé pour lancer le mode d'émulation
<application>Emacs</application>.</para></sect3>
 
<sect3><title>joe</title>
<para><command>joe</command> est un petit éditeur de texte capable d'émuler
/trunk/blfs/postlfs/shells/tcsh.xml
1,6 → 1,6
<sect1 id="tcsh" xreflabel="tcsh-&tcsh-version;">
<sect1 id="tcsh" xreflabel="Tcsh-&tcsh-version;">
<?dbhtml filename="tcsh.html" dir="postlfs"?>
<title>tcsh-&tcsh-version;</title>
<title>Tcsh-&tcsh-version;</title>
 
&tcsh-intro;
&tcsh-inst;
/trunk/blfs/postlfs/shells/tcsh/tcsh-config.xml
1,5 → 1,5
<sect2>
<title>Configurer <application>tcsh</application></title>
<title>Configurer <application>Tcsh</application></title>
 
<sect3><title>Fichiers de configuration</title>
<para>Il existe de nombreux fichiers de configuration pour le shell C. Voici
/trunk/blfs/postlfs/shells/tcsh/tcsh.ent
2,11 → 2,11
<!ENTITY tcsh-intro SYSTEM "tcsh-intro.xml">
<!ENTITY tcsh-inst SYSTEM "tcsh-inst.xml">
<!ENTITY tcsh-exp SYSTEM "tcsh-exp.xml">
<!ENTITY tcsh-config SYSTEM "tcsh-config.xml">
<!ENTITY tcsh-desc SYSTEM "tcsh-desc.xml">
<!ENTITY tcsh-config SYSTEM "tcsh-config.xml">
<!ENTITY tcsh-buildsize "9,0 Mo">
<!ENTITY tcsh-version "6.12.00">
<!ENTITY tcsh-download-http "">
<!ENTITY tcsh-download-http "http://gd.tuwien.ac.at/utils/shells/tcsh/tcsh-&tcsh-version;.tar.gz">
<!ENTITY tcsh-download-ftp "ftp://ftp.funet.fi/pub/unix/shells/tcsh/tcsh-&tcsh-version;.tar.gz">
<!ENTITY tcsh-size "804 Ko">
<!ENTITY tcsh-buildsize "9,0 Mo">
<!ENTITY tcsh-time "0,16 SBU">
/trunk/blfs/postlfs/shells/tcsh/tcsh-intro.xml
1,7 → 1,7
<sect2>
<title>Introduction à tcsh</title>
<title>Introduction à <application>Tcsh</application></title>
 
<para>Le package <application>tcsh</application> contient "une version
<para>Le package <application>Tcsh</application> 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
/trunk/blfs/postlfs/shells/tcsh/tcsh-exp.xml
2,11 → 2,12
<title>Explication des commandes</title>
 
<para><command>cp tcsh.man /usr/share/man/man1/tcsh.1</command> :
<application>tcsh</application> n'installe pas ses pages man correctement, donc
<application>Tcsh</application> n'installe pas ses pages man correctement, donc
nous le faisons manuellement.</para>
 
<para><command>ln -s /usr/bin/tcsh /bin/csh</command> : Le
<acronym>FHS</acronym> spécifie que si un shell C est installé, il doit y avoir
<acronym>FHS</acronym> spécifie que si un shell
<application>C</application> est installé, il doit y avoir
un lien symbolique <filename>/bin/csh</filename> pointant dessus. Ceci crée ce
lien symbolique.</para>
 
/trunk/blfs/postlfs/shells/tcsh/tcsh-inst.xml
1,7 → 1,7
<sect2>
<title>Installation de <application>tcsh</application></title>
<title>Installation de <application>Tcsh</application></title>
 
<para>Installez <application>tcsh</application> en lançant les commandes
<para>Installez <application>Tcsh</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./configure --prefix=/usr &amp;&amp;
/trunk/blfs/postlfs/shells/tcsh/tcsh-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>Le package <application>tcsh</application> contient
<para>Le package <application>Tcsh</application> contient
<command>tcsh</command>.</para>
 
</sect2>
10,7 → 10,7
 
<sect3><title>tcsh</title>
<para><command>tcsh</command> est une version améliorée mais complètement
compatible du shell C Unix de Berkeley, csh. Il est utilisé à la fois comme
compatible du shell <application>C</application> Unix de Berkeley, csh. Il est utilisé à la fois comme
shell interactif et comme processeur de scripts.</para></sect3>
 
</sect2>
/trunk/blfs/postlfs/shells/zsh.xml
1,6 → 1,6
<sect1 id="zsh" xreflabel="zsh-&zsh-version;">
<sect1 id="zsh" xreflabel="ZSH-&zsh-version;">
<?dbhtml filename="zsh.html" dir="postlfs"?>
<title>zsh-&zsh-version;</title>
<title>ZSH-&zsh-version;</title>
 
&zsh-intro;
&zsh-inst;
/trunk/blfs/postlfs/shells/zsh/zsh-desc.xml
1,7 → 1,7
<sect2>
<title>Contenu</title>
 
<para>Le package <application>zsh</application> contient <command>zsh</command>.
<para>Le package <application>ZSH</application> contient <command>zsh</command>.
</para>
 
</sect2>
/trunk/blfs/postlfs/shells/zsh/zsh-config.xml
1,5 → 1,5
<sect2>
<title>Configurer <application>zsh</application></title>
<title>Configurer <application>ZSH</application></title>
 
<sect3><title>Fichiers de configuration</title>
<para>Il existe un grand nombre de fichiers de configuration pour zsh comme
/trunk/blfs/postlfs/shells/zsh/zsh.ent
1,11 → 1,11
<!ENTITY zsh SYSTEM "../zsh.xml">
<!ENTITY zsh-intro SYSTEM "zsh-intro.xml">
<!ENTITY zsh-inst SYSTEM "zsh-inst.xml">
<!ENTITY zsh-config SYSTEM "zsh-config.xml">
<!ENTITY zsh-desc SYSTEM "zsh-desc.xml">
<!ENTITY zsh-config SYSTEM "zsh-config.xml">
<!ENTITY zsh-buildsize "16 Mo">
<!ENTITY zsh-version "4.1.1">
<!ENTITY zsh-download-http "http://www.zsh.org/pub/zsh-&zsh-version;.tar.bz2">
<!ENTITY zsh-download-ftp "ftp://ftp.zsh.org/zsh/zsh-&zsh-version;.tar.bz2">
<!ENTITY zsh-size "1,9 Mo">
<!ENTITY zsh-buildsize "16 Mo">
<!ENTITY zsh-time "0,55 SBU">
/trunk/blfs/postlfs/shells/zsh/zsh-intro.xml
1,11 → 1,11
<sect2>
<title>Introduction à <application>zsh</application></title>
<title>Introduction à <application>ZSH</application></title>
 
<para>Le package <application>zsh</application> contient le shell
<para>Le package <application>ZSH</application> contient le shell
<command>zsh</command>. <command>zsh</command> est un interpréteur de commandes
(shell) utilisable en tant que shell interactif et en tant que processeur de
commandes shell (scripts). <application>zsh</application> est assez proche de
<application>ksh</application>, mais inclut beaucoup d'améliorations.</para>
commandes shell (scripts). <application>ZSH</application> est assez proche de
<application>KSH</application>, mais inclut beaucoup d'améliorations.</para>
 
<sect3><title>Informations sur le package</title>
<itemizedlist spacing='compact'>
/trunk/blfs/postlfs/shells/zsh/zsh-inst.xml
1,7 → 1,7
<sect2>
<title>Installation de <application>zsh</application></title>
<title>Installation de <application>ZSH</application></title>
 
<para>Installez <application>zsh</application> en lançant les commandes
<para>Installez <application>ZSH</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>./configure --prefix=/usr &amp;&amp;
/trunk/blfs/postlfs/shells/shells.xml
7,6 → 7,7
modernes et utiles, tcsh (Shell C UNIX de Berkeley) et zsh (Korn shell). Ce
chapitre installe les packages compatibles avec ces types de shells.</para>
 
&ash;
&tcsh;
&zsh;
 
/trunk/blfs/postlfs/shells/ash.xml
0,0 → 1,11
<sect1 id="ash" xreflabel="ASH-&ash-version;">
<?dbhtml filename="ash.html" dir="postlfs"?>
<title>ASH-&ash-version;</title>
 
&ash-intro;
&ash-inst;
&ash-config;
&ash-desc;
 
</sect1>
 
/trunk/blfs/postlfs/shells/ash/ash.ent
0,0 → 1,11
<!ENTITY ash SYSTEM "../ash.xml">
<!ENTITY ash-intro SYSTEM "ash-intro.xml">
<!ENTITY ash-inst SYSTEM "ash-inst.xml">
<!ENTITY ash-config SYSTEM "ash-config.xml">
<!ENTITY ash-desc SYSTEM "ash-desc.xml">
<!ENTITY ash-version "0.4.0">
<!ENTITY ash-download-http "">
<!ENTITY ash-download-ftp "ftp://distro.ibiblio.org/pub/Linux/distributions/slackware/slackware_source/ap/ash/ash-&ash-version;.tar.gz">
<!ENTITY ash-size "118 Ko">
<!ENTITY ash-buildsize "2,7 Mo">
<!ENTITY ash-time "0,06 SBU">
/trunk/blfs/postlfs/shells/ash/ash-intro.xml
0,0 → 1,33
<sect2>
<title>Introduction à <application>ASH</application></title>
 
<para><command>ash</command> est un shell le plus compatible avec le shell
Bourne (à ne pas confondre avec le sell Bourne Again SHell c'est-à-dire <application>Bash</application>
installé avec <acronym>LFS</acronym>) sans les fonctionnalités supplémentaires.
Bourne Shell est disponible sur la plupart des systèmes <acronym>UNIX</acronym>
commerciaux. Néanmoins <command>ash</command> est utile pour tester la
compatibilité des scripts avec <command>sh</command>. Il a des besoins en
mémoire et en espace disque bien petits par rapport aux autres shells
compatibles <command>sh</command>.</para>
 
<sect3><title>Informations sur le package</title>
<itemizedlist spacing='compact'>
<listitem><para>Téléchargement (HTTP): <ulink
url="&ash-download-http;"/></para></listitem>
<listitem><para>Téléchargement (FTP): <ulink
url="&ash-download-ftp;"/></para></listitem>
<listitem><para>Taille du téléchargement: &ash-size;</para></listitem>
<listitem><para>Estimation de l'espace disque requis:
&ash-buildsize;</para></listitem>
<listitem><para>Estimation du temps de construction:
&ash-time;</para></listitem></itemizedlist>
</sect3>
 
<sect3><title>Téléchargements supplémentaires</title>
<itemizedlist spacing='compact'>
<listitem><para>Correctif requis:
<ulink url="&patch-root;/ash-&ash-version;-cumulative-fixes.patch"/></para></listitem>
</itemizedlist>
</sect3>
 
</sect2>
/trunk/blfs/postlfs/shells/ash/ash-inst.xml
0,0 → 1,18
<sect2>
<title>Installation de <application>ASH</application></title>
 
<para>Installez <application>ASH</application> en lançant les commandes
suivantes:</para>
 
<screen><userinput><command>patch -Np1 -i ../ash-0.4.0-cumulative-fixes.patch &amp;&amp;
make &amp;&amp;
install -m 755 sh /bin/ash &amp;&amp;
install -m 644 sh.1 /usr/share/man/man1/ash.1</command></userinput></screen>
 
<para>Si vous souhaitez faire de <command>ash</command> le shell sh par défaut,
créez un lien symbolique.</para>
 
<screen><userinput><command>ln -sf ash /bin/sh</command></userinput></screen>
 
</sect2>
 
/trunk/blfs/postlfs/shells/ash/ash-desc.xml
0,0 → 1,16
<sect2>
<title>Contenu</title>
 
<para>Le package <application>ASH</application> contient <command>ash</command>,
un shell compatible avec <command>sh</command>.</para>
 
</sect2>
 
<sect2><title>Description</title>
 
<sect3><title>ash</title>
<para><command>ash</command> est un shell compatible avec <command>sh</command>.</para>
</sect3>
 
</sect2>
 
/trunk/blfs/postlfs/shells/ash/ash-config.xml
0,0 → 1,10
<sect2>
<title>Configurer <application>ASH</application></title>
 
<sect3><title>Fichiers de configuration</title>
<para><application>ASH</application> utilise <filename>/etc/profile</filename>
et <filename>$HOME/.profile</filename></para>
</sect3>
 
</sect2>