/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 && |
ln -sf ../init.d/random ../rc0.d/K45random && |
ln -sf ../init.d/random ../rc2.d/S25random && |
62,7 → 63,6 |
ln -sf ../init.d/random ../rc4.d/S25random && |
ln -sf ../init.d/random ../rc5.d/S25random && |
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> !</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 : 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 > /usr/bin/compressdoc << "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 <marc @ koelkast.net> |
# Modifiez pour être capable de compresser les fichiers avec gzip ou bzip2 |
# suivant une option et pour gérer tous les liens symboliques proprement par |
# Mark Hymers <markh @ linuxfromscratch.org> |
# |
# Modifié 20030930 par Yann E. Morin <yann.morin.1998 @ anciens.enib.fr> |
# pour accepter la compression/décompression, pour gérer correctement les liens |
# physiques, pour permettre la modification de liens physiques en liens |
# symboliques, pour spécifier le niveau de compression, pour analyser man.conf |
# pour toutes les occurrences de MANPATH, pour permettre une sauvegarde, pour |
# autoriser la conservation de la version la plus récente d'une page. |
# |
# TODO: |
# - choisir une méthode de compression par défaut suivant la |
# disponibilité des outils : gzip ou bzip2; |
# - offrir une option pour choisir automatiquement la meilleure méthode |
# de compression sur une base page par page (c'est-à-dire, vérifier |
# lequel des outils de compression, entre gzip/bzip2/autre, est le plus |
# performant, et ceci page par page); |
# - lorsque la variable d'environnement MANPATH existe, l'utilisez plutôt |
# que /etc/man.conf (utile pour les utilisateurs souhaitant |
# (dé)compresser leurs man pages; |
# - offrir une option pour restaurer une sauvegarde précédente; |
# - ajouter d'autres outils de compression (compress, zip, etc?). |
# Nécessaire? |
# Assez logiquement, cette fonction affiche de l'aide. |
function help () |
{ |
if [ -n "$1" ]; then |
echo "Option inconnue : $1" |
fi |
( echo "Usage: $0 <méthode_compression> [options] [dirs]" && \ |
cat << EOT |
Où méthode_compression est : |
--gzip, --gz, -g |
--bzip2, --bz2, -b |
Compresse en utilisant gzip ou bzip2. |
--decompress, -d |
Décompresse les pages man. |
--backup Spécifie qu'une sauvegarde .tar doit être faire pour chaque |
répertoire. |
Au cas où une sauvegarde existe déjà, elle est sauvegardée dans |
.tar.old avant de créer la nouvelle sauvegarde. Si une |
sauvegarde .tar.old existe, elle est supprimée avant de |
sauvegarder l'ancienne sauvegarde. En mode sauvegarde, aucune |
autre action n'est effectuée. |
Et où les options sont : |
-1 to -9, --fast, --best |
Le niveau de compression, telle que gérée par gzip et bzip2. Si |
elle n'est pas spécifiée, utilise le niveau de compression par |
défaut de la méthode donnée (-6 pour gzip, et -9 pour bzip2). |
Inutilisée en mode sauvegarde et en mode décompression. |
--force, -F Force la (re-)compression, même si l'ancien utilisait la même |
méthode. Utile lors d'un changement de niveau de compression. |
Par défaut, une page ne sera pas re-compressée si elle se |
termine avec le même suffixe que la méthode utilisée |
(.bz2 pour bzip2, .gz pour gzip). |
--soft, -S Modifie les liens physiques en liens symboliques. A utiliser |
avec précaution car le premier fichier rencontré sera utilisé |
comme référence. Inutilisée en mode sauvegarde. |
--hard, -H Modifie les liens symboliques en liens physiques. Inutilisée en |
mode sauvegarde. |
--conf=dir, --conf dir |
Spécifie l'emplacement de man.conf. Par défaut, /etc. |
--verbose, -v Mode verbeux, affiche le nom du répertoire en cours de |
traitement. Doublez l'option pour qu'elle soit encore plus |
verbeuse et pour qu'elle affiche le nom du fichier en cours de |
traitement. |
--fake, -f Mode émulation. Affiche les paramètres réels que compman |
utilisera. |
dirs Une liste de chemins absolus séparés par des espaces menant aux |
répertoires man. |
Si vide, et seulement dans ce cas, analyse ${MAN_CONF}/man.conf |
pour toutes les occurrences de MANPATH. |
Note sur la compression |
Il y a eu une discussion sur blfs-support concernant les niveaux de |
compression de gzip et bzip2 sur les pages man, en prenant en compte le |
système de fichiers hôte, l'architecture, etc... En résumé, la conclusion |
était que gzip était plus efficace sur les 'petits' fichiers, que bzip2 |
l'était sur les 'gros' fichiers, petit et gros dépendant beaucoup du contenu |
des fichiers. |
Voir le message original de Mickael A. Peters, intitulé "Bootable Utility CD", |
et daté de 20030409.1816(+0200), ainsi que les messages consécutifs: |
http://linuxfromscratch.org/pipermail/blfs-support/2003-April/038817.html |
Sur mon système (x86, ext3), les pages man faisaient 35564kiB avant compression. gzip -9 |
les a compressé pour arriver à 20372kiB (57,28%), bzip2 -9 arrivait à 19812kiB |
(55,71%). Cela représente un gain de 1,57%. YMMV. |
Ce qui n'a pas été pris en considération est le temps de décompression. Mais |
cela a-t'il aussi un sens ? Vous gagnez en rapidité d'accès avec des pages man |
non compressées ou vous gagnez de l'espace disque contre un léger |
contre-temps. En fait, mon P4-2.5GHz ne me permet même pas de l'apprécier... :-) |
EOT |
) | less |
} |
# Cette fonction vérifie que la page man est unique parmi les versions bzip2, |
# gzip et non compressés. |
# $1 le répertoire où réside le fichier |
# $2 le nom du fichier de la page man |
# Renvoit 0 (true) si le fichier est le dernier et doit être pris en |
# considération et 1 (false) si le fichier n'est pas le dernier (et a donc été |
# supprimé). |
function check_unique () |
{ |
# NB. Lorsqu'il y a des liens physiques vers ce fichier, ils ne sont _pas_ |
# supprimés. En fait, si ce sont des liens physiques, ils ont tous la même |
# date/heure, les préparant à la suppression plus tard. |
# Construit la liste de toutes les pages man de même nom |
DIR=$1 |
BASENAME=`basename "${2}" .bz2` |
BASENAME=`basename "${BASENAME}" .gz` |
GZ_FILE="$BASENAME".bz2 |
BZ_FILE="$BASENAME".bz2 |
# Recherche, et conserve, le plus récent |
LATEST=`(cd "$DIR"; ls -1rt "${BASENAME}" "${GZ_FILE}" "${BZ_FILE}" 2>/dev/null | tail -1)` |
for i in "${BASENAME}" "${GZ_FILE}" "${BZ_FILE}"; do |
[ "$LATEST" != "$i" ] && rm -f "$DIR"/"$i" |
done |
# Au cas où le fichier spécifié est le dernier, renvoit 0 |
[ "$LATEST" = "$2" ] && return 0 |
# Si le fichier n'est pas le dernier, renvoit 1 |
return 1 |
} |
# OK, analyse les arguments de la ligne de commande et initialise à un état |
# particulier : ne pas modifier les liens, analyser /etc/man.conf, être le plus |
# silencieux, rechercher man.conf dans /etc et ne pas forcer la (re-)compression. |
COMP_METHOD= |
COMP_SUF= |
COMP_LVL= |
FORCE_OPT= |
LN_OPT= |
MAN_DIR= |
VERBOSE_LVL=0 |
BACKUP=no |
FAKE=no |
MAN_CONF=/etc |
while [ -n "$1" ]; do |
case $1 in |
--gzip|--gz|-g) |
COMP_SUF=.gz |
COMP_METHOD=$1 |
shift |
;; |
--bzip2|--bz2|-b) |
COMP_SUF=.bz2 |
COMP_METHOD=$1 |
shift |
;; |
--decompress|-d) |
COMP_SUF= |
COMP_LVL= |
COMP_METHOD=$1 |
shift |
;; |
-[1-9]|--fast|--best) |
COMP_LVL=$1 |
shift |
;; |
--force|-F) |
FORCE_OPT=-F |
shift |
;; |
--soft|-S) |
LN_OPT=-S |
shift |
;; |
--hard|-H) |
LN_OPT=-H |
shift |
;; |
--conf=*) |
MAN_CONF=`echo $1 | cut -d '=' -f2-` |
shift |
;; |
--conf) |
MAN_CONF="$2" |
shift 2 |
;; |
--verbose|-v) |
let VERBOSE_LVL++ |
shift |
;; |
--backup) |
BACKUP=yes |
shift |
;; |
--fake|-f) |
FAKE=yes |
shift |
;; |
--help|-h) |
help |
exit 0 |
;; |
/*) |
MAN_DIR="${MAN_DIR} ${1}" |
shift |
;; |
-*) |
help $1 |
exit 1 |
;; |
*) |
echo "\"$1\" n'est pas un chemin absolu" |
exit 1 |
;; |
esac |
done |
# Redirections |
case $VERBOSE_LVL in |
0) |
# O, être silencieux |
DEST_FD0=/dev/null |
DEST_FD1=/dev/null |
VERBOSE_OPT= |
;; |
1) |
# 1, être un peu verbeux |
DEST_FD0=/dev/stdout |
DEST_FD1=/dev/null |
VERBOSE_OPT=-v |
;; |
*) |
# 2 et au-dessus, être très verbeux |
DEST_FD0=/dev/stdout |
DEST_FD1=/dev/stdout |
VERBOSE_OPT="-v -v" |
;; |
esac |
# Note: sur ma machine, 'man --path' donne /usr/share/man deux fois, une fois |
# avec un '/' en fin, une fois sans. |
if [ -z "$MAN_DIR" ]; then |
MAN_DIR=`man --path -C "$MAN_CONF"/man.conf \ |
| sed 's/:/\\n/g' \ |
| while read foo; do dirname "$foo"/.; done \ |
| sort -u \ |
| while read bar; do echo -n "$bar "; done` |
fi |
# Si aucun MANPATH dans ${MAN_CONF}/man.conf, annuler tout |
if [ -z "$MAN_DIR" ]; then |
echo "Aucun répertoire spécifié et aucun répertoire trouvé avec \`man --path'" |
exit 1 |
fi |
# Faux? |
if [ "$FAKE" != "no" ]; then |
echo "Paramètres utilisés:" |
echo -n "Compression........: " |
case $COMP_METHOD in |
--bzip2|--bz2|-b) echo -n "bzip2";; |
--gzip|__gz|-g) echo -n "gzip";; |
--decompress|-d) echo -n "décompression";; |
*) echo -n "unknown";; |
esac |
echo " ($COMP_METHOD)" |
echo "Niveau de compression.: $COMP_LVL" |
echo "Suffixe de compression: $COMP_SUF" |
echo -n "Forcer la compression: " |
[ "foo$FORCE_OPT" = "foo-F" ] && echo "yes" || echo "no" |
echo "man.conf est..........: ${MAN_CONF}/man.conf" |
echo -n "Hard-links............: " |
[ "foo$LN_OPT" = "foo-S" ] && echo "convert to soft-links" || echo "leave as is" |
echo -n "Liens symboliques.....: " |
[ "foo$LN_OPT" = "foo-H" ] && echo "convert to hard-links" || echo "leave as is" |
echo "Sauvegarde............: $BACKUP" |
echo "Faux (oui!)...........: $FAKE" |
echo "Répertoires...........: $MAN_DIR" |
echo "Niveau de verbosité...: $VERBOSE_LVL" |
exit 0 |
fi |
# Si aucune méthode n'a été spécifiée, affichez l'aide |
if [ -z "${COMP_METHOD}" -a "${BACKUP}" = "no" ]; then |
help |
exit 1 |
fi |
# En mode sauvegarde, faire uniquement la sauvegarde |
if [ "$BACKUP" = "yes" ]; then |
for DIR in $MAN_DIR; do |
cd "${DIR}/.." |
DIR_NAME=`basename "${DIR}"` |
echo "Sauvegarde de $DIR..." > $DEST_FD0 |
[ -f "${DIR_NAME}.tar.old" ] && rm -f "${DIR_NAME}.tar.old" |
[ -f "${DIR_NAME}.tar" ] && mv "${DIR_NAME}.tar" "${DIR_NAME}.tar.old" |
tar cfv "${DIR_NAME}.tar" "${DIR_NAME}" > $DEST_FD1 |
done |
exit 0 |
fi |
# Je sais que MAN_DIR n'a que des noms de chemins absolus |
# Je dois prendre en considération les pages man localisées, donc je deviens |
# récursif |
for DIR in $MAN_DIR; do |
MEM_DIR=`pwd` |
cd "$DIR" |
for FILE in *; do |
# Corrige le cas où le répertoire est vide |
if [ "foo$FILE" = "foo*" ]; then continue; fi |
# Corrige le cas où les liens symboliques voient leur schéma de compression |
# changé (de non compressé à compressé, ou de bz2 à gz, ou de gz à bz2) |
# Corrige aussi le cas où plusieurs versions de la page sont présentes, |
# compressées ou non. |
if [ ! -L "$FILE" -a ! -e "$FILE" ]; then continue; fi |
# Ne compresse pas les fichiers whatis |
if [ "$FILE" = "whatis" ]; then continue; fi |
if [ -d "$FILE" ]; then |
cd "${MEM_DIR}" # Retourne en arrière où nous avons lancé "$0", au cas où "$0"=="./compressdoc" ... |
# Nous devenons récursif pour ce répertoire |
echo "-> Entering ${DIR}/${FILE}..." > $DEST_FD0 |
# Je ne dois pas passé --conf, car je spécifie le répertoire de travail |
# Mais je dois sortir en cas d'erreur |
"$0" ${COMP_METHOD} ${COMP_LVL} ${LN_OPT} ${VERBOSE_OPT} ${FORCE_OPT} "${DIR}/${FILE}" || exit 1 |
echo "<- Sortie de ${DIR}/${FILE}." > $DEST_FD1 |
cd "$DIR" # Nécessaire pour la prochaine itération de la boucle |
else # !dir |
if ! check_unique "$DIR" "$FILE"; then continue; fi |
# Vérifie si le fichier est déjà compressé avec la méthode spécifiée |
BASE_FILE=`basename "$FILE" .gz` |
BASE_FILE=`basename "$FILE" .bz2` |
if [ "${FILE}" = "${BASE_FILE}${COMP_SUF}" -a "foo${FORCE_OPT}" = "foo" ]; then continue; fi |
# Si nous avons un lien symbolique |
if [ -h "$FILE" ]; then |
case "$FILE" in |
*.bz2) |
EXT=bz2 ;; |
*.gz) |
EXT=gz ;; |
*) |
EXT=none ;; |
esac |
if [ ! "$EXT" = "none" ]; then |
LINK=`ls -l "$FILE" | cut -d ">" -f2 | tr -d " " | sed s/\.$EXT$//` |
NEWNAME=`echo "$FILE" | sed s/\.$EXT$//` |
mv "$FILE" "$NEWNAME" |
FILE="$NEWNAME" |
else |
LINK=`ls -l "$FILE" | cut -d ">" -f2 | tr -d " "` |
fi |
if [ "$LN_OPT" = "-H" ]; then |
# Modifie le lien symbolique en lien physique |
rm -f "$FILE" && ln "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" |
chmod --reference "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" |
else |
# Modifie le lien physique en lien symbolique |
rm -f "$FILE" && ln -s "${LINK}$COMP_SUF" "${FILE}$COMP_SUF" |
fi |
echo "Modification du lien $FILE" > $DEST_FD1 |
# Sinon, nous avons un fichier standard |
elif [ -f "$FILE" ]; then |
# Prenons en considération les liens physiques: construire la liste des |
# liens physiques allant sur le fichier que nous sommes en train de |
# {dé,}compresser. |
# NB. Ceci n'est pas optimum car le fichier sera éventuellement |
# compressé autant de fois qu'il a de liens compressés. Mais, pour |
# l'instant, c'est le moyen le plus sûr. |
inode=`ls -li "$FILE" | awk '{print $1}'` |
HLINKS=`find . \! -name "$FILE" -inum $inode` |
if [ -n "$HLINKS" ]; then |
# Nous avons de liens physiques! A supprimer maintenant. |
for i in $HLINKS; do rm -f "$i"; done |
fi |
# Maintenant, occupons-nous du fichier qui n'a pas de liens physiques |
# Nous décompressons avant de re-compresser avec le niveau de |
# compression sélectionné précédemment... |
case "$FILE" in |
*.bz2) |
bunzip2 $FILE |
FILE=`basename "$FILE" .bz2` |
;; |
*.gz) |
gunzip $FILE |
FILE=`basename "$FILE" .gz` |
;; |
esac |
# Compresse le fichier avec le taux de compression indiqué si nécessaire |
case $COMP_SUF in |
*bz2) |
bzip2 ${COMP_LVL} "$FILE" && chmod 644 "${FILE}${COMP_SUF}" |
echo "$FILE compressé " > $DEST_FD1 |
;; |
*gz) |
gzip ${COMP_LVL} "$FILE" && chmod 644 "${FILE}${COMP_SUF}" |
echo "$FILE compressé " > $DEST_FD1 |
;; |
*) |
echo "$FILE non compressé " > $DEST_FD1 |
;; |
esac |
# Si le fichier a des liens physiques, nous devons les recréer (soit en |
# physique soit en symbolique) |
if [ -n "$HLINKS" ]; then |
for i in $HLINKS; do |
NEWFILE=`echo "$i" | sed s/\.gz$// | sed s/\.bz2$//` |
if [ "$LN_OPT" = "-S" ]; then |
# Modifie ce lien symbolique en lien physique |
ln -s "${FILE}$COMP_SUF" "${NEWFILE}$COMP_SUF" |
else |
# Modifie ce lien physique en lien symbolique |
ln "${FILE}$COMP_SUF" "${NEWFILE}$COMP_SUF" |
fi |
chmod 644 "${NEWFILE}$COMP_SUF" # Really work only for hard-links. Harmless for soft-links |
done |
fi |
else |
# Il reste un problème où nous n'avons ni un lien symbolique ni un lien |
# physique |
# Evidemment, nous ne devrions jamais arriver là... :-( |
echo "Whaooo... \"${DIR}/${FILE}\" n'est ni un lien symbolique ni un |
lien physique. Merci de vérifier:" |
ls -l "${DIR}/${FILE}" |
exit 1 |
fi |
fi |
done # for FILE |
done # for DIR |
<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 : 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 > /etc/inputrc << "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 && |
mke2fs -m 0 -N 2000 /tmp/rfloppy && |
mount -o loop /tmp/rfloppy /mnt/loop1 && |
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 :</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 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" > /mnt/loop1/etc/passwd |
cat > /mnt/loop1/etc/group << "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 \ |
/dev/null /dev/console \ |
/dev/fb[0-7] /dev/fd /dev/fd0 /dev/fd0h1440 /dev/full \ |
/dev/hda* /dev/hdb* /dev/hdc* /dev/hdd* /dev/initctl /dev/kmem \ |
/dev/loop[0-3] /dev/lp0 /dev/mem /dev/port \ |
/dev/psaux /dev/ram \ |
/dev/ram0 /dev/ram1 /dev/ram2 /dev/ram3 /dev/random /dev/rtc \ |
/dev/shm /dev/stderr /dev/stdin /dev/stdout /dev/tty \ |
/dev/tty[0-9] /dev/ttyS0 /dev/ttyS1 /dev/urandom /dev/zero \ |
/mnt/loop1/dev</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 >/mnt/loop1/etc/init.d/rcS << EOD</command> |
#!/bin/sh |
mount -t proc proc /proc |
swapon -a |
echo "root:x:0:0:root:/root:/bin/bash" > /etc/passwd |
<command>cat > /etc/group <<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 && |
make PREFIX=/mnt/loop1 install && |
cp -ax /var/utmp /mnt/loop1/var && |
mkdir /mnt/loop1/var/log</command></userinput></screen> |
> /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 && |
make && |
make PREFIX=/mnt/loop1 install && |
cp /lib/libc.so.6 /lib/ld-linux.so.2 /lib/libdl.so.2 /tmp && |
strip --strip-deb /tmp/ld-linux.so.2 /tmp/libc.so.6 /tmp/libdl.so.2 && |
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 &&</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 && |
cd build && |
../configure --prefix=/mnt/loop1/usr --with-root-prefix="" \ |
--disable-swapfs --disable-debugfs \ |
--enable-dynamic-e2fsck --disable-nls --disable-evms \ |
--disable-rpath && |
make LDFLAGS="$LDFLAGS" && |
strip -p --strip-unneeded --remove-section=.comment \ |
-o /mnt/loop1/sbin/mke2fs misc/mke2fs && |
strip -p --strip-unneeded --remove-section=.comment \ |
-o /mnt/loop1/sbin/e2fsck e2fsck/e2fsck && |
chmod 555 /mnt/loop1/sbin/{mke2f,e2fsck} |
</command></userinput></screen> |
<screen><userinput><command>umount /mnt/loop1 && 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 \ |
-o /mnt/loop1/lib/libc.so.6 /lib/libc-2.3.2.so && |
strip -p --strip-unneeded --remove-section=.comment \ |
-o /mnt/loop1/lib/ld-linux.so.2 /lib/ld-2.3.2.so && |
strip -p --strip-unneeded --remove-section=.comment \ |
-o /mnt/loop1/lib/libdl.so.2 /lib/libdl-2.3.2.so && |
chmod 555 /mnt/loop1/lib/{libc.so.6,ld-linux.so.2,libdl.so.2}</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 && |
losetup -d /dev/loop1 && # Oubliez l'option -o loop de mount a été utilisé |
gzip -9 < /tmp/rfloppy > /tmp/rootfs.gz |
ls -l /tmp/rootfs.gz</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 && |
/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 && |
/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 && |
<screen><userinput><command>./configure --prefix=/usr --libexecdir=/usr/lib && |
make && |
make install && |
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 & 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 |
-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 && |
autoconf && |
LDFLAGS="-lpam -lpam_misc" ./configure --prefix=/usr --libdir=/usr/lib \ |
<screen><userinput><command>patch -Np1 -i ../shadow-4.0.3-pam-2.patch && |
./configure --prefix=/usr --libdir=/usr/lib \ |
--enable-shared --with-libpam && |
make && |
make install && |
21,7 → 17,7 |
mv /usr/lib/lib{misc,shadow}.so.0* /lib && |
ln -sf ../../lib/libshadow.so.0 /usr/lib/libshadow.so && |
ln -sf ../../lib/libmisc.so.0 /usr/lib/libmisc.so && |
cp debian/securetty /etc/securetty</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 > /etc/pam.d/login << "EOF"</command> |
36,7 → 36,7 |
cat > /etc/pam.d/passwd << "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 > /etc/pam.d/other << "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 && |
export PATH=/opt/gcc-2.95.3/bin:$PATH && |
ln -s make /usr/bin/gmake && |
<screen><userinput><command>patch -Np1 -i ../tripwire-&tripwire-version;-gcc3-build-fixes.patch && |
cd src && |
gmake release && |
make release && |
cd .. && |
cp install/install.{sh,cfg} . && |
patch -Np0 -i ../tripwire-cfg.patch && |
./install.sh && |
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 && |
cp /etc/tripwire/tw.cfg /usr/sbin && |
cp policy/*.txt /usr/share/doc/tripwire</command></userinput></screen> |
<para>Supprimez les modifications faites ci-dessus: |
<screen><userinput><command>rm /usr/bin/gmake && |
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 && |
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 > /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 && |
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 && |
./configure --enable-static-libpam --with-mailspool=/var/mail \ |
--enable-read-both-confs --sysconfdir=/etc && |
make && |
make install && |
11,6 → 12,6 |
mv /lib/libpam.a /lib/libpam_misc.a /lib/libpamc.a /usr/lib && |
ln -sf ../../lib/libpam.so.&Linux_PAM-version; /usr/lib/libpam.so && |
ln -sf ../../lib/libpam_misc.so.&Linux_PAM-version; /usr/lib/libpam_misc.so && |
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 && |
make && |
make install</command></userinput></screen> |
make install && |
mkdir -p /usr/share/doc/nano/examples && |
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"' >> src/feature.h && |
echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h && |
./configure --prefix=/usr \ |
--with-features=huge && |
make && |
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 && |
/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 && |
/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 && |
/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 && |
make && |
install -m 755 sh /bin/ash && |
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> |