Configuration HOWTO (en français) Guido Gonzato (traduit en français par Basile Starynkévitch et Arnaud Gomes-do-Vale) v1.2.2, 10 avril 1998 traduction $Révision: 1.2 $ du 18 décembre 1998 _________________________________________________________________ _Ce HOWTO vise à rendre plus faciles et plus rapides les réglages fins de votre système Linux nouvellement installé. Vous trouverez ici un jeu de configurations pour les applications les plus courantes, de façon à pouvoir bien travailler sur un système agréable à utiliser._ _________________________________________________________________ 1. Introduction 1.1 Pourquoi ce HOWTO J'ai installé Linux sur de nombreux PC, et j'ai noté que les distributions actuelles sont formidables, mais, hélas, manquent souvent de configurations même les plus simples. La plupart des programmes fonctionnent dès le départ, mais pas tous. De plus, j'ai remarqué que les mêmes questions reviennent sans cesse sur comp.os.linux.setup. Pour essayer de remédier à cette situation, et pour avoir un aide-mémoire pour les nouvelles installations, j'ai écrit une liste des choses à faire, qui est ensuite devenue ce HOWTO. Vous y trouverez donc un certain nombre d'exemples de configurations pour les applications, les programmes et les services les plus courants, qui devraient vous économiser pas mal de temps et de travail. Quelques uns des exemples décrits dans ce HOWTO dépendent dans une certaine mesure de la distribution utilisée. Je n'ai accès qu'à des machines tournant sous Red Hat et Caldera OpenLinux, donc ne prenez pas mes conseils comme parole d'évangile si vous avez une Slackware, une Debian ou toute autre distribution. Dans tous les cas, lire la documentation et les HOWTO est toujours payant, donc il est conseillé de le faire de toute façon. 1.2 Ce que nous allons configurer Il peut y avoir beaucoup de configurations matérielles pour un PC, mais d'après moi voici la plus fréquente: un PC avec un gros disque dur, divisé en trois partitions (une pour DOS/Windows, une pour Linux, une pour la pagination [swap]), une carte son, un modem, un lecteur de CD-ROM, une imprimante, une souris. Un lecteur Zip sur port parallèle est également de plus en plus courant. C'est le matériel que je suppose que vous avez à configurer, mais il est facile de l'adapter à d'autres configurations. Il est sous-entendu que vous êtes super-utilisateur root lorsque vous éditez, configurez, bidouillez. Et maintenant, les gars, au boulot! 2. Configuration générale du système 2.1 Clavier D'abord, comment configurer le clavier. Si vous avez raté cette étape à l'installation ou si vous avez changé de clavier, vous devez : * Choisir une table de clavier adéquate dans /usr/lib/kbd/keytables/; par exemple, fr-latin1.map y désigne le clavier français Azerty. * Editer le fichier /etc/sysconfig/keyboard pour qu'il contienne: KEYTABLE="/usr/lib/kbd/keytables/fr-latin1.map" * Pour configurer le taux de répétition et le délai du clavier, ajouter cette ligne dans /etc/rc.d/rc.sysinit ou, si vous êtes sous Caldera, /etc/rc.d/rc.boot: /sbin/kbdrate -s -r 16 -d 500 # ce que vous voulez Au prochain redémarrage, votre clavier fonctionnera convenablement. Pour recharger la configuration du clavier sans avoir à réinitialiser la machine, placez-vous dans /etc/rc.d/init.d et tapez la commande ./keytable start. 2.2 À propos du noyau À mon avis, la première chose à faire ensuite est la fabrication d'un noyau bien adapté à votre système. C'est très simple à faire, mais, quoi qu'il en soit consultez le fichier README dans /usr/src/linux/ ou le Kernel-HOWTO. Quelques conseils : * déterminez précisément vos besoins. C'est plus productif de choisir un noyau approprié, d'y appliquer les rustines (patches) et de le recompiler une fois pour toutes, plutôt que de reconfigurer et recompiler tous les mois; ceci est particulièrement vrai si votre machine Linux est un serveur. N'oubliez pas d'inclure le support de tout matériel que vous envisagez d'ajouter plus tard (SCSI, Zip, cartes réseau, etc); * si votre PC est équipé d'un processeur Cyrix, appliquez les rustines appropriées pour en améliorer les performances. Voir http://www.linuxhq.com/patch/20-p0591.html ; * les utilisateurs de portables voudront améliorer la lisibilité de leur écran LCD en appliquant la rustine noblink. La dernière version s'appelle noblink-X.X.tar.gz et est disponible sur ftp://sunsite.unc.edu/pub/Linux/kernel/patches/console. Installez le paquetage, puis ajoutez la ligne suivante à votre /etc/profile: /usr/local/bin/cursor bgreen # ou une autre couleur * sur un portable, si vous pensez utiliser un modem/fax PCMIA, ne compilez pas le pilote série en module, mais directement dans le noyau, sinon votre modem PCMIA ne fonctionnera pas; * Rappelez-vous que Linux ne verra votre carte son que si vous la configurez correctement. Dans la plupart des cas, c'est facile, mais pensez bien à activer toutes les options nécessaires (n'oubliez pas /dev/dsp et /dev/audio); * Si vous voyez ces ennuyeux messages de modprobe qui indiquent que certains modules n'ont pas pu être trouvés, ça veut dire que votre /etc/conf.modules a besoin d'un rafistolage. Si vous n'utilisez pas les modules Appletalk et IPX, ajoutez ces lignes: alias net-pf-4 off alias net-pf-5 off * Pour gagner du temps la prochaine fois que vous recompilerez le noyau, une bonne idée est de sauvegarder votre configuration dans un fichier que vous garderez dans un endroit sûr. 2.3 Blocage de sendmail Sur certains systèmes, sendmail bloque la machine au démarrage. Vérifiez que votre fichier /etc/hosts contient une ligne 127.0.0.1 localhost 2.4 Optimisation des disques durs Vous pouvez énormément améliorer les performances de votre disque dur en utilisant _prudemment_ hdparm(8). S'il n'est pas fourni avec votre distribution de Linux, vous pouvez le trouver sur ftp://sunsite.unc.edu/pub/Linux/system/hardware; cherchez un fichier appelé hdparm-X.Y.tar.gz. 2.5 Lecteur Zip sur port parallèle Pour utiliser la version sur port parallèle du lecteur Zip, vous pouvez utiliser le pilote par défaut qui se trouve dans les noyaux 2.x.x récents. Pendant la configuration du noyau, n'oubliez pas de valider le support du SCSI et des disques SCSI (dans le noyau ou en tant que modules). Attention, il peut y avoir des conflits entre l'imprimante et le lecteur Zip s'ils se trouvent sur le même port parallèle. Les disquettes Zip sont vendues pré-formatées sur la partition /dev/sda4. Pour faire fonctionner le Zip, il suffit de taper les commandes suivantes: ~# chmod 666 /dev/sda4 # tout le monde peut utiliser le lecteur Zip ~# insmod ppa Le Zip peut maintenant être monté normalement (le mieux est de mettre la deuxième ligne dans /etc/rc.d/rc.sysinit). Vous pouvez aussi y accéder avec les mtools en ajoutant la ligne suivante à votre /etc/mtools.conf: drive z: file="/dev/sda4" exclusive Cependant, il existe un meilleur pilote ppa: jetez un coup d'oeil à http://www.torque.net/~campbell 2.6 Pilotes de périphériques Il peut manquer des périphériques en /dev/ (ou des liens vers les véritables périphériques). Vérifiez à quoi correspondent vos souris, modems, et lecteur de CDROM, puis procédez comme suit : ~# cd /dev /dev# ln -s /dev/cua0 mouse /dev# ln -s /dev/cua1 modem /dev# ln -s /dev/hdb cdrom et si vous le désirez, faites un chmod 666 sur ces périphériques (les vrais périphériques, pas les liens!) pour les rendre accessibles à tous. Truc: sur certains portables, la souris est /dev/psaux; tenez en compte en configurant X11. De plus, vous aurez envie de rendre le lecteur de disquettes accessible à tous par la commande chmod 666 /dev/fd*. Ceci peut entrainer des problèmes de sécurité, mais j'en ignore les détails. Tout commentaire à ce propos est bienvenu. 2.7 Messages de démarrage Si vous souhaitez personnaliser ces messages, vérifiez si votre script /etc/rc.d/rc.local écrase les fichiers /etc/issue et /etc/motd; dans ce cas, éditez-le convenablement. 2.8 Nom de machine La commande hostname nouveau_nom ne suffit pas. Pour éviter le blocage de sendmail, respectez les étapes suivantes: * éditez /etc/sysconfig/network et changez-y le nom de la machine (par exemple nouveau_nom.localdomain). * modifiez convenablement /etc/HOSTNAME * rajoutez le nouveau nom dans la ligne suivante de /etc/hosts: 127.0.0.1 localhost nouveau_nom.localdomain 2.9 La souris Le serveur de souris gpm est utile pour le copier/coller en mode console, et pour utiliser la souris dans certaines applications. Vérifiez que vous avez un fichier /etc/sysconfig/mouse qui contient : MOUSETYPE="Microsoft" XEMU3=yes De plus, vous devez avoir un fichier /etc/rc.d/init.d/gpm. Bien sûr, il faut vous assurer que cette configuration correspond bien à votre souris. Attention, sur certains portables MOUSETYPE vaut PS/2. Sous Caldera, tout ce que vous avez à faire est d'ajouter la ligne suivante à /etc/rc.d/rc.boot: /usr/bin/gpm 2.10 Répertoires de montage Il est pratique d'avoir des points de montage pour la disquette et d'autres périphériques. Par exemple, vous pouvez procéder comme suit : ~# cd /mnt /mnt# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip Ceci crée des points de montage pour une disquette formatée DOS, une disquette formatée Ext2, un CDROM, la partition DOS, et le lecteur Zip du port parallèle. Puis éditez le fichier /etc/fstab et ajoutez y les entrées suivantes : /dev/fd0 /mnt/a: msdos user,noauto 0 1 /dev/fd0 /mnt/floppy ext2 user,noauto 0 1 /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 1 /dev/sda4 /mnt/zip vfat user,noauto 0 1 /dev/hda1 /mnt/win vfat user,noauto 0 1 Bien évidemment, vous devez mettre le bon périphérique dans le premier champ. Pour accéder aux partitions fat32, vous trouverez une rustine pour le noyau et des informations a http://bmrc.berkeley.edu/people/chaffee/fat32.html. NdT: La rustine n'est plus nécessaire depuis le noyau 2.0.34. 2.11 lilo(8) et LoadLin Beaucoup d'utilisateurs veulent que leur PC puisse faire tourner à la fois Linux et DOS/Windows, et veulent choisir au démarrage quel système utiliser. Supposons que /dev/hda1 contienne DOS/Windows, tandis que /dev/hda2 contienne Linux. Procédez alors comme suit : ~# fdisk Using /dev/hda as default device! Command (m for help):a Partition number (1-4): 2 Command (m for help):w ~# Ceci rend amorçable (bootable) la partition Linux. Cette étape devrait être effectuée par activate quand on utilise le QuickInst de LILO, mais ne marche pas avec ma RedHat. Puis entrez le fichier /etc/lilo.conf suivant : boot = /dev/hda2 compact delay = 50 # message = /boot/bootmesg.txt # écrivez le votre root = current image = /boot/vmlinuz # la première entrée lance Linux par défaut label = linux other = /dev/hda1 table = /dev/hda label = dos Maintenant lancez /sbin/lilo et c'est tout! LILO étant une _partie critique_ de votre installation, je vous invite vivement à en consulter la documentation. Pour démarrer Linux depuis DOS sans un arrêt explicite, mettez LOADLIN.EXE dans un répertoire (de la partition DOS) inclus dans le chemin (path) du DOS, puis copiez votre noyau en C:\DOS\VMLINUZ par exemple. Le fichier de commandes LINUX.BAT suivant démarrera Linux : rem linux.bat smartdrv /C loadlin c:\dos\vmlinuz root=/dev/hda2 r Si vous utilisez Windows 95, modifiez les propriétés de ce fichier pour qu'il s'exécute en mode MS-DOS. Un conseil de prudence Faire une copie de votre MBR avant d'installer Linux peut vous sauver la mise. Utilisez restorrb (inclus dans le paquetage FIPS) avant l'installation, ou utilisez une disquette de secours Linux et lancez cette commande: rescue:~# dd if=/dev/hda of=MBR bs=512 count=1 puis faites au moins deux copies du fichier MBR sur des disquettes. En cas de désastre, vous pourrez réinstaller votre ancien MBR avec la commande: rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1 en supposant que la disquette contenant le fichier MBR est montée sous /mnt. Vous pouvez également utiliser la commande FDISK /MBR depuis une disquette de secours DOS. 2.12 Configuration d'imprimante Les distributions RedHat et Caldera contiennent un bon outil de configuration, printtool; si vous n'utilisez pas ces distributions, voici la configuration manuelle. On suppose que vous avez une imprimante non-PostScript que vous utilisez pour imprimer du texte brut (par exemple du source en C) et des fichiers PostScript avec _GhostScript_ qui est supposé être déjà installé. Installer votre imprimante demande quelques étapes : * Vérifiez sur quel port parallèle elle se trouve; essayez ~# echo "hello, world" > /dev/lp0 ~# echo "hello, world" > /dev/lp1 et notez laquelle de ces 2 commandes marche. * Créer deux répertoires-tampons ~# cd /var/spool/lpd /var/spool/lpd/# mkdir raw ; mkdir postscript * Si votre imprimante imprime en escalier (comme la plupart des jets d'encre) vous avez besoin d'un filtre. Essayez d'imprimer deux lignes avec : ~# echo "premiere ligne" > /dev/lp1 ; echo "deuxieme ligne" > /dev/lp1 Si la sortie est de la forme premiere ligne deuxieme ligne c'est que vous avec besoin du filtre. Créez alors un fichier /var/spool/lpd/raw/filter contenant #!/bin/sh # fichier /var/spool/lpd/raw/filter # Ce filtre d'impression supprime l'effet d'escalier awk '{print $0, "\r"}' puis rendez-le exécutable par chmod 755 /var/spool/lpd/raw/filter. * Faites un filtre pour l'émulation PostScript. Créez le fichier /var/spool/lpd/postscript/filter contenant : #!/bin/sh # fichier /var/spool/lpd/postscript/filter DEVICE=djet500 RESOLUTION=300x300 PAPERSIZE=a4 SENDEOF= nenscript -TUS -ZB -p- | if [ "$DEVICE" = "PostScript" ]; then cat - else gs -q -sDEVICE=$DEVICE \ -r$RESOLUTION \ -sPAPERSIZE=$PAPERSIZE \ -dNOPAUSE \ -dSAFER \ -sOutputFile=- - fi if [ "$SENDEOF" != "" ]; then printf "\004" fi (dans cet exemple on suppose une imprimante HP DeskJet. Adaptez-le à la vôtre). * Enfin, ajoutez les entrées suivantes dans /etc/printcap : # entrées dans /etc/printcap lp|ps|PS|PostScript|djps:\ :sd=/var/spool/lpd/postscript:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/postscript/filter:\ :sh: raw:\ :sd=/var/spool/lpd/raw:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/raw/filter:\ :sh: Pour des configurations d'imprimante plus complexes ou plus exotiques, le Printing-HOWTO vous attend. Utilisateurs de RedHat: sachez que le GSDEVICE choisi par printtool fonctionne, mais n'est pas forcément le meilleur pour votre imprimante. Vous pouvez envisager de bricoler le fichier postscript.cfg; j'y ai changé GSDEVICE de cdj500en djet500 et mes impressions sont maintenant beaucoup plus rapides. 3. Configuration des logiciels Voici la liste des fichiers de configuration que nous allons modifier: /etc/profile /etc/bashrc .bashrc .bash_profile .inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc. .abbrevs.sl .joerc .emacs. N'ajoutez pas d'utilisateurs avant d'avoir terminé la configuration. Les fichiers dont le nom commence par un point iront dans /etc/skel. 3.1 bash(1) Pour affiner le comportement de bash, voici les fichiers à éditer : * /etc/bashrc contient les alias et fonctions globales au système; * /etc/profile positionne globalement les variables d'environnement et lance les programmes de démarrage communs; * $HOME/.bashrc contient les alias et fonctions propres à l'utilisateur; * $HOME/.bash_profile positionne les variables d'environnement de l'utilisateur et lance ses programmes de démarrage propres; * $HOME/.inputrc contient les liaisons du clavier et autres bricoles. Voici des exemples de ces fichiers. D'abord le plus important : /etc/profile qui configure beaucoup de propriétés de votre système, comme illustré ci-dessous : ______________________________________________________________ # /etc/profile # Environnement global au système et programmes de démarrage # Les fonctions et alias vont dans /etc/bashrc # Ce fichier configure globalement # # o le chemin d'exécution (path) # o les invites (prompts) # o quelques variables d'environnement # o ls en couleurs # o comportement de less # # Les utilisateurs peuvent écraser ces configurations et en ajouter # d'autres dans leur $HOME/.bash_profile # mettre un chemin d'exécution décent echo $PATH | grep X11R6 > /dev/null if [ $? = 1 ] ; then # ajouter des entrées au chemin PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." fi # indiquer à l'utilisateur les shells de login. En login, l'invite # (prompt) est en bleu, autrement en magenta. L'invite de root est rouge USER=`whoami` if [ $LOGNAME = $USER ] ; then COLOUR=44 else COLOUR=45 fi if [ $USER = 'root' ] ; then COLOUR=41 fi # mettez un vrai caractère échappement (Escape) au lieu de ^[ # Pour cela: sous emacs: ^Q ESC sous vi: ^V ESC sous joe: ` 0 2 7 # sous jed: `ESC # Enlevez ";1" si vous n'aimez pas l'attribut "gras". ESC=^[ PS1='$ESC[$COLOUR;37;1m$USER:$ESC[37;40;1m\w\$ ' PS2="Continue> " # pas de core dump svp ulimit -c 0 # positionner le umask (permission par défaut des nouveaux fichiers) if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi # quelques variables USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" EDITOR=jed HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE # ls en couleurs eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -s -T 0 --color=tty' # configuration de less LESS='-M-Q' LESSEDIT="%E ?lt+%lt. %f" LESSOPEN="| lesspipe.sh %s" VISUAL=jed LESSCHARSET=latin1 export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET # configurer globalement d autres programmes for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i fi done ______________________________________________________________ Voici le fichier /etc/bashrc : ______________________________________________________________ # /etc/bashrc # Fonctions et alias globaux au système # les variables d'environnement vont en /etc/profile alias which="type -path" alias d="ls" alias dir="d" ______________________________________________________________ Et voici un exemple de .bashrc : ______________________________________________________________ # Sourcer les definitions globales if [ -f /etc/bashrc ]; then . /etc/bashrc fi # Ceci est nécessaire pour notifier les utilisateurs qu'ils se trouvent dans un shell sans login if [ "$GET_PS1" = "" ] ; then COLOUR=45 # mettre un vrai caractère échappement (Escape) au lieu de ^[ ESC=^[ PS1='$ESC[$COLOUR;37m`whoami`:$ESC[37;40m\w\$ ' export PS1 fi # alias alias cp='cp -i' alias l=less alias lyx='lyx -width 900 -height 700' alias mv='mv -i' alias rm='rm -i' alias x=startx # Quelques fonctions utiles inst() # Installer une archive .tar.gz dans le repertoire courant { gzip -dc $1 | tar xvf - } cz() # Lister le contenu d'une archive .zip { unzip -l $* } ctgz() # Lister le contenu d'une archive .tar.gz { for file in $* ; do gzip -dc ${file} | tar tf - done } tgz() # Créer une archive .tgz à la zip. { name=$1 ; tar -cvf $1 ; shift tar -rf ${name} $* gzip -S .tgz ${name} } ______________________________________________________________ Voici un exemple de .bash_profile : ______________________________________________________________ # fichier $HOME/.bash_profile # Environment et programmes de démarrage propres à l'utilisateur # Ce fichier contient des configurations définies par l'utilisateur # écrasant celles dans /etc/profile # configurer les alias et fonctions propres à l'utilisateur if [ -f ~/.bashrc ]; then GET_PS1="NO" # Ne pas changer la couleur de l'invite . ~/.bashrc fi # quelques répertoires "par défaut" export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology" # pour réparer l'espace arrière sous rxvt 2.45 if [ "$COLORTERM" != "" ] ; then stty erase ^? ESC=^[ # put a real escape character instead of ^[ echo -n "$ESC[36l" fi ______________________________________________________________ Voici un fichier ~/.inputrc : ______________________________________________________________ # fichier $HOME/.inputrc # liaison des touches du clavier "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line # les touches (F1 .. F5) sont "\e[[A" ... "\e[[E" "\e[[A": "info \C-m" set bell-style visible # sans bip sonore set meta-flag On # permettre les caractères à 8 bits (accentués) set convert-meta Off # .. ne pas les convertir set output-meta On # .. les afficher correctement set horizontal-scroll-mode On # parcourir les longues lignes de commandes set show-all-if-ambiguous On # après avoir pressé TAB ______________________________________________________________ Pour que les touches arrière (backspace) et suppr (delete) fonctionnent correctement dans xterm et d'autres applications X11, il vous faut également : * insérer ce qui suit dans votre .xinitrc : # dans $HOME/.xinitrc définir le clavier X11 usermodmap=$HOME/.Xmodmap xmodmap $usermodmap * mettre ce qui suit dans votre .Xmodmap : ! dans $HOME/.Xmodmap keycode 22 = BackSpace keycode 107 = Delete ce qui répare votre console. Pour corriger xterm : * insérer ce qui suit dans votre ~/.Xdefaults : xterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3~")\n\ Home: string(0x1b) string("[1~")\n\ End: string(0x1b) string("[4~")\n\ CtrlPrior: string(0x1b) string("[40~")\n\ CtrlNext: string(0x1b) string("[41~") nxterm*VT100.Translations: #override BackSpace: string(0x7F)\n\ Delete: string(0x1b) string("[3~")\n\ Home: string(0x1b) string("[1~")\n\ End: string(0x1b) string("[4~")\n\ CtrlPrior: string(0x1b) string("[40~")\n\ CtrlNext: string(0x1b) string("[41~") Pour rxvt, c'est un peu plus compliqué, vu que certaines options de compilation influent sur son comportement. Voyez le fichier .bash_profile ci-dessus. Voir les pages du manuel (commande man) de bash(1) et readline(3) pour plus de détails. N'espérez pas voir toutes les applications fonctionner correctement. Si vous lancez joe sous xterm par exemple, certaines touches ne fonctionnent pas; c'est vrai aussi pour les versions de rxvt antérieures à la 2.21. 3.2 ls(1) La commande ls peut afficher les répertoires avec des couleurs pour différencier les types de fichiers. Pour configurer cette option, ajoutez les lignes suivantes dans /etc/profile: eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -T 0 --color=tty' (Si vous n'avez pas de fichier /etc/DIR_COLORS, enlevez la référence à ce fichier de la première ligne). Ceci positionne la variable d'environnement LS_COLORS selon les listes de couleurs définies dans /etc/DIR_COLORS. _Note:_ ne me demandez pas pourquoi, mais ça ne marche pas dans certaines anciennes versions de rxvt (antérieures à 2.21); utilisez alors xterm ou un programme similaire. Il semble que rxvt ait un bogue l'empêchant dans certains cas d'hériter correctement des variables d'environnement. Le ls de Caldera n'a pas de couleurs, mail il existe un équivalent: color-ls. Ajoutez ceci à /etc/bashrc: alias ls="color-ls $LS_OPTIONS" 3.3 less(1) Avec cet excellent pagineur, vous pouvez visualiser non seulement des fichiers de texte ordinaires, mais aussi des fichiers comprimés par gzip, des archives tar ou zip, des pages de manuel (commande man), etc. Sa configuration prend quelques étapes : * pour l'utiliser avec les touches de mouvement, ayez ce fichier ~/.lesskey en ASCII dans votre répertoire domestique: ^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6~ forw-scroll ^[[5~ back-scroll ^[[1~ goto-line ^[[4~ goto-end ^[[7~ goto-line ^[[8~ goto-end puis lancez la commande lesskey. Celle-ci crée un fichier binaire .less contenant les liaisons des touches. * Ecrivez le fichier suivant dans /usr/bin/lesspipe.sh: ______________________________________________________________ #!/bin/sh # fichier /usr/bin/lesspipe.sh # Préprocesseur pour 'less' utilisé quand la variable d'environnement suivante est définie # LESSOPEN="|lesspipe.sh %s" lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # Pour voir le contenu d'archives .tar ou .tg z *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;; *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # Pour voir les fichiers comprimés correctement (.gz) *.zip) unzip -l $1 2>/dev/null ;; # Pour voir les archives (.zip) *.arj) unarj -l $1 2>/dev/null ;; *.rpm) rpm -q -p -i -l $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; *) FILE=`file -L $1` ; # Vérification pour le cas d'un fichier binaire FILE1=`echo $FILE | cut -d ' ' -f 2` FILE2=`echo $FILE | cut -d ' ' -f 3` if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \ -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then strings $1 fi ;; esac } lesspipe $1 ______________________________________________________________ et n'oubliez pas de le rendre exécutable par chmod 755 lesspipe.sh. * ajoutez ces lignes dans /etc/profile : ______________________________________________________________ LESS="-M-Q" # invite longue, silencieuse LESSEDIT="%E ?lt+%lt. %f" # éditer ligne du haut LESSOPEN="| lesspipe.sh %s" # filtre VISUAL=jed # éditeur par défaut- mettez votre préféré LESSCHARSET=latin1 # afficher les caractères accentués export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET ______________________________________________________________ La variable LESSCHARSET dépend du fait qu'on habite en Europe Occidentale, où est utilisé le jeu de caractères ISO 8859-1. Les collègues Américains, Japonais, Russes, etc.. devraient la configurer autrement. 3.4 emacs(1) Je n'utilise pas emacs, donc je n'ai qu'un seul conseil à vous donner. Certaines distributions d'emacs ne sont pas préconfigurées pour les couleurs et la décoration syntaxique. Ajoutez ce qui suit dans votre ~/.emacs ;; dans fichier $HOME/.emacs (global-font-lock-mode t) (setq font-lock-maximum-decoration t) Ceci ne marche qu'avec X11. Je vous laisse lire attentivement toute la documentation d'emacs pour découvrir comment l'adapter à vos besoins. Cela peut prendre des mois de bidouillage! 3.5 joe(1) Certaines personnes rapportent que joe fonctionne en couleurs sous X11, mais pas sur la console. De plus, certaines touches spéciales ne fonctionnent pas. À ma connaissance, personne n'a réussi à résoudre le premier problème; certains ont suggéré de bidouiller /etc/termcap. Si vous rencontrez ce problème, voici une solution rapide (et peu élégante): ~$ export TERM=vt100 ~$ joe monfichier (éditez votre fichier) ~$ export TERM=linux 3.6 jed(1) C'est mon éditeur favori; il fait ce dont j'ai besoin, mais est plus léger et plus facile à configurer qu' emacs, et à mon humble avis émule mieux les autres éditeurs. Beaucoup d'utilisateurs de mon université veulent jed pour émuler EDT, l'éditeur de VMS. Les fichiers de configuration sont .jedrc et /usr/lib/jed/lib/*. Le premier est adapté du fichier jed.rc de ce répertoire-là. * pour que jed utilise correctement certaines touches, créez un fichier /usr/lib/jed/lib/defaults.sl dont la seule ligne est : () = evalfile("linux"); * éditez /usr/lib/jed/lib/linux.sl : décommentez la ligne contenant Info_Directory = "/usr/info" et ajoutez /bin/mail après UCB_Mailer = * il est très simple de configurer jed pour qu'il émule EDT (ou d'autres éditeurs). Vous devez juste éditer quelques lignes dans .jedrc. Si vous souhaitez utiliser la touche + du pavé numérique pour supprimer des mots entiers au lieu d'un seul caractère, ajouter ceci dans .jedrc : unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl"); après la ligne contenant () = evalfile("edt");. * Pour que xjed utilise le pavé numérique en émulation EDT il vous faut ajouter ce qui suit dans votre .Xmodmap : keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator De plus, assurez-vous que votre /etc/X11/XF86Config contient les lignes suivantes : # ServerNumLock # doit être commenté XkbDisable Ceci s'applique à XFree 3.2. À moins que vous n'utilisiez un clavier standard américain (Qwerty), notez que XkbDisable pose quelques petits problèmes. Vous les découvrirez par vous-même. * La personnalisation des couleurs pour xjed se fait en ajoutant des lignes comme suit dans .Xdefaults xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue * la possibilité d'"abréviation" permet de gagner un temps fou. Mettez ce qui suit dans un fichier $HOME/.abbrevs.sl: create_abbrev_table ("Global", ""); define_abbrev ("Global", "GG", "Guido Gonzato"); create_abbrev_table ("TeX", "\\A-Za-z0-9"); define_abbrev ("TeX", "\\beq", "\\begin{equation}"); define_abbrev ("TeX", "\\eeq", "\\end{equation}"); % et ainsi de suite... puis tapez ESC x abbrev_mode pour que jed en tienne compte. Pour que les abréviations fonctionnent par défaut, ajoutez ceci dans votre .jedrc: define text_mode_hook () { set_abbrev_mode (1); } % define fortran_hook () { set_abbrev_mode (1); use_abbrev_table ("Fortran"); } % et ainsi de suite... 3.7 efax(1) Ce paquetage est probablement le plus pratique pour envoyer et recevoir simplement des fax. Vous allez devoir adapter le script /usr/bin/fax; c'est facile, mais quelques particularités m'ont causé un gros mal de crâne: * DIALPREFIX: la simple indication de "T" ou "P" risque de ne pas fonctionner dans pas mal de pays. Mettez plutôt "ATDT" ou "ATDP": * INIT et RESET: ces chaînes de caractères contiennent les séquences d'initialisation "-i" et "-k", nécessaires à efax. Si vous voulez ajouter une commande AT, ajoutez la à la bonne chaîne en enlevant "AT" et en faisant précéder le reste de "-i" ou "-k". Par exemple, pour ajouter la commande "ATX3" à INIT, rajoutez "-iX3". 3.8 TeX et compagnie Je suppose que vous avez la distribution TeTeX. Quelques trucs ici : * pour configurer les motifs de césure pour votre langue, éditez le fichier /usr/lib/texmf/texmf/tex/generic/config/language.dat puis lancez : ~# texconfig init ; texconfig hyphen * pour installer un paquetage LaTeX, après avoir ajouté les fichiers sous /usr/lib/texmf/texmf/tex/latex/ lancez la commande texhash pour que TeTeX reconnaisse le nouveau paquetage. * pour configurer dvips, le fichier à éditer est /usr/lib/texmf/texmf/dvips/config/config.ps. Soyez conscient que les champs concernant la résolution par défaut déterminent aussi le comportement de xdvi. Si vous remarquez des créations intempestives de polices (fonts) à chaque exécution, ajoutez dans votre .Xdefaults une ligne XDvi*mfmode: Cela peut aider. 3.9 PPP Je suppose que votre noyau est compilé avec le support de PPP et TCP/IP, avec support du loopback et que votre logiciel pppd est correctement installé et setuid root. Bien sûr, votre FAI doit utiliser PPP. Il y a dorénavant deux façons de faire fonctionner PPP : a) une configuration manuelle, et b) utiliser un programme de configuration "auto-magique". Que vous choisissiez l'un ou l'autre moyen, vous aurez besoin des informations suivantes: * le numéro de téléphone de votre FAI; * son serveur de noms; * ses serveurs de news et de courrier électronique; * son nom de domaine; * votre nom d'utilisateur et votre mot de passe. La configuration manuelle est un casse-tête. Il s'agit d'éditer des fichiers et d'écrire des scripts; pas trop de travail, mais les erreurs sont faciles à faire, et les nouveaux utilisateurs sont souvent intimidés. Si vous voulez vous y lancer, le PPP HOWTO est là pour vous. Sinon, il existe des logiciels qui vous demandent les informations ci-dessus et qui font tout le travail eux-mêmes. Le mieux est certainement de trouver un ami déjà connecté et de télécharger les outils suivants: * EzPPP, un utilitaire sous X11, dont le site Internet se trouve à l'adresse http://www.serv.net/~cameron/ezppp/index.html. Très simple à utiliser, se passe de commentaires; * pour les connexions en mode console, essayez les outils disponibles à ftp://sunsite.unc.edu/pub/linux/system/network/serial/ppp. Un des meilleurs est pppsetup-X.XX.tar.gz. * l'utilitaire le plus simple à configurer à l'heure actuelle est certainement wvdial. Vous lui donnez le numéro de téléphone de votre FAI, votre nom d'utilisateur et votre mot de passe, et c'est parti. Extrait du fichier README: "There is a (currently cheesy) web page for wvdial at: http://www.worldvisions.ca/wvdial" ("Il y a une page web (plutôt naze pour l'instant) à l'adresse: http://www.worldvisions.ca/wvdial). Très sympathique. 3.10 Client POP Pour aller chercher votre courrier électronique sur un serveur POP, utilisez un client POP tel que fetchpop ou fetchmail. Ce dernier est plus avancé, et c'est probablement la seule alternative si le serveur PPP de votre fournisseur a des problèmes avec la commande LAST. Pour configurer ces clients : * fetchpop: la première fois que vous le lancez, il vous demandera quelques informations. Répondez à ses questions et c'est tout. * fetchmail: adaptez cet exemple de .fetchmailrc: # fichier $HOME/.fetchmailrc poll mbox.monfai.com with protocol pop3; user jean there with password _Biz%_ar is jean here Vous devez mettre les permissions de ce fichier avec chmod 600 .fetchmailrc autrement fetchmail refusera avec raison de démarrer. Cet exemple est très rudimentaire, et suppose que sendmail tourne chez vous; les possibilités de configuration sont infinies. Reportez-vous à http://www.ccil.org/~esr/fetchmail. 3.11 Système de Fenêtrage X Une fois que vous avez réussi à faire marcher X11 (bonne carte graphique, etc.), il existe d'inombrables possibilités de configuration; cela dépend de votre gestionnaire de fenêtres (window manager). Dans tous les cas, il s'agit d'éditer un ou des fichier[s] textuel[s] de votre répertoire utilisateur. Selon le gestionnaire de fenêtres: * fvwm: copiez /etc/X11/fvwm/system.fvwmrc dans votre répertoire comme .fvwmrc; visualisez-le et commencez à expérimenter. Le fichier system.fvwmrc fourni est à mon avis un peu trop simple et ne rend pas justice à fvwm. * fvwm95-2: copiez /etc/X11/fvwm95-2/fvwm2rc95 dans votre répertoire comme .fvwm2rc95 puis éditez-le. L'exemple fourni est fort bon. * TheNextLevel: c'est un peu plus dur à configurer. Copiez les fichiers /etc/X11/TheNextLevel/.* dans votre répertoire. Parcourez-les attentivement, puis essayez de les adapter. Le premier à regarder est .fvwm2rc.defines. De plus, soyez certain d'avoir un .xinitrc correct. Par exemple: #! /bin/sh # fichier $HOME/.xinitrc # configurer le clavier correctement usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank # turn off the screen saver xset s 300 2 # screen saver start after 5 min xsetroot -solid "medium blue" & # rxvt est économe en mémoire, mais les versions # antérieures à la 2.21 souffrent de bogues affectant # les couleurs et la récupération de l'environnement. # Prenez une version plus récente ou utilisez xterm xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \ -title "xterm en Couleurs" -geometry 80x25+150+0 & fvwm95-2 3.12 Fortran D'après moi, une bonne alternative à g77 est le traducteur Fortran vers C f2c et son interface yaf77. Vous pouvez obtenir yaf77-X.Y.tgz depuis ftp://sunsite.unc.edu/pub/Linux/devel/languages/fortran et ses miroirs (NdT: notamment ftp://ftp.lip6.fr/pub/linux/sunsite/devel/languages/fortran en France). 3.13 Configurations utilisateurs C'est une bonne idée de fournir aux nouveaux utilisateurs quelques fichiers de configurations déjà prêts à leur première connexion. Pour cela, mettez dans /etc/skel/ : .bashrc, .bash_profile, .bash_logout, .inputrc, .less, .xinitrc, .fvwmrc, .fvwm2rc95, .Xmodmap, .Xdefaults, .jedrc, .abbrevs.sl, .joerc, et .emacs. Remarquez que .pinerc n'est pas complètement adaptable. Vérifiez toutefois que les champs user-domain, smtp-server et nntp-server y sont corrects. 3.14 Mise à jour Si vous faites une mise à jour complète de votre machine, pensez à sauvegarder quelques autres fichiers auparavant, par exemple /etc/X11/XF86Config et /usr/bin/fax. 4. Fin 4.1 Copyright Sauf indication contraire, les documents HOWTO Linux sont sous le copyright de leurs auteurs respectifs. Les documents HOWTO Linux peuvent être reproduits et distribués en tout ou en partie, sur tout medium physique ou électronique, tant que cette notice de copyright y figure intacte dans tout copie. La redistribution commerciale est permise et encouragée; toutefois, l'auteur souhaiterait être averti de ces distributions. Toutes les traductions et oeuvres dérivées ou compilations contenant tout document HOWTO Linux doivent être couvertes par cette clause de copyright. C'est-à-dire que vous ne pouvez pas produire une oeuvre dérivée de ces HOWTO et imposer des restrictions supplémentaires à leur distribution; pour toute exception, veuillez contacter le coordinateur Linux HOWTO à l'adresse ci-dessous. En résumé, nous souhaitons promouvoir la diffusion de cette information par tous les canaux. Néanmoins, nous souhaitons conserver le copyright sur les documents HOWTO, et voulons être prévenus de tous projets de redistributions. Si vous avez des questions, contacter Tim Bynum, le coordinateur des HOWTO Linux par courrier électronique à linux-howto@sunsite.unc.edu. 4.2 Réactions Ce document nécessite encore plus que les autres HOWTO vos souhaits, vos suggestions, critiques et contributions. Les réactions sont non seulement utiles, mais nécessaires. Si vous pensez que quelque chose manque ici, envoyez moi un courrier électronique. Si vous avez une distribution autre que RedHat ou Caldera et que vos fichiers de configuration sont différents ou situés dans d'autres répertoires, faites-le moi savoir et j'ajouterai vos astuces. Mon but est de rendre Linux aussi facilement utilisable que possible. Linux comportant un très grand nombre de logiciels, il est donc impossible d'en indiquer tous les pointeurs. Veuillez restreindre vos requêtes et suggestions aux programmes les plus raisonnables, selon votre bon sens. 4.3 Décharge Ce Config-HOWTO a été rédigé en anglais par Guido Gonzato guido@ibogfs.cineca.it puis traduit en français par Basile Starynkévitch Basile.Starynkevitch@cea.fr et Arnaud Gomes-do-Vale gomesdv@mail.dotcom.fr. Merci beaucoup aux autres auteurs de HOWTO et pages de manuel, dont j'ai chapardé sans vergogne le travail. Ce document est fourni tel quel. Je l'ai écrit aussi précisement que possible, mais vous en utilisez l'information à vos risques et périls. En aucun cas je ne peux être rendu responsable des dommages résultant de son utilisation. J'espère que vous trouverez ce travail utile. Quand j'installe un nouveau système Linux, il me sert! Profitez-en bien! Guido (l'auteur) [et Basile et Arnaud, les traducteurs].