home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog Special Edition 1: Linux
/
CD2.iso
/
docs
/
fcol-faq
< prev
next >
Wrap
Text File
|
1999-03-14
|
89KB
|
2,104 lines
FAQ fr.comp.os.linux.*
Nat (integrateur) nat@linux-france.com <mailto:nat@linux-
france.com>.
Version 19980901
Reponses aux questions frequemment posees dans le groupe Usenet
fr.comp.os.linux
11.. IInnttrroodduuccttiioonn
Document Copyright (c) 1997, 1998 " Les utilisateurs des forums
fr.comp.os.linux.* "
Seule la diffusion des versions non modifiees est autorisee.
11..11.. CCoonntteennuu
Ce document est avant tout destine a completer les moyens classiques
d'acces a l'information et aux documents : FAQ, HOWTO, livres, robots
indexeurs (Usenet et Web, par exemple l'archive (LORIA) d'articles
indexes <http://www.loria.fr/linux/arch-news.html>)
On pourra aussi lire les propositions de lignes directrices pour fcol
<http://www.linux-france.com/article/fcolm_guidelines/> et surtout les
_H_O_W_T_O _e_n _f_r_a_n_c_a_i_s _<_h_t_t_p_:_/_/_w_w_w_._l_i_n_u_x_-
_f_r_a_n_c_e_._c_o_m_/_m_i_r_o_i_r_/_w_w_w_._f_r_e_e_n_i_x_._f_r_/_l_i_n_u_x_/_H_O_W_T_O_/>_.
Tout commentaire et compte-rendu d'experience interesse l'integrateur
<mailto:nat@linux-france.com>.
De courageux volontaires <http://www.linux-
france.com/article/proselux/> proposent de l'aide a ceux qui redoutent
d'installer Linux seuls.
L'abreviation " fcol " remplace parfois ici le nom du groupe
"fr.comp.os.linux " tandis que " fcolm " remplace
"fr.comp.os.linux.moderated ".
11..11..11.. PPrree--ttrraaiitteemmeenntt
A chaque theme developpe dans la FAQ correspond, cache dans le source
SGML de ce document, un indice numerique indiquant approximativement
la frequence d'apparition de la question dans fcol.
Un logiciel specifique <http://www.linux-france.com/sgml-prepro.C>
permet de produire une version (par exemple, celle que vous lisez en
ce moment !) n'abritant que les explications relatives aux questions
au-dessous d'un niveau donne, ainsi que les seuls titres (et non les
contenus) des articles correspondants aux questions plus rares.
11..11..22.. FFoorrmmaattss
La version HTML complete la plus recente de ce texte, ainsi que le
PostScript <ftp://ftp.linux-france.com/pub/article/fcol-faq/fcol-
faq.ps.gz> et le source SGML (dtd linuxdoc) <ftp://ftp.linux-
france.com/pub/src-dox/fcol-faq.sgml> correspondants, se trouvent sur
leur site de reference <http://www.linux-france.com>.
11..22.. RReemmaarrqquueess
Ce document ne contient pas que des questions frequemment posees sur
fcol. J'ai aussi essaye de traiter de themes qui ne sont
malheureusement rares qu'en apparence.
Les titres des sections contiennent des termes discriminants
permettant au lecteur d'acceder directement au paragraphe pertinent.
Merci a R. Card (corrections, amelioration du SGML et gestion de la
publication sur l'Usenet) ainsi qu'a F. Petillon, X. Cazin, A.
Levavasseur, E. Jacoboni, JC Delepine et a tous les auteurs de
reponses. Merci aussi aux moderateurs du forums
fr.comp.os.linux.moderated.
22.. GGeessttiioonn dduu mmaatteerriieell
Commencer par consulter le Hardware-HOWTO
</miroir/www.freenix.fr/linux/HOWTO/Hardware-HOWTO.html>.
22..11.. PPrroocceesssseeuurrss ccoommppaattiibblleess IInntteell ((CCyyrriixx,, AAMMDD,, IInntteell))
QQuueessttiioonn
Mon processeur ne fonctionne pas correctement, que faire ?
RReeppoonnssee
Lire la section 4 du Hardware-HOWTO.
_P_. _V_a_n_n_o_n_i_, _X_. _B_e_a_u_d_o_u_i_n_, _C_. _T_u_r_b_o_u_t_, _H_. _C_a_n_o_n_, _B_. _P_o_u_l_o_t_-
_C_a_z_a_j_o_u_s_, _A_. _L_e_v_a_v_a_s_s_e_u_r :
+o _I_n_t_e_l _P_2_0_0_M_M_X Certains elements d'une serie donnee de
processeurs Intel Pentium 200MMX presente un defaut : le systeme
devient instable lorsqu'il est equipe de plus de 64 Mo de RAM.
+o _P_1_6_6_+ :
Compiler le noyau pour un processeur 486
Un patch <ftp://ftp.huwig.de/pub/linux/mama/2.0/cyrix-
support-2.gz> du noyau (qui devrait bientot etre inclus dans une
version officielle) permet :
+o de le faire reconnaitre comme un 6x86 dans le /proc/cpuinfo ;
+o de compiler un noyau " pour Pentium " ;
+o d'activer la gestion du halt pour qu'il chauffe moins quand il
ne fait rien ;
+o d'activer certaines caracteristiques specifiques a ce processeur
qui permettent de gagner quelques bogomips, ainsi que certaines
optimisations de gestion de la memoire qui fonctionnent plus ou
moins bien selon la version du processeur.
+o _6_x_8_6 :
Se procurer f6x86-1.0.tgz et ajouter /path/set6x86 0xc2 -s 0x88
dans rc.local, afin d'armer le bit 3 (les autres bits pouvant
etre differents d'une configuration a une autre). Voir aussi
set6x86 <http://www.tux.org/~balsa/linux/cyrix>.
+o _K_6 :
AAtttteennttiioonn : certains anciens K6 presentent un bogue grave : ils
ne peuvent gerer correctement plus de 32 Mo de memoire vive.
Tout semble en ce cas fonctionner mais un grave probleme
apparait de temps en temps ... signal 11 <http://www.linux-
france.com/article/sig11-fr/> ! _A_M_D change sur simple demande
les processeurs defectueux. Attention, cependant ...
<http://lwn.net/980604/a/amdcrash.html>
22..22.. SSeecctteeuurr ddee ddeemmaarrrraaggee ((bboooott sseeccttoorr,, LLIILLOO))
QQuueessttiioonn
Comment restaurer ou supprimer le secteur de demarrage de LILO ?
RReeppoonnssee
Pour restaurer le secteur de demarrage installe par LILO
(d'apres _S_. _S_t_e_p_h_a_n_t) :
1. demarrer le systeme grace a un jeu de disquettes boot/root ;
2. monter sous /mnt la partition principale Linux du disque dur
;
3. invoquer lilo -r /mnt. Il sera peut-etre necessaire
d'utiliser /sbin/lilo -r /mnt, voire /mnt/sbin/lilo -r /mnt.
Pour remplacer le secteur de demarrage installe par LILO :
+o sous Linux :
+o lilo -u
+o dd if=NOM_FICHIER of=/dev/hda bs=446 count=1, ou NOM_FICHIER
remplace le nom du fichier abritant la sauvegarde du secteur de
demarrage originel (dument preserve sur une disquette !),
souvent nomme /boot/boot.NUMERO_MAJEUR
NUMERO_MAJEUR correspond au majeur peripherique, par exemple :
+o 0300 pour /dev/hda
+o 0306 pour /dev/hda6
+o 0800 pour /dev/sda
+o sans employer Linux :
1. preparer une disquette MS-DOS systeme contenant FDISK.EXE ;
2. demarrer le systeme grace a elle ;
3. invoquer FDISK /MBR.
En cas de probleme (impossibilite d'ecrire le secteur de
demarrage) examiner le SETUP du BIOS afin d'autoriser son
ecriture.
Le mode de partitionnement ou de demarrage de Linux ne varie pas
selon le type (FAT16, FAT32, NTFS ...) des eventuelles
partitions (MS-Windows ou non) du disque.
Si LILO ne suffit pas employer GRUB <http://www.uruk.org/grub/>
ou MBoot <http://www-
eleves.iie.cnam.fr/~lejczyk/mboot/index.html>
22..33.. CChhooiixx dduu ssyysstteemmee ddeemmaarrrree ((bboooott,, LLIILLOO))
QQuueessttiioonn
(LILO) Comment changer le systeme d'exploitation lance par
defaut au demarrage ?
RReeppoonnssee
Placer dans le fichier /etc/lilo.conf une declaration
default=nomImage (nomImage remplace ici le nom de l'une des
configurations image= de ce fichier).
22..44.. DDiissqquueettttee ddee ddeemmaarrrraaggee ((bboooott,, ffllooppppyy,, CCRRCC))
QQuueessttiioonn
Le demarrage sur disquette echoue avec un message " crc error ",
ou un code d'erreur bizarre.
RReeppoonnssee
Utiliser une autre disquette, la formater au prealable et
s'assurer qu'elle n'a pas de defaut (" bad sectors ", " secteurs
defectueux ").
Codes d'erreur : les chercher dans la documentation de LILO.
22..55.. 11002244 ccyylliinnddrreess ((bboooott,, ddeemmaarrrraaggee,, LLIILLOO,, LLBBAA))
QQuueessttiioonn
Que signifie cette histoire de " limitation a 1024 cylindres ",
de necessite d'installer un noyau sur l'un des 1023 premiers
cylindres ?
RReeppoonnssee
_F_. _P_e_t_i_l_l_o_n et _T_. _B_o_u_s_c_h :
Cette limitation est due au BIOS : celui-ci ne veut pas aller
plus loin que le 1024eme cylindre. Dans le cas ou le BIOS ne
gere pas le disque en mode LBA, il faut s'arranger pour placer
les fichiers de boot sur une partition quelconque (linux ou non)
pourvu qu'elle soit situee dans les 1024 premiers cylindres. Si
le BIOS gere le disque en mode LBA, il n'y a jamais plus de 1024
cylindres et donc plus de probleme.
22..66.. bboooott SSuunn SSPPAARRCC
QQuueessttiioonn
Comment demarrer Linux installe sur une station SPARC ?
RReeppoonnssee
_E_. _B_o_n_e_t _O_r_o_z_c_o :
Aller dans la configuration materielle de la machine (Stop-a n).
Faire " printenv ", cela affiche un certain nombre de variables
qui permettent de regler le boot (boot-file, boot-device, auto-
boot). Il n'y a plus qu'a les regler avec " setenv ". Revenir
dans l'OS avec " go ".
22..77.. CCllaavviieerr
CCoonnssoollee
Charger la keytable appropriee (grace a loadkeys fr-latin1, par
exemple). Les tables se trouvent dans /usr/lib/kbd/keytables.
Placer un stty pass8 dans le fichier ~/.bash_profile.
Le fichier ~/.inputrc doit contenir :
set meta-flag on
set convert-meta off
set output-meta on
22..88.. LLiimmiittaattiioonnss dduu nnooyyaauu ((RRAAMM,, pprroocceessssuuss,, ii--nnooeeuuddss,, ffiicchhiieerrss
oouuvveerrttss))
QQuueessttiioonn
Linux ne prend pas en charge (commande free) plus de 64 Mo de
RAM. Ou bien, le nombre de fichiers, d'i-noeuds ou de processus
simultanement employes excede les limites du noyau.
RReeppoonnssee
Plus de 64 Mo RAM : utiliser le parametre de demarrage mem=xM ou
x remplace le nombre de Mo de memoire installes (lire a ce
propos la section consacree au " Parametres communiques au noyau
").
_J_. _B_e_r_t_r_a_n_d :
Certaines cartes meres (dont les Micronics) possedent une option
dans le BIOS qui s'appelle je crois 'Gestion de la memoire OS/2
/ non OS/2'. En activant la gestion de la memoire OS/2 (si on a
plus de 64 Mo), les transferts d'information ne se font plus en
16 bits, et Linux reconnait toute la memoire.
_R_. _C_a_r_d :
Dans sa version 2.0, le noyau Linux ne gere plus les
descripteurs d'i-noeuds en memoire et de fichiers ouverts sous
forme de tables statiques, mais utilise des listes dont la
taille peut varier de maniere dynamique.
La taille maximale de ces deux " tables " est definie par deux
variables du noyau dont la valeur peut etre modifiee grace a
l'appel systeme sysctl(2). Il est egalement possible d'acceder a
la valeur de ces variables via les fichiers virtuels
/proc/sys/kernel/file-max et /proc/sys/kernel/inode-max
(fichiers accessibles en lecture comme en ecriture).
Afin de modifier le nombre maximal de descripteurs d'i-noeuds en
memoire et de fichiers ouverts, il suffit donc de modifier le
contenu de ces fichiers virtuels. Par exemple, sur ftp.lip6.fr,
le fichier de commandes rc.local contient :
echo 16384 > /proc/sys/kernel/inode-max
echo 8192 > /proc/sys/kernel/file-max
Le nombre maximal de processus est defini par la constante
NR_TASKS, declaree dans le fichier d'en-tete <linux/task.h>. Sa
valeur par defaut est 512, ce qui est assez raisonnable. Toutefois,
si l'on souhaite modifier cette limite, il est necessaire de
recompiler le noyau car les processus sont geres sous forme d'une
table de taille statique.
22..99.. CCaarrttee EEtthheerrnneett CCoommppaaqq
RReeppoonnssee
Explorer le site Caldera
<ftp://ftp.www.caldera.com/pub/stuff/tlan.tgz>
22..1100.. CCaarrtteess ssoonn ((MMaaxxii SSoouunndd))
RReeppoonnssee
((je patauge et dresse donc une liste exhaustive, infos
bienvenues !)) :
Sous Red Hat invoquer " sndconfig ".
Cartes Maxi Sound :
+o compiler le noyau avec gestion de CS4232 ou CS4236
+o lancer maxinit.exe sous MS-DOS puis charger Linux grace a
LOADLIN
+o compiler le noyau avec gestion de l'AudioExcel (apres
application du patch de noyau AudioExcelDSP16-2.0.21.diff.gz),
desactiver le test de l'IRQ dans le driver et lancer le petit
programme AudioExcelDSP qui initialise l'IRQ, DMA, etc. ;
+o (MS 32) Windows Sound System. Patch pour MS 32 Maxisound32FX
<ftp://ftp.lip6.fr/pub/linux/sunsite/kernel/patches/misc/Maxisound32FX.tgz>
+o Maxi Sound Dynamic 3D _G _S_o_l_t_e_s_z : utiliser un module son recent
(3.9 disponible sur www.opensound.com), choisir le support
sb/sbpro. La carte a besoin de son recharger son microcode lors
de chaque demarrage, et ca n'est pas possible avec les drivers
sous Linux. Il faut donc demarrer sous MS-DOS grace a Loadlin.
+o 32 Wave FX (_J_L _B_i_e_l_l_m_a_n_n) : emuler une SB Pro et en ajoutant un
pilote de MPU 401 dans le noyau. J'ai utilise adr=220, irq=5 (au
lieu du 7 propose) et dma=1.
+o dans de nombreux cas les pilotes payants proposes par OSS
<http://www.4front-tech.com/linux.html> donnent satisfaction.
QQuueessttiioonn
Le systeme se plante lorsque ma carte SB16 joue un son.
RReeppoonnssee
Cela est du a un bug des canaux DMA 16 bits de certaines
vieilles cartes meres pour i386 et i486. Quand un canal 16 bits
est actif, le DMA ne recharge plus la memoire qui s'efface.
Pour resoudre le probleme, il faut tout d'abord recompiler le
noyau en choisissant pour le canal DMA 16 bits, le meme que
celui utilise pour le canal 8 bits lors de la configuration de
la carte son. Meme si cela n'ameliore pas le son cela evite
qu'un programme plante le systeme en l'activant. Ce reglage
implique la production d'un son de mauvaise qualite par la
carte. Mais les fonctionnalites MIDI sont disponibles.
Pour les plus courageux, vous pouvez tenter de modifier les
sources du pilote sonore de Linux. Le fichier a modifier est
"/usr/src/linux/drivers/sound/sb_common.c". N'oubliez pas de
sauver la version originale de ce fichier avant de le modifier.
Vous devrez le restaurer avant d'appliquer les patches
ulterieurs. Vous devez rentrer les lignes suivantes a la ligne
241 (version du noyau 2.0.33, pour les autres versions, il faut
rajouter ces lignes a la fin de la fonction "dsp_get_vers") :
if (devc->major == 4) {
devc->major = 2;
devc->minor = 1;
}
Ces lignes ont pour effet de faire croire au noyau qu'il est en
presence d'une SB2. Cela permet d'utiliser la carte en mono 8 bits.
Il n'est malheureusement pas possible d'emuler une SB Pro car cette
carte possede des fonctions qui n'ont pas ete reprises dans les
versions ulterieures.
Les prochaines versions du noyau devraient permettre d'utiliser
pleinement les fonctions de la SB 16.
22..1111.. CCaarrttee dd''eexxtteennssiioonn nnoonn rreeccoonnnnuuee
RReeppoonnssee
Utiliser le cavalier ("jumper") ou le logiciel de configuration
permettant d'invalider la gestion du " PNP ".
CCoommmmeennttaaiirreess
On peut aussi essayer d'employer les utilitaires PNP appeles
isapnptools.
Les noyaux 2.2 gereront peut-etre mieux le PNP.
22..1122.. ZZIIPP eett AAddaapptteecc 11552200 ((AAHHAA,, 115522xx,, 11660000))
RReeppoonnssee
_A_. _C_a_b_i_r_a_n :
Si on utilise la carte livree avec le lecteur, (pc1600) :
+o compiler dans le noyau le pilote SCSI aha152x ;
+o ajouter une ligne comme celle-ci :
append="aha152x=0x140,11,7,1"
au debut de /etc/lilo.conf ;
+o relancer lilo et redemarrer. La partition creee par defaut est
/dev/sda4 ;
+o adapter, au besoin, les valeurs placees apres le '=' (lire le
BootPrompt-HOWTO <http://www.linux-
france.com/miroir/www.freenix.fr/linux/HOWTO/BootPrompt-
HOWTO.html>
22..1133.. SSoouurriiss MMiiccrroossoofftt ((mmoouussee,, IInntteelllliimmoouussee,, mmoolleettttee))
QQuueessttiioonn
Ma souris Microsoft a 2 boutons fonctionne mal
RReeppoonnssee
_F_. _C_h_a_s_t_r_e_t_t_e ecrit (19980424) :
Avez-vous verifie tout ce qui est evident : utilisez-vous le bon
device, le cable est-il branche, la souris fonctionne-t-elle
sous un autre systeme, etc.
Si vous avez une souris _s_e_r_i_e a 2 boutons et si la panne n'est
pas franche (il existe des facons de faire reconnaitre la souris
et a partir de ce moment elle fonctionne tres bien jusqu'au
redemarrage) lisez son etiquette car la version "Microsoft
serial mouse 2.1A" presente ce probleme.
Solution :
+o 1. procurez-vous gpm version 1.13 ou une version plus recente
+o 2. installez, compilez, lisez les explications dans le source
(en particulier le fichier mice.c)
+o 3. lancez gpm ainsi : gpm -t pnp -R Cela peut vous obliger a
modifier l'un des scripts d'init (/etc/rc.d/init.d/gpm pour Red
Hat)
+o 4. dans XF86Config, declarez la souris comme suit :
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/gpmdata"
EndSection
Pour comprendre, lisez 'man gpm' et en particulier l'option -R
_G_. _B_e_r_g_e_r_-_S_a_b_b_a_t_e_l note :
Tout ceci s'applique a la souris Intellimouse serie, a un detail
pres : le type "pnp" donne a gpm ne permet pas l'utilisation de la
molette comme 3eme bouton. Il faut donc en ce cas :
+o mettre a jour gpm (version 2.13 mini),
+o lancer "gpm -t ms3 -R"
+o placer dans le XF86Config :
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/gpmdata"
EndSection
Un document traite du cas des souris a molettes
<http://www.linux-france.com/article/materiel/souris-
molette.txt.gz>
22..1144.. MMuullttiipprroocceesssseeuurrss ((SSMMPP))
QQuueessttiioonn
Pourquoi Linux n'utilise-t-il pas tous les processeurs de ma
machine ?
RReeppoonnssee
Pour cela, il faut disposer d'une machine compatible et compiler
un noyau _a_d _h_o_c en laissant l'entree SMP=1 dans le Makefile du
noyau.
DDooccuummeennttss
Linux/SMP Project <http://www.linux.org.uk/SMP/title.html>
22..1155.. PPaarrttiittiioonnnneemmeenntt ((FFIIPPSS,, FFAATT))
QQuueessttiioonn
Comment repartitionner sans detruire de partition ?
RReeppoonnssee
Le logiciel MS-DOS FIPS permet cela, mais uniquement avec les
FAT 16 bits. Une version beta
<ftp://bmrc.berkeley.edu/pub/linux/fat32/fips15c.zip> traite les
FAT32.
22..1166.. FFoorrmmaattss ddee ddiissqquueess ((FFAATT,, MMSS--DDOOSS,, MMaaccOOSS,, HHFFSS,, FFAATT3322,, JJoolliieett ......))
QQuueessttiioonn
Comment exploiter les disques non ecrits sous Linux ?
+o Mac : HFS <http://www-sccm.Stanford.EDU/~hargrove/HFS/>
+o MS-DOS : mtools et pilote vfat integre au noyau
+o FAT32 : une version recente des mtools. Linux peut acceder aux
partitions FAT32 grace a un patch
<http://bmrc.berkeley.edu/people/chaffee/> (on trouvera aussi la
de quoi acceder aux CD Joliet) ou bien avec un noyau posterieur
a 2.0.33
22..1177.. MMaatteerriieell ccoonnccuu ppoouurr MMSS--WWiinnddoowwss ((WWiinnmmooddeemm,, WWiinnpprriinntteerr ......))
RReeppoonnssee
Les materiels exclusivement concus pour fonctionner sous MS-
Windows ne sont generalement pas exploitables sous Linux.
22..1188.. GGrraavveeuurrss ddee CCDD
RReeppoonnssee
Les logiciels xcdroast et cdrecord permettent de piloter des
graveurs de CD.
DDooccuummeennttss
Graveurs de CD sous Linux <http://www.linux-
france.com/article/materiel/graveur-cd/graveur-cd.html>
22..1199.. ZZIIPP ((lleenntteeuurr,, ZZIIPP++ ......))
QQuueessttiioonn
Mon peripherique ZIP connecte au port parallele est tres lent ou
bien Linux ne prend pas en charge mon ZIP+.
RReeppoonnssee
_D_. _G_a_u_c_h_a_r_d et _K_a_t_z:
Installer le plus recent pilote
<http://www.torque.net/~campbell/>.
22..2200.. PPoorrttaabbllee ((llaappttoopp))
Lire ce petit guide <http://www.linux-france.com/article/materiel/>
22..2211.. SSccaannnneerr
Site SANE <http://www.mostang.com/sane/>
33.. SSyysstteemmee dd''eexxppllooiittaattiioonn :: ccoonnffiigguurraattiioonn,, oouuttiillss,, aaddmmiinniissttrraattiioonn
33..11.. IInnssttaallllaattiioonn ddee LLiinnuuxx ssaannss ccrreeaattiioonn ddee ppaarrttiittiioonn
QQuueessttiioonn
Puis-je installer Linux sans creer de partition ?
RReeppoonnssee
Oui, c'est possible grace a UMSDOS.
33..22.. LLooggiinn iimmppoossssiibbllee ((mmoott ddee ppaassssee rreeffuussee,, ppaasssswwoorrdd,, ccoonnnneexxiioonn))
QQuueessttiioonn
Login (connexion) impossible, probablement apres manipulation du
fichier /etc/passwd ou de l'un des elements de la chaine
associee (binaire login, shadow passwords, Red Hat : pwdb ou PAM
...)
RReeppoonnssee
S'il s'agit d'un login root a travers le reseau, ne pas negliger
de modifier /etc/securettys. Dans le cas d'une Red Hat, examiner
aussi la configuration PAM.
Solution fournie par _J_. _F_o_u_r_r_e et _P_. _S_a_r_a_t_x_a_g_a.
Demarrer de facon a pouvoir modifier /etc/passwd. Pour cela, il
suffit de passer un parametre au noyau afin de lancer le systeme
dans un mode d'exploitation special.
Pour ce faire, demarrer :
+o en mode mono-utilisateur (_s_i_n_g_l_e _u_s_e_r) grace a l'un des
parametres LILO :
+o S ;
+o single ;
+o init=/bin/sh.
+o grace a une disquette de demarrage (par exemple, _r_e_s_c_u_e)
Dans le cas d'une Red Hat :
_P_a_b_l_o recommande, sitot le systeme demarre grace au parametre
init=/bin/bash, d'invoquer /etc/rc.d/rc 2 puis d'editer
/etc/passwd. On peut se contenter d'invoquer
/etc/rc.d/init.d/keytable afin de beneficier d'une gestion du
clavier adequate (AZERTY ...).
Pour supprimer un mot de passe, il suffit de modifier la ligne
correspondant au compte dans le fichier /etc/passwd afin de
detruire tous les caracteres places entre les deux premiers "
deux-points ".
Exemple (suppression du mot de passe de root) :
+o Avant modification :
root:RuN0C/zyWvkf2:0:0:root:/root:/bin/bash
+o Apres modification :
root::0:0:root:/root:/bin/bash
En cas de probleme, renommer /etc/shadow.
CCoommmmeennttaaiirreess
AATTTTEENNTTIIOONN : un pirate peut employer ce genre d'approche pour
prendre le controle d'une machine a laquelle il peut "
physiquement " acceder.
Pour limiter les risques :
+o utiliser les options password et restricted de LILO (ne pas
negliger qu'il faudra, lors du demarrage, composer le mot de
passe avec un clavier configure en QWERTY) ;
+o bitouiller le SETUP de sorte que le demarrage ne puisse
s'effectuer qu'a partir du disque dur (et en aucun cas grace a
une disquette), et verrouiller cette configuration (mot de passe
SETUP).
Cela devrait limiter les ecarts des mauvais plaisants mais gare
: un malintentionne peut encore ouvrir la machine (remise a zero
du SETUP, depose du disque dur...).
_F_. _R_o_u_a_i_x note : si la machine peut egalement demarrer sous MS-
DOS, utiliser loadlin pour charger un noyau avec des options
arbitraires, telles que single.
_L_. _W_a_c_r_e_n_i_e_r ajoute : le mot de passe de LILO n'est pas chiffre
(un boot secteur n'a pas a s'encombrer de bibliotheque de
chiffrement). Le mot de passe apparaitra donc en clair a qui
peut lire le disque. D'ou l'idee de mettre un mot de passe qui
ne peut etre saisi au clavier (ou de redefinir un clavier,
etc.).
33..33.. MMoonn tteerrmmiinnaall ssee bbllooqquuee ((ffiiggee,, ggeellee,, aarrrreett))
QQuueessttiioonn
La session de travail semble parfois bloquee, le terminal ne
produit rien et n'accepte plus rien (aucune touche ne
fonctionne).
RReeppoonnssee
Le blocage est souvent normal car du a une combinaison de
touches " Control-S " ou bien " Arret Defil. " (" Scroll Lock ")
en mode console. Il suffit alors d'employer " Control-Q " (ou
sur " Arret Defil. ") pour ranimer la session.
33..44.. VViirruuss
QQuueessttiioonn
Existe-t-il des virus actifs sous Linux ?
RReeppoonnssee
Non, pas a proprement parler car un programme standard (non "
setuid ") en fonctionnement sur une machine Linux ne beneficie
que des droits accordes a l'utilisateur qui l'invoque.
Conclusion logique : root ne doit jamais lancer de programmes
douteux.
En pratique, quelques failles du systeme (relevant d'erreurs de
conception ou de programmation), decouvertes de loin en loin et
vite comblees, permettraient parfois a un virus de devenir
dangereux. Mais nul n'a encore pu exploiter cela. Pour se
proteger : utiliser " Tripwire ".
33..55.. PPrriissee eenn ccoommppttee dd''uunn nnoouuvveell eexxeeccuuttaabbllee ddaannss uunn rreeppeerrttooiirree dduu
PPAATTHH
PPrroobblleemmee
Le shell en prend pas en compte un executable place dans un
repertoire qui figure pourtant dans le PATH.
RReeppoonnssee
Il faut obliger le shell a explorer le contenu des repertoires
du PATH.
+o sous _b_a_s_h introduire hash -r ;
+o sous _s_h_e_l_l _C introduire rehash.
33..66.. MMaanniippuullaattiioonn ddeess ffiicchhiieerrss ..ttaarr..ggzz (archive)
QQuueessttiioonn
Qu'est-ce qu'un fichier .tar.gz et comment l'utiliser ?
RReeppoonnssee
Un fichier .tar.gz contient un ou plusieurs fichiers rassembles
au sein d'une archive _t_a_r, elle-meme compactee grace a gzip.
+o tar tvzf NOM.tar.gz pour obtenir la liste des fichiers contenus
dans l'archive ;
+o tar xzf NOM.tar.gz pour decompacter l'archive dans le repertoire
courant.
CCoommmmeennttaaiirree
Il est temps de lire un bon document destine a l'utilisateur
debutant d'un Unix moderne...
33..77.. //pprroocc
QQuueessttiioonn
Qu'abrite le repertoire /proc ?
RReeppoonnssee
Un ensemble de fichiers " virtuels " permettant de communiquer
avec le noyau. Aucun d'eux n'occupe d'espace sur le disque.
Notamment, le fichier kcore, dont la taille peut effrayer, n'est
qu'une image de la memoire disponible sur la machine. N'essayez
pas de le detruire pour " liberer " de l'espace disque...
33..88.. PPaarraammeettrreess ccoommmmuunniiqquueess aauu nnooyyaauu ((LLIILLOO,, llooaaddlliinn)
QQuueessttiioonn
Comment fixer les parametres que LILO ou loadlin devront passer
au noyau ?
RReeppoonnssee
LLIILLOO ddyynnaammiiqquuee (("" aa llaa mmaaiinn ""))
Pour passer un parametre au noyau via LILO il suffit, lors du
demarrage, de l'obliger a afficher sa chaine d'appel LILO boot:
Pour cela, verrouiller le mode " Numerique " (touche Verr Num)
ou le haut de casse (" majuscules "), ou bien maintenir une
touche morte (par exemple Control ou Shift) enfoncee durant le
premier acces au disque.
Sitot LILO boot: affiche, appuyer sur la touche TABulation. Les
noms logiques des systemes declares dans le fichier de
configuration de LILO apparaissent. Choisir celui d'un noyau
Linux stable, le composer puis inserer un espace et le parametre
souhaite.
Exemple (cas d'un noyau appele lindis auquel on souhaite passer
le parametre single) :
1. sitot apres les diagnostics du BIOS, maintenir la touche
Control enfoncee alors que le demarrage sur disque commence.
LILO prend la main et affiche :
LILO boot:
2. on peut alors appuyer sur TAB afin d'obtenir la liste des
systemes d'exploitation accessibles :
LILO boot: ((appuyer sur la touche "TABulation"))
lindis oldlin beta msdos ((noms des systemes "bootables"))
3. fournir a LILO le nom de l'un des systemes, suivi, s'il
s'agit d'une version de Linux, du nom du parametre et, le cas
echeant, de la valeur associee.
Exemple :
LILO boot: lindis single
LLIILLOO ssttaattiiqquuee ((ffiicchhiieerr ddee ccoonnffiigg))
Pour figer un parametre, placer dans la section adequate du
fichier /etc/lilo.conf une declaration append="X", ou X remplace
le parametre a transmettre au noyau. Le BootPrompt-HOWTO
<http://www.linux-
france.com/miroir/www.freenix.fr/linux/HOWTO/BootPrompt-
HOWTO.html> fournit toutes les precisions necessaires.
llooaaddlliinn
loadlin est un petit programme grace auquel on peut lancer Linux
a partir d'une session MS-DOS.
_S_. _S_t_e_p_h_a_n_t :
La syntaxe generale de loadlin est :
loadlin.exe ton_noyau root=ta_partition_racine [les parametres du noyau]
Il suffit donc de mettre une ligne dans le config.sys. Exemple
(cas d'une partition Linux sur /dev/hda1, noyau version 2.30) :
shell=c:\loadlin\loadlin.exe c:\loadlin\vmlinuz.230 root=/dev/hda1 ro
AAtttteennttiioonn : la ligne " shell=... " de MS-DOS ne peut contenir que
127 caracteres. La solution est de passer par un fichier de
parametres. config.sys devient alors :
shell=c:\loadlin\loadlin.exe @c:\loadlin\params.dat
et le fichier params.dat contient, par exemple :
c:\loadlin\vmlinuz.230 root=/dev/hda1 ro
Lire le fichier manual.txt livre avec loadlin.
CCoommmmeennttaaiirreess
LLIILLOO
+o Ajouter le mot-cle prompt au fichier de configuration
/etc/lilo.conf pour que LILO affiche systematiquement sa chaine
d'appel ;
+o utiliser aussi, en ce cas, le parametre timeout afin de limiter
le nombre de secondes d'attente de LILO apres affichage de sa
chaine d'appel. Exemple : "timeout=50" provoque un delai de 5
secondes.
33..99.. IInnssttaallllaattiioonn ddee ppaaqquueettaaggeess dd''uunnee aauuttrree ddiissttrriibbuuttiioonn ((rrppmm,, ddeebb,,
ppkkgg)
QQuueessttiioonn
Comment profiter, sur une distribution X, des paquetages
destines a une autre distribution ?
RReeppoonnssee
Compiler et installer rpm. Se procurer les utilitaires alien,
unrpm, rpm4everyone, rpm2targz (rpm2tgz)
_E_. _D_a_v_i_d :
Un .deb n'est autre qu'une archive ar contenant (entre autres)
le .tgz. Un petit coup de ar sur un .deb permet donc d'installer
un package debian " a la main " sur une slackware.
33..1100.. DDeeccoommppttee iinnccoorrrreecctt ddeess lliieennss vveerrss uunn rreeppeerrttooiirree
QQuueessttiioonn
Le nombre de liens sur un repertoire semble faux.
Voici la question :
[root@localhost src]# ls -l
total 2
lrwxrwxrwx 1 root root 12 May 2 19:32 linux -> linux-2.0.27
drwxr-xr-x 15 root root 1024 May 3 09:17 linux-2.0.27
drwxr-xr-x 7 root root 1024 Mar 3 15:08 redhat
/\ 15 ? ? ? ? ?
Voila deja la mes bouquins et mes essais disent qu'il ne peut pas y
avoir de hard link sur un repertoire, et que les soft link ne sont
pas dans les compteurs de liens, alors comment le repertoire
linux-2.0.27 peut avoir son compteur a 15 ?
RReeppoonnssee
Solution fournie par _S_. _S_t_e_p_h_a_n_t (revisee par _F_. _P_e_t_i_l_l_o_n) :
Afin de ne pas boucler sans fin lors de la resolution de noms de
fichiers, il est effectivement _impossible_ de creer un lien "
hard " sur un repertoire. Seul les liens symboliques sont
autorises.
Le compteur de liens (seconde colonne dans un ls -l) indique le
nombre de noms differents que porte un meme fichier. Or, un
repertoire a toujours au moins deux noms : " nom_du_repertoire "
et " nom_du_repertoire/. ".
Chaque repertoire contient un repertoire nomme " .. " pointant
sur son repertoire parent. Ces repertoires incrementent donc
d'autant le compteur de liens du repertoire parent.
Dans ton cas, l'entree " linux-2.0.27 " a un compteur de liens
egal a 15 : le repertoire " linux-2.0.27 ", le repertoire "
linux-2.0.27/. " et 13 autres repertoires "
linux-2.0.27/repertoire/.. "
33..1111.. CChhaannggeemmeenntt ddee ppaarrttiittiioonn ((ddeeppllaacceemmeenntt ddee LLiinnuuxx))
QQuueessttiioonn
J'ai tout d'abord installe Linux (Red Hat) sur le disque dur
hda. Or, j'ai depuis achete un autre disque dur plus gros que
j'ai mis en maitre sur ma premiere nappe, releguant le precedent
sur ma deuxieme nappe IDE... Mon ancienne installation de Linux
se retrouve donc maintenant en hdc... Que faut-il modifier pour
arriver a la faire tourner comme avant mais en hdc...?
RReeppoonnssee
Solution fournie par _J_._C_. _R_i_c_h_a_r_d :
+o boote sur une disquette rescue. Puisque tu as la Red Hat,
utilise la disquette de boot fournie, mais tape rescue quand
lilo te demande ce que tu veux ;
+o on va supposer que ton root linux est passe de hda1 a hdc1 pour
t'expliquer la methode.
mkdir /mnt/tmp
mount /dev/hdc1 /mnt/tmp
cd /mnt/tmp/etc
vi fstab
(remplace alors tes occurences de /dev/hda1,2,3,4 par
/dev/hdc1,2,3,4)
+o ensuite :
vi lilo.conf
+o tu devrais modifier de la maniere suivante :
boot=/dev/hda (pour avoir lilo en MBR)
map=/boot/map
install=/boot/boot.b
prompt
image=/boot/vmlinuz
label=linux
root=/dev/hdc1
read-only
et tout le reste de ton lilo.conf est a modifier dans le meme sens,
si tu as des partitions Dos, NT et autres a installer ;
+o NE LANCE PAS IMMEDIATEMENT LILO, cela ne fonctionne pas toujours
;
+o reboote avec la disquette (ou sous DOS). Si tu passes via DOS,
utilises loadlin en lui indiquant le montage root=/dev/hdc1 ;
+o lors du demrrage effectue grace a la disquette, au prompt LILO
tape :
mount root=/dev/hdc1
+o ensuite, tu te loges root et fais un lilo. Tout est repare.
33..1122.. IIddeennttiiffiiccaattiioonn dduu pprroocceessssuuss uuttiilliissaanntt uunnee rreessssoouurrccee
QQuueessttiioonn
Comment determiner quel processus utilise une ressource donnee
(fichier, donc par extension peripherique) ?
RReeppoonnssee
Employer (en tant que root) l'utilitaire fuser, livre avec
l'ensemble psmisc.
Exemple commente :
$ fuser /dev/ttyS1 # qui donc utilise /dev/ttyS1 ?
/dev/ttyS1: 245 # le processus numero 245
$ ps -auxw|grep 245 # quel est ce processus ?
root 245 0.3 6.8 8336 4356 ? S 10:34 1:29 X :0
# c'est X Window !
$ fuser /usr/bin/X11/X # qui donc utilise "/usr/bin/X11/X" ?
/usr/bin/X11/X: 245 # programme execute par le processus 245
On peut aussi installer lsof.
33..1133.. HHoorrllooggee ((hheeuurree,, ddaattee,, rreettaarrdd,, aavvaannccee))
QQuueessttiioonn
Mon horloge systeme avance ou retarde, que faire ?
RReeppoonnssee
_D_. _M_a_d_o_r_e :
Linux garde son horloge a jour en fonction du generateur de
frequence de ton ordinateur (qui produit des IRQ0). Pour peu
qu'il ne soit pas excellent, l'horloge se deregle rapidement.
Si ton horloge CMOS (qui est completement independante) est
meilleure, tu n'as qu'a demander a cron d'executer clock -a
toutes les heures (ou clock -au si l'horloge CMOS est a l'heure
GMT). Tu peux obtenir encore une meilleure precision en
corrigeant une eventuelle derive de l'horloge CMOS dans
/etc/adjtime. Cf. man 8 clock pour tous renseignements utiles.
Note : sous certaines distributions un hwclock, aux options un
peu differentes, remplace clock.
33..1144.. DDeemmaarrrraaggee,, vviiaa LLIILLOO,, dd''uunn aauuttrree OOSS ssuurr uunn aauuttrree ddiissqquuee ((bboooott))
RReeppoonnssee
Utiliser l'option de LILO loader=/boot/any_d.b
CCoommmmeennttaaiirreess
Ceci ne concerne que les systemes mettant a contribution le BIOS
lorsqu'ils doivent determiner la geometrie du disque.
Lire la section " Booting a foreign operating system " de la
documentation de LILO.
33..1155.. MMoonnttaaggee ddee ssyysstteemmeess ddee ffiicchhiieerrss ((ddiissqquuee,, ppaarrttiittiioonn,, aacccceess,,
ffssttaabb,, mmoouunntt))
RReeppoonnssee
Le simple ajout d'une ligne a /etc/fstab permet a n'importe quel
utilisateur de monter/demonter un support amovible sans devoir
employer tous les parametres.
Voici, par exemple, un extrait de /etc/fstab (cas d'un CD-ROM
ATAPI maitre sur la seconde chaine EIDE)
/dev/hdc /mnt/cd iso9660 noauto,user,exec,ro,umask=033,unhide 0 0
Chaque ligne du fstab est composee de champs qui decrivent un
systeme de fichiers montable. Des espaces ou tabulations separent
ces champs.
+o le premier champ (/dev/hdc) contient le nom du fichier special
associe au peripherique ;
+o le deuxieme (/mnt/cd) le nom du repertoire ou le montage sera
effectue (il DOIT exister !) ;
+o le troisieme le type de systeme de fichiers, utiliser iso9660
pour un CD-ROM, vfat pour une partition MS-DOS ;
+o le quatrieme (noauto,user [...]=033) les options de montage ;
nnooaauuttoo :
Pas de montage automatique lors du boot.
uusseerr :
Montable/demontable par un utilisateur (c'est ce qui nous
interesse).
eexxeecc :
Les binaires places sur ce support seront executables.
rroo :
Lecture seule (_R_e_a_d_-_O_n_l_y).
uummaasskk :
" permissions " du repertoire de montage (033 permet a tous
de lire).
+o le cinquieme (premier 0) la frequence des sauvegardes par dump :
laisser 0 dans le cas d'un volume amovible ;
+o le sixieme (second 0) le rang de passage a fsck : laisser 0 dans
le cas d'un volume amovible ;
Utiliser /dev/sr0 en lieu et place de /dev/hdc pour le premier
CD SCSI.
N'importe quel utilisateur peut alors invoquer mount /mnt/cd
puis umount /mnt/cd et obtenir satisfaction.
Autres exemples :
/dev/hda1 /mnt/dos-c vfat noauto,user,exec 0 0
/dev/sda4 /mnt/jaz ext2 noauto,user,exec 0 0
/dev/fd0 /mnt/floppy auto sync,user,noauto,unhide 0 0
Documentation : commencer par les pages de manuel de mount et
fstab.
_S_. _S_t_e_p_h_a_n_t :
Utiliser les options gid, uid et/ou umask pour limiter les
possibilites des divers utilisateurs sur les systemes de fichiers
ainsi montes.
Afin de limiter l'acces de certaines partitions a un utilisateur ou
a un groupe precis, on peut utiliser l'option de montage " umask ".
Par exemple, pour que seuls les membres du groupe " dos " (gid=202)
puissent acceder a votre partition vfat, on peut utiliser la ligne
suivante dans le fstab :
/dev/hda1 /diskc vfat noauto,user,noexec,gid=202,umask=0007 0 0
De meme, pour autoriser seulement l'utilisateur " durand "
(uid=100) a ecrire sur cette partition, autoriser les membres du
groupe " dos " (gid=202) a y lire, et interdire l'acces aux autres,
on peut utiliser une entree comme :
/dev/hda1 /diskc vfat noauto,user,noexec,uid=100,gid=202,umask=0027 0 0
33..1166.. CCoonnssoolleess vviirrttuueelllleess
QQuueessttiioonn
Comment mieux employer les consoles virtuelles ?
RReeppoonnssee
+o chvt permet de changer de console active ;
+o setterm pour etablir les parametres ;
+o tty affiche le nom du peripherique connecte a la console active.
33..1177.. SSyysstteemmeess ddee ffiicchhiieerrss ccoommppaacctteess ((ccoommpprreessssiioonn))
RReeppoonnssee
_C_. _B_l_a_e_s_s (edite) :
Il n'existe pas encore de systeme de fichiers stable pour Linux
capable d'effectuer un compactage dynamique des donnees. Un
patch pour les noyau 2.0.x offrant la compression dynamique est
cependant disponible.
On peut toutefois utiliser certains artifices :
+o zlibc est une bibliotheque qui intercepte les appels a la
fonction open(), et reconstitue " a la volee " les fichiers
compresses auparavant par gzip. Toutefois, ce paquetage ne
permet pas l'execution de fichiers binaires compresses ;
+o tcx est un bon complement de zlibc, puisqu'il ne decompresse que
des fichiers executables ;
+o DouBle est un patch pour les noyaux 1.2.x (je se sais pas s'il
fonctionne avec les 2.x). Il s'agit d'un pilote de peripherique,
effectuant une compression des donnees a la volee. Il
s'intercale entre le peripherique physique et le systeme de
fichiers (ou meme la partition de swap).
Pour acceder aux volumes compresses d'une partition MS-DOS, il y
a plusieurs possibilites :
+o utiliser Dosemu ;
+o thsfs est un module permettant de monter des partitions MS-DOS
normales ou des volumes Double Space, en lecture seulement ;
+o dmsdosfs est un systeme de fichiers permettant un acces en
lecture/ecriture aux volumes compactes :
+o DoubleSpace et DriveSpace de MS-DOS 6.x ;
+o DoubleSpace et DriveSpace 3 de MS-Windows 95 ;
+o Stacker 3 et 4.
Certaines restrictions s'appliquent pour les partitions
DriveSpace 3 et Stacker 3. Il fonctionne avec les noyaux 2.0.x
33..1188.. FFiillttrraaggee ddeess HHOOWWTTOOss eett lliisstteess ffttpp..lliipp66..ffrr dans
fr.comp.os.linux.annonces (elimination, article, suck)
QQuueessttiioonn
Comment ne pas recevoir les articles de _H_O_W_T_O postes dans
fr.comp.os.linux.annonces ?
RReeppoonnssee
Le champ Path d'un article abritant un HOWTO contient la chaine
fr.howto. Celui d'un article vehiculant une liste des nouveaux
fichiers Linux disponibles sur le serveur ftp.lip6.fr contient
fr.miroir. Il suffit de filtrer en fonction de ce critere.
Si vous recuperez les articles grace a un feed INN normal,
demander a l'administrateur de la machine " nourrissant " ainsi
la votre d'ajouter le membre de Path adequat a l'exclude de la
ligne du newsfeeds correspondant a votre machine.
Si vous employez suck, _(_E_. _J_a_c_o_b_o_n_i_) vous pilote :
Depuis la version 3.6.0, le format des killfiles a change (cf.
le README.killfiles livre avec la distribution). Tout champ
d'en-tete peut etre filtre selon la syntaxe suivante :
champ:expression rationnelle ("regexp") de filtrage
Le contenu du fichier suckkilfile.fcola correspondant a l'exemple
de _F_. _P_a_v_a_g_e_a_u, ci-dessus, devient donc :
Path:fr\.howto
33..1199.. FFiicchhiieerrss ssppeecciiaauuxx ((//ddeevv,, ppeerriipphheerriiqquuee))
QQuueessttiioonn
Comment ajouter une entree dans /dev ?
RReeppoonnssee
A chaque peripherique peut correspondre un (ou plusieurs)
fichier special grace auquel les programmes dialoguent avec le
pilote de peripherique correspondant.
Regles :
+o creer les fichiers speciaux grace a MAKEDEV ou mknod. Lire le
fichier " Documentation/devices.txt " livre avec les sources du
noyau afin de determiner les parametres adequats ;
+o le nom du fichier special n'a aucune importance sur le plan
logiciel, seuls comptent son type, sa majeure et sa mineure ;
+o le fait que le fichier necessaire existe dans /dev n'est pas
suffisant, il faut aussi que le pilote de peripherique
necessaire soit disponible (compile dans le noyau ou sous forme
de module).
33..2200.. NNooyyaauu iinneexxppllooiittaabbllee
QQuueessttiioonn
Apres compilation et installation d'un noyau recent (mai-juin
1998 ...) le systeme ne redemarre plus ou bien les logiciels
fonctionnent mal.
RReeppoonnssee
_O _T_h_a_r_a_n explique : Cela vient du compilateur utilise ; la
version recommandee est la 2.7.2.3 (ni anterieur, ni
posterieur). Ne pas utiliser gcc 2.8 et superieurs, ainsi
qu'egcs. Je conseille d'installer gcc pour la compatibilite et
la partie d'egcs pour le C++.
_R_. _C_a_r_d : (utilisation de gcc 2.7.2.3 necessaire a cause d') un
bug dans le noyau 2.0 visant a contourner un bug dans gcc 2.7
(bug qui a ete corrige dans gcc 2.8 et dans egcs et qui entraine
des problemes si le noyau est compile avec ces versions recentes
des compilateurs).
44.. XXFFrreeee,, XX WWiinnddooww
44..11.. CCllaavviieerr ((AAZZEERRTTYY,, aacccceennttss))
XFree profite a present de la configuration de la console (loadkeys).
Placer dans la section Keyboard du fichier de configuration (souvent
nomme XF86Config) :
Protocol "Standard"
RightAlt Modeshift
ScrollLock ModeLock
RightCtl Control
XkbKeymap "xfree86(fr)"
On peut aussi utiliser le fichier Xmodmap propose par le _G_u_i_d_e _d_u
_R_o_o_t_a_r_d _L_i_n_u_x (il est alors parfois necessaire d'utiliser XkbDisable
dans la section Keyboard) ou bien les recommandations du Fr-HOWTO
<http://www.linux-france.com/article/Fr-HOWTO/>.
La bibliotheque X11 <http://www.fdn.fr/~tquinot/dead-keys.fr.html> par
_T_. _Q_u_i_n_o_t permet d'utiliser les touches mortes sous de nombreuses
applications X recalcitrantes.
_P_. _S_a_r_a_t_x_a_g_a precise :
Pour xdm editer /etc/X11/xdm/Xservers et ajouter "-kb" a la fin de la
ligne du serveur local :
:0 local /usr/X11R6/bin/X -kb
et dans /etc/X11/xdm/Xsetup_0 mettre :
if [ -r /etc/X11/xinit/.Xmodmap ]; then
/usr/X11R6/bin/xmodmap /etc/X11/xinit/.Xmodmap
fi
Pour profiter, sous X, des effets de l'une des tables disponibles pour
la console : mk_modmap
cd /usr/lib/kbd/keytables
sh mk_modmap < fichier.map | grep -v ^compose > /etc/X11/xinit/.Xmodmap
xmodmap /etc/X11/xinit/.Xmodmap
La methode la plus simple pour configurer le clavier est d'utiliser le
programme de configuration XF86Setup. L'invoquer depuis la console en
tant que root. Choisir pour la configuration du clavier 102 touches
(intl) et le jeu de caracteres francais. Ne toucher a aucun autre
parametre. Le clavier devrait fonctionner normalement sous X, y
compris les touches accentuees, celles accessibles par "Alt Gr" et la
touche "Verr Num".
En cas de probleme (surtout sous RH 5) installer la plus recente
version de libX11.so.
44..22.. CCaarrtteess vviiddeeoo eett XXFFrreeee ((XX WWiinnddooww,, AAGGPP,, cchhiippsseett,, ggrraapphhiiqquuee))
QQuueessttiioonn
Quelle version de XFree utiliser pour profiter de ma carte video
?
RReeppoonnssee
La plus recente, afin de profiter de toutes les ameliorations.
Certains circuits ne fonctionnent qu'a partir d'une version
donnee :
+o S3 Virge : serveur S3V, version 3.2 minimum (24 bits avec 3.3)
+o Matrox Millennium et Millenium II : serveur SVGA, XFree 3.3.2
+o Matrox Mystique, Viper Riva : serveur SVGA de XFree 3.3.2
+o ATI Xper, Rage ... : serveur MACH64 XFree 3.3.2
+o Permedia : serveur SuSE ELSA_GLORIA
+o Matrox G200 : ftp://ftp.suse.com/pub/suse_update/XSuSE/xmatrox
+o
Pour decouvrir le type de circuit utilise par la carte utiliser
SuperProbe et X --probeonly. AAtttteennttiioonn : il faut bien deux
tirets (" -- ")/
En cas de probleme avec un materiel recent (par exemple un
circuit couple a un bus AGP ou bien un Mystique 220 ou II)
installer XFree 3.3.2 (explorer SuSE
<http://www.suse.de/XSuSE/XSuSE_E.html>).
_R_e_f :
Cartes AGP a circuit CL-GD 5465 : ajouter la ligne suivante dans
la sous-section display du XF86Config :
Option "xaa_no_color_exp"
Ceci fonctionne en mode 16 Bits avec une resolution de 1024*768.
Si cela ne fonctionne pas essayer :
Option "fast_dram"
Option "no_pixmap_cache"
CCoommmmeennttaaiirree
Des serveurs commerciaux existent et prennent en charge au mieux
les circuits proprietaires, consulter le Commercial-HOWTO
<http://www.linux-
france.com/miroir/www.freenix.fr/linux/HOWTO/Commercial-
HOWTO.html>.
Peaufiner les parametres grace a xvidtune.
44..33.. ddeepptthh,, xxddmm)) XXFFrreeee eett nnoommbbrree ddee ccoouulleeuurrss ((XX WWiinnddooww,, ppllaann,, pprroo--
ffoonnddeeuurr,, ssttaarrttxx,,
QQuueessttiioonn
Comment obliger XFree a exploiter les modes evolues de ma carte
video, afin d'augmenter le nombre de couleurs simultanement
utilisables ?
RReeppoonnssee
Invoquer " startx -- -bpp C " ou C remplace le nombre de bits
par pixel : 15, 16, 24 ou 32.
AAtttteennttiioonn : il faut bien deux tirets (" -- ") apres startx.
Certains serveurs ou circuits graphiques ne fournissent pas tous
les modes : lire la page de manuel du serveur X employe. On
peut aussi placer l'argument -bpp ... dans la variable
serverargs du script startx
CCoommmmeennttaaiirreess
Il faut ajouter au fichier XF86Config les sous-sections Depth
necessaires. On peut aussi y utiliser DefaultColorDepth.
Le rapport resolution/nombre de couleurs depend de la memoire
video installee sur votre carte. La formule magique permettant
de determiner la memoire video necessaire a une configuration
est la suivante :
Nb_pixels_par_lig * Nb_pixels_par_col * log2(nb couleurs)
Par exemple, si l'on desire une resolution de 1024 par 768 en 256
couleurs, il faut une memoire video de 1024*768*8 bits, soit 786432
octets (moins d'un Mo), avec 2 Mo, et pour la meme resolution, on
ne peut avoir qu'une resolution de 16 bits par pixel (64 k
couleurs).
Sous _x_d_m on modifiera le fichier Xservers (place dans
/usr/X11R6/lib/X11/xdm ou /etc/X11/xdm) :
:0 local /usr/X11R6/bin/X -bpp C
44..44.. XX bbllooqquuee ((bboouuttoonn//mmeennuu iinnaaccttiiff,, cchhaannggeemmeenntt ddee ffooccuuss,, wwiinnddooww))
QQuueessttiioonn
X semble parfois ignorer les commandes de la souris. Les
fenetres ne se deplacent plus, les boutons sont inutilisables
...
RReeppoonnssee
Appuyer sur la touche NumLock (de verrouillage en mode "
chiffres " du pave numerique) de facon a eteindre le voyant.
CCoommmmeennttaaiirreess
+o Selon _A_. _C_a_b_i_r_a_n, le fait de renoncer a libXaw3d ou libXaw95 en
faveur de libXaw resoudrait partiellement le probleme.
+o _H_. _C_a_n_o_n precise : Avec NumLock active, les menus libXaw (dits "
Athena ") ne fonctionnent pas toujours correctement.
44..55.. xxddmm ((ttoouutt ssoouuss XX WWiinnddooww))
QQuueessttiioonn
Comment passer la machine sous xdm ?
RReeppoonnssee
Sur de nombreuses distributions il suffit de modifier le fichier
/etc/inittab. Y lire les commentaires, a la recherche d'un
runlevel X11 ou bien xdm, afin de changer de _r_u_n_l_e_v_e_l par defaut
(dit _i_n_i_t_d_e_f_a_u_l_t).
Sous Red Hat, par exemple, il suffit de modifier la ligne :
id:X:initdefault:
ou X remplace un chiffre. Remplacer le chiffre par 5. Slackware 3.5
: utiliser '4'.
CCoommmmeennttaaiirree
_C_. _D_e_l_e_u_z_e :
Ctrl-R quitte xdm et ramene a la console texte. _J_. _S_a_l_g_a_d_o :
Pour obtenir la configuration par defaut (un simple xterm) : au
lieu de taper "enter" apres le mot de passe, taper "F1".
44..66.. PPEEXX eett XXIIEE ((XX WWiinnddooww))
QQuueessttiioonn
Comment profiter, sous X Window, de PEX et XIE ?
RReeppoonnssee
_A_. _D_e_l_c_r_o_s repond :
Par defaut ces modules, un peu lourds parait-il, ne sont pas
charges. Donc, pour les charger, il suffit de modifier
/etc/XF86Config ou /etc/X11/XF86Config (ca depend des
installations) et d'ajouter dans la section Module :
Section "Module"
load "pex5.so"
load "xie.so"
EndSection
CCoommmmeennttaaiirree
Ceux qui ne savent pas a quoi PEX et XIE servent peuvent
continuer a s'en passer.
44..77.. RReedd HHaatt 55,, MMeettrrooXX,, ccllaavviieerr ffrraannccaaiiss ((AAZZEERRTTYY))
QQuueessttiioonn
L'outil de configuration de Metro X "ConfigX", livre avec Red
Hat 5.0, plante lors de la configuration du clavier francais.
RReeppoonnssee
C'est un bogue. Il faut laisser la configuration par defaut
(clavier americain) puis, sous Linux, editer
/etc/X11/X11Metroconfig. La liste des types de claviers toleres
se trouve dans /usr/X11R6/lib/X11/Metro/configX/KeyboardInfo
55.. LLooggiicciieellss :: ccoonnffiigguurraattiioonn,, uuttiilliissaattiioonn
55..11.. RReecchheerrcchheerr ddeess llooggiicciieellss ((FFTTPP,, ddoowwnnllooaadd,, tteelleecchhaarrggeerr))
Recherche :
+o d'un logiciel : http://sal.kachinatech.com/
<http://sal.kachinatech.com/>
+o des sites abritant une archive : FTP Search
<http://ftpsearch.ntnu.no/>
55..22.. LLiinnuuxx eenn ffrraannccaaiiss
" francisation " de Linux : le site FTP du LIP6
<ftp://ftp.lip6.fr/pub/linux/french/> offre de nombreux documents et
fichiers utiles, en particuliers les pages de manuel en francais
adaptees par _C_. _B_l_a_e_s_s (repertoire docs, archive man-fr-*).
55..33.. NNeettssccaappee NNaavviiggaattoorr ((XXkkbbLLooookkuuppKKeeyySSyymm,, aarrrreett))
QQuueessttiioonn
Netscape Navigator fonctionne mal : arrets violents, messages "
can't resolve symbol XkbLookupKeySym "...
RReeppoonnssee
Installer tous les 'updates' (mises a jour) de la distribution.
(Si libc recente) invoquer Netscape grace a ce script de shell :
#!/bin/sh
export CLASSPATH=
export MALLOC_CHECK_=0
exec /le_chemin_complet/netscape
J-Ch Broudin conseille d'essayer de sauvegarder les signets
(bookmark.html) puis de detruire le repertoire ~/.netscape.
Mieux vaut de toutes facons utiliser la plus recente version du
logiciel.
On peut aussi :
+o (instabilite) installer la bibliotheque partagee de libgnumalloc
et la referencer dans la variable d'environnement LD_PRELOAD
avant d'invoquer Navigator
(voir gnumalloc
<http://irving.apl.washington.edu/~dairiki/libmmoss/>, nets-
<ftp://ftp.lip6.fr/pub/linux/sunsite/apps/www/browsers/>);
+o ne pas utiliser la version 1.8.5 de libdl.so ;
+o s'assurer que la variable d'environnement CLASSPATH contient un
nom de repertoire correct (souvent semblable a
/usr/lib/netscape/lib/java ;
+o (XkbLookupKeySym) installer libXext.so.6.0 et libX11.so.6.1.
+o _D_. _L_e _N_o_u_e_n explique :
Le pb provient bien de libX11.so.6.0 avec laquelle
Netscape et nxterm sont lies dynamiquement et qui ne con-
tient effectivement pas la fonction XkbLookupKeySym. Or,
avec ma version de Red Hat, libX11.so.6 pointe desormais
sur libX11.so.6.1.
La solution consiste a creer un repertoire contenant
libX11.so.6.0, y creer un lien libX11.so.6 sur cette
librairie et a creer un script de lancement de Netscape
positionnant, pendant l'execution du script, la variable
d'environnement LD_LIBRARY_PATH sur ce repertoire. Ainsi
Netscape et nxterm s'executent correctement sans per-
turber le reste.
+o (Cannot allocate colormap entry for default background) palette
des couleurs saturees. Plusieurs solutions :
+o negliger ces messages benins ;
+o invoquer Navigator avec l'argument -install, de sorte qu'il
dispose de sa propre palette ;
+o ne pas utiliser Navigator lorsque d'autres clients X requierent
beaucoup de nuances (" couleurs ") ;
+o augmenter le nombre de couleurs sous X ;
+o En cas de probleme de resolution d'adresses placer une valeur
dans la variable d'environnement MOZILLA_NO_ASYNC_DNS
+o Consulter Linux et Netscape
<http://www.chez.com/maude1/netscape.html> ainsi que
Linux/Netscape <http://members.ping.at/theofilu/netscape.html>
(en anglais).
DDooccuummeennttss
(merci a A. Levavasseur) Correction des bibliotheques
responsables du dysfonctionnement
<ftp://sunsite.unc.edu/pub/Linux/apps/www/browsers/nets-2.0.tar.gz>
patch en rpm <ftp://ftp.phy.bnl.gov/pub/linux/redhat/bnl-RPMS-
i386/>
55..44.. BBuurreeaauuttiiqquuee ssoouuss LLiinnuuxx ((ttrraaiitteemmeenntt ddee tteexxttee,, ttaabblleeuurr,, ssuuiitteess))
QQuueessttiioonn
Qui peut me communiquer l'URL des sites Web traitant en francais
ou en anglais de ces softs ? Ainsi que des avis d'utilisateurs,
des noms d'autres produits ...
RReeppoonnssee
+o ApplixWare
Tres apprecie par ses utilisateurs. Le CD de version 4.3 abrite
toutes les versions, y compris la francaise, avec menus, aide,
dictionnaires (...) adaptes. Cout aux US de la version "
etudiant " : 65 dollars ;
+o LyX
Pas a proprement parler un outil bureautique, mais plutot un
frontal X pour la composition de documents sous LaTeX ;
+o StarOffice <http://www.stardivision.com/> (Semi-commercial)
Suite bureautique complete, gratuite si elle est utilisee en
dehors d'un contexte commercial.
Lit et ecrit les formats de fichiers les plus communs. Une
version existe pour la plupart des systemes d'exploitation les
plus repandus.
Voir aussi le mini-HOWTO intitule installation de StarOffice
<http://www.linux-
france.com/article/appli/StarOffice/StarOffice.html>.
+o Andrew
+o xgrok
+o slsc
Tableur en mode texte. Valable mais pas de grapheur ni de
gestion de la souris ;
+o WordPerfect (Commercial)
Un mini-HOWTO traite de l'installation de la version SCO (iBCS).
Une version Linux <http://www.sdcorp.com> serait disponible ;
+o Axene (Commercial)
Xquad <http://www.axene.com/french/xquad.html> et Xclamation
<http://www.axene.com/french/xclamation.html> ;
+o Emulation MS-Windows
(Commercial)) Permettant d'employer les programmes destines a
cet environnement.
mais l'offre Willows <http://www.willows.com> et le logiciels
_W_A_B_I, produits commerciaux, fonctionnent bien ;
+o Wingz (Commercial)
Tableur ;
+o MacroCalc <http://home.t-online.de/home/Axel_Reinhold/>.
Clone de Lotus 123 (_F_. _A_l_b_r_e_c_h_t s'en declare satisfait) ;
+o Oleo, tableur.
Logiciel GNU sous X Window. Limite et juge peu ergonomique par
les utilisateurs des logiciels commercialises ;
+o Corel
+o abs <http://www.ping.be/bertin/abs.shtml>
55..55.. BBaasseess ddee ddoonnnneeeess ((DDBB,, SSGGBBDD,, SSQQLL,, OODDBBCC,, JJDDBBCC))
RReeppoonnssee
Synthese (en anglais) <http://linas.org/linux/db.html>
55..66.. PPaaggeess ddee mmaannuueell ((mmaann))
QQuueessttiioonn
Comment utiliser au mieux le man
RReeppoonnssee
+o man -t NOM > NOM.ps
+o man NOM | col -b > NOM.txt
+o man -k MOT_CLE (invoquer au prealable makewhatis).
+o man whatis
+o Red Hat, Slackware : ne pas negliger le contenu du repertoire
/usr/doc.
Red Hat : logiciel helptool.
On peut aussi installer les versions francaises
<ftp://ftp.lip6.fr/pub/linux/french/docs/> (et remercier _C_.
_B_l_a_e_s_s).
55..77.. CCoonnnneexxiioonn,, mmooddeemm ((PPPPPP,, UUUUCCPP,, FFAAII,, IISSPP))
RReeppoonnssee
CONNEX <http://www.linux-france.com/article/connex/>
55..88.. sseennddmmaaiill
QQuueessttiioonn
Comment configurer sendmail ?
RReeppoonnssee
(inspiree d'un article de _J_._-_C_. _D_e_l_e_p_i_n_e) : Nombreuses
ressources :
+o Un chapitre du Guide du Rootard <http://www.linux-
france.com/article/grl/>
+o des documents <http://www.linux-
france.com/article/mail/index.html>
+o le forum Usenet fr.comp.mail
+o (en anglais) la FAQ et le site de sendmail
<http://www.sendmail.org/> ainsi que le fichier README livre
avec les sources du logiciel, quelques documents mini HOWTO non
traduits : Mail Queue, sendmail+uucp, Mail Queue, Offline
Mailing ...
55..99.. FFiicchhiieerrss ccoorree
QQuueessttiioonn
Qu'est-ce qu'un fichier core ?
RReeppoonnssee
_S_. _S_t_e_p_h_a_n_t : Linux avorte tout processus lorsqu'il tente
d'effectuer une operation potentiellement dangereuse (par
exemple executer des donnees, acceder a une adresse memoire ne
lui appartenant pas ...).
Un fichier "core" est une "image", generee par le systeme, du
contexte d'execution d'un programme au moment d'une interruption
de ce genre. Il permet de determiner par la suite, grace a un
debugger, la cause du probleme.
55..1100.. FFiicchhiieerrss ddee ddooccuummeennttaattiioonn :: ccaarraacctteerreess ppaarraassiitteess ((ccoonnttrrooll HH))
QQuueessttiioonn
Les fichiers de divers documents ne sont pas en ASCII pur, les
titres sont illisibles, bourres de Control H.
RReeppoonnssee
_S_. _S_t_e_p_h_a_n_t : " Control H " est le caractere de controle qui
sert a reculer d'un caractere. Cela permettait aux imprimantes
de passer deux fois sur le meme caractere et donc de l'imprimer
en gras.
Dans les fichiers textes, cela signifie egalement que le
caractere concerne doit-etre affiche en gras. De nombreux
editeurs ne gerent pas cela. Le programme less, par contre, en
est capable et col peut quant a lui " nettoyer " le fichier :
col -b < nom-fichier > nom-fichier.lisible
55..1111.. PPeerrll eett llooccaalleess ((LLAANNGG))
QQuueessttiioonn
L'installation des locales francaises de la RH5 provoque un
message d'avertissement lors du lancement d'un script Perl.
RReeppoonnssee
_P_. _S_a_r_a_t_x_a_g_a :
Il suffit de faire : localedef -f ISO-8859-1 -i en_DK en_DK puis
localedef -f ISO-8859-1 -i fr_FR fr_FR
55..1122.. BBRRUU cceessssee ddee ffoonnccttiioonnnneerr
QQuueessttiioonn
Mon exemplaire de BRU a cesse de fonctionner.
RReeppoonnssee
_L_o_g_i_c_i_e_l_s _d_u _S_o_l_e_i_l : Vous trouverez les mises a jour de BRU2000
version francaise sur le site FTP de Kheops <ftp://ftp.linux-
kheops.com/pub/redhat-5.0.fr/updates/bru/i386/>.
55..1133.. IICCQQ ssoouuss LLiinnuuxx
RReeppoonnssee
Pas de version specifique Linux, mais la version Java
<http://www.mirabilis.com/download/step-by-step-java.html>
fonctionne.
55..1144.. FFoorrmmaattss dd''aarrcchhiivveess ((..bbzz,, ..bbzz22))
_O_. _T_h_a_r_a_n _: Les fichiers .bz et .bz2 sont des archives compactees avec
une methode plus efficace que celle de gzip (archives
Les programmes capables d'en engendrer ou decompacter, appeles "bzip"
et "bzip2", existent sous forme de paquetages. On peut aussi en
trouver les sources <http://www.muraroa.demon.co.uk/>.
Il existe un mini-Howto <http://www.freenix.fr/linux/HOWTO-
vo/mini/Bzip2> decrivant l'utilisation de bzip2.
55..1155.. CCoommppiillaattiioonn iimmppoossssiibbllee ((ggcccc))
QQuueessttiioonn
Je ne parviens pas a compiler grace a gcc :
/usr/include/sys/time.h:5: linux/types.h: No such file or directory
/usr/include/sys/time.h:6: linux/time.h: No such file or directory
RReeppoonnssee
_J_C _D_e_l_e_p_i_n_e _: Le HOWTO consacre a gcc
</miroir/www.freenix.fr/linux/HOWTO/GCC-HOWTO-3.html#ss3.3>
offre la reponse.
Certains fichiers .h des sources du sources du noyau sont
indispensables a toute compilation car sys/time.h, comme
d'autres fichiers entete de la libc, y font reference. Il est
convenu que ces fichiers doivent etre accessible via
/usr/include/linux qui est donc un lien vers
/usr/src/linux/include/linux.
cd /usr/src/linux
make symlinks
cd /usr/include
ln -s ../src/linux/include/asm
ln -s /../src/linux/include/scsi
55..1166.. aass8866 mmaannqquuaanntt lloorrss ddee llaa ccoommppiillaattiioonn dduu nnooyyaauu
QQuueessttiioonn
Question : lors de la compilation du noyau, j'ai l'erreur
suivante :
make[1]: Entering directory `/usr/src/linux/arch/i386/boot'
as86 -0 -a -o bootsect.o bootsect.s
make[1]: as86: Command not found
make[1]: *** [bootsect.o] Error 127
RReeppoonnssee
_O _T_h_a_r_a_n _: Il manque l'assembleur 16 bits (as86) ; Installer le
paquetage correspondant : bin86.
55..1177.. TToouutt sseemmbbllee bbllooqquuee
RReeppoonnssee
La combinaison de touches Control-s stoppe l'affichage, Control-
s le debloque.
66.. MMeessssaaggeess dduu ssyysstteemmee
66..11.. uunnaabbllee ttoo ggeett mmaajjoorr
QQuueessttiioonn
Que signifie le message unable to get major suivi d'un nombre ?
RReeppoonnssee
Un pilote de peripherique compile dans le noyau (donc " integre
") se trouve aussi disponible sous forme de module.
_E_. _D_e_c_a_e_n : utiliser modprobe -c pour etudier la liste des
modules en ligne.
66..22.. iinnssmmoodd:: NNOOMM__DDEE__FFOONNCCTTIIOONN:: wwrroonngg vveerrssiioonn oorr uunnddeeffiinneedd
QQuueessttiioonn
Messages du systeme lors du demarrage, de l'arret ou de
l'utilisation de certains programmes reseau :
insmod: NOM_DE_FONCTION: wrong version or undefined
[ ... nombreux ... ]
Loading failed! The module symbols (from linux-NUMERO_VERSION) don't match
your linux-NUMERO_VERSION
RReeppoonnssee
En ce qui concerne les modules reseau : ajouter au fichier
/etc/modules.conf
alias net-pf-3 off # si pas AX25
alias net-pf-4 off # si pas de module IPX (protocole reseau Novell Netware)
alias net-pf-5 off # si pas de module Appletalk (protocole reseau Apple)
_E_. _L_a_s_s_a_u_g_e Les messages de depmod, apres recompilation d'un noyau
Red Hat, sont dus au initrd standard de cette distribution. Grace a
cette directive de LILO, on monte au boot un systeme de fichiers
dans un RamDisk (dit initrd, init Ram Disk). Avec certaines
configurations Red Hat (par exemple la 4.0), ce systeme de fichiers
contient " ce qu'il faut " pour forcer le chargement du module du
driver de gestion du disque dur. Si on recompile le noyau, le
initrd cherche quand meme a charger un module eventuellement
ancien.
La solution consiste a utiliser un autre initrd pour le nouveau
noyau. Pour cela, il faut modifier le fichier de config de LILO.
Consulter le fichier /usr/src/linux/Documentation/initrd.txt (les
pointeurs y sont un peu anciens mais j'ai fini par tout trouver,
surtout le tres utile initrd-example.tgz).
Exemple de /etc/lilo/conf avec 2 initrd :
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
message = /boot/boot.message-2.0.x
image=/boot/vmlinuz-2.0.30
label=linux
root=/dev/sda1
noinitrd
read-only
image=/boot/vmlinuz-2.0.18
label=redh
root=/dev/sda1
initrd=/boot/initrd-2.0.18
read-only
CCoommmmeennttaaiirreess
+o des messages indiquent parfois, durant le demarrage (depmod),
que des modules inutiles existent (cas des Red Hat apres
recompilation du noyau sans mise-a-jour). On peut s'en
affranchir en detruisant /lib/modules/NUMERO_DE_VERSION avant de
reinstaller les modules (make modules_install) mais cela n'en
vaut pas la peine car risque de rendre inoperant le noyau livre
par la distribution ;
+o _P_. _S_a_r_a_t_x_a_g_a : Les " modules versions " qui etaient supposees
permettre d'utiliser des modules d'un noyau A avec un noyau B ne
marchent pas, n'ont jamais marche (d'ailleurs dans les 2.1.* ca
a ete completemment reecrit). Il faut recompiler en synchro le
noyau et les modules ;
+o _A_n_o_n_y_m_e : Le fichier de config peut s'appeler modules.conf ou
conf.modules. Mais si les deux existent, alors c'est le deuxieme
qui sera lu.
66..33.. oobbjjdduummpp,, bbiinnuuttiillss
QQuueessttiioonn
La compilation d'un noyau echoue avec un message concernant
objdump, par exemple "objdump: 0x100000: No such file or
directory".
RReeppoonnsseess
+o _N_. _S_o_r_i_a_n_o :
Faire gaffe aux versions recentes des binutils (2.8.x) la
syntaxe de objdump et objcopy a change. Ca ne marche plus avec
les Makefiles du noyau 2.0.x ;
+o _R_. _C_a_r_d:
Je viens de compiler un noyau 2.0.30 avec les binutils 2.8.1.0.1
et je n'ai pas eu de probleme. Je me demande si cela n'est pas
du au fait que certains ont upgrade leurs binutils *sans*
supprimer /usr/bin/encaps, comme cela est dit dans
release.binutils-2.8.1.0.1. En effet, le Makefile du noyau teste
la presence de encaps pour determiner quelle version des
binutils on a. Si encaps est present, objdump est utilise, sinon
c'est objcopy qui l'est.
66..44.. ee22ffsscckk :: ddeelleetteedd iinnooddee ...... zzeerroo ddttiimmee
QQuueessttiioonn
e2fsck, par exemple lorsqu'il est invoque automatiquement durant
le boot, produit parfois un message :
Deleted inode XXX has zero dtime.
Set dtime? yes.
RReeppoonnssee
_R_. _C_a_r_d :
Chaque i-noeud possede un champ dtime qui contient la date de
suppression du dernier fichier associe a cet i-noeud. Le but de
ce champ est de permettre d'effectuer des traitements
particuliers quand/si une fonction " undelete " sera incorporee
a Ext2fs.
Lorsqu'un fichier est supprime, le noyau met a jour ce champ
dtime (avec la date courante) et l'i-noeud est reecrit sur
disque. Quand un i-noeud est alloue, le champ dtime est mis a
zero.
fsck verifie que le champ dtime est non nul pour tout i-noeud
non alloue (dont le nombre de liens est nul). Si ce n'est pas le
cas, il affiche ce message d'erreur. Generalement, cette erreur
peut etre due a des redemarrages brutaux, a des problemes de
disque ou a des bogues dans Ext2fs.
De toutes facons, c'est une erreur tres benigne dans la mesure
ou dtime n'est pas (encore) utilise.
66..55.. //eettcc//ppaasssswwdd iiss lloocckkeedd
QQuueessttiioonn
"/etc/passwd is locked, try again later"
RReeppoonnssee
_J_._-_C_. _D_e_l_e_p_i_n_e : Tu as du utiliser la commande adduser et la
quitter brutalement. La version RedHat de cette commande cree un
fichier /etc/.pwd.lock afin de s'assurer l'exclusivite sur le
fichier /etc/passwd.
Solution donc : verifier quil n'y a pas un autre adduser qui
tourne quelque part puis supprimer le fichier /etc/.pwd.lock
66..66.. bbllooqquuee lloorrss dduu ddeemmaarrrraaggee ((bboooott)) uunnaabbllee ttoo ggeett ooffffiicciiaall nnaammee ffoorr
llooccaall mmaacchhiinnee"",, oouu bbiieenn sseennddmmaaiill ssee
RReeppoonnssee
Il faut utiliser un noyau integrant TCP/IP.
/etc/hosts doit contenir :
127.0.0.1 FQDN localhost loopback N
ou :
+o "FQDN" remplace le nom de machine complet : ce que renvoie la
commande hostname (ou uname -n)
+o "N" remplace le nom de machine sans domaine : hostname | cut -f1
-d.
66..77.. CCoouullddnn''tt ggeett ffrreeee ppaaggee
RReeppoonnssee
_D_. _S_e_g_o_n_d_s :
Peut etre cause par un manque de memoire. Rajouter par exemple
de la memoire virtuelle (swap) en utilisant mkswap puis swapon.
66..88.. sshhuuttddoowwnn:: aallrreeaaddyy rruunnnniinngg
QQuueessttiioonn
"halt,shutdown,reboot" en tant que root ou Ctrl+Alt+Supr me
renvoient tous le message: "shutdown: already running"
RReeppoonnssee
_D_. _S_e_g_o_n_d_s, _E_. _D_a_v_i_d et _R_e_m_y _C_a_r_d:
Methode la plus elegante : shutdown -c.
Un fichier bloque le lancement d'un deuxieme shutdown lorsqu'un
autre est deja en cours. Il s'agit de shutdown.pid, souvent
place dans /var/run ou bien dans /etc. Le detruire.
66..99.. bbaadd ddaattaa iinn //vvaarr//rruunn//uuttmmpp
RReeppoonnssee
Des binaires libc5 et libc6 coexistent sur le systeme, or le
format de /var/run/utmp a evolue.
66..1100.. iissoo99666600 ccaannnnoott bbee mmoouunntteedd bbyy tthhee kkeerrnneell
RReeppoonnssee
Recompiler un noyau avec prise en charge du systeme de fichiers
("filesystem") de type iso9660.
66..1111.. ssiiggnnaall 1111,, 44 oouu 66
RReeppoonnssee
Document signal 11 <http://www.linux-
france.com/article/sig11-fr/>
66..1122.. AAllllooccaattiioonn mmeemmooiirree ((sseeggmmeennttaattiioonn ffaauulltt))
QQuueessttiioonn
Mon programme C utilisant malloc() echoue avec le message :
"segmentation fault".
RReeppoonnssee
_J_. _K_a_c_h_e_l_h_o_f_f_e_r_-_B_e_r_t_r_a_n_d :
Cela peut etre cause par une erreur de programmation
(dereferencement de pointeur 'pendouillant' ("dangling"), c'est-
a-dire dont la valeur est incorrecte.
Mais aussi par le fait que Linux pratique la sur-reservation :
malloc retourne un pointeur sans vraiment allouer de memoire.
Elle sera effectivement allouee lorsque la premiere ecriture
sera faite. Le systeme peut alors decouvrir qu'il ne reste pas
de memoire disponible et terminer le processus par un
"segmentation fault".
77.. BBiibblliiootthheeqquueess,, ccoommppiillaattiioonn,, ddeevveellooppppeemmeenntt
77..11.. DDeetteeccttiioonn ffuuiitteess ((ddeevveellooppppeemmeenntt,, pprrooggrraammmmaattiioonn,, lleeaakk,, aallllooccaa--
ttiioonn,, ddaanngglliinngg,, ppeennddoouuiillllaanntt))
QQuueessttiioonn
Existe-t-il un produit capable de m'aider a tester un logiciel
durant son developpement ?
RReeppoonnssee
La plupart des outils se trouvent dans le reperoire
/pub/Linux/lang/c des sites de FTP anonyme Linux.
+o checker ;
+o dbmalloc ;
+o electric-fence ;
+o Insure++ (commercial) ;
+o ccmalloc ;
+o Libretto.
77..22.. "" mmaakkee zzlliilloo " ne fonctionne pas
RReeppoonnssee
Decommenter la ligne #INSTALL_PATH=/boot du Makefile.
77..33.. BBiibblliiootthheeqquueess ppaarrttaaggeeeess iiggnnoorreeeess ((lliibbrraaiirriiee,, sshhlliibb,, sshhaarreedd))
QQuueessttiioonn
Linux ne prend pas en charge les bibliotheques partagees.
RReeppoonnssee
_T_. _P_a_r_m_e_l_a_n (edite) : En tant que root :
+o editer le fichier /etc/ld.so.conf afin qu'il contienne les noms
de tous les repertoires abritant des bibliotheques partagees
(/lib et /usr/lib sont pris en charge par defaut). Y ajouter par
exemple /usr/local/lib, /usr/X11/lib ...
+o lancer la commande suivante dans tous ces repertoires :
/bin/ls *.so.? | sed -e 's/\(.*\.so\)\(\..\)/ln -sf \1\2 \1/' | sh -x
+o invoquer ldconfig
77..44.. BBiibblliiootthheeqquuee,, ssttaattiiqquuee,, ddyynnaammiiqquuee ((lliinnkk,, lliieenn,, eeddiittiioonn,,
lliibbrraaiirriiee,, ccoommppiillaattiioonn,, ssttaattiicc))
QQuueessttiioonn
Comment compiler un binaire abritant certains membres de
bibliotheques sous forme statique, d'autres sous forme "
dynamique " ?
RReeppoonnsseess
_L_. _W_a_c_r_e_n_i_e_r (revise par _R_. _C_a_r_d) :
+o Noms de bibliotheques a compiler en mode statique : placer
-Bstatic avant et -Bdynamic apres, si on utilise directement ld,
ou -Wl,-Bstatic et -Wl,-Dynamic, si on utilise gcc pour
effectuer l'edition des liens.
+o Autre methode : lier en fournissant le nom complet de la
librairie statique (.a).
77..55.. MMeessssaaggee "" oouutt ooff mmeemmoorryy ""
QQuueessttiioonn
Certains binaires avortent avec le message " out of memory ".
RReeppoonnsseess
Peut-etre lie a la moindre tolerance des routines de gestion de
la memoire offertes par les nouvelles libc. Recompiler les
programmes grace a la libc active sur le systeme.
77..66.. VVeerrssiioonn dd''eexxeeccuuttaabbllee,, bbiibblliiootthheeqquueess ppaarrttaaggeeeess
QQuueessttiioonn
Comment determiner le type d'un executable ou obtenir la liste
des bibliotheques partagees employees ?
RReeppoonnssee
Commande ldd.