<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Oudoubah</id>
	<title>Lea Linux - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Oudoubah"/>
	<link rel="alternate" type="text/html" href="https://lea-linux.org/documentations/Sp%C3%A9cial:Contributions/Oudoubah"/>
	<updated>2026-04-08T13:43:22Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Merlin8282&amp;diff=13586</id>
		<title>Discussion utilisateur:Merlin8282</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Discussion_utilisateur:Merlin8282&amp;diff=13586"/>
		<updated>2006-09-04T09:50:40Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : Hydroxyde de monooxygène&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Hydroxyde de monooxygène ==&lt;br /&gt;
&lt;br /&gt;
Tu as écrit, dans la section &amp;quot;ce que je n&#039;aime pas&amp;quot; : &amp;quot;le monoxyde de dihydrogène sauf pour boire&amp;quot;. Serais-tu resté trop longtemps en compagnie de félins et aurais-tu adopté leur méthode de nettoyage à la place de la douche ? LOL ;-P&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=11102</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=11102"/>
		<updated>2005-12-11T18:47:36Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Un petit poème pour ma Léa ;-) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ient vers moi, ma petite Léa, &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;coute ce que ton coeur te dit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne chose sur moi à savoir tu dois:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039;énophile avec les BSDistes je suis.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;u aimes SysV et BSD init,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;rpmi, apt-get et emerge t&#039;exitent.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ourons seuls sur la banquise électronique&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù nous éviterons tous les kernel panic.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne fois seuls, tranquilles et amoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;essons nos baisers langoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039;âtons-nous, cachons-nous des fenêtres&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;clipsons-nous, conspirons et peut-être&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;éussirons-nous du web à devenir maître&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;vec passion et engouement&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;oyageons sur tous les continents&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rigeons partout des statues, déposons notre emblême&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ar rien n&#039;est assez pour te dire que je t&#039;aime.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;a Léa sans cesse je pense à toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù que tu soies je rêve de toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039;nlassablement j&#039;aspire vivre avec toi.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== La trilogie de Kernel ==&lt;br /&gt;
&lt;br /&gt;
===  Episode 1: comment Kernel fut trouvé et ramené sur Terre par SG1 ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;NOUVEAU SUR LEA ! Le forum coin lecture !&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
C&#039;est l&#039;histoire de kernel. Il fut trouvé par l&#039;équipe SG1 sur la planète Bill. Le Dr Jackson entreprit une discussion avec lui, et découvrit que Kernel parlais en Gu&#039;lé. Après quelques mois d&#039;études sur de la langue de Kernel, Kernel appris ainsi l&#039;anglais.&lt;br /&gt;
&lt;br /&gt;
Par un beau matin, un vaisseau Goa&#039;ould s&#039;approcha de la planête. L&#039;équipe décida de s&#039;enfuir avec Kernel. Daniel cria à Kernel:&lt;br /&gt;
&amp;quot;Hurry up! Go throw Bill&#039;s Gate!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mais kernel avait très peur. Il ne savait plus quoi faire. Kernel panique!&lt;br /&gt;
&lt;br /&gt;
Daniel pris Kernel dans sa main, et l&#039;amena à la base.&lt;br /&gt;
&lt;br /&gt;
1 jour plus tard, Kernel fit un tour au niveau de la cuisine. Que vit-il? Des clafoutis! Kernel pris peur en voyant des êtres comme lui, cuits dans une infâme pâte à crèpes. Il décida de s&#039;enfuir. Grâce à sa petite taille, il réussit à passer facilement les mesures de sécurité de la base. Malheureusement, il faillit être écraser par Sam et perdit un bras.&lt;br /&gt;
&lt;br /&gt;
Kernel le manchot s&#039;abrita on ne sait où sur la Terre. Maintenant, lorsque vous verrez des cerises, vérifiez que ce n&#039;est pas Kernel! Ne mangez pas ce pauvre petit être.&lt;br /&gt;
&lt;br /&gt;
=== Episode 2: Kernel passe sur Lea-linux ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;RTFM&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Depuis le temps, Kernel s&#039;est baladé et s&#039;est informé sur notre bonne vieille Terre. Pour sa culture, il a beaucoup regardé la télé.&lt;br /&gt;
D&#039;ailleurs, l&#039;autre jour, il a vu un épisode de Titi et Gros minet :&lt;br /&gt;
Lors de cet épisode, le dernier, Grosminet réussit à choper Titi, à l&#039;ingurgiter. Kernel se met à crier Régurgite Titi, Fiéfé Minou!&lt;br /&gt;
&lt;br /&gt;
Lors de ses pérégrinations sur le net, Kernel est tombé sur ceci:&lt;br /&gt;
&lt;br /&gt;
oudoubah a écrit :&lt;br /&gt;
Ils ne disent pas RTFM une fois, mais 3:&lt;br /&gt;
Reboote Ton Foireux Microsoft&lt;br /&gt;
Reformate Ton Foutu Microsoft&lt;br /&gt;
Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sa réaction: Oudoubah, t&#039;es qu&#039;un boulet! Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Oui, chez Microsoft où se trouve 32 membres de ma famille (d&#039;où ça vient à votre avis kernel32? C&#039;est qu&#039;ils ont voulu embaucher 32 petits Kernels de la plantète Bill et les faire travailler ensemble, mais ils ne s&#039;entendent pas et se noient dans de la pâte à crêpes!, ça ne marche pas top. Oui sur les forums ils disent 3 fois RTFM d&#039;affilé, mais ça signifie:&lt;br /&gt;
# Reboote Ta Foutue Machine&lt;br /&gt;
# Reformate Ta Foute Machine&lt;br /&gt;
# Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Pour preuve que tu es un boulet, ce n&#039;est pas toi qui a lancé le thread des boulets sur lea-linux?&lt;br /&gt;
&lt;br /&gt;
=== Episode 3: Le retour de Kernel ===&lt;br /&gt;
&lt;br /&gt;
Cela fait quelques mois que Kernel a passé la porte de Bill. Depuis, les relations entre son peuple et la Terre sont au beau fixe et stables, et le traité de coopération en est à sa version 2.6.&lt;br /&gt;
&lt;br /&gt;
Kernel est de retour de Washington avec Daniel, ce dernier conduisant le pick up noir mis à sa disposition par la Navy. Ce véhicule contient le dernier cri de la technologie humaine: ABS, 6 airbags et climatisation de série, boite automatique 5 vitesses, vitres avant électrique et auto-radio RDS. Daniel étant le chauffeur, Kernel se trouve donc à la place du maure, Barry Blanc, qui est resté à la maison blanche.&lt;br /&gt;
&lt;br /&gt;
Pendant ce temps, Franck Pignon, au volant de sa buick, se rend chez Peter Browchamp, éditeur, chez qui il a rendez-vous pour déjeuner.&lt;br /&gt;
&lt;br /&gt;
Parce que la route est pleine d&#039;intersections, parce que Franck est obnubilé par son rendez-vous qui va peut être lui changer la vie, celui-ci voit le pick up de nos héros trop tard. Il freine, le c*n pile!&lt;br /&gt;
&lt;br /&gt;
Là, c&#039;est le drame! Dû à sa petite taille, les airbags n&#039;eurent pour effet que de projeter kernel violemment contre le holster de Daniel contenant le téléporteur Hazgard, l&#039;activant par mégarde.&lt;br /&gt;
&lt;br /&gt;
L&#039;instant d&#039;un flash sur l&#039;autoroute, ils se retrouvèrent au SGC. Kernel fut emporté à l&#039;infirmerie immédiatement, où il fût soigné par Daniel et Sam.&lt;br /&gt;
&lt;br /&gt;
Sam:&lt;br /&gt;
&amp;quot;Vite Daniel, on n&#039;a pas le temps de le ramener sur sa planète! Passe-moi la GCC (Gaze à Compresse Clinique)!&lt;br /&gt;
Il me faut 6mg de libc! (Liquide Interne Biologique Chauffé)! Je ne voit rien! Approchez la ncurse (Nouvelle Création Unifiant le Rétroéclairage Sans Electronique)!&lt;br /&gt;
Je le perd! Vite!&lt;br /&gt;
Vite! Le Make! (Moyen Artificiel de Killer l&#039;Entropie).&lt;br /&gt;
C&#039;est bon! On l&#039;a!&lt;br /&gt;
Mettez-le sous LILO (Liquide Incongru Lavant l&#039;Organisme)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernel s&#039;en tira, mais plus jamais on ne le surprit sur la root.&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=10407</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=10407"/>
		<updated>2005-11-06T19:38:18Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://oudoubah.deviantart.com Mes petites oeuvres sans prétention]&lt;br /&gt;
&lt;br /&gt;
== Un petit poème pour ma Léa ;-) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ient vers moi, ma petite Léa, &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;coute ce que ton coeur te dit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne chose sur moi à savoir tu dois:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039;énophile avec les BSDistes je suis.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;u aimes SysV et BSD init,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;rpmi, apt-get et emerge t&#039;exitent.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ourons seuls sur la banquise électronique&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù nous éviterons tous les kernel panic.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne fois seuls, tranquilles et amoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;essons nos baisers langoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039;âtons-nous, cachons-nous des fenêtres&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;clipsons-nous, conspirons et peut-être&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;éussirons-nous du web à devenir maître&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;vec passion et engouement&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;oyageons sur tous les continents&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rigeons partout des statues, déposons notre emblême&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ar rien n&#039;est assez pour te dire que je t&#039;aime.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;a Léa sans cesse je pense à toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù que tu soies je rêve de toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039;nlassablement j&#039;aspire vivre avec toi.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== La trilogie de Kernel ==&lt;br /&gt;
&lt;br /&gt;
===  Episode 1: comment Kernel fut trouvé et ramené sur Terre par SG1 ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;NOUVEAU SUR LEA ! Le forum coin lecture !&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
C&#039;est l&#039;histoire de kernel. Il fut trouvé par l&#039;équipe SG1 sur la planète Bill. Le Dr Jackson entreprit une discussion avec lui, et découvrit que Kernel parlais en Gu&#039;lé. Après quelques mois d&#039;études sur de la langue de Kernel, Kernel appris ainsi l&#039;anglais.&lt;br /&gt;
&lt;br /&gt;
Par un beau matin, un vaisseau Goa&#039;ould s&#039;approcha de la planête. L&#039;équipe décida de s&#039;enfuir avec Kernel. Daniel cria à Kernel:&lt;br /&gt;
&amp;quot;Hurry up! Go throw Bill&#039;s Gate!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mais kernel avait très peur. Il ne savait plus quoi faire. Kernel panique!&lt;br /&gt;
&lt;br /&gt;
Daniel pris Kernel dans sa main, et l&#039;amena à la base.&lt;br /&gt;
&lt;br /&gt;
1 jour plus tard, Kernel fit un tour au niveau de la cuisine. Que vit-il? Des clafoutis! Kernel pris peur en voyant des êtres comme lui, cuits dans une infâme pâte à crèpes. Il décida de s&#039;enfuir. Grâce à sa petite taille, il réussit à passer facilement les mesures de sécurité de la base. Malheureusement, il faillit être écraser par Sam et perdit un bras.&lt;br /&gt;
&lt;br /&gt;
Kernel le manchot s&#039;abrita on ne sait où sur la Terre. Maintenant, lorsque vous verrez des cerises, vérifiez que ce n&#039;est pas Kernel! Ne mangez pas ce pauvre petit être.&lt;br /&gt;
&lt;br /&gt;
=== Episode 2: Kernel passe sur Lea-linux ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;RTFM&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Depuis le temps, Kernel s&#039;est baladé et s&#039;est informé sur notre bonne vieille Terre. Pour sa culture, il a beaucoup regardé la télé.&lt;br /&gt;
D&#039;ailleurs, l&#039;autre jour, il a vu un épisode de Titi et Gros minet :&lt;br /&gt;
Lors de cet épisode, le dernier, Grosminet réussit à choper Titi, à l&#039;ingurgiter. Kernel se met à crier Régurgite Titi, Fiéfé Minou!&lt;br /&gt;
&lt;br /&gt;
Lors de ses pérégrinations sur le net, Kernel est tombé sur ceci:&lt;br /&gt;
&lt;br /&gt;
oudoubah a écrit :&lt;br /&gt;
Ils ne disent pas RTFM une fois, mais 3:&lt;br /&gt;
Reboote Ton Foireux Microsoft&lt;br /&gt;
Reformate Ton Foutu Microsoft&lt;br /&gt;
Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sa réaction: Oudoubah, t&#039;es qu&#039;un boulet! Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Oui, chez Microsoft où se trouve 32 membres de ma famille (d&#039;où ça vient à votre avis kernel32? C&#039;est qu&#039;ils ont voulu embaucher 32 petits Kernels de la plantète Bill et les faire travailler ensemble, mais ils ne s&#039;entendent pas et se noient dans de la pâte à crêpes!, ça ne marche pas top. Oui sur les forums ils disent 3 fois RTFM d&#039;affilé, mais ça signifie:&lt;br /&gt;
# Reboote Ta Foutue Machine&lt;br /&gt;
# Reformate Ta Foute Machine&lt;br /&gt;
# Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Pour preuve que tu es un boulet, ce n&#039;est pas toi qui a lancé le thread des boulets sur lea-linux?&lt;br /&gt;
&lt;br /&gt;
=== Episode 3: Le retour de Kernel ===&lt;br /&gt;
&lt;br /&gt;
Cela fait quelques mois que Kernel a passé la porte de Bill. Depuis, les relations entre son peuple et la Terre sont au beau fixe et stables, et le traité de coopération en est à sa version 2.6.&lt;br /&gt;
&lt;br /&gt;
Kernel est de retour de Washington avec Daniel, ce dernier conduisant le pick up noir mis à sa disposition par la Navy. Ce véhicule contient le dernier cri de la technologie humaine: ABS, 6 airbags et climatisation de série, boite automatique 5 vitesses, vitres avant électrique et auto-radio RDS. Daniel étant le chauffeur, Kernel se trouve donc à la place du maure, Barry Blanc, qui est resté à la maison blanche.&lt;br /&gt;
&lt;br /&gt;
Pendant ce temps, Franck Pignon, au volant de sa buick, se rend chez Peter Browchamp, éditeur, chez qui il a rendez-vous pour déjeuner.&lt;br /&gt;
&lt;br /&gt;
Parce que la route est pleine d&#039;intersections, parce que Franck est obnubilé par son rendez-vous qui va peut être lui changer la vie, celui-ci voit le pick up de nos héros trop tard. Il freine, le c*n pile!&lt;br /&gt;
&lt;br /&gt;
Là, c&#039;est le drame! Dû à sa petite taille, les airbags n&#039;eurent pour effet que de projeter kernel violemment contre le holster de Daniel contenant le téléporteur Hazgard, l&#039;activant par mégarde.&lt;br /&gt;
&lt;br /&gt;
L&#039;instant d&#039;un flash sur l&#039;autoroute, ils se retrouvèrent au SGC. Kernel fut emporté à l&#039;infirmerie immédiatement, où il fût soigné par Daniel et Sam.&lt;br /&gt;
&lt;br /&gt;
Sam:&lt;br /&gt;
&amp;quot;Vite Daniel, on n&#039;a pas le temps de le ramener sur sa planète! Passe-moi la GCC (Gaze à Compresse Clinique)!&lt;br /&gt;
Il me faut 6mg de libc! (Liquide Interne Biologique Chauffé)! Je ne voit rien! Approchez la ncurse (Nouvelle Création Unifiant le Rétroéclairage Sans Electronique)!&lt;br /&gt;
Je le perd! Vite!&lt;br /&gt;
Vite! Le Make! (Moyen Artificiel de Killer l&#039;Entropie).&lt;br /&gt;
C&#039;est bon! On l&#039;a!&lt;br /&gt;
Mettez-le sous LILO (Liquide Incongru Lavant l&#039;Organisme)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernel s&#039;en tira, mais plus jamais on ne le surprit sur la root.&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Trucs:Aide-m%C3%A9moire_sur_la_m%C3%A9moire&amp;diff=10024</id>
		<title>Trucs:Aide-mémoire sur la mémoire</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Trucs:Aide-m%C3%A9moire_sur_la_m%C3%A9moire&amp;diff=10024"/>
		<updated>2005-10-26T13:01:42Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;Jonesy&amp;lt;jonesy@wanadoo.fr&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La mémoire du pingouin est multiple et il peut être un véritable éléphant ! ;-)&lt;br /&gt;
&lt;br /&gt;
D&#039;abord, il y a la &#039;&#039;&#039;RAM&#039;&#039;&#039;, puis la &#039;&#039;&#039;SWAP&#039;&#039;&#039;, qui est une partition du disque dur ou un fichier (plus souple, mais moins performant). Linux peut gérer plusieurs zones de SWAP, partitions et fichiers mélangés.&lt;br /&gt;
&lt;br /&gt;
Toute la mémoire à la disposition de Linux (RAM + SWAP + SWAP...) est gérée de façon transparente. &amp;lt;br /&amp;gt;Linux réserve de la mémoire pour le noyau, les programmes indispensables et les applications, puis il utilise le reste comme un cache (buffers cache). &amp;lt;br /&amp;gt;Dans ce cache, il charge les informations utiles au fur et à mesure jusqu&#039;à remplir la RAM. Puis il remplace les informations devenues inutiles, la SWAP étant utilisée s&#039;il ne peut rien remplacer. &amp;lt;br /&amp;gt;Il est donc normal que presque toute votre RAM soit toujours utilisée.&lt;br /&gt;
&lt;br /&gt;
Histoire d&#039;enfoncer un peu plus le clou, il est fortement conseillé de &#039;&#039;&#039;déclarer une taille totale de SWAP égale à 2 fois celle de la RAM&#039;&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Voir [http://lea-linux.org/install/prepinstall.php3 Préparation à l&#039;installation de Linux].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour savoir de quelle mémoire dispose votre Linux&#039;&#039;&#039;, rien de plus simple :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;free -mt&amp;lt;/code&amp;gt; =&amp;gt; vous indiquera la mémoire totale, la mémoire physique (RAM) et la SWAP en Mo.&lt;br /&gt;
&lt;br /&gt;
Par exemple, cela donne :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;             total       used       free     shared    buffers     cached&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Mem:           249        218         31          0         74         69&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;-/+ buffers/cache:         73        176&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Swap:          127          0        127&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Total:         377        218        159&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notez que la fonction &amp;lt;code&amp;gt;free&amp;lt;/code&amp;gt; &#039;&#039;grapille&#039;&#039; quelques Mo sur la RAM suivant les options que vous utilisez. Pour avoir un décompte exacte de la RAM d&#039;une facon sympa, faites :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;linux_logo&amp;lt;/code&amp;gt; =&amp;gt; Il y a une surprise ! :-)&lt;br /&gt;
&lt;br /&gt;
Entre autres, vous avez &#039;&#039;&#039;aussi la commande&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt; =&amp;gt; qui affiche l&#039;utilisation de la mémoire par processus et des pourcentages d&#039;utilisation en temps réel.&lt;br /&gt;
&lt;br /&gt;
Suite à ces commandes vous pouvez vous apercevoir que &#039;&#039;&#039;Linux n&#039;utilise pas toute votre RAM&#039;&#039;&#039;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;allez voir [http://lea-linux.org/trucs/item21.html La mémoire n&#039;est pas totalement détectée].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour les commandes suivantes, il faut être &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Si votre ou une de vos partitions &#039;&#039;&#039;SWAP n&#039;est pas prise en compte automatiquement&#039;&#039;&#039;, alors sachez que c&#039;est le fichier &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; qui gère l&#039;utilisation des différentes zones de swap.&lt;br /&gt;
&lt;br /&gt;
La ligne correspondante à la SWAP ressemble à ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/hda2 swap swap defaults 0 0&amp;lt;/code&amp;gt; =&amp;gt; c&#039;est ce que j&#039;ai dans mon fstab. Ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/hda2 none swap defaults 0 0&amp;lt;/code&amp;gt; =&amp;gt; marche aussi d&#039;après le man.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour ajouter une zone de SWAP&#039;&#039;&#039;, il faut la créer et ajouter une ligne similaire dans &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt; en remplacant &amp;quot;&amp;lt;code&amp;gt;hda2&amp;lt;/code&amp;gt;&amp;quot; par la bonne valeur. &amp;quot;&amp;lt;code&amp;gt;hda2&amp;lt;/code&amp;gt;&amp;quot; étant la 2ème partition du 1er disque dur. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Voir aussi [http://lea-linux.org/trucs/item7.html Accélérer la swap].&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour activer la SWAP : &amp;lt;code&amp;gt;swapon&amp;lt;/code&amp;gt; et pour la désactiver : &amp;lt;code&amp;gt;swapoff&amp;lt;/code&amp;gt;, avec l&#039;option &amp;quot;&amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;&amp;quot; cela affecte toutes les zones de SWAP déclarées dans le fichier &amp;lt;code&amp;gt;/etc/fstab&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pour surveiller toute la SWAP&#039;&#039;&#039;, faites :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;swapon -s&amp;lt;/code&amp;gt; =&amp;gt; le résultat ressemble à ceci :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;Filename                        Type            Size    Used    Priority&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;/dev/hdb5                      partition      130748     0       -1&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Ce qui vous permettra de savoir si vous avez assez de SWAP et aussi assez de RAM. Car s&#039;il utilise trop souvent la SWAP cela va ralentir votre système.&lt;br /&gt;
&lt;br /&gt;
Note : L&#039;option &amp;quot;&amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&amp;quot; ne marche pas avant le &#039;&#039;&#039;Kernel 2.1.25&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Pensez à regarger le &#039;&#039;&#039;&amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt;&#039;&#039;&#039; avant de jouer avec la SWAP !&lt;br /&gt;
&lt;br /&gt;
Voilà pour la mémoire de notre pingouin.&lt;br /&gt;
&lt;br /&gt;
Ce T&amp;amp;A a été écrit par Philippe, Marc et Jonesy.&lt;br /&gt;
[[Catégorie:Trucs_Administration]]&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Trucs:3_touches_pour_lire_les_logs&amp;diff=10023</id>
		<title>Trucs:3 touches pour lire les logs</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Trucs:3_touches_pour_lire_les_logs&amp;diff=10023"/>
		<updated>2005-10-26T12:58:06Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;Oudoubah&amp;lt;oudoubah@altern.org&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu d&#039;aller constamment lire les logs (par exemple /var/log/messages), on peut utiliser la commande suivante: &amp;lt;br /&amp;gt;&amp;lt;code&amp;gt;tail -f /var/log/messages &amp;gt; /dev/tty8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi, ctrl alt F8 nous renverra sur le terminal où est affiché le log.&lt;br /&gt;
&lt;br /&gt;
Mieux, on peut faire ça dans un démon. Maintenant, j&#039;ai mes logs /var/log/message, firewall et adsl-connect au démarrage sur diverses consoles (tty8 à 10)&lt;br /&gt;
[[Catégorie:Trucs_Administration]]&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=D%C3%A9veloppement&amp;diff=9645</id>
		<title>Développement</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=D%C3%A9veloppement&amp;diff=9645"/>
		<updated>2005-10-24T10:13:36Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : maj lien vers le forum&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Développer sous Linux]]&lt;br /&gt;
= Linux : plateforme de développement =&lt;br /&gt;
&lt;br /&gt;
Cette section contient les chapitres relatifs aux outils de développement sous Linux, et à des langages qui y sont couramment utilisés.&lt;br /&gt;
&lt;br /&gt;
Pour vos questions concernant le développement dont vous ne trouvez pas la réponse ici, allez voir le forum [http://lea-linux.org/pho/list/7 développement]...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Serge Tchesmeli le 17/08/2000.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Plan-dev}}&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 17/08/2000, Serge Tchesmeli&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Environnements_graphique&amp;diff=9644</id>
		<title>Environnements graphique</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Environnements_graphique&amp;diff=9644"/>
		<updated>2005-10-24T10:07:52Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : maj liens logithèque&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Paramétrer X Window]]&lt;br /&gt;
= Configuration du système X Window =&lt;br /&gt;
&lt;br /&gt;
X Window est le sous-système graphique de Linux (voir le glossaire). &amp;lt;br /&amp;gt;Nous allons voir ici comment l&#039;installer, le configurer, régler les problèmes, etc.&lt;br /&gt;
&lt;br /&gt;
La [http://lea-linux.org/cached/index/Logith%C3%A8que:Index.html logithèque de Léa] présente une [http://lea-linux.org/cached/index/Logith%C3%A8que:Gestionnaires_d%27environnement.html liste de gestionnaires d&#039;environnement et de fenêtres pour Linux], avec les liens vers leurs sites web, et des copies d&#039;écran.&lt;br /&gt;
&lt;br /&gt;
{{Plan-xwindow}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par J.C. Cardot le 19/12/1999.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 19/12/1999, J.C. Cardot&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Logiciels&amp;diff=9643</id>
		<title>Logiciels</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Logiciels&amp;diff=9643"/>
		<updated>2005-10-24T10:06:01Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : maj lien logithèque&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Utiliser vos logiciels]]&lt;br /&gt;
= Installer et utiliser un logiciel =&lt;br /&gt;
&lt;br /&gt;
Dans cette section, vous trouverez des articles sur l&#039;installation, la configuration et l&#039;utilisation de logiciels sous Linux.&lt;br /&gt;
&lt;br /&gt;
Si vous cherchez :&lt;br /&gt;
&lt;br /&gt;
* une liste de logiciels pour Linux, allez voir [http://lea-linux.org/cached/index/Logith%C3%A8que:Index.html la logithèque de Léa].&lt;br /&gt;
* des informations sur les packages nécessaires pour compiler une application (ou programme ou logiciel), allez voir [[Kernel-compil|cette rubrique]].&lt;br /&gt;
* comment [compil.php3 installer une application] (ou programme ou logiciel) fournie sous la forme d&#039;un fichier &amp;lt;code&amp;gt;.tar.gz&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.tar.bz2&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;.tar&amp;lt;/code&amp;gt; (on dit : d&#039;après les sources), installation qui fonctionne avec toutes les distributions mais qui présente le désavantage de ne pas utiliser la gestion des programmes de votre distribution.&lt;br /&gt;
* comment [[Software-soft_gere-rpm|installer une application]] (ou programme ou logiciel) fournie sous la forme d&#039;un fichier RPM (pour Mandrake, RedHat et SuSE)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Plan-software-soft_gere}}&lt;br /&gt;
{{Plan-software-soft_texte}}&lt;br /&gt;
{{Plan-software-soft_edit}}&lt;br /&gt;
{{Plan-software-soft_grave}}&lt;br /&gt;
{{Plan-software-soft_emul}}&lt;br /&gt;
{{Plan-software-soft_message}}&lt;br /&gt;
{{Plan-software-soft_multi}}&lt;br /&gt;
{{Plan-software-jeux}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par J.C. Cardot le 18/02/2000.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 18/02/2000, J.C. Cardot&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Compiler_le_noyau&amp;diff=9641</id>
		<title>Compiler le noyau</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Compiler_le_noyau&amp;diff=9641"/>
		<updated>2005-10-24T09:50:51Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : maj des liens vers doc lilo, grub et loadlin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Configurer votre noyau]]&lt;br /&gt;
= Le noyau (kernel) de Linux : le compiler =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Le noyau (kernel) de Linux : le compiler&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par Jean-Christophe&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Où vous apprendrez à compiler votre noyau Linux sans soucis.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quelques rappels ==&lt;br /&gt;
Le noyau est le coeur du système. C&#039;est lui qui, entre autres, gère la mémoire, contient les pilotes du matériel, ordonne les différentes tâches, gère le support des différents protocoles,...&lt;br /&gt;
&lt;br /&gt;
Le noyau, ou kernel, est composé d&#039;une partie statique, à laquelle on peut greffer des modules.&lt;br /&gt;
La partie statique sera toujours chargée en mémoire, tandis que les module ne le seront qu&#039;en cas de besoin.&lt;br /&gt;
&lt;br /&gt;
== Vous avez besoin d&#039;un nouveau noyau si : ==&lt;br /&gt;
&lt;br /&gt;
* vous avez un matériel dont le support a été ajouté dans une nouvelle version du noyau,&lt;br /&gt;
* un trou de sécurité a été découvert dans le noyau actuel, ce problème étant réglé dans une nouvelle version,&lt;br /&gt;
* vous souhaitez toujours avoir le dernier noyau possible :)&lt;br /&gt;
* comme tout bon Geek, vous aimez compiler votre kernel ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;La plupart du temps, vous n&#039;avez pas réellement besoin de nouveau noyau.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Quel noyau? ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, pour savoir quel noyau on utilise, il suffit de lancer &amp;lt;tt&amp;gt;uname -sr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note sur la numérotation des noyaux :&#039;&#039;&#039;&amp;lt;br /&amp;gt;Les noyaux sont numérotés sur 3 nombres x.y.z.&lt;br /&gt;
&lt;br /&gt;
* Versions stables : le nombre du milieu (y) est pair. Par exemple : 2.&#039;&#039;&#039;4&#039;&#039;&#039;.31 ou 2.&#039;&#039;&#039;6&#039;&#039;&#039;.13.&lt;br /&gt;
* Versions de développement : le nombre du milieu (y) est impair, par exemple 2.&#039;&#039;&#039;5&#039;&#039;&#039;.75. Attention, il n&#039;est pas recommandé d&#039;utiliser un noyau d&#039;une version de développement, car ces noyaux ne sont pas - a priori - stables.&lt;br /&gt;
&lt;br /&gt;
De plus, on peut différencier les sources [http://www.kernel.org Vanilla], qui sont les sources non patchées. Les distributions peuvent proposer des noyaux légèrement modifiés, optimisés pour telle ou telle architecture, etc.&amp;lt;br/&amp;gt; Le mieux est peut être d&#039;installer la version du noyau via le système de paquetages de la distribution (mais rien n&#039;empêche d&#039;utiliser les &#039;&#039;vanilla sources&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut vérifier que &amp;lt;tt&amp;gt;/usr/src/linux&amp;lt;/tt&amp;gt; est un lien vers le répertoire contenant les sources du noyau à compiler:&lt;br /&gt;
&amp;lt;code&amp;gt;ln -sf /usr/src/linux-x.y.z /usr/src/linux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dis-moi qui tu es, je te dirai quoi compiler == &lt;br /&gt;
&lt;br /&gt;
Avant de se lancer dans l&#039;aventure, il est important de connaître son matériel, afin de ne pas oublier par exemple le support du controleur IDE sur lequel se trouve le disque !&lt;br /&gt;
&lt;br /&gt;
Pour ne rien oublier, il existe quelques petits outils bien sympathiques.&lt;br /&gt;
&#039;&#039;lspci&#039;&#039;, provenant des [http://http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml pciutils] pour voir ce que l&#039;on a sur les ports pci,  &#039;&#039;lsusb&#039;&#039;, provenant des [http://www.linux-usb.org/ usbutils], pour savoir ce que l&#039;on a sur les ports usb.&lt;br /&gt;
Il existe également [ftp://ftp.iqchoice.com/pub/people/rail/gmso/ hwinfo] qui peut nous donner pas mal de renseignements sur notre matériel.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ces petits softs sont disponibles en tant que paquet dans pas mal de distributions, et sont peut être déjà installés.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;on connaît son matériel, on va pouvoir passer à l&#039;étape suivante.&lt;br /&gt;
&lt;br /&gt;
== Prérequis == &lt;br /&gt;
&lt;br /&gt;
Avant de passer à la suite il faut:&lt;br /&gt;
* avoir l&#039;environnement de développement &amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;&lt;br /&gt;
* si on souhaite utiliser l&#039;interface graphique sous X, il faut autoriser l&#039;affichage à &#039;&#039;root&#039;&#039; avec &amp;lt;code&amp;gt;xhost +&amp;lt;/code&amp;gt;&lt;br /&gt;
* devenir &#039;&#039;root&#039;&#039; (donc avoir le droit de faire des bêtises!): &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
* enfin, il faut aller dans le répertoire &amp;lt;code&amp;gt;cd /usr/src/linux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le noyau, il y a 4 possibilités:&lt;br /&gt;
* modifier le &amp;lt;tt&amp;gt;.config&amp;lt;/tt&amp;gt; à la main,&lt;br /&gt;
* lancer la commande &amp;lt;code&amp;gt;make config&amp;lt;/code&amp;gt;. Dans ce cas, on devra répondre à toutes les questions une par une,&lt;br /&gt;
* lancer la commande &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt;. Ici, on va configurer le noyau via une interface graphique en ncurses (mode semi-graphique),&lt;br /&gt;
* lancer la commande &amp;lt;code&amp;gt;make xconfig&amp;lt;/code&amp;gt;. L&#039;interface ici sera graphique sous X&lt;br /&gt;
&lt;br /&gt;
=== Les options ===&lt;br /&gt;
&lt;br /&gt;
Le moment est venu de choisir vos options. &amp;lt;br /&amp;gt;Si c&#039;est la première fois que vous compilez le noyau, je vous conseille de les passer toutes en revue les unes après les autres, dans l&#039;ordre, afin de voir si elles s&#039;appliquent à vous ou non.&lt;br /&gt;
&lt;br /&gt;
De manière générale, il est bon de modulariser un maximum de choses, mais tout n&#039;est pas possible (enfin... pas simplement :) &amp;lt;br /&amp;gt;Par exemple, vous ne devriez pas mettre en module ce qui vous permet de monter votre partition racine. Si celle-ci se situe sur un disque IDE, ne mettez pas le support IDE en module, de même si elle se situe sur un disque SCSI, ne mettez pas le support SCSI en module. Si votre partition racine est montée par le réseau et NFS (cas des stations diskless par exemple), ne mettez pas le support de la carte réseau et le support NFS en modules. &amp;lt;br /&amp;gt;En effet, les modules sont chargés après le noyau, et si les modules IDE sont sur un disque IDE, il faut d&#039;abord les charger avant de pouvoir accéder au disque, mais pour les charger, il faut avoir accès au disque et donc les avoir chargés avant... vous voyez le cercle vicieux ? &amp;lt;br /&amp;gt;En fait, il est possible de contourner ce problème, mais ce document s&#039;adresse aux débutants...&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tout le reste peut être compilé en modules, c&#039;est à dire carte son, carte réseau (sauf si votre racine est déportée sur un serveur NFS comme dit précédemment), le support ppp (pour internet par modem), le CD-ROM, etc. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici ci-dessous les options &#039;&#039;&#039;classiques&#039;&#039;&#039; à utiliser pour une configuration classique. Si rien n&#039;est dit ici à propos d&#039;une option, regardez l&#039;aide ou conservez la valeur par défaut ; vous pouvez aussi répondre &#039;N&#039; à tous les périphériques que vous ne possédez pas, comme par exemple, IDE/ATAPI TAPE, etc.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans le doute, il vaut mieux laisser les options par défaut.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Attention&#039;&#039;: cette doc a été mise à jour en se basant sur la version 2.6.13 du noyau! Si la version est différente (notamment la branche), il est possible que certaines options n&#039;existent pas ou aient été déplacées.&lt;br /&gt;
&lt;br /&gt;
==== Code maturity level options ====&lt;br /&gt;
&lt;br /&gt;
Ca ne coûte rien de répondre Y ici!&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Prompt for development and/or incomplete code/drivers&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Select only drivers expected to compile cleanly&amp;lt;/code&amp;gt;: Y&lt;br /&gt;
&lt;br /&gt;
==== General setup ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Support for paging of anonymous memory (swap)&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;System V IPC&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Sysctl support&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
Pour permettre le hotplug:&lt;br /&gt;
&amp;lt;code&amp;gt;Support for hot-pluggable devices&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
Et enfin:&lt;br /&gt;
&amp;lt;code&amp;gt;Kernel userspace events&amp;lt;/code&amp;gt;: Y&lt;br /&gt;
&lt;br /&gt;
==== Loadable module support ====&lt;br /&gt;
&lt;br /&gt;
Pour que le noyau puisse charger et décharger les modules selon ses besoins:&lt;br /&gt;
&amp;lt;code&amp;gt;Enable loadable module support&amp;lt;/code&amp;gt;: Y&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Module unloading&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Automatic kernel module loading&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Processor type and features ====&lt;br /&gt;
&lt;br /&gt;
C&#039;est ici que vous définissez quel est votre type de processeur.&lt;br /&gt;
&amp;lt;code&amp;gt;Preemptible kernel&amp;lt;/code&amp;gt;: Y. Grâce à cette option, le noyau devient &amp;quot;préemptif&amp;quot;. Cela permet d&#039;avoir un noyau plus réactif.&lt;br /&gt;
&lt;br /&gt;
==== Bus options ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCI support&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PCI device name database&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Executable file format ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; Kernel support for ELF binaries&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; Kernel support for MISC binaries&amp;lt;/code&amp;gt;: M ou Y &lt;br /&gt;
&lt;br /&gt;
==== Graphics support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Support for frame buffer devices&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
A vous de choisir votre carte graphique!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logo configuration&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
à vous de voir si vous voulez un beau logo de tux au démarrage!&lt;br /&gt;
&lt;br /&gt;
==== Memory technologie Device ====&lt;br /&gt;
&lt;br /&gt;
à voir selon votre matériel!&lt;br /&gt;
&lt;br /&gt;
==== block devices ====&lt;br /&gt;
&amp;lt;code&amp;gt;Loopback device support&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;RAM disk support&amp;lt;/code&amp;gt; Y ou M si vous comptez utiliser un ramdisk&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;Initial RAM disk (initrd) support&amp;lt;/code&amp;gt; si vous comptez démarrer avec un ramdisk.&lt;br /&gt;
&lt;br /&gt;
==== Device drivers ====&lt;br /&gt;
&lt;br /&gt;
Dans la section &amp;lt;code&amp;gt;character devices&amp;lt;/code&amp;gt;, il faut mettre en module la gestion de l&#039;agp (&amp;lt;code&amp;gt;/dev/agpart&amp;lt;/code&amp;gt;), ainsi que celle de son chipset.&amp;lt;br/&amp;gt;&lt;br /&gt;
Dans la section &amp;lt;code&amp;gt;ATA/ATAPI/MFM/RLL support&amp;lt;/code&amp;gt;, il ne faut pas oublier de mettre Y pour la gestion de la DMA.&lt;br /&gt;
&lt;br /&gt;
==== SCSI device support ====&lt;br /&gt;
&lt;br /&gt;
C&#039;est ici que vous pouvez configurer, en plus du SCSI, les lecteurs IOMEGA ZIP sur port parallèle, ainsi que le bus SATA.&lt;br /&gt;
A partir du noyau 2.6, on n&#039;utilise plus d&#039;interface SCSI pour les graveurs de CD/DVD.&lt;br /&gt;
&lt;br /&gt;
==== Networking options ====&lt;br /&gt;
&lt;br /&gt;
Comme d&#039;habitude, on ne garde, pour les pilotes, que ceux du matériel (ARCnet, TokenRing peuvent être désactivés. Ne garder dans l&#039;ethernet que ce qui concerne la carte réseau,...)&lt;br /&gt;
Si vous ne comptez pas utilisez l&#039;IPv6 (ou si vous vous demandez ce que c&#039;est), vous pouvez le supprimer.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;IrDA et le Bluetooth peut être désactivé si vous ne l&#039;utilisez pas.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je vous conseille quand même de garder le &amp;lt;code&amp;gt;PPP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ISDN ====&lt;br /&gt;
&lt;br /&gt;
Ceci concerne les connexions numéris.&lt;br /&gt;
&lt;br /&gt;
==== Unix98 PTY ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Unix98 PTY support: Y&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
256 est un bon nombre maximum.&lt;br /&gt;
&lt;br /&gt;
==== Filesystems ====&lt;br /&gt;
&lt;br /&gt;
Ici, vous choisissez les systèmes de fichiers dont vous avez besoin (ext2, ext3, éventuellement ReiserFS).&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Kernel automounter version 4 support&amp;lt;/code&amp;gt;: M&amp;lt;br/&amp;gt;&lt;br /&gt;
Ne pas oublier de vérifier &amp;lt;code&amp;gt;CD-ROM/DVD Filesystems&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;DOS/FAT/NT Filesystems&amp;lt;/code&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;pseudo filesystems&amp;lt;/code&amp;gt;, mettre Y à:&lt;br /&gt;
&amp;lt;code&amp;gt;/proc&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Virtual memory file system support&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev file system support&amp;lt;/code&amp;gt; est obsolète et remplacé par &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Network File systems&amp;lt;/code&amp;gt; n&#039;est utile que si vous montez des systèmes de fichier par le réseau.&lt;br /&gt;
&lt;br /&gt;
==== Multimedia devices ====&lt;br /&gt;
&lt;br /&gt;
Ici vous ajoutez vos pilotes pour les cartes radio, ainsi que l&#039;acquisition vidéo (carte TV, webcam,...)&lt;br /&gt;
&lt;br /&gt;
==== Sound ====&lt;br /&gt;
&lt;br /&gt;
Ne pas utiliser OSS, mais ALSA.&lt;br /&gt;
&lt;br /&gt;
==== USB support ====&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser lsmod pour savoir quel module utiliser (entre EHCI, OHCI et UHCI).&lt;br /&gt;
Ensuite, c&#039;est à vous de savoir quel matériel vous avez!&lt;br /&gt;
&lt;br /&gt;
==== Watchdog cards ====&lt;br /&gt;
&lt;br /&gt;
Si vous vous demandez ce que c&#039;est, c&#039;est que vous n&#039;en avez pas besoin!&lt;br /&gt;
&lt;br /&gt;
==== Profiling support ====&lt;br /&gt;
&lt;br /&gt;
Mettre N partout&lt;br /&gt;
&lt;br /&gt;
==== Kernel hacking ====&lt;br /&gt;
&lt;br /&gt;
Même si vous ne vous sentez pas l&#039;âme d&#039;un hacker, je vous conseille de mettre Y à&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Kernel debugging&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Magic SysRq Key&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme cela, en cas de plantage du système, vous pourrez utiliser les touches magiques pour démonter les partitions et redémarrer &amp;quot;proprement&amp;quot; (sans appuyer sur le bouton reset)&lt;br /&gt;
&lt;br /&gt;
====  Security options ====&lt;br /&gt;
&lt;br /&gt;
Vous n&#039;avez sûrement pas besoin de configurer SELinux ou d&#039;autres méthodes de haute sécurité. Donc, un petit N suffit.&lt;br /&gt;
&lt;br /&gt;
====  Cryptographic options ====&lt;br /&gt;
&lt;br /&gt;
Les mettre en module ne fait pas de mal.&lt;br /&gt;
&lt;br /&gt;
====  Library routines ====&lt;br /&gt;
&lt;br /&gt;
Idem, en module, ça peut éventuellement servir.&lt;br /&gt;
&lt;br /&gt;
== La compilation ==&lt;br /&gt;
&lt;br /&gt;
Pour lancer la compilation du noyau, rien de plus simple. Il suffit de lancer:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make &amp;amp;&amp;amp; make bzImage modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La compilation peut être relativement longue.&lt;br /&gt;
&lt;br /&gt;
== Dernière étape ==&lt;br /&gt;
&lt;br /&gt;
Maintenant, on va préparer le système à redémarrer avec le nouveau noyau:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cp arch/architecture/boot/bzImage /boot/kernel-X.Y.Z&lt;br /&gt;
&amp;lt;/code&amp;gt;où &#039;&#039;architecture&#039;&#039; correspond à votre architecture (i386 pour un système 32bits,  x86_64 pour un amd64)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cp System.map /boot/System.map-X.Y.Z&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si le fichier &amp;lt;tt&amp;gt;/boot/System.map&amp;lt;/tt&amp;gt; est un lien, le supprimer, sinon le renommer.&lt;br /&gt;
Ensuite, nous allons créer le lien suivant:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /boot/System.map-X.Y.Z /boot/System.map&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Autant copier le fichier de configuration du noyau, on ne sait jamais:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cp .config /boot/config-X.Y.Z&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, si vous utilisez un ramdisk au boot, il faut le recréer en lançant la commande suivante:&amp;lt;code&amp;gt;mkinitrd&amp;lt;/code&amp;gt;, puis copier l&#039;initrd dans &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque sur &#039;&#039;&#039;initrd&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
La plupart des distributions récentes utilisent souvent par défaut un disque RAM initial (initrd) afin de démarrer le système. Ce n&#039;est pas nécessaire en général, sauf si votre système de fichiers racine &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; a besoin de modules pour être chargé (par exemple, s&#039;il se trouve sur un disque SCSI, et que le support SCSI est en modules). Si vous incluez les modules nécessaires au chargement de votre système de fichiers racine (en répondant &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; au lieu de &amp;lt;tt&amp;gt;M&amp;lt;/tt&amp;gt;), vous pouvez vous passer d&#039;initrd.&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à configurer le gestionnaire de démarrage ([http://lea-linux.org/cached/index/Admin-admin_boot-grub.html grub], [http://lea-linux.org/cached/index/Admin-admin_boot-LILO.html lilo] ou [http://lea-linux.org/cached/index/Admin-admin_boot-loadlin.html loadlin]). Pour bien le faire, le mieux est de lire la doc sur léa!&lt;br /&gt;
&lt;br /&gt;
== Annexe : copies d&#039;écran ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; donne l&#039;écran suivant :&lt;br /&gt;
&lt;br /&gt;
L&#039;écran suivant contient la liste des sous-menus de configuration. &amp;lt;br /&amp;gt;Déplacez vous avec les flèches, et tapez &#039;Entrée&#039; pour entrer dans chaque sous-menu. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| bgcolor=&amp;quot;#CCCCCC&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;font size=&amp;quot;-2&amp;quot;&amp;gt; Linux Kernel v2.2.13 Configuration&amp;lt;br /&amp;gt;  ------------------------------------------------------------------------------&amp;lt;br /&amp;gt;   +------------------------------- Main Menu -------------------------------&amp;lt;br /&amp;gt;   |  Arrow keys navigate the menu.  &amp;lt;Enter&amp;gt; selects submenus ---&amp;gt;.          |&amp;lt;br /&amp;gt;   |  Highlighted letters are hotkeys.  Pressing &amp;lt;Y&amp;gt; includes, &amp;lt;N&amp;gt; excludes, |&amp;lt;br /&amp;gt;   |  &amp;lt;M&amp;gt; modularizes features.  Press &amp;lt;Esc&amp;gt;&amp;lt;Esc&amp;gt; to exit, &amp;lt;?&amp;gt; for Help.     |&amp;lt;br /&amp;gt;   |  Legend: [*] built-in  [ ] excluded  &amp;lt;M&amp;gt; module  &amp;lt; &amp;gt; module capable     |&amp;lt;br /&amp;gt;   | +---------------------------------------------------------------------+ |&amp;lt;br /&amp;gt;   | |           Code maturity level options  ---&amp;gt;                         | |&amp;lt;br /&amp;gt;   | |           Processor type and features  ---&amp;gt;                         | |&amp;lt;br /&amp;gt;   | |           Loadable module support  ---&amp;gt;                             | |&amp;lt;br /&amp;gt;   | |           General setup  ---&amp;gt;                                       | |&amp;lt;br /&amp;gt;   | |           Plug and Play support  ---&amp;gt;                               | |&amp;lt;br /&amp;gt;   | |           Block devices  ---&amp;gt;                                       | |&amp;lt;br /&amp;gt;   | |           Networking options  ---&amp;gt;                                  | |&amp;lt;br /&amp;gt;   | |           SCSI support  ---&amp;gt;                                        | |&amp;lt;br /&amp;gt;   | |           Network device support  ---&amp;gt;                              | |&amp;lt;br /&amp;gt;   | |           Amateur Radio support  ---&amp;gt;                               | |&amp;lt;br /&amp;gt;   | |           IrDA subsystem support  ---&amp;gt;                              | |&amp;lt;br /&amp;gt;   | |           ISDN subsystem  ---&amp;gt;                                      | |&amp;lt;br /&amp;gt;   | |           Old CD-ROM drivers (not SCSI, not IDE)  ---&amp;gt;              | |&amp;lt;br /&amp;gt;   | |           Character devices  ---&amp;gt;                                   | |&amp;lt;br /&amp;gt;   | |           Filesystems  ---&amp;gt;                                         | |&amp;lt;br /&amp;gt;   | |           Console drivers  ---&amp;gt;                                     | |&amp;lt;br /&amp;gt;   | |           Sound  ---&amp;gt;                                               | |&amp;lt;br /&amp;gt;   | |           Kernel hacking  ---&amp;gt;                                      | |&amp;lt;br /&amp;gt;   | |           ---                                                       | |&amp;lt;br /&amp;gt;   | |           Load an Alternate Configuration File                      | |&amp;lt;br /&amp;gt;   | |           Save Configuration to an Alternate File                   | |&amp;lt;br /&amp;gt;   | |                                                                     | |&amp;lt;br /&amp;gt;   | +---------------------------------------------------------------------+ |&amp;lt;br /&amp;gt;   +-------------------------------------------------------------------------+&amp;lt;br /&amp;gt;   |                    &amp;lt;Select&amp;gt;    &amp;lt; Exit &amp;gt;    &amp;lt; Help &amp;gt;                     |&amp;lt;br /&amp;gt;   +-------------------------------------------------------------------------&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sur les écrans déplacez vous avec les flèches, tapez &#039;Y&#039; pour include une fonction, &#039;M&#039; pour l&#039;inclure en tant que module. Tapez &#039;?&#039; ou &#039;H&#039; pour avoir de l&#039;aide sur la fonction sélectionnée (je vous recommande de lire l&#039;aide de chaque fonction, et si vous ne comprenez pas, prenez la valeur conseillée). Tapez &#039;Esc&#039; afin de sortir d&#039;un sous-menu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Après avoir configuré votre noyau, sélectionnez &amp;quot;Save Configuration to an Alternate File&amp;quot;, afin d&#039;enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant &#039;Esc&#039; et enregistrez la configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make xconfig&amp;lt;/code&amp;gt; donne la fenêtre suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:kernel-make_xconfig.png]]&lt;br /&gt;
&lt;br /&gt;
Ce premier écran contient des boutons qui mènent aux différents sous-menus de configuration : &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:kernel-make_xconfig2.png]]&lt;br /&gt;
| Pour chaque option, cliquez sur le bouton [Help] afin de lire la documentation de l&#039;option.  &amp;lt;br /&amp;gt;Après avoir configuré votre noyau, sélectionnez &amp;quot;Store Configuration to File&amp;quot;, afin d&#039;enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant &#039;Esc&#039;, et enregistrez la configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 06/11/1999, Jean-Christophe Cardot&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=9519</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=9519"/>
		<updated>2005-10-21T09:47:25Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Episode 2: Kernel passe sur Lea-linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Un petit poème pour ma Léa ;-) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ient vers moi, ma petite Léa, &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;coute ce que ton coeur te dit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne chose sur moi à savoir tu dois:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039;énophile avec les BSDistes je suis.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;u aimes SysV et BSD init,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;rpmi, apt-get et emerge t&#039;exitent.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ourons seuls sur la banquise électronique&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù nous éviterons tous les kernel panic.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne fois seuls, tranquilles et amoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;essons nos baisers langoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039;âtons-nous, cachons-nous des fenêtres&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;clipsons-nous, conspirons et peut-être&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;éussirons-nous du web à devenir maître&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;vec passion et engouement&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;oyageons sur tous les continents&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rigeons partout des statues, déposons notre emblême&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ar rien n&#039;est assez pour te dire que je t&#039;aime.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;a Léa sans cesse je pense à toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù que tu soies je rêve de toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039;nlassablement j&#039;aspire vivre avec toi.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== La trilogie de Kernel ==&lt;br /&gt;
&lt;br /&gt;
===  Episode 1: comment Kernel fut trouvé et ramené sur Terre par SG1 ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;NOUVEAU SUR LEA ! Le forum coin lecture !&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
C&#039;est l&#039;histoire de kernel. Il fut trouvé par l&#039;équipe SG1 sur la planète Bill. Le Dr Jackson entreprit une discussion avec lui, et découvrit que Kernel parlais en Gu&#039;lé. Après quelques mois d&#039;études sur de la langue de Kernel, Kernel appris ainsi l&#039;anglais.&lt;br /&gt;
&lt;br /&gt;
Par un beau matin, un vaisseau Goa&#039;ould s&#039;approcha de la planête. L&#039;équipe décida de s&#039;enfuir avec Kernel. Daniel cria à Kernel:&lt;br /&gt;
&amp;quot;Hurry up! Go throw Bill&#039;s Gate!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mais kernel avait très peur. Il ne savait plus quoi faire. Kernel panique!&lt;br /&gt;
&lt;br /&gt;
Daniel pris Kernel dans sa main, et l&#039;amena à la base.&lt;br /&gt;
&lt;br /&gt;
1 jour plus tard, Kernel fit un tour au niveau de la cuisine. Que vit-il? Des clafoutis! Kernel pris peur en voyant des êtres comme lui, cuits dans une infâme pâte à crèpes. Il décida de s&#039;enfuir. Grâce à sa petite taille, il réussit à passer facilement les mesures de sécurité de la base. Malheureusement, il faillit être écraser par Sam et perdit un bras.&lt;br /&gt;
&lt;br /&gt;
Kernel le manchot s&#039;abrita on ne sait où sur la Terre. Maintenant, lorsque vous verrez des cerises, vérifiez que ce n&#039;est pas Kernel! Ne mangez pas ce pauvre petit être.&lt;br /&gt;
&lt;br /&gt;
=== Episode 2: Kernel passe sur Lea-linux ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;RTFM&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Depuis le temps, Kernel s&#039;est baladé et s&#039;est informé sur notre bonne vieille Terre. Pour sa culture, il a beaucoup regardé la télé.&lt;br /&gt;
D&#039;ailleurs, l&#039;autre jour, il a vu un épisode de Titi et Gros minet :&lt;br /&gt;
Lors de cet épisode, le dernier, Grosminet réussit à choper Titi, à l&#039;ingurgiter. Kernel se met à crier Régurgite Titi, Fiéfé Minou!&lt;br /&gt;
&lt;br /&gt;
Lors de ses pérégrinations sur le net, Kernel est tombé sur ceci:&lt;br /&gt;
&lt;br /&gt;
oudoubah a écrit :&lt;br /&gt;
Ils ne disent pas RTFM une fois, mais 3:&lt;br /&gt;
Reboote Ton Foireux Microsoft&lt;br /&gt;
Reformate Ton Foutu Microsoft&lt;br /&gt;
Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sa réaction: Oudoubah, t&#039;es qu&#039;un boulet! Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Oui, chez Microsoft où se trouve 32 membres de ma famille (d&#039;où ça vient à votre avis kernel32? C&#039;est qu&#039;ils ont voulu embaucher 32 petits Kernels de la plantète Bill et les faire travailler ensemble, mais ils ne s&#039;entendent pas et se noient dans de la pâte à crêpes!, ça ne marche pas top. Oui sur les forums ils disent 3 fois RTFM d&#039;affilé, mais ça signifie:&lt;br /&gt;
# Reboote Ta Foutue Machine&lt;br /&gt;
# Reformate Ta Foute Machine&lt;br /&gt;
# Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Pour preuve que tu es un boulet, ce n&#039;est pas toi qui a lancé le thread des boulets sur lea-linux?&lt;br /&gt;
&lt;br /&gt;
=== Episode 3: Le retour de Kernel ===&lt;br /&gt;
&lt;br /&gt;
Cela fait quelques mois que Kernel a passé la porte de Bill. Depuis, les relations entre son peuple et la Terre sont au beau fixe et stables, et le traité de coopération en est à sa version 2.6.&lt;br /&gt;
&lt;br /&gt;
Kernel est de retour de Washington avec Daniel, ce dernier conduisant le pick up noir mis à sa disposition par la Navy. Ce véhicule contient le dernier cri de la technologie humaine: ABS, 6 airbags et climatisation de série, boite automatique 5 vitesses, vitres avant électrique et auto-radio RDS. Daniel étant le chauffeur, Kernel se trouve donc à la place du maure, Barry Blanc, qui est resté à la maison blanche.&lt;br /&gt;
&lt;br /&gt;
Pendant ce temps, Franck Pignon, au volant de sa buick, se rend chez Peter Browchamp, éditeur, chez qui il a rendez-vous pour déjeuner.&lt;br /&gt;
&lt;br /&gt;
Parce que la route est pleine d&#039;intersections, parce que Franck est obnubilé par son rendez-vous qui va peut être lui changer la vie, celui-ci voit le pick up de nos héros trop tard. Il freine, le c*n pile!&lt;br /&gt;
&lt;br /&gt;
Là, c&#039;est le drame! Dû à sa petite taille, les airbags n&#039;eurent pour effet que de projeter kernel violemment contre le holster de Daniel contenant le téléporteur Hazgard, l&#039;activant par mégarde.&lt;br /&gt;
&lt;br /&gt;
L&#039;instant d&#039;un flash sur l&#039;autoroute, ils se retrouvèrent au SGC. Kernel fut emporté à l&#039;infirmerie immédiatement, où il fût soigné par Daniel et Sam.&lt;br /&gt;
&lt;br /&gt;
Sam:&lt;br /&gt;
&amp;quot;Vite Daniel, on n&#039;a pas le temps de le ramener sur sa planète! Passe-moi la GCC (Gaze à Compresse Clinique)!&lt;br /&gt;
Il me faut 6mg de libc! (Liquide Interne Biologique Chauffé)! Je ne voit rien! Approchez la ncurse (Nouvelle Création Unifiant le Rétroéclairage Sans Electronique)!&lt;br /&gt;
Je le perd! Vite!&lt;br /&gt;
Vite! Le Make! (Moyen Artificiel de Killer l&#039;Entropie).&lt;br /&gt;
C&#039;est bon! On l&#039;a!&lt;br /&gt;
Mettez-le sous LILO (Liquide Incongru Lavant l&#039;Organisme)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernel s&#039;en tira, mais plus jamais on ne le surprit sur la root.&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=9516</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=9516"/>
		<updated>2005-10-20T19:20:37Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : Kernel - episode 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Un petit poème pour ma Léa ;-) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ient vers moi, ma petite Léa, &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;coute ce que ton coeur te dit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne chose sur moi à savoir tu dois:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039;énophile avec les BSDistes je suis.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;u aimes SysV et BSD init,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;rpmi, apt-get et emerge t&#039;exitent.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ourons seuls sur la banquise électronique&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù nous éviterons tous les kernel panic.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne fois seuls, tranquilles et amoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;essons nos baisers langoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039;âtons-nous, cachons-nous des fenêtres&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;clipsons-nous, conspirons et peut-être&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;éussirons-nous du web à devenir maître&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;vec passion et engouement&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;oyageons sur tous les continents&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rigeons partout des statues, déposons notre emblême&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ar rien n&#039;est assez pour te dire que je t&#039;aime.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;a Léa sans cesse je pense à toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù que tu soies je rêve de toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039;nlassablement j&#039;aspire vivre avec toi.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== La trilogie de Kernel ==&lt;br /&gt;
&lt;br /&gt;
===  Episode 1: comment Kernel fut trouvé et ramené sur Terre par SG1 ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;NOUVEAU SUR LEA ! Le forum coin lecture !&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
C&#039;est l&#039;histoire de kernel. Il fut trouvé par l&#039;équipe SG1 sur la planète Bill. Le Dr Jackson entreprit une discussion avec lui, et découvrit que Kernel parlais en Gu&#039;lé. Après quelques mois d&#039;études sur de la langue de Kernel, Kernel appris ainsi l&#039;anglais.&lt;br /&gt;
&lt;br /&gt;
Par un beau matin, un vaisseau Goa&#039;ould s&#039;approcha de la planête. L&#039;équipe décida de s&#039;enfuir avec Kernel. Daniel cria à Kernel:&lt;br /&gt;
&amp;quot;Hurry up! Go throw Bill&#039;s Gate!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mais kernel avait très peur. Il ne savait plus quoi faire. Kernel panique!&lt;br /&gt;
&lt;br /&gt;
Daniel pris Kernel dans sa main, et l&#039;amena à la base.&lt;br /&gt;
&lt;br /&gt;
1 jour plus tard, Kernel fit un tour au niveau de la cuisine. Que vit-il? Des clafoutis! Kernel pris peur en voyant des êtres comme lui, cuits dans une infâme pâte à crèpes. Il décida de s&#039;enfuir. Grâce à sa petite taille, il réussit à passer facilement les mesures de sécurité de la base. Malheureusement, il faillit être écraser par Sam et perdit un bras.&lt;br /&gt;
&lt;br /&gt;
Kernel le manchot s&#039;abrita on ne sait où sur la Terre. Maintenant, lorsque vous verrez des cerises, vérifiez que ce n&#039;est pas Kernel! Ne mangez pas ce pauvre petit être.&lt;br /&gt;
&lt;br /&gt;
=== Episode 2: Kernel passe sur Lea-linux ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;RTFM&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Depuis le temps, Kernel s&#039;est baladé et s&#039;est informé sur notre bonne vieille Terre. Pour sa culture, il a beaucoup regardé la télé.&lt;br /&gt;
D&#039;ailleurs, l&#039;autre jour, il a vu un épisode de Titi et Gros minet :&lt;br /&gt;
Lors de cet épisode, le dernier, Grosminet réussit à choper Titi, à l&#039;ingurgiter. Kernel se met à crier Régurgite Titi, Fiéfé Minou!&lt;br /&gt;
&lt;br /&gt;
Lors de ses pérégrinations sur le net, Kernel est tombé sur ceci:&lt;br /&gt;
&lt;br /&gt;
oudoubah a écrit :&lt;br /&gt;
Ils ne disent pas RTFM une fois, mais 3:&lt;br /&gt;
Reboote Ton Foireux Microsoft&lt;br /&gt;
Reformate Ton Foutu Microsoft&lt;br /&gt;
Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sa réaction: Oudoubah, t&#039;es qu&#039;un boulet! Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Oui, chez Microsoft où se trouve 32 membres de ma famille (d&#039;où ça vient à votre avis kernel32? C&#039;est qu&#039;ils ont voulu embaucher 32 petits Kernels de la plantète Bill et les faire travailler ensemble, mais ils ne s&#039;entendent pas et se noient dans de la pâte à crêpes!, ça ne marche pas top. Oui sur les forums ils disent 3 fois RTFM d&#039;affilé, mais ça signifie:&lt;br /&gt;
# Reboote Ta Foutue Machine&lt;br /&gt;
# Reformate Ta Foute Machine&lt;br /&gt;
# Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Pour preuve que tu es un boulet, ce n&#039;est pas toi qui a lancé ce thread? [lea-linux.org]&lt;br /&gt;
&lt;br /&gt;
=== Episode 3: Le retour de Kernel ===&lt;br /&gt;
&lt;br /&gt;
Cela fait quelques mois que Kernel a passé la porte de Bill. Depuis, les relations entre son peuple et la Terre sont au beau fixe et stables, et le traité de coopération en est à sa version 2.6.&lt;br /&gt;
&lt;br /&gt;
Kernel est de retour de Washington avec Daniel, ce dernier conduisant le pick up noir mis à sa disposition par la Navy. Ce véhicule contient le dernier cri de la technologie humaine: ABS, 6 airbags et climatisation de série, boite automatique 5 vitesses, vitres avant électrique et auto-radio RDS. Daniel étant le chauffeur, Kernel se trouve donc à la place du maure, Barry Blanc, qui est resté à la maison blanche.&lt;br /&gt;
&lt;br /&gt;
Pendant ce temps, Franck Pignon, au volant de sa buick, se rend chez Peter Browchamp, éditeur, chez qui il a rendez-vous pour déjeuner.&lt;br /&gt;
&lt;br /&gt;
Parce que la route est pleine d&#039;intersections, parce que Franck est obnubilé par son rendez-vous qui va peut être lui changer la vie, celui-ci voit le pick up de nos héros trop tard. Il freine, le c*n pile!&lt;br /&gt;
&lt;br /&gt;
Là, c&#039;est le drame! Dû à sa petite taille, les airbags n&#039;eurent pour effet que de projeter kernel violemment contre le holster de Daniel contenant le téléporteur Hazgard, l&#039;activant par mégarde.&lt;br /&gt;
&lt;br /&gt;
L&#039;instant d&#039;un flash sur l&#039;autoroute, ils se retrouvèrent au SGC. Kernel fut emporté à l&#039;infirmerie immédiatement, où il fût soigné par Daniel et Sam.&lt;br /&gt;
&lt;br /&gt;
Sam:&lt;br /&gt;
&amp;quot;Vite Daniel, on n&#039;a pas le temps de le ramener sur sa planète! Passe-moi la GCC (Gaze à Compresse Clinique)!&lt;br /&gt;
Il me faut 6mg de libc! (Liquide Interne Biologique Chauffé)! Je ne voit rien! Approchez la ncurse (Nouvelle Création Unifiant le Rétroéclairage Sans Electronique)!&lt;br /&gt;
Je le perd! Vite!&lt;br /&gt;
Vite! Le Make! (Moyen Artificiel de Killer l&#039;Entropie).&lt;br /&gt;
C&#039;est bon! On l&#039;a!&lt;br /&gt;
Mettez-le sous LILO (Liquide Incongru Lavant l&#039;Organisme)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kernel s&#039;en tira, mais plus jamais on ne le surprit sur la root.&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Mod%C3%A8le:Plan-kernel&amp;diff=9387</id>
		<title>Modèle:Plan-kernel</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Mod%C3%A8le:Plan-kernel&amp;diff=9387"/>
		<updated>2005-10-17T20:43:12Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Configurer votre noyau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Configurer votre noyau ==&lt;br /&gt;
*[[kernel-kernel|Le noyau (kernel) de Linux : le compiler]] &lt;br /&gt;
*[[kernel-kernel_debian|Compilation du noyau &#039;à la façon Debian&#039;]]&lt;br /&gt;
*[[kernel-compil|Les packages nécessaires pour compiler]] (obsolète)&lt;br /&gt;
*[[kernel-modules|Les modules de Linux]] (obsolète)&lt;br /&gt;
*[[kernel-kernel24|Compiler et installer un noyau 2.4-test - FAQ]] (obsolète)&lt;br /&gt;
*[[kernel-kernel24-2|Passer d&#039;un noyau standard à un noyau compilé]] (obsolète)&lt;br /&gt;
*[[kernel-kernel26|Introduction au kernel 2.6]] (obsolète)&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Compiler_le_noyau&amp;diff=9386</id>
		<title>Compiler le noyau</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Compiler_le_noyau&amp;diff=9386"/>
		<updated>2005-10-17T20:42:24Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : Mise à jour complète de l&amp;#039;article&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Configurer votre noyau]]&lt;br /&gt;
= Le noyau (kernel) de Linux : le compiler =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Le noyau (kernel) de Linux : le compiler&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par Jean-Christophe&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Où vous apprendrez à compiler votre noyau Linux sans soucis.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quelques rappels ==&lt;br /&gt;
Le noyau est le coeur du système. C&#039;est lui qui, entre autres, gère la mémoire, contient les pilotes du matériel, ordonne les différentes tâches, gère le support des différents protocoles,...&lt;br /&gt;
&lt;br /&gt;
Le noyau, ou kernel, est composé d&#039;une partie statique, à laquelle on peut greffer des modules.&lt;br /&gt;
La partie statique sera toujours chargée en mémoire, tandis que les module ne le seront qu&#039;en cas de besoin.&lt;br /&gt;
&lt;br /&gt;
== Vous avez besoin d&#039;un nouveau noyau si : ==&lt;br /&gt;
&lt;br /&gt;
* vous avez un matériel dont le support a été ajouté dans une nouvelle version du noyau,&lt;br /&gt;
* un trou de sécurité a été découvert dans le noyau actuel, ce problème étant réglé dans une nouvelle version,&lt;br /&gt;
* vous souhaitez toujours avoir le dernier noyau possible :)&lt;br /&gt;
* comme tout bon Geek, vous aimez compiler votre kernel ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;La plupart du temps, vous n&#039;avez pas réellement besoin de nouveau noyau.&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Quel noyau? ==&lt;br /&gt;
&lt;br /&gt;
Dans un premier temps, pour savoir quel noyau on utilise, il suffit de lancer &amp;lt;tt&amp;gt;uname -sr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note sur la numérotation des noyaux :&#039;&#039;&#039;&amp;lt;br /&amp;gt;Les noyaux sont numérotés sur 3 nombres x.y.z.&lt;br /&gt;
&lt;br /&gt;
* Versions stables : le nombre du milieu (y) est pair. Par exemple : 2.&#039;&#039;&#039;4&#039;&#039;&#039;.31 ou 2.&#039;&#039;&#039;6&#039;&#039;&#039;.13.&lt;br /&gt;
* Versions de développement : le nombre du milieu (y) est impair, par exemple 2.&#039;&#039;&#039;5&#039;&#039;&#039;.75. Attention, il n&#039;est pas recommandé d&#039;utiliser un noyau d&#039;une version de développement, car ces noyaux ne sont pas - a priori - stables.&lt;br /&gt;
&lt;br /&gt;
De plus, on peut différencier les sources [http://www.kernel.org Vanilla], qui sont les sources non patchées. Les distributions peuvent proposer des noyaux légèrement modifiés, optimisés pour telle ou telle architecture, etc.&amp;lt;br/&amp;gt; Le mieux est peut être d&#039;installer la version du noyau via le système de paquetages de la distribution (mais rien n&#039;empêche d&#039;utiliser les &#039;&#039;vanilla sources&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Enfin, il faut vérifier que &amp;lt;tt&amp;gt;/usr/src/linux&amp;lt;/tt&amp;gt; est un lien vers le répertoire contenant les sources du noyau à compiler:&lt;br /&gt;
&amp;lt;code&amp;gt;ln -sf /usr/src/linux-x.y.z /usr/src/linux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dit-moi qui tu es, je te dirai quoi compiler == &lt;br /&gt;
&lt;br /&gt;
Avant de se lancer dans l&#039;aventure, il est important de connaitre son matériel, afin de ne pas oublier par exemple le support du controleur IDE sur lequel se trouve le disque!&lt;br /&gt;
&lt;br /&gt;
Pour ne rien oublier, il existe quelques petits outils bien sympathiques.&lt;br /&gt;
&#039;&#039;lspci&#039;&#039;, provenant des [http://http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml pciutils] pour voir ce que l&#039;on a sur les ports pci,  &#039;&#039;lsusb&#039;&#039;, provenant des [http://www.linux-usb.org/ usbutils], pour savoir ce que l&#039;on a sur les ports usb.&lt;br /&gt;
Il existe également [ftp://ftp.iqchoice.com/pub/people/rail/gmso/ hwinfo] qui peut nous donner pas mal de renseignements sur notre matériel.&amp;lt;br/&amp;gt;&lt;br /&gt;
Ces petits softs sont disponibles en tant que paquet dans pas mal de distributions, et sont peut être déjà installés.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;on connait son matériel, on va pouvoir passer à l&#039;étape suivante.&lt;br /&gt;
&lt;br /&gt;
== Prérequis == &lt;br /&gt;
&lt;br /&gt;
Avant de passer à la suite il faut:&lt;br /&gt;
* avoir l&#039;environnement de développement &amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt;&lt;br /&gt;
* si on souhaite utiliser l&#039;interface graphique sous X, il faut autoriser l&#039;affichage à &#039;&#039;root&#039;&#039; avec &amp;lt;code&amp;gt;xhost +&amp;lt;/code&amp;gt;&lt;br /&gt;
* devenir &#039;&#039;root&#039;&#039; (donc avoir le droit de faire des bêtises!): &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;&lt;br /&gt;
* enfin, il faut aller dans le répertoire &amp;lt;code&amp;gt;cd /usr/src/linux&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Pour configurer le noyau, il y a 4 possibilités:&lt;br /&gt;
* modifier le &amp;lt;tt&amp;gt;.config&amp;lt;/tt&amp;gt; à la main,&lt;br /&gt;
* lancer la commande &amp;lt;code&amp;gt;make config&amp;lt;/code&amp;gt;. Dans ce cas, on devra répondre à toutes les questions une par une,&lt;br /&gt;
* lancer la commande &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt;. Ici, on va configurer le noyau via une interface graphique en ncurses (mode semi-graphique),&lt;br /&gt;
* lancer la commande &amp;lt;code&amp;gt;make xconfig&amp;lt;/code&amp;gt;. L&#039;interface ici sera graphique sous X&lt;br /&gt;
&lt;br /&gt;
=== Les options ===&lt;br /&gt;
&lt;br /&gt;
Le moment est venu de choisir vos options. &amp;lt;br /&amp;gt;Si c&#039;est la première fois que vous compilez le noyau, je vous conseille de les passer toutes en revue les unes après les autres, dans l&#039;ordre, afin de voir si elles s&#039;appliquent à vous ou non.&lt;br /&gt;
&lt;br /&gt;
De manière générale, il est bon de modulariser un maximum de choses, mais tout n&#039;est pas possible (enfin... pas simplement :) &amp;lt;br /&amp;gt;Par exemple, vous ne devriez pas mettre en module ce qui vous permet de monter votre partition racine. Si celle-ci se situe sur un disque IDE, ne mettez pas le support IDE en module, de même si elle se situe sur un disque SCSI, ne mettez pas le support SCSI en module. Si votre partition racine est montée par le réseau et NFS (cas des stations diskless par exemple), ne mettez pas le support de la carte réseau et le support NFS en modules. &amp;lt;br /&amp;gt;En effet, les modules sont chargés après le noyau, et si les modules IDE sont sur un disque IDE, il faut d&#039;abord les charger avant de pouvoir accéder au disque, mais pour les charger, il faut avoir accès au disque et donc les avoir chargés avant... vous voyez le cercle vicieux ? &amp;lt;br /&amp;gt;En fait, il est possible de contourner ce problème, mais ce document s&#039;adresse aux débutants...&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tout le reste peut être compilé en modules, c&#039;est à dire carte son, carte réseau (sauf si votre racine est déportée sur un serveur NFS comme dit précédemment), le support ppp (pour internet par modem), le CD-ROM, etc. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici ci-dessous les options &#039;&#039;&#039;classiques&#039;&#039;&#039; à utiliser pour une configuration classique. Si rien n&#039;est dit ici à propos d&#039;une option, regardez l&#039;aide ou conservez la valeur par défaut ; vous pouvez aussi répondre &#039;N&#039; à tous les périphériques que vous ne possédez pas, comme par exemple, IDE/ATAPI TAPE, etc.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans le doute, il vaut mieux laisser les options par défaut.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Attention&#039;&#039;: cette doc a été mise à jour en se basant sur la version 2.6.13 du noyau! Si la version est différente (notamment la branche), il est possible que certaines options n&#039;existent pas ou aient été déplacées.&lt;br /&gt;
&lt;br /&gt;
==== Code maturity level options ====&lt;br /&gt;
&lt;br /&gt;
Ca ne coûte rien de répondre Y ici!&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Prompt for development and/or incomplete code/drivers&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Select only drivers expected to compile cleanly&amp;lt;/code&amp;gt;: Y&lt;br /&gt;
&lt;br /&gt;
==== General setup ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Support for paging of anonymous memory (swap)&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;System V IPC&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Sysctl support&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
Pour permettre le hotplug:&lt;br /&gt;
&amp;lt;code&amp;gt;Support for hot-pluggable devices&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
Et enfin:&lt;br /&gt;
&amp;lt;code&amp;gt;Kernel userspace events&amp;lt;/code&amp;gt;: Y&lt;br /&gt;
&lt;br /&gt;
==== Loadable module support ====&lt;br /&gt;
&lt;br /&gt;
Pour que le noyau puisse charger et décharger les modules selon ses besoins:&lt;br /&gt;
&amp;lt;code&amp;gt;Enable loadable module support&amp;lt;/code&amp;gt;: Y&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Module unloading&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Automatic kernel module loading&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Processor type and features ====&lt;br /&gt;
&lt;br /&gt;
C&#039;est ici que vous définissez quel est votre type de processeur.&lt;br /&gt;
&amp;lt;code&amp;gt;Preemptible kernel&amp;lt;/code&amp;gt;: Y. Grâce à cette option, le noyau devient &amp;quot;préemptif&amp;quot;. Cela permet d&#039;avoir un noyau plus réactif.&lt;br /&gt;
&lt;br /&gt;
==== Bus options ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PCI support&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;PCI device name database&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Executable file format ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; Kernel support for ELF binaries&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; Kernel support for MISC binaries&amp;lt;/code&amp;gt;: M ou Y &lt;br /&gt;
&lt;br /&gt;
==== Graphics support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Support for frame buffer devices&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
A vous de choisir votre carte graphique!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Logo configuration&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
à vous de voir si vous voulez un beau logo de tux au démarrage!&lt;br /&gt;
&lt;br /&gt;
==== Memory technologie Device ====&lt;br /&gt;
&lt;br /&gt;
à voir selon votre matériel!&lt;br /&gt;
&lt;br /&gt;
==== block devices ====&lt;br /&gt;
&amp;lt;code&amp;gt;Loopback device support&amp;lt;/code&amp;gt;: Y&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;RAM disk support&amp;lt;/code&amp;gt; Y ou M si vous comptez utiliser un ramdisk&amp;lt;br/&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;Initial RAM disk (initrd) support&amp;lt;/code&amp;gt; si vous comptez démarrer avec un ramdisk.&lt;br /&gt;
&lt;br /&gt;
==== Device drivers ====&lt;br /&gt;
&lt;br /&gt;
Dans la section &amp;lt;code&amp;gt;character devices&amp;lt;/code&amp;gt;, il faut mettre en module la gestion de l&#039;agp (&amp;lt;code&amp;gt;/dev/agpart&amp;lt;/code&amp;gt;), ainsi que celle de son chipset.&amp;lt;br/&amp;gt;&lt;br /&gt;
Dans la section &amp;lt;code&amp;gt;ATA/ATAPI/MFM/RLL support&amp;lt;/code&amp;gt;, il ne faut pas oublier de mettre Y pour la gestion de la DMA.&lt;br /&gt;
&lt;br /&gt;
==== SCSI device support ====&lt;br /&gt;
&lt;br /&gt;
C&#039;est ici que vous pouvez configurer, en plus du SCSI, les lecteurs IOMEGA ZIP sur port parallèle, ainsi que le bus SATA.&lt;br /&gt;
A partir du noyau 2.6, on n&#039;utilise plus d&#039;interface SCSI pour les graveurs de CD/DVD.&lt;br /&gt;
&lt;br /&gt;
==== Networking options ====&lt;br /&gt;
&lt;br /&gt;
Comme d&#039;habitude, on ne garde, pour les pilotes, que ceux du matériel (ARCnet, TokenRing peuvent être désactivés. Ne garder dans l&#039;ethernet que ce qui concerne la carte réseau,...)&lt;br /&gt;
Si vous ne comptez pas utilisez l&#039;IPv6 (ou si vous vous demandez ce que c&#039;est), vous pouvez le supprimer.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L&#039;IrDA et le Bluetooth peut être désactivé si vous ne l&#039;utilisez pas.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Je vous conseille quand même de garder le &amp;lt;code&amp;gt;PPP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ISDN ====&lt;br /&gt;
&lt;br /&gt;
Ceci concerne les connexions numéris.&lt;br /&gt;
&lt;br /&gt;
==== Unix98 PTY ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Unix98 PTY support: Y&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
256 est un bon nombre maximum.&lt;br /&gt;
&lt;br /&gt;
==== Filesystems ====&lt;br /&gt;
&lt;br /&gt;
Ici, vous choisissez les systèmes de fichiers dont vous avez besoin (ext2, ext3, éventuellement ReiserFS).&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Kernel automounter version 4 support&amp;lt;/code&amp;gt;: M&amp;lt;br/&amp;gt;&lt;br /&gt;
Ne pas oublier de vérifier &amp;lt;code&amp;gt;CD-ROM/DVD Filesystems&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;DOS/FAT/NT Filesystems&amp;lt;/code&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans &amp;lt;code&amp;gt;pseudo filesystems&amp;lt;/code&amp;gt;, mettre Y à:&lt;br /&gt;
&amp;lt;code&amp;gt;/proc&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Virtual memory file system support&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev file system support&amp;lt;/code&amp;gt; est obsolète et remplacé par &amp;lt;code&amp;gt;udev&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Network File systems&amp;lt;/code&amp;gt; n&#039;est utile que si vous montez des systèmes de fichier par le réseau.&lt;br /&gt;
&lt;br /&gt;
==== Multimedia devices ====&lt;br /&gt;
&lt;br /&gt;
Ici vous ajoutez vos pilotes pour les cartes radio, ainsi que l&#039;acquisition vidéo (carte TV, webcam,...)&lt;br /&gt;
&lt;br /&gt;
==== Sound ====&lt;br /&gt;
&lt;br /&gt;
Ne pas utiliser OSS, mais ALSA.&lt;br /&gt;
&lt;br /&gt;
==== USB support ====&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser lsmod pour savoir quel module utiliser (entre EHCI, OHCI et UHCI).&lt;br /&gt;
Ensuite, c&#039;est à vous de savoir quel matériel vous avez!&lt;br /&gt;
&lt;br /&gt;
==== Watchdog cards ====&lt;br /&gt;
&lt;br /&gt;
Si vous vous demandez ce que c&#039;est, c&#039;est que vous n&#039;en avez pas besoin!&lt;br /&gt;
&lt;br /&gt;
==== Profiling support ====&lt;br /&gt;
&lt;br /&gt;
Mettre N partout&lt;br /&gt;
&lt;br /&gt;
==== Kernel hacking ====&lt;br /&gt;
&lt;br /&gt;
Même si vous ne vous sentez pas l&#039;âme d&#039;un hacker, je vous conseille de mettre Y à&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Kernel debugging&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Magic SysRq Key&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Comme cela, en cas de plantage du système, vous pourrez utiliser les touches magiques pour démonter les partitions et redémarrer &amp;quot;proprement&amp;quot; (sans appuyer sur le bouton reset)&lt;br /&gt;
&lt;br /&gt;
====  Security options ====&lt;br /&gt;
&lt;br /&gt;
Vous n&#039;avez sûrement pas besoin de configurer SELinux ou d&#039;autres méthodes de haute sécurité. Donc, un petit N suffit.&lt;br /&gt;
&lt;br /&gt;
====  Cryptographic options ====&lt;br /&gt;
&lt;br /&gt;
Les mettre en module ne fait pas de mal.&lt;br /&gt;
&lt;br /&gt;
====  Library routines ====&lt;br /&gt;
&lt;br /&gt;
Idem, en module, ça peut éventuellement servir.&lt;br /&gt;
&lt;br /&gt;
== La compilation ==&lt;br /&gt;
&lt;br /&gt;
Pour lancer la compilation du noyau, rien de plus simple. Il suffit de lancer:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make &amp;amp;&amp;amp; make bzImage modules_install&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La compilation peut être relativement longue.&lt;br /&gt;
&lt;br /&gt;
== Dernière étape ==&lt;br /&gt;
&lt;br /&gt;
Maintenant, on va préparer le système à redémarrer avec le nouveau noyau:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cp arch/architecture/boot/bzImage /boot/kernel-X.Y.Z&lt;br /&gt;
&amp;lt;/code&amp;gt;où &#039;&#039;architecture&#039;&#039; correspond à votre architecture (i386 pour un système 32bits,  x86_64 pour un amd64)&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cp System.map /boot/System.map-X.Y.Z&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si le fichier &amp;lt;tt&amp;gt;/boot/System.map&amp;lt;/tt&amp;gt; est un lien, le supprimer, sinon le renommer.&lt;br /&gt;
Ensuite, nous allons créer le lien suivant:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /boot/System.map-X.Y.Z /boot/System.map&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Autant copier le fichier de configuration du noyau, on ne sait jamais:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
cp .config /boot/config-X.Y.Z&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enfin, si vous utilisez un ramdisk au boot, il faut le recréer en lançant la commande suivante:&amp;lt;code&amp;gt;mkinitrd&amp;lt;/code&amp;gt;, puis copier l&#039;initrd dans &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque sur &#039;&#039;&#039;initrd&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
La plupart des distributions récentes utilisent souvent par défaut un disque RAM initial (initrd) afin de démarrer le système. Ce n&#039;est pas nécessaire en général, sauf si votre système de fichiers racine &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; a besoin de modules pour être chargé (par exemple, s&#039;il se trouve sur un disque SCSI, et que le support SCSI est en modules). Si vous incluez les modules nécessaires au chargement de votre système de fichiers racine (en répondant &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; au lieu de &amp;lt;tt&amp;gt;M&amp;lt;/tt&amp;gt;), vous pouvez vous passer d&#039;initrd.&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à configurer le gestionnaire de démarrage (grub, lilo ou loadlin). Pour bien le faire, le mieux est de lire la doc sur léa!&lt;br /&gt;
&lt;br /&gt;
== Annexe : copies d&#039;écran ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; donne l&#039;écran suivant :&lt;br /&gt;
&lt;br /&gt;
L&#039;écran suivant contient la liste des sous-menus de configuration. &amp;lt;br /&amp;gt;Déplacez vous avec les flèches, et tapez &#039;Entrée&#039; pour entrer dans chaque sous-menu. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| bgcolor=&amp;quot;#CCCCCC&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;font size=&amp;quot;-2&amp;quot;&amp;gt; Linux Kernel v2.2.13 Configuration&amp;lt;br /&amp;gt;  ------------------------------------------------------------------------------&amp;lt;br /&amp;gt;   +------------------------------- Main Menu -------------------------------&amp;lt;br /&amp;gt;   |  Arrow keys navigate the menu.  &amp;lt;Enter&amp;gt; selects submenus ---&amp;gt;.          |&amp;lt;br /&amp;gt;   |  Highlighted letters are hotkeys.  Pressing &amp;lt;Y&amp;gt; includes, &amp;lt;N&amp;gt; excludes, |&amp;lt;br /&amp;gt;   |  &amp;lt;M&amp;gt; modularizes features.  Press &amp;lt;Esc&amp;gt;&amp;lt;Esc&amp;gt; to exit, &amp;lt;?&amp;gt; for Help.     |&amp;lt;br /&amp;gt;   |  Legend: [*] built-in  [ ] excluded  &amp;lt;M&amp;gt; module  &amp;lt; &amp;gt; module capable     |&amp;lt;br /&amp;gt;   | +---------------------------------------------------------------------+ |&amp;lt;br /&amp;gt;   | |           Code maturity level options  ---&amp;gt;                         | |&amp;lt;br /&amp;gt;   | |           Processor type and features  ---&amp;gt;                         | |&amp;lt;br /&amp;gt;   | |           Loadable module support  ---&amp;gt;                             | |&amp;lt;br /&amp;gt;   | |           General setup  ---&amp;gt;                                       | |&amp;lt;br /&amp;gt;   | |           Plug and Play support  ---&amp;gt;                               | |&amp;lt;br /&amp;gt;   | |           Block devices  ---&amp;gt;                                       | |&amp;lt;br /&amp;gt;   | |           Networking options  ---&amp;gt;                                  | |&amp;lt;br /&amp;gt;   | |           SCSI support  ---&amp;gt;                                        | |&amp;lt;br /&amp;gt;   | |           Network device support  ---&amp;gt;                              | |&amp;lt;br /&amp;gt;   | |           Amateur Radio support  ---&amp;gt;                               | |&amp;lt;br /&amp;gt;   | |           IrDA subsystem support  ---&amp;gt;                              | |&amp;lt;br /&amp;gt;   | |           ISDN subsystem  ---&amp;gt;                                      | |&amp;lt;br /&amp;gt;   | |           Old CD-ROM drivers (not SCSI, not IDE)  ---&amp;gt;              | |&amp;lt;br /&amp;gt;   | |           Character devices  ---&amp;gt;                                   | |&amp;lt;br /&amp;gt;   | |           Filesystems  ---&amp;gt;                                         | |&amp;lt;br /&amp;gt;   | |           Console drivers  ---&amp;gt;                                     | |&amp;lt;br /&amp;gt;   | |           Sound  ---&amp;gt;                                               | |&amp;lt;br /&amp;gt;   | |           Kernel hacking  ---&amp;gt;                                      | |&amp;lt;br /&amp;gt;   | |           ---                                                       | |&amp;lt;br /&amp;gt;   | |           Load an Alternate Configuration File                      | |&amp;lt;br /&amp;gt;   | |           Save Configuration to an Alternate File                   | |&amp;lt;br /&amp;gt;   | |                                                                     | |&amp;lt;br /&amp;gt;   | +---------------------------------------------------------------------+ |&amp;lt;br /&amp;gt;   +-------------------------------------------------------------------------+&amp;lt;br /&amp;gt;   |                    &amp;lt;Select&amp;gt;    &amp;lt; Exit &amp;gt;    &amp;lt; Help &amp;gt;                     |&amp;lt;br /&amp;gt;   +-------------------------------------------------------------------------&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sur les écrans déplacez vous avec les flèches, tapez &#039;Y&#039; pour include une fonction, &#039;M&#039; pour l&#039;inclure en tant que module. Tapez &#039;?&#039; ou &#039;H&#039; pour avoir de l&#039;aide sur la fonction sélectionnée (je vous recommande de lire l&#039;aide de chaque fonction, et si vous ne comprenez pas, prenez la valeur conseillée). Tapez &#039;Esc&#039; afin de sortir d&#039;un sous-menu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Après avoir configuré votre noyau, sélectionnez &amp;quot;Save Configuration to an Alternate File&amp;quot;, afin d&#039;enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant &#039;Esc&#039; et enregistrez la configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;make xconfig&amp;lt;/code&amp;gt; donne la fenêtre suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:kernel-make_xconfig.png]]&lt;br /&gt;
&lt;br /&gt;
Ce premier écran contient des boutons qui mènent aux différents sous-menus de configuration : &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:kernel-make_xconfig2.png]]&lt;br /&gt;
| Pour chaque option, cliquez sur le bouton [Help] afin de lire la documentation de l&#039;option.  &amp;lt;br /&amp;gt;Après avoir configuré votre noyau, sélectionnez &amp;quot;Store Configuration to File&amp;quot;, afin d&#039;enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant &#039;Esc&#039;, et enregistrez la configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 06/11/1999, Jean-Christophe Cardot&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=L%C3%A9aLinux:Accueil&amp;diff=8683</id>
		<title>LéaLinux:Accueil</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=L%C3%A9aLinux:Accueil&amp;diff=8683"/>
		<updated>2005-10-14T09:03:56Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
= Bienvenue sur Léa =&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
== Léa passe au Wiki ==&lt;br /&gt;
Les contributeurs de Léa sont très nombreux, mais contribuer à Léa a toujours été problématique. L&#039;histoire de Léa est longue et lourde. Je veux dire par là que pendant très longtemps les évolutions de Léa ont été suspendues aux bonnes volontés du tout petit groupe d&#039;administrateurs. &lt;br /&gt;
&lt;br /&gt;
Il fallait que ça change. Tout d&#039;abord les administrateurs se trouvent crouler (pleurez avec nous) sous la charge de travail. Ensuite les contributeurs ont l&#039;impression que nous n&#039;apprécions pas leur travail puisque nous ne le mettons pas en ligne. Enfin, rien n&#039;était &#039;&#039;user friendly&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
C&#039;est pourquoi Léa a décidé de changer presque complètement : elle passe au Wiki. C&#039;est à dire que tout le monde peut proposer des modifications pour toutes les pages. Seulement, pour que ces modifications restent un minimum vérifiées, à la différence d&#039;un wiki classique, celui de Léa sera modéré a priori. C&#039;est à dire que les modifications n&#039;apparaîtront de suite, elles devront être validées par les modérateurs.&lt;br /&gt;
&lt;br /&gt;
Pour éviter un minimum les robots et autres spammeurs en puissance, nous avons aussi décidé qu&#039;il faudrait être enregistré pour pouvoir éditer une page. Ceci dit, la création d&#039;un compte sera simple, et ne nécessitera pas notre approbation.&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
== Utilisateurs ==&lt;br /&gt;
&lt;br /&gt;
Léa aura aussi besoin de 2 nouvelles catégories d&#039;utilisateurs : les &#039;&#039;&#039;éditeurs&#039;&#039;&#039; et les &#039;&#039;&#039;modérateurs&#039;&#039;&#039;, les premiers seront des utilisateurs pouvant voir et modifier l&#039;intégralité du wiki de Léa et en modifier les pages (enfin pour les modifications, certaines parties du site resteront en accès administrateur uniquement). Les seconds auront les mêmes droits, plus celui de valider les modifications d&#039;une page pour affichage sur la partie publique du site.&lt;br /&gt;
&lt;br /&gt;
Les adhérents de l&#039;association Léa auront un droit d&#039;accès éditeurs. Il faudra quand même qu&#039;ils le demandent. Les modérateurs seront recrutés parmi l&#039;ensemble des utilisateurs habituels de Léa par les administrateurs du site.&lt;br /&gt;
&lt;br /&gt;
Il est prévu d&#039;unifier les identifications à phorum et mediawiki par l&#039;intermédiaire d&#039;un &#039;&#039;plugin&#039;&#039; d&#039;authentification à mediawiki. Pour l&#039;instant ce &#039;&#039;plugin&#039;&#039; est à l&#039;étude.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Choix du Wiki ==&lt;br /&gt;
&lt;br /&gt;
Nous avons choisi comme  wiki pour Léa : [http://mediawiki.org mediawiki], il est bien maintenu et dispose d&#039;une grande base d&#039;utilisateurs.  Comme mediawiki ne permet pas la modération à priori des articles nous avons donc du développer une interface de modération ainsi qu&#039;un cache statique (ie: une page du wiki ne générera en général qu&#039;un seul appel à PHP, elle sera ensuite sauvée sous son nom dans l&#039;arborescence  de Léa évitant à la demande suivante un appel à php, et donc limitera la charge du serveur). De plus nous avons installé TurckMMCache sur le serveur de Léa puisque mediawiki sait le gérer. &lt;br /&gt;
&lt;br /&gt;
PS: Il semblerait que TurckMMCache occasionne des plantages d&#039;apache. Nous ne savons donc pas encore s&#039;il va rester en place.&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
== Transition ==&lt;br /&gt;
Il a fallu transformer la plupart des pages de Léa au format Wiki, cette transformation n&#039;a pas été faite à la main ! Nous ne sommes pas des bêtes de somme ! Le revers de la médaille c&#039;est que certaines pages ont été mal converties. Nous allons donc faire appel à vous et au fait que Léa est maintenant un wiki pour régler ce problème. Pas la peine de nous consulter : &#039;&#039;&#039;éditez vous même !&#039;&#039;&#039; Vous verrez c&#039;est facile. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P.S. :&#039;&#039;&#039; normalement, toutes les anciennes pages de Léa restent accessibles, soit qu&#039;elles aient été traduites en wiki, soit que les répertoires en question restent inchangés. Si une page a disparu :  [[LéaLinux:BugReport|faites un rapport de bug]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ceci dit, il y a aussi des bugs ! Vous serez gentils de bien vouloir les signaler sur cette page : [[LéaLinux:BugReport]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;newbox&amp;gt;Un premier travail collectif&amp;lt;/newbox&amp;gt;&lt;br /&gt;
Comme premier travail collectif, nous vous demandons de concevoir le contenu de la page d&#039;accueil. Pour cela nous n&#039;allons pas travailler sur cette page ci, mais sur la page : [[LéaLinux:Accueil]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;newbox&amp;gt;Les nouvelles du libres (en direct des flux RSS)&amp;lt;/newbox&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; valign=&amp;quot;top&amp;quot;  |&amp;lt;rss&amp;gt;http://www.agendadulibre.org/rss.php?region=all|short|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; valign=&amp;quot;top&amp;quot;  |&amp;lt;rss&amp;gt;http://linuxfr.org/backend/news/rss20.rss|short|max=5&amp;lt;/rss&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;newbox&amp;gt;Les pages d&#039;introduction à Linux&amp;lt;/newbox&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
! width=&amp;quot;50%&amp;quot; valign=&amp;quot;top&amp;quot; align=&amp;quot;left&amp;quot; | Les pages suivantes constituent le point d&#039;entrée obligatoire à Léa.&lt;br /&gt;
! width=&amp;quot;50%&amp;quot; valign=&amp;quot;top&amp;quot; align=&amp;quot;left&amp;quot; | Les pages suivantes sont des fiches spéciales débutant&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; | &amp;lt;DPL&amp;gt;category=Introduction à Linux&amp;lt;/DPL&amp;gt;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; |&amp;lt;DPL&amp;gt;category=Fiches pratiques&amp;lt;/DPL&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{DP}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=8682</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=8682"/>
		<updated>2005-10-14T08:04:15Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Un petit poème pour ma Léa ;-) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ient vers moi, ma petite Léa, &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;coute ce que ton coeur te dit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne chose sur moi à savoir tu dois:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039;énophile avec les BSDistes je suis.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;u aimes SysV et BSD init,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;rpmi, apt-get et emerge t&#039;exitent.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ourons seuls sur la banquise électronique&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù nous éviterons tous les kernel panic.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne fois seuls, tranquilles et amoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;essons nos baisers langoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039;âtons-nous, cachons-nous des fenêtres&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;clipsons-nous, conspirons et peut-être&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;éussirons-nous du web à devenir maître&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;vec passion et engouement&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;oyageons sur tous les continents&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rigeons partout des statues, déposons notre emblême&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ar rien n&#039;est assez pour te dire que je t&#039;aime.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;a Léa sans cesse je pense à toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù que tu soies je rêve de toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039;nlassablement j&#039;aspire vivre avec toi.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Les aventures de Kernel ==&lt;br /&gt;
(J&#039;espère avoir le temps et l&#039;inspiration d&#039;écrire d&#039;autres épisodes :-))&lt;br /&gt;
&lt;br /&gt;
===  Episode 1: comment Kernel fut trouvé et ramené sur Terre par SG1 ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;NOUVEAU SUR LEA ! Le forum coin lecture !&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
C&#039;est l&#039;histoire de kernel. Il fut trouvé par l&#039;équipe SG1 sur la planète Bill. Le Dr Jackson entreprit une discussion avec lui, et découvrit que Kernel parlais en Gu&#039;lé. Après quelques mois d&#039;études sur de la langue de Kernel, Kernel appris ainsi l&#039;anglais.&lt;br /&gt;
&lt;br /&gt;
Par un beau matin, un vaisseau Goa&#039;ould s&#039;approcha de la planête. L&#039;équipe décida de s&#039;enfuir avec Kernel. Daniel cria à Kernel:&lt;br /&gt;
&amp;quot;Hurry up! Go throw Bill&#039;s Gate!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mais kernel avait très peur. Il ne savait plus quoi faire. Kernel panique!&lt;br /&gt;
&lt;br /&gt;
Daniel pris Kernel dans sa main, et l&#039;amena à la base.&lt;br /&gt;
&lt;br /&gt;
1 jour plus tard, Kernel fit un tour au niveau de la cuisine. Que vit-il? Des clafoutis! Kernel pris peur en voyant des êtres comme lui, cuits dans une infâme pâte à crèpes. Il décida de s&#039;enfuir. Grâce à sa petite taille, il réussit à passer facilement les mesures de sécurité de la base. Malheureusement, il faillit être écraser par Sam et perdit un bras.&lt;br /&gt;
&lt;br /&gt;
Kernel le manchot s&#039;abrita on ne sait où sur la Terre. Maintenant, lorsque vous verrez des cerises, vérifiez que ce n&#039;est pas Kernel! Ne mangez pas ce pauvre petit être.&lt;br /&gt;
&lt;br /&gt;
=== Episode 2: Kernel passe sur Lea-linux ===&lt;br /&gt;
&#039;&#039;Tiré du thread  &#039;&#039;&#039;RTFM&#039;&#039;&#039; du forum débat &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Depuis le temps, Kernel s&#039;est baladé et s&#039;est informé sur notre bonne vieille Terre. Pour sa culture, il a beaucoup regardé la télé.&lt;br /&gt;
D&#039;ailleurs, l&#039;autre jour, il a vu un épisode de Titi et Gros minet :&lt;br /&gt;
Lors de cet épisode, le dernier, Grosminet réussit à choper Titi, à l&#039;ingurgiter. Kernel se met à crier Régurgite Titi, Fiéfé Minou!&lt;br /&gt;
&lt;br /&gt;
Lors de ses pérégrinations sur le net, Kernel est tombé sur ceci:&lt;br /&gt;
&lt;br /&gt;
oudoubah a écrit :&lt;br /&gt;
Ils ne disent pas RTFM une fois, mais 3:&lt;br /&gt;
Reboote Ton Foireux Microsoft&lt;br /&gt;
Reformate Ton Foutu Microsoft&lt;br /&gt;
Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sa réaction: Oudoubah, t&#039;es qu&#039;un boulet! Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Oui, chez Microsoft où se trouve 32 membres de ma famille (d&#039;où ça vient à votre avis kernel32? C&#039;est qu&#039;ils ont voulu embaucher 32 petits Kernels de la plantète Bill et les faire travailler ensemble, mais ils ne s&#039;entendent pas et se noient dans de la pâte à crêpes!, ça ne marche pas top. Oui sur les forums ils disent 3 fois RTFM d&#039;affilé, mais ça signifie:&lt;br /&gt;
# Reboote Ta Foutue Machine&lt;br /&gt;
# Reformate Ta Foute Machine&lt;br /&gt;
# Réinstalle Ton Foutu Microsoft&lt;br /&gt;
&lt;br /&gt;
Ca ne veut rien dire ce que tu as écrit!&lt;br /&gt;
Pour preuve que tu es un boulet, ce n&#039;est pas toi qui a lancé ce thread? [lea-linux.org]&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=7861</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=7861"/>
		<updated>2005-10-13T19:18:18Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un petit poème pour ma Léa ;-)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;ient vers moi, ma petite Léa, &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;coute ce que ton coeur te dit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne chose sur moi à savoir tu dois:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039;énophile avec les BSDistes je suis.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;u aimes SysV et BSD init,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;rpmi, apt-get et emerge t&#039;exitent.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ourons seuls sur la banquise électronique&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù nous éviterons tous les kernel panic.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne fois seuls, tranquilles et amoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;essons nos baisers langoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039;âtons-nous, cachons-nous des fenêtres&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;clipsons-nous, conspirons et peut-être&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;éussirons-nous du web à devenir maître&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;vec passion et engouement&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;oyageons sur tous les continents&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rigeons partout des statues, déposons notre emblême&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ar rien n&#039;est assez pour te dire que je t&#039;aime.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;a Léa sans cesse je pense à toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù que tu soies je rêve de toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039;nlassablement j&#039;aspire vivre avec toi.&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=7857</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=7857"/>
		<updated>2005-10-13T18:44:11Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : Poème pour Léa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;V&#039;&#039;&#039;ient vers moi, ma petite Léa, &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;coute ce que ton coeur te dit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne chose sur moi à savoir tu dois:&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;X&#039;&#039;&#039;énophile avec les BSDistes je suis.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;T&#039;&#039;&#039;u aimes SysV et BSD init,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;rpmi, apt-get et emerge t&#039;exitent.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ourons seuls sur la banquise électronique&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù nous éviterons tous les kernel panic.&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;U&#039;&#039;&#039;ne fois seuls, tranquilles et amoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;essons nos baisers langoureux,&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;H&#039;&#039;&#039;âtons-nous, cachons-nous des fenêtres&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;clipsons-nous, conspirons et peut-être&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;R&#039;&#039;&#039;éussirons-nous du web à devenir maître&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039;vec passion et engouement&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;V&#039;&#039;&#039;oyageons sur tous les continents&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;E&#039;&#039;&#039;rigeons partout des statues, déposons notre emblême&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;C&#039;&#039;&#039;ar rien n&#039;est assez pour te dire que je t&#039;aime.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M&#039;&#039;&#039;a Léa sans cesse je pense à toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;O&#039;&#039;&#039;ù que tu soies je rêve de toi&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;I&#039;&#039;&#039;nlassablement j&#039;aspire vivre avec toi.&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Compiler_le_noyau&amp;diff=7815</id>
		<title>Compiler le noyau</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Compiler_le_noyau&amp;diff=7815"/>
		<updated>2005-10-13T18:23:34Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Le noyau (kernel) de Linux : le compiler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Configurer votre noyau]]&lt;br /&gt;
= Le noyau (kernel) de Linux : le compiler =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;en cours de réécriture&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Le noyau (kernel) de Linux : le compiler&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par Jean-Christophe&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Où vous apprendrez à compiler votre noyau Linux sans soucis.&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Si vous ne savez pas ce qu&#039;est le noyau, allez voir le glossaire !&lt;br /&gt;
&lt;br /&gt;
== D&#039;abord, quelle est la version actuelle du noyau ? ==&lt;br /&gt;
&lt;br /&gt;
C&#039;est facile, il suffit de lancer &amp;lt;tt&amp;gt;uname -sr&amp;lt;/tt&amp;gt; pour avoir la réponse.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note sur la numérotation des noyaux :&#039;&#039;&#039;&amp;lt;br /&amp;gt;Les noyaux sont numérotés sur 3 nombres x.y.z.&lt;br /&gt;
&lt;br /&gt;
* Versions stables : le nombre du milieu (y) est pair. Par exemple : 2.&#039;&#039;&#039;2&#039;&#039;&#039;.11 ou 2.&#039;&#039;&#039;4&#039;&#039;&#039;.19.&lt;br /&gt;
* Versions de développement : le nombre du milieu (y) est impair, par exemple 2.&#039;&#039;&#039;3&#039;&#039;&#039;.35 ou 2.&#039;&#039;&#039;5&#039;&#039;&#039;.40. Attention, il n&#039;est pas recommandé à des utilisateurs peu expérimentés d&#039;utiliser un noyau d&#039;une version de développement, car ces noyaux ne sont pas - a priori - stables.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Vous avez besoin d&#039;un nouveau noyau si : ==&lt;br /&gt;
&lt;br /&gt;
* vous avez un matériel dont le support a été ajouté dans une nouvelle version du noyau,&lt;br /&gt;
* un trou de sécurité a été découvert dans le noyau actuel, ce problème étant réglé dans une nouvelle version,&lt;br /&gt;
* vous souhaitez toujours avoir le dernier noyau possible :)&lt;br /&gt;
* comme tout bon Geek, vous aimez compiler votre kernel ;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;La plupart du temps, vous n&#039;avez pas réellement besoin de nouveau noyau.&#039;&#039;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&#039;&#039; &#039;&#039;&amp;lt;br /&amp;gt;Vous pouvez récupérer la dernière version du noyau (ainsi que toutes les autres) sur &#039;&#039;&#039;[http://www.kernel.org kernel.org]&#039;&#039;&#039;, ou  plutôt depuis le [http://www.kernel.org/mirrors miroir] le plus proche de vous.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Installation d&#039;un noyau précompilé ==&lt;br /&gt;
&lt;br /&gt;
Lorsque votre distribution vous propose un package de mise à jour du noyau précompilé, vous pouvez l&#039;installer. C&#039;est souvent recommandé, car ces mises à jour concernent soit des bugs, soit des trous de sécurité importants. &amp;lt;br /&amp;gt;On reconnaît les packages RPM de tels noyaux à leur nom, en général de la forme : &amp;lt;tt&amp;gt;kernel-2.*.*.i?86.rpm&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Je vous conseille, pour le noyau précompilé, de ne pas mettre à jour votre distribution avec le package d&#039;une autre distribution. Si la version que vous désirez n&#039;est pas disponible pour votre distribution, passez plutôt par la compilation des sources (voir ci-dessous).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Attention&amp;lt;/u&amp;gt;, si vous installez un package RPM : il ne faut &#039;&#039;&#039;jamais&#039;&#039;&#039; mettre à jour un noyau par l&#039;intermédiaire de la commande &amp;quot;&amp;lt;tt&amp;gt;rpm -U&amp;lt;/tt&amp;gt;&amp;quot; (upgrade). Cette commande supprimera votre noyau actuel. Si le nouveau noyau ne fonctionne pas, il ne vous restera plus qu&#039;à réinstaller votre système :-( &amp;lt;br /&amp;gt;En fait, il faut installer (et non mettre à jour) le nouveau noyau par l&#039;intermédiaire de la commande &amp;quot;&amp;lt;tt&amp;gt;rpm -i kernel-2.x.x.i586.rpm&amp;lt;/tt&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Aide-mémoire rapide ==&lt;br /&gt;
&lt;br /&gt;
Voici en quelques lignes les étapes à réaliser pour configurer, compiler et installer un noyau. Connectez-vous en tant que root et réalisez les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;cd /usr/src/linux&amp;lt;/tt&amp;gt; &lt;br /&gt;
* Configuration : &lt;br /&gt;
** &amp;lt;tt&amp;gt;make xconfig&amp;lt;/tt&amp;gt; (graphique) ou : &lt;br /&gt;
** &amp;lt;tt&amp;gt;make menuconfig&amp;lt;/tt&amp;gt; (mode texte avec menus) ou encore : &lt;br /&gt;
** &amp;lt;tt&amp;gt;make config&amp;lt;/tt&amp;gt; (mode texte intégral)  &lt;br /&gt;
* Compilation : &lt;br /&gt;
** &amp;lt;tt&amp;gt;make dep&amp;lt;/tt&amp;gt; &lt;br /&gt;
** &amp;lt;tt&amp;gt;make bzImage&amp;lt;/tt&amp;gt; &lt;br /&gt;
** &amp;lt;tt&amp;gt;make modules&amp;lt;/tt&amp;gt;  &lt;br /&gt;
* Installation (les lignes suivantes sont à adapter à votre configuration, à la version du noyau...) : &lt;br /&gt;
** &amp;lt;tt&amp;gt;make modules_install&amp;lt;/tt&amp;gt; &lt;br /&gt;
** &amp;lt;tt&amp;gt;mv /boot/vmlinuz-2.4.18 /boot/vmlinuz-2.4.18.old&amp;lt;/tt&amp;gt; &lt;br /&gt;
** &amp;lt;tt&amp;gt;cp arch/boot/i386/bzImage /boot/vmlinuz-2.4.18&amp;lt;/tt&amp;gt; &lt;br /&gt;
** &amp;lt;tt&amp;gt;mv /boot/System.map-2.4.18 /boot/System.map-2.4.18.old&amp;lt;/tt&amp;gt; &lt;br /&gt;
** &amp;lt;tt&amp;gt;cp System.map /boot/System.map-2.4.18&amp;lt;/tt&amp;gt; &lt;br /&gt;
** &amp;lt;tt&amp;gt;mkinitrd&amp;lt;/tt&amp;gt; (si votre distribution utilise un RAM disque initial) &lt;br /&gt;
** Gestionnaire de boot : &lt;br /&gt;
*** Si vous utilisez Lilo : éditez éventuellement &amp;lt;tt&amp;gt;/etc/lilo.conf&amp;lt;/tt&amp;gt; pour mettre à jour avec la nouvelle version ou ajouter une entrée, puis lancez &amp;lt;tt&amp;gt;/sbin/lilo&amp;lt;/tt&amp;gt; &lt;br /&gt;
*** Si vous utilisez Grub : lancez &amp;lt;tt&amp;gt;grub root (hdC,P) setup (hd0)&amp;lt;/tt&amp;gt;, en remplaçant C par le numéro du disque (hda:C=0, hdb:C=1, etc.) et P par le numéro de partition sur ce disque (hdx1:P=0, hdx2:P=1, etc.)   &lt;br /&gt;
* Fin :-) &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And last, but not least...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Comment compiler mon propre noyau ? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pré requis :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* vous avez installé un environnement de compilation complet (&amp;lt;tt&amp;gt;gcc&amp;lt;/tt&amp;gt; et consorts) ; cet environnement est disponible sur votre distribution, reportez vous à la rubrique [../install/install.php3#pack installation].&lt;br /&gt;
&lt;br /&gt;
Vous devez être &#039;&#039;&#039;&amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt;&#039;&#039;&#039; pour faire tout ce qui suit. Dans cet exemple, nous installerons le noyau 2.2.13.&lt;br /&gt;
&lt;br /&gt;
Une contribution : [kernel_debian.php3 compiler un noyau à la sauce &#039;&#039;&#039;Debian&#039;&#039;&#039;]. à lire si vous utilisez cette distribution.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Installation des sources du noyau ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Archive au format &amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;rpm&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;Si vous avez installé le noyau avec le rpm de votre distribution, vous devez également installer le rpm des sources ainsi que celui des en-têtes (headers).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Archive au format &amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;.tar.bz2&amp;lt;/font&amp;gt; ou &amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;.tar.gz&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;Tant que vous y êtes, récupérez l&#039;archive contenant la dernière version du noyau si vous le souhaitez (attention, ces fichiers sont volumineux, dans les 14 Mo pour les derniers noyaux), puis décompressez là au bon endroit en suivant les indications suivantes :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz root]#&#039;&#039;&#039; cd /usr/src/&amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz src]#&#039;&#039;&#039; ls -l&amp;lt;br /&amp;gt;&amp;lt;font size=&amp;quot;-1&amp;quot;&amp;gt;total 4 &amp;lt;br /&amp;gt; lrwxrwxrwx   1 root   root       12 Jun 20 22:23 linux -&amp;gt; linux-2.2.10/&amp;lt;br /&amp;gt; drwxr-xr-x  15 root   root     1024 Jun 20 22:38 linux-2.2.10/&amp;lt;br /&amp;gt; drwxr-xr-x  15 root   root     2048 Jun 16 19:52 linux-2.2.9/&amp;lt;br /&amp;gt; drwxr-xr-x   7 root   root     1024 Jul  7 16:57 RPM/&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En général, &amp;lt;tt&amp;gt;/usr/src/linux&amp;lt;/tt&amp;gt; représente un lien vers le répertoire courant contenant les sources, ici &amp;lt;tt&amp;gt;linux-2.2.10&amp;lt;/tt&amp;gt;. Dans ce cas, faites :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz src]#&#039;&#039;&#039; rm -f linux&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Dans le cas où linux est un répertoire (pas un lien), renommez le : &amp;lt;tt&amp;gt;mv linux linux-2.x.x&amp;lt;/tt&amp;gt;, où 2.x.x est la version de votre noyau.&lt;br /&gt;
&lt;br /&gt;
Puis faites :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz src]#&#039;&#039;&#039; tar jxvf /chemin/de/linux-2.2.13.tar.bz2&amp;lt;/tt&amp;gt; ou&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz src]#&#039;&#039;&#039; tar zxvf /chemin/de/linux-2.2.13.tar.gz&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A ce moment là, un répertoire &amp;lt;tt&amp;gt;linux&amp;lt;/tt&amp;gt; a été créé, qui contient les sources de Linux 2.2.13. Afin de recréer un environnement propre, je vous suggère de renommer ce répertoire en &amp;lt;tt&amp;gt;linux-2.2.13&amp;lt;/tt&amp;gt; et de créer un lien &amp;lt;tt&amp;gt;linux&amp;lt;/tt&amp;gt; qui pointe dessus :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz src]#&#039;&#039;&#039; mv linux linux-2.2.13&amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz src]#&#039;&#039;&#039; ln -s linux-2.2.13 linux&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Le lien &amp;lt;tt&amp;gt;/usr/src/linux&amp;lt;/tt&amp;gt; est nécessaire à la compilation du noyau et afin que les fichier d&#039;entêtes (les &amp;quot;includes&amp;quot;) du noyau soient disponibles pour des compilations futures d&#039;applications.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Phase de configuration du noyau ==&lt;br /&gt;
&lt;br /&gt;
Placez vous dans le répertoire des sources /usr/src, puis lancez les commandes suivantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz src]#&#039;&#039;&#039; cd linux&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make mrproper&amp;lt;/tt&amp;gt; (ça nettoie l&#039;arborescence des sources)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;pour une configuration en mode graphique :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make xconfig&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;ou pour une configuration en mode texte avec menus (ncurses) :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make menuconfig&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&#039;&#039;ou pour une configuration en mode texte pur (longue suite de questions/réponses) :&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make config&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(voir les annexes pour la manipulation de [#menuconfig menuconfig] et de [#xconfig xconfig]).&lt;br /&gt;
&lt;br /&gt;
Le moment est venu de choisir vos options. &amp;lt;br /&amp;gt;Si c&#039;est la première fois que vous compilez le noyau, je vous conseille de les passer toutes en revue les unes après les autres, dans l&#039;ordre, afin de voir si elles s&#039;appliquent à vous ou non. Pour en savoir plus, vous pouvez demander de l&#039;aide pour chaque option (touche [H] dans la console ou bouton [Help] sous X). Reportez vous aussi à l&#039;[#options annexe sur les options] pour avoir une aide afin de les choisir.&lt;br /&gt;
&lt;br /&gt;
Je vous conseille de &#039;&#039;&#039;sauvegarder&#039;&#039;&#039; votre config dans un fichier pour la réutiliser plus tard. Par exemple, sauvegardez là dans &amp;lt;tt&amp;gt;/root/kernel.config-2.2.13&amp;lt;/tt&amp;gt;. Ainsi vous pourrez recompiler le noyau en rechargeant cette config, et n&#039;ajuster que les paramètres nécessaires. De plus, même en cas de montée de version du noyau, vous pourrez réutiliser ce fichier de config qui reste compatible (et vérifier les nouvelles options, bien sûr).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Phase de compilation du noyau et des modules ==&lt;br /&gt;
&lt;br /&gt;
Sauvez et quittez, puis lancez les commandes qui vont vraiment compiler le noyau :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make dep clean bzImage modules modules_install&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; pour tout compiler en une fois et installer.&lt;br /&gt;
&lt;br /&gt;
ou :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make dep &amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make clean &amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make bzImage&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; pour compiler le noyau lui-même, et pour compiler et installer les modules (i.e. les drivers) :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make modules &amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make modules_install&amp;lt;/tt&amp;gt; Les modules seront installés dans le répertoire &#039;&#039;&#039;&amp;lt;tt&amp;gt;/lib/modules/2.2.13/&amp;lt;/tt&amp;gt;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Si vous voulez juste recompiler le noyau, sans monter de version, je vous conseille de déplacer le répertoire &amp;lt;tt&amp;gt;/lib/modules/2.x.x&amp;lt;/tt&amp;gt; (remplacez par votre version) vers &amp;lt;tt&amp;gt;/lib/modules/old-2.x.x&amp;lt;/tt&amp;gt; par exemple, avant la phase de compilation, afin que l&#039;installation des modules recrée ce répertoire et y place les nouveaux modules : cela vous épargnera des problèmes si la nouvelle configuration du noyau a modifié celle des modules. &amp;lt;br /&amp;gt;Si tout fonctionne correctement après le redémarrage, vous pourrez supprimer &amp;lt;tt&amp;gt;/lib/modules/old-2.x.x&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Installation du nouveau noyau ==&lt;br /&gt;
&lt;br /&gt;
Remarque sur &#039;&#039;&#039;initrd&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
* La plupart des distributions récentes utilisent souvent par défaut un disque RAM initial (initrd) afin de démarrer le système. Ce n&#039;est pas nécessaire en général, sauf si votre système de fichiers racine &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; a besoin de modules pour être chargé (par exemple, s&#039;il se trouve sur un disque SCSI, et que le support SCSI est en modules). Si vous incluez les modules nécessaires au chargement de votre système de fichiers racine (en répondant &amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt; au lieu de &amp;lt;tt&amp;gt;M&amp;lt;/tt&amp;gt;), vous pouvez vous passer d&#039;initrd.&lt;br /&gt;
* Si vous utilisez initrd, n&#039;oubliez pas de le &#039;&#039;&#039;regénérer&#039;&#039;&#039; avec la commande &amp;lt;tt&amp;gt;mkinitrd&amp;lt;/tt&amp;gt; avant de lancer LILO ou de redémarrer avec LOADLIN.&lt;br /&gt;
&lt;br /&gt;
=== Installation avec LILO ===&lt;br /&gt;
&lt;br /&gt;
Nous allons modifier &amp;lt;tt&amp;gt;/etc/lilo.conf&amp;lt;/tt&amp;gt; pour bouter sur votre nouveau noyau en tapant &amp;quot;&amp;lt;tt&amp;gt;linux&amp;lt;/tt&amp;gt;&amp;quot; et sur l&#039;ancien en tapant &amp;quot;&amp;lt;tt&amp;gt;old&amp;lt;/tt&amp;gt;&amp;quot;. Nous conserverons l&#039;ancien noyau, ce qui permet de revenir à l&#039;ancienne configuration si quelque chose se passe mal en boutant le nouveau noyau.&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de ce à quoi nous aboutissons :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;boot=/dev/hda&amp;lt;br /&amp;gt; # &#039;&#039;remplacez hda par le disque&amp;lt;br /&amp;gt; # où vous installez LILO&amp;lt;br /&amp;gt; &#039;&#039;map=/boot/map&amp;lt;br /&amp;gt; install=/boot/boot.b&amp;lt;br /&amp;gt; prompt&amp;lt;br /&amp;gt; timeout=15&amp;lt;br /&amp;gt; image=/boot/vmlinuz-2.2.13&amp;lt;br /&amp;gt;         label=linux&amp;lt;br /&amp;gt;         root=/dev/hdb1&amp;lt;br /&amp;gt;          # &#039;&#039;remplacez hdb1 par&amp;lt;br /&amp;gt;          # votre partition racine&amp;lt;br /&amp;gt; &#039;&#039;        read-only&amp;lt;br /&amp;gt; image=/boot/vmlinuz-2.2.10&amp;lt;br /&amp;gt;         label=old&amp;lt;br /&amp;gt;         root=/dev/hdb1&amp;lt;br /&amp;gt;         read-only&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensuite, placez vous dans &amp;lt;tt&amp;gt;/usr/src/linux&amp;lt;/tt&amp;gt;, et installez le nouveau noyau par la commande suivante : &amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; make install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cela copie le noyau et le fichier &amp;lt;tt&amp;gt;System.map&amp;lt;/tt&amp;gt; dans le répertoire &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt;, puis lance &amp;lt;tt&amp;gt;lilo&amp;lt;/tt&amp;gt; afin de prendre en compte les changements que nous avons apporté à &amp;lt;tt&amp;gt;/etc/lilo.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Si tout s&#039;est bien passé, vous n&#039;avez plus qu&#039;à rebouter :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; reboot&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au prompt LILO, tapez &#039;linux&#039; pour démarrer le nouveau noyau, et si cela ne fonctionne pas &#039;old&#039; pour démarrer l&#039;ancien noyau et aller corriger ce qui ne va pas (c&#039;est à ce moment que vous serez content d&#039;avoir sauvegardé les informations de configuration du noyau dans un fichier :).&lt;br /&gt;
&lt;br /&gt;
=== Installation avec GRUB ===&lt;br /&gt;
&lt;br /&gt;
Note : le fichier de configuration de Grub est &amp;lt;tt&amp;gt;/boot/grub.lst&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Vous devez copier le noyau et System.map dans /boot comme décrit plus haut (voir [#rapide aide mémoire rapide]) :&lt;br /&gt;
&lt;br /&gt;
Déterminez le nom de l&#039;image noyau (ici vmlinuz) dans le fichier de configuration de Grub. Puis copiez le noyau :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv /boot/vmlinuz-2.4.18 /boot/vmlinuz-2.4.18.old&amp;lt;br /&amp;gt; cp arch/&amp;lt;architecture&amp;gt;/boot/bzImage /boot/vmlinuz-2.4.18&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; avec &amp;lt;architecture&amp;gt; étant égal à &amp;lt;tt&amp;gt;i386&amp;lt;/tt&amp;gt; pour un PC compatible Intel, &amp;lt;tt&amp;gt;ppc&amp;lt;/tt&amp;gt; pour un Macintosh PowerPC, etc.&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;mv /boot/System.map-2.4.18 /boot/System.map-2.4.18.old&amp;lt;/tt&amp;gt; &amp;lt;tt&amp;gt;cp System.map /boot/System.map-2.4.18&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarque : ces instructions sont valables quelque soit le chargeur de démarrage...&lt;br /&gt;
&lt;br /&gt;
Enfin, pour faire prendre en compte la nouvelle image noyau à Grub, tapez :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;grub root (hdC,P) setup (hd0)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; En remplaçant C par le numéro du disque dur, selon la correspondance suivante : hda:C=0, hdb:C=1, hdc:C=2, etc. et P par le numéro de partition sur le disque, c&#039;est à dire hdx1:P=0, hdx2:P=1, hdx3:P=2, etc.&lt;br /&gt;
&lt;br /&gt;
=== Installation avec LOADLIN ===&lt;br /&gt;
&lt;br /&gt;
Placez vous dans &amp;lt;tt&amp;gt;/usr/src/linux&amp;lt;/tt&amp;gt;, et copiez &amp;lt;tt&amp;gt;System.map&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; sous le nom &amp;lt;tt&amp;gt;System.map-2.2.13&amp;lt;/tt&amp;gt;, effacez le lien &amp;lt;tt&amp;gt;/boot/System.map&amp;lt;/tt&amp;gt;, puis recréez le sur &amp;lt;tt&amp;gt;System.map-2.2.13&amp;lt;/tt&amp;gt; :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; cp System.map /boot/System.map-2.2.13&amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; rm -f /boot/System.map&amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; ln -s /boot/System.map-2.2.13 /boot/System.map&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copiez le noyau vers l&#039;endroit ou vous avez l&#039;habitude de le faire (en général dans le premier disque DOS, par exemple dans &amp;lt;tt&amp;gt;C:\LINUX&amp;lt;/tt&amp;gt;), monté par exemple dans &amp;lt;tt&amp;gt;/mnt/dosc&amp;lt;/tt&amp;gt; :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; cp arch/i386/boot/bzImage /mnt/dosc/linux/vmlinuz2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous utiliser initrd, regénérez-le :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; mkinitrd&amp;lt;br /&amp;gt;&#039;&#039;&#039;[root@taz linux]#&#039;&#039;&#039; cp /boot/initrd /mnt/dosc/linux/initrd2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reboutez sous DOS, et démarrez Linux par :&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;C:\&amp;gt;LOADLIN vmlinuz2 root=/dev/hdb1 ro&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; (remplacez &amp;lt;tt&amp;gt;/dev/hdb1&amp;lt;/tt&amp;gt; par votre partition racine).&lt;br /&gt;
&lt;br /&gt;
Ou si vous utilisez initrd : &amp;lt;tt&amp;gt;C:\&amp;gt;LOADLIN c:\linux\vmlinuz2 initrd=c:\linux\initrd2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;&amp;lt;font size=&amp;quot;+2&amp;quot;&amp;gt;The end...&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Annexe : copies d&#039;écran ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;make menuconfig&amp;lt;/tt&amp;gt; donne l&#039;écran suivant :&lt;br /&gt;
&lt;br /&gt;
L&#039;écran suivant contient la liste des sous-menus de configuration. &amp;lt;br /&amp;gt;Déplacez vous avec les flèches, et tapez &#039;Entrée&#039; pour entrer dans chaque sous-menu. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| bgcolor=&amp;quot;#CCCCCC&amp;quot; | &amp;lt;tt&amp;gt;&amp;lt;font size=&amp;quot;-2&amp;quot;&amp;gt; Linux Kernel v2.2.13 Configuration&amp;lt;br /&amp;gt;  ------------------------------------------------------------------------------&amp;lt;br /&amp;gt;   +------------------------------- Main Menu -------------------------------&amp;lt;br /&amp;gt;   |  Arrow keys navigate the menu.  &amp;lt;Enter&amp;gt; selects submenus ---&amp;gt;.          |&amp;lt;br /&amp;gt;   |  Highlighted letters are hotkeys.  Pressing &amp;lt;Y&amp;gt; includes, &amp;lt;N&amp;gt; excludes, |&amp;lt;br /&amp;gt;   |  &amp;lt;M&amp;gt; modularizes features.  Press &amp;lt;Esc&amp;gt;&amp;lt;Esc&amp;gt; to exit, &amp;lt;?&amp;gt; for Help.     |&amp;lt;br /&amp;gt;   |  Legend: [*] built-in  [ ] excluded  &amp;lt;M&amp;gt; module  &amp;lt; &amp;gt; module capable     |&amp;lt;br /&amp;gt;   | +---------------------------------------------------------------------+ |&amp;lt;br /&amp;gt;   | |           Code maturity level options  ---&amp;gt;                         | |&amp;lt;br /&amp;gt;   | |           Processor type and features  ---&amp;gt;                         | |&amp;lt;br /&amp;gt;   | |           Loadable module support  ---&amp;gt;                             | |&amp;lt;br /&amp;gt;   | |           General setup  ---&amp;gt;                                       | |&amp;lt;br /&amp;gt;   | |           Plug and Play support  ---&amp;gt;                               | |&amp;lt;br /&amp;gt;   | |           Block devices  ---&amp;gt;                                       | |&amp;lt;br /&amp;gt;   | |           Networking options  ---&amp;gt;                                  | |&amp;lt;br /&amp;gt;   | |           SCSI support  ---&amp;gt;                                        | |&amp;lt;br /&amp;gt;   | |           Network device support  ---&amp;gt;                              | |&amp;lt;br /&amp;gt;   | |           Amateur Radio support  ---&amp;gt;                               | |&amp;lt;br /&amp;gt;   | |           IrDA subsystem support  ---&amp;gt;                              | |&amp;lt;br /&amp;gt;   | |           ISDN subsystem  ---&amp;gt;                                      | |&amp;lt;br /&amp;gt;   | |           Old CD-ROM drivers (not SCSI, not IDE)  ---&amp;gt;              | |&amp;lt;br /&amp;gt;   | |           Character devices  ---&amp;gt;                                   | |&amp;lt;br /&amp;gt;   | |           Filesystems  ---&amp;gt;                                         | |&amp;lt;br /&amp;gt;   | |           Console drivers  ---&amp;gt;                                     | |&amp;lt;br /&amp;gt;   | |           Sound  ---&amp;gt;                                               | |&amp;lt;br /&amp;gt;   | |           Kernel hacking  ---&amp;gt;                                      | |&amp;lt;br /&amp;gt;   | |           ---                                                       | |&amp;lt;br /&amp;gt;   | |           Load an Alternate Configuration File                      | |&amp;lt;br /&amp;gt;   | |           Save Configuration to an Alternate File                   | |&amp;lt;br /&amp;gt;   | |                                                                     | |&amp;lt;br /&amp;gt;   | +---------------------------------------------------------------------+ |&amp;lt;br /&amp;gt;   +-------------------------------------------------------------------------+&amp;lt;br /&amp;gt;   |                    &amp;lt;Select&amp;gt;    &amp;lt; Exit &amp;gt;    &amp;lt; Help &amp;gt;                     |&amp;lt;br /&amp;gt;   +-------------------------------------------------------------------------&amp;lt;/font&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
Sur les écrans déplacez vous avec les flèches, tapez &#039;Y&#039; pour include une fonction, &#039;M&#039; pour l&#039;inclure en tant que module. Tapez &#039;?&#039; ou &#039;H&#039; pour avoir de l&#039;aide sur la fonction sélectionnée (je vous recommande de lire l&#039;aide de chaque fonction, et si vous ne comprenez pas, prenez la valeur conseillée). Tapez &#039;Esc&#039; afin de sortir d&#039;un sous-menu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Après avoir configuré votre noyau, sélectionnez &amp;quot;Save Configuration to an Alternate File&amp;quot;, afin d&#039;enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant &#039;Esc&#039; et enregistrez la configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;make xconfig&amp;lt;/tt&amp;gt; donne la fenêtre suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:kernel-make_xconfig.png]]&lt;br /&gt;
&lt;br /&gt;
Ce premier écran contient des boutons qui mènent aux différents sous-menus de configuration : &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|&lt;br /&gt;
[[Image:kernel-make_xconfig2.png]]&lt;br /&gt;
| Pour chaque option, cliquez sur le bouton [Help] afin de lire la documentation de l&#039;option.  &amp;lt;br /&amp;gt;Après avoir configuré votre noyau, sélectionnez &amp;quot;Store Configuration to File&amp;quot;, afin d&#039;enregistrer le fichier de configuration et de pouvoir le réutiliser ultérieurement. Enfin, quittez en pressant &#039;Esc&#039;, et enregistrez la configuration.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Annexe : quelles options choisir ==&lt;br /&gt;
&lt;br /&gt;
Je ne vais bien sûr pas pouvoir vous donner ici toutes les options dont vous allez avoir besoin, néanmoins celles qui sont nécessaires en général, ainsi que les options permettant de résoudre un cas particulier seront citées ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Afin de choisir vous-même vos options, passez les en revue l&#039;une après l&#039;autre dans l&#039;ordre, en consultant si besoin l&#039;aide disponible pour chacune d&#039;entre elles. Si vous ne comprenez pas l&#039;anglais, une traduction de l&#039;aide existe en français à l&#039;adresse http://www.linux-kheops.com/traduc/kernels/. Remplacez le fichier &amp;lt;tt&amp;gt;/usr/src/linux/Documentation/Configure.help&amp;lt;/tt&amp;gt; par le fichier traduit.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aller plus loin&#039;&#039;&#039; : si vous désirez comprendre un peu mieux &amp;quot;comment ça marche&amp;quot;, lisez les documents présents dans le répertoire &#039;&#039;&#039;&amp;lt;tt&amp;gt;/usr/src/linux/Documentation&amp;lt;/tt&amp;gt;&#039;&#039;&#039;. Ils sont souvent très intéressants.&lt;br /&gt;
&lt;br /&gt;
=== Options &amp;quot;générales&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Résumé&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Il faut répondre &#039;&#039;&#039;&amp;lt;tt&amp;gt;Y&amp;lt;/tt&amp;gt;&#039;&#039;&#039; à la question du support des &#039;&#039;&#039;modules&#039;&#039;&#039;, ainsi qu&#039;à celle du chargement automatique des modules par le kernel (&amp;lt;tt&amp;gt;kerneld Y&amp;lt;/tt&amp;gt;), sinon vous devrez les monter en mémoire à la main !&lt;br /&gt;
&lt;br /&gt;
De manière générale, il est bon de modulariser un maximum de choses, mais tout n&#039;est pas possible (enfin... pas simplement :) &amp;lt;br /&amp;gt;Par exemple, vous ne devriez pas mettre en module ce qui vous permet de monter votre partition racine. Si celle-ci se situe sur un disque IDE, ne mettez pas le support IDE en module, de même si elle se situe sur un disque SCSI, ne mettez pas le support SCSI en module. Si votre partition racine est montée par le réseau et NFS (cas des stations diskless par exemple), ne mettez pas le support de la carte réseau et le support NFS en modules. &amp;lt;br /&amp;gt;En effet, les modules sont chargés après le noyau, et si les modules IDE sont sur un disque IDE, il faut d&#039;abord les charger avant de pouvoir accéder au disque, mais pour les charger, il faut avoir accès au disque et donc les avoir chargés avant... vous voyez le cercle vicieux ? &amp;lt;br /&amp;gt;En fait, il est possible de contourner ce problème, mais ce document s&#039;adresse aux débutants...&lt;br /&gt;
&lt;br /&gt;
Tout le reste peut être compilé en modules, c&#039;est à dire carte son, carte réseau (sauf si votre racine est déportée sur un serveur NFS comme dit précédemment), le port parallèle, le support ppp (pour internet par modem), le CD-ROM, etc. &amp;lt;br /&amp;gt;Si vous avez du matériel PnP et que vous voulez utiliser le support PnP de Linux,  passez tous les drivers pour ces cartes en modules aussi et configurez votre PNP (voir la [../hardware/pnp.php3 rubrique Plug&#039;n Play] afin de configurer ensuite les modules dans &amp;lt;tt&amp;gt;/etc/conf.modules&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Voici ci-dessous les options &#039;&#039;&#039;classiques&#039;&#039;&#039; à utiliser pour une configuration classique. Si rien n&#039;est dit ici à propos d&#039;une option, regardez l&#039;aide ou conservez la valeur par défaut ; vous pouvez aussi répondre &#039;N&#039; à tous les périphériques que vous ne possédez pas, comme par exemple, IDE/ATAPI TAPE, etc.&lt;br /&gt;
&lt;br /&gt;
==== Code maturity level options ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Prompt for development and/or incomplete code/drivers : Y&amp;lt;/tt&amp;gt; Ca n&#039;engage à rien :)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Processor type and features ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;définissez ici votre type de processeur, la quantité de mémoire vive maxi que vous voulez gérer &amp;lt;tt&amp;gt;Math emulation                         N&amp;lt;br /&amp;gt;   Si vous avez un processeur x86&amp;lt;br /&amp;gt; MTRR                                   Y&amp;lt;br /&amp;gt;   une chtite optimisation&amp;lt;br /&amp;gt; Symmetric multi-processing support     N&amp;lt;br /&amp;gt;   c&#039;est l&#039;option pour les multi processeurs !&amp;lt;/tt&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Loadable module support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Enable loadable module support         Y&amp;lt;br /&amp;gt; Set version information on all symbols for modules : Y&amp;lt;br /&amp;gt; Kernel module loader                   Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== General setup ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Networking support                     Y&amp;lt;br /&amp;gt;   même si vous ne faites ni réseau ni internet&amp;lt;br /&amp;gt; PCI support                            Y&amp;lt;br /&amp;gt;   évidemment&amp;lt;br /&amp;gt; Advanced Power Management BIOS support Y&amp;lt;br /&amp;gt;   si vous avez un portable ca peut être utile&amp;lt;/tt&amp;gt; &amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; (merci Fred !) : le support du BIOS APM n&#039;est pas utile qu&#039;au portable ! Si en plus vous cochez &amp;quot;&amp;lt;tt&amp;gt;Make CPU Idle when IDLE&amp;lt;/tt&amp;gt;&amp;quot; : quand votre PC ne fait rien, il refroidit. Ca permet d&#039;&#039;&#039;overclocker&#039;&#039; un CPU sans acheter de ventilateur plus gros ! (en fait sur les sites d&#039;overclockeur on trouve des programmes en shareware qui font la même chose !) Ca n&#039;a aucun impact (notable) sur le PC sinon que chaque fois qu&#039;il ne fait rien, Linux le dit au processeur qui fait ce qu&#039;il faut ! &lt;br /&gt;
&lt;br /&gt;
Sinon pour les autres options, laissez la valeur par défaut ou bien lisez l&#039;aide jointe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Plug and Play support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Plug and Play support                  Y&amp;lt;br /&amp;gt;   si vous souhaitez utilisez le PnP de Linux&amp;lt;br /&amp;gt; Auto-probe for parallel devices        M&amp;lt;br /&amp;gt;   permet de tester les perifs sur le port //&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Block devices ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Normal PC floppy disk support          Y&amp;lt;br /&amp;gt; Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support  Y&amp;lt;br /&amp;gt;    Include IDE/ATA-2 DISK support      Y&amp;lt;br /&amp;gt;    Include IDE/ATAPI CDROM support     Y&amp;lt;br /&amp;gt;         à moins que vous ayez un CD non IDE&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Et si vous connaissez le chipset qui est sur votre carte mère, vous pouvez choisir les options correspondantes. Dans le doute, si l&#039;option corrige un bug, choisissez Y, sinon choisissez N.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Additional block devices ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Loopback device support                M&amp;lt;br /&amp;gt;   utile pour voir ce que contient une image ISO&amp;lt;br /&amp;gt; RAM disk support (CONFIG_BLK_DEV_RAM)  Y&amp;lt;br /&amp;gt;   si vous utilisez un ramdisk pour booter (N sinon) &amp;lt;br /&amp;gt; Parallel port IDE device support       M&amp;lt;br /&amp;gt;   si vous avez un CD, disque dur... sur le port //&amp;lt;br /&amp;gt;   dans ce cas, prenez tous les protocoles en module&amp;lt;br /&amp;gt;   pour être sûr que ça marche, et prenez aussi&amp;lt;br /&amp;gt;   l&#039;autoprobe (voir plus haut)&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Networking options ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Les networking options peuvent être laissées telles quelles si vous ne faites rien de spécial.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SCSI support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Même si vous n&#039;avez rien de SCSI, cette section peut vous intéresser (graveur IDE, CD, disque dur ou ZIP sur port parallèle, etc.). &amp;lt;tt&amp;gt;SCSI support (CONFIG_SCSI)             Y&amp;lt;br /&amp;gt;   si partition racine sur disque SCSI&amp;lt;br /&amp;gt;                                     ou M&amp;lt;br /&amp;gt;   si CD SCSI ou graveur (même IDE : voir [#graveurIDE plus bas])&amp;lt;br /&amp;gt; SCSI disk, tape, CD-ROM support        Y&amp;lt;br /&amp;gt;   si vous avez ce périphérique&amp;lt;br /&amp;gt; Enable vendor-specific extensions    Y&amp;lt;br /&amp;gt;   ca peut pas faire de mal :) + indisp. graveur IDE&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== SCSI low level drivers ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Pour les SCSI low-level drivers, choisissez seulement celui de votre carte SCSI, Y ou M selon votre partition racine, et N pour les autres. (graveur IDE : M pour n&#039;importe lequel). Si vous avez un ZIP sur le port parallèle, choisissez (dans les SCSI low-level drivers) : &amp;lt;tt&amp;gt;IOMEGA parallel port (ppa - older drives)  M&amp;lt;br /&amp;gt; IOMEGA parallel port (imm - newer drives)  M&amp;lt;/tt&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Network device support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Si vous avez une carte réseau ou si vous utilisez un modem en ppp pour aller sur internet, soit dans la plupart des cas : &amp;lt;tt&amp;gt;Network device support (CONFIG_NETDEVICES) Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ARCnet devices ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Dummy net driver support (CONFIG_DUMMY)  Y ou M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; et vous pouvez raisonnablement mettre les autres options à N.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ethernet (10 or 100Mbit) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Choisissez le driver pour votre carte réseau, Y ou M, et mettez les autres à N.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Appletalk devices ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Vous pouvez tout mettre à N ici, sauf bien sûr si vous voulez faire de l&#039;Appletalk. Mais si vous vous connectez à internet avec un modem : &amp;lt;tt&amp;gt;PPP (point-to-point) support (CONFIG_PPP)  Y ou M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Token Ring, Wan interfaces, Amateur Radio support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;A moins d&#039;une configuration spécifique, vous pouvez tout mettre à N dans ces trois rubriques.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== IrDA subsystem support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Configurez IrDA suivant votre utilisation, je ne connais pas :) voir http://www.cs.uit.no/~dagb/irda/.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Infrared-port device drivers ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Si vous utilisez IrDA, configurez ici votre &amp;quot;low level driver&amp;quot;.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ISDN subsystem ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;si vous avez un modem Numéris(tm) choisissez : &amp;lt;tt&amp;gt;ISDN support : M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; ainsi que le driver pour votre modem à M.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Old CD-ROM drivers (not SCSI, not IDE) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;si vous avez un vieux lecteur de CD-ROM, ni IDE ni SCSI, c&#039;est à dire connecté à une carte propriétaire ou une carte son en général, vous pouvez essayer de le faire fonctionner avec ces drivers.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Character devices ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;tt&amp;gt;Virtual terminal                        Y&amp;lt;br /&amp;gt; Support for console on virtual terminal Y&amp;lt;br /&amp;gt; Standard/generic (dumb) serial support  Y&amp;lt;br /&amp;gt; Parallel printer support                M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; et pour le reste, laissez la valeur par défaut et supprimez (N) les périphériques qui ne vous concernent pas.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mice ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Si vous avez une souris série, vous n&#039;avez rien à faire. &amp;lt;br /&amp;gt;Si vous avez une souris PS/2 : &amp;lt;tt&amp;gt;PS/2 mouse (aka &amp;quot;auxiliary device&amp;quot;) support    Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Dans la majorité des cas (qui n&#039;a pas une souris série&amp;lt;br /&amp;gt; ou PS/2 ?) vous pouvez répondre N aux autres options.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Watchdog Cards ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Vraisemblablement vous n&#039;en avez pas : mettez tout à N, sinon vous savez certainement ce que vous faites :)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Video For Linux ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Cela concerne les personnes qui ont une carte tuner TV ou radio ou une web cam supportée (voir la [../hardware/tv.php3 rubrique TV]). Si c&#039;est votre cas, choisissez : &amp;lt;tt&amp;gt;Video For Linux          M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; puis mettez en module les drivers nécessaires. Par exemple, si vous possédez une carte Miro PCTV (ou compatible BT8xx), choisissez : &amp;lt;tt&amp;gt;BT848 Video For Linux    M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Joystick support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Si vous en avez un ou plusieurs, choisissez : &amp;lt;tt&amp;gt;Joystick support : M&amp;lt;/tt&amp;gt; puis mettez en module les drivers pour les joysticks qui vous intéressent. &amp;lt;br /&amp;gt;&#039;&#039;&#039;Attention&#039;&#039;&#039;, les drivers pour joysticks NES, SNES, PSX, Sega, etc. (Multisystem) nécessitent que vous fabriquiez une interface spéciale pour les connecter au port parallèle... à vos fers à souder !&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ftape, the floppy tape device driver ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Vous avez un lecteur de bande branché avec le lecteur de disquettes ? Cette rubrique vous concerne.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Filesystems ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Les systèmes de fichiers. Choisissez ceux dont vous avez besoin : minix, ext2 (second extended), /proc, /dev/pts sont &#039;&#039;&#039;indispensables&#039;&#039;&#039;. &amp;lt;br /&amp;gt;Plus en général : DOS FAT + VFAT, ISO 9660 (pour les CD-ROMS) et les extensions Joliet (noms longs sur les CD), &amp;lt;br /&amp;gt;plus romfs qui peut être utile pour ceux qui utilisent initrd.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Network File Systems ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Choisissez les options NFS si vous souhaitez monter des disques partagés en NFS, &amp;lt;br /&amp;gt;choisissez les options SMB afin de monter les répertoires partagés Windows par réseau. (si vous ne voulez pas monter de répertoire partagé, mais plutôt en partager avec Samba, vous n&#039;avez pas besoin de répondre Y ou M ici).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Partition Types ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Vous pouvez sûrement répondre N partout ici, sauf si vous en avez besoin, mais si c&#039;est le cas, vous le savez :)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Native Language Support ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Linux est localisé, c&#039;est à dire qu&#039;il peut être utilisé dans tous les pays avec les caractères spécifiques au pays. A priori en France il suffit de choisir en module : Codepage 850 et NLS ISO 8859-1. Les autres peuvent être mis à N.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Console drivers ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Vous pouvez laisser les options par défaut, sauf si vous voulez utiliser la console en mode frame buffer, avec le serveur X pour frame buffer (pratique si votre carte, récente, n&#039;est pas encore supportée par XFree). &amp;lt;br /&amp;gt;Dans ce cas, choisissez : &amp;lt;tt&amp;gt;Support for frame buffer devices     Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; et configurez les options qui en dépendent.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Nous allons ici configurer la carte son. Si vous en avez une, choisissez : &amp;lt;tt&amp;gt;Sound card support            M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Vous pouvez aussi utiliser le PC Speaker : &amp;lt;tt&amp;gt;Internal PC speaker support   M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Ensuite, choisissez le &amp;quot;low level driver&amp;quot; de votre carte. Si vous le mettez en module (conseillé), ce n&#039;est pas la peine de mettre ici les paramètres de la carte (irq, dma, etc.)&amp;lt;/blockquote&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;font size=&amp;quot;+1&amp;quot;&amp;gt;Ouf... c&#039;est fini :-)&amp;lt;/font&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;Après ça, vous comprenez pourquoi je n&#039;arrête pas de vous dire de sauvegarder votre config de noyau dans un fichier !!!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Cas particuliers ==&lt;br /&gt;
&lt;br /&gt;
=== Permettre le gravage sur des graveurs IDE ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Les graveurs IDE sont reconnus sans problème en tant que lecteur de CD-ROM, mais pour ce qui est de s&#039;en servir comme d&#039;un graveur, vous allez devoir utiliser &amp;quot;&#039;&#039;l&#039;émulation SCSI&#039;&#039;&amp;quot;, comme sous Windows d&#039;ailleurs (ASPI, ca vous dit quelquechose ?). Pour ce faire, il faut choisir les options suivantes dans le noyau : &amp;lt;tt&amp;gt;Enhanced IDE/MFM/RLL...         Y&amp;lt;br /&amp;gt; IDE/ATAPI CDROM                 M&amp;lt;br /&amp;gt; SCSI hostadaptor emulation      M&amp;lt;br /&amp;gt; Loopback device                 M&amp;lt;br /&amp;gt; SCSI support                    Y ou M&amp;lt;br /&amp;gt; SCSI CD-ROM support             Y ou M&amp;lt;br /&amp;gt; Enable vendor-specific          Y&amp;lt;br /&amp;gt; SCSI generic support            Y ou M&amp;lt;br /&amp;gt;    (choisir un driver SCSI, n&#039;importe lequel)&amp;lt;br /&amp;gt; ISO 9660 CDROM filesystem       Y&amp;lt;br /&amp;gt; Microsoft Joliet cdrom...       M&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour le reste de la configuration, celle-ci ne concerne pas le noyau. Allez la consulter dans la rubrique [../trucs/?aff_item=8 trucs]. &amp;lt;br /&amp;gt;&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : les distributions récentes ont souvent le support de l&#039;émulation SCSI déjà inclus, il suffit alors de le configurer selon ce qui est indiqué dans la rubrique [../trucs/?aff_item=8 trucs].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Activer le support Frame buffer dans le noyau ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Menu &#039;&#039;&#039;Code maturity level options&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Prompt for development and/or incomplete code/drivers : Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Menu &#039;&#039;&#039;Console drivers&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Video mode selection support : Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;Support for frame buffer devices : Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;VESA VGA graphic console : Y&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour le reste de la configuration du frame buffer, par exemple le serveur X, voir la rubrique [../xwindow/x.php3#frame_buffer correspondante].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Options spécifiques à un modem ADSL USB ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Pour les utilisateurs d&#039;un modem adsl USB, voici les options que vous devriez choisir :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; - &#039;&#039;&#039;Menu [Network Device Support]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;PPP (point-to-point protocol) support (CONFIG_PPP) [M]&amp;lt;br /&amp;gt; PPP support for sync tty ports (CONFIG_PPP_SYNC_TTY) [M]&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; - &#039;&#039;&#039;Menu [Character devices]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;[*] Non-standard serial port support&amp;lt;br /&amp;gt; HDLC line discipline support&amp;lt;br /&amp;gt; [*] Unix98 PTY support&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; - &#039;&#039;&#039;Menu [USB support]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt; Support for USB (CONFIG_USB) [M]&amp;lt;br /&amp;gt; Preliminary USB device filesystem (CONFIG_USB_DEVICEFS) [Y]&amp;lt;br /&amp;gt; UHCI (Intel PIIX4, VIA, ...) support (CONFIG_USB_UHCI) [M]&amp;lt;br /&amp;gt; UHCI Alternate Driver (JE) support (CONFIG_USB_UHCI_ALT) [M]&amp;lt;br /&amp;gt; OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support (CONFIG_USB_OHCI) [M]&amp;lt;/tt&amp;gt; &amp;lt;/blockquote&amp;gt;&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Jean-Christophe Cardot le 06/11/1999.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 06/11/1999, Jean-Christophe Cardot&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=6574</id>
		<title>Lea Linux:Rapport d&#039;erreurs</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=6574"/>
		<updated>2005-10-12T18:59:23Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* À régler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bugues ==&lt;br /&gt;
=== À régler ===&lt;br /&gt;
&lt;br /&gt;
* problème de traduction : tous les messages de médiawiki ne sont pas traduits, certains sont MAL traduits, merci de signaler ici les problèmes rencontrés.&lt;br /&gt;
&lt;br /&gt;
* il semblerait que l&#039;extension &amp;quot;rss&amp;quot; qui permet de d&#039;inclure des rss parte plus ou moins en vrille... je pense utiliser un script de récupération des rss dans la crontab&lt;br /&gt;
** Je n’ai rien remarqué de spécial, qu’est-ce qui ne va pas ? [[Utilisateur:Nicola|Nicola]]&lt;br /&gt;
** Lorsque la page doit être recréée, parfois, elle met un temps infini à se recharger (mais c&#039;est loin d&#039;être régulier : en tout cas, j&#039;ai plus eu ce pb depuis que j&#039;ai supprimé les lien &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;rss&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
* problèmes avec les catégories [[Special:Categories]]&lt;br /&gt;
** quel contenu mettre dans les pages de catégorie ? (Note de Fred: laissons faire le temps)&lt;br /&gt;
* export autre (ODT, xhtml, docbook?) (pas urgent)&lt;br /&gt;
* css &amp;quot;printable&amp;quot; (urgent)&lt;br /&gt;
* correction/suppression des pages &amp;quot;daubé&amp;quot;&lt;br /&gt;
* que faire de nawak&lt;br /&gt;
  -&amp;gt; (jice) tu parles des docs ou du logiciel ? pour les docs, elles ne sont pas importées, et le logiciel ne va plus servir, donc je répondrais : rien ;-)&lt;br /&gt;
* sur la gauche le &#039;&#039;Découvrez et contribuez à Léa&#039;&#039; (juste en dessous du pavé &#039;&#039;Accueil - user - créer un compte - version imprimable | pdf - aide&#039;&#039;) sort du cadre (Firefox 1.5 beta 1)&lt;br /&gt;
* le &#039;&#039;changelog&#039;&#039; bureaucrate ne montre pas le statut acquis&lt;br /&gt;
:: bug de médiawiki : faire un rapport de bug à médiawiki ...&lt;br /&gt;
* Lorsque l&#039;on est sur la page des contributions d&#039;un utilisateur, il est affiché &#039;&#039;Contributions de $1&#039;&#039; au lieu du nom de l&#039;utilisateur&lt;br /&gt;
* Ce n&#039;est pas un bug, mais il y a une faute de frappe dans les préférences utilisateur:  Me prévenir par courrile des changements de ma page&lt;br /&gt;
&lt;br /&gt;
=== Réglés ===&lt;br /&gt;
&lt;br /&gt;
* affichage correct du fait qu&#039;on soit loggué ou pas : utilisation d&#039;un morceau de code javascript (seule solution que j&#039;ai trouvé, à cause du cache : qui rend certaine page statique alors qu&#039;elles sont toutes dynamiques du point de vue de l&#039;affichage de ce genre d&#039;information). Ce code ne vérifie pas les mots de passe : il suppose que les cookies annoncés sont corrects et bien fixés par mediawiki, si ce n&#039;est pas le cas et qu&#039;un mec essaie de truander, et bien il se retrouve avec un affichage qui lui fait croire qu&#039;il est vraiment loggué, même s&#039;il ne l&#039;est pas. Tant pis pour lui ;-p&lt;br /&gt;
* portage des commentaires de l&#039;ancien wiki dans le nouveau (les pages ne sont certainement pas &amp;quot;trés&amp;quot; correctes, mais ça permettra de les relire&lt;br /&gt;
* lien &amp;quot;ajouter un commentaire en bas de chaque page&amp;quot; qui ajoute un truc à la page &amp;quot;discussion&amp;quot;&lt;br /&gt;
* maj mediawik 1.5rc4 -&amp;gt; mediwiki 1.5.0&lt;br /&gt;
* CSS / Skin LéaLinux : liens d&#039;édition plus lisible + repositionnement des liens d&#039;édition du &#039;&#039;bas&#039;&#039;&lt;br /&gt;
* [[Utilisateur:Lea|Lea]] 3 oct 2005 à 17:20 (CEST) (réglé) (jiel) confirmation par courriel lors de la création de compte: quand je clique sur le lien pour confirmer, j&#039;ai &amp;quot;The requested URL /cached/index/Special:Confirmemail/[lettresetchiffres].html was not found on this server.&amp;quot;.&lt;br /&gt;
* 3 oct 2005 à 01:21 (CEST)  Les &amp;quot;Fiches pratiques&amp;quot; n&#039;affichent rien&lt;br /&gt;
** Ça m’étonnerait… lesquelles ?&lt;br /&gt;
** Moi rien ne m&#039;étonne, mais par contre, je n&#039;ai pas ce problème, de quelle fiche tu parles (url ?) et depuis quelles pages obtiens tu ces url ? (url ?)&lt;br /&gt;
** (jiel) Je pense qu&#039;il veut dire en cliquant dans le menu dans la boite en haut du site, le lien est &amp;quot;http://devel.lea-linux.org/cached/index/Fiches:index.html#&amp;quot; au lieu de &amp;quot;http://devel.lea-linux.org/cached/index/Fiches:Index.html#&amp;quot; (juste la maj qui change en fait). Les fiches sont donc accessibles sur la page d&#039;accueil en bas, mais pas dans la boite en haut.&lt;br /&gt;
** (fred) si c&#039;est ça : alors c&#039;est réglé ... je n&#039;avais pas ce &amp;quot;pb&amp;quot; sur konqi, ça faisait une redirection automatiquement vers la bonne page ... étrange...&lt;br /&gt;
* (2 oct 2005 à 18:22 (CEST) réglé) Pour l&#039;activation du compte, lorsque je clique sur l&#039;url de confirmation une fenêtre de connexion s&#039;affiche, mais il n&#039;a pas l&#039;air d&#039;apprécier mon login/passwd (me réaffiche la fenêtre de login) &lt;br /&gt;
** note : pour activer le compte, il n&#039;est rien besoin de faire : il est activé, d&#039;ailleur tu as posté ce text VIA ce compte ce qui prouve que tu es bien enregistré ET que ton compte fonctionne&lt;br /&gt;
** par contre, la confirmation d&#039;email ne semble pas fonctionner pour toi, puis-je te demander de m&#039;envoyer, l&#039;url qui est dans le mail de confirmation (mais avant, peux-tu recliquer dessus, je crois que je vois ou est le pb et j&#039;espere que je viens de le corriger).&lt;br /&gt;
* je n’arrive plus à éditer ma page utilisateur (nicola), il dit que je ne suis pas connecté, même problème avec pas mal de pages spéciales (semble réglé)&lt;br /&gt;
* création de page (lien en rouge) qui bugue (il y a parfois un / en trop entre edit et index) (may be fixed)&lt;br /&gt;
* la balise &#039;&#039;code&#039;&#039; crée un retour à la ligne (fixed)&lt;br /&gt;
* problème avec les &amp;quot;?&amp;quot; dans les noms de pages (enfin j&#039;espère)&lt;br /&gt;
* problème avec les login ne commençant pas par une majuscule : un ucfirst est fait pour éviter ce pb&lt;br /&gt;
* support d’utf-8 (si ce n’est pas déjà fait) : (note de fred: mediawiki est nativement en utf-8) &lt;br /&gt;
* contenu de l&#039;index : [[Accueil]] à revoir (urgent) : ce n&#039;est certes pas parfait, loin s&#039;en faut, mais un appel à contribution est lancé.&lt;br /&gt;
* export PDF (urgent) : version partiellement satisfaisante (à améliorer, mais plus tard) accessible via le bouton &amp;quot;Version pdf&amp;quot;.&lt;br /&gt;
* login sur nocache avec les identifiants mediawiki&lt;br /&gt;
* protection &amp;quot;fs-overflow&amp;quot; : les pages n&#039;existants pas ne génére rien dans le cache&lt;br /&gt;
* le bouton admin swap de &amp;quot;cached&amp;quot; à &amp;quot;nocache&amp;quot;&lt;br /&gt;
* lien des deux menus à voir (urgent) (FIXED)&lt;br /&gt;
* le renommage de page ne fonctionne pas comme il devrait : la redirection qui suit le renommage renvoie sur la page d&#039;Accueil plutôt que vers la bonne page (FIXED)&lt;br /&gt;
* dans le même ordre d&#039;idée lors de l&#039;upload d&#039;une image, l&#039;upload se fait bien mais la redirection qui suit l&#039;upload merdoit. (FIXED)&lt;br /&gt;
* problème avec les pages a un titre (ou un namespace) comportant des caractères accentués -&amp;gt; après la preview, ces caractères sont remplacés par : %xy%zt etc ... et ça plante le &amp;quot;title&amp;quot; (FRED:FIXED / putain d&#039;UTF-8 de mes deux !)&lt;br /&gt;
* problèmes avec les modèles (FRED:FIXED) :&lt;br /&gt;
** modification de la page Accueil car un modèle s&#039;utilise pour la page &amp;lt;nowiki&amp;gt;[[Modèle:Nom du modèle]]&amp;lt;/nowiki&amp;gt; avec le marqueur &amp;lt;nowiki&amp;gt;{{Nom du modèle}}&amp;lt;/nowiki&amp;gt; (FRED:FIXED)&lt;br /&gt;
** un seul niveau de catégorie, il faut éditer les pages des sous-catégories pour les inclure dans sa catégorie mère =&amp;gt; ajout de &amp;lt;nowiki&amp;gt;[[catégorie:nom de la catégorie mère]]&amp;lt;/nowiki&amp;gt; dans la page de la catégorie (Note de Fred: je ne vois pas vraiment ce que tu veux dire) (ST:FIXED par exemple [Catégorie:Applications] appartient à [Catégorie:Léa_pour_les_pros])&lt;br /&gt;
** l&#039;accès en lecture aux modèles en cache est interdit (demande d&#039;identification infinie) et ainsi les modèles ne sont pas résolus pour affichage : peut-être dû au problème de cache et caractères accentués&lt;br /&gt;
** cf doc http://fr.wikipedia.org/wiki/Aide:Modèle&lt;br /&gt;
* problème avec les liens mails, comment écrire un lien mailto en MediaWiki ? (FRED:FIXED) comme ça : mailto:capue@labas.com et pour éviter que ça merdoie : &amp;lt;nowiki&amp;gt;[mailto:capue@labas.com un joli nom]&amp;lt;/nowiki&amp;gt; donne : [mailto:capue@labas.com un joli nom]&lt;br /&gt;
* les sous sections, sous-sous sections etc... vautre le cache ex: [[Section/Page]] : FIXED (mais j&#039;ai l&#039;impression que les &amp;quot;rétro-lien&amp;quot; (ie: vers [[Section]] depuis [[Section/Page]] ne fonctionnent pas, pour une raison qui m&#039;échappe.&lt;br /&gt;
* version imprimable fonctionnelle&lt;br /&gt;
&lt;br /&gt;
== ChangeLog ==&lt;br /&gt;
* 2 oct 2005 à 18:20 (CEST)&lt;br /&gt;
** lien BugReport dans le menu de gauche&lt;br /&gt;
** cochage automatique (par défaut) de la case &amp;quot;minor edit&amp;quot; : je préfère qu&#039;on mette trop de &#039;minor change&#039; que le contraire&lt;br /&gt;
*** (jice) chez moi ca reste décoché&lt;br /&gt;
*** (fred) navigateur ? version ? javascript activé ? parce que moi j&#039;ai testé avec konqi 3.4.2 et firefox 1.0.6 et &amp;quot;chez moi ça marche&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Demandes de fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
* Dans le sommaire automatique :&lt;br /&gt;
** Soit, supprimer le titre de niveau 1&lt;br /&gt;
** Soit, supprimer la numérotation&lt;br /&gt;
* export xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* import auto xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* Utiliser automatiquement l’identifiant du phorum (Note de Fred: c&#039;est dans &#039;&#039;ma&#039;&#039; todolist)&lt;br /&gt;
* (jiel) aggrandir le textarea de la fenêtre d&#039;édition, ce serait plus pratique pour l&#039;édition ou la modif d&#039;articles. (Note: C&#039;est déjà possible, il suffit d&#039;éditer tes préférences -- non testé)&lt;br /&gt;
* ajouter en bas de chaque article les &amp;quot;autres ressources&amp;quot; des anciens articles&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=6573</id>
		<title>Lea Linux:Rapport d&#039;erreurs</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=6573"/>
		<updated>2005-10-12T18:54:28Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* À régler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bugues ==&lt;br /&gt;
=== À régler ===&lt;br /&gt;
&lt;br /&gt;
* problème de traduction : tous les messages de médiawiki ne sont pas traduits, certains sont MAL traduits, merci de signaler ici les problèmes rencontrés.&lt;br /&gt;
&lt;br /&gt;
* il semblerait que l&#039;extension &amp;quot;rss&amp;quot; qui permet de d&#039;inclure des rss parte plus ou moins en vrille... je pense utiliser un script de récupération des rss dans la crontab&lt;br /&gt;
** Je n’ai rien remarqué de spécial, qu’est-ce qui ne va pas ? [[Utilisateur:Nicola|Nicola]]&lt;br /&gt;
** Lorsque la page doit être recréée, parfois, elle met un temps infini à se recharger (mais c&#039;est loin d&#039;être régulier : en tout cas, j&#039;ai plus eu ce pb depuis que j&#039;ai supprimé les lien &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;rss&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
* problèmes avec les catégories [[Special:Categories]]&lt;br /&gt;
** quel contenu mettre dans les pages de catégorie ? (Note de Fred: laissons faire le temps)&lt;br /&gt;
* export autre (ODT, xhtml, docbook?) (pas urgent)&lt;br /&gt;
* css &amp;quot;printable&amp;quot; (urgent)&lt;br /&gt;
* correction/suppression des pages &amp;quot;daubé&amp;quot;&lt;br /&gt;
* que faire de nawak&lt;br /&gt;
  -&amp;gt; (jice) tu parles des docs ou du logiciel ? pour les docs, elles ne sont pas importées, et le logiciel ne va plus servir, donc je répondrais : rien ;-)&lt;br /&gt;
* sur la gauche le &#039;&#039;Découvrez et contribuez à Léa&#039;&#039; (juste en dessous du pavé &#039;&#039;Accueil - user - créer un compte - version imprimable | pdf - aide&#039;&#039;) sort du cadre (Firefox 1.5 beta 1)&lt;br /&gt;
* le &#039;&#039;changelog&#039;&#039; bureaucrate ne montre pas le statut acquis&lt;br /&gt;
:: bug de médiawiki : faire un rapport de bug à médiawiki ...&lt;br /&gt;
* Lorsque l&#039;on est sur la page des contributions d&#039;un utilisateur, il est affiché &#039;&#039;Contributions de $1&#039;&#039; au lieu du nom de l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
=== Réglés ===&lt;br /&gt;
&lt;br /&gt;
* affichage correct du fait qu&#039;on soit loggué ou pas : utilisation d&#039;un morceau de code javascript (seule solution que j&#039;ai trouvé, à cause du cache : qui rend certaine page statique alors qu&#039;elles sont toutes dynamiques du point de vue de l&#039;affichage de ce genre d&#039;information). Ce code ne vérifie pas les mots de passe : il suppose que les cookies annoncés sont corrects et bien fixés par mediawiki, si ce n&#039;est pas le cas et qu&#039;un mec essaie de truander, et bien il se retrouve avec un affichage qui lui fait croire qu&#039;il est vraiment loggué, même s&#039;il ne l&#039;est pas. Tant pis pour lui ;-p&lt;br /&gt;
* portage des commentaires de l&#039;ancien wiki dans le nouveau (les pages ne sont certainement pas &amp;quot;trés&amp;quot; correctes, mais ça permettra de les relire&lt;br /&gt;
* lien &amp;quot;ajouter un commentaire en bas de chaque page&amp;quot; qui ajoute un truc à la page &amp;quot;discussion&amp;quot;&lt;br /&gt;
* maj mediawik 1.5rc4 -&amp;gt; mediwiki 1.5.0&lt;br /&gt;
* CSS / Skin LéaLinux : liens d&#039;édition plus lisible + repositionnement des liens d&#039;édition du &#039;&#039;bas&#039;&#039;&lt;br /&gt;
* [[Utilisateur:Lea|Lea]] 3 oct 2005 à 17:20 (CEST) (réglé) (jiel) confirmation par courriel lors de la création de compte: quand je clique sur le lien pour confirmer, j&#039;ai &amp;quot;The requested URL /cached/index/Special:Confirmemail/[lettresetchiffres].html was not found on this server.&amp;quot;.&lt;br /&gt;
* 3 oct 2005 à 01:21 (CEST)  Les &amp;quot;Fiches pratiques&amp;quot; n&#039;affichent rien&lt;br /&gt;
** Ça m’étonnerait… lesquelles ?&lt;br /&gt;
** Moi rien ne m&#039;étonne, mais par contre, je n&#039;ai pas ce problème, de quelle fiche tu parles (url ?) et depuis quelles pages obtiens tu ces url ? (url ?)&lt;br /&gt;
** (jiel) Je pense qu&#039;il veut dire en cliquant dans le menu dans la boite en haut du site, le lien est &amp;quot;http://devel.lea-linux.org/cached/index/Fiches:index.html#&amp;quot; au lieu de &amp;quot;http://devel.lea-linux.org/cached/index/Fiches:Index.html#&amp;quot; (juste la maj qui change en fait). Les fiches sont donc accessibles sur la page d&#039;accueil en bas, mais pas dans la boite en haut.&lt;br /&gt;
** (fred) si c&#039;est ça : alors c&#039;est réglé ... je n&#039;avais pas ce &amp;quot;pb&amp;quot; sur konqi, ça faisait une redirection automatiquement vers la bonne page ... étrange...&lt;br /&gt;
* (2 oct 2005 à 18:22 (CEST) réglé) Pour l&#039;activation du compte, lorsque je clique sur l&#039;url de confirmation une fenêtre de connexion s&#039;affiche, mais il n&#039;a pas l&#039;air d&#039;apprécier mon login/passwd (me réaffiche la fenêtre de login) &lt;br /&gt;
** note : pour activer le compte, il n&#039;est rien besoin de faire : il est activé, d&#039;ailleur tu as posté ce text VIA ce compte ce qui prouve que tu es bien enregistré ET que ton compte fonctionne&lt;br /&gt;
** par contre, la confirmation d&#039;email ne semble pas fonctionner pour toi, puis-je te demander de m&#039;envoyer, l&#039;url qui est dans le mail de confirmation (mais avant, peux-tu recliquer dessus, je crois que je vois ou est le pb et j&#039;espere que je viens de le corriger).&lt;br /&gt;
* je n’arrive plus à éditer ma page utilisateur (nicola), il dit que je ne suis pas connecté, même problème avec pas mal de pages spéciales (semble réglé)&lt;br /&gt;
* création de page (lien en rouge) qui bugue (il y a parfois un / en trop entre edit et index) (may be fixed)&lt;br /&gt;
* la balise &#039;&#039;code&#039;&#039; crée un retour à la ligne (fixed)&lt;br /&gt;
* problème avec les &amp;quot;?&amp;quot; dans les noms de pages (enfin j&#039;espère)&lt;br /&gt;
* problème avec les login ne commençant pas par une majuscule : un ucfirst est fait pour éviter ce pb&lt;br /&gt;
* support d’utf-8 (si ce n’est pas déjà fait) : (note de fred: mediawiki est nativement en utf-8) &lt;br /&gt;
* contenu de l&#039;index : [[Accueil]] à revoir (urgent) : ce n&#039;est certes pas parfait, loin s&#039;en faut, mais un appel à contribution est lancé.&lt;br /&gt;
* export PDF (urgent) : version partiellement satisfaisante (à améliorer, mais plus tard) accessible via le bouton &amp;quot;Version pdf&amp;quot;.&lt;br /&gt;
* login sur nocache avec les identifiants mediawiki&lt;br /&gt;
* protection &amp;quot;fs-overflow&amp;quot; : les pages n&#039;existants pas ne génére rien dans le cache&lt;br /&gt;
* le bouton admin swap de &amp;quot;cached&amp;quot; à &amp;quot;nocache&amp;quot;&lt;br /&gt;
* lien des deux menus à voir (urgent) (FIXED)&lt;br /&gt;
* le renommage de page ne fonctionne pas comme il devrait : la redirection qui suit le renommage renvoie sur la page d&#039;Accueil plutôt que vers la bonne page (FIXED)&lt;br /&gt;
* dans le même ordre d&#039;idée lors de l&#039;upload d&#039;une image, l&#039;upload se fait bien mais la redirection qui suit l&#039;upload merdoit. (FIXED)&lt;br /&gt;
* problème avec les pages a un titre (ou un namespace) comportant des caractères accentués -&amp;gt; après la preview, ces caractères sont remplacés par : %xy%zt etc ... et ça plante le &amp;quot;title&amp;quot; (FRED:FIXED / putain d&#039;UTF-8 de mes deux !)&lt;br /&gt;
* problèmes avec les modèles (FRED:FIXED) :&lt;br /&gt;
** modification de la page Accueil car un modèle s&#039;utilise pour la page &amp;lt;nowiki&amp;gt;[[Modèle:Nom du modèle]]&amp;lt;/nowiki&amp;gt; avec le marqueur &amp;lt;nowiki&amp;gt;{{Nom du modèle}}&amp;lt;/nowiki&amp;gt; (FRED:FIXED)&lt;br /&gt;
** un seul niveau de catégorie, il faut éditer les pages des sous-catégories pour les inclure dans sa catégorie mère =&amp;gt; ajout de &amp;lt;nowiki&amp;gt;[[catégorie:nom de la catégorie mère]]&amp;lt;/nowiki&amp;gt; dans la page de la catégorie (Note de Fred: je ne vois pas vraiment ce que tu veux dire) (ST:FIXED par exemple [Catégorie:Applications] appartient à [Catégorie:Léa_pour_les_pros])&lt;br /&gt;
** l&#039;accès en lecture aux modèles en cache est interdit (demande d&#039;identification infinie) et ainsi les modèles ne sont pas résolus pour affichage : peut-être dû au problème de cache et caractères accentués&lt;br /&gt;
** cf doc http://fr.wikipedia.org/wiki/Aide:Modèle&lt;br /&gt;
* problème avec les liens mails, comment écrire un lien mailto en MediaWiki ? (FRED:FIXED) comme ça : mailto:capue@labas.com et pour éviter que ça merdoie : &amp;lt;nowiki&amp;gt;[mailto:capue@labas.com un joli nom]&amp;lt;/nowiki&amp;gt; donne : [mailto:capue@labas.com un joli nom]&lt;br /&gt;
* les sous sections, sous-sous sections etc... vautre le cache ex: [[Section/Page]] : FIXED (mais j&#039;ai l&#039;impression que les &amp;quot;rétro-lien&amp;quot; (ie: vers [[Section]] depuis [[Section/Page]] ne fonctionnent pas, pour une raison qui m&#039;échappe.&lt;br /&gt;
* version imprimable fonctionnelle&lt;br /&gt;
&lt;br /&gt;
== ChangeLog ==&lt;br /&gt;
* 2 oct 2005 à 18:20 (CEST)&lt;br /&gt;
** lien BugReport dans le menu de gauche&lt;br /&gt;
** cochage automatique (par défaut) de la case &amp;quot;minor edit&amp;quot; : je préfère qu&#039;on mette trop de &#039;minor change&#039; que le contraire&lt;br /&gt;
*** (jice) chez moi ca reste décoché&lt;br /&gt;
*** (fred) navigateur ? version ? javascript activé ? parce que moi j&#039;ai testé avec konqi 3.4.2 et firefox 1.0.6 et &amp;quot;chez moi ça marche&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Demandes de fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
* Dans le sommaire automatique :&lt;br /&gt;
** Soit, supprimer le titre de niveau 1&lt;br /&gt;
** Soit, supprimer la numérotation&lt;br /&gt;
* export xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* import auto xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* Utiliser automatiquement l’identifiant du phorum (Note de Fred: c&#039;est dans &#039;&#039;ma&#039;&#039; todolist)&lt;br /&gt;
* (jiel) aggrandir le textarea de la fenêtre d&#039;édition, ce serait plus pratique pour l&#039;édition ou la modif d&#039;articles. (Note: C&#039;est déjà possible, il suffit d&#039;éditer tes préférences -- non testé)&lt;br /&gt;
* ajouter en bas de chaque article les &amp;quot;autres ressources&amp;quot; des anciens articles&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Routeur_fli4l&amp;diff=6572</id>
		<title>Routeur fli4l</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Routeur_fli4l&amp;diff=6572"/>
		<updated>2005-10-12T18:49:02Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* La configuration réseau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Administration réseau]]&lt;br /&gt;
= Routeur FLI4L =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Routeur FLI4L&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:eric.m.c.declerck@free.fr Eric M.C.DECLERCK], version HTML par Anne&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== C&#039;est quoi Fli4L ? ==&lt;br /&gt;
&lt;br /&gt;
FLI4L est un routeur Ethernet, ISDN (RNIS), ADSL fondé sur Linux (Debian). Une seule disquette est nécessaire. Et il suffit d&#039;un PC 486 avec 16 Mo de RAM pour créer un routeur. La disquette peut être créée sous Unix, Linux ainsi que sous Windows. Aucune connaissance spécifique à Linux n&#039;est nécessaire mais il est néanmoins utile de maîtriser les commandes de base du système. Et une connaissance de base des réseaux telle que TCP/IP, DNS et routage est également conseillée.&lt;br /&gt;
&lt;br /&gt;
=== Caractéristiques ===&lt;br /&gt;
&lt;br /&gt;
* Création de la disquette du routeur sous Unix, Linux et Windows.&lt;br /&gt;
* Configuration à l&#039;aide d&#039;un seul fichier texte (ASCII).&lt;br /&gt;
* Support pour IP-Masquerading et Port-Forwarding (NAT et PAT).&lt;br /&gt;
* Least-Cost-Routing (LCR) : sélection automatique du fournisseur d&#039;Accès Internet en fonction d&#039;un horaire prédéfini et du coût des communications.&lt;br /&gt;
* Affichage du protocole de la connexion et calcul du coût des communications.&lt;br /&gt;
* Client Windows/Unix/Linux imonc inclus (interface vers imond et telmond).&lt;br /&gt;
* Upload de nouveaux fichiers via le client Windows, imonc (afin de mettre à jour le routeur).&lt;br /&gt;
* Disquette de démarrage en vfat.&lt;br /&gt;
* Utilisation possible de disquettes de 1680 ko.&lt;br /&gt;
* Filtrage de paquets (Packet filter) : contrôle des accès vers les ports du routeur (firewall).&lt;br /&gt;
* Utilisation d&#039;interfaces virtuelles WAN appelées circuits.&lt;br /&gt;
* Utilisation possible en parallèle des circuits ADSL et RNIS.&lt;br /&gt;
&lt;br /&gt;
=== Routeur ===&lt;br /&gt;
&lt;br /&gt;
* Noyau Linux 2.2.19&lt;br /&gt;
* IP-Masquerading + PacketFilter pour la sécurité.&lt;br /&gt;
* Serveur DNS afin d&#039;éviter l&#039;accès des PC Windows vers le WAN pour la plupart des requêtes.&lt;br /&gt;
* Affichage des informations de connexion (monitoring) et LCR pour le serveur imond.&lt;br /&gt;
* Gestion des appels téléphoniques entrants pour le serveur telmond.&lt;br /&gt;
&lt;br /&gt;
=== Support Ethernet ===&lt;br /&gt;
&lt;br /&gt;
Gestionnaires pour la plupart des cartes réseau : plus de 40 familles de cartes reconnues.&lt;br /&gt;
&lt;br /&gt;
=== Support ADSL ===&lt;br /&gt;
&lt;br /&gt;
* Driver Roaring Penguin PPPoE avec Dial-on-Demand (numérotation à la demande facultative).&lt;br /&gt;
* PPTP pour les connexions ADSL en Autriche et Pays-Bas (EXPERIMENTAL).&lt;br /&gt;
&lt;br /&gt;
=== Support ISDN ===&lt;br /&gt;
&lt;br /&gt;
* Drivers HiSaX actuels : support pour 37 adaptateurs ISDN.&lt;br /&gt;
* Différentes variantes de connexion : in/out/callback, raw-ip/ppp.&lt;br /&gt;
* Agrégation de canaux (Multilink PPP) : sélection automatique ou manuelle en fonction de la bande passante.&lt;br /&gt;
* Sélection manuelle du second canal via le client Windows/Unix.&lt;br /&gt;
* En option : routage IPX.&lt;br /&gt;
&lt;br /&gt;
=== Applications en option (packages) ===&lt;br /&gt;
&lt;br /&gt;
* Serveur DNS.&lt;br /&gt;
* Serveur DHCP.&lt;br /&gt;
* Login SSH.&lt;br /&gt;
* Service Telnet et/ou FTP.&lt;br /&gt;
* Affichage online/offline simple par LED.&lt;br /&gt;
* Programme d&#039;affichage en LCD avec format changeable.&lt;br /&gt;
* Console série en option (voir [http://www.fli4l.de/german/extern/docu/stable/doc/english/html/akap_en.html HOWTO]).&lt;br /&gt;
* Mini-serveur pour ADSL monitoring.&lt;br /&gt;
* Module IPSEC, ipsec et pptp.&lt;br /&gt;
* Accès restrictif pour des réseaux spécifiques du remote.&lt;br /&gt;
* Support PCMCIA (EXPERIMENTAL).&lt;br /&gt;
* Protocole des messages sytème: syslogd et klogd.&lt;br /&gt;
* Configuration des adaptateurs ISA-PNP: iaspnp tools.&lt;br /&gt;
* Utilitaires supplémentaires pour le débogage.&lt;br /&gt;
* Configuration du port série.&lt;br /&gt;
* Système de secours pour le contrôle distant via ISDN.&lt;br /&gt;
* Ecran LCD: affichage des connexions et du flux de données.&lt;br /&gt;
* Serveur/routeur PPP via le port série.&lt;br /&gt;
* Emulateur ISDN via le port série.&lt;br /&gt;
* Serveur d&#039;impression.&lt;br /&gt;
* Accès au serveur de temps pour la synchronisation du réseau.&lt;br /&gt;
* Exécution de commandes/procédures quand un appel téléphonique se présente (ex: Internet dial-in).&lt;br /&gt;
* Support pour l&#039;IP aliasing (permet d&#039;avoir plus d&#039;une adresse IP par carte réseau).&lt;br /&gt;
&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
* ISDN : minimal : CPU 386 à 25MHz, recommandé : CPU 486 à 33 MHz.&lt;br /&gt;
* ADSL : minimal : 486 CPU - DX2/66, recommandé : CPU 486 DX4/100 à 100 MHz ou CPU Pentium à 75 MHz.&lt;br /&gt;
* Mémoire 8MB, recommandé : 16 MB.&lt;br /&gt;
* Adaptateur Ethernet (support pour plus de 40 familles d&#039;adaptateurs).&lt;br /&gt;
* ISDN : adaptateur ISDN supporté par HiSaX (Type 1-37), AVM-B1 ISA/PCI ou ICN-2B.&lt;br /&gt;
* Pas de disque dur, juste un lecteur de disquette.&lt;br /&gt;
* Une disquette de démarrage contenant tous les fichiers nécessaires.&lt;br /&gt;
&lt;br /&gt;
=== Autres informations ===&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;affichage des informations de contrôle du routeur FLI4L, une autre application est disponible : le client &#039;&#039;&#039;imonc&#039;&#039;&#039;. Ce programme est disponible pour Windows pour [http://userpage.fu-berlin.de/~Ezeank/gtk-imonc  Linux (unix/gtk-imonc)] et pour [http://userpage.fu-berlin.de/~Ezeank/gtk-imonc Windows]&lt;br /&gt;
&lt;br /&gt;
Vous trouverez ici [http://www.fli4l.de/german/addons.htm  d&#039;autres clients ]pour KDE, Windows, etc.&lt;br /&gt;
&lt;br /&gt;
[http://www.fli4l.de Site Web]&amp;lt;br /&amp;gt; Auteur du programme : Frank Meyer&amp;lt;br /&amp;gt;[http://www.fli4l.de/german/extern/docu/stable/doc/english/html/index_en.html Informations en anglais et bien d&#039;autres]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de commencer par une installation sur disquette. Mais, il est également possible d&#039;installer FLI4L sur un disque dur ou une cartouche Zip. Cette solution (utilisation d&#039;une disquette) est idéale pour tout ceux qui possèdent un second ordinateur déjà relié en réseau via un hub (concentrateur) ou un switch (commutateur).&lt;br /&gt;
&lt;br /&gt;
Je vais ici décrire l&#039;installation que j&#039;ai faite pour un essai de connexion en ISDN. Afin de rendre les choses un peu difficiles j&#039;ai choisi d&#039;utiliser la carte Gazel ISA.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;L&#039;équipement de mon réseau :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Cartes réseau D-LINK DFE-530TX&lt;br /&gt;
* HUB SMC 3616TC&lt;br /&gt;
* Câbles Cat5 non croisées&lt;br /&gt;
* Adaptateurs ISDN : Gazel ISA-PNP, ELSA microlink PCI&lt;br /&gt;
* Ordinateur faisant fonction temporaire de routeur : Pentium 200 MHz muni d&#039;un lecteur de disquette.&lt;br /&gt;
&lt;br /&gt;
=== Procédure ===&lt;br /&gt;
&lt;br /&gt;
Il faut d&#039;abord s&#039;assurer que les &#039;&#039;&#039;utilitaires isapnp&#039;&#039;&#039; sont installés sur l&#039;ordinateur qui fera fonction de routeur. Faire un &amp;lt;tt&amp;gt;pnpdump &amp;gt; isapnp.conf-tmp&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Editer le fichier &amp;lt;tt&amp;gt;isapnp.conf-tmp&amp;lt;/tt&amp;gt;. Enlever toutes les parties qui ne concernent pas la carte Gazel. Ne pas oublier de préciser l&#039;IRQ et l&#039;IO exact de la carte. Pour connaître ces deux paramètres, vous pouvez vous reporter aux informations fournies par le Gestionnaire de périphériques) de Windows (si Windows est installé sur le PC), ou bien lancer un utilitaire de configuration sous MS-Dos livré avec la carte ISDN.&lt;br /&gt;
&lt;br /&gt;
Copier &amp;lt;tt&amp;gt;isapnp.conf-tmp&amp;lt;/tt&amp;gt; sur une disquette (formatée en vfat) en le renommant &amp;lt;tt&amp;gt;isapnp.conf&amp;lt;/tt&amp;gt;. Attention, dans la doc on préconise de le faire après le démarrage du routeur. A éviter, cela ne marche pas ! Il est inutile de faire quoi que ce soit sous le compte root pour FLI4L. Donc, restez sous votre compte utilisateur.&lt;br /&gt;
&lt;br /&gt;
Télécharger [http://www.fli4l.de/english/e_download.htm &amp;lt;tt&amp;gt;fli4l-2.0.4.tar.gz&amp;lt;/tt&amp;gt;]. Télécharger également &amp;lt;tt&amp;gt;isdn.tar.gz&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;gtk-imonc-0.1.6.tar.gz&amp;lt;/tt&amp;gt; (trop fainéant pour taper les commandes au clavier :)).&lt;br /&gt;
&lt;br /&gt;
Décompacter &amp;lt;tt&amp;gt;fli4l-2.0.4.tar.gz&amp;lt;/tt&amp;gt; dans un sous-répertoire de mon dossier utilisateur. (ex : /~/isdn-routeur).&amp;lt;br /&amp;gt; Décompacter &amp;lt;tt&amp;gt;isdn.tar.gz&amp;lt;/tt&amp;gt; dans le dossier &amp;lt;tt&amp;gt;fli4l-2.0.4 &amp;lt;/tt&amp;gt;(ex : /~/isdn-routeur/fli4l-2.0.4/).&amp;lt;br /&amp;gt; Décompacter &amp;lt;tt&amp;gt;gtk-imonc-0.1.6.atr.gz&amp;lt;/tt&amp;gt; dans un sous dossier de mon dossier utilisateur.&amp;lt;br /&amp;gt; Copier &amp;lt;tt&amp;gt;isapnp.conf&amp;lt;/tt&amp;gt; qui se trouve sur la disquette dans &amp;lt;tt&amp;gt;/~/isdn-routeur/fli4l-2.0.4/opt/etc&amp;lt;/tt&amp;gt;.&amp;lt;br /&amp;gt; Aller dans &amp;lt;tt&amp;gt;/~/isdn-router/fli4l-2.0.4&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Configuration FLI4L ===&lt;br /&gt;
&lt;br /&gt;
Editer &amp;lt;tt&amp;gt;/~/isdn-router/fli4l-2.0.4/config/base.txt&amp;lt;/tt&amp;gt;. L&#039;adapter en fonction de sa configuration et des services que l&#039;on souhaite mettre en place et sauver ensuite le fichier &amp;lt;tt&amp;gt;base.txt&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Voici mon fichier de configuration &amp;lt;tt&amp;gt;base.txt&amp;lt;/tt&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # General settings:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # name of fli4l router (ex. fli4l)&lt;br /&gt;
 HOSTNAME=&#039;xxxxxx&#039;               &lt;br /&gt;
 # password for telnetd, ftpd and sshd (nécessaire)&lt;br /&gt;
 PASSWORD=&#039;xxxxxx&#039;                &lt;br /&gt;
 # mount boot device (floppy): ro, rw, no&lt;br /&gt;
 MOUNT_BOOT=&#039;rw&#039;                 &lt;br /&gt;
&lt;br /&gt;
 # size of ramdisk for unzipped opt.tgz&lt;br /&gt;
 RAMSIZE=&#039;2048&#039;                  &lt;br /&gt;
 # the variables MOUNT_OPT, PART_OPT and UPDATE_MODE &lt;br /&gt;
 # will be ignored if # RAMSIZE is not empty. see  docu&lt;br /&gt;
 # mount opt device: ro, rw&lt;br /&gt;
 MOUNT_OPT=&#039;ro&#039;                  &lt;br /&gt;
 # location of opt-files, ram1 or disk-partition&lt;br /&gt;
 PART_OPT=&#039;ram1&#039;                 &lt;br /&gt;
 # add, cfg, full, none, see documentation&lt;br /&gt;
 UPDATE_MODE=&#039;full&#039;              &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Ethernet card drivers:&lt;br /&gt;
 # uncomment your ethernet card&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # number of ethernet drivers to load, usually 1&lt;br /&gt;
 ETH_DRV_N=&#039;1&#039;                   &lt;br /&gt;
 # ISA: 3COM Etherlink Plus (3c505)&lt;br /&gt;
 #ETH_DRV_1=&#039;3c505&#039;              &lt;br /&gt;
 # ISA: 3COM Etherlink 16 (3c507)&lt;br /&gt;
 #ETH_DRV_1=&#039;3c507&#039;              &lt;br /&gt;
 # ISA: 3COM EtherLinkIII (3c509)&lt;br /&gt;
 #ETH_DRV_1=&#039;3c509&#039;              &lt;br /&gt;
 # ISA: 3COM EtherLink XL ISA (3c515)&lt;br /&gt;
 #ETH_DRV_1=&#039;3c515&#039;              &lt;br /&gt;
 # PCI: 3COM Vortex/Boomerang 3c59x,3c900,3c905&lt;br /&gt;
 #ETH_DRV_1=&#039;3c59x&#039;              &lt;br /&gt;
 # Apricot Xen-II on board Ethernet&lt;br /&gt;
 #ETH_DRV_1=&#039;82596&#039;              &lt;br /&gt;
 # ISA: 3COM EtherLinkII (3c503)&lt;br /&gt;
 #ETH_DRV_1=&#039;3c503&#039;              &lt;br /&gt;
 # ISA: Cabletron E21xx ISA&lt;br /&gt;
 #ETH_DRV_1=&#039;e2100&#039;              &lt;br /&gt;
 # ISA: HP PCLAN (27245, 27xxx) ISA&lt;br /&gt;
 #ETH_DRV_1=&#039;hp&#039;                 &lt;br /&gt;
 # ISA: HP PCLAN+ (27247B and 27252A) ISA&lt;br /&gt;
 #ETH_DRV_1=&#039;hp-plus&#039;            &lt;br /&gt;
 # ISA: NE2000 ISA clone (eg. Realtek 8019,&lt;br /&gt;
 # Accton 16xx, NatSemi 8390, UMC 9003/9008)&lt;br /&gt;
 #ETH_DRV_1=&#039;ne&#039;                  &lt;br /&gt;
 # PCI: NE2000 PCI clone (eg. Realtek 8029,    &lt;br /&gt;
 # Winbond 89c940)                                           &lt;br /&gt;
 #ETH_DRV_1=&#039;ne2k-pci&#039;           &lt;br /&gt;
 # ISA: SMC ULTRA                                              &lt;br /&gt;
 #ETH_DRV_1=&#039;smc-ultra&#039;          &lt;br /&gt;
 # EISA: SMC ULTRA32 (NEW)&lt;br /&gt;
 #ETH_DRV_1=&#039;smc-ultra32&#039;        &lt;br /&gt;
 # ISA: SMC WD80*3&lt;br /&gt;
 #ETH_DRV_1=&#039;wd&#039;                 &lt;br /&gt;
 # ISA: AT1700 (Fujitsu 86965) ISA&lt;br /&gt;
 #ETH_DRV_1=&#039;at1700&#039;             &lt;br /&gt;
 # ISA: IBM Etherjet, cs89x0 based Cards (Option io=0xnnn necessary!)&lt;br /&gt;
 #ETH_DRV_1=&#039;cs89x0&#039;             &lt;br /&gt;
 # PCI/EISA: Digital DE425, DE434, DE435, DE450, DE500&lt;br /&gt;
 #ETH_DRV_1=&#039;de4x5&#039;              &lt;br /&gt;
 # ISA: DEPCA, DE10x, DE200, DE201, DE202, DE422&lt;br /&gt;
 #ETH_DRV_1=&#039;depca&#039;              &lt;br /&gt;
 # PCI: Digi International RightSwitch PCI/EISA&lt;br /&gt;
 #ETH_DRV_1=&#039;dgrs&#039;               &lt;br /&gt;
 # PCI: DM9102 compatible PCI cards from Davicom&lt;br /&gt;
 #ETH_DRV_1=&#039;dmfe&#039;               &lt;br /&gt;
 # ISA: Intel Professional Workstation/panther 82596&lt;br /&gt;
 #ETH_DRV_1=&#039;elp486&#039;             &lt;br /&gt;
 # ISA: Intel EtherExpress Pro/10&lt;br /&gt;
 #ETH_DRV_1=&#039;eepro&#039;              &lt;br /&gt;
 # PCI: Intel EtherExpressPro PCI 10+/100B/100+&lt;br /&gt;
 #ETH_DRV_1=&#039;eepro100&#039;           &lt;br /&gt;
 # ISA: EtherExpress16 ISA&lt;br /&gt;
 #ETH_DRV_1=&#039;eexpress&#039;           &lt;br /&gt;
 # PCI: SMC EPIC/100 (EtherPower II) PCI&lt;br /&gt;
 #ETH_DRV_1=&#039;epic100&#039;            &lt;br /&gt;
 # ISA/EISA: ICL EtherTeam 16i/32&lt;br /&gt;
 #ETH_DRV_1=&#039;eth16i&#039;             &lt;br /&gt;
 # ISA: EtherWORKS 3 ISA (DE203, DE204, DE205)&lt;br /&gt;
 #ETH_DRV_1=&#039;ewrk3&#039;              &lt;br /&gt;
 # PCI: ASOUND LAN 8139 card - not RTL8139 (NEW)&lt;br /&gt;
 #ETH_DRV_1=&#039;fealnx&#039;             &lt;br /&gt;
 # ISA/EISA/PCI: HP 10/100VG PCLAN (ISA, EISA, PCI)&lt;br /&gt;
 #ETH_DRV_1=&#039;hp100&#039;              &lt;br /&gt;
 # ISA: AMD LANCE and PCnet (AT1500, NE2100) ISA&lt;br /&gt;
 #ETH_DRV_1=&#039;lance&#039;              &lt;br /&gt;
 # PCI: Old DECchip Tulip (dc21x4x) PCI&lt;br /&gt;
 #ETH_DRV_1=&#039;old_tulip&#039;          &lt;br /&gt;
 # PCI: AMD PCI PCnet32&lt;br /&gt;
 #ETH_DRV_1=&#039;pcnet32&#039;            &lt;br /&gt;
 # PCI: RealTek 8129/8139 (not 8019/8029!)&lt;br /&gt;
 #ETH_DRV_1=&#039;rtl8139-orig&#039;       &lt;br /&gt;
 # PCI: RealTek 8129/8139 (not 8019/8029!) (NEW)&lt;br /&gt;
 #ETH_DRV_1=&#039;rtl8139&#039;            &lt;br /&gt;
 # PCI: RealTek 8139 10/100 MB (NEW)&lt;br /&gt;
 #ETH_DRV_1=&#039;8139too&#039;            &lt;br /&gt;
 # PCI: SiS 900/7016&lt;br /&gt;
 #ETH_DRV_1=&#039;sis900&#039;             &lt;br /&gt;
 # PCI: DFE-550FX or DFE-530TXS (NEW)&lt;br /&gt;
 #ETH_DRV_1=&#039;sundance&#039;           &lt;br /&gt;
 # PCI: TI ThunderLAN (Compaq Netelligent ...)&lt;br /&gt;
 #ETH_DRV_1=&#039;tlan&#039;               &lt;br /&gt;
 # PCI: DECchip Tulip (dc21x4x) PCI&lt;br /&gt;
 #ETH_DRV_1=&#039;tulip&#039;              &lt;br /&gt;
 # PCI: Nat Semi&lt;br /&gt;
 #ETH_DRV_1=&#039;natsemi&#039;            &lt;br /&gt;
 # PCI: Starfire&lt;br /&gt;
 #ETH_DRV_1=&#039;starfire&#039;          &lt;br /&gt;
 # PCI: VIA Rhine PCI (3043, VT86c100A, dfe-530tx) &lt;br /&gt;
 ETH_DRV_1=&#039;via-rhine&#039;          &lt;br /&gt;
 # PCI: Winbond 840&lt;br /&gt;
 #ETH_DRV_1=&#039;winbond-840&#039;        &lt;br /&gt;
 # Token Ring: IBM Auto LANStreamer PCI Adapter&lt;br /&gt;
 #ETH_DRV_1=&#039;lanstreamer&#039;        &lt;br /&gt;
 # Token Ring: IBM cards (Pit/Pit-Phy/Olympic)&lt;br /&gt;
 #ETH_DRV_1=&#039;olympic&#039;            &lt;br /&gt;
 # Token Ring: IBM 16/4&lt;br /&gt;
 #ETH_DRV_1=&#039;ibmtr&#039;              &lt;br /&gt;
 # PCMCIA: NS8390-based cards (NE2000, DLINK etc)&lt;br /&gt;
 #ETH_DRV_1=&#039;pcnet_cs&#039;           &lt;br /&gt;
 # PCMCIA: 3Com 574&lt;br /&gt;
 #ETH_DRV_1=&#039;3c574_cs&#039;           &lt;br /&gt;
 # PCMCIA: 3Com 575&lt;br /&gt;
 #ETH_DRV_1=&#039;3c575_cb&#039;           &lt;br /&gt;
 # PCMCIA: 3Com 589&lt;br /&gt;
 #ETH_DRV_1=&#039;3c589_cs&#039;           &lt;br /&gt;
 # PCMCIA: Airo 4500 &amp;amp; 4800 series cards&lt;br /&gt;
 #ETH_DRV_1=&#039;airo&#039;               &lt;br /&gt;
 # PCMCIA: Airo 4500 &amp;amp; 4800 series cards&lt;br /&gt;
 #ETH_DRV_1=&#039;airo_cs&#039;            &lt;br /&gt;
 # PCMCIA: EtherExpress Pro 100&lt;br /&gt;
 #ETH_DRV_1=&#039;eepro100_cb&#039;        &lt;br /&gt;
 # PCMCIA: SMC 83c170 EPIC/100&lt;br /&gt;
 #ETH_DRV_1=&#039;epic_cb&#039;            &lt;br /&gt;
 # PCMCIA: IBM Token Ring&lt;br /&gt;
 #ETH_DRV_1=&#039;ibmtr_cs&#039;           &lt;br /&gt;
 # PCMCIA: Netwave AirSurfer Wireless LAN&lt;br /&gt;
 #ETH_DRV_1=&#039;netwave_cs&#039;         &lt;br /&gt;
 # PCMCIA: New Media Ethernet LAN&lt;br /&gt;
 #ETH_DRV_1=&#039;nmclan_cs&#039;          &lt;br /&gt;
 # PCMCIA: Raylink wireless cards&lt;br /&gt;
 #ETH_DRV_1=&#039;ray_cs&#039;             &lt;br /&gt;
 # PCMCIA: SMC91c92-based cards&lt;br /&gt;
 #ETH_DRV_1=&#039;smc91c92_cs&#039;        &lt;br /&gt;
 # PCMCIA: DEC 21040-family cards&lt;br /&gt;
 #ETH_DRV_1=&#039;tulip_cb&#039;           &lt;br /&gt;
 # PCMCIA: WaveLAN&lt;br /&gt;
 #ETH_DRV_1=&#039;wavelan_cs&#039;         &lt;br /&gt;
 # PCMCIA: WaveLAN2&lt;br /&gt;
 #ETH_DRV_1=&#039;wavelan2_cs&#039;        &lt;br /&gt;
 # PCMCIA: Lucent WaveLAN/IEEE 802.11&lt;br /&gt;
 #ETH_DRV_1=&#039;wvlan_cs&#039;           &lt;br /&gt;
 # PCMCIA: Xircom: CE2, CEM28, CEM33, or CE3&lt;br /&gt;
 #ETH_DRV_1=&#039;xirc2ps_cs&#039;         &lt;br /&gt;
 # PCMCIA: ELSA Airlancer MC-2&lt;br /&gt;
 #ETH_DRV_1=&#039;wl24_cs&#039;            &lt;br /&gt;
 # PCMCIA: IBM EtherJet Ethernet Adapter&lt;br /&gt;
 #ETH_DRV_1=&#039;cs89x0_cs&#039;          &lt;br /&gt;
 # additional option, e.g. &#039;io=0x340&#039; for ne&lt;br /&gt;
 ETH_DRV_1_OPTION=&#039;&#039;             &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Ether networks used with IP protocol:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # number of ip ethernet networks, usually 1&lt;br /&gt;
 IP_ETH_N=&#039;1&#039;                        &lt;br /&gt;
 # optional: other device name than ethX&lt;br /&gt;
 IP_ETH_1_NAME=&#039;&#039;                    &lt;br /&gt;
 # IP address of your n&#039;th ethernet card&lt;br /&gt;
 IP_ETH_1_IPADDR=&#039;192.168.12.1&#039;       &lt;br /&gt;
 # network of your LAN&lt;br /&gt;
 IP_ETH_1_NETWORK=&#039;192.168.12.0&#039;     &lt;br /&gt;
 # netmask of your LAN &lt;br /&gt;
 IP_ETH_1_NETMASK=&#039;255.255.255.0&#039;    &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Additional routes, optional&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # normally not used, read documentation!&lt;br /&gt;
 IP_DEFAULT_GATEWAY=&#039;&#039;               &lt;br /&gt;
 # number of additional routes&lt;br /&gt;
 IP_ROUTE_N=&#039;0&#039;                      &lt;br /&gt;
 # network netmask gateway&lt;br /&gt;
 #IP_ROUTE_1=&#039;192.168.7.0 255.255.255.0 192.168.6.99&#039; &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Masquerading:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # networks to masquerade (e.g. our LAN)&lt;br /&gt;
 MASQ_NETWORK=&#039;192.168.12.0/24&#039;       &lt;br /&gt;
 # load n masq modules (default: only ftp)&lt;br /&gt;
 MASQ_MODULE_N=&#039;1&#039;                   &lt;br /&gt;
 # ftp&lt;br /&gt;
 MASQ_MODULE_1=&#039;ftp&#039;                 &lt;br /&gt;
 # h323 (netmeeting)&lt;br /&gt;
 #MASQ_MODULE_2=&#039;h323&#039;                &lt;br /&gt;
 # icq (use with caution!)&lt;br /&gt;
 #MASQ_MODULE_3=&#039;icq&#039;                 &lt;br /&gt;
 # irc&lt;br /&gt;
 #MASQ_MODULE_4=&#039;irc&#039;                 &lt;br /&gt;
 # raudio&lt;br /&gt;
 #MASQ_MODULE_5=&#039;raudio&#039;              &lt;br /&gt;
 # vdolive&lt;br /&gt;
 #MASQ_MODULE_6=&#039;vdolive&#039;             &lt;br /&gt;
 # quake&lt;br /&gt;
 #MASQ_MODULE_7=&#039;quake&#039;               &lt;br /&gt;
 # cuseeme&lt;br /&gt;
 #MASQ_MODULE_8=&#039;cuseeme&#039;             &lt;br /&gt;
 # MSN-Filetransfer&lt;br /&gt;
 #MASQ_MODULE_9=&#039;mms&#039;                 &lt;br /&gt;
 # pptp&lt;br /&gt;
 #MASQ_MODULE_10=&#039;pptp&#039;               &lt;br /&gt;
 # ipsec&lt;br /&gt;
 #MASQ_MODULE_11=&#039;ipsec&#039;              &lt;br /&gt;
 # dplay (direct play)&lt;br /&gt;
 #MASQ_MODULE_12=&#039;dplay&#039;              &lt;br /&gt;
 # msn zone (use version 0.01 or 0.02)&lt;br /&gt;
 #MASQ_MODULE_13=&#039;msn-0.02&#039;           &lt;br /&gt;
 # pseudo mod: some internet games need it&lt;br /&gt;
 #MASQ_MODULE_14=&#039;udp_dloose&#039;         &lt;br /&gt;
 # using ftp masq-module on different ports&lt;br /&gt;
 MASQ_FTP_PORT_N=&#039;0&#039;                 &lt;br /&gt;
 # standard ftp port&lt;br /&gt;
 #MASQ_FTP_PORT_1=&#039;21&#039;           &lt;br /&gt;
 # additional port (le cas de free.fr mais marche aussi sans)     &lt;br /&gt;
 #MASQ_FTP_PORT_2=&#039;2021&#039;         &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Optional package: PORTFW&lt;br /&gt;
 #&lt;br /&gt;
 # If you set OPT_PORTFW=&#039;yes&#039;, you can also edit&lt;br /&gt;
 # opt/etc/portfw.sh&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # install port forwarding tools/modules&lt;br /&gt;
 OPT_PORTFW=&#039;no&#039;                     &lt;br /&gt;
 # how many portforwardings to set up&lt;br /&gt;
 PORTFW_N=&#039;0&#039;                        &lt;br /&gt;
 # sample 1: forward ext. port 8080 to int.&lt;br /&gt;
 # host 192.168.6.15 to port 80 (use tcp)&lt;br /&gt;
 #PORTFW_1=&#039;8080 192.168.6.15:80 tcp&#039; &lt;br /&gt;
&lt;br /&gt;
 # sample 2: forward portrange to int. host&lt;br /&gt;
 # 192.168.5.15 (use tcp)&lt;br /&gt;
 #PORTFW_2=&#039;3000-3010 192.168.6.15 tcp&#039; &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Routing without masquerading&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # optional: route from/to network, no masq&lt;br /&gt;
 ROUTE_NETWORK=&#039;&#039;                    &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Routing: internal hosts to deny forwarding&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # number of denied hosts&lt;br /&gt;
 FORWARD_DENY_HOST_N=&#039;0&#039;             &lt;br /&gt;
 # optional: 1st denied host&lt;br /&gt;
 #FORWARD_DENY_HOST_1=&#039;192.168.6.5&#039;   &lt;br /&gt;
 # optional: 2nd denied host&lt;br /&gt;
 #FORWARD_DENY_HOST_2=&#039;192.168.6.6&#039;   &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Routing: ports to reject/deny forwarding (from &lt;br /&gt;
 # inside and outside!)&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # no. of ports to reject/deny forwarding&lt;br /&gt;
 FORWARD_DENY_PORT_N=&#039;1&#039;                 &lt;br /&gt;
 # deny/reject forwarding of netbios&lt;br /&gt;
 FORWARD_DENY_PORT_1=&#039;137:139    REJECT&#039; &lt;br /&gt;
 # but allow forwarding between LANs&lt;br /&gt;
 FORWARD_TRUSTED_NETS=&#039;&#039;                 &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Firewall: ports to reject/deny from outside &lt;br /&gt;
 # (all served ports)&lt;br /&gt;
 #&lt;br /&gt;
 # here we leave two ports untouched:&lt;br /&gt;
 #&lt;br /&gt;
 #  53 dns&lt;br /&gt;
 # 113 auth&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # no. of ports to reject/deny&lt;br /&gt;
 FIREWALL_DENY_PORT_N=&#039;6&#039;                &lt;br /&gt;
 # privileged ports: reject or deny&lt;br /&gt;
 FIREWALL_DENY_PORT_1=&#039;0:52      REJECT&#039; &lt;br /&gt;
 # privileged ports: reject or deny&lt;br /&gt;
 FIREWALL_DENY_PORT_2=&#039;54:112    REJECT&#039; &lt;br /&gt;
 # privileged ports: reject or deny&lt;br /&gt;
 FIREWALL_DENY_PORT_3=&#039;114:1023  REJECT&#039; &lt;br /&gt;
 # imond/telmond ports: reject or deny&lt;br /&gt;
 FIREWALL_DENY_PORT_4=&#039;5000:5001 REJECT&#039; &lt;br /&gt;
 # proxy access: reject or deny&lt;br /&gt;
 FIREWALL_DENY_PORT_5=&#039;8000      REJECT&#039; &lt;br /&gt;
 # vbox server access: reject or deny&lt;br /&gt;
 FIREWALL_DENY_PORT_6=&#039;20012     REJECT&#039; &lt;br /&gt;
 # deny icmp (ping): yes or no&lt;br /&gt;
 FIREWALL_DENY_ICMP=&#039;no&#039;                 &lt;br /&gt;
 # log access to rejected/denied ports&lt;br /&gt;
 FIREWALL_LOG=&#039;yes&#039;                      &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Domain configuration:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # start dns server: yes or no&lt;br /&gt;
 START_DNS=&#039;yes&#039;                   &lt;br /&gt;
 # DNS servers of your provider, e.g. MSN (free.fr)  &lt;br /&gt;
 DNS_FORWARDERS=&#039;212.27.32.5&#039;      &lt;br /&gt;
 # log queries in /usr/local/ens/ens.log&lt;br /&gt;
 DNS_VERBOSE=&#039;no&#039;                    &lt;br /&gt;
 # your domain name&lt;br /&gt;
 DOMAIN_NAME=&#039;mydomain.dd&#039;           &lt;br /&gt;
 # number of forbidden domains  &lt;br /&gt;
 DNS_FORBIDDEN_N=&#039;0&#039;                 &lt;br /&gt;
 # 1st forbidden domain&lt;br /&gt;
 #DNS_FORBIDDEN_1=&#039;foo.bar&#039;           &lt;br /&gt;
 # 2nd forbidden domain&lt;br /&gt;
 #DNS_FORBIDDEN_2=&#039;bar.foo&#039;          &lt;br /&gt;
 # number of hosts in your domain &lt;br /&gt;
 HOSTS_N=&#039;3&#039;                         &lt;br /&gt;
 # 1st host: ip and name, choice is yours&lt;br /&gt;
 HOST_1=&#039;192.168.12.1 fli4l&#039;          &lt;br /&gt;
 # 2nd host: ip and name&lt;br /&gt;
 HOST_2=&#039;192.168.12.2 client2&#039;        &lt;br /&gt;
 # 3rd host: ip and name&lt;br /&gt;
 HOST_3=&#039;192.168.12.3 client3&#039;        &lt;br /&gt;
 # 4th host: ip and name&lt;br /&gt;
 #HOST_4=&#039;192.168.12.4 client4&#039;        &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Special DNS configuration&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # number of special dns servers, normally 0&lt;br /&gt;
 DNS_N=&#039;0&#039;                           &lt;br /&gt;
 # 1st special dns server for firma.de&lt;br /&gt;
 #DNS_1=&#039;firma.de 192.168.1.12&#039;      &lt;br /&gt;
 # 2nd special dns server for lan.firma.de&lt;br /&gt;
 #DNS_2=&#039;lan.firma.de 192.168.2.12&#039;  &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # imond configuration:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # start imond: yes or no&lt;br /&gt;
 START_IMOND=&#039;yes&#039;                   &lt;br /&gt;
 # TCP-Port, see also FIREWALL_DENY_PORT_x! &lt;br /&gt;
 IMOND_PORT=&#039;5000&#039;                   &lt;br /&gt;
 # imond-password, may be empty&lt;br /&gt;
 IMOND_PASS=&#039;zzzzz&#039;                       &lt;br /&gt;
 # imond-admin-password, may be empty&lt;br /&gt;
 IMOND_ADMIN_PASS=&#039;yyyyyyyyy&#039;        &lt;br /&gt;
 # tty for led: com1 - com4 or empty         &lt;br /&gt;
 IMOND_LED=&#039;&#039;                        &lt;br /&gt;
 # beep if connexion going up/down&lt;br /&gt;
 IMOND_BEEP=&#039;yes&#039;                    &lt;br /&gt;
 # log /var/log/imond.log: yes or no &lt;br /&gt;
 IMOND_LOG=&#039;no&#039;                   &lt;br /&gt;
 # log-directory, e.g. /var/log   &lt;br /&gt;
 IMOND_LOGDIR=&#039;/boot&#039;             &lt;br /&gt;
 # accept &amp;quot;enable/disable&amp;quot; commands&lt;br /&gt;
 IMOND_ENABLE=&#039;yes&#039;                  &lt;br /&gt;
 # accept &amp;quot;dial/hangup&amp;quot; commands&lt;br /&gt;
 IMOND_DIAL=&#039;yes&#039;                    &lt;br /&gt;
 # accept &amp;quot;route&amp;quot; command&lt;br /&gt;
 IMOND_ROUTE=&#039;yes&#039;                   &lt;br /&gt;
 # accept &amp;quot;reboot&amp;quot; command&lt;br /&gt;
 IMOND_REBOOT=&#039;yes&#039;                  &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Generic circuit configuration:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # use dyn. ip addresses (most providers do)(nécessaire&lt;br /&gt;
 # pour l&#039;ISDN)&lt;br /&gt;
 IP_DYN_ADDR=&#039;yes&#039;            &lt;br /&gt;
 # standard dialmode: auto, manual, or off&lt;br /&gt;
 DIALMODE=&#039;manual&#039;                     &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # optional package: syslogd&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # start syslogd: yes or no&lt;br /&gt;
 OPT_SYSLOGD=&#039;no&#039;                    &lt;br /&gt;
 # number of destinations&lt;br /&gt;
 SYSLOGD_DEST_N=&#039;1&#039;                  &lt;br /&gt;
 # n&#039;th prio &amp;amp; destination of syslog msgs&lt;br /&gt;
 SYSLOGD_DEST_1=&#039;*.* /dev/console&#039;   &lt;br /&gt;
 # example: loghost 192.168.6.2&lt;br /&gt;
 SYSLOGD_DEST_2=&#039;*.* @192.168.6.2&#039;   &lt;br /&gt;
 # example: log infos&lt;br /&gt;
 SYSLOGD_DEST_3=&#039;kern.info /var/log/dial.log&#039;    &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # optional package: klogd&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # start klogd: yes or no&lt;br /&gt;
 OPT_KLOGD=&#039;no&#039;                      &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # optional package: y2k correction&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # y2k correction: yes or no&lt;br /&gt;
 OPT_Y2K=&#039;no&#039;                        &lt;br /&gt;
 # correct hardware Y2K-Bug: add x days&lt;br /&gt;
 Y2K_DAYS=&#039;&#039;                         &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Optional package: PNP&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # install isapnp tools: yes or no&lt;br /&gt;
 OPT_PNP=&#039;yes&#039;                        &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuration ISDN ===&lt;br /&gt;
&lt;br /&gt;
Aller dans&amp;lt;tt&amp;gt; /~/isdn-routeur/fli4l-2.0.4/config&amp;lt;/tt&amp;gt;. Editer le fichier &amp;lt;tt&amp;gt;isdn.txt&amp;lt;/tt&amp;gt;. L&#039;adapter à sa configuration et l&#039;enregistrer.&lt;br /&gt;
&lt;br /&gt;
Voici ma configuration pour la carte Gazel :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Optional package: ISDN&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # use ISDN: yes or no&lt;br /&gt;
 OPT_ISDN=&#039;yes&#039;                       &lt;br /&gt;
 # type, e.g. Gazel ISA. Voir liste&lt;br /&gt;
 ISDN_TYPE=&#039;34&#039;                      &lt;br /&gt;
 # io, e.g. 0x240 for Gazel ISA. Voir isapnp.conf !!! &lt;br /&gt;
 ISDN_IO=&#039;0x240&#039;                     &lt;br /&gt;
 # io0&lt;br /&gt;
 ISDN_IO0=&#039;&#039;                         &lt;br /&gt;
 # io1&lt;br /&gt;
 ISDN_IO1=&#039;&#039;                         &lt;br /&gt;
 # mem&lt;br /&gt;
 ISDN_MEM=&#039;&#039;                         &lt;br /&gt;
 # irq, e.g. 12 for Gazel ISA (mon cas)&lt;br /&gt;
 ISDN_IRQ=&#039;12&#039;                       &lt;br /&gt;
 # debug level (hisax driver)&lt;br /&gt;
 ISDN_DEBUG_LEVEL=&#039;31&#039;               &lt;br /&gt;
 # verbose level&lt;br /&gt;
 ISDN_VERBOSE_LEVEL=&#039;2&#039;              &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # ISDN compression (EXPERIMENTAL):&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # use LZS or BSD compression: &#039;yes&#039; or &#039;no&#039;&lt;br /&gt;
 OPT_ISDN_COMP=&#039;no&#039;                  &lt;br /&gt;
 # debug level lzscomp (0..3)&lt;br /&gt;
 ISDN_LZS_DEBUG=&#039;1&#039;                  &lt;br /&gt;
 # compression level lzscomp (0..9)&lt;br /&gt;
 ISDN_LZS_COMP=&#039;8&#039;                   &lt;br /&gt;
 # tweak lzscompr (at present: 0..7)&lt;br /&gt;
 ISDN_LZS_TWEAK=&#039;7&#039;                  &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # ISDN Circuits:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # no. of ISDN circuits, DSL: see pppoe.txt&lt;br /&gt;
 ISDN_CIRCUITS_N=&#039;1&#039;                 &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Circuit 1: Internet-By-Call-Provider MSN&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # circuit MSN&lt;br /&gt;
 ISDN_CIRC_1_NAME=&#039;mydomain.dd&#039;      &lt;br /&gt;
 # use dns server of your provider: yes or no       &lt;br /&gt;
 ISDN_CIRC_1_USEPEERDNS=&#039;no&#039;         &lt;br /&gt;
 # circuit uses sync ppp (ipppd)&lt;br /&gt;
 ISDN_CIRC_1_TYPE=&#039;ppp&#039;              &lt;br /&gt;
 # channel bundling: yes or no&lt;br /&gt;
 ISDN_CIRC_1_BUNDLING=&#039;no&#039;           &lt;br /&gt;
 # if bundling=yes: opt. bandwidth on demand&lt;br /&gt;
 ISDN_CIRC_1_BANDWIDTH=&#039;&#039;            &lt;br /&gt;
 # local ip address of your ISDN card - dummy&lt;br /&gt;
 ISDN_CIRC_1_LOCAL=&#039;&#039;                &lt;br /&gt;
 # remote ip address (ISDN) - dummy&lt;br /&gt;
 ISDN_CIRC_1_REMOTE=&#039;&#039;               &lt;br /&gt;
 # netmask (ISDN) - dummy&lt;br /&gt;
 ISDN_CIRC_1_NETMASK=&#039;255.255.255.0&#039; &lt;br /&gt;
 # max transmission unit (use 1500 if comp!)&lt;br /&gt;
 ISDN_CIRC_1_MTU=&#039;1500&#039;              &lt;br /&gt;
 # maximum receive unit&lt;br /&gt;
 ISDN_CIRC_1_MRU=&#039;1524&#039;              &lt;br /&gt;
 # compress headers/frames, see docum.&lt;br /&gt;
 ISDN_CIRC_1_COMPRESSION=&#039;no&#039;        &lt;br /&gt;
 # type of framecompression, see docum.&lt;br /&gt;
 ISDN_CIRC_1_FRAMECOMP=&#039;default&#039;     &lt;br /&gt;
 # optional: ipx network&lt;br /&gt;
 ISDN_CIRC_1_IPX_NETWORK=&#039;&#039;          &lt;br /&gt;
 # optional: ipx nodes local:remote&lt;br /&gt;
 ISDN_CIRC_1_IPX_NODE=&#039;&#039;             &lt;br /&gt;
 # optional: remote hostname for dialin&lt;br /&gt;
 ISDN_CIRC_1_REMOTENAME=&#039;aaaaa;bbb&#039;          &lt;br /&gt;
 # User-ID to login into provider&#039;s gateway &lt;br /&gt;
 ISDN_CIRC_1_USER=&#039;my.id.login&#039;              &lt;br /&gt;
 # Password for login&lt;br /&gt;
 ISDN_CIRC_1_PASS=&#039;my-password&#039;              &lt;br /&gt;
 # this is the default route&lt;br /&gt;
 ISDN_CIRC_1_ROUTE=&#039;0.0.0.0&#039;         &lt;br /&gt;
 # dialout: ISDN number of provider&lt;br /&gt;
 ISDN_CIRC_1_DIALOUT=&#039;0860922000&#039;    &lt;br /&gt;
 # dialin: no dialin   &lt;br /&gt;
 ISDN_CIRC_1_DIALIN=&#039;&#039;               &lt;br /&gt;
 # callback mode: &#039;in&#039;, &#039;out&#039;, or &#039;off&#039;&lt;br /&gt;
 ISDN_CIRC_1_CALLBACK=&#039;off&#039;          &lt;br /&gt;
 # callback delay, only used for callbacks&lt;br /&gt;
 ISDN_CIRC_1_CBDELAY=&#039;3&#039;            &lt;br /&gt;
 # your MSN (without area code) &lt;br /&gt;
 ISDN_CIRC_1_EAZ=&#039;5255&#039;             &lt;br /&gt;
 # optional slave MSN for channel bundling&lt;br /&gt;
 ISDN_CIRC_1_SLAVE_EAZ=&#039;&#039;            &lt;br /&gt;
 # enable ipppd debugging, &#039;yes&#039; or &#039;no&#039;&lt;br /&gt;
 ISDN_CIRC_1_DEBUG=&#039;yes&#039;             &lt;br /&gt;
 # require the peer to authenticate itself&lt;br /&gt;
 ISDN_CIRC_1_AUTH=&#039;&#039;                 &lt;br /&gt;
 # Hangup after 175 seconds idle time&lt;br /&gt;
 ISDN_CIRC_1_HUP_TIMEOUT=&#039;175&#039;        &lt;br /&gt;
 # Value of charge interval (in seconds)&lt;br /&gt;
 ISDN_CIRC_1_CHARGEINT=&#039;180&#039;           &lt;br /&gt;
 # times/charges when LCR&lt;br /&gt;
 ISDN_CIRC_1_TIMES=&#039;Mo-Su:00-24:0.0148:Y&#039;        &lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # Circuit 2: bidirectional connexion to another &lt;br /&gt;
 # router with raw tcpip not activated yet, only&lt;br /&gt;
 # example for non-default-circuit&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # telmond configuration:&lt;br /&gt;
 #----------------------------------------------&lt;br /&gt;
 # start telmond: yes or no&lt;br /&gt;
 OPT_TELMOND=&#039;yes&#039;               &lt;br /&gt;
 # TCP-Port, see also FIREWALL_DENY_PORT_x! &lt;br /&gt;
 TELMOND_PORT=&#039;5001&#039;             &lt;br /&gt;
 # log /var/log/telmond.log: yes or no&lt;br /&gt;
 TELMOND_LOG=&#039;no&#039;                &lt;br /&gt;
 # log-directory, e.g. /var/log&lt;br /&gt;
 TELMOND_LOGDIR=&#039;/var/log&#039;       &lt;br /&gt;
 # number of msn-&amp;gt;ip mapping entries&lt;br /&gt;
 TELMOND_MSN_N=&#039;0&#039;               &lt;br /&gt;
 # e.g. map MSN 123 to client 192.168.6.2&lt;br /&gt;
 TELMOND_MSN_1=&#039;123 192.168.6.2&#039; &lt;br /&gt;
 # no. of commands to be executed if call-in&lt;br /&gt;
 TELMOND_CMD_N=&#039;0&#039;               &lt;br /&gt;
 # e.g. dial out via default circuit&lt;br /&gt;
 TELMOND_CMD_1=&#039;123 * sleep 5; imonc dial&#039;  &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Construction de la disquette ===&lt;br /&gt;
&lt;br /&gt;
Aller dans &amp;lt;tt&amp;gt;/~/isdn-routeur/fli4l-2.0.4&amp;lt;/tt&amp;gt; et introduire une disquette vierge dans le lecteur.&amp;lt;br /&amp;gt; Formater la disquette :&amp;lt;tt&amp;gt; fdfomat /dev/fd0u1680&amp;lt;/tt&amp;gt; (de préférence, choisissez une disquette de bonne qualité pour utiliser ce format).&amp;lt;br /&amp;gt; Pour plus de sécurité : &amp;lt;tt&amp;gt;./mkclean.sh&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Compresser les fichiers nécessaires : &amp;lt;tt&amp;gt;./mktgz.sh&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Copier les fichiers sur la disquette : &amp;lt;tt&amp;gt;./mkfloppy.sh -h&amp;lt;/tt&amp;gt; (le paramètre -h est nécessaire pour les disquette de 1680 ko)&lt;br /&gt;
&lt;br /&gt;
=== Interface de numérotation ===&lt;br /&gt;
&lt;br /&gt;
Puisque j&#039;ai choisi une numérotation manuelle sous X-Window, construisons le programme gtk-imonc ! Remarque : pour les mordus du clavier, vous pouvez utiliser une application en console : imonc, à télécharger sur le site de fli4l.de).&lt;br /&gt;
&lt;br /&gt;
Aller dans &amp;lt;tt&amp;gt;/~/gtk-imonc-0.1.6&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Exécuter &amp;lt;tt&amp;gt;./configure&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Exécuter &amp;lt;tt&amp;gt;./make&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Exécuter &amp;lt;tt&amp;gt;su &amp;lt;/tt&amp;gt;afin de basculer sous le compte root&amp;lt;br /&amp;gt; Exécuter &amp;lt;tt&amp;gt;./make install &amp;lt;/tt&amp;gt;afin d&#039;installer le programme &amp;lt;tt&amp;gt;gtk-imonc&amp;lt;/tt&amp;gt; dans &amp;lt;tt&amp;gt;/usr/local/bin&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez par la suite repérer le fichier &amp;lt;tt&amp;gt;gtk-imoc.desktop&amp;lt;/tt&amp;gt; et le copier ou le glisser à la souris vers le Bureau.&lt;br /&gt;
&lt;br /&gt;
Voilà ! C&#039;est aussi simple que cela.&lt;br /&gt;
&lt;br /&gt;
=== La configuration réseau ===&lt;br /&gt;
&lt;br /&gt;
Ne pas oublier si ce n&#039;est pas déjà fait, de saisir les commandes suivantes (en root) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;ifconfig eth0 192.168.12.x netmask 255.255.255.0 up&amp;lt;br /&amp;gt; route add default gw 192.168.12.1 eth0&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Pour autant que votre réseau soit le 192.168.12.0 !!&lt;br /&gt;
&lt;br /&gt;
Elles réinitialisent la carte réseau avec l&#039;adresse IP correspondante au réseau sur lequel le routeur ISDN officie et ajustent la passerelle par défaut. Remplacez 192.168.12.x par l&#039;adresse IP du poste de travail.&lt;br /&gt;
&lt;br /&gt;
=== La minute de vérité ! ===&lt;br /&gt;
&lt;br /&gt;
Introduisons la disquette dans l&#039;ordinateur qui doit fonctionner en tant que routeur et mettons-le en route.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;...syslinux.....&amp;lt;br /&amp;gt; ...kernel........&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Messages d&#039;erreur ??? Impossible ;-)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;Login :&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; Saisissez votre login, puis votre mot de passe&amp;lt;br /&amp;gt;&#039;&#039;&#039;ATTENTION&#039;&#039;&#039;, le clavier est en qwerty-US. Choisissez donc un mot de passe qui reste facile à mémoriser et qui ne fait pas appel aux lettres A, Q, Z, W et M.&lt;br /&gt;
&lt;br /&gt;
De retour à votre poste de travail, lancez &amp;lt;tt&amp;gt;gtk-imonc&amp;lt;/tt&amp;gt;. Cliquez sur le bouton &#039;&#039;&#039;DIAL&#039;&#039;&#039;. Un témoin de connexion s&#039;affiche dans le bas de la fenêtre.&lt;br /&gt;
&lt;br /&gt;
Have fun !&lt;br /&gt;
&lt;br /&gt;
== Le mot de la fin ==&lt;br /&gt;
&lt;br /&gt;
Toute la documentation officielle est dans le répertoire &amp;lt;tt&amp;gt;fli4l-2.0.4&amp;lt;/tt&amp;gt;, malheureusement en Allemand. Une liste de diffusion existe mais uniquement en Allemand !&lt;br /&gt;
&lt;br /&gt;
Je conseille de faire une deuxième disquette et, dans le fichier base.txt, d&#039;ajouter le paramètre : (pour le cas où :))&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 MOUNT_BOOT=&#039;ro&#039;                 # mount boot device (floppy): ro, rw, no&lt;br /&gt;
&lt;br /&gt;
A voir [http://www-public.tu-bs.de:8080/~y0011440/projekte.html ici] : une &#039;one-floppy&#039; passerelle construite par Torben Baras. Il l&#039;a nommé &#039;Silent Router&#039;. Devinez pourquoi ;-)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;[[Image:lfli4l-floppy.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; Construit à partir d&#039;une carte mère 486-DX2 Intel 66 Mhz CPU dans un rack de 19&amp;quot; et fli4l.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Eric M.C.DECLERCK le 09/09/2002.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 09/09/2002, Eric M.C.DECLERCK&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=QoS_Gestion_de_la_bande_passante_sous_Linux&amp;diff=6570</id>
		<title>QoS Gestion de la bande passante sous Linux</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=QoS_Gestion_de_la_bande_passante_sous_Linux&amp;diff=6570"/>
		<updated>2005-10-12T18:21:14Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Scripts de gestion de bande passante CBQ.init, HTB.init et wshaper.htb */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Administration réseau]]&lt;br /&gt;
= QoS/Gestion de la bande passante sous Linux =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;QoS/Gestion de la bande passante sous Linux&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par[mailto:guitarparts@fr.st  julien Lecubin]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Dans cet article, je vais vous expliquer les différentes étapes pour mettre en place la QoS et gérer votre bande passante sous Linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Pourquoi faire de la QoS&amp;lt;/u&amp;gt; ? Retenez que sans la QoS, vous ne pouvez pas gérer correctement les flux qui transitent sur votre réseau. Vous aurez par exemple des problèmes à écouter un flux audio en streaming sachant qu&#039;en même temps, vous êtes en train de faire du ftp. Dans la première partie de cet article, je vais vous montrer &#039;&#039;&#039;comment prioriser les divers flux de votre réseau&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Pourquoi gérer la BP de mon réseau&amp;lt;/u&amp;gt; ? Une personne qui fait du ftp sur une ligne ADSL de bureau peut monopoliser à elle seule toute la bande passante en sortie de votre réseau. Ce cas ne se limite pas aux réseaux ADSL et peut être aussi constaté sur des réseaux à très haut débit (lignes de type T1/T2). Linux peut apporter une solution efficace face à ce genre de problème en vous offrant la &#039;&#039;&#039;possibilité de gérer intelligemment votre bande passante&#039;&#039;&#039;. Ce sera le sujet de la deuxième partie de ce présent document.&lt;br /&gt;
&lt;br /&gt;
Actuellement, sachez que vous pouvez faire de la QoS et de la gestion de bande passante sous les noyaux 2.2 et 2.4. Néamoins, pour une question de facilité, je vous recommande un noyau 2.4 pour effectuer ce qui suit.&lt;br /&gt;
&lt;br /&gt;
== QoS via iptables ==&lt;br /&gt;
&lt;br /&gt;
Pour faire de la QoS, nous allons modifier la valeur du champs TOS se situant dans l&#039;en tête IP grâce à iptables. Le champ TOS est sur 4 bits :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;60%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;HEXA&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;BINAIRE&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;DECIMAL&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;SIGNIFICATION&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 1000&lt;br /&gt;
| 8&lt;br /&gt;
| Minimize Delay&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 0100&lt;br /&gt;
| 4&lt;br /&gt;
| Maximize throughput&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 0010&lt;br /&gt;
| 2&lt;br /&gt;
| Maximize reliability&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 0001&lt;br /&gt;
| 1&lt;br /&gt;
| Minimize monetary cost&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0000&lt;br /&gt;
| &lt;br /&gt;
| Normal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Minimize-Delay&#039;&#039;&#039; : Améliore la réactivité des connexions en réduisant le délai (ssh, telnet, ftp contrôle, tftp, flux DNS UDP)&lt;br /&gt;
* &#039;&#039;&#039;Maximize-Throughput &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;: Améliore le débit au prix d&#039;une possible détérioration de l&#039;interactivité de la session. Les temps de latence ne sont pas importants (ftp-data,www, transfert de zone DNS)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Maximum-Reliability &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;: Certitude que les données arrivent sans perte - Améliore la fiabilité (snmp, smtp)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Minimize monetary cost&#039;&#039;&#039; : minimise le délai, meilleure rentabilité (nntp, icmp)&lt;br /&gt;
&lt;br /&gt;
L&#039;intérêt de la QoS sous Linux est très souvent associé à la priorisation de flux interactifs via iptables. Par exemple, vous ne souhaitez pas que votre session ssh soit interrompue à cause d&#039;un utilisateur qui est en train de monopoliser la bande passante de votre réseau en downloadant une bande annonce sur internet (Il s&#039;agit d&#039;un cas de figure bien plus répandu qu&#039;on ne le pense !). Nous allons ici à titre d&#039;exemple optimiser les trafics courants avec iptables, à savoir le ftp et ssh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; # Priorisation des connexions ftp et ssh &amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ssh -j TOS --set-tos Minimize-Delay&amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ftp -j TOS --set-tos Minimize-Delay&amp;lt;br /&amp;gt; # On donne un maximum de débit aux transferts ftp, peu importe la latence &amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput&amp;lt;br /&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A vous d&#039;adapter ce script suivant les services de votre réseau que vous souhaitez prioriser.&lt;br /&gt;
&lt;br /&gt;
== Gestion de la bande passante sous Linux ==&lt;br /&gt;
&lt;br /&gt;
Nous abordons la deuxième partie du document. Linux utilise deux unités du contrôle de trafic pour la gestion de la bande passante :&lt;br /&gt;
&lt;br /&gt;
* Les filtres qui placent le trafic dans les files d&#039;attentes (fwmark, u32)&lt;br /&gt;
* Les files d&#039;attentes qui décident des flux prioritaires (CBQ, HTB, RED, TBF, SFQ...)&lt;br /&gt;
&lt;br /&gt;
Gardez en vue que le protocole TCP/IP n&#039;a pas d&#039;aptitude à connaître les performances d&#039;un réseau. Il commence à envoyer des paquets, de plus en plus rapidement et quand des paquets commencent à se perdre, il ralentit. La plupart des files d&#039;attentes fonctionnent selon le modèle suivant : elles recoivent des paquets, les positionnent en file d&#039;attente jusqu&#039;à un certain point, et ensuite, éliminent tout paquet qui arrive dans le cas où la file d&#039;attente est pleine. Si on travaille en UDP, les paquets ne sont plus retransmis, si c&#039;est du TCP, l&#039;émetteur renverra les paquets perdus. Le débit s&#039;en trouve alors ralenti.&lt;br /&gt;
&lt;br /&gt;
=== Compilation du noyau ===&lt;br /&gt;
&lt;br /&gt;
Nous allons compiler le noyau afin que celui-ci sache gérer notre BP ( = Bande Passante). Si vous avez une distribution récente, il se peut que vous n&#039;ayez pas besoin de le compiler. Lancez un &amp;quot;make xconfig&amp;quot; sous le X dans le répertoire /usr/src/linux. Si cela ne marche pas, installez les sources du noyau (le rpm est du type kernel-src-*.rpm)&lt;br /&gt;
&lt;br /&gt;
==== Les options ====&lt;br /&gt;
&lt;br /&gt;
Dans la partie &amp;quot;Networking Options&amp;quot; -&amp;gt; &amp;quot;QoS and fair queuing&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Option Noyau&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Sélection à la Compilation&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Définition&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| QoS &amp;amp; fair queuing&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Netfilter&lt;br /&gt;
| module&lt;br /&gt;
| Network Packet Filtering&lt;br /&gt;
|-&lt;br /&gt;
| CBQ packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Classed Based Queue) - file d&#039;attente basée sur des classes. C&#039;est ce type de file d&#039;attente qui sera implémentée dans la suite du présent document&lt;br /&gt;
|-&lt;br /&gt;
| HTB packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Hierarchical Token buckets) implémenté dans la suite du présent document - Si vous ne l&#039;avez pas, j&#039;explique plus bas comment avoir cette file d&#039;attente en patchant votre noyau&lt;br /&gt;
|-&lt;br /&gt;
| CSZ packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Clark-Shenker-Zhang) - Les flux ne sont pas limités à leur bande passante. Fournit un service garanti&lt;br /&gt;
|-&lt;br /&gt;
| The simplest PRIO pseudoscheduler&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RED queue&lt;br /&gt;
| module&lt;br /&gt;
| (Random Early Detect) - Anticipe les problèmes de congestion. RED élimine les paquets pour indiquer à TCP/IP de ralentir - Pour de gros débits&lt;br /&gt;
|-&lt;br /&gt;
| SFQ queue&lt;br /&gt;
| module&lt;br /&gt;
| (Stochastic Fair Queuing) - Limitation basée sur le taux de transfert utilisé - Consomme peu de CPU/Mem. Rapide, peu précis. Efficace sur de gros débits - Offre un traitement sensiblement équitable de chaque classe&lt;br /&gt;
|-&lt;br /&gt;
| TBF queue&lt;br /&gt;
| module&lt;br /&gt;
| Consomme peu de CPU. Limitation basée sur le taux de transfert à utiliser - Non basé sur les classes&lt;br /&gt;
|-&lt;br /&gt;
| Ingress QDisc&lt;br /&gt;
| module&lt;br /&gt;
| (Queuing discipline) - Indispensable lorsque l&#039;on souhaite utiliser les files d&#039;attente&lt;br /&gt;
|-&lt;br /&gt;
| QoS support&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Rate estimator&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Packet classifier API&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| TC Index classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Routing table based classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Firewall based classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| U32 classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Special RSVP classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Special RSVP classifier for IPv6&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les files d&#039;attentes les plus importantes sont &#039;&#039;&#039;CBQ&#039;&#039;&#039; et &#039;&#039;&#039;HTB&#039;&#039;&#039; (la suite du document se base sur ces deux files d&#039;attente). Vous n&#039;êtes pas obligés de mettre en module les autres files d&#039;attentes (CSZ, RED, SFQ, TBF, TEQL), cependant, cela reste toujours intéressant de les laisser en tant que module au cas où vous en auriez besoin plus tard.&lt;br /&gt;
&lt;br /&gt;
==== Terminer la compilation ====&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau par :&lt;br /&gt;
&lt;br /&gt;
* make dep&lt;br /&gt;
* make clean &lt;br /&gt;
* make bzImage &lt;br /&gt;
* make modules&lt;br /&gt;
* make modules_install&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
&lt;br /&gt;
Allez prendre un café&amp;lt;br /&amp;gt; Toujours pas fini ? Retournez prendre un café... :)&amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz&amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/System.map /boot&lt;br /&gt;
&lt;br /&gt;
Modifiez /etc/lilo.conf pour prendre en compte le nouveau noyau et lancez la commande &amp;quot;lilo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Assurez-vous enfin que votre station Linux comporte la commande &amp;quot;tc&amp;quot; (un &amp;quot;which tc&amp;quot; vous permettra de voir si &amp;quot;tc&amp;quot; est installé). Si vous ne l&#039;avez pas, elle fait partie du package iproute2 (les sources sont [http://www.tux.org/pub/net/ip-routing/ ici] et le rpm peut être téléchargé [http://www.rpmfind.net là])&lt;br /&gt;
&lt;br /&gt;
Désormais, votre noyau linux implémente la gestion de bande passante. Il ne reste plus qu&#039;à écrire un script propre à votre config, ce qui est décrit dans la suite du document.&lt;br /&gt;
&lt;br /&gt;
=== Scripts de gestion de bande passante CBQ.init, HTB.init et wshaper.htb ===&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez partager votre bande passante sans trop vous compliquer la vie, sachez que des scripts ont été créés afin d&#039;optimiser votre bande passante. Dans la suite du document, je vais vous expliquer comment les mettre en place. Lisez bien la définition de chacun de ces scripts, de manière à définir celui qui vous convient le mieux.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;CBQ.init&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente CBQ&lt;br /&gt;
&lt;br /&gt;
* convient à de petits débits&lt;br /&gt;
* nécessite de connaître la taille moyenne des paquets et la vitesse maximale de la connexion&lt;br /&gt;
* utilise le temps d&#039;inactivité de la connexion pour calculer une approximation du débit utilisé.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;HTB.init&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente HTB&lt;br /&gt;
&lt;br /&gt;
* convient à des gros débits &lt;br /&gt;
* consomme peu de ressources &lt;br /&gt;
* ne fait pas d&#039;approximation en ce qui concerne le calcul du débit &lt;br /&gt;
* nécessite de connaitre le débit maximal de votre connexion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Wondershaper&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente HTB&lt;br /&gt;
&lt;br /&gt;
* maintient une bonne réactivité pour le traffic interactif (ssh, telnet...) &lt;br /&gt;
* surfer sans souci lors de gros downloads&lt;br /&gt;
* s&#039;assure que l&#039;upload ne défavorise pas le download et inversement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Sachez que souvent, on préconise l&#039;utilisation de files d&#039;attentes de type HTB plutot que CBQ. Cependant, si votre distribution n&#039;est pas très récente, il y aura pas mal de choses à réaliser pour implémenter les files d&#039;attentes HTB sur votre station (j&#039;explique neanmoins la démarche à suivre si vous êtes dans ce cas).&lt;br /&gt;
&lt;br /&gt;
==== CBQ.init ====&lt;br /&gt;
&lt;br /&gt;
Récupérez le script à l&#039;adresse suivante :&lt;br /&gt;
&lt;br /&gt;
https://sourceforge.net/projects/cbqinit&lt;br /&gt;
&lt;br /&gt;
Faites un &amp;quot;chmod u+x CBQ.init*&amp;quot; afin de le rendre executable.&amp;lt;br /&amp;gt; Copiez le script dans le répertoire /usr/bin : &amp;quot;cp CBQ.init-[VERSION] /usr/bin&amp;quot;&amp;lt;br /&amp;gt; Créez le répertoire /etc/sysconfig/cbq qui contiendra les options de gestion de BP sur lequelles se basera le script : &amp;quot;mkdir /etc/sysconfig/cbq&amp;quot; - Si vous souhaitez placer vos fichiers de configurations CBQ ailleurs, modifiez la variable $CBQ_PATH dans le script CBQ.init afin de renseigner le nouveau chemin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemples de fichiers de configurations pour le script CBQ.init&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Les fichiers de configuration doivent respecter une syntaxe précise de type &#039;&#039;&#039;cbq-CLASS_ID.name&#039;&#039;&#039; où CLASS_ID est compris en hexa entre 0002 et FFFF (pour en savoir plus, éditez le script, c&#039;est expliqué en détail).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 1&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_first_shaper&#039;&#039;&#039; - vous avez 2 interfaces (eth0=LAN et eth1=INTERNET) sur votre machine et souhaitez limiter le trafic INTERNET -&amp;gt; LAN à 16 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; debit max de votre interface eth0&amp;lt;br /&amp;gt; RATE=128Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=10Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 etant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un trafic spécifique)&amp;lt;br /&amp;gt; RULE=192.168.1.0/24&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 2&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_second_shaper&#039;&#039;&#039; - vous avez 1 interface sur votre machine (eth0-192.168.1.5) et souhaitez limiter le trafic MACHINE -&amp;gt; INTERNET à 16 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # La limite du trafic s&#039;effectue sur l&#039;interface 10 Mbits/s eth0&amp;lt;br /&amp;gt; RATE=128Kbit&amp;lt;br /&amp;gt; WEIGHT=10Kbit&amp;lt;br /&amp;gt; PRIO=5&amp;lt;br /&amp;gt; RULE=192.168.1.5, # Attention à la &#039;,&#039; cela permet de specifier qu&#039;il s&#039;agit d&#039;une d&#039;adresse source ! Ici, la limitation de BP s&#039;applique uniquement à la machine 192.168.1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 3&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_third_shaper&#039;&#039;&#039; - vous souhaitez limiter le trafic de votre serveur web (192.168.1.50) à 8 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; débit max de l&#039;interface de votre serveur web&amp;lt;br /&amp;gt; RATE=64Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=6Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 étant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un trafic spécifique)&amp;lt;br /&amp;gt; RULE=192.128.1.50:80,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 4&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_fourth_shaper&#039;&#039;&#039; - vous souhaitez limiter le trafic des gens qui download sur votre serveur ftp (192.168.1.50) à 10 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; débit max de l&#039;interface de votre serveur ftp&amp;lt;br /&amp;gt; RATE=80Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=8Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 étant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un trafic spécifique)&amp;lt;br /&amp;gt; RULE=192.128.1.50:20/0xfffe # limitation de BP appliquée sur port 20/21&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 5&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_fifth_shaper&#039;&#039;&#039; - vous souhaitez que le trafic LAN -&amp;gt; INTERNET soit limité à 50 Ko/s (400 Kbits/s), et que le trafic INTERNET -&amp;gt; LAN soit limité à 10Ko/s (80 Kbits/s), remplissez CBQ.init de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; LAN ----- eth0 [LINUX] eth1 ----- INTERNET&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt; ######################## {{ LAN -&amp;gt; INTERNET }} #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;DEVICE=eth1,10Mbit,1Mbit &amp;lt;br /&amp;gt;RATE=400Kbit &amp;lt;br /&amp;gt;WEIGHT=40Kbit # WEIGHT = RATE / 10 &amp;lt;br /&amp;gt;PRIO=5 &amp;lt;br /&amp;gt;BOUNDED=yes # Pour ne pas aller prendre de la BP aux classes parents &amp;lt;br /&amp;gt;ISOLATED=NO # Permet de léguer de la BP aux classes filles si il en reste &amp;lt;br /&amp;gt;RULE=192.168.0.0/24 # Le partage de BP concerne le trafic à destination du reseau 192.168.0.0 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;############################################################ ############ &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt; ######################## {{ INTERNET -&amp;gt; LAN }} #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;DEVICE=eth0,100Mbit,10Mbit # &amp;lt;br /&amp;gt;RATE=80Kbit # On souhaite limiter le trafic entrant à 10 Ko/s (adaptez selon le débit de votre ligne) &amp;lt;br /&amp;gt;WEIGHT=8Kbit # WEIGHT = RATE / 10 &amp;lt;br /&amp;gt;PRIO=5 &amp;lt;br /&amp;gt;BOUNDED=yes &amp;lt;br /&amp;gt;ISOLATED=NO &amp;lt;br /&amp;gt;RULE=80,192.168.1.10 # Tout le traffic HTTP INTERNET -&amp;gt; 192.168.1.10 limité à 10 Ko/s &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#################################### #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à lancer le script CBQ.init à chaque démarrage ; pour cela éditez le /etc/rc.d/rc.local et ajoutez la ligne &amp;quot;CBQ.init-[version] start&amp;quot; où [version] désigne la version de votre script CBQ.&amp;lt;br /&amp;gt; Si vous souhaitez obtenir des statistiques CBQ, lancez la commande &amp;quot;CBQ.init-[VERSION] stats&amp;quot;. Le script vous sortira des informations qui peuvent s&#039;avérer utile.&lt;br /&gt;
&lt;br /&gt;
Voilà, vous êtes désormais un gourou des files d&#039;attentes CBQ :). Passons maintenant à la gestion de la BP avec file d&#039;attentes HTB.&lt;br /&gt;
&lt;br /&gt;
==== HTB.init ====&lt;br /&gt;
&lt;br /&gt;
Récupérez le script HTB.init à l&#039;adresse suivante :[http://sourceforge.net/projects/htbinit  http://sourceforge.net/projects/htbinit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes pour noyau &amp;lt; 2.4.18-3&#039;&#039;&#039; : pour utiliser des files d&#039;attentes HTB, sachez que vous devez patcher votre noyau si il est inférieur à la version 2.4.18-3 (tapez &amp;quot;uname -a&amp;quot; pour vérifier la version de votre distribution) : &amp;lt;br /&amp;gt;[http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.4.17.diff   http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.4.17.diff] pour les noyaux 2.4&amp;lt;br /&amp;gt;[http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.2.17.diff  http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.2.17.diff] pour les noyaux 2.2&lt;br /&gt;
&lt;br /&gt;
Pour appliquer le patch lancez la commande suivante dans le répertoire /usr/src/linux : &amp;quot;patch -pl -i htb2_2.4.17.diff&amp;quot; &amp;lt;br /&amp;gt; Dans /usr/src/linux tapez : &amp;quot;make xconfig&amp;quot;&amp;lt;br /&amp;gt; Dans la partie &amp;quot;Networking Options&amp;quot; -&amp;gt; &amp;quot;QoS and fair Queuing&amp;quot;, sélectionnez HTB packet scheduler en module&amp;lt;br /&amp;gt; Recompilez le noyau : &amp;quot;make dep &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make bzImage &amp;amp;&amp;amp; make modules &amp;amp;&amp;amp; make modules_install&amp;quot;&amp;lt;br /&amp;gt; Mettez en place le nouveau noyau qui prend en charge HTB :&lt;br /&gt;
&lt;br /&gt;
cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz &amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/System.map /boot&lt;br /&gt;
&lt;br /&gt;
Vous devez aussi mettre à jour la commande &amp;quot;tc&amp;quot; : http://luxik.cdi.cz/~devik/qos/htb/v2/tc.gz&lt;br /&gt;
&lt;br /&gt;
Faites un &amp;quot;chmod u+x HTB.init-[VERSION]&amp;quot; afin de le rendre exécutable. &amp;lt;br /&amp;gt;Copiez le script dans le répertoire /usr/bin : &amp;quot;cp HTB.init-[VERSION] /usr/bin&amp;quot; &amp;lt;br /&amp;gt;Créez le répertoire /etc/sysconfig/htb qui contiendra les fichiers de gestion de BP sur lequelles se basera le script : &amp;quot;mkdir /etc/sysconfig/htb&amp;quot; - Si vous souhaitez placer vos fichiers de configurations HTB ailleurs, modifiez la variable $HTB_PATH dans le script HTB.init afin de renseigner le nouveau chemin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemples de fichiers de configurations HTB.init&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Il n&#039;existe pas un mais plusieurs fichiers de configurations pour HTB.init. Les fichiers doivent obligatoirement avoir une syntaxe précise. Par exemple :&lt;br /&gt;
&lt;br /&gt;
eth0-2 -&amp;gt; classe root ID 2, device eth0 &amp;lt;br /&amp;gt;eth0-2:3 -&amp;gt; classe fille ID 3, ayant comme parent 2, device eth0 &amp;lt;br /&amp;gt;eth0-2:3:4 -&amp;gt; classe fille ID 4, ayant comme parent 3, device eth0 &amp;lt;br /&amp;gt;eth1-2.root -&amp;gt; classe root ID 2, device eth1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Une autre notation en cas d&#039;erreur lors de la creation de ce type de fichiers : eth0-2\:3 -&amp;gt; Vous placez un &amp;quot;\&amp;quot; avant le &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Cela peut paraître un peu confu comme syntaxe, cependant, je vais vous donner des exemples. Editez le script si vous souhaitez néanmoins en savoir plus à ce sujet. &amp;lt;br /&amp;gt;Avec ce type de files d&#039;attentes, &#039;&#039;&#039;vous ne pouvez realiser un contrôle de flux qu&#039;en sortie de vos interfaces réseaux&#039;&#039;&#039;. Dans le cas d&#039;une station qui fait du routage, configurez les débits sur les sorties des deux interfaces (voir exemple 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 1&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Imaginons que vous ayez une bande passante sur votre station de 5 Mbits/s (~600Ko/s). Vous souhaitez :&lt;br /&gt;
&lt;br /&gt;
5Mbits/s pour le HTTP, &amp;lt;br /&amp;gt;3Mbits/s pour le SMTP &amp;lt;br /&amp;gt;1Kbit/s pour le trafic divers (qui vous importent peu) &amp;lt;br /&amp;gt;Dans le cas où il y a de la bande passante de libre, vous souhaitez la partager entre le SMTP et trafics divers. &amp;lt;br /&amp;gt;SMTP pourra utiliser tout le temps au moins 3Mbits/s et pourra monter jusqu&#039;à 5 Mbits/s si il y a de la BP de libre. &amp;lt;br /&amp;gt;Le trafic divers pourra utiliser tout le temps au moins 1Kbit/s et pourra monter jusqu&#039;à 5Mbits/s si il y a de la BP de libre.&lt;br /&gt;
&lt;br /&gt;
Allez dans le répertoire /etc/sysconfig/htb ($HTB_PATH) et placez-y les lignes suivantes pour chaque fichier :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;fichier &#039;&#039;&#039;eth0&#039;&#039;&#039;&amp;lt;br /&amp;gt;DEFAULT=30 # ID class default - Le trafic non répertorié utilisera la class ID 30&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2.root&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=5Mbit # Bande passante allouée a la classe root (ici 5Mbits) &amp;lt;br /&amp;gt;BURST=15k&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:10.www&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=5Mbit &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq # Type de file d&#039;attente utilisée par cette classe (ici sfq) &amp;lt;br /&amp;gt;RULE=*:80, # Voir les exemples du script CBQ.init - La syntaxe &amp;quot;RULE&amp;quot; est identique&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:20.smtp&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=3Mbit &amp;lt;br /&amp;gt;CEIL=5Mbit # La bande passante max de cette classe peut aller jusqu&#039;a 5 Mbits/s uniquement si il y a de la BP de libre. &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;RULE=*:25&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:30.dfl&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=1Kbit &amp;lt;br /&amp;gt;CEIL=5Mbit &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 2&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
On traite ici le cas d&#039;une personne ayant une connexion ADSL de type 512/128. Sa connexion se fait via une machine-routeur possédant deux interfaces (eth0 et eth1). Elle souhaite limiter l&#039;upload à 90 Kbits/s (11,3 Ko/s) et donner la priorité aux services HTTP, SSH, TELNET, POP3, SMTP et DNS. Une priorité plus petite sera attribuée à tout autre trafic. Côté, download on garde la même idée, cependant, la limite sera fixée à 450 Kbits/s (57 Ko/s).&lt;br /&gt;
&lt;br /&gt;
Allez dans le répertoire /etc/sysconfig/htb ($HTB_PATH) et placez-y les lignes suivantes pour chaque fichier :&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1&#039;&#039;&#039; (Tous fichier de type &#039;&#039;&#039;eth1*&#039;&#039;&#039; -&amp;gt; trafic sortant de l&#039;interface eth1) &amp;lt;br /&amp;gt;DEFAULT=30 &amp;lt;br /&amp;gt;R2Q=1&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2.root&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#Classe root pour trafic sortant &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=90Kbit&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:10.high&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour trafic sortant de haute priorité &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#HTTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:80 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SSH &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:22 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#TELNET &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:23 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SMTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:25 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#DNS &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:53 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#POP3 &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:110&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:20.normal&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour trafic sortant normal &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#IRC &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:6667&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:30.low&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour trafic sortant peu important &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=20Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#EMULE &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:3000 &amp;lt;br /&amp;gt;RULE=*:3000, &amp;lt;br /&amp;gt;RULE=*:3010 &amp;lt;br /&amp;gt;RULE=*:3010, &amp;lt;br /&amp;gt;RULE=*:4662 RULE=*:4662,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0&#039;&#039;&#039; (Tous fichier de type &#039;&#039;&#039;eth0*&#039;&#039;&#039; -&amp;gt; trafic sortant de l&#039;interface eth0) &amp;lt;br /&amp;gt;DEFAULT=30 &amp;lt;br /&amp;gt;R2Q=10&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:10.high&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour trafic sortant de haute priorité &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=150 Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#HTTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:80, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SSH &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:22, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#TELNET &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:23, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SMTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:25, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#DNS &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:53, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#POP3 &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:110,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:20.normal&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour trafic sortant normal &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#IRC &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:6667,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:30.low&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour trafic sortant peu important &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=150Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#EMULE &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:3000, &amp;lt;br /&amp;gt;RULE=*:3010, &amp;lt;br /&amp;gt;RULE=*:4662, &amp;lt;br /&amp;gt;RULE=*:3000 &amp;lt;br /&amp;gt;RULE=*:3010 &amp;lt;br /&amp;gt;RULE=*:4662 &amp;lt;br /&amp;gt;RULE=*:4662 &amp;lt;br /&amp;gt;RULE=*:4662,&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à lancer le script HTB.init à chaque démarrage ; pour cela éditez le /etc/rc.d/rc.local et ajoutez la ligne &amp;quot;HTB.init-[version] start&amp;quot; où [VERSION] désigne la version de votre script HTB. &amp;lt;br /&amp;gt;Si vous souhaitez obtenir des statistiques HTB, lancez la commande &amp;quot;HTB.init-[VERSION] stats&amp;quot;. Le script vous sortira des informations qui peuvent s&#039;avérer utile.&lt;br /&gt;
&lt;br /&gt;
==== wondershaper ====&lt;br /&gt;
&lt;br /&gt;
Récupérez wondershaper à l&#039;adresse suivante :&lt;br /&gt;
&lt;br /&gt;
[http://lartc.org/wondershaper  http://lartc.org/wondershaper]&lt;br /&gt;
&lt;br /&gt;
Editez le script wshaper et indiquez les débits ; par exemple pour une ligne ADSL 512/128 :&lt;br /&gt;
&lt;br /&gt;
DOWNLINK= 500 &amp;lt;br /&amp;gt;UPLINK= 100 &amp;lt;br /&amp;gt;DEV=ppp0&lt;br /&gt;
&lt;br /&gt;
Désormais, votre machine avec ce script :&lt;br /&gt;
&lt;br /&gt;
* maintient une bonne réactivité pour le trafic interactif (ssh, telnet...) &lt;br /&gt;
* vous pouvez surfer sans soucis lors de gros downloads &lt;br /&gt;
* l&#039;upload ne défavorise pas le download et inversement. &lt;br /&gt;
&lt;br /&gt;
J&#039;ai trouvé sur internet un script dérivé de Wondershaper, il peut s&#039;avérer intéressant de le mettre en oeuvre si vous avez une connexion de type ADSL. En revanche, ce script fait appel à de nombreuses files d&#039;attentes : CBQ, RED, IMQ, HTB et SFQ (Assurez-vous au préalable que votre noyau les prend toutes en compte).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; #!/bin/bash&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # mon_limiteur - Limiteur et classificateur de trafic pour modem Cable ou ADSL.&amp;lt;br /&amp;gt; # Inspiré de WonderShaper (www.lartc.org)&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Écrit par Dan Singletary (7/8/02)&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Remarque - ce script suppose que le noyau a été patché avec les files&amp;lt;br /&amp;gt; # HTB et IMQ disponibles ici (les noyaux à venir ne demanderont&amp;lt;br /&amp;gt; # pas forcément l&#039;application d&#039;un correctif):&amp;lt;br /&amp;gt; # http://luxik.cdi.cz/~devik/qos/htb/&amp;lt;br /&amp;gt; # http://luxik.cdi.cz/~patrick/imq/&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Options de configuration pour mon_limiteur:&amp;lt;br /&amp;gt; # DEV - correspond au périphérique ethX connecté au modem&amp;lt;br /&amp;gt; # RATEUP - à positionner à une valeur inférieure à la bande&amp;lt;br /&amp;gt; # passante montante de la ligne.&amp;lt;br /&amp;gt; # Pour ma ligne ADSL en 1500/128, RATEUP=90 convient au rythme&amp;lt;br /&amp;gt; # montant de 128 kbps. À vous d&#039;ajuster.&amp;lt;br /&amp;gt; # RATEDN - à positionner en dessous de la bande passante descendante de&amp;lt;br /&amp;gt; # la ligne.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Principe d&#039;utilisation d&#039;imq pour limiter le trafic entrant:&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Il est impossible de limiter directement le rythme auquel les&amp;lt;br /&amp;gt; # données vous sont envoyées depuis l&#039;Internet. Afin de limiter le&amp;lt;br /&amp;gt; # trafic entrant, on s&#039;appuie sur les mécanismes anti-congestion de&amp;lt;br /&amp;gt; # TCP. Ceci signifie que SEUL LE TRAFIC TCP PEUT SE LIMITER. Le&amp;lt;br /&amp;gt; # trafic hors TCP est placé dans une queue prioritaire car le jeter&amp;lt;br /&amp;gt; # ne conduit vraisemblablement qu&#039;à une retransmission ultérieure&amp;lt;br /&amp;gt; # qui accroît la bande passante consommée.&amp;lt;br /&amp;gt; # On limite le trafic TCP en jetant les paquets lorsqu&#039;ils débordent&amp;lt;br /&amp;gt; # de la file HTB qui les limitera à un certain rythme (RATEDN)&amp;lt;br /&amp;gt; # légèrement inférieur à la capacité réelle de la ligne. Jeter ces&amp;lt;br /&amp;gt; # paquets revient à en singer la perte par la file d&#039;émission du&amp;lt;br /&amp;gt; # côté du FAI. Ceci a l&#039;avantage d&#039;éviter la congestion de la file&amp;lt;br /&amp;gt; # d&#039;émission chez le FAI puisque TCP ralentira avant qu&#039;elle ne&amp;lt;br /&amp;gt; # se remplisse. L&#039;usage d&#039;une stratégie de mise en attente basée sur&amp;lt;br /&amp;gt; # la classification des paquets par priorité permet de ne PAS jeter&amp;lt;br /&amp;gt; # certains types de paquets (ssh, telnet, etc). Les paquets ne sont&amp;lt;br /&amp;gt; # retirés des files d&#039;attente de faible priorité qu&#039;une fois que&amp;lt;br /&amp;gt; # chaque classe a atteint un seuil minimum (1/7 de la bande passante&amp;lt;br /&amp;gt; # dans ce script).&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Résumé:&amp;lt;br /&amp;gt; # * La perte d&#039;un paquet TCP diminue le rythme de réception de la&amp;lt;br /&amp;gt; # connexion associée via les mécanismes de contrôle de congestion.&amp;lt;br /&amp;gt; # * Jeter des paquets TCP n&#039;apporte rien. S&#039;ils sont importants, ils&amp;lt;br /&amp;gt; # seront retransmis.&amp;lt;br /&amp;gt; # * Limiter le rythme des connexions TCP entrantes en dessous de la&amp;lt;br /&amp;gt; # capacité de la ligne DEVRAIT éviter la mise en attente des paquets&amp;lt;br /&amp;gt; # du côté du FAI (DSLAM, concentrateur de cables, etc). L&#039;expérience&amp;lt;br /&amp;gt; # indique que ces files contiennent 4 secondes de trafic à 1500 kbps,&amp;lt;br /&amp;gt; # soit 6 Mb de données. À ce niveau, l&#039;absence de mise en attente&amp;lt;br /&amp;gt; # diminue la latence.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Avertissements:&amp;lt;br /&amp;gt; # * Est-ce que la limitation de bande passante diminue l&#039;efficacité de&amp;lt;br /&amp;gt; # transferts TCP massifs ?&amp;lt;br /&amp;gt; # - Apparemment non. L&#039;augmentation de priorité des paquets&amp;lt;br /&amp;gt; # d&#039;acquittement maximise le débit en évitant de perdre de la bande&amp;lt;br /&amp;gt; # passante à retransmettre des paquets déjà reçus.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # NOTE: La configuration ci-dessous fonctionne avec ma connexion ADSL&amp;lt;br /&amp;gt; # 1.5M/128K via Pacific Bell Internet (SBC Global Services)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; DEV=eth0&amp;lt;br /&amp;gt; RATEUP=90&amp;lt;br /&amp;gt; RATEDN=700 # Nettement inférieur à la capacité de la ligne de 1500.&amp;lt;br /&amp;gt; # On n&#039;a donc pas à limiter le trafic entrant jusqu&#039;à ce&amp;lt;br /&amp;gt; # qu&#039;une meilleure réalisation telle que la modification&amp;lt;br /&amp;gt; # de fenêtre TCP soit disponible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Fin des options de configuration&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; if [ &amp;quot;$1&amp;quot; = &amp;quot;status&amp;quot; ]&amp;lt;br /&amp;gt; then&amp;lt;br /&amp;gt; echo &amp;quot;[qdisc]&amp;quot;&amp;lt;br /&amp;gt; tc -s qdisc show dev $DEV&amp;lt;br /&amp;gt; tc -s qdisc show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[class]&amp;quot;&amp;lt;br /&amp;gt; tc -s class show dev $DEV&amp;lt;br /&amp;gt; tc -s class show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[filter]&amp;quot;&amp;lt;br /&amp;gt; tc -s filter show dev $DEV&amp;lt;br /&amp;gt; tc -s filter show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[iptables]&amp;quot;&amp;lt;br /&amp;gt; iptables -t mangle -L MONLIMITEUR-OUT -v -x 2&amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -L MONLIMITEUR-IN -v -x 2&amp;gt; /dev/null&amp;lt;br /&amp;gt; exit&amp;lt;br /&amp;gt; fi&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Remise à zéro&amp;lt;br /&amp;gt; tc qdisc del dev $DEV root 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; tc qdisc del dev imq0 root 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -D POSTROUTING -o $DEV -j MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -F MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -X MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -D PREROUTING -i $DEV -j MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -F MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -X MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; ip link set imq0 down 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; rmmod imq 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; if [ &amp;quot;$1&amp;quot; = &amp;quot;stop&amp;quot; ]&amp;lt;br /&amp;gt; then&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de débit désactivée sur $DEV.&amp;quot;&amp;lt;br /&amp;gt; exit&amp;lt;br /&amp;gt; fi&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ###########################################################&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Limitation de trafic sortant (limite supérieure à RATEUP)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # positionnement de la taille de la file d&#039;émission pour obtenir&amp;lt;br /&amp;gt; # une latence d&#039;environ 2 secondes pour les paquets de la file&amp;lt;br /&amp;gt; # de faible priorité.&amp;lt;br /&amp;gt; ip link set dev $DEV qlen 30&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # modification de MTU du périphérique sortant.&amp;lt;br /&amp;gt; # - Diminuer la MTU abaisse la latence mais dégrade le débit en raison de&amp;lt;br /&amp;gt; # la surcharge IP et TCP.&amp;lt;br /&amp;gt; ip link set dev $DEV mtu 1000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie HTB&amp;lt;br /&amp;gt; tc qdisc add dev $DEV root handle 1: htb default 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la classe de limitation principale&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1: classid 1:1 htb rate ${RATEUP}kbit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout des classes filles:&amp;lt;br /&amp;gt; # - chaque classe dispose AU MOINS de son quota de bande passante. Aucune&amp;lt;br /&amp;gt; # classe n&#039;est donc étouffée par les autres. Chaque classe peut également&amp;lt;br /&amp;gt; # consommer toute la bande passante si aucune autre classe ne l&#039;emploie.&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 0&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:21 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 1&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:22 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 2&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:23 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 3&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:24 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 4&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:25 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 5&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:26 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 6&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie aux classes filles&amp;lt;br /&amp;gt; # - SFQ offre un traitement sensiblement équitable de chaque classe.&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:23 handle 23: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:24 handle 24: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:25 handle 25: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:26 handle 26: sfq perturb 10&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # répartition du trafic en classe via fwmark&amp;lt;br /&amp;gt; # - le trafic est réparti en classes de priorité suivant l&#039;indicateur&amp;lt;br /&amp;gt; # fwmark des paquets (ceux-ci sont positionnés avec iptables un peu plus&amp;lt;br /&amp;gt; # loin). La classe de priorité par défaut a été mise à 1:26 de telle sorte&amp;lt;br /&amp;gt; # que les paquets qui ne sont pas marqués se retrouvent dans la classe de&amp;lt;br /&amp;gt; # priorité la plus faible.&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 24 fw flowid 1:24&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 25 fw flowid 1:25&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 26 fw flowid 1:26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de MONLIMITEUR-OUT à la table de modification des paquets d&#039;iptables&amp;lt;br /&amp;gt; # - ceci déclare la table employée pour filtrer et classer les paquets&amp;lt;br /&amp;gt; iptables -t mangle -N MONLIMITEUR-OUT&amp;lt;br /&amp;gt; iptables -t mangle -I POSTROUTING -o $DEV -j MONLIMITEUR-OUT&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de fwmark pour classer les différents types de trafic&amp;lt;br /&amp;gt; # - fwmark est positionné de 20 à 26 suivant la classe. 20 correspond à la&amp;lt;br /&amp;gt; # priorité la plus forte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Trafic sur les ports bas&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport 0:1024 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Trafic sur les ports bas&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 0:1024 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Port ftp-data, faible priorité&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 20 -j MARK --set-mark 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Messagerie Immédiate AOL&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 5190 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ICMP (ping) - forte priorité (impressionnez vos amis)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p icmp -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # DNS (petits paquets)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p udp -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport ssh -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport ssh -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport telnet -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport telnet -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # IPSec - la surcharge n&#039;est pas connue ...&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p ipv6-crypt -j MARK --set-mark 24&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Serveur WWW local&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport http -j MARK --set-mark 25&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Petits paquets (des ACK probablement)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp -m length --length :64 -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Répétition - on marque les paquets restants à 26 (faible priorité)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -m mark --mark 0 -j MARK --set-mark 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Fin de la limitation sortante&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; ####################################################&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de trafic sortant activé sur $DEV. Débit: ${RATEUP}kbit/sec.&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Décommenter la ligne suivante pour n&#039;avoir que la limitation de trafic montant.&amp;lt;br /&amp;gt; # exit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; #################################################### #&amp;lt;br /&amp;gt; # Limitation du trafic entrant (débit maximal de RATEDN)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # on force le chargement du module imq&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; modprobe imq numdevs=1&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ip link set imq0 up&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie de mise en file d&#039;attente&amp;lt;br /&amp;gt; # - par défaut une classe 1:21 à faible priorité&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; tc qdisc add dev imq0 handle 1: root htb default 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la classe de limitation principale&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1: classid 1:1 htb rate ${RATEDN}kbit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout des classes filles&amp;lt;br /&amp;gt; # - trafic TCP en 21, le reste en 20&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1:1 classid 1:20 htb rate $[$RATEDN/2]kbit \&amp;lt;br /&amp;gt; ceil ${RATEDN}kbit prio 0&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1:1 classid 1:21 htb rate $[$RATEDN/2]kbit \&amp;lt;br /&amp;gt; ceil ${RATEDN}kbit prio 1&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie de limitation aux classes filles&amp;lt;br /&amp;gt; # - voir les remarques ci-dessus sur SFQ.&amp;lt;br /&amp;gt; tc qdisc add dev imq0 parent 1:20 handle 20: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev imq0 parent 1:21 handle 21: red limit 1000000 \&amp;lt;br /&amp;gt; min 5000 max 100000 avpkt 1000 burst 50&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # répartition du trafic en classe via fwmark&amp;lt;br /&amp;gt; # - le trafic est réparti en classes de priorité suivant l&#039;indicateur&amp;lt;br /&amp;gt; # fwmark des paquets (ceux-ci sont positionnés avec iptables un peu plus&amp;lt;br /&amp;gt; # loin). La classe de priorité par défaut à été mise à 1:26 de telle sorte&amp;lt;br /&amp;gt; # que les paquets qui ne sont pas marqués se retrouvent dans la classe de&amp;lt;br /&amp;gt; # priorité la plus faible.&amp;lt;br /&amp;gt; tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20&amp;lt;br /&amp;gt; tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de MONLIMITEUR-IN à la table de modification des paquets d&#039;iptables&amp;lt;br /&amp;gt; iptables -t mangle -N MONLIMITEUR-IN&amp;lt;br /&amp;gt; iptables -t mangle -I PREROUTING -i $DEV -j MONLIMITEUR-IN&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de fwmark pour classer les différents types de trafic&amp;lt;br /&amp;gt; # - fwmark est positionné de 20 à 21 suivant la classe. 20 correspond à la&amp;lt;br /&amp;gt; # priorité la plus forte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Forte priorité pour les paquets non TCP&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p ! tcp -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Les petits paquets TCP sont probablement des ACK&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp -m length --length :64 -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --dport ssh -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --sport ssh -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --dport telnet -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --sport telnet -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Répétition - les paquets sans marque sont positionnés à 21 (faible priorité)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -m mark --mark 0 -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # on envoie les paquets précédents à l&#039;interface imq0.&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -j IMQ&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Fin de la limitation de trafic entrant.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; ####################################################&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de trafic entrant activée sur $DEV. Débit: ${RATEDN}kbit/sec.&amp;quot; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script de visualisation des files d&#039;attentes ==&lt;br /&gt;
&lt;br /&gt;
Le script suivant visualise les files d&#039;attentes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; #!/bin/bash &amp;lt;br /&amp;gt;echo &#039;Qdisc&#039; &amp;lt;br /&amp;gt;tc -s qdisc show dev eth0 &amp;lt;br /&amp;gt;echo &#039;Classes&#039; &amp;lt;br /&amp;gt;tc -s class show dev eth0 &amp;lt;br /&amp;gt;echo &#039;Filter&#039; &amp;lt;br /&amp;gt;tc -s filter show dev eth0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
J&#039;ai essayé à travers cet article de vous ammener un maximum de renseignements, cependant, je n&#039;ai pas la prétention d&#039;en faire un document référence (il y a l&#039;excellent [http://ftp.traduc.org/doc-vf/HOWTO/lecture/HOWTO/Adv-Routing-HOWTO.html  HOWTO QoS ]pour cela). Toutes les remarques sont les bienvenues, il serait intéressant de faire évoluer ce présent document avec les commentaires que vous y apporterez. Si vous avez des scripts HTB.init, ou CBQ.init perso, n&#039;hesitez pas à me les envoyer, je les rajouterai dans cet article.&lt;br /&gt;
&lt;br /&gt;
Pour me contacter : [mailto:guitarparts@fr.st guitarparts@fr.st]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Julien Lecubin le 25/05/2003.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 25/05/2003, Julien Lecubin&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=QoS_Gestion_de_la_bande_passante_sous_Linux&amp;diff=6569</id>
		<title>QoS Gestion de la bande passante sous Linux</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=QoS_Gestion_de_la_bande_passante_sous_Linux&amp;diff=6569"/>
		<updated>2005-10-12T18:01:53Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Compilation du noyau */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Administration réseau]]&lt;br /&gt;
= QoS/Gestion de la bande passante sous Linux =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;QoS/Gestion de la bande passante sous Linux&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par[mailto:guitarparts@fr.st  julien Lecubin]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Dans cet article, je vais vous expliquer les différentes étapes pour mettre en place la QoS et gérer votre bande passante sous Linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Pourquoi faire de la QoS&amp;lt;/u&amp;gt; ? Retenez que sans la QoS, vous ne pouvez pas gérer correctement les flux qui transitent sur votre réseau. Vous aurez par exemple des problèmes à écouter un flux audio en streaming sachant qu&#039;en même temps, vous êtes en train de faire du ftp. Dans la première partie de cet article, je vais vous montrer &#039;&#039;&#039;comment prioriser les divers flux de votre réseau&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Pourquoi gérer la BP de mon réseau&amp;lt;/u&amp;gt; ? Une personne qui fait du ftp sur une ligne ADSL de bureau peut monopoliser à elle seule toute la bande passante en sortie de votre réseau. Ce cas ne se limite pas aux réseaux ADSL et peut être aussi constaté sur des réseaux à très haut débit (lignes de type T1/T2). Linux peut apporter une solution efficace face à ce genre de problème en vous offrant la &#039;&#039;&#039;possibilité de gérer intelligemment votre bande passante&#039;&#039;&#039;. Ce sera le sujet de la deuxième partie de ce présent document.&lt;br /&gt;
&lt;br /&gt;
Actuellement, sachez que vous pouvez faire de la QoS et de la gestion de bande passante sous les noyaux 2.2 et 2.4. Néamoins, pour une question de facilité, je vous recommande un noyau 2.4 pour effectuer ce qui suit.&lt;br /&gt;
&lt;br /&gt;
== QoS via iptables ==&lt;br /&gt;
&lt;br /&gt;
Pour faire de la QoS, nous allons modifier la valeur du champs TOS se situant dans l&#039;en tête IP grâce à iptables. Le champ TOS est sur 4 bits :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;60%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;HEXA&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;BINAIRE&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;DECIMAL&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;SIGNIFICATION&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 1000&lt;br /&gt;
| 8&lt;br /&gt;
| Minimize Delay&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 0100&lt;br /&gt;
| 4&lt;br /&gt;
| Maximize throughput&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 0010&lt;br /&gt;
| 2&lt;br /&gt;
| Maximize reliability&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 0001&lt;br /&gt;
| 1&lt;br /&gt;
| Minimize monetary cost&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0000&lt;br /&gt;
| &lt;br /&gt;
| Normal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Minimize-Delay&#039;&#039;&#039; : Améliore la réactivité des connexions en réduisant le délai (ssh, telnet, ftp contrôle, tftp, flux DNS UDP)&lt;br /&gt;
* &#039;&#039;&#039;Maximize-Throughput &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;: Améliore le débit au prix d&#039;une possible détérioration de l&#039;interactivité de la session. Les temps de latence ne sont pas importants (ftp-data,www, transfert de zone DNS)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Maximum-Reliability &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;: Certitude que les données arrivent sans perte - Améliore la fiabilité (snmp, smtp)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Minimize monetary cost&#039;&#039;&#039; : minimise le délai, meilleure rentabilité (nntp, icmp)&lt;br /&gt;
&lt;br /&gt;
L&#039;intérêt de la QoS sous Linux est très souvent associé à la priorisation de flux interactifs via iptables. Par exemple, vous ne souhaitez pas que votre session ssh soit interrompue à cause d&#039;un utilisateur qui est en train de monopoliser la bande passante de votre réseau en downloadant une bande annonce sur internet (Il s&#039;agit d&#039;un cas de figure bien plus répandu qu&#039;on ne le pense !). Nous allons ici à titre d&#039;exemple optimiser les trafics courants avec iptables, à savoir le ftp et ssh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; # Priorisation des connexions ftp et ssh &amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ssh -j TOS --set-tos Minimize-Delay&amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ftp -j TOS --set-tos Minimize-Delay&amp;lt;br /&amp;gt; # On donne un maximum de débit aux transferts ftp, peu importe la latence &amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput&amp;lt;br /&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A vous d&#039;adapter ce script suivant les services de votre réseau que vous souhaitez prioriser.&lt;br /&gt;
&lt;br /&gt;
== Gestion de la bande passante sous Linux ==&lt;br /&gt;
&lt;br /&gt;
Nous abordons la deuxième partie du document. Linux utilise deux unités du contrôle de trafic pour la gestion de la bande passante :&lt;br /&gt;
&lt;br /&gt;
* Les filtres qui placent le trafic dans les files d&#039;attentes (fwmark, u32)&lt;br /&gt;
* Les files d&#039;attentes qui décident des flux prioritaires (CBQ, HTB, RED, TBF, SFQ...)&lt;br /&gt;
&lt;br /&gt;
Gardez en vue que le protocole TCP/IP n&#039;a pas d&#039;aptitude à connaître les performances d&#039;un réseau. Il commence à envoyer des paquets, de plus en plus rapidement et quand des paquets commencent à se perdre, il ralentit. La plupart des files d&#039;attentes fonctionnent selon le modèle suivant : elles recoivent des paquets, les positionnent en file d&#039;attente jusqu&#039;à un certain point, et ensuite, éliminent tout paquet qui arrive dans le cas où la file d&#039;attente est pleine. Si on travaille en UDP, les paquets ne sont plus retransmis, si c&#039;est du TCP, l&#039;émetteur renverra les paquets perdus. Le débit s&#039;en trouve alors ralenti.&lt;br /&gt;
&lt;br /&gt;
=== Compilation du noyau ===&lt;br /&gt;
&lt;br /&gt;
Nous allons compiler le noyau afin que celui-ci sache gérer notre BP ( = Bande Passante). Si vous avez une distribution récente, il se peut que vous n&#039;ayez pas besoin de le compiler. Lancez un &amp;quot;make xconfig&amp;quot; sous le X dans le répertoire /usr/src/linux. Si cela ne marche pas, installez les sources du noyau (le rpm est du type kernel-src-*.rpm)&lt;br /&gt;
&lt;br /&gt;
==== Les options ====&lt;br /&gt;
&lt;br /&gt;
Dans la partie &amp;quot;Networking Options&amp;quot; -&amp;gt; &amp;quot;QoS and fair queuing&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Option Noyau&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Sélection à la Compilation&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Définition&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| QoS &amp;amp; fair queuing&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Netfilter&lt;br /&gt;
| module&lt;br /&gt;
| Network Packet Filtering&lt;br /&gt;
|-&lt;br /&gt;
| CBQ packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Classed Based Queue) - file d&#039;attente basée sur des classes. C&#039;est ce type de file d&#039;attente qui sera implémentée dans la suite du présent document&lt;br /&gt;
|-&lt;br /&gt;
| HTB packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Hierarchical Token buckets) implémenté dans la suite du présent document - Si vous ne l&#039;avez pas, j&#039;explique plus bas comment avoir cette file d&#039;attente en patchant votre noyau&lt;br /&gt;
|-&lt;br /&gt;
| CSZ packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Clark-Shenker-Zhang) - Les flux ne sont pas limités à leur bande passante. Fournit un service garanti&lt;br /&gt;
|-&lt;br /&gt;
| The simplest PRIO pseudoscheduler&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RED queue&lt;br /&gt;
| module&lt;br /&gt;
| (Random Early Detect) - Anticipe les problèmes de congestion. RED élimine les paquets pour indiquer à TCP/IP de ralentir - Pour de gros débits&lt;br /&gt;
|-&lt;br /&gt;
| SFQ queue&lt;br /&gt;
| module&lt;br /&gt;
| (Stochastic Fair Queuing) - Limitation basée sur le taux de transfert utilisé - Consomme peu de CPU/Mem. Rapide, peu précis. Efficace sur de gros débits - Offre un traitement sensiblement équitable de chaque classe&lt;br /&gt;
|-&lt;br /&gt;
| TBF queue&lt;br /&gt;
| module&lt;br /&gt;
| Consomme peu de CPU. Limitation basée sur le taux de transfert à utiliser - Non basé sur les classes&lt;br /&gt;
|-&lt;br /&gt;
| Ingress QDisc&lt;br /&gt;
| module&lt;br /&gt;
| (Queuing discipline) - Indispensable lorsque l&#039;on souhaite utiliser les files d&#039;attente&lt;br /&gt;
|-&lt;br /&gt;
| QoS support&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Rate estimator&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Packet classifier API&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| TC Index classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Routing table based classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Firewall based classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| U32 classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Special RSVP classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Special RSVP classifier for IPv6&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les files d&#039;attentes les plus importantes sont &#039;&#039;&#039;CBQ&#039;&#039;&#039; et &#039;&#039;&#039;HTB&#039;&#039;&#039; (la suite du document se base sur ces deux files d&#039;attente). Vous n&#039;êtes pas obligés de mettre en module les autres files d&#039;attentes (CSZ, RED, SFQ, TBF, TEQL), cependant, cela reste toujours intéressant de les laisser en tant que module au cas où vous en auriez besoin plus tard.&lt;br /&gt;
&lt;br /&gt;
==== Terminer la compilation ====&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau par :&lt;br /&gt;
&lt;br /&gt;
* make dep&lt;br /&gt;
* make clean &lt;br /&gt;
* make bzImage &lt;br /&gt;
* make modules&lt;br /&gt;
* make modules_install&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
&lt;br /&gt;
Allez prendre un café&amp;lt;br /&amp;gt; Toujours pas fini ? Retournez prendre un café... :)&amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz&amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/System.map /boot&lt;br /&gt;
&lt;br /&gt;
Modifiez /etc/lilo.conf pour prendre en compte le nouveau noyau et lancez la commande &amp;quot;lilo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Assurez-vous enfin que votre station Linux comporte la commande &amp;quot;tc&amp;quot; (un &amp;quot;which tc&amp;quot; vous permettra de voir si &amp;quot;tc&amp;quot; est installé). Si vous ne l&#039;avez pas, elle fait partie du package iproute2 (les sources sont [http://www.tux.org/pub/net/ip-routing/ ici] et le rpm peut être téléchargé [http://www.rpmfind.net là])&lt;br /&gt;
&lt;br /&gt;
Désormais, votre noyau linux implémente la gestion de bande passante. Il ne reste plus qu&#039;à écrire un script propre à votre config, ce qui est décrit dans la suite du document.&lt;br /&gt;
&lt;br /&gt;
=== Scripts de gestion de bande passante CBQ.init, HTB.init et wshaper.htb ===&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez partager votre bande passante sans trop vous compliquer la vie, sachez que des scripts on été créés afin d&#039;optimiser votre bande passante. Dans la suite du document, je vais vous expliquer comment les mettre en place. Lisez bien la définition de chacun de ces scripts, de manière à définir celui qui vous convient le mieux.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;CBQ.init&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente CBQ&lt;br /&gt;
&lt;br /&gt;
* convient à de petits débits&lt;br /&gt;
* nécessite de connaître la taille moyenne des paquets et la vitesse maximale de la connexion&lt;br /&gt;
* utilise le temps d&#039;inactivité de la connexion pour calculer une approximation du débit utilisé.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;HTB.init&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente HTB&lt;br /&gt;
&lt;br /&gt;
* convient à des gros débits &lt;br /&gt;
* consomme peu de ressources &lt;br /&gt;
* ne fait pas d&#039;approximation en ce qui concerne le calcul du débit &lt;br /&gt;
* nécessite de connaitre le débit maximal de votre connexion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Wondershaper&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente HTB&lt;br /&gt;
&lt;br /&gt;
* maintient une bonne réactivité pour le traffic interactif (ssh, telnet...) &lt;br /&gt;
* surfer sans souci lors de gros downloads&lt;br /&gt;
* s&#039;assure que l&#039;upload ne défavorise pas le download et inversement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Sachez que souvent, on préconise l&#039;utilisation de files d&#039;attentes de type HTB plutot que CBQ. Cependant, si votre distribution n&#039;est pas très récente, il y aura pas mal de choses à réaliser pour implémenter les files d&#039;attentes HTB sur votre station (j&#039;explique neanmoins la démarche à suivre si vous êtes dans ce cas).&lt;br /&gt;
&lt;br /&gt;
==== CBQ.init ====&lt;br /&gt;
&lt;br /&gt;
Récupérez le script à l&#039;adresse suivante :&lt;br /&gt;
&lt;br /&gt;
https://sourceforge.net/projects/cbqinit&lt;br /&gt;
&lt;br /&gt;
Faites un &amp;quot;chmod u+x CBQ.init*&amp;quot; afin de le rendre executable.&amp;lt;br /&amp;gt; Copiez le script dans le répertoire /usr/bin : &amp;quot;cp CBQ.init-[VERSION] /usr/bin&amp;quot;&amp;lt;br /&amp;gt; Créez le répertoire /etc/sysconfig/cbq qui contiendra les options de gestion de BP sur lequelles se basera le script : &amp;quot;mkdir /etc/sysconfig/cbq&amp;quot; - Si vous souhaitez placer vos fichiers de configurations CBQ ailleurs, modifiez la variable $CBQ_PATH dans le script CBQ.init afin de renseigner le nouveau chemin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemples de fichiers de configurations pour le script CBQ.init&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Les fichiers de configuration doivent respecter une syntaxe précise de type &#039;&#039;&#039;cbq-CLASS_ID.name&#039;&#039;&#039; où CLASS_ID est compris en hexa entre 0002 et FFFF (pour en savoir plus, editez le script, c&#039;est expliqué en détail).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 1&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_first_shaper&#039;&#039;&#039; - vous avez 2 interfaces (eth0=LAN et eth1=INTERNET) sur votre machine et souhaitez limiter le trafic INTERNET -&amp;gt; LAN à 16 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; debit max de votre interface eth0&amp;lt;br /&amp;gt; RATE=128Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=10Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 etant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un traffic spécifique)&amp;lt;br /&amp;gt; RULE=192.168.1.0/24&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 2&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_second_shaper&#039;&#039;&#039; - vous avez 1 interface sur votre machine (eth0-192.168.1.5) et souhaitez limiter le trafic MACHINE -&amp;gt; INTERNET à 16 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # La limite du traffic s&#039;effectue sur l&#039;interface 10 Mbits/s eth0&amp;lt;br /&amp;gt; RATE=128Kbit&amp;lt;br /&amp;gt; WEIGHT=10Kbit&amp;lt;br /&amp;gt; PRIO=5&amp;lt;br /&amp;gt; RULE=192.168.1.5, # Attention à la &#039;,&#039; cela permet de specifier qu&#039;il s&#039;agit d&#039;une d&#039;adresses source ! Ici, la limitation de BP s&#039;applique uniquement à la machine 192.168.1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 3&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_third_shaper&#039;&#039;&#039; - vous souhaitez limiter le traffic de votre serveur web (192.168.1.50) à 8 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; debit max de l&#039;interface de votre serveur web&amp;lt;br /&amp;gt; RATE=64Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=6Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 etant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un traffic spécifique)&amp;lt;br /&amp;gt; RULE=192.128.1.50:80,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 4&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_fourth_shaper&#039;&#039;&#039; - vous souhaitez limiter le traffic des gens qui download sur votre serveur ftp (192.168.1.50) à 10 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; debit max de l&#039;interface de votre serveur ftp&amp;lt;br /&amp;gt; RATE=80Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=8Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 etant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un traffic spécifique)&amp;lt;br /&amp;gt; RULE=192.128.1.50:20/0xfffe # limitation de BP appliquée sur port 20/21&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 5&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_fifth_shaper&#039;&#039;&#039; - vous souhaitez que le traffic LAN -&amp;gt; INTERNET soit limité à 50 Ko/s (400 Kbits/s), et que le traffic INTERNET -&amp;gt; LAN soit limité à 10Ko/s (80 Kbits/s), remplissez CBQ.init de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; LAN ----- eth0 [LINUX] eth1 ----- INTERNET&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt; ######################## {{ LAN -&amp;gt; INTERNET }} #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;DEVICE=eth1,10Mbit,1Mbit &amp;lt;br /&amp;gt;RATE=400Kbit &amp;lt;br /&amp;gt;WEIGHT=40Kbit # WEIGHT = RATE / 10 &amp;lt;br /&amp;gt;PRIO=5 &amp;lt;br /&amp;gt;BOUNDED=yes # Pour ne pas aller prendre de la BP aux classes parents &amp;lt;br /&amp;gt;ISOLATED=NO # Permet de léguer de la BP aux classes filles si il en reste &amp;lt;br /&amp;gt;RULE=192.168.0.0/24 # Le partage de BP concerne le traffic a destination du reseau 192.168.0.0 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;############################################################ ############ &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt; ######################## {{ INTERNET -&amp;gt; LAN }} #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;DEVICE=eth0,100Mbit,10Mbit # &amp;lt;br /&amp;gt;RATE=80Kbit # On souhaite limiter le traffic entrant à 10 Ko/s (adaptez selon le debit de votre ligne) &amp;lt;br /&amp;gt;WEIGHT=8Kbit # WEIGHT = RATE / 10 &amp;lt;br /&amp;gt;PRIO=5 &amp;lt;br /&amp;gt;BOUNDED=yes &amp;lt;br /&amp;gt;ISOLATED=NO &amp;lt;br /&amp;gt;RULE=80,192.168.1.10 # Tout le traffic HTTP INTERNET -&amp;gt; 192.168.1.10 limité à 10 Ko/s &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#################################### #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à lancer le script CBQ.init à chaque démarrage ; pour cela éditez le /etc/rc.d/rc.local et ajoutez la ligne &amp;quot;CBQ.init-[version] start&amp;quot; où [version] désigne la version de votre script CBQ.&amp;lt;br /&amp;gt; Si vous souhaitez obtenir des statistiques CBQ, lancez la commande &amp;quot;CBQ.init-[VERSION] stats&amp;quot;. Le script vous sortira des informations qui peuvent s&#039;avérer utile.&lt;br /&gt;
&lt;br /&gt;
Voilà, vous êtes désormais un gourou des files d&#039;attentes CBQ :). Passons maintenant à la gestion de la BP avec file d&#039;attentes HTB.&lt;br /&gt;
&lt;br /&gt;
==== HTB.init ====&lt;br /&gt;
&lt;br /&gt;
Récupérez le script HTB.init à l&#039;adresse suivante :[http://sourceforge.net/projects/htbinit  http://sourceforge.net/projects/htbinit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes pour noyau &amp;lt; 2.4.18-3&#039;&#039;&#039; : pour utiliser des files d&#039;attentes HTB, sachez que vous devez patcher votre noyau si il est inférieur à la version 2.4.18-3 (tapez &amp;quot;uname -a&amp;quot; pour vérifier la version de votre distribution) : &amp;lt;br /&amp;gt;[http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.4.17.diff   http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.4.17.diff] pour les noyaux 2.4&amp;lt;br /&amp;gt;[http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.2.17.diff  http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.2.17.diff] pour les noyaux 2.2&lt;br /&gt;
&lt;br /&gt;
Pour appliquer le patch lancez la commande suivante dans le répertoire /usr/src/linux : &amp;quot;patch -pl -i htb2_2.4.17.diff&amp;quot; &amp;lt;br /&amp;gt; Dans /usr/src/linux tapez : &amp;quot;make xconfig&amp;quot;&amp;lt;br /&amp;gt; Dans la partie &amp;quot;Networking Options&amp;quot; -&amp;gt; &amp;quot;QoS and fair Queuing&amp;quot;, selectionnez HTB packet scheduler en module&amp;lt;br /&amp;gt; Recompilez le noyau : &amp;quot;make dep &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make bzImage &amp;amp;&amp;amp; make modules &amp;amp;&amp;amp; make modules_install&amp;quot;&amp;lt;br /&amp;gt; Mettez en place le nouveau noyau qui prend en charge HTB :&lt;br /&gt;
&lt;br /&gt;
cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz &amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/System.map /boot&lt;br /&gt;
&lt;br /&gt;
Vous devez aussi mettre à jour la commande &amp;quot;tc&amp;quot; : http://luxik.cdi.cz/~devik/qos/htb/v2/tc.gz&lt;br /&gt;
&lt;br /&gt;
Faites un &amp;quot;chmod u+x HTB.init-[VERSION]&amp;quot; afin de le rendre executable. &amp;lt;br /&amp;gt;Copiez le script dans le répertoire /usr/bin : &amp;quot;cp HTB.init-[VERSION] /usr/bin&amp;quot; &amp;lt;br /&amp;gt;Créez le répertoire /etc/sysconfig/htb qui contiendra les fichiers de gestion de BP sur lequelles se basera le script : &amp;quot;mkdir /etc/sysconfig/htb&amp;quot; - Si vous souhaitez placer vos fichiers de configurations HTB ailleurs, modifiez la variable $HTB_PATH dans le script HTB.init afin de renseigner le nouveau chemin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemples de fichiers de configurations HTB.init&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Il n&#039;existe pas un mais plusieurs fichiers de configurations pour HTB.init. Les fichiers doivent obligatoirement avoir une syntaxe précise. Par exemple :&lt;br /&gt;
&lt;br /&gt;
eth0-2 -&amp;gt; classe root ID 2, device eth0 &amp;lt;br /&amp;gt;eth0-2:3 -&amp;gt; classe fille ID 3, ayant comme parent 2, device eth0 &amp;lt;br /&amp;gt;eth0-2:3:4 -&amp;gt; classe fille ID 4, ayant comme parent 3, device eth0 &amp;lt;br /&amp;gt;eth1-2.root -&amp;gt; classe root ID 2, device eth1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Une autre notation en cas d&#039;erreur lors de la creation de ce type de fichiers : eth0-2\:3 -&amp;gt; Vous placez un &amp;quot;\&amp;quot; avant le &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Cela peut paraître un peu confu comme syntaxe, cependant, je vais vous donner des exemples. Editez le script si vous souhaitez néanmoins en savoir plus à ce sujet. &amp;lt;br /&amp;gt;Avec ce type de files d&#039;attentes, &#039;&#039;&#039;vous ne pouvez realiser un contrôle de flux qu&#039;en sortie de vos interfaces réseaux&#039;&#039;&#039;. Dans le cas d&#039;une station qui fait du routage, configurez les débits sur les sorties des deux interfaces (voir exemple 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 1&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Imaginons que vous ayez une bande passante sur votre station de 5 Mbits/s (~600Ko/s). Vous souhaitez :&lt;br /&gt;
&lt;br /&gt;
5Mbits/s pour le HTTP, &amp;lt;br /&amp;gt;3Mbits/s pour le SMTP &amp;lt;br /&amp;gt;1Kbit/s pour le traffic divers (qui vous importent peu) &amp;lt;br /&amp;gt;Dans le cas où il y a de la bande passante de libre, vous souhaitez la partager entre le SMTP et traffics divers. &amp;lt;br /&amp;gt;SMTP pourra utiliser tout le temps au moins 3Mbits/s et pourra monter jusqu&#039;à 5 Mbits/s si il y a de la BP de libre. &amp;lt;br /&amp;gt;Le traffic divers pourra utiliser tout le temps au moins 1Kbit/s et pourra monter jusqu&#039;à 5Mbits/s si il y a de la BP de libre.&lt;br /&gt;
&lt;br /&gt;
Allez dans le répertoire /etc/sysconfig/htb ($HTB_PATH) et placez-y les lignes suivantes pour chaque fichier :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;fichier &#039;&#039;&#039;eth0&#039;&#039;&#039;&amp;lt;br /&amp;gt;DEFAULT=30 # ID class default - Le traffic non répertorié utilisera la class ID 30&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2.root&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=5Mbit # Bande passante allouée a la classe root (ici 5Mbits) &amp;lt;br /&amp;gt;BURST=15k&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:10.www&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=5Mbit &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq # Type de file d&#039;attente utilisée par cette classe (ici sfq) &amp;lt;br /&amp;gt;RULE=*:80, # Voir les exemples du script CBQ.init - La syntaxe &amp;quot;RULE&amp;quot; est identique&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:20.smtp&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=3Mbit &amp;lt;br /&amp;gt;CEIL=5Mbit # La bande passante max de cette classe peut aller jusqu&#039;a 5 Mbits/s uniquement si il y a de la BP de libre. &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;RULE=*:25&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:30.dfl&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=1Kbit &amp;lt;br /&amp;gt;CEIL=5Mbit &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 2&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
On traite ici le cas d&#039;une personne ayant une connexion ADSL de type 512/128. Sa connexion se fait via une machine-routeur possédant deux interfaces (eth0 et eth1). Elle souhaite limiter l&#039;upload à 90 Kbits/s (11,3 Ko/s) et donner la priorité aux services HTTP, SSH, TELNET, POP3, SMTP et DNS. Une priorité plus petite sera attribuée à tout autre traffic. Côté, download on garde la même idée, cependant, la limite sera fixée à 450 Kbits/s (57 Ko/s).&lt;br /&gt;
&lt;br /&gt;
Allez dans le répertoire /etc/sysconfig/htb ($HTB_PATH) et placez-y les lignes suivantes pour chaque fichier :&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1&#039;&#039;&#039; (Tous fichier de type &#039;&#039;&#039;eth1*&#039;&#039;&#039; -&amp;gt; traffic sortant de l&#039;interface eth1) &amp;lt;br /&amp;gt;DEFAULT=30 &amp;lt;br /&amp;gt;R2Q=1&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2.root&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#Classe root pour traffic sortant &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=90Kbit&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:10.high&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant de haute priorité &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#HTTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:80 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SSH &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:22 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#TELNET &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:23 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SMTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:25 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#DNS &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:53 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#POP3 &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:110&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:20.normal&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant normal &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#IRC &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:6667&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:30.low&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant peu important &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=20Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#EMULE &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:3000 &amp;lt;br /&amp;gt;RULE=*:3000, &amp;lt;br /&amp;gt;RULE=*:3010 &amp;lt;br /&amp;gt;RULE=*:3010, &amp;lt;br /&amp;gt;RULE=*:4662 RULE=*:4662,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0&#039;&#039;&#039; (Tous fichier de type &#039;&#039;&#039;eth0*&#039;&#039;&#039; -&amp;gt; traffic sortant de l&#039;interface eth0) &amp;lt;br /&amp;gt;DEFAULT=30 &amp;lt;br /&amp;gt;R2Q=10&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:10.high&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant de haute priorité &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=150 Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#HTTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:80, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SSH &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:22, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#TELNET &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:23, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SMTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:25, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#DNS &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:53, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#POP3 &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:110,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:20.normal&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant normal &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#IRC &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:6667,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:30.low&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant peu important &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=150Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#EMULE &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:3000, &amp;lt;br /&amp;gt;RULE=*:3010, &amp;lt;br /&amp;gt;RULE=*:4662, &amp;lt;br /&amp;gt;RULE=*:3000 &amp;lt;br /&amp;gt;RULE=*:3010 &amp;lt;br /&amp;gt;RULE=*:4662 &amp;lt;br /&amp;gt;RULE=*:4662 &amp;lt;br /&amp;gt;RULE=*:4662,&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à lancer le script HTB.init à chaque démarrage ; pour cela éditez le /etc/rc.d/rc.local et ajoutez la ligne &amp;quot;HTB.init-[version] start&amp;quot; où [VERSION] désigne la version de votre script HTB. &amp;lt;br /&amp;gt;Si vous souhaitez obtenir des statistiques HTB, lancez la commande &amp;quot;HTB.init-[VERSION] stats&amp;quot;. Le script vous sortira des informations qui peuvent s&#039;avérer utile.&lt;br /&gt;
&lt;br /&gt;
==== wondershaper ====&lt;br /&gt;
&lt;br /&gt;
Récupérez wondershaper à l&#039;adresse suivante :&lt;br /&gt;
&lt;br /&gt;
[http://lartc.org/wondershaper  http://lartc.org/wondershaper]&lt;br /&gt;
&lt;br /&gt;
Editez le script wshaper et indiquez les débits ; par exemple pour une ligne ADSL 512/128 :&lt;br /&gt;
&lt;br /&gt;
DOWNLINK= 500 &amp;lt;br /&amp;gt;UPLINK= 100 &amp;lt;br /&amp;gt;DEV=ppp0&lt;br /&gt;
&lt;br /&gt;
Désormais, votre machine avec ce script :&lt;br /&gt;
&lt;br /&gt;
* maintient une bonne réactivité pour le traffic interactif (ssh, telnet...) &lt;br /&gt;
* vous pouvez surfer sans soucis lors de gros downloads &lt;br /&gt;
* l&#039;upload ne défavorise pas le download et inversement. &lt;br /&gt;
&lt;br /&gt;
J&#039;ai trouvé sur internet un script dérivé de Wondershaper, il peut s&#039;avérer intéressant de le mettre en oeuvre si vous avez une connexion de type ADSL. En revanche, ce script fait appel à de nombreuses files d&#039;attentes : CBQ, RED, IMQ, HTB et SFQ (Assurez-vous au préalable que votre noyau les prend toutes en compte).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; #!/bin/bash&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # mon_limiteur - Limiteur et classificateur de trafic pour modem Cable ou ADSL.&amp;lt;br /&amp;gt; # Inspiré de WonderShaper (www.lartc.org)&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Écrit par Dan Singletary (7/8/02)&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Remarque - ce script suppose que le noyau a été patché avec les files&amp;lt;br /&amp;gt; # HTB et IMQ disponibles ici (les noyaux à venir ne demanderont&amp;lt;br /&amp;gt; # pas forcément l&#039;application d&#039;un correctif):&amp;lt;br /&amp;gt; # http://luxik.cdi.cz/~devik/qos/htb/&amp;lt;br /&amp;gt; # http://luxik.cdi.cz/~patrick/imq/&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Options de configuration pour mon_limiteur:&amp;lt;br /&amp;gt; # DEV - correspond au périphérique ethX connecté au modem&amp;lt;br /&amp;gt; # RATEUP - à positionner à une valeur inférieure à la bande&amp;lt;br /&amp;gt; # passante montante de la ligne.&amp;lt;br /&amp;gt; # Pour ma ligne ADSL en 1500/128, RATEUP=90 convient au rythme&amp;lt;br /&amp;gt; # montant de 128 kbps. À vous d&#039;ajuster.&amp;lt;br /&amp;gt; # RATEDN - à positionner en dessous de la bande passante descendante de&amp;lt;br /&amp;gt; # la ligne.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Principe d&#039;utilisation d&#039;imq pour limiter le trafic entrant:&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Il est impossible de limiter directement le rythme auquel les&amp;lt;br /&amp;gt; # données vous sont envoyées depuis l&#039;Internet. Afin de limiter le&amp;lt;br /&amp;gt; # trafic entrant, on s&#039;appuie sur les mécanismes anti-congestion de&amp;lt;br /&amp;gt; # TCP. Ceci signifie que SEUL LE TRAFIC TCP PEUT SE LIMITER. Le&amp;lt;br /&amp;gt; # trafic hors TCP est placé dans une queue prioritaire car le jeter&amp;lt;br /&amp;gt; # ne conduit vraisemblablement qu&#039;à une retransmission ultérieure&amp;lt;br /&amp;gt; # qui accroît la bande passante consommée.&amp;lt;br /&amp;gt; # On limite le trafic TCP en jetant les paquets lorsqu&#039;ils débordent&amp;lt;br /&amp;gt; # de la file HTB qui les limitera à un certain rythme (RATEDN)&amp;lt;br /&amp;gt; # légèrement inférieur à la capacité réelle de la ligne. Jeter ces&amp;lt;br /&amp;gt; # paquets revient à en singer la perte par la file d&#039;émission du&amp;lt;br /&amp;gt; # côté du FAI. Ceci a l&#039;avantage d&#039;éviter la congestion de la file&amp;lt;br /&amp;gt; # d&#039;émission chez le FAI puisque TCP ralentira avant qu&#039;elle ne&amp;lt;br /&amp;gt; # se remplisse. L&#039;usage d&#039;une stratégie de mise en attente basée sur&amp;lt;br /&amp;gt; # la classification des paquets par priorité permet de ne PAS jeter&amp;lt;br /&amp;gt; # certains types de paquets (ssh, telnet, etc). Les paquets ne sont&amp;lt;br /&amp;gt; # retirés des files d&#039;attente de faible priorité qu&#039;une fois que&amp;lt;br /&amp;gt; # chaque classe a atteint un seuil minimum (1/7 de la bande passante&amp;lt;br /&amp;gt; # dans ce script).&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Résumé:&amp;lt;br /&amp;gt; # * La perte d&#039;un paquet TCP diminue le rythme de réception de la&amp;lt;br /&amp;gt; # connexion associée via les mécanismes de contrôle de congestion.&amp;lt;br /&amp;gt; # * Jeter des paquets TCP n&#039;apporte rien. S&#039;ils sont importants, ils&amp;lt;br /&amp;gt; # seront retransmis.&amp;lt;br /&amp;gt; # * Limiter le rythme des connexions TCP entrantes en dessous de la&amp;lt;br /&amp;gt; # capacité de la ligne DEVRAIT éviter la mise en attente des paquets&amp;lt;br /&amp;gt; # du côté du FAI (DSLAM, concentrateur de cables, etc). L&#039;expérience&amp;lt;br /&amp;gt; # indique que ces files contiennent 4 secondes de trafic à 1500 kbps,&amp;lt;br /&amp;gt; # soit 6 Mb de données. À ce niveau, l&#039;absence de mise en attente&amp;lt;br /&amp;gt; # diminue la latence.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Avertissements:&amp;lt;br /&amp;gt; # * Est-ce que la limitation de bande passante diminue l&#039;efficacité de&amp;lt;br /&amp;gt; # transferts TCP massifs ?&amp;lt;br /&amp;gt; # - Apparemment non. L&#039;augmentation de priorité des paquets&amp;lt;br /&amp;gt; # d&#039;acquittement maximise le débit en évitant de perdre de la bande&amp;lt;br /&amp;gt; # passante à retransmettre des paquets déjà reçus.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # NOTE: La configuration ci-dessous fonctionne avec ma connexion ADSL&amp;lt;br /&amp;gt; # 1.5M/128K via Pacific Bell Internet (SBC Global Services)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; DEV=eth0&amp;lt;br /&amp;gt; RATEUP=90&amp;lt;br /&amp;gt; RATEDN=700 # Nettement inférieur à la capacité de la ligne de 1500.&amp;lt;br /&amp;gt; # On n&#039;a donc pas à limiter le trafic entrant jusqu&#039;à ce&amp;lt;br /&amp;gt; # qu&#039;une meilleure réalisation telle que la modification&amp;lt;br /&amp;gt; # de fenêtre TCP soit disponible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Fin des options de configuration&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; if [ &amp;quot;$1&amp;quot; = &amp;quot;status&amp;quot; ]&amp;lt;br /&amp;gt; then&amp;lt;br /&amp;gt; echo &amp;quot;[qdisc]&amp;quot;&amp;lt;br /&amp;gt; tc -s qdisc show dev $DEV&amp;lt;br /&amp;gt; tc -s qdisc show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[class]&amp;quot;&amp;lt;br /&amp;gt; tc -s class show dev $DEV&amp;lt;br /&amp;gt; tc -s class show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[filter]&amp;quot;&amp;lt;br /&amp;gt; tc -s filter show dev $DEV&amp;lt;br /&amp;gt; tc -s filter show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[iptables]&amp;quot;&amp;lt;br /&amp;gt; iptables -t mangle -L MONLIMITEUR-OUT -v -x 2&amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -L MONLIMITEUR-IN -v -x 2&amp;gt; /dev/null&amp;lt;br /&amp;gt; exit&amp;lt;br /&amp;gt; fi&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Remise à zéro&amp;lt;br /&amp;gt; tc qdisc del dev $DEV root 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; tc qdisc del dev imq0 root 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -D POSTROUTING -o $DEV -j MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -F MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -X MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -D PREROUTING -i $DEV -j MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -F MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -X MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; ip link set imq0 down 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; rmmod imq 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; if [ &amp;quot;$1&amp;quot; = &amp;quot;stop&amp;quot; ]&amp;lt;br /&amp;gt; then&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de débit désactivée sur $DEV.&amp;quot;&amp;lt;br /&amp;gt; exit&amp;lt;br /&amp;gt; fi&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ###########################################################&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Limitation de trafic sortant (limite supérieure à RATEUP)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # positionnement de la taille de la file d&#039;émission pour obtenir&amp;lt;br /&amp;gt; # une latence d&#039;environ 2 secondes pour les paquets de la file&amp;lt;br /&amp;gt; # de faible priorité.&amp;lt;br /&amp;gt; ip link set dev $DEV qlen 30&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # modification de MTU du périphérique sortant.&amp;lt;br /&amp;gt; # - Diminuer la MTU abaisse la latence mais dégrade le débit en raison de&amp;lt;br /&amp;gt; # la surcharge IP et TCP.&amp;lt;br /&amp;gt; ip link set dev $DEV mtu 1000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie HTB&amp;lt;br /&amp;gt; tc qdisc add dev $DEV root handle 1: htb default 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la classe de limitation principale&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1: classid 1:1 htb rate ${RATEUP}kbit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout des classes filles:&amp;lt;br /&amp;gt; # - chaque classe dispose AU MOINS de son quota de bande passante. Aucune&amp;lt;br /&amp;gt; # classe n&#039;est donc étouffée par les autres. Chaque classe peut également&amp;lt;br /&amp;gt; # consommer toute la bande passante si aucune autre classe ne l&#039;emploie.&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 0&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:21 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 1&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:22 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 2&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:23 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 3&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:24 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 4&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:25 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 5&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:26 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 6&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie aux classes filles&amp;lt;br /&amp;gt; # - SFQ offre un traitement sensiblement équitable de chaque classe.&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:23 handle 23: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:24 handle 24: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:25 handle 25: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:26 handle 26: sfq perturb 10&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # répartition du trafic en classe via fwmark&amp;lt;br /&amp;gt; # - le trafic est réparti en classes de priorité suivant l&#039;indicateur&amp;lt;br /&amp;gt; # fwmark des paquets (ceux-ci sont positionnés avec iptables un peu plus&amp;lt;br /&amp;gt; # loin). La classe de priorité par défaut a été mise à 1:26 de telle sorte&amp;lt;br /&amp;gt; # que les paquets qui ne sont pas marqués se retrouvent dans la classe de&amp;lt;br /&amp;gt; # priorité la plus faible.&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 24 fw flowid 1:24&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 25 fw flowid 1:25&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 26 fw flowid 1:26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de MONLIMITEUR-OUT à la table de modification des paquets d&#039;iptables&amp;lt;br /&amp;gt; # - ceci déclare la table employée pour filtrer et classer les paquets&amp;lt;br /&amp;gt; iptables -t mangle -N MONLIMITEUR-OUT&amp;lt;br /&amp;gt; iptables -t mangle -I POSTROUTING -o $DEV -j MONLIMITEUR-OUT&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de fwmark pour classer les différents types de trafic&amp;lt;br /&amp;gt; # - fwmark est positionné de 20 à 26 suivant la classe. 20 correspond à la&amp;lt;br /&amp;gt; # priorité la plus forte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Trafic sur les ports bas&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport 0:1024 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Trafic sur les ports bas&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 0:1024 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Port ftp-data, faible priorité&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 20 -j MARK --set-mark 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Messagerie Immédiate AOL&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 5190 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ICMP (ping) - forte priorité (impressionnez vos amis)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p icmp -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # DNS (petits paquets)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p udp -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport ssh -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport ssh -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport telnet -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport telnet -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # IPSec - la surcharge n&#039;est pas connue ...&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p ipv6-crypt -j MARK --set-mark 24&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Serveur WWW local&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport http -j MARK --set-mark 25&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Petits paquets (des ACK probablement)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp -m length --length :64 -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Répétition - on marque les paquets restants à 26 (faible priorité)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -m mark --mark 0 -j MARK --set-mark 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Fin de la limitation sortante&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; ####################################################&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de trafic sortant activé sur $DEV. Débit: ${RATEUP}kbit/sec.&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Décommenter la ligne suivante pour n&#039;avoir que la limitation de trafic montant.&amp;lt;br /&amp;gt; # exit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; #################################################### #&amp;lt;br /&amp;gt; # Limitation du trafic entrant (débit maximal de RATEDN)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # on force le chargement du module imq&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; modprobe imq numdevs=1&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ip link set imq0 up&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie de mise en file d&#039;attente&amp;lt;br /&amp;gt; # - par défaut une classe 1:21 à faible priorité&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; tc qdisc add dev imq0 handle 1: root htb default 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la classe de limitation principale&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1: classid 1:1 htb rate ${RATEDN}kbit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout des classes filles&amp;lt;br /&amp;gt; # - trafic TCP en 21, le reste en 20&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1:1 classid 1:20 htb rate $[$RATEDN/2]kbit \&amp;lt;br /&amp;gt; ceil ${RATEDN}kbit prio 0&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1:1 classid 1:21 htb rate $[$RATEDN/2]kbit \&amp;lt;br /&amp;gt; ceil ${RATEDN}kbit prio 1&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie de limitation aux classes filles&amp;lt;br /&amp;gt; # - voir les remarques ci-dessus sur SFQ.&amp;lt;br /&amp;gt; tc qdisc add dev imq0 parent 1:20 handle 20: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev imq0 parent 1:21 handle 21: red limit 1000000 \&amp;lt;br /&amp;gt; min 5000 max 100000 avpkt 1000 burst 50&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # répartition du trafic en classe via fwmark&amp;lt;br /&amp;gt; # - le trafic est réparti en classes de priorité suivant l&#039;indicateur&amp;lt;br /&amp;gt; # fwmark des paquets (ceux-ci sont positionnés avec iptables un peu plus&amp;lt;br /&amp;gt; # loin). La classe de priorité par défaut à été mise à 1:26 de telle sorte&amp;lt;br /&amp;gt; # que les paquets qui ne sont pas marqués se retrouvent dans la classe de&amp;lt;br /&amp;gt; # priorité la plus faible.&amp;lt;br /&amp;gt; tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20&amp;lt;br /&amp;gt; tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de MONLIMITEUR-IN à la table de modification des paquets d&#039;iptables&amp;lt;br /&amp;gt; iptables -t mangle -N MONLIMITEUR-IN&amp;lt;br /&amp;gt; iptables -t mangle -I PREROUTING -i $DEV -j MONLIMITEUR-IN&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de fwmark pour classer les différents types de trafic&amp;lt;br /&amp;gt; # - fwmark est positionné de 20 à 21 suivant la classe. 20 correspond à la&amp;lt;br /&amp;gt; # priorité la plus forte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Forte priorité pour les paquets non TCP&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p ! tcp -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Les petits paquets TCP sont probablement des ACK&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp -m length --length :64 -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --dport ssh -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --sport ssh -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --dport telnet -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --sport telnet -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Répétition - les paquets sans marque sont positionnés à 21 (faible priorité)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -m mark --mark 0 -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # on envoie les paquets précédents à l&#039;interface imq0.&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -j IMQ&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Fin de la limitation de trafic entrant.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; ####################################################&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de trafic entrant activée sur $DEV. Débit: ${RATEDN}kbit/sec.&amp;quot; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script de visualisation des files d&#039;attentes ==&lt;br /&gt;
&lt;br /&gt;
Le script suivant visualise les files d&#039;attentes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; #!/bin/bash &amp;lt;br /&amp;gt;echo &#039;Qdisc&#039; &amp;lt;br /&amp;gt;tc -s qdisc show dev eth0 &amp;lt;br /&amp;gt;echo &#039;Classes&#039; &amp;lt;br /&amp;gt;tc -s class show dev eth0 &amp;lt;br /&amp;gt;echo &#039;Filter&#039; &amp;lt;br /&amp;gt;tc -s filter show dev eth0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
J&#039;ai essayé à travers cet article de vous ammener un maximum de renseignements, cependant, je n&#039;ai pas la prétention d&#039;en faire un document référence (il y a l&#039;excellent [http://ftp.traduc.org/doc-vf/HOWTO/lecture/HOWTO/Adv-Routing-HOWTO.html  HOWTO QoS ]pour cela). Toutes les remarques sont les bienvenues, il serait intéressant de faire évoluer ce présent document avec les commentaires que vous y apporterez. Si vous avez des scripts HTB.init, ou CBQ.init perso, n&#039;hesitez pas à me les envoyer, je les rajouterai dans cet article.&lt;br /&gt;
&lt;br /&gt;
Pour me contacter : [mailto:guitarparts@fr.st guitarparts@fr.st]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Julien Lecubin le 25/05/2003.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 25/05/2003, Julien Lecubin&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=QoS_Gestion_de_la_bande_passante_sous_Linux&amp;diff=6568</id>
		<title>QoS Gestion de la bande passante sous Linux</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=QoS_Gestion_de_la_bande_passante_sous_Linux&amp;diff=6568"/>
		<updated>2005-10-12T17:59:22Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* QoS via iptables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Administration réseau]]&lt;br /&gt;
= QoS/Gestion de la bande passante sous Linux =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;QoS/Gestion de la bande passante sous Linux&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par[mailto:guitarparts@fr.st  julien Lecubin]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Dans cet article, je vais vous expliquer les différentes étapes pour mettre en place la QoS et gérer votre bande passante sous Linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Pourquoi faire de la QoS&amp;lt;/u&amp;gt; ? Retenez que sans la QoS, vous ne pouvez pas gérer correctement les flux qui transitent sur votre réseau. Vous aurez par exemple des problèmes à écouter un flux audio en streaming sachant qu&#039;en même temps, vous êtes en train de faire du ftp. Dans la première partie de cet article, je vais vous montrer &#039;&#039;&#039;comment prioriser les divers flux de votre réseau&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Pourquoi gérer la BP de mon réseau&amp;lt;/u&amp;gt; ? Une personne qui fait du ftp sur une ligne ADSL de bureau peut monopoliser à elle seule toute la bande passante en sortie de votre réseau. Ce cas ne se limite pas aux réseaux ADSL et peut être aussi constaté sur des réseaux à très haut débit (lignes de type T1/T2). Linux peut apporter une solution efficace face à ce genre de problème en vous offrant la &#039;&#039;&#039;possibilité de gérer intelligemment votre bande passante&#039;&#039;&#039;. Ce sera le sujet de la deuxième partie de ce présent document.&lt;br /&gt;
&lt;br /&gt;
Actuellement, sachez que vous pouvez faire de la QoS et de la gestion de bande passante sous les noyaux 2.2 et 2.4. Néamoins, pour une question de facilité, je vous recommande un noyau 2.4 pour effectuer ce qui suit.&lt;br /&gt;
&lt;br /&gt;
== QoS via iptables ==&lt;br /&gt;
&lt;br /&gt;
Pour faire de la QoS, nous allons modifier la valeur du champs TOS se situant dans l&#039;en tête IP grâce à iptables. Le champ TOS est sur 4 bits :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;60%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;HEXA&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;BINAIRE&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;DECIMAL&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;SIGNIFICATION&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0x10&lt;br /&gt;
| 1000&lt;br /&gt;
| 8&lt;br /&gt;
| Minimize Delay&lt;br /&gt;
|-&lt;br /&gt;
| 0x08&lt;br /&gt;
| 0100&lt;br /&gt;
| 4&lt;br /&gt;
| Maximize throughput&lt;br /&gt;
|-&lt;br /&gt;
| 0x04&lt;br /&gt;
| 0010&lt;br /&gt;
| 2&lt;br /&gt;
| Maximize reliability&lt;br /&gt;
|-&lt;br /&gt;
| 0x02&lt;br /&gt;
| 0001&lt;br /&gt;
| 1&lt;br /&gt;
| Minimize monetary cost&lt;br /&gt;
|-&lt;br /&gt;
| 0x00&lt;br /&gt;
| 0000&lt;br /&gt;
| &lt;br /&gt;
| Normal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Minimize-Delay&#039;&#039;&#039; : Améliore la réactivité des connexions en réduisant le délai (ssh, telnet, ftp contrôle, tftp, flux DNS UDP)&lt;br /&gt;
* &#039;&#039;&#039;Maximize-Throughput &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;: Améliore le débit au prix d&#039;une possible détérioration de l&#039;interactivité de la session. Les temps de latence ne sont pas importants (ftp-data,www, transfert de zone DNS)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Maximum-Reliability &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;: Certitude que les données arrivent sans perte - Améliore la fiabilité (snmp, smtp)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Minimize monetary cost&#039;&#039;&#039; : minimise le délai, meilleure rentabilité (nntp, icmp)&lt;br /&gt;
&lt;br /&gt;
L&#039;intérêt de la QoS sous Linux est très souvent associé à la priorisation de flux interactifs via iptables. Par exemple, vous ne souhaitez pas que votre session ssh soit interrompue à cause d&#039;un utilisateur qui est en train de monopoliser la bande passante de votre réseau en downloadant une bande annonce sur internet (Il s&#039;agit d&#039;un cas de figure bien plus répandu qu&#039;on ne le pense !). Nous allons ici à titre d&#039;exemple optimiser les trafics courants avec iptables, à savoir le ftp et ssh :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; # Priorisation des connexions ftp et ssh &amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ssh -j TOS --set-tos Minimize-Delay&amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ftp -j TOS --set-tos Minimize-Delay&amp;lt;br /&amp;gt; # On donne un maximum de débit aux transferts ftp, peu importe la latence &amp;lt;br /&amp;gt; iptables -A PREROUTING -t mangle -p tcp --sport ftp-data -j TOS --set-tos Maximize-Throughput&amp;lt;br /&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A vous d&#039;adapter ce script suivant les services de votre réseau que vous souhaitez prioriser.&lt;br /&gt;
&lt;br /&gt;
== Gestion de la bande passante sous Linux ==&lt;br /&gt;
&lt;br /&gt;
Nous abordons la deuxième partie du document. Linux utilise deux unités du contrôle de trafic pour la gestion de la bande passante :&lt;br /&gt;
&lt;br /&gt;
* Les filtres qui placent le trafic dans les files d&#039;attentes (fwmark, u32)&lt;br /&gt;
* Les files d&#039;attentes qui décident des flux prioritaires (CBQ, HTB, RED, TBF, SFQ...)&lt;br /&gt;
&lt;br /&gt;
Gardez en vue que le protocole TCP/IP n&#039;a pas d&#039;aptitude à connaître les performances d&#039;un réseau. Il commence à envoyer des paquets, de plus en plus rapidement et quand des paquets commencent à se perdre, il ralentit. La plupart des files d&#039;attentes fonctionnent selon le modèle suivant : elles recoivent des paquets, les positionnent en file d&#039;attente jusqu&#039;à un certain point, et ensuite, éliminent tout paquet qui arrive dans le cas où la file d&#039;attente est pleine. Si on travaille en UDP, les paquets ne sont plus retransmis, si c&#039;est du TCP, l&#039;émetteur renverra les paquets perdus. Le débit s&#039;en trouve alors ralenti.&lt;br /&gt;
&lt;br /&gt;
=== Compilation du noyau ===&lt;br /&gt;
&lt;br /&gt;
Nous allons compiler le noyau afin que celui-ci sache gérer notre BP ( = Bande Passante). Si vous avez une ditribution récente, il se peut que vous n&#039;ayez pas besoin de le compiler. Lancez un &amp;quot;make xconfig&amp;quot; sous le X dans le répertoire /usr/src/linux. Si cela ne marche pas, installez les sources du noyau (le rpm est du type kernel-src-*.rpm)&lt;br /&gt;
&lt;br /&gt;
==== Les options ====&lt;br /&gt;
&lt;br /&gt;
Dans la partie &amp;quot;Networking Options&amp;quot; -&amp;gt; &amp;quot;QoS and fair queuing&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Option Noyau&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Sélection à la Compilation&#039;&#039;&#039;&lt;br /&gt;
| &#039;&#039;&#039;Définition&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| QoS &amp;amp; fair queuing&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Netfilter&lt;br /&gt;
| module&lt;br /&gt;
| Network Packet Filtering&lt;br /&gt;
|-&lt;br /&gt;
| CBQ packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Classed Based Queue) - file d&#039;attente basée sur des classes. C&#039;est ce type de file d&#039;attente qui sera implémentée dans la suite du présent document&lt;br /&gt;
|-&lt;br /&gt;
| HTB packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Hierarchical Token buckets) implémenté dans la suite du présent document - Si vous ne l&#039;avez pas, j&#039;explique plus bas comment avoir cette file d&#039;attente en patchant votre noyau&lt;br /&gt;
|-&lt;br /&gt;
| CSZ packet scheduler&lt;br /&gt;
| module&lt;br /&gt;
| (Clark-Shenker-Zhang) - Les flux ne sont pas limités à leur bande passante. Fournit un service garanti&lt;br /&gt;
|-&lt;br /&gt;
| The simplest PRIO pseudoscheduler&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RED queue&lt;br /&gt;
| module&lt;br /&gt;
| (Random Early Detect) - Anticipe les problèmes de congestion. RED élimine les paquets pour indiquer à TCP/IP de ralentir - Pour de gros débits&lt;br /&gt;
|-&lt;br /&gt;
| SFQ queue&lt;br /&gt;
| module&lt;br /&gt;
| (Stochastic Fair Queuing) - Limitation basée sur le taux de transfert utilisé - Consomme peu de CPU/Mem. Rapide, peu précis. Efficace sur de gros débits - Offre un traitement sensiblement équitable de chaque classe&lt;br /&gt;
|-&lt;br /&gt;
| TBF queue&lt;br /&gt;
| module&lt;br /&gt;
| Consomme peu de CPU. Limitation basée sur le taux de transfert à utiliser - Non basé sur les classes&lt;br /&gt;
|-&lt;br /&gt;
| Ingress QDisc&lt;br /&gt;
| module&lt;br /&gt;
| (Queuing discipline) - Indispensable lorsque l&#039;on souhaite utiliser les files d&#039;attente&lt;br /&gt;
|-&lt;br /&gt;
| QoS support&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Rate estimator&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Packet classifier API&lt;br /&gt;
| oui&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| TC Index classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Routing table based classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Firewall based classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| U32 classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Special RSVP classifier&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Special RSVP classifier for IPv6&lt;br /&gt;
| module&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Les files d&#039;attentes les plus importantes sont &#039;&#039;&#039;CBQ&#039;&#039;&#039; et &#039;&#039;&#039;HTB&#039;&#039;&#039; (la suite du document se base sur ces deux files d&#039;attente). Vous n&#039;êtes pas obligé de mettre en module les autres files d&#039;attentes (CSZ, RED, SFQ, TBF, TEQL), cependant, cela reste toujours intéressant de les laisser en tant que module au cas où vous en auriez besoin plus tard.&lt;br /&gt;
&lt;br /&gt;
==== Terminer la compilation ====&lt;br /&gt;
&lt;br /&gt;
Compilez le noyau par :&lt;br /&gt;
&lt;br /&gt;
* make dep&lt;br /&gt;
* make clean &lt;br /&gt;
* make bzImage &lt;br /&gt;
* make modules&lt;br /&gt;
* make modules_install&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
&lt;br /&gt;
Allez prendre un café&amp;lt;br /&amp;gt; Toujours pas fini ? Retournez prendre un café... :)&amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz&amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/System.map /boot&lt;br /&gt;
&lt;br /&gt;
Modifiez /etc/lilo.conf pour prendre en compte le nouveau noyau et lancez la commande &amp;quot;lilo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Assurez-vous enfin que votre station Linux comporte la commande &amp;quot;tc&amp;quot; (un &amp;quot;which tc&amp;quot; vous permettra de voir si &amp;quot;tc&amp;quot; est installé). Si vous ne l&#039;avez pas, elle fait partie du package iproute2 (les sources sont [http://www.tux.org/pub/net/ip-routing/ ici] et le rpm peut être téléchargé [http://www.rpmfind.net là])&lt;br /&gt;
&lt;br /&gt;
Désormais, votre noyau linux implémente la gestion de bande passante. Il ne reste plus qu&#039;à écrire un script propre à votre config, ce qui est décrit dans la suite du document.&lt;br /&gt;
&lt;br /&gt;
=== Scripts de gestion de bande passante CBQ.init, HTB.init et wshaper.htb ===&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez partager votre bande passante sans trop vous compliquer la vie, sachez que des scripts on été créés afin d&#039;optimiser votre bande passante. Dans la suite du document, je vais vous expliquer comment les mettre en place. Lisez bien la définition de chacun de ces scripts, de manière à définir celui qui vous convient le mieux.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;CBQ.init&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente CBQ&lt;br /&gt;
&lt;br /&gt;
* convient à de petits débits&lt;br /&gt;
* nécessite de connaître la taille moyenne des paquets et la vitesse maximale de la connexion&lt;br /&gt;
* utilise le temps d&#039;inactivité de la connexion pour calculer une approximation du débit utilisé.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;HTB.init&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente HTB&lt;br /&gt;
&lt;br /&gt;
* convient à des gros débits &lt;br /&gt;
* consomme peu de ressources &lt;br /&gt;
* ne fait pas d&#039;approximation en ce qui concerne le calcul du débit &lt;br /&gt;
* nécessite de connaitre le débit maximal de votre connexion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;Wondershaper&amp;lt;/u&amp;gt; :&#039;&#039;&#039; file d&#039;attente HTB&lt;br /&gt;
&lt;br /&gt;
* maintient une bonne réactivité pour le traffic interactif (ssh, telnet...) &lt;br /&gt;
* surfer sans souci lors de gros downloads&lt;br /&gt;
* s&#039;assure que l&#039;upload ne défavorise pas le download et inversement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Sachez que souvent, on préconise l&#039;utilisation de files d&#039;attentes de type HTB plutot que CBQ. Cependant, si votre distribution n&#039;est pas très récente, il y aura pas mal de choses à réaliser pour implémenter les files d&#039;attentes HTB sur votre station (j&#039;explique neanmoins la démarche à suivre si vous êtes dans ce cas).&lt;br /&gt;
&lt;br /&gt;
==== CBQ.init ====&lt;br /&gt;
&lt;br /&gt;
Récupérez le script à l&#039;adresse suivante :&lt;br /&gt;
&lt;br /&gt;
https://sourceforge.net/projects/cbqinit&lt;br /&gt;
&lt;br /&gt;
Faites un &amp;quot;chmod u+x CBQ.init*&amp;quot; afin de le rendre executable.&amp;lt;br /&amp;gt; Copiez le script dans le répertoire /usr/bin : &amp;quot;cp CBQ.init-[VERSION] /usr/bin&amp;quot;&amp;lt;br /&amp;gt; Créez le répertoire /etc/sysconfig/cbq qui contiendra les options de gestion de BP sur lequelles se basera le script : &amp;quot;mkdir /etc/sysconfig/cbq&amp;quot; - Si vous souhaitez placer vos fichiers de configurations CBQ ailleurs, modifiez la variable $CBQ_PATH dans le script CBQ.init afin de renseigner le nouveau chemin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemples de fichiers de configurations pour le script CBQ.init&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Les fichiers de configuration doivent respecter une syntaxe précise de type &#039;&#039;&#039;cbq-CLASS_ID.name&#039;&#039;&#039; où CLASS_ID est compris en hexa entre 0002 et FFFF (pour en savoir plus, editez le script, c&#039;est expliqué en détail).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 1&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_first_shaper&#039;&#039;&#039; - vous avez 2 interfaces (eth0=LAN et eth1=INTERNET) sur votre machine et souhaitez limiter le trafic INTERNET -&amp;gt; LAN à 16 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; debit max de votre interface eth0&amp;lt;br /&amp;gt; RATE=128Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=10Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 etant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un traffic spécifique)&amp;lt;br /&amp;gt; RULE=192.168.1.0/24&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 2&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_second_shaper&#039;&#039;&#039; - vous avez 1 interface sur votre machine (eth0-192.168.1.5) et souhaitez limiter le trafic MACHINE -&amp;gt; INTERNET à 16 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # La limite du traffic s&#039;effectue sur l&#039;interface 10 Mbits/s eth0&amp;lt;br /&amp;gt; RATE=128Kbit&amp;lt;br /&amp;gt; WEIGHT=10Kbit&amp;lt;br /&amp;gt; PRIO=5&amp;lt;br /&amp;gt; RULE=192.168.1.5, # Attention à la &#039;,&#039; cela permet de specifier qu&#039;il s&#039;agit d&#039;une d&#039;adresses source ! Ici, la limitation de BP s&#039;applique uniquement à la machine 192.168.1.5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 3&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_third_shaper&#039;&#039;&#039; - vous souhaitez limiter le traffic de votre serveur web (192.168.1.50) à 8 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; debit max de l&#039;interface de votre serveur web&amp;lt;br /&amp;gt; RATE=64Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=6Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 etant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un traffic spécifique)&amp;lt;br /&amp;gt; RULE=192.128.1.50:80,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 4&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_fourth_shaper&#039;&#039;&#039; - vous souhaitez limiter le traffic des gens qui download sur votre serveur ftp (192.168.1.50) à 10 Ko/s&lt;br /&gt;
&lt;br /&gt;
DEVICE=eth0,10Mbit,1Mbit # 10 Mbits -&amp;gt; debit max de l&#039;interface de votre serveur ftp&amp;lt;br /&amp;gt; RATE=80Kbit # Exprimez les valeurs en Kbit ou Mbit selon les débits spécifiés&amp;lt;br /&amp;gt; WEIGHT=8Kbit # WEIGHT = RATE / 10&amp;lt;br /&amp;gt; PRIO=5 # Va de 1 à 8 , 1 etant le + prioritaire (la valeur 5 est recommandée et suffisante pour prioriser un traffic spécifique)&amp;lt;br /&amp;gt; RULE=192.128.1.50:20/0xfffe # limitation de BP appliquée sur port 20/21&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 5&amp;lt;/u&amp;gt; : &#039;&#039;&#039;$CBQ_PATH/cbq-1280.My_fifth_shaper&#039;&#039;&#039; - vous souhaitez que le traffic LAN -&amp;gt; INTERNET soit limité à 50 Ko/s (400 Kbits/s), et que le traffic INTERNET -&amp;gt; LAN soit limité à 10Ko/s (80 Kbits/s), remplissez CBQ.init de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; LAN ----- eth0 [LINUX] eth1 ----- INTERNET&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt; ######################## {{ LAN -&amp;gt; INTERNET }} #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;DEVICE=eth1,10Mbit,1Mbit &amp;lt;br /&amp;gt;RATE=400Kbit &amp;lt;br /&amp;gt;WEIGHT=40Kbit # WEIGHT = RATE / 10 &amp;lt;br /&amp;gt;PRIO=5 &amp;lt;br /&amp;gt;BOUNDED=yes # Pour ne pas aller prendre de la BP aux classes parents &amp;lt;br /&amp;gt;ISOLATED=NO # Permet de léguer de la BP aux classes filles si il en reste &amp;lt;br /&amp;gt;RULE=192.168.0.0/24 # Le partage de BP concerne le traffic a destination du reseau 192.168.0.0 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;############################################################ ############ &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt; ######################## {{ INTERNET -&amp;gt; LAN }} #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;DEVICE=eth0,100Mbit,10Mbit # &amp;lt;br /&amp;gt;RATE=80Kbit # On souhaite limiter le traffic entrant à 10 Ko/s (adaptez selon le debit de votre ligne) &amp;lt;br /&amp;gt;WEIGHT=8Kbit # WEIGHT = RATE / 10 &amp;lt;br /&amp;gt;PRIO=5 &amp;lt;br /&amp;gt;BOUNDED=yes &amp;lt;br /&amp;gt;ISOLATED=NO &amp;lt;br /&amp;gt;RULE=80,192.168.1.10 # Tout le traffic HTTP INTERNET -&amp;gt; 192.168.1.10 limité à 10 Ko/s &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#################################### #################################### &amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à lancer le script CBQ.init à chaque démarrage ; pour cela éditez le /etc/rc.d/rc.local et ajoutez la ligne &amp;quot;CBQ.init-[version] start&amp;quot; où [version] désigne la version de votre script CBQ.&amp;lt;br /&amp;gt; Si vous souhaitez obtenir des statistiques CBQ, lancez la commande &amp;quot;CBQ.init-[VERSION] stats&amp;quot;. Le script vous sortira des informations qui peuvent s&#039;avérer utile.&lt;br /&gt;
&lt;br /&gt;
Voilà, vous êtes désormais un gourou des files d&#039;attentes CBQ :). Passons maintenant à la gestion de la BP avec file d&#039;attentes HTB.&lt;br /&gt;
&lt;br /&gt;
==== HTB.init ====&lt;br /&gt;
&lt;br /&gt;
Récupérez le script HTB.init à l&#039;adresse suivante :[http://sourceforge.net/projects/htbinit  http://sourceforge.net/projects/htbinit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notes pour noyau &amp;lt; 2.4.18-3&#039;&#039;&#039; : pour utiliser des files d&#039;attentes HTB, sachez que vous devez patcher votre noyau si il est inférieur à la version 2.4.18-3 (tapez &amp;quot;uname -a&amp;quot; pour vérifier la version de votre distribution) : &amp;lt;br /&amp;gt;[http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.4.17.diff   http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.4.17.diff] pour les noyaux 2.4&amp;lt;br /&amp;gt;[http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.2.17.diff  http://luxik.cdi.cz/~devik/qos/htb/v2/htb2_2.2.17.diff] pour les noyaux 2.2&lt;br /&gt;
&lt;br /&gt;
Pour appliquer le patch lancez la commande suivante dans le répertoire /usr/src/linux : &amp;quot;patch -pl -i htb2_2.4.17.diff&amp;quot; &amp;lt;br /&amp;gt; Dans /usr/src/linux tapez : &amp;quot;make xconfig&amp;quot;&amp;lt;br /&amp;gt; Dans la partie &amp;quot;Networking Options&amp;quot; -&amp;gt; &amp;quot;QoS and fair Queuing&amp;quot;, selectionnez HTB packet scheduler en module&amp;lt;br /&amp;gt; Recompilez le noyau : &amp;quot;make dep &amp;amp;&amp;amp; make clean &amp;amp;&amp;amp; make bzImage &amp;amp;&amp;amp; make modules &amp;amp;&amp;amp; make modules_install&amp;quot;&amp;lt;br /&amp;gt; Mettez en place le nouveau noyau qui prend en charge HTB :&lt;br /&gt;
&lt;br /&gt;
cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz &amp;lt;br /&amp;gt; cp /usr/src/linux/arch/i386/boot/System.map /boot&lt;br /&gt;
&lt;br /&gt;
Vous devez aussi mettre à jour la commande &amp;quot;tc&amp;quot; : http://luxik.cdi.cz/~devik/qos/htb/v2/tc.gz&lt;br /&gt;
&lt;br /&gt;
Faites un &amp;quot;chmod u+x HTB.init-[VERSION]&amp;quot; afin de le rendre executable. &amp;lt;br /&amp;gt;Copiez le script dans le répertoire /usr/bin : &amp;quot;cp HTB.init-[VERSION] /usr/bin&amp;quot; &amp;lt;br /&amp;gt;Créez le répertoire /etc/sysconfig/htb qui contiendra les fichiers de gestion de BP sur lequelles se basera le script : &amp;quot;mkdir /etc/sysconfig/htb&amp;quot; - Si vous souhaitez placer vos fichiers de configurations HTB ailleurs, modifiez la variable $HTB_PATH dans le script HTB.init afin de renseigner le nouveau chemin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemples de fichiers de configurations HTB.init&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Il n&#039;existe pas un mais plusieurs fichiers de configurations pour HTB.init. Les fichiers doivent obligatoirement avoir une syntaxe précise. Par exemple :&lt;br /&gt;
&lt;br /&gt;
eth0-2 -&amp;gt; classe root ID 2, device eth0 &amp;lt;br /&amp;gt;eth0-2:3 -&amp;gt; classe fille ID 3, ayant comme parent 2, device eth0 &amp;lt;br /&amp;gt;eth0-2:3:4 -&amp;gt; classe fille ID 4, ayant comme parent 3, device eth0 &amp;lt;br /&amp;gt;eth1-2.root -&amp;gt; classe root ID 2, device eth1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Remarque&amp;lt;/u&amp;gt; : Une autre notation en cas d&#039;erreur lors de la creation de ce type de fichiers : eth0-2\:3 -&amp;gt; Vous placez un &amp;quot;\&amp;quot; avant le &amp;quot;:&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Cela peut paraître un peu confu comme syntaxe, cependant, je vais vous donner des exemples. Editez le script si vous souhaitez néanmoins en savoir plus à ce sujet. &amp;lt;br /&amp;gt;Avec ce type de files d&#039;attentes, &#039;&#039;&#039;vous ne pouvez realiser un contrôle de flux qu&#039;en sortie de vos interfaces réseaux&#039;&#039;&#039;. Dans le cas d&#039;une station qui fait du routage, configurez les débits sur les sorties des deux interfaces (voir exemple 2).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 1&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
Imaginons que vous ayez une bande passante sur votre station de 5 Mbits/s (~600Ko/s). Vous souhaitez :&lt;br /&gt;
&lt;br /&gt;
5Mbits/s pour le HTTP, &amp;lt;br /&amp;gt;3Mbits/s pour le SMTP &amp;lt;br /&amp;gt;1Kbit/s pour le traffic divers (qui vous importent peu) &amp;lt;br /&amp;gt;Dans le cas où il y a de la bande passante de libre, vous souhaitez la partager entre le SMTP et traffics divers. &amp;lt;br /&amp;gt;SMTP pourra utiliser tout le temps au moins 3Mbits/s et pourra monter jusqu&#039;à 5 Mbits/s si il y a de la BP de libre. &amp;lt;br /&amp;gt;Le traffic divers pourra utiliser tout le temps au moins 1Kbit/s et pourra monter jusqu&#039;à 5Mbits/s si il y a de la BP de libre.&lt;br /&gt;
&lt;br /&gt;
Allez dans le répertoire /etc/sysconfig/htb ($HTB_PATH) et placez-y les lignes suivantes pour chaque fichier :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;fichier &#039;&#039;&#039;eth0&#039;&#039;&#039;&amp;lt;br /&amp;gt;DEFAULT=30 # ID class default - Le traffic non répertorié utilisera la class ID 30&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2.root&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=5Mbit # Bande passante allouée a la classe root (ici 5Mbits) &amp;lt;br /&amp;gt;BURST=15k&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:10.www&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=5Mbit &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq # Type de file d&#039;attente utilisée par cette classe (ici sfq) &amp;lt;br /&amp;gt;RULE=*:80, # Voir les exemples du script CBQ.init - La syntaxe &amp;quot;RULE&amp;quot; est identique&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:20.smtp&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=3Mbit &amp;lt;br /&amp;gt;CEIL=5Mbit # La bande passante max de cette classe peut aller jusqu&#039;a 5 Mbits/s uniquement si il y a de la BP de libre. &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;RULE=*:25&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2:30.dfl&#039;&#039;&#039;&amp;lt;br /&amp;gt;RATE=1Kbit &amp;lt;br /&amp;gt;CEIL=5Mbit &amp;lt;br /&amp;gt;BURST=15k &amp;lt;br /&amp;gt;LEAF=sfq&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple 2&amp;lt;/u&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
On traite ici le cas d&#039;une personne ayant une connexion ADSL de type 512/128. Sa connexion se fait via une machine-routeur possédant deux interfaces (eth0 et eth1). Elle souhaite limiter l&#039;upload à 90 Kbits/s (11,3 Ko/s) et donner la priorité aux services HTTP, SSH, TELNET, POP3, SMTP et DNS. Une priorité plus petite sera attribuée à tout autre traffic. Côté, download on garde la même idée, cependant, la limite sera fixée à 450 Kbits/s (57 Ko/s).&lt;br /&gt;
&lt;br /&gt;
Allez dans le répertoire /etc/sysconfig/htb ($HTB_PATH) et placez-y les lignes suivantes pour chaque fichier :&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1&#039;&#039;&#039; (Tous fichier de type &#039;&#039;&#039;eth1*&#039;&#039;&#039; -&amp;gt; traffic sortant de l&#039;interface eth1) &amp;lt;br /&amp;gt;DEFAULT=30 &amp;lt;br /&amp;gt;R2Q=1&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2.root&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#Classe root pour traffic sortant &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=90Kbit&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:10.high&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant de haute priorité &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#HTTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:80 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SSH &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:22 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#TELNET &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:23 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SMTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:25 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#DNS &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:53 &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#POP3 &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:110&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:20.normal&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant normal &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#IRC &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:6667&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth1-2\:30.low&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant peu important &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=20Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#EMULE &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:3000 &amp;lt;br /&amp;gt;RULE=*:3000, &amp;lt;br /&amp;gt;RULE=*:3010 &amp;lt;br /&amp;gt;RULE=*:3010, &amp;lt;br /&amp;gt;RULE=*:4662 RULE=*:4662,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0&#039;&#039;&#039; (Tous fichier de type &#039;&#039;&#039;eth0*&#039;&#039;&#039; -&amp;gt; traffic sortant de l&#039;interface eth0) &amp;lt;br /&amp;gt;DEFAULT=30 &amp;lt;br /&amp;gt;R2Q=10&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:10.high&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant de haute priorité &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=150 Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#HTTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:80, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SSH &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:22, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#TELNET &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:23, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#SMTP &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:25, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#DNS &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:53, &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#POP3 &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:110,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:20.normal&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant normal &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=30kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#IRC &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:6667,&lt;br /&gt;
&lt;br /&gt;
fichier &#039;&#039;&#039;eth0-2\:30.low&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;# Classe pour traffic sortant peu important &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RATE=150Kbit &amp;lt;br /&amp;gt;CEIL=prate &amp;lt;br /&amp;gt;LEAF=sfq &amp;lt;br /&amp;gt;&amp;lt;nowiki&amp;gt;#EMULE &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;RULE=*:3000, &amp;lt;br /&amp;gt;RULE=*:3010, &amp;lt;br /&amp;gt;RULE=*:4662, &amp;lt;br /&amp;gt;RULE=*:3000 &amp;lt;br /&amp;gt;RULE=*:3010 &amp;lt;br /&amp;gt;RULE=*:4662 &amp;lt;br /&amp;gt;RULE=*:4662 &amp;lt;br /&amp;gt;RULE=*:4662,&lt;br /&gt;
&lt;br /&gt;
Il ne reste plus qu&#039;à lancer le script HTB.init à chaque démarrage ; pour cela éditez le /etc/rc.d/rc.local et ajoutez la ligne &amp;quot;HTB.init-[version] start&amp;quot; où [VERSION] désigne la version de votre script HTB. &amp;lt;br /&amp;gt;Si vous souhaitez obtenir des statistiques HTB, lancez la commande &amp;quot;HTB.init-[VERSION] stats&amp;quot;. Le script vous sortira des informations qui peuvent s&#039;avérer utile.&lt;br /&gt;
&lt;br /&gt;
==== wondershaper ====&lt;br /&gt;
&lt;br /&gt;
Récupérez wondershaper à l&#039;adresse suivante :&lt;br /&gt;
&lt;br /&gt;
[http://lartc.org/wondershaper  http://lartc.org/wondershaper]&lt;br /&gt;
&lt;br /&gt;
Editez le script wshaper et indiquez les débits ; par exemple pour une ligne ADSL 512/128 :&lt;br /&gt;
&lt;br /&gt;
DOWNLINK= 500 &amp;lt;br /&amp;gt;UPLINK= 100 &amp;lt;br /&amp;gt;DEV=ppp0&lt;br /&gt;
&lt;br /&gt;
Désormais, votre machine avec ce script :&lt;br /&gt;
&lt;br /&gt;
* maintient une bonne réactivité pour le traffic interactif (ssh, telnet...) &lt;br /&gt;
* vous pouvez surfer sans soucis lors de gros downloads &lt;br /&gt;
* l&#039;upload ne défavorise pas le download et inversement. &lt;br /&gt;
&lt;br /&gt;
J&#039;ai trouvé sur internet un script dérivé de Wondershaper, il peut s&#039;avérer intéressant de le mettre en oeuvre si vous avez une connexion de type ADSL. En revanche, ce script fait appel à de nombreuses files d&#039;attentes : CBQ, RED, IMQ, HTB et SFQ (Assurez-vous au préalable que votre noyau les prend toutes en compte).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; #!/bin/bash&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # mon_limiteur - Limiteur et classificateur de trafic pour modem Cable ou ADSL.&amp;lt;br /&amp;gt; # Inspiré de WonderShaper (www.lartc.org)&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Écrit par Dan Singletary (7/8/02)&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Remarque - ce script suppose que le noyau a été patché avec les files&amp;lt;br /&amp;gt; # HTB et IMQ disponibles ici (les noyaux à venir ne demanderont&amp;lt;br /&amp;gt; # pas forcément l&#039;application d&#039;un correctif):&amp;lt;br /&amp;gt; # http://luxik.cdi.cz/~devik/qos/htb/&amp;lt;br /&amp;gt; # http://luxik.cdi.cz/~patrick/imq/&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Options de configuration pour mon_limiteur:&amp;lt;br /&amp;gt; # DEV - correspond au périphérique ethX connecté au modem&amp;lt;br /&amp;gt; # RATEUP - à positionner à une valeur inférieure à la bande&amp;lt;br /&amp;gt; # passante montante de la ligne.&amp;lt;br /&amp;gt; # Pour ma ligne ADSL en 1500/128, RATEUP=90 convient au rythme&amp;lt;br /&amp;gt; # montant de 128 kbps. À vous d&#039;ajuster.&amp;lt;br /&amp;gt; # RATEDN - à positionner en dessous de la bande passante descendante de&amp;lt;br /&amp;gt; # la ligne.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Principe d&#039;utilisation d&#039;imq pour limiter le trafic entrant:&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Il est impossible de limiter directement le rythme auquel les&amp;lt;br /&amp;gt; # données vous sont envoyées depuis l&#039;Internet. Afin de limiter le&amp;lt;br /&amp;gt; # trafic entrant, on s&#039;appuie sur les mécanismes anti-congestion de&amp;lt;br /&amp;gt; # TCP. Ceci signifie que SEUL LE TRAFIC TCP PEUT SE LIMITER. Le&amp;lt;br /&amp;gt; # trafic hors TCP est placé dans une queue prioritaire car le jeter&amp;lt;br /&amp;gt; # ne conduit vraisemblablement qu&#039;à une retransmission ultérieure&amp;lt;br /&amp;gt; # qui accroît la bande passante consommée.&amp;lt;br /&amp;gt; # On limite le trafic TCP en jetant les paquets lorsqu&#039;ils débordent&amp;lt;br /&amp;gt; # de la file HTB qui les limitera à un certain rythme (RATEDN)&amp;lt;br /&amp;gt; # légèrement inférieur à la capacité réelle de la ligne. Jeter ces&amp;lt;br /&amp;gt; # paquets revient à en singer la perte par la file d&#039;émission du&amp;lt;br /&amp;gt; # côté du FAI. Ceci a l&#039;avantage d&#039;éviter la congestion de la file&amp;lt;br /&amp;gt; # d&#039;émission chez le FAI puisque TCP ralentira avant qu&#039;elle ne&amp;lt;br /&amp;gt; # se remplisse. L&#039;usage d&#039;une stratégie de mise en attente basée sur&amp;lt;br /&amp;gt; # la classification des paquets par priorité permet de ne PAS jeter&amp;lt;br /&amp;gt; # certains types de paquets (ssh, telnet, etc). Les paquets ne sont&amp;lt;br /&amp;gt; # retirés des files d&#039;attente de faible priorité qu&#039;une fois que&amp;lt;br /&amp;gt; # chaque classe a atteint un seuil minimum (1/7 de la bande passante&amp;lt;br /&amp;gt; # dans ce script).&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Résumé:&amp;lt;br /&amp;gt; # * La perte d&#039;un paquet TCP diminue le rythme de réception de la&amp;lt;br /&amp;gt; # connexion associée via les mécanismes de contrôle de congestion.&amp;lt;br /&amp;gt; # * Jeter des paquets TCP n&#039;apporte rien. S&#039;ils sont importants, ils&amp;lt;br /&amp;gt; # seront retransmis.&amp;lt;br /&amp;gt; # * Limiter le rythme des connexions TCP entrantes en dessous de la&amp;lt;br /&amp;gt; # capacité de la ligne DEVRAIT éviter la mise en attente des paquets&amp;lt;br /&amp;gt; # du côté du FAI (DSLAM, concentrateur de cables, etc). L&#039;expérience&amp;lt;br /&amp;gt; # indique que ces files contiennent 4 secondes de trafic à 1500 kbps,&amp;lt;br /&amp;gt; # soit 6 Mb de données. À ce niveau, l&#039;absence de mise en attente&amp;lt;br /&amp;gt; # diminue la latence.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Avertissements:&amp;lt;br /&amp;gt; # * Est-ce que la limitation de bande passante diminue l&#039;efficacité de&amp;lt;br /&amp;gt; # transferts TCP massifs ?&amp;lt;br /&amp;gt; # - Apparemment non. L&#039;augmentation de priorité des paquets&amp;lt;br /&amp;gt; # d&#039;acquittement maximise le débit en évitant de perdre de la bande&amp;lt;br /&amp;gt; # passante à retransmettre des paquets déjà reçus.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # NOTE: La configuration ci-dessous fonctionne avec ma connexion ADSL&amp;lt;br /&amp;gt; # 1.5M/128K via Pacific Bell Internet (SBC Global Services)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; DEV=eth0&amp;lt;br /&amp;gt; RATEUP=90&amp;lt;br /&amp;gt; RATEDN=700 # Nettement inférieur à la capacité de la ligne de 1500.&amp;lt;br /&amp;gt; # On n&#039;a donc pas à limiter le trafic entrant jusqu&#039;à ce&amp;lt;br /&amp;gt; # qu&#039;une meilleure réalisation telle que la modification&amp;lt;br /&amp;gt; # de fenêtre TCP soit disponible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Fin des options de configuration&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; if [ &amp;quot;$1&amp;quot; = &amp;quot;status&amp;quot; ]&amp;lt;br /&amp;gt; then&amp;lt;br /&amp;gt; echo &amp;quot;[qdisc]&amp;quot;&amp;lt;br /&amp;gt; tc -s qdisc show dev $DEV&amp;lt;br /&amp;gt; tc -s qdisc show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[class]&amp;quot;&amp;lt;br /&amp;gt; tc -s class show dev $DEV&amp;lt;br /&amp;gt; tc -s class show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[filter]&amp;quot;&amp;lt;br /&amp;gt; tc -s filter show dev $DEV&amp;lt;br /&amp;gt; tc -s filter show dev imq0&amp;lt;br /&amp;gt; echo &amp;quot;[iptables]&amp;quot;&amp;lt;br /&amp;gt; iptables -t mangle -L MONLIMITEUR-OUT -v -x 2&amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -L MONLIMITEUR-IN -v -x 2&amp;gt; /dev/null&amp;lt;br /&amp;gt; exit&amp;lt;br /&amp;gt; fi&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Remise à zéro&amp;lt;br /&amp;gt; tc qdisc del dev $DEV root 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; tc qdisc del dev imq0 root 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -D POSTROUTING -o $DEV -j MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -F MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -X MONLIMITEUR-OUT 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -D PREROUTING -i $DEV -j MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -F MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; iptables -t mangle -X MONLIMITEUR-IN 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; ip link set imq0 down 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt; rmmod imq 2&amp;gt; /dev/null &amp;gt; /dev/null&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; if [ &amp;quot;$1&amp;quot; = &amp;quot;stop&amp;quot; ]&amp;lt;br /&amp;gt; then&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de débit désactivée sur $DEV.&amp;quot;&amp;lt;br /&amp;gt; exit&amp;lt;br /&amp;gt; fi&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ###########################################################&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; # Limitation de trafic sortant (limite supérieure à RATEUP)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # positionnement de la taille de la file d&#039;émission pour obtenir&amp;lt;br /&amp;gt; # une latence d&#039;environ 2 secondes pour les paquets de la file&amp;lt;br /&amp;gt; # de faible priorité.&amp;lt;br /&amp;gt; ip link set dev $DEV qlen 30&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # modification de MTU du périphérique sortant.&amp;lt;br /&amp;gt; # - Diminuer la MTU abaisse la latence mais dégrade le débit en raison de&amp;lt;br /&amp;gt; # la surcharge IP et TCP.&amp;lt;br /&amp;gt; ip link set dev $DEV mtu 1000&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie HTB&amp;lt;br /&amp;gt; tc qdisc add dev $DEV root handle 1: htb default 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la classe de limitation principale&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1: classid 1:1 htb rate ${RATEUP}kbit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout des classes filles:&amp;lt;br /&amp;gt; # - chaque classe dispose AU MOINS de son quota de bande passante. Aucune&amp;lt;br /&amp;gt; # classe n&#039;est donc étouffée par les autres. Chaque classe peut également&amp;lt;br /&amp;gt; # consommer toute la bande passante si aucune autre classe ne l&#039;emploie.&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:20 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 0&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:21 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 1&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:22 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 2&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:23 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 3&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:24 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 4&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:25 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 5&amp;lt;br /&amp;gt; tc class add dev $DEV parent 1:1 classid 1:26 htb rate $[$RATEUP/7]kbit \&amp;lt;br /&amp;gt; ceil ${RATEUP}kbit prio 6&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie aux classes filles&amp;lt;br /&amp;gt; # - SFQ offre un traitement sensiblement équitable de chaque classe.&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:21 handle 21: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:22 handle 22: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:23 handle 23: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:24 handle 24: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:25 handle 25: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev $DEV parent 1:26 handle 26: sfq perturb 10&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # répartition du trafic en classe via fwmark&amp;lt;br /&amp;gt; # - le trafic est réparti en classes de priorité suivant l&#039;indicateur&amp;lt;br /&amp;gt; # fwmark des paquets (ceux-ci sont positionnés avec iptables un peu plus&amp;lt;br /&amp;gt; # loin). La classe de priorité par défaut a été mise à 1:26 de telle sorte&amp;lt;br /&amp;gt; # que les paquets qui ne sont pas marqués se retrouvent dans la classe de&amp;lt;br /&amp;gt; # priorité la plus faible.&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 23 fw flowid 1:23&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 24 fw flowid 1:24&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 25 fw flowid 1:25&amp;lt;br /&amp;gt; tc filter add dev $DEV parent 1:0 prio 0 protocol ip handle 26 fw flowid 1:26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de MONLIMITEUR-OUT à la table de modification des paquets d&#039;iptables&amp;lt;br /&amp;gt; # - ceci déclare la table employée pour filtrer et classer les paquets&amp;lt;br /&amp;gt; iptables -t mangle -N MONLIMITEUR-OUT&amp;lt;br /&amp;gt; iptables -t mangle -I POSTROUTING -o $DEV -j MONLIMITEUR-OUT&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de fwmark pour classer les différents types de trafic&amp;lt;br /&amp;gt; # - fwmark est positionné de 20 à 26 suivant la classe. 20 correspond à la&amp;lt;br /&amp;gt; # priorité la plus forte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Trafic sur les ports bas&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport 0:1024 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Trafic sur les ports bas&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 0:1024 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Port ftp-data, faible priorité&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 20 -j MARK --set-mark 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Messagerie Immédiate AOL&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport 5190 -j MARK --set-mark 23&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ICMP (ping) - forte priorité (impressionnez vos amis)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p icmp -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # DNS (petits paquets)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p udp -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport ssh -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport ssh -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --dport telnet -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport telnet -j MARK --set-mark 22&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # IPSec - la surcharge n&#039;est pas connue ...&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p ipv6-crypt -j MARK --set-mark 24&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Serveur WWW local&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp --sport http -j MARK --set-mark 25&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Petits paquets (des ACK probablement)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -p tcp -m length --length :64 -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Répétition - on marque les paquets restants à 26 (faible priorité)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-OUT -m mark --mark 0 -j MARK --set-mark 26&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Fin de la limitation sortante&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; ####################################################&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de trafic sortant activé sur $DEV. Débit: ${RATEUP}kbit/sec.&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Décommenter la ligne suivante pour n&#039;avoir que la limitation de trafic montant.&amp;lt;br /&amp;gt; # exit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; #################################################### #&amp;lt;br /&amp;gt; # Limitation du trafic entrant (débit maximal de RATEDN)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # on force le chargement du module imq&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; modprobe imq numdevs=1&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; ip link set imq0 up&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie de mise en file d&#039;attente&amp;lt;br /&amp;gt; # - par défaut une classe 1:21 à faible priorité&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; tc qdisc add dev imq0 handle 1: root htb default 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la classe de limitation principale&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1: classid 1:1 htb rate ${RATEDN}kbit&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout des classes filles&amp;lt;br /&amp;gt; # - trafic TCP en 21, le reste en 20&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1:1 classid 1:20 htb rate $[$RATEDN/2]kbit \&amp;lt;br /&amp;gt; ceil ${RATEDN}kbit prio 0&amp;lt;br /&amp;gt; tc class add dev imq0 parent 1:1 classid 1:21 htb rate $[$RATEDN/2]kbit \&amp;lt;br /&amp;gt; ceil ${RATEDN}kbit prio 1&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de la stratégie de limitation aux classes filles&amp;lt;br /&amp;gt; # - voir les remarques ci-dessus sur SFQ.&amp;lt;br /&amp;gt; tc qdisc add dev imq0 parent 1:20 handle 20: sfq perturb 10&amp;lt;br /&amp;gt; tc qdisc add dev imq0 parent 1:21 handle 21: red limit 1000000 \&amp;lt;br /&amp;gt; min 5000 max 100000 avpkt 1000 burst 50&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # répartition du trafic en classe via fwmark&amp;lt;br /&amp;gt; # - le trafic est réparti en classes de priorité suivant l&#039;indicateur&amp;lt;br /&amp;gt; # fwmark des paquets (ceux-ci sont positionnés avec iptables un peu plus&amp;lt;br /&amp;gt; # loin). La classe de priorité par défaut à été mise à 1:26 de telle sorte&amp;lt;br /&amp;gt; # que les paquets qui ne sont pas marqués se retrouvent dans la classe de&amp;lt;br /&amp;gt; # priorité la plus faible.&amp;lt;br /&amp;gt; tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 20 fw flowid 1:20&amp;lt;br /&amp;gt; tc filter add dev imq0 parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de MONLIMITEUR-IN à la table de modification des paquets d&#039;iptables&amp;lt;br /&amp;gt; iptables -t mangle -N MONLIMITEUR-IN&amp;lt;br /&amp;gt; iptables -t mangle -I PREROUTING -i $DEV -j MONLIMITEUR-IN&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # ajout de fwmark pour classer les différents types de trafic&amp;lt;br /&amp;gt; # - fwmark est positionné de 20 à 21 suivant la classe. 20 correspond à la&amp;lt;br /&amp;gt; # priorité la plus forte.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Forte priorité pour les paquets non TCP&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p ! tcp -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Les petits paquets TCP sont probablement des ACK&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp -m length --length :64 -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --dport ssh -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # shell sécurisé&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --sport ssh -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --dport telnet -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # telnet (hum ...)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -p tcp --sport telnet -j MARK --set-mark 20&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Répétition - les paquets sans marque sont positionnés à 21 (faible priorité)&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -m mark --mark 0 -j MARK --set-mark 21&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # on envoie les paquets précédents à l&#039;interface imq0.&amp;lt;br /&amp;gt; iptables -t mangle -A MONLIMITEUR-IN -j IMQ&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; # Fin de la limitation de trafic entrant.&amp;lt;br /&amp;gt; #&amp;lt;br /&amp;gt; ####################################################&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; echo &amp;quot;Limitation de trafic entrant activée sur $DEV. Débit: ${RATEDN}kbit/sec.&amp;quot; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Script de visualisation des files d&#039;attentes ==&lt;br /&gt;
&lt;br /&gt;
Le script suivant visualise les files d&#039;attentes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; #!/bin/bash &amp;lt;br /&amp;gt;echo &#039;Qdisc&#039; &amp;lt;br /&amp;gt;tc -s qdisc show dev eth0 &amp;lt;br /&amp;gt;echo &#039;Classes&#039; &amp;lt;br /&amp;gt;tc -s class show dev eth0 &amp;lt;br /&amp;gt;echo &#039;Filter&#039; &amp;lt;br /&amp;gt;tc -s filter show dev eth0&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
J&#039;ai essayé à travers cet article de vous ammener un maximum de renseignements, cependant, je n&#039;ai pas la prétention d&#039;en faire un document référence (il y a l&#039;excellent [http://ftp.traduc.org/doc-vf/HOWTO/lecture/HOWTO/Adv-Routing-HOWTO.html  HOWTO QoS ]pour cela). Toutes les remarques sont les bienvenues, il serait intéressant de faire évoluer ce présent document avec les commentaires que vous y apporterez. Si vous avez des scripts HTB.init, ou CBQ.init perso, n&#039;hesitez pas à me les envoyer, je les rajouterai dans cet article.&lt;br /&gt;
&lt;br /&gt;
Pour me contacter : [mailto:guitarparts@fr.st guitarparts@fr.st]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Julien Lecubin le 25/05/2003.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 25/05/2003, Julien Lecubin&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=6449</id>
		<title>Lea Linux:Rapport d&#039;erreurs</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=6449"/>
		<updated>2005-10-12T12:33:33Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* À régler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bugues ==&lt;br /&gt;
=== À régler ===&lt;br /&gt;
&lt;br /&gt;
* problème de traduction : tous les messages de médiawiki ne sont pas traduits, certains sont MAL traduits, merci de signaler ici les problèmes rencontrés.&lt;br /&gt;
* il semblerait que l&#039;extension &amp;quot;rss&amp;quot; qui permet de d&#039;inclure des rss parte plus ou moins en vrille... je pense utiliser un script de récupération des rss dans la crontab&lt;br /&gt;
** Je n’ai rien remarqué de spécial, qu’est-ce qui ne va pas ? [[Utilisateur:Nicola|Nicola]]&lt;br /&gt;
** Lorsque la page doit être recréée, parfois, elle met un temps infini à se recharger (mais c&#039;est loin d&#039;être régulier : en tout cas, j&#039;ai plus eu ce pb depuis que j&#039;ai supprimé les lien &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;rss&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;)&lt;br /&gt;
* problèmes avec les catégories [[Special:Categories]]&lt;br /&gt;
** quel contenu mettre dans les pages de catégorie ? (Note de Fred: laissons faire le temps)&lt;br /&gt;
* export autre (ODT, xhtml, docbook?) (pas urgent)&lt;br /&gt;
* css &amp;quot;printable&amp;quot; (urgent)&lt;br /&gt;
* correction/suppression des pages &amp;quot;daubé&amp;quot;&lt;br /&gt;
* que faire de nawak&lt;br /&gt;
  -&amp;gt; (jice) tu parles des docs ou du logiciel ? pour les docs, elles ne sont pas importées, et le logiciel ne va plus servir, donc je répondrais : rien ;-)&lt;br /&gt;
* sur la gauche le &#039;&#039;Découvrez et contribuez à Léa&#039;&#039; (juste en dessous du pavé &#039;&#039;Accueil - user - créer un compte - version imprimable | pdf - aide&#039;&#039;) sort du cadre (Firefox 1.5 beta 1)&lt;br /&gt;
* (jiel) je sais pas si c&#039;est vraiment un bug, mais dans les articles y&#039;a plus l&#039;annee de creation des articles (là ou est le copyright). Ca pourrait être utile de se rappeler la date de création des articles qui datent d&#039;avant le wiki (mais ptet est-ce dans l&#039;historique de l&#039;article?).&lt;br /&gt;
** c&#039;est faux en général il y a en fin d&#039;article : (c&#039;est un exemple) : &lt;br /&gt;
:::Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été &lt;br /&gt;
::: convertie avec HTML::WikiConverter. Elle fut créée par Anne le &lt;br /&gt;
::: 02/03/2003.&lt;br /&gt;
::: Copyright &lt;br /&gt;
::: Copyright © 02/03/2003, Anne&lt;br /&gt;
* le &#039;&#039;changelog&#039;&#039; bureaucrate ne montre pas le statut acquis&lt;br /&gt;
:: bug de médiawiki : faire un rapport de bug à médiawiki ...&lt;br /&gt;
* Vu sur devel.lea-linux.org/cached/index/Leapro-pro_appli-egroupware.html, problème d&#039;affichage de l&#039;adresse mail d&#039;Anne.&lt;br /&gt;
&lt;br /&gt;
=== Réglés ===&lt;br /&gt;
&lt;br /&gt;
* portage des commentaires de l&#039;ancien wiki dans le nouveau (les pages ne sont certainement pas &amp;quot;trés&amp;quot; correctes, mais ça permettra de les relire&lt;br /&gt;
* lien &amp;quot;ajouter un commentaire en bas de chaque page&amp;quot; qui ajoute un truc à la page &amp;quot;discussion&amp;quot;&lt;br /&gt;
* maj mediawik 1.5rc4 -&amp;gt; mediwiki 1.5.0&lt;br /&gt;
* CSS / Skin LéaLinux : liens d&#039;édition plus lisible + repositionnement des liens d&#039;édition du &#039;&#039;bas&#039;&#039;&lt;br /&gt;
* [[Utilisateur:Lea|Lea]] 3 oct 2005 à 17:20 (CEST) (réglé) (jiel) confirmation par courriel lors de la création de compte: quand je clique sur le lien pour confirmer, j&#039;ai &amp;quot;The requested URL /cached/index/Special:Confirmemail/[lettresetchiffres].html was not found on this server.&amp;quot;.&lt;br /&gt;
* 3 oct 2005 à 01:21 (CEST)  Les &amp;quot;Fiches pratiques&amp;quot; n&#039;affichent rien&lt;br /&gt;
** Ça m’étonnerait… lesquelles ?&lt;br /&gt;
** Moi rien ne m&#039;étonne, mais par contre, je n&#039;ai pas ce problème, de quelle fiche tu parles (url ?) et depuis quelles pages obtiens tu ces url ? (url ?)&lt;br /&gt;
** (jiel) Je pense qu&#039;il veut dire en cliquant dans le menu dans la boite en haut du site, le lien est &amp;quot;http://devel.lea-linux.org/cached/index/Fiches:index.html#&amp;quot; au lieu de &amp;quot;http://devel.lea-linux.org/cached/index/Fiches:Index.html#&amp;quot; (juste la maj qui change en fait). Les fiches sont donc accessibles sur la page d&#039;accueil en bas, mais pas dans la boite en haut.&lt;br /&gt;
** (fred) si c&#039;est ça : alors c&#039;est réglé ... je n&#039;avais pas ce &amp;quot;pb&amp;quot; sur konqi, ça faisait une redirection automatiquement vers la bonne page ... étrange...&lt;br /&gt;
* (2 oct 2005 à 18:22 (CEST) réglé) Pour l&#039;activation du compte, lorsque je clique sur l&#039;url de confirmation une fenêtre de connexion s&#039;affiche, mais il n&#039;a pas l&#039;air d&#039;apprécier mon login/passwd (me réaffiche la fenêtre de login) &lt;br /&gt;
** note : pour activer le compte, il n&#039;est rien besoin de faire : il est activé, d&#039;ailleur tu as posté ce text VIA ce compte ce qui prouve que tu es bien enregistré ET que ton compte fonctionne&lt;br /&gt;
** par contre, la confirmation d&#039;email ne semble pas fonctionner pour toi, puis-je te demander de m&#039;envoyer, l&#039;url qui est dans le mail de confirmation (mais avant, peux-tu recliquer dessus, je crois que je vois ou est le pb et j&#039;espere que je viens de le corriger).&lt;br /&gt;
* je n’arrive plus à éditer ma page utilisateur (nicola), il dit que je ne suis pas connecté, même problème avec pas mal de pages spéciales (semble réglé)&lt;br /&gt;
* création de page (lien en rouge) qui bugue (il y a parfois un / en trop entre edit et index) (may be fixed)&lt;br /&gt;
* la balise &#039;&#039;code&#039;&#039; crée un retour à la ligne (fixed)&lt;br /&gt;
* problème avec les &amp;quot;?&amp;quot; dans les noms de pages (enfin j&#039;espère)&lt;br /&gt;
* problème avec les login ne commençant pas par une majuscule : un ucfirst est fait pour éviter ce pb&lt;br /&gt;
* support d’utf-8 (si ce n’est pas déjà fait) : (note de fred: mediawiki est nativement en utf-8) &lt;br /&gt;
* contenu de l&#039;index : [[Accueil]] à revoir (urgent) : ce n&#039;est certes pas parfait, loin s&#039;en faut, mais un appel à contribution est lancé.&lt;br /&gt;
* export PDF (urgent) : version partiellement satisfaisante (à améliorer, mais plus tard) accessible via le bouton &amp;quot;Version pdf&amp;quot;.&lt;br /&gt;
* login sur nocache avec les identifiants mediawiki&lt;br /&gt;
* protection &amp;quot;fs-overflow&amp;quot; : les pages n&#039;existants pas ne génére rien dans le cache&lt;br /&gt;
* le bouton admin swap de &amp;quot;cached&amp;quot; à &amp;quot;nocache&amp;quot;&lt;br /&gt;
* lien des deux menus à voir (urgent) (FIXED)&lt;br /&gt;
* le renommage de page ne fonctionne pas comme il devrait : la redirection qui suit le renommage renvoie sur la page d&#039;Accueil plutôt que vers la bonne page (FIXED)&lt;br /&gt;
* dans le même ordre d&#039;idée lors de l&#039;upload d&#039;une image, l&#039;upload se fait bien mais la redirection qui suit l&#039;upload merdoit. (FIXED)&lt;br /&gt;
* problème avec les pages a un titre (ou un namespace) comportant des caractères accentués -&amp;gt; après la preview, ces caractères sont remplacés par : %xy%zt etc ... et ça plante le &amp;quot;title&amp;quot; (FRED:FIXED / putain d&#039;UTF-8 de mes deux !)&lt;br /&gt;
* problèmes avec les modèles (FRED:FIXED) :&lt;br /&gt;
** modification de la page Accueil car un modèle s&#039;utilise pour la page &amp;lt;nowiki&amp;gt;[[Modèle:Nom du modèle]]&amp;lt;/nowiki&amp;gt; avec le marqueur &amp;lt;nowiki&amp;gt;{{Nom du modèle}}&amp;lt;/nowiki&amp;gt; (FRED:FIXED)&lt;br /&gt;
** un seul niveau de catégorie, il faut éditer les pages des sous-catégories pour les inclure dans sa catégorie mère =&amp;gt; ajout de &amp;lt;nowiki&amp;gt;[[catégorie:nom de la catégorie mère]]&amp;lt;/nowiki&amp;gt; dans la page de la catégorie (Note de Fred: je ne vois pas vraiment ce que tu veux dire) (ST:FIXED par exemple [Catégorie:Applications] appartient à [Catégorie:Léa_pour_les_pros])&lt;br /&gt;
** l&#039;accès en lecture aux modèles en cache est interdit (demande d&#039;identification infinie) et ainsi les modèles ne sont pas résolus pour affichage : peut-être dû au problème de cache et caractères accentués&lt;br /&gt;
** cf doc http://fr.wikipedia.org/wiki/Aide:Modèle&lt;br /&gt;
* problème avec les liens mails, comment écrire un lien mailto en MediaWiki ? (FRED:FIXED) comme ça : mailto:capue@labas.com et pour éviter que ça merdoie : &amp;lt;nowiki&amp;gt;[mailto:capue@labas.com un joli nom]&amp;lt;/nowiki&amp;gt; donne : [mailto:capue@labas.com un joli nom]&lt;br /&gt;
* les sous sections, sous-sous sections etc... vautre le cache ex: [[Section/Page]] : FIXED (mais j&#039;ai l&#039;impression que les &amp;quot;rétro-lien&amp;quot; (ie: vers [[Section]] depuis [[Section/Page]] ne fonctionnent pas, pour une raison qui m&#039;échappe.&lt;br /&gt;
* version imprimable fonctionnelle&lt;br /&gt;
&lt;br /&gt;
== ChangeLog ==&lt;br /&gt;
* 2 oct 2005 à 18:20 (CEST)&lt;br /&gt;
** lien BugReport dans le menu de gauche&lt;br /&gt;
** cochage automatique (par défaut) de la case &amp;quot;minor edit&amp;quot; : je préfère qu&#039;on mette trop de &#039;minor change&#039; que le contraire&lt;br /&gt;
*** (jice) chez moi ca reste décoché&lt;br /&gt;
*** (fred) navigateur ? version ? javascript activé ? parce que moi j&#039;ai testé avec konqi 3.4.2 et firefox 1.0.6 et &amp;quot;chez moi ça marche&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Demandes de fonctionnalités ==&lt;br /&gt;
&lt;br /&gt;
* Dans le sommaire automatique :&lt;br /&gt;
** Soit, supprimer le titre de niveau 1&lt;br /&gt;
** Soit, supprimer la numérotation&lt;br /&gt;
* export xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* import auto xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* Utiliser automatiquement l’identifiant du phorum (Note de Fred: c&#039;est dans &#039;&#039;ma&#039;&#039; todolist)&lt;br /&gt;
* (jiel) aggrandir le textarea de la fenêtre d&#039;édition, ce serait plus pratique pour l&#039;édition ou la modif d&#039;articles. (Note: C&#039;est déjà possible, il suffit d&#039;éditer tes préférences -- non testé)&lt;br /&gt;
* ajouter en bas de chaque article les &amp;quot;autres ressources&amp;quot; des anciens articles&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=4001</id>
		<title>Utilisateur:Oudoubah</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Utilisateur:Oudoubah&amp;diff=4001"/>
		<updated>2005-10-01T08:51:36Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bonjour à toutes et à tous.&lt;br /&gt;
Ici c&#039;est une page pleine de vide!&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=3964</id>
		<title>Lea Linux:Rapport d&#039;erreurs</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=3964"/>
		<updated>2005-09-30T20:53:11Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* à régler : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bugs =&lt;br /&gt;
== à régler : ==&lt;br /&gt;
* problèmes avec les catégories [[Special:Categories]]&lt;br /&gt;
** quel contenu mettre dans les pages de catégorie ? (Note de Fred: laissons faire le temps)&lt;br /&gt;
* export autre (ODT, xhtml, docbook?) (pas urgent)&lt;br /&gt;
* css &amp;quot;printable&amp;quot; (urgent)&lt;br /&gt;
* correction/suppression des pages &amp;quot;daubé&amp;quot;&lt;br /&gt;
* que faire de nawak&lt;br /&gt;
* création de page (lien en rouge) qui bugue (il y a parfois un / en trop entre edit et index)&lt;br /&gt;
* je n’arrive plus à éditer ma page utilisateur (nicola), il dit que je ne suis pas connecté, même problème avec pas mal de pages spéciales&lt;br /&gt;
* Pour l&#039;activation du compte, lorsque je clique sur l&#039;url de confirmation une fenêtre de connexion s&#039;affiche, mais il n&#039;a pas l&#039;air d&#039;apprécier mon login/passwd (me réaffiche la fenêtre de login) &lt;br /&gt;
** note : pour activer le compte, il n&#039;est rien besoin de faire : il est activé, d&#039;ailleur tu as posté ce text VIA ce compte ce qui prouve que tu es bien enregistré ET que ton compte fonctionne&lt;br /&gt;
** par contre, la confirmation d&#039;email ne semble pas fonctionner pour toi, puis-je te demander de m&#039;envoyer, l&#039;url qui est dans le mail de confirmation (mais avant, peux-tu recliquer dessus, je crois que je vois ou est le pb et j&#039;espere que je viens de le corriger).&lt;br /&gt;
* sur la gauche le &#039;&#039;Découvrez et contribuez à Léa&#039;&#039; (juste en dessous du pavé &#039;&#039;Accueil - user - créer un compte - version imprimable | pdf - aide&#039;&#039;) sort du cadre (Firefox 1.5 beta 1)&lt;br /&gt;
&lt;br /&gt;
== réglés : ==&lt;br /&gt;
&lt;br /&gt;
* problème avec les &amp;quot;?&amp;quot; dans les noms de pages (enfin j&#039;espère)&lt;br /&gt;
* problème avec les login ne commençant pas par une majuscule : un ucfirst est fait pour éviter ce pb&lt;br /&gt;
* support d’utf-8 (si ce n’est pas déjà fait) : (note de fred: mediawiki est nativement en utf-8) &lt;br /&gt;
* contenu de l&#039;index : [[Accueil]] à revoir (urgent) : ce n&#039;est certes pas parfait, loin s&#039;en faut, mais un appel à contribution est lancé.&lt;br /&gt;
* export PDF (urgent) : version partiellement satisfaisante (à améliorer, mais plus tard) accessible via le bouton &amp;quot;Version pdf&amp;quot;.&lt;br /&gt;
* login sur nocache avec les identifiants mediawiki&lt;br /&gt;
* protection &amp;quot;fs-overflow&amp;quot; : les pages n&#039;existants pas ne génére rien dans le cache&lt;br /&gt;
* le bouton admin swap de &amp;quot;cached&amp;quot; à &amp;quot;nocache&amp;quot;&lt;br /&gt;
* lien des deux menus à voir (urgent) (FIXED)&lt;br /&gt;
* le renommage de page ne fonctionne pas comme il devrait : la redirection qui suit le renommage renvoie sur la page d&#039;Accueil plutôt que vers la bonne page (FIXED)&lt;br /&gt;
* dans le même ordre d&#039;idée lors de l&#039;upload d&#039;une image, l&#039;upload se fait bien mais la redirection qui suit l&#039;upload merdoit. (FIXED)&lt;br /&gt;
* problème avec les pages a un titre (ou un namespace) comportant des caractères accentués -&amp;gt; après la preview, ces caractères sont remplacés par : %xy%zt etc ... et ça plante le &amp;quot;title&amp;quot; (FRED:FIXED / putain d&#039;UTF-8 de mes deux !)&lt;br /&gt;
* problèmes avec les modèles (FRED:FIXED) :&lt;br /&gt;
** modification de la page Accueil car un modèle s&#039;utilise pour la page &amp;lt;nowiki&amp;gt;[[Modèle:Nom du modèle]]&amp;lt;/nowiki&amp;gt; avec le marqueur &amp;lt;nowiki&amp;gt;{{Nom du modèle}}&amp;lt;/nowiki&amp;gt; (FRED:FIXED)&lt;br /&gt;
** un seul niveau de catégorie, il faut éditer les pages des sous-catégories pour les inclure dans sa catégorie mère =&amp;gt; ajout de &amp;lt;nowiki&amp;gt;[[catégorie:nom de la catégorie mère]]&amp;lt;/nowiki&amp;gt; dans la page de la catégorie (Note de Fred: je ne vois pas vraiment ce que tu veux dire) (ST:FIXED par exemple [Catégorie:Applications] appartient à [Catégorie:Léa_pour_les_pros])&lt;br /&gt;
** l&#039;accès en lecture aux modèles en cache est interdit (demande d&#039;identification infinie) et ainsi les modèles ne sont pas résolus pour affichage : peut-être dû au problème de cache et caractères accentués&lt;br /&gt;
** cf doc http://fr.wikipedia.org/wiki/Aide:Modèle&lt;br /&gt;
* problème avec les liens mails, comment écrire un lien mailto en MediaWiki ? (FRED:FIXED) comme ça : mailto:capue@labas.com et pour éviter que ça merdoie : &amp;lt;nowiki&amp;gt;[mailto:capue@labas.com un joli nom]&amp;lt;/nowiki&amp;gt; donne : [mailto:capue@labas.com un joli nom]&lt;br /&gt;
* les sous sections, sous-sous sections etc... vautre le cache ex: [[Section/Page]] : FIXED (mais j&#039;ai l&#039;impression que les &amp;quot;rétro-lien&amp;quot; (ie: vers [[Section]] depuis [[Section/Page]] ne fonctionnent pas, pour une raison qui m&#039;échappe.&lt;br /&gt;
* version imprimable fonctionnelle&lt;br /&gt;
&lt;br /&gt;
= Wish list =&lt;br /&gt;
* Dans le sommaire automatique :&lt;br /&gt;
** Soit, supprimer le titre de niveau 1&lt;br /&gt;
** Soit, supprimer la numérotation&lt;br /&gt;
* export xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* import auto xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* Utiliser automatiquement l’identifiant du phorum (Note de Fred: c&#039;est dans &#039;&#039;ma&#039;&#039; todolist)&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Ma%C3%AEtriser_le_d%C3%A9marrage_d%27X_Window&amp;diff=3962</id>
		<title>Maîtriser le démarrage d&#039;X Window</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Ma%C3%AEtriser_le_d%C3%A9marrage_d%27X_Window&amp;diff=3962"/>
		<updated>2005-09-30T17:57:14Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Login graphique : possibilités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Paramétrer X Window]]&lt;br /&gt;
= Maîtriser le démarrage de X =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Maîtriser le démarrage de X&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://nasgaialinux.free.fr par Martial Daumas]&lt;br /&gt;
&lt;br /&gt;
Comment démarrer X facilement à partir de la console, et comment configurer les fichiers relatifs.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Si vous débutez sous linux, le système pour lancer une simple session X peut vous paraître obscur.&lt;br /&gt;
&lt;br /&gt;
En fait, en général, tout va bien jusqu&#039;au jour ou vous vous mettez en tête de personnaliser un petit peu les méthodes. Cela vient du fait que certaines distributions personnalisent les fichiers, ce qui n&#039;est pas une mauvaise chose en soit, car cela permet d&#039;utiliser linux directement après une première installation, sans avoir à toucher au moindre fichier de configuration (ce qui peut être délicat à faire sous Linux quand on découvre); cela dit, parfois les méthodes misent en oeuvres rendent des modifications personnelles (et c&#039;est quand même là que se situe un des avantage de Linux) assez difficiles.&lt;br /&gt;
&lt;br /&gt;
Nous allons donc voir des méthodes simples pour s&#039;en sortir, en nous basant tout simplement sur les très bons fichiers de configurations fournis avec X quand il est installé à partir des sources. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Avertissement ==&lt;br /&gt;
&lt;br /&gt;
étant donné la très grande diversité des approches et organisation des fichiers (&amp;lt;u&amp;gt;note de Jice&amp;lt;/u&amp;gt; : vivement la généralisation du [http://www.pathname.com/fhs/ FHS] - &#039;&#039;Filesystem Hierarchy Standard&#039;&#039; !) selon les distributions, il plus que que recommandé, si vous n&#039;êtes pas certain à 100% de ce que vous faites, de faire une copie préalable de ce qui sera modifié, afin de pouvoir revenir à l&#039;état précédent, ou revenir à la méthode livrée avec votre distribution si vous changez d&#039;avis après coup.&lt;br /&gt;
&lt;br /&gt;
Tout ce qui est dit ici concerne Xfree86 dans sa version 4.1.0, tenez en compte si votre version diffère. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Théorie ==&lt;br /&gt;
&lt;br /&gt;
=== Les fichiers et répertoires en jeu ===&lt;br /&gt;
&lt;br /&gt;
Avant de personnaliser, essayons de voir en gros comment est organisé X. Voici tout d&#039;abord le contenu du répertoire &amp;lt;tt&amp;gt;/etc/X11&amp;lt;/tt&amp;gt; : &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot; border=&amp;quot;BORDER&amp;quot; bgcolor=&amp;quot;#CCCCCC&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;app-defaults&amp;lt;/tt&amp;gt;&lt;br /&gt;
| On trouve ici les configurations par défaut pour les applications X comme &amp;lt;tt&amp;gt;xterm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;xedit&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;xclock&amp;lt;/tt&amp;gt;...&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;fs&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Font server. Le fichier config détermine la taille du cache du serveur de fontes, l&#039;emplacement des fichiers de log, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;lbxproxy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Pas abordé ici.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;proxymngr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Pas abordé ici.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;rstart&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Pas abordé ici.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;twm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;twm&amp;lt;/tt&amp;gt; est le gestionnaire de fenêtres par défaut de X. Il est minimaliste mais très configurable.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| X display manager. Gestionnaire de login (sessions X) par défaut. &amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;gdm&amp;lt;/tt&amp;gt; (gestionnaires de login de KDE et Gnome respectivement) se servent de aussi de ce fichier.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Programme pour initialiser une session X à partir de la console. Peut être lancé via la commande &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xkb&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Concerne le clavier.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xserver&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Permet de configurer la sécurité de serveur.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xsm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| X session manager. C&#039;est ce qui permet d&#039;avoir plusieurs profils (à travers &amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt; par exemple).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-generic.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;XF86Config&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Le fichier de configuration du/des serveurs graphiques.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-generic.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;XftConfig&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Configuration du serveur de fontes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Nous partons du principe que votre carte graphique est déjà bien configurée. &amp;lt;br /&amp;gt;On voit déjà qu&#039;il y aurait plus d&#039;une méthode pour arriver à nos fins, mais nous allons simplement utiliser &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt;, qui convient parfaitement à une utilisation simple.&lt;br /&gt;
&lt;br /&gt;
Le répertoire &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt; contient par défaut uniquement le fichier &amp;lt;tt&amp;gt;xinitrc&amp;lt;/tt&amp;gt; que voici (commenté) :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# définition fichiers système / utilisateur à chercher&lt;br /&gt;
 userresources=$HOME/.Xresources&lt;br /&gt;
 usermodmap=$HOME/.Xmodmap&lt;br /&gt;
 sysresources=/usr/X11R6/lib/X11/xinit/.Xresources&lt;br /&gt;
 sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
 # merge in defaults and keymaps&lt;br /&gt;
 # teste l&#039;existence des fichiers prédéfinis, et les&lt;br /&gt;
 # prend en compte si besoin.&lt;br /&gt;
 if [ -f $sysresources ]; then&lt;br /&gt;
     xrdb -merge $sysresources&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $sysmodmap ]; then&lt;br /&gt;
     xmodmap $sysmodmap&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $userresources ]; then&lt;br /&gt;
     xrdb -merge $userresources&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $usermodmap ]; then&lt;br /&gt;
     xmodmap $usermodmap&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 # start some nice programs&lt;br /&gt;
 # l&#039;environnement X par défaut. Si vous lancez X par un &lt;br /&gt;
 # simple startx, c&#039;est ce qui est lancé.&lt;br /&gt;
&lt;br /&gt;
 twm &amp;amp;&lt;br /&gt;
 xclock -geometry 50x50-1+1 &amp;amp;&lt;br /&gt;
 xterm -geometry 80x50+494+51 &amp;amp;&lt;br /&gt;
 xterm -geometry 80x20+494-0 &amp;amp;&lt;br /&gt;
 exec xterm -geometry 80x66+0+0 -name login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous voyons donc pourquoi l&#039;appel à &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt; lance par défaut &amp;lt;tt&amp;gt;twm&amp;lt;/tt&amp;gt; avec des &amp;lt;tt&amp;gt;xterm&amp;lt;/tt&amp;gt; et l&#039;horloge. En fait, &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt; est un simple script Bash qui se charge d&#039;appeler &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt; à votre place, en lui passant éventuellement un certain nombre de paramètres.&lt;br /&gt;
&lt;br /&gt;
Voici un fichier &amp;lt;tt&amp;gt;/usr/X11R6/startx&amp;lt;/tt&amp;gt; par défaut :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
 userclientrc=$HOME/.xinitrc&lt;br /&gt;
 userserverrc=$HOME/.xserverrc&lt;br /&gt;
 sysclientrc=/usr/X11R6/lib/X11/xinit/xinitrc&lt;br /&gt;
 sysserverrc=/usr/X11R6/lib/X11/xinit/xserverrc&lt;br /&gt;
 defaultclientargs=&amp;quot;&amp;quot;&lt;br /&gt;
 defaultserverargs=&amp;quot;&amp;quot;&lt;br /&gt;
 clientargs=&amp;quot;&amp;quot;&lt;br /&gt;
 serverargs=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 if [ -f $userclientrc ]; then&lt;br /&gt;
     defaultclientargs=$userclientrc&lt;br /&gt;
 else if [ -f $sysclientrc ]; then&lt;br /&gt;
     defaultclientargs=$sysclientrc&lt;br /&gt;
 fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $userserverrc ]; then&lt;br /&gt;
     defaultserverargs=$userserverrc&lt;br /&gt;
 else if [ -f $sysserverrc ]; then&lt;br /&gt;
     defaultserverargs=$sysserverrc&lt;br /&gt;
 fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 display=:0&lt;br /&gt;
 whoseargs=&amp;quot;client&amp;quot;&lt;br /&gt;
 while [ &amp;quot;x$1&amp;quot; != &amp;quot;x&amp;quot; ]; do&lt;br /&gt;
     case &amp;quot;$1&amp;quot; in&lt;br /&gt;
     --)&lt;br /&gt;
         whoseargs=&amp;quot;server&amp;quot;&lt;br /&gt;
         ;;&lt;br /&gt;
     *)&lt;br /&gt;
         if [ &amp;quot;$whoseargs&amp;quot; = &amp;quot;client&amp;quot; ]; then&lt;br /&gt;
             clientargs=&amp;quot;$clientargs $1&amp;quot;&lt;br /&gt;
         else&lt;br /&gt;
             serverargs=&amp;quot;$serverargs $1&amp;quot;&lt;br /&gt;
             case &amp;quot;$1&amp;quot; in&lt;br /&gt;
             :[0-9]*)&lt;br /&gt;
                 display=&amp;quot;$1&amp;quot;&lt;br /&gt;
                 ;;&lt;br /&gt;
             esac&lt;br /&gt;
         fi&lt;br /&gt;
         ;;&lt;br /&gt;
     esac&lt;br /&gt;
     shift&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 if [ x&amp;quot;$clientargs&amp;quot; = x ]; then&lt;br /&gt;
     clientargs=&amp;quot;$defaultclientargs&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 if [ x&amp;quot;$serverargs&amp;quot; = x ]; then&lt;br /&gt;
     serverargs=&amp;quot;$defaultserverargs&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
     &lt;br /&gt;
 if [ X&amp;quot;$XAUTHORITY&amp;quot; = X ]; then&lt;br /&gt;
     export XAUTHORITY=$HOME/.Xauthority&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 removelist=&lt;br /&gt;
&lt;br /&gt;
 # set up default Xauth info for this machine&lt;br /&gt;
 mcookie=`mcookie`&lt;br /&gt;
 for displayname in $display `hostname -f`$display; do&lt;br /&gt;
     if ! xauth list &amp;quot;$displayname&amp;quot; | grep &amp;quot;$displayname &amp;quot; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
         xauth add $displayname . $mcookie&lt;br /&gt;
         removelist=&amp;quot;$displayname $removelist&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 xinit $clientargs -- $serverargs&lt;br /&gt;
&lt;br /&gt;
 if [ x&amp;quot;$removelist&amp;quot; != x ]; then&lt;br /&gt;
     xauth remove $removelist&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if command -v deallocvt &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
     deallocvt&lt;br /&gt;
 fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Pas besoin de commenter ce script assez simple, retenons simplement cette ligne:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xinit $clientargs -- $serverargs&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous comprenons que pour l&#039;instant, il n&#039;y qu&#039;un environnement accessible à la ligne de commande. Les paramètres &#039;&#039;&#039;$clientargs -- $serverargs&#039;&#039;&#039; permettant de jouer sur le serveur graphique (quel serveur, résolution etc....) mais pas de choisir un window manager, qui est pourtant souvent notre souhait.&lt;br /&gt;
&lt;br /&gt;
Nous allons maintenant voir plusieurs cas qui peuvent vous intéresser. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Pratique ==&lt;br /&gt;
&lt;br /&gt;
Les deux premiers cas concernent les logins dits &amp;quot;texte&amp;quot;, lorsque votre ordinateur ne démarre pas en mode graphique par défaut. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== login texte, un seul WM. ===&lt;br /&gt;
&lt;br /&gt;
C&#039;est le cas le plus simple : il suffit de choisir un window manager par défaut pour tous les utilisateurs et de modifier en conséquence les fichiers.&lt;br /&gt;
&lt;br /&gt;
Modifiez la fin de xinitrc pour qu&#039;il ressemble à ça :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# start some nice programs&lt;br /&gt;
 # l&#039;environnement X par défaut. Si vous lancez X par un &lt;br /&gt;
 # simple startx, c&#039;est ce qui est lancé.&lt;br /&gt;
&lt;br /&gt;
 # lançons un window manager (ça peut être ce qu&#039;on veut: xfce, &lt;br /&gt;
 # sawfish, gnome-session etc...)&lt;br /&gt;
 exec wmaker &lt;br /&gt;
&lt;br /&gt;
 # si vous voulez que soit lancez des programmes décommentez &lt;br /&gt;
 # cela ou rajoutez des commandes (ça peut être  utile dans &lt;br /&gt;
 # certains cas)&lt;br /&gt;
&lt;br /&gt;
 #xclock -geometry 50x50-1+1 &amp;amp;&lt;br /&gt;
 #xterm -geometry 80x50+494+51 &amp;amp;&lt;br /&gt;
 #xterm -geometry 80x20+494-0 &amp;amp;&lt;br /&gt;
 #exec xterm -geometry 80x66+0+0 -name login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour lancer le window manager choisi, vous n&#039;avez plus qu&#039;à taper &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt; ou &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt;. Pour que chaque utilisateur ait son propre profil, il suffit de créer un fichier &amp;lt;tt&amp;gt;.xinitrc&amp;lt;/tt&amp;gt; dans son répertoire &amp;lt;tt&amp;gt;$HOME&amp;lt;/tt&amp;gt; (répertoire /home/utilisateur), il remplacera alors le fichier général &amp;lt;tt&amp;gt;/etc/X11/xinit/xinitrc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A noter : si vous voulez passer un paramètre au serveur, utilisez plutôt startx. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== login texte, multi WM ===&lt;br /&gt;
&lt;br /&gt;
Vous voulez lancer des sessions X, mais pas toujours avec le même window manager ? C&#039;est très simple, il y a plein de manières de le faire. Voici la méthode la plus simple :&lt;br /&gt;
&lt;br /&gt;
Créez un fichier &amp;lt;tt&amp;gt;$HOME/.xinitrc&amp;lt;/tt&amp;gt; en remplaçant les dernières lignes des exemples précédents par : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;exec $1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pourrez ainsi appeler xinit en lui passant comme paramètre le window manager à lancer (&#039;&#039;&#039;$1&#039;&#039;&#039;). Par exemple, pour lancer KDE, tapez: &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit startkde&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et pour lancer windowmaker, tapez: &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit wmaker&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous trouvez cela pénible à taper à chaque fois, créez des raccourcis dans un fichier de configuration de votre shell. Pour bash, créez ou modifier un fichier &amp;lt;tt&amp;gt;$HOME/.bashrc&amp;lt;/tt&amp;gt; et ajoutez y ces lignes:&lt;br /&gt;
&lt;br /&gt;
 alias KDE=&#039;xinit startkde&#039;&lt;br /&gt;
 alias WM=&#039;xinit wmaker&#039;&lt;br /&gt;
 alias GNO=&#039;xinit gnome-session&#039;&lt;br /&gt;
 ...et ainsi de suite.....&lt;br /&gt;
&lt;br /&gt;
Comme cela, la simple saisie de KDE vous lancera kde. On peut difficilement faire plus simple ;o) On pourrait même faire un petit menu qui présente les différentes possibilités, ou ne faire apparaître ce menu que sur une console donnée. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autologin ===&lt;br /&gt;
&lt;br /&gt;
Si vous voulez qu&#039;un environnement prédéfini démarre dès que vous avez donné votre login / password, il suffit de rajouter ceci dans votre &amp;lt;tt&amp;gt;.bashrc&amp;lt;/tt&amp;gt; (plutôt à la fin) :&lt;br /&gt;
&lt;br /&gt;
 WM_DEFAUT=wmaker&lt;br /&gt;
 xinit $WM_DEFAUT&lt;br /&gt;
&lt;br /&gt;
IL faut donc que les alias apparaissent avant cette commande dans le fichier. Tel quel, c&#039;est inutilisable, car ça va faire une erreur à chaque ouverture de console texte ou de xterm supplémentaire, une session X étant déjà en cours. Nous allons juste rajouter un test qui ne déclenchera X que si on se logue sur une console donnée. étant donné que la console qui vous est présentée par défaut au démarrage est tty1, tenez en compte pour choisir sur quelle console faire le test. Pour un utilisation occasionnelle de X, utilisez plutôt tty2 (jusqu&#039;à 12). Ainsi, &amp;lt;tt&amp;gt;CTRL+ALT+F2&amp;lt;/tt&amp;gt; vous passera sur tty2, login / password et X.&lt;br /&gt;
&lt;br /&gt;
 if [ `tty` == /dev/tty1 ]; then &lt;br /&gt;
         WM_DEFAUT=wmaker&lt;br /&gt;
         xinit $WM_DEFAUT&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Si vous voulez que la console réservé au lancement de X reste accessible une fois X lancé, remplacez: &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit $WM_DEFAUT&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;par : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit $WM_DEFAUT &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Login graphique : possibilités ===&lt;br /&gt;
&lt;br /&gt;
Touchons juste un mot des gestionnaires de login (ou gestionnaire d&#039;écran, an anglais display manager) graphiques.&lt;br /&gt;
&lt;br /&gt;
Le plus fréquent est &#039;&#039;&#039;&amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt;&#039;&#039;&#039;, qui fait partie de KDE. Pas grand chose à dire sinon que c&#039;est sans doute le plus convivial, mais il prend beaucoup de ressources et est donc à éviter sur de petites machines (KDE aussi d&#039;ailleurs).&lt;br /&gt;
&lt;br /&gt;
Il y a aussi &#039;&#039;&#039;&amp;lt;tt&amp;gt;gdm&amp;lt;/tt&amp;gt;&#039;&#039;&#039;, le login qui vient avec Gnome, plus léger, assez simple a configurer.&lt;br /&gt;
&lt;br /&gt;
Reste enfin le standard qu&#039;est &#039;&#039;&#039;&amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt;&#039;&#039;&#039; : bien que &amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;gdm&amp;lt;/tt&amp;gt; soit des frontends a &amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt;, il est différent, car il a une notion de sessions X qui est très éloignée de celle vues avec KDE ou GNOME. Il est plutôt à réserver à des situations de connexions par réseau et conjointement à divers logiciels ou applications spécialisées.&lt;br /&gt;
&lt;br /&gt;
Il existe d&#039;autres solutions moins connues, pas toutes stables. Je ne mentionnerai ici qu&#039;un seul cas : &amp;lt;tt&amp;gt;[http://www.ordiluc.net/selectwm/ selectwm]&amp;lt;/tt&amp;gt;, c&#039;est celui dont je me sers car il est très léger, super simple, convivial et rapide. Pour une utilisation normale, je trouve qu&#039;il surpasse de loin tout les autres. Je le recommande vivement, essayez-le au moins une fois, il pourrait bien vous convaincre. Il faut &amp;lt;tt&amp;gt;glib&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;gtk+&amp;lt;/tt&amp;gt; (librairies livrées avec Gnome) pour compiler ou installer ce soft.&lt;br /&gt;
&lt;br /&gt;
Avec ce que nous avons vu, vous n&#039;aurez aucun mal personnaliser &amp;lt;tt&amp;gt;selectwm&amp;lt;/tt&amp;gt;, et à l&#039;installer comme bon vous semble. Pour remplacer définitivement kdm, il vous faudra sans doute créer un script de remplacement à celui qui gère kdm dans &amp;lt;tt&amp;gt;/etc/init.d/&amp;lt;/tt&amp;gt; ou &amp;lt;tt&amp;gt;/etc/rc.d/init.d/&amp;lt;/tt&amp;gt; (en tant que service), mais c&#039;est tout simple à faire. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Pour que tous ces exemples marchent, il est impératif que les programmes appelés soit dans votre path (le chemin de recherche des exécutables, qui se matérialise sous la forme de la variable d&#039;environnement &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt;). Il faut donc que &amp;lt;tt&amp;gt;/etc/X11R6/bin&amp;lt;/tt&amp;gt; fasse partie de votre path pour que les programmes soient trouvés sans le chemin complet. Cela vaut aussi pour les différents window managers. Pour savoir si un exécutable fait partie de votre &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt;, taper : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$ type -p commande&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et pour modifier le path dans un fichier de configuration du bash (ex : .bashrc) : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export PATH=$PATH:/nouveau/chemin/bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Martial Daumas le 16/09/2001.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 16/09/2001, Martial Daumas&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Ma%C3%AEtriser_le_d%C3%A9marrage_d%27X_Window&amp;diff=3959</id>
		<title>Maîtriser le démarrage d&#039;X Window</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Ma%C3%AEtriser_le_d%C3%A9marrage_d%27X_Window&amp;diff=3959"/>
		<updated>2005-09-30T17:48:27Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* login texte, multi WM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Paramétrer X Window]]&lt;br /&gt;
= Maîtriser le démarrage de X =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Maîtriser le démarrage de X&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://nasgaialinux.free.fr par Martial Daumas]&lt;br /&gt;
&lt;br /&gt;
Comment démarrer X facilement à partir de la console, et comment configurer les fichiers relatifs.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Si vous débutez sous linux, le système pour lancer une simple session X peut vous paraître obscur.&lt;br /&gt;
&lt;br /&gt;
En fait, en général, tout va bien jusqu&#039;au jour ou vous vous mettez en tête de personnaliser un petit peu les méthodes. Cela vient du fait que certaines distributions personnalisent les fichiers, ce qui n&#039;est pas une mauvaise chose en soit, car cela permet d&#039;utiliser linux directement après une première installation, sans avoir à toucher au moindre fichier de configuration (ce qui peut être délicat à faire sous Linux quand on découvre); cela dit, parfois les méthodes misent en oeuvres rendent des modifications personnelles (et c&#039;est quand même là que se situe un des avantage de Linux) assez difficiles.&lt;br /&gt;
&lt;br /&gt;
Nous allons donc voir des méthodes simples pour s&#039;en sortir, en nous basant tout simplement sur les très bons fichiers de configurations fournis avec X quand il est installé à partir des sources. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Avertissement ==&lt;br /&gt;
&lt;br /&gt;
étant donné la très grande diversité des approches et organisation des fichiers (&amp;lt;u&amp;gt;note de Jice&amp;lt;/u&amp;gt; : vivement la généralisation du [http://www.pathname.com/fhs/ FHS] - &#039;&#039;Filesystem Hierarchy Standard&#039;&#039; !) selon les distributions, il plus que que recommandé, si vous n&#039;êtes pas certain à 100% de ce que vous faites, de faire une copie préalable de ce qui sera modifié, afin de pouvoir revenir à l&#039;état précédent, ou revenir à la méthode livrée avec votre distribution si vous changez d&#039;avis après coup.&lt;br /&gt;
&lt;br /&gt;
Tout ce qui est dit ici concerne Xfree86 dans sa version 4.1.0, tenez en compte si votre version diffère. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Théorie ==&lt;br /&gt;
&lt;br /&gt;
=== Les fichiers et répertoires en jeu ===&lt;br /&gt;
&lt;br /&gt;
Avant de personnaliser, essayons de voir en gros comment est organisé X. Voici tout d&#039;abord le contenu du répertoire &amp;lt;tt&amp;gt;/etc/X11&amp;lt;/tt&amp;gt; : &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;90%&amp;quot; border=&amp;quot;BORDER&amp;quot; bgcolor=&amp;quot;#CCCCCC&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;app-defaults&amp;lt;/tt&amp;gt;&lt;br /&gt;
| On trouve ici les configurations par défaut pour les applications X comme &amp;lt;tt&amp;gt;xterm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;xedit&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;xclock&amp;lt;/tt&amp;gt;...&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;fs&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Font server. Le fichier config détermine la taille du cache du serveur de fontes, l&#039;emplacement des fichiers de log, etc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;lbxproxy&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Pas abordé ici.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;proxymngr&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Pas abordé ici.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;rstart&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Pas abordé ici.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;twm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| &amp;lt;tt&amp;gt;twm&amp;lt;/tt&amp;gt; est le gestionnaire de fenêtres par défaut de X. Il est minimaliste mais très configurable.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| X display manager. Gestionnaire de login (sessions X) par défaut. &amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;gdm&amp;lt;/tt&amp;gt; (gestionnaires de login de KDE et Gnome respectivement) se servent de aussi de ce fichier.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Programme pour initialiser une session X à partir de la console. Peut être lancé via la commande &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xkb&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Concerne le clavier.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xserver&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Permet de configurer la sécurité de serveur.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-folder.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;xsm&amp;lt;/tt&amp;gt;&lt;br /&gt;
| X session manager. C&#039;est ce qui permet d&#039;avoir plusieurs profils (à travers &amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt; par exemple).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-generic.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;XF86Config&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Le fichier de configuration du/des serveurs graphiques.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
[[Image:startx-generic.gif]]&lt;br /&gt;
| bgcolor=&amp;quot;#BBBBBB&amp;quot; | &amp;lt;tt&amp;gt;XftConfig&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Configuration du serveur de fontes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Nous partons du principe que votre carte graphique est déjà bien configurée. &amp;lt;br /&amp;gt;On voit déjà qu&#039;il y aurait plus d&#039;une méthode pour arriver à nos fins, mais nous allons simplement utiliser &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt;, qui convient parfaitement à une utilisation simple.&lt;br /&gt;
&lt;br /&gt;
Le répertoire &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt; contient par défaut uniquement le fichier &amp;lt;tt&amp;gt;xinitrc&amp;lt;/tt&amp;gt; que voici (commenté) :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# définition fichiers système / utilisateur à chercher&lt;br /&gt;
 userresources=$HOME/.Xresources&lt;br /&gt;
 usermodmap=$HOME/.Xmodmap&lt;br /&gt;
 sysresources=/usr/X11R6/lib/X11/xinit/.Xresources&lt;br /&gt;
 sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap&lt;br /&gt;
&lt;br /&gt;
 # merge in defaults and keymaps&lt;br /&gt;
 # teste l&#039;existence des fichiers prédéfinis, et les&lt;br /&gt;
 # prend en compte si besoin.&lt;br /&gt;
 if [ -f $sysresources ]; then&lt;br /&gt;
     xrdb -merge $sysresources&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $sysmodmap ]; then&lt;br /&gt;
     xmodmap $sysmodmap&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $userresources ]; then&lt;br /&gt;
     xrdb -merge $userresources&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $usermodmap ]; then&lt;br /&gt;
     xmodmap $usermodmap&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 # start some nice programs&lt;br /&gt;
 # l&#039;environnement X par défaut. Si vous lancez X par un &lt;br /&gt;
 # simple startx, c&#039;est ce qui est lancé.&lt;br /&gt;
&lt;br /&gt;
 twm &amp;amp;&lt;br /&gt;
 xclock -geometry 50x50-1+1 &amp;amp;&lt;br /&gt;
 xterm -geometry 80x50+494+51 &amp;amp;&lt;br /&gt;
 xterm -geometry 80x20+494-0 &amp;amp;&lt;br /&gt;
 exec xterm -geometry 80x66+0+0 -name login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nous voyons donc pourquoi l&#039;appel à &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt; lance par défaut &amp;lt;tt&amp;gt;twm&amp;lt;/tt&amp;gt; avec des &amp;lt;tt&amp;gt;xterm&amp;lt;/tt&amp;gt; et l&#039;horloge. En fait, &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt; est un simple script Bash qui se charge d&#039;appeler &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt; à votre place, en lui passant éventuellement un certain nombre de paramètres.&lt;br /&gt;
&lt;br /&gt;
Voici un fichier &amp;lt;tt&amp;gt;/usr/X11R6/startx&amp;lt;/tt&amp;gt; par défaut :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
 userclientrc=$HOME/.xinitrc&lt;br /&gt;
 userserverrc=$HOME/.xserverrc&lt;br /&gt;
 sysclientrc=/usr/X11R6/lib/X11/xinit/xinitrc&lt;br /&gt;
 sysserverrc=/usr/X11R6/lib/X11/xinit/xserverrc&lt;br /&gt;
 defaultclientargs=&amp;quot;&amp;quot;&lt;br /&gt;
 defaultserverargs=&amp;quot;&amp;quot;&lt;br /&gt;
 clientargs=&amp;quot;&amp;quot;&lt;br /&gt;
 serverargs=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 if [ -f $userclientrc ]; then&lt;br /&gt;
     defaultclientargs=$userclientrc&lt;br /&gt;
 else if [ -f $sysclientrc ]; then&lt;br /&gt;
     defaultclientargs=$sysclientrc&lt;br /&gt;
 fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if [ -f $userserverrc ]; then&lt;br /&gt;
     defaultserverargs=$userserverrc&lt;br /&gt;
 else if [ -f $sysserverrc ]; then&lt;br /&gt;
     defaultserverargs=$sysserverrc&lt;br /&gt;
 fi&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 display=:0&lt;br /&gt;
 whoseargs=&amp;quot;client&amp;quot;&lt;br /&gt;
 while [ &amp;quot;x$1&amp;quot; != &amp;quot;x&amp;quot; ]; do&lt;br /&gt;
     case &amp;quot;$1&amp;quot; in&lt;br /&gt;
     --)&lt;br /&gt;
         whoseargs=&amp;quot;server&amp;quot;&lt;br /&gt;
         ;;&lt;br /&gt;
     *)&lt;br /&gt;
         if [ &amp;quot;$whoseargs&amp;quot; = &amp;quot;client&amp;quot; ]; then&lt;br /&gt;
             clientargs=&amp;quot;$clientargs $1&amp;quot;&lt;br /&gt;
         else&lt;br /&gt;
             serverargs=&amp;quot;$serverargs $1&amp;quot;&lt;br /&gt;
             case &amp;quot;$1&amp;quot; in&lt;br /&gt;
             :[0-9]*)&lt;br /&gt;
                 display=&amp;quot;$1&amp;quot;&lt;br /&gt;
                 ;;&lt;br /&gt;
             esac&lt;br /&gt;
         fi&lt;br /&gt;
         ;;&lt;br /&gt;
     esac&lt;br /&gt;
     shift&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 if [ x&amp;quot;$clientargs&amp;quot; = x ]; then&lt;br /&gt;
     clientargs=&amp;quot;$defaultclientargs&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 if [ x&amp;quot;$serverargs&amp;quot; = x ]; then&lt;br /&gt;
     serverargs=&amp;quot;$defaultserverargs&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
     &lt;br /&gt;
 if [ X&amp;quot;$XAUTHORITY&amp;quot; = X ]; then&lt;br /&gt;
     export XAUTHORITY=$HOME/.Xauthority&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 removelist=&lt;br /&gt;
&lt;br /&gt;
 # set up default Xauth info for this machine&lt;br /&gt;
 mcookie=`mcookie`&lt;br /&gt;
 for displayname in $display `hostname -f`$display; do&lt;br /&gt;
     if ! xauth list &amp;quot;$displayname&amp;quot; | grep &amp;quot;$displayname &amp;quot; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
         xauth add $displayname . $mcookie&lt;br /&gt;
         removelist=&amp;quot;$displayname $removelist&amp;quot;&lt;br /&gt;
     fi&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
 xinit $clientargs -- $serverargs&lt;br /&gt;
&lt;br /&gt;
 if [ x&amp;quot;$removelist&amp;quot; != x ]; then&lt;br /&gt;
     xauth remove $removelist&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
 if command -v deallocvt &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&lt;br /&gt;
     deallocvt&lt;br /&gt;
 fi&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;Pas besoin de commenter ce script assez simple, retenons simplement cette ligne:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;xinit $clientargs -- $serverargs&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et nous comprenons que pour l&#039;instant, il n&#039;y qu&#039;un environnement accessible à la ligne de commande. Les paramètres &#039;&#039;&#039;$clientargs -- $serverargs&#039;&#039;&#039; permettant de jouer sur le serveur graphique (quel serveur, résolution etc....) mais pas de choisir un window manager, qui est pourtant souvent notre souhait.&lt;br /&gt;
&lt;br /&gt;
Nous allons maintenant voir plusieurs cas qui peuvent vous intéresser. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Pratique ==&lt;br /&gt;
&lt;br /&gt;
Les deux premiers cas concernent les logins dits &amp;quot;texte&amp;quot;, lorsque votre ordinateur ne démarre pas en mode graphique par défaut. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== login texte, un seul WM. ===&lt;br /&gt;
&lt;br /&gt;
C&#039;est le cas le plus simple : il suffit de choisir un window manager par défaut pour tous les utilisateurs et de modifier en conséquence les fichiers.&lt;br /&gt;
&lt;br /&gt;
Modifiez la fin de xinitrc pour qu&#039;il ressemble à ça :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;# start some nice programs&lt;br /&gt;
 # l&#039;environnement X par défaut. Si vous lancez X par un &lt;br /&gt;
 # simple startx, c&#039;est ce qui est lancé.&lt;br /&gt;
&lt;br /&gt;
 # lançons un window manager (ça peut être ce qu&#039;on veut: xfce, &lt;br /&gt;
 # sawfish, gnome-session etc...)&lt;br /&gt;
 exec wmaker &lt;br /&gt;
&lt;br /&gt;
 # si vous voulez que soit lancez des programmes décommentez &lt;br /&gt;
 # cela ou rajoutez des commandes (ça peut être  utile dans &lt;br /&gt;
 # certains cas)&lt;br /&gt;
&lt;br /&gt;
 #xclock -geometry 50x50-1+1 &amp;amp;&lt;br /&gt;
 #xterm -geometry 80x50+494+51 &amp;amp;&lt;br /&gt;
 #xterm -geometry 80x20+494-0 &amp;amp;&lt;br /&gt;
 #exec xterm -geometry 80x66+0+0 -name login&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour lancer le window manager choisi, vous n&#039;avez plus qu&#039;à taper &amp;lt;tt&amp;gt;startx&amp;lt;/tt&amp;gt; ou &amp;lt;tt&amp;gt;xinit&amp;lt;/tt&amp;gt;. Pour que chaque utilisateur ait son propre profil, il suffit de créer un fichier &amp;lt;tt&amp;gt;.xinitrc&amp;lt;/tt&amp;gt; dans son répertoire &amp;lt;tt&amp;gt;$HOME&amp;lt;/tt&amp;gt; (répertoire /home/utilisateur), il remplacera alors le fichier général &amp;lt;tt&amp;gt;/etc/X11/xinit/xinitrc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A noter : si vous voulez passer un paramètre au serveur, utilisez plutôt startx. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== login texte, multi WM ===&lt;br /&gt;
&lt;br /&gt;
Vous voulez lancer des sessions X, mais pas toujours avec le même window manager ? C&#039;est très simple, il y a plein de manières de le faire. Voici la méthode la plus simple :&lt;br /&gt;
&lt;br /&gt;
Créez un fichier &amp;lt;tt&amp;gt;$HOME/.xinitrc&amp;lt;/tt&amp;gt; en remplaçant les dernières lignes des exemples précédents par : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;exec $1&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pourrez ainsi appeler xinit en lui passant comme paramètre le window manager à lancer (&#039;&#039;&#039;$1&#039;&#039;&#039;). Par exemple, pour lancer KDE, tapez: &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit startkde&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et pour lancer windowmaker, tapez: &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit wmaker&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous trouvez cela pénible à taper à chaque fois, créez des raccourcis dans un fichier de configuration de votre shell. Pour bash, créez ou modifier un fichier &amp;lt;tt&amp;gt;$HOME/.bashrc&amp;lt;/tt&amp;gt; et ajoutez y ces lignes:&lt;br /&gt;
&lt;br /&gt;
 alias KDE=&#039;xinit startkde&#039;&lt;br /&gt;
 alias WM=&#039;xinit wmaker&#039;&lt;br /&gt;
 alias GNO=&#039;xinit gnome-session&#039;&lt;br /&gt;
 ...et ainsi de suite.....&lt;br /&gt;
&lt;br /&gt;
Comme cela, la simple saisie de KDE vous lancera kde. On peut difficilement faire plus simple ;o) On pourrait même faire un petit menu qui présente les différentes possibilités, ou ne faire apparaître ce menu que sur une console donnée. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Autologin ===&lt;br /&gt;
&lt;br /&gt;
Si vous voulez qu&#039;un environnement prédéfini démarre dès que vous avez donné votre login / password, il suffit de rajouter ceci dans votre &amp;lt;tt&amp;gt;.bashrc&amp;lt;/tt&amp;gt; (plutôt à la fin) :&lt;br /&gt;
&lt;br /&gt;
 WM_DEFAUT=wmaker&lt;br /&gt;
 xinit $WM_DEFAUT&lt;br /&gt;
&lt;br /&gt;
IL faut donc que les alias apparaissent avant cette commande dans le fichier. Tel quel, c&#039;est inutilisable, car ça va faire une erreur à chaque ouverture de console texte ou de xterm supplémentaire, une session X étant déjà en cours. Nous allons juste rajouter un test qui ne déclenchera X que si on se logue sur une console donnée. étant donné que la console qui vous est présentée par défaut au démarrage est tty1, tenez en compte pour choisir sur quelle console faire le test. Pour un utilisation occasionnelle de X, utilisez plutôt tty2 (jusqu&#039;à 12). Ainsi, &amp;lt;tt&amp;gt;CTRL+ALT+F2&amp;lt;/tt&amp;gt; vous passera sur tty2, login / password et X.&lt;br /&gt;
&lt;br /&gt;
 if [ `tty` == /dev/tty1 ]; then &lt;br /&gt;
         WM_DEFAUT=wmaker&lt;br /&gt;
         xinit $WM_DEFAUT&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Si vous voulez que la console réservé au lancement de X reste accessible une fois X lancé, remplacez: &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit $WM_DEFAUT&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt;par : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;xinit $WM_DEFAUT &amp;amp;&amp;lt;/tt&amp;gt;&amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Login graphique : possibilités ===&lt;br /&gt;
&lt;br /&gt;
Touchons juste un mot des gestionnaires de login (ou gestionnaire d&#039;écran, an anglais display manager) graphiques.&lt;br /&gt;
&lt;br /&gt;
Le plus fréquent est &#039;&#039;&#039;&amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt;&#039;&#039;&#039;, qui fait partie de KDE. Pas grand chose à dire sinon que c&#039;est sans doute le plus convivial, mais il prend beaucoup de ressources et est donc à éviter sur de petites machines (KDE aussi d&#039;ailleurs).&lt;br /&gt;
&lt;br /&gt;
Il y a aussi &#039;&#039;&#039;&amp;lt;tt&amp;gt;gdm&amp;lt;/tt&amp;gt;&#039;&#039;&#039;, le login qui vient avec Gnome, plus léger, assez simple a configurer.&lt;br /&gt;
&lt;br /&gt;
Reste enfin le standard qu&#039;est &#039;&#039;&#039;&amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt;&#039;&#039;&#039; : bien que &amp;lt;tt&amp;gt;kdm&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;gdm&amp;lt;/tt&amp;gt; soit des frontends a &amp;lt;tt&amp;gt;xdm&amp;lt;/tt&amp;gt;, il est différent, car il a une notion de sessions X qui est très éloignée de celle vues avec KDE ou GNOME. Il est plutôt à réserver à des situations de connexions par réseau et conjointement à divers logiciels ou applications spécialisées.&lt;br /&gt;
&lt;br /&gt;
Il existe d&#039;autres solutions moins connues, pas toutes stables. Je ne mentionnerai ici qu&#039;un seul cas : &amp;lt;tt&amp;gt;[http://www.ordiluc.net/selectwm/ selectwm]&amp;lt;/tt&amp;gt;, c&#039;est celui dont je me sers car il est très léger, super simple, convivial et rapide. Pour une utilisation normale, je trouve qu&#039;il surpasse de loin tout les autres. Je le recommande vivement, essayez-le au moins une fois, il pourrait bien vous convaincre. Il faut &amp;lt;tt&amp;gt;glib&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;gtk+&amp;lt;/tt&amp;gt; (librairies livrées avec Gnome) pour compiler ou installer ce soft.&lt;br /&gt;
&lt;br /&gt;
Avec ce que nous avons vu, vous n&#039;aurez aucun mal personnaliser &amp;lt;tt&amp;gt;selectwm&amp;lt;/tt&amp;gt;, et à l&#039;installer comme bon vous semble. Pour remplacer définitivement kdm, il vous faudra sans doute créer un script de remplacement à celui qui gère kdm dans &#039;&#039;&#039;/etc/init.d/&#039;&#039;&#039; ou &#039;&#039;&#039;/etc/rc.d/init.d/&#039;&#039;&#039; (en tant que service), mais c&#039;est tout simple à faire. &amp;lt;br /&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Pour que tous ces exemples marchent, il est impératif que les programmes appelés soit dans votre path (le chemin de recherche des exécutables, qui se matérialise sous la forme de la variable d&#039;environnement &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt;). Il faut donc que &amp;lt;tt&amp;gt;/etc/X11R6/bin&amp;lt;/tt&amp;gt; fasse partie de votre path pour que les programmes soient trouvés sans le chemin complet. Cela vaut aussi pour les différents window managers. Pour savoir si un exécutable fait partie de votre &amp;lt;tt&amp;gt;$PATH&amp;lt;/tt&amp;gt;, taper : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;$ type -p commande&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et pour modifier le path dans un fichier de configuration du bash (ex : .bashrc) : &amp;lt;br /&amp;gt;&amp;lt;tt&amp;gt;export PATH=$PATH:/nouveau/chemin/bin&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Martial Daumas le 16/09/2001.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 16/09/2001, Martial Daumas&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=3897</id>
		<title>Lea Linux:Rapport d&#039;erreurs</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Lea_Linux:Rapport_d%27erreurs&amp;diff=3897"/>
		<updated>2005-09-29T18:06:25Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* à régler : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bugs =&lt;br /&gt;
== à régler : ==&lt;br /&gt;
* problèmes avec les catégories [[Special:Categories]]&lt;br /&gt;
** quel contenu mettre dans les pages de catégorie ? (Note de Fred: laissons faire le temps)&lt;br /&gt;
* export autre (ODT, xhtml, docbook?) (pas urgent)&lt;br /&gt;
* css &amp;quot;printable&amp;quot; (urgent)&lt;br /&gt;
* correction/suppression des pages &amp;quot;daubé&amp;quot;&lt;br /&gt;
* que faire de nawak&lt;br /&gt;
* création de page (lien en rouge) qui bugue (il y a parfois un / en trop entre edit et index)&lt;br /&gt;
* je nâarrive plus à éditer ma page utilisateur (nicola), il dit que je ne suis pas connecté, même problème avec pas mal de pages spéciales&lt;br /&gt;
* Pour l&#039;activation du compte, lorsque je clique sur l&#039;url de confirmation une fenêtre de connexion s&#039;affiche, mais il n&#039;a pas l&#039;air d&#039;apprécier mon login/passwd (me réaffiche la fenêtre de login)&lt;br /&gt;
&lt;br /&gt;
== réglés : ==&lt;br /&gt;
&lt;br /&gt;
* support dâutf-8 (si ce nâest pas déjà fait) : (note de fred: mediawiki est nativement en utf-8) &lt;br /&gt;
* contenu de l&#039;index : [[Accueil]] à revoir (urgent) : ce n&#039;est certes pas parfait, loin s&#039;en faut, mais un appel à contribution est lancé.&lt;br /&gt;
* export PDF (urgent) : version partiellement satisfaisante (à améliorer, mais plus tard) accessible via le bouton &amp;quot;Version pdf&amp;quot;.&lt;br /&gt;
* login sur nocache avec les identifiants mediawiki&lt;br /&gt;
* protection &amp;quot;fs-overflow&amp;quot; : les pages n&#039;existants pas ne génére rien dans le cache&lt;br /&gt;
* le bouton admin swap de &amp;quot;cached&amp;quot; à &amp;quot;nocache&amp;quot;&lt;br /&gt;
* lien des deux menus à voir (urgent) (FIXED)&lt;br /&gt;
* le renommage de page ne fonctionne pas comme il devrait : la redirection qui suit le renommage renvoie sur la page d&#039;Accueil plutôt que vers la bonne page (FIXED)&lt;br /&gt;
* dans le même ordre d&#039;idée lors de l&#039;upload d&#039;une image, l&#039;upload se fait bien mais la redirection qui suit l&#039;upload merdoit. (FIXED)&lt;br /&gt;
* problème avec les pages a un titre (ou un namespace) comportant des caractères accentués -&amp;gt; après la preview, ces caractères sont remplacés par : %xy%zt etc ... et ça plante le &amp;quot;title&amp;quot; (FRED:FIXED / putain d&#039;UTF-8 de mes deux !)&lt;br /&gt;
* problèmes avec les modèles (FRED:FIXED) :&lt;br /&gt;
** modification de la page Accueil car un modèle s&#039;utilise pour la page &amp;lt;nowiki&amp;gt;[[Modèle:Nom du modèle]]&amp;lt;/nowiki&amp;gt; avec le marqueur &amp;lt;nowiki&amp;gt;{{Nom du modèle}}&amp;lt;/nowiki&amp;gt; (FRED:FIXED)&lt;br /&gt;
** un seul niveau de catégorie, il faut éditer les pages des sous-catégories pour les inclure dans sa catégorie mère =&amp;gt; ajout de &amp;lt;nowiki&amp;gt;[[catégorie:nom de la catégorie mère]]&amp;lt;/nowiki&amp;gt; dans la page de la catégorie (Note de Fred: je ne vois pas vraiment ce que tu veux dire) (ST:FIXED par exemple [Catégorie:Applications] appartient à [Catégorie:Léa_pour_les_pros])&lt;br /&gt;
** l&#039;accès en lecture aux modèles en cache est interdit (demande d&#039;identification infinie) et ainsi les modèles ne sont pas résolus pour affichage : peut-être dû au problème de cache et caractères accentués&lt;br /&gt;
** cf doc http://fr.wikipedia.org/wiki/Aide:Modèle&lt;br /&gt;
* problème avec les liens mails, comment écrire un lien mailto en MediaWiki ? (FRED:FIXED) comme ça : mailto:capue@labas.com et pour éviter que ça merdoie : &amp;lt;nowiki&amp;gt;[mailto:capue@labas.com un joli nom]&amp;lt;/nowiki&amp;gt; donne : [mailto:capue@labas.com un joli nom]&lt;br /&gt;
* les sous sections, sous-sous sections etc... vautre le cache ex: [[Section/Page]] : FIXED (mais j&#039;ai l&#039;impression que les &amp;quot;rétro-lien&amp;quot; (ie: vers [[Section]] depuis [[Section/Page]] ne fonctionnent pas, pour une raison qui m&#039;échappe.&lt;br /&gt;
* version imprimable fonctionnelle&lt;br /&gt;
&lt;br /&gt;
= Wish list =&lt;br /&gt;
* Dans le sommaire automatique :&lt;br /&gt;
** Soit, supprimer le titre de niveau 1&lt;br /&gt;
** Soit, supprimer la numérotation&lt;br /&gt;
* export xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* import auto xhtml(urgent), odt, docbook(facultatif)&lt;br /&gt;
* Utiliser automatiquement lâidentifiant du phorum (Note de Fred: c&#039;est dans &#039;&#039;ma&#039;&#039; todolist)&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=Intro-wannapenguin&amp;diff=3698</id>
		<title>Intro-wannapenguin</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=Intro-wannapenguin&amp;diff=3698"/>
		<updated>2005-09-29T10:04:42Z</updated>

		<summary type="html">&lt;p&gt;Oudoubah : /* Debian */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Introduction à Linux]]&lt;br /&gt;
= Un pingouin sur ma machine =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Un pingouin sur ma machine&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [http://groupe.lea-linux.org/slack/alive/ Seb]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Petit tour d&#039;horizon des distributions linux.&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Cet article a été conçu suite à la grande récurence sur le forum de fils de discussion demandant des conseils pour choisir une première ou seconde distribution. Il n&#039;est en effet pas toujours évident de choisir une distribution qui convienne à ses attentes, le champ d&#039;investigation étant plus que vaste ([http://distrowatch.com Distrowatch] recence plus de 300 distributions actives), et les querelles de clocher - même courtoises - courantes.&lt;br /&gt;
&lt;br /&gt;
Ce qui va suivre se propose comme objectif de vous renseigner sur les caractéristiques des principales distributions utilisées d&#039;après ce qui ressort du forum de Léa. Ne vous attendez cependant pas à apprendre ici quelle distribution est la meilleure car chacune compte ses inconditionnels, signe s&#039;il en est qu&#039;elles ont toutes des qualités qui leur sont propres (sans ça, ce site s&#039;appellerait &amp;quot;&amp;lt;distribution&amp;gt; entre amis&amp;quot; ;)Â ). Nous nous cantonnerons donc à une description technique et neutre autant que possible.&lt;br /&gt;
&lt;br /&gt;
== Lire cette présentation ==&lt;br /&gt;
&lt;br /&gt;
Toujours dans un souci d&#039;objectivité - inaccessible étoile ! - nous avons opté pour une présentation via formulaire. Cela garantit en effet un traitement égal à chacune des distributions tout en explicitant avec clarté les caractéristiques de celles-ci. Voici une notice qui vous indiquera ce que vous trouverez dans chacun des points abordés par le formulaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par :&#039;&#039;&#039; &#039;&#039;% mentione l&#039;auteur de la présentation avec éventuellement une adresse mail où vous pourrez le joindre.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site officiel :&#039;&#039;&#039; &amp;lt;url_du_site&amp;gt; &#039;&#039;% ici est indiquée l&#039;adresse du site officiel de la distribution. Vous y trouverez des informations complémentaires et pourrez y télécharger celle-ci.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; binaire | source &#039;&#039;% cela vous indiquera à quel type de distribution vous avez affaire.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;source : les applications des distributions sources doivent êtres compilées (parfois très longuement) en préalable à leur utilisation. En contre-partie celles-ci sont optimisées pour votre configuration.&#039;&#039;&lt;br /&gt;
* &#039;&#039;binaire : les programmes installés sont immédiatement utilisables mais génériques. Les avantages en sont avant tout que ces distributions sont rapides à mettre en place et ne nécessitent pas d&#039;installer d&#039;outils de compilation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 0 | 1 | 2 &#039;&#039;% cela vous renseignera sur ce que vous pouvez attendre de la distribution - &amp;lt;u&amp;gt;dans le meilleur des cas&amp;lt;/u&amp;gt; - quant à la gestion du matériel par le système.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;0 : vous devrez tout gérer manuellement, déclaration du matériel et configuration.&#039;&#039;&lt;br /&gt;
* &#039;&#039;1 : la distibution détecte automatiquement le matériel mais vous laisse le configurer.&#039;&#039;&lt;br /&gt;
* &#039;&#039;2 : la distribution détecte et configure automatiquement votre matériel.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC | IG | LC/IG+ | LC+/IG &#039;&#039;% cela vous informera sur la méthode de configuration pour laquelle la distribution a été pensée.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;LC : &amp;quot;Ligne de Commande&amp;quot;, la distribution est conçue pour être gérée via le shell et l&#039;édition de ses fichiers.&#039;&#039;&lt;br /&gt;
* &#039;&#039;IG : &amp;quot;Interface Graphique&amp;quot;, la distribution est prévue pour être configurée via des outils graphiques.&#039;&#039;&lt;br /&gt;
* &#039;&#039;LG/IG+ | LG+/IG : lorsque les deux modes de configuration sont possibles un &amp;quot;+&amp;quot; indique celui qui est prépondérant par rapport à la conception de la distribution.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; -1 | 0 | 1 &#039;&#039;% pour les machines qui ont peu de ressources, indique à quel degré la distribution convient ou non à ce profil.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;-1 : impossible sinon infernal.&#039;&#039;&lt;br /&gt;
* &#039;&#039;0 : possible mais pas pensé pour ça.&#039;&#039;&lt;br /&gt;
* &#039;&#039;1 : cadre avec la conception de la distribution.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Notez que ces indications sont largement basées sur la philosophie de la distribution en question, l&#039;obtention d&#039;une solution légère passant avant toute chose par un choix judicieux d&#039;interface graphique (préférez les &#039;&#039;Windows Makers&#039;&#039; tels fluxbox, fvwm, ou windowsmaker aux &#039;&#039;Desktop Environments&#039;&#039; comme KDE et Gnome).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; &#039;&#039;% nom du gestionnaire de paquets et description succinte de son utilisation.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; &#039;&#039;% description rapide de la philosophie de la distribution selon ce qu&#039;il ressort du site officiel.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Concernant une utilisation de type serveur, traditionnellement vous serez orienté sur une Debian ou une Slackware. Sachez que dans les faits la plupart des distributions peuvent se prêter à cet usage, le tout étant pour vous de savoir épurer votre système afin de pouvoir le sécuriser efficacement (ce qui est évidemment plus facile à faire sur des distributions se configurant en ligne de commande).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; &#039;&#039;% les éventuels articles de Léa consacrés à la distribution et susceptibles de vous épauler dans sa mise en place.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouver la grenouille :&#039;&#039;&#039; &#039;&#039;% les distributions étant très souvent anglophones, quelques adresses pour joindre les communautés françaises de la distribution.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Les Sept Samouraïs de Léa ==&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par [mailto:morganr@altern.org Morgan]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site officiel :&#039;&#039;&#039; http://www.debian.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; binaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; &amp;lt;code&amp;gt;Apt&amp;lt;/code&amp;gt; (Advanced Packaging Tool), il s&#039;agit en fait d&#039;une surcouche de l&#039;utilitaire de base &amp;lt;code&amp;gt;dpkg&amp;lt;/code&amp;gt; qui permet entre autres de gérer les dépendances. Parmi les nombreuses possibilités d&#039;&amp;lt;code&amp;gt;apt&amp;lt;/code&amp;gt;, les plus utilisées sont celles offertes par les commandes suivantes: &amp;lt;code&amp;gt;apt-cache search&amp;lt;/code&amp;gt; pour faire une recherche dans la liste de paquetages disponibles, &amp;lt;code&amp;gt;apt-get install&amp;lt;/code&amp;gt; pour installer un ou des paquetages, &amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt; pour mettre à jour la liste des paquetages et &amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;apt-get  dist-upgrade&amp;lt;/code&amp;gt; pour mettre à jour les paquetages installés.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; Les priorités de debian sont la stabilité et l&#039;efficacité, et non pas la facilité d&#039;utilisation. Afin de laisser la plus grande marge de manÅuvre possible à l&#039;utilisateur, n&#039;est installé par défaut que ce qui est indispensable. La gestion des paquetages est aisée, le reste se fait à la main. Trois versions sont disponibles selon les goûts et le type d&#039;utilisation:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;stable&#039;&#039; : particulièrement stable et sécurisée, les paquetages ont été testés et retestés pendant au moins 6 mois avant d&#039;être &amp;quot;figés&amp;quot;, il s&#039;agit donc de versions parfois très anciennes de ces paquetages.&lt;br /&gt;
* &#039;&#039;testing&#039;&#039; : bon compromis pour une utilisation de bureau, des paquetages assez récents.&lt;br /&gt;
* &#039;&#039;unstable&#039;&#039; : des paquetages très récents et non-testés, se destine plutôt a des utilisateurs avertis.&lt;br /&gt;
&lt;br /&gt;
Même si sa réputation de difficulté est quelque peu exagérée, c&#039;est plutôt une distribution à conseiller soit à des gens qui ont déjà quelques connaissances en Linux, soit à des débutants curieux de comprendre le fonctionnement du système et qui auront pris la peine de s&#039;armer d&#039;une bonne documentation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; [http://lea-linux.org/software/soft_gere/apt_dpkg.html Apt, dpkg et paquets Debian].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouver la grenouille :&#039;&#039;&#039; Consultez le [http://lea-linux.org/ressources/PAFDebian.html Petit Annuaire Francophone Debian].&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par [mailto:Fedora@FamilleCollet.com Remi]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sites officiels :&#039;&#039;&#039; http://www.fedora.redhat.com, http://www.fedoraforum.org.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; binaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC/IG+.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; 0.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; Fedora utilise les packages RPM, packages qui sont très simples à installer. Pour encore plus de facilité, des gestionnaires de packages tels &amp;lt;code&amp;gt;Up2date&amp;lt;/code&amp;gt; (par défaut), &amp;lt;code&amp;gt;Yum&amp;lt;/code&amp;gt; (en standard), &amp;lt;code&amp;gt;Apt-rpm&amp;lt;/code&amp;gt; ou &amp;lt;code&amp;gt;Smart&amp;lt;/code&amp;gt; furent créés afin de résoudre les problèmes de dépendances manquantes. Ces outils (qui disposent aussi d&#039;interfaces graphiques) récupèrent les &amp;quot;missing librairies&amp;quot; sur le réseau, à partir de &amp;quot;dépôts&amp;quot; et se chargent d&#039;installer ou supprimer des logiciels, mettre-à-jour le système automatiquement et ce, très facilement.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; Fedora offre un confort et une facilité d&#039;installation, d&#039;utilisation, d&#039;administration très poussés et est accessible à tous, qu&#039;ils soient confirmés sous Linux ou débutants. RedHat utilise Fedora comme &amp;quot;plan de travail&amp;quot; pour ses propres solutions professionnelles, en y incorporant les dernières technologies du monde Linux. Elle est idéale pour ceux qui veulent disposer des dernières versions et les derniers correctifs de sécurité. Le projet sort deux à trois nouvelles versions par an.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; [http://lea-linux.org/docs/contribs.html Certainement un injuste vide à combler :)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouver la grenouille :&#039;&#039;&#039; http://www.fedora-france.org.&lt;br /&gt;
&lt;br /&gt;
=== Gentoo ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par [mailto:fanchtastux@yahoo.fr tuxfanch]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site officiel :&#039;&#039;&#039; http://www.gentoo.org&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; source / binaire (si on utilise la version Gentoo Reference Platform).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;A noter toutefois que Gentoo est pensée pour être essentiellement utilisée en mode source.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 1 / 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC / LC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; -1 / 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; &amp;lt;code&amp;gt;Portage&amp;lt;/code&amp;gt;, par le biais de la commande &amp;lt;code&amp;gt;emerge&amp;lt;/code&amp;gt; ; il est assez similaire au système du port de BSD. De plus, Gentoo étant une distribution source, il faut y ajouter (entre autres) un fichier &amp;lt;code&amp;gt;make.conf&amp;lt;/code&amp;gt; qui définit les directives de compilation communes, la langue à utiliser (français, anglais, chinois ...Â ) les éléments facultatifs à supporter (par exemple, si l&#039;on a uniquement kde, on peut vouloir se passer des capacités d&#039;un soft à s&#039;intégrer dans gnome). &amp;lt;code&amp;gt;Portage&amp;lt;/code&amp;gt; gère les dépendances lors de l&#039;installation et lors de la désinstallation de paquets : par exemple, on installe un nouveau paquet par &amp;lt;code&amp;gt;emergeÂ &amp;lt;nom_du_paquet&amp;gt;&amp;lt;/code&amp;gt; . La commande &amp;lt;code&amp;gt;revdep-rebuild&amp;lt;/code&amp;gt; permet de re-construire les dépendances inverses. On désinstalle un paquet d&#039;un coup de &amp;lt;code&amp;gt;emergeÂ unmergeÂ &amp;lt;nom_du_paquet&amp;gt;&amp;lt;/code&amp;gt; et on nettoye les dépendances par &amp;lt;code&amp;gt;emergeÂ --depclean&amp;lt;/code&amp;gt;. Par ailleurs, seuls les paquets validés pour une architecture sont disponibles directement, sinon ils sont &#039;&#039;masqués&#039;&#039; (on peut toujours leur enlever le masquage et les installer quand même, mais faudra pas venir se plaindre aprèsÂ !Â ) : il n&#039;y a pas de branche &#039;&#039;stable&#039;&#039;, &#039;&#039;test&#039;&#039; et &#039;&#039;devel&#039;&#039; chez Gentoo, tout est utilisable ou masqué.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; Gentoo (qui, au passage, se prononce &#039;&#039;djen-tou&#039;&#039; et désigne un manchot papou) fût principalement créée par Daniel Robbins. Â«L&#039;historiqueÂ» de la distribution est disponible [http://www.gentoo.org/main/fr/about.xml ici] ; mais pour faire court, disons que c&#039;est le résultat de la visite d&#039;un linuxien chez FreeBSD. C&#039;est par ce côté polymorphe couplé à son aspect source que Gentoo ne se désigne plus comme une distribution mais comme une méta-distribution (on peut en effet installer un noyau BSD au lieu du noyau Linux). Gentoo a pour but d&#039;être rapide (à l&#039;exécution, pas à l&#039;installation ;-)Â ), portée sur de très nombreuses architectures et facilement maintenable (les fichiers de configuration sont très documentés). Cependant, même si la documentation en ligne est traduite en français à 99%, il est préférable d&#039;avoir quelques notions d&#039;anglais (les aides dans les fichiers de configuration sont en anglais).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; [http://lea-linux.org/docs/contribs.html Certainement un injuste vide à combler :)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouver la grenouille :&#039;&#039;&#039; http://fr.gentoo-wiki.com/Accueil.&lt;br /&gt;
&lt;br /&gt;
=== Mandriva ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par [mailto:ceric35@hotmail.com ceric35]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site officiel :&#039;&#039;&#039; http://www.mandrivalinux.com&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; binaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC/IG+.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; 0.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; &amp;lt;code&amp;gt;rpmdrake&amp;lt;/code&amp;gt; est l&#039;interface graphique des outils &amp;lt;code&amp;gt;urpm*&amp;lt;/code&amp;gt; (User RPM) servant à la gestion des packages Mandriva. Il permet d&#039;installer facilement n&#039;importe quel package et gère automatiquement les dépendances associées. En plus des sources locales (CDs), il est aussi possible d&#039;ajouter des sources distantes pour un choix de logiciels plus vaste.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; Mandriva Linux (anciennement Mandrake) a été créée dans le but de permettre au plus grand nombre d&#039;utiliser facilement un système Linux. Elle intègre de nombreux outils graphiques visant à simplifier au maximum l&#039;administration de ce système. Mandriva est donc une distribution facile d&#039;installation et d&#039;utilisation, mais s&#039;oriente plus vers les stations de travail que les serveurs (sauf à se procurer la très onéreuse version dédiée à cet usage).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; [http://lea-linux.org/software/inst_mdk10.html Installation de Mandrakelinux].&lt;br /&gt;
&lt;br /&gt;
=== Slackware ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par [http://groupe.lea-linux.org/slack/alive/ Le Groupe Slackware]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site officiel :&#039;&#039;&#039; [http://slackware.org  http://slackware.org]([http://slackware.com ou.com])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; binaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; &amp;lt;code&amp;gt;pkgtool&amp;lt;/code&amp;gt;, cet outil est le regroupement de trois autres commandes : &amp;lt;code&amp;gt;installpkg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;removepkg&amp;lt;/code&amp;gt;, et &amp;lt;code&amp;gt;updgradepkg&amp;lt;/code&amp;gt; qui servent respectivement à installer, supprimer et mettre à jour les paquets. Pour s&#039;en servir, il suffit de taper &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;*pkgÂ &amp;lt;nom_du_paquet.tgz&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; ou tout simplement &amp;lt;code&amp;gt;pkgtool&amp;lt;/code&amp;gt; dans le répertoire courant. Cet outil ne propose pas de gestion automatique des dépendances, mais on peut utiliser à cette fin un autre gestionnaire de paquets, [http://swaret.org &amp;lt;code&amp;gt;swaret&amp;lt;/code&amp;gt;], toutefois &#039;&#039;non-supporté officiellement&#039;&#039; par Patrick Volkerding, le mainteneur de la distribution.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; La Slackware se veut avant tout simple dans ses principes et robuste à l&#039;usage. Dans cette optique, elle s&#039;attache à compenser son absence d&#039;automatisation par une facilitation de la gestion manuelle grâce notamment à des fichiers de configuration bien commentés et à des ressources d&#039;aide embarquées assez conséquentes. Une maîtrise moyenne de l&#039;anglais est cependant bienvenue si l&#039;on veut pouvoir la prendre en main rapidement sans trop de difficultés.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; [http://www.lea-linux.org/install/slack_install.html Installer la Slackware], [http://www.lea-linux.org/install/LFSlack.html Linux From Slack], [http://lea-linux.org/pho/list/2#debut Les paquetages Slackware].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouver la grenouille :&#039;&#039;&#039; http://slackfr.org, http://slack-fr.org.&lt;br /&gt;
&lt;br /&gt;
=== SourceMage ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par [mailto:f.bridault@fra.net Vlaaad]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site officiel :&#039;&#039;&#039; http://www.sourcemage.org.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; source.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; -1.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; &amp;lt;code&amp;gt;Sorcery&amp;lt;/code&amp;gt; est le nom donné à l&#039;ensemble des commandes de gestion de paquetages. La métaphore de &amp;lt;code&amp;gt;sorcery&amp;lt;/code&amp;gt; amuse beaucoup ses utilisateurs :-) : &amp;lt;code&amp;gt;castÂ &amp;lt;spell&amp;gt;&amp;lt;/code&amp;gt; permet par exemple de lancer un sort (télécharger les sources, compiler et installer le paquetage), &amp;lt;code&amp;gt;dispelÂ &amp;lt;spell&amp;gt;&amp;lt;/code&amp;gt; de le dissiper (désinstaller), &amp;lt;code&amp;gt;gaze&amp;lt;/code&amp;gt; d&#039;obtenir des informations. La gestion des &amp;lt;code&amp;gt;grimoires&amp;lt;/code&amp;gt; (répertoires de sorts) se réalise à l&#039;aide de la commande &amp;lt;code&amp;gt;scribe&amp;lt;/code&amp;gt;. Enfin, &amp;lt;code&amp;gt;Sorcery&amp;lt;/code&amp;gt; peut se mettre jour grâce à la commande du même nom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; SourceMage est destinée aux utilisateurs qui aiment avoir le choix. Elle convient donc avant tout aux utilisateurs confirmés, soucieux d&#039;obtenir un système optimisé pour leur architecture et qui correspond uniquement à leurs besoins. La stabilité de la distribution est atteinte en utilisant les dernières versions de logiciels libres, plutôt que sur des versions plus anciennes et patchées. Il s&#039;agit d&#039;une distribution communautaire anglophone, la maîtrise de l&#039;anglais y est donc bienvenue.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; [http://lea-linux.org/docs/contribs.html Certainement un injuste vide à combler :)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouver la grenouille :&#039;&#039;&#039; Les utilisateurs de SourceMage peuvent se documenter sur le [http://wiki.sourcemage.org wiki] (traduction française en cours, les volontaires sont les bienvenus). Le forum n&#039;est pas très actif, en revanche, le canal IRC #sourcemage, et son petit frère français #sourcemagefr (sur irc.freenode.net) accueillent très volontiers les nouveaux arrivants et leurs questions.&lt;br /&gt;
&lt;br /&gt;
=== SuSE ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Par [mailto:suse@tele2.fr Phil]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site officiel :&#039;&#039;&#039; http://www.suse.fr/fr/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type de distribution :&#039;&#039;&#039; binaire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Autonomie :&#039;&#039;&#039; 2.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Option(s) de configuration :&#039;&#039;&#039; LC/IG+.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Petite configuration :&#039;&#039;&#039; 0.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Gestionnaire de paquets :&#039;&#039;&#039; &amp;lt;code&amp;gt;Yast&amp;lt;/code&amp;gt;. Cet outil graphique est un centre de contrôle prévu pour gérer l&#039;ensemble de la machine. Parmi ses modules, celui des logiciels propose l&#039;installation et la désinstallation des paquets, mais gère en même temps de manière automatique les dépendances. S&#039;il en manque lors d&#039;une installation, &amp;lt;code&amp;gt;Yast&amp;lt;/code&amp;gt; précise quelles sont les dépendances requises (avec leurs numéros de version). Il est également possible de gérer les paquets en installant un autre gestionnaire, par exemple apt4rpm.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Philosophie d&#039;utilisation :&#039;&#039;&#039; La SuSE est une distribution très populaire en Allemagne (mais pas seulement). Son utilisation s&#039;adresse aux débutants comme aux personnes aguerries. Elle est donc &amp;quot;tous publics&amp;quot;... &amp;lt;code&amp;gt;Yast&amp;lt;/code&amp;gt; contribue pour beaucoup à faciliter la gestion de la SuSE, grâce à une configuration entièrement graphique (il reste néanmoins possible de modifier les fichiers de configuration manuellement). La langue française est bien intégrée à l&#039;ensemble de la distribution, même si certains modules de &amp;lt;code&amp;gt;Yast &amp;lt;/code&amp;gt;demandent à être améliorés à ce niveau.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quelques articles relatifs disponibles sur Léa :&#039;&#039;&#039; [http://lea-linux.org/docs/contribs.html Certainement un injuste vide à combler :)]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Trouver la grenouille :&#039;&#039;&#039; http://frenchsuse.free.fr, http://www.alionet.org.&lt;br /&gt;
&lt;br /&gt;
== C&#039;est vraiment trop inzust&#039;... :( ==&lt;br /&gt;
&lt;br /&gt;
Le choix des distributions mises en avant peut paraître éminemment discutable. Ne sachant sur quel critère intangible nous baser, nous avons en effet décidé de reprendre peu ou prou celles mentionnées dans les intitulés des forums de Léa. Pour les samouraïs des causes oubliées, sachez que vous êtes totalement libres de poursuivre cette présentation sur la [Signalez ce lien dans le forum Léa-Site s&#039;il est mort page wiki] associée à cet article, la seule chose que nous vous demandons c&#039;est de reprendre le formulaire et de vous efforcer de rester neutres dans la mesure du possible (évitez les &amp;quot;c&#039;est génial !&amp;quot; et autres expressions décrivant plus votre enthousiasme que la distribution en tant que telle).&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Nous voici parvenus au terme de cette présentation, nous espérons qu&#039;elle vous aura aidé à trouver votre bonheur dans la luxuriante jungle des distributions Linux. De toute manière gardez à l&#039;esprit que le choix d&#039;une distribution ne vous enferme nullement à vie, car la structure du système reste globalement la même de l&#039;une à l&#039;autre si bien qu&#039;un changement ne prend pas automatiquement des tournures de révolution. Au pire, si vous hésitez, prenez celle dont la mascotte vous est le plus sympathique, l&#039;important étant moins de tomber de suite sur la bonne distribution que de devenir un pingouin - un vrai - qui explore la banquise à son gré sans rien demander à personne et pour cela aucune d&#039;entre elles n&#039;est contre-indiquée. :)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Seb le 02/05/2005.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 02/05/2005, Seb&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Oudoubah</name></author>
	</entry>
</feed>