<!--
	The FreeBSD Documentation Project
	The FreeBSD French Documentation Project
         
        $FreeBSD$
	Original revision: n.nn
-->      


  <chapter id="misc">
    <title> Questions diverses </title>

    <sect1>
      <title> FreeBSD utilise beaucoup plus d'espace swap que Linux. pourquoi ?  </title>

    <para>
Non. Vous voulez peut-&ecirc;tre dire "pourquoi mon swap semble &ecirc;tre plein ?".
Si cela est vraiment ce que vous voulez dire, c'est en fait parce que 
mettre les choses dans le swap plut&ocirc;t que les mettre de c&ocirc;t&eacute; rend toujours
plus facile sa r&eacute;cup&eacute;ration que si le pager devait aller chercher &agrave; travers
tout le syst&egrave;me de fichier afin de r&eacute;cup&eacute;rer des blocs propres (non modifi&eacute;)
d'un ex&eacute;cutable.
      </para>

    <para>
La quantit&eacute; actuelle de pages "sales" que vous pouvez avoir dans le
noyau en m&ecirc;me temps n'est pas r&eacute;duit, les pages propres sont d&eacute;plac&eacute;es
si n&eacute;cessaires.
      </para>

    </sect1>

    <sect1>
      <title> Pourquoi utiliser (qu'est-ce) a.out et les formats ex&eacute;cutables ELF ?  </title>


      <para>
Afin de comprendre pourquoi FreeBSD utilise le format
<emphasis remap="tt">a.out</emphasis>, vous devez d'abord savoir
quelques trucs sur les 3 formats ex&eacute;cutables courant "dominants" pour
UNIX :

      <itemizedlist>
	  <listitem>
	    <para>
<ulink url="http://www.freebsd.org/cgi/man.cgi?a.out(5)">a.out </ulink> Le
vieux et `classique' format des objets unix. Il utilise un court et
compact en-t&ecirc;te avec un nombre magique au d&eacute;but, qui est souvent
utilis&eacute; pour caract&eacute;riser le format (voir  <ulink
url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" >a.out(5)</ulink>
pour plus de d&eacute;tails).   Il contient trois segments charg&eacute;s : .text,
.data, et .bss plus une table de symboles et une table de cha&icirc;nes.
	  		  </para>
	  </listitem>

	  <listitem>
	    <para><emphasis remap="bf">COFF</emphasis> Le formats des
objets SVR3. L'en-t&ecirc;te comprend une table de section,  de telle sorte
que vous avez plus de sections que juste .text, .data, et .bss.
	    </para>
	  </listitem>

	  <listitem>
	    <para><emphasis remap="bf">ELF</emphasis> Le successeur de
<emphasis remap="tt">COFF</emphasis>, qui permet des sections
multiples et des valeurs possibles de 32 bits et 64 bits. Un
inconv&eacute;nient majeur : <emphasis remap="tt">ELF</emphasis> a aussi &eacute;t&eacute;
con&ccedil;u en supposant le fait qu'il y qu'un seul ABI par architecture
syst&egrave;me. Cette hypoth&egrave;se est assez incorrecte, et m&ecirc;me dans le monde
SYSV (qui a au moins 2 ABIs : SVR4, Solaris, SCO) cela ne se v&eacute;rifie
pas.
        </para>

	    <para>
FreeBSD essaye de contourner ce probl&egrave;me en
fournissant un utilitaire  pour <emphasis
remap="em">marquer</emphasis> un ex&eacute;cutable connu  <emphasis
remap="tt">ELF</emphasis> avec des informations sur l'ABI qui va avec.
Regardez la page de manuel pour <ulink
url="http://www.freebsd.org/cgi/man.cgi?brandelf" >brandelf</ulink>
pour plus d'informations.
	</para>
	  </listitem>
	</itemizedlist>
</para>

      <para>
FreeBSD vient du camp "classique" et utilise traditionnellement le
format 
<ulink url="http://www.freebsd.org/cgi/man.cgi?a.out(5)" >a.out</ulink>,
une technologie esssay&eacute;e et &eacute;prouv&eacute;e &agrave; travers des g&eacute;n&eacute;rations de
releases BSD. Bien qu'il a aussi &eacute;t&eacute; quelques fois possible de
construire et de lancer des binaires natifs <emphasis remap="tt">ELF</emphasis> (et noyau)
sur un syst&egrave;me FreeBSD, FreeBSD a initiallement r&eacute;sist&eacute; &agrave; la "pression"
de passer &agrave; <emphasis remap="tt">ELF</emphasis> comme format par d&eacute;faut.
Pourquoi ? Bien, quand le camp Linux ont fait leur difficile
transition vers <emphasis remap="tt">ELF</emphasis>,
il ne suffisait pas de fuir le format ex&eacute;cutable 
<emphasis remap="tt">a.out</emphasis>.
mais leur m&eacute;canisme de librairies partag&eacute;es
bas&eacute; sur des table de sauts inflexible ce 
qui rendait la
construction de librairies partag&eacute;es difficiles pour les
vendeurs et d&eacute;veloppeurs. 
<!--
it was not so much to flee the a.out executable
format as it was their inflexible jump-table based shared library mechanism,
which made the construction of shared libraries very difficult for vendors and
developers alike
-->
Depuis
comme les outils  <emphasis remap="tt">ELF</emphasis> offrent une solution
au probl&egrave;me des librairies partag&eacute;es et semblent
en g&eacute;n&eacute;ral per&ccedil;us comme "la voie du progr&egrave;s" de
toute fa&ccedil;on, le co&ucirc;t de migration a &eacute;t&eacute;
entendu comme n&eacute;cessaire, et la transition a
&eacute;t&eacute; r&eacute;alis&eacute;e.

      </para>

    <para>
Dans le cas FreeBSD, notre m&eacute;canisme de librairie partag&eacute;e se rapproche
plus des style de m&eacute;canisme de librairie partag&eacute;e des
<emphasis remap="tt">SunOS</emphasis> de Sun, et de la sorte, est tr&egrave;s simple &agrave; utiliser.
Quoiqu'il en soit, &agrave; partir de 3.0, FreeBSD supportera officiellement
les binaires <emphasis remap="tt">ELF</emphasis> comme format par d&eacute;faut. M&ecirc;me si les 
formats ex&eacute;cutables <emphasis remap="tt">a.out</emphasis> nous ont beaucoup servis, les gens du GNU
auteurs des outils de compilation que nous utilisons ont arr&ecirc;t&eacute; leur
supports pour le format <emphasis remap="tt">a.out</emphasis>.
Cela nous a forc&eacute; &agrave; maintenir des versions divergentes du compilateur et
de l'&eacute;diteur de liens, et nous a emp&ecirc;ch&eacute; de b&eacute;n&eacute;ficier des 
derniers efforts du d&eacute;veloppement GNU. Et puis, les demandes de 
ISO-C++, notemment pour les constructeurs et les destructeurs, 
nous ont aussi conduit &agrave; supporter de l'
<emphasis remap="tt">ELF</emphasis> natif pour les futures release de FreeBSD.</para>
    </sect1>

    <sect1>
      <title> Pourquoi chmod ne veulent pas changer les permissions sur les liens symboliques ?  </title>


    <para>
Vous devez utiliser soit ``<emphasis remap="tt">-H</emphasis>'' ou 
``<emphasis remap="tt">-L</emphasis>'' ensemble avec
l'option ``<emphasis remap="tt">-R</emphasis>'' pour que cela marche. 
Regardez les pages de manuels de
<ulink url="http://www.freebsd.org/cgi/man.cgi?chmod" >chmod</ulink> et
<ulink url="http://www.freebsd.org/cgi/man.cgi?symlink" >symlink</ulink>.
      </para>

    <para>
<emphasis remap="bf">ATTENTION</emphasis> l'option 
``<emphasis remap="tt">-R</emphasis>'' fait un chmod 
<emphasis remap="bf">RECURSIF</emphasis>
<emphasis remap="tt">chmod</emphasis>.  Faites attention en sp&eacute;cifiant 
le r&eacute;pertoire
ou les liens symboliques vers les repertoires o&ugrave; vous lancerez 
<emphasis remap="tt">chmod</emphasis>.  Si vous voulez changer les permissions
d'un r&eacute;pertoire r&eacute;f&eacute;renc&eacute; par un symlink, utiliser
<ulink url="http://www.freebsd.org/cgi/man.cgi?chmod" >chmod</ulink>
sans aucune option et suivre le lien symbolique avec un slash final
(``<emphasis remap="tt">/</emphasis>'').  Par exemple, si 
``<emphasis remap="tt">foo</emphasis>'' est un lien 
symbolique vers le r&eacute;pertoire ``<emphasis remap="tt">bar</emphasis>'', 
et que vous voulez changer les
permissions de ``<emphasis remap="tt">foo</emphasis>'' 
(actuellement ``<emphasis remap="tt">bar</emphasis>''), 
vous devrez sans doute faire quelque chose comme :
      <programlisting>
chmod 555 foo/
      </programlisting>

      </para>

    <para>
Avec un slash final, 
<ulink url="http://www.freebsd.org/cgi/man.cgi?chmod" >chmod</ulink> 
suivra le lien symbolique, ``<emphasis remap="tt">foo</emphasis>'', pour changer les droits sur
le r&eacute;pertoire ``<emphasis remap="tt">bar</emphasis>''.</para>

    </sect1>

    <sect1>
      <title> Pourquoi les noms de logins sont <emphasis remap="bf">encore</emphasis> restreints &agrave; 8 caract&egrave;res ?  </title>


    <para>
Vous pouvez penser qu'il est assez simple de changer 
<emphasis remap="bf">UT_NAMESIZE</emphasis> 
et de reconstruire tout le monde, et que tout marcherait. 
Malheureusement, il y a souvent une escouade d'applications et
d'utilitaires (y compris les outils syst&egrave;mes) qui ont cod&eacute; en dur les
petits nombres (pas toujours "8" ou "9", mais d'autres plus &eacute;tranges
comme "15" ou "20") dans les structures et les buffers. Non seulement cela
vous donnera des fichiers logs qui seront alt&eacute;r&eacute;s (&agrave; cause des longueurs
des variables enregistr&eacute;s l&agrave; o&ugrave; des enregistrement de taille fix&eacute;es sont
attendus), mais cela peut planter les clients NIS de Sun, et
potentiellement causer d'autres probl&egrave;mes lors de l'interaction avec
d'autres syst&egrave;mes UNIX.
      </para>

    <para>
Dans FreeBSD 3.0 et plus, la longueur maximale des noms a &eacute;t&eacute; 
augment&eacute;e &agrave;
16 caract&egrave;res et tous ces divers utilitaires avec des tailles de noms cod&eacute;s
en dur ont &eacute;t&eacute; trouv&eacute;s et corrig&eacute;s. Le fait que cela touche tant de
domaines du syst&egrave;me explique en fait pourquoi le changement n'a pas &eacute;t&eacute;
fait avant la 3.0.
	 </para>


    <para>
Si vous &ecirc;tes absolument confiant dans votre habilet&eacute; &agrave; trouver et &agrave;
corriger ces sortes de probl&egrave;mes par vous-m&ecirc;me quand ils arrivent, vous
pouvez augmenter la taille des noms de login dans les releases
pr&eacute;c&eacute;dentes en &eacute;ditant
/usr/include/utmp.h et en changeant en fonction de la taille que vous
voulez donner, la variable UT_NAMESIZE.  Vous devez aussi mettre &agrave; jour la
variable MAXLOGNAME dans /usr/include/sys/param.h pour correspondre au
changement de UT_NAMESIZE.  Au final, si vous construisez depuis les
sources, n'oubliez pas que /usr/include est mis &agrave; jour &agrave; chaque fois !
Changer les fichiers appropri&eacute;s dans /usr/src/... &agrave; la place.
	  </para>

    </sect1>

    <sect1>
      <title>Puis-je lancer des binaires DOS sous FreeBSD?</title>


    <para>
Oui, &agrave; partir de la version 3.0, vous pouvez utiliser
<emphasis remap="tt">rundos</emphasis> l'&eacute;mulateur DOS de BSDI, 
qui a &eacute;t&eacute; int&eacute;gr&eacute; et perfectionn&eacute;.
Envoyez un courrier &eacute;lectronique &agrave; 
<ulink url="mailto:freebsd-emulation@freebsd.org"> la liste de discussion sur les &eacute;mulations de FreeBSD</ulink>
si cela vous interesse de vous joindre &agrave; cet effort en progression.

      </para>

    <para>
Pour les syst&egrave;mes pre-3.0, il y a un bel utiltaire appel&eacute;
<ulink url="http://www.freebsd.org/cgi/ports.cgi?^pcemu" >pcemu</ulink>
dans la collection de pports, qui &eacute;mule un 8088 et assez de services
BIOS pour pouvoir lancer des applications DOS en mode texte. Cela requiert
le syst&egrave;me X Windows (fourni comme XFree86).</para>
    </sect1>

    <sect1>
      <title> Qu'est ce ``<emphasis remap="tt">sup</emphasis>'', et comment l'utilise je ?  </title>


    <para>
<ulink url="http://www.freebsd.org/cgi/ports.cgi?^sup" >SUP</ulink>
veut dire Software Update Protocol, et a &eacute;t&eacute; d&eacute;velopp&eacute; par CMU
pour pouvoir synchroniser leurs arbres de d&eacute;veloppement. Nous l'utilisons
pour garder les sites distants en synchronisation avec nos sources 
centraux de d&eacute;veloppement
      </para>

    <para>
SUP n'est pas tr&egrave;s ami avec la bande passante et a &eacute;t&eacute; retir&eacute;. La m&eacute;thode
actuelle recommand&eacute; pour pouvoir garder vos sources &agrave; jour est 
<ulink url="../handbook/synching.html" >Handbook entry on CVSup</ulink></para>

    </sect1>

    <sect1>
      <title>Jusqu'&agrave; quel point FreeBSD est-il cool ?</title>


    <para>
	<!-- ca faut que je retraduise ce bout... -->
Q. Quelqu'un a-t-il d&eacute;j&agrave; fait des tests de temp&eacute;rature de FreeBSD ?
Je sais que Linux tourne moins chaudement que DOS, mais je n'ai jamais
vu aucune mention sur FreeBSD. Ca semble tourner vraiment tr&egrave;s
chaudement.

      </para>

    <para>
A.  Non, mais nous avons effectu&eacute; de nombreux tests gustatifs sur des
volontaires ayant les yeux band&eacute;s et aussi 250 microgrammes de
LSD-25 administr&eacute; pr&eacute;alablement. 35%des volontaires ont dit
que FreeBSD avait un go&ucirc;t d'orange, alors que Linux avait un go&ucirc;t
de purple haze. Aucun des groupes n'a mentionn&eacute; une variance de
temp&eacute;rature particuli&egrave;re (si je me souviens bien).
Nous avons de toute fa&ccedil;on d&ucirc; jeter tous les r&eacute;sultats quand
nous nous sommes aper&ccedil;u que de nombreux volontaires s'&eacute;taient
promen&eacute; en dehors de la salle durant les tests, faussant ainsi les
r&eacute;sultats. Je pense que la plupart des volontaires sont &agrave;
pr&eacute;sent chez Apple, travaillant pour leur nouveau GUI 'scratch and
sniff'. C'est un dr&ocirc;le de monde dans lequel nous vivons !

      </para>

    <para>
S&eacute;rieusement, FreeBSD et Linux utilisent tous les deux l'instruction
``<emphasis remap="tt">HLT</emphasis>'' (halt) quand le syst&egrave;me est idle de telle sorte &agrave; baisser
leur consommation d'&eacute;nergie et donc la chaleur que cela g&eacute;n&egrave;re. Et aussi,
si vous avez APM (automatic power management) configur&eacute;, alors FreeBSD
peut aussi mettre le CPU dans un mode basse &eacute;nergie.</para>

    </sect1>

    <sect1>
      <title>Qui est-ce qui fait gr&eacute;siller mes banques m&eacute;moires ?</title>


    <para>
Q. Y a t il quelque chose d'"&eacute;trange" que fait FreeBSD quand il compile le
noyau qui pourrait faire que la m&eacute;moire fasse un gr&eacute;sillement ?
Quand &ccedil;a compile (et pour un bref moment apr&egrave;s avoir reconnu le lecteur de
disquette au d&eacute;marrage), un &eacute;trange gr&eacute;sillement &eacute;mane depuis ce qui semble
&ecirc;tre les banques m&eacute;moire.
      </para>

    <para>
A. Oui!  Vous verrez des fr&eacute;quentes r&eacute;f&eacute;rences aux "d&eacute;mons" dans la
documentation BSD, et ce que les gens ne savent pas, c'est que cela se
r&eacute;f&egrave;re aux entit&eacute;s non-corporelle qui poss&egrave;de &agrave; pr&eacute;sent votre ordinateur.
Le gr&eacute;sillement venant de la m&eacute;moire est en fait le murmure &eacute;chang&eacute; entre
les d&eacute;mons lorsqu'ils d&eacute;battent sur les diff&eacute;rentes t&acirc;ches de
l'administration syst&egrave;me.
      </para>

    <para>
Si le bruit vous parvient, un bon ``<emphasis remap="tt">fdisk /mbr</emphasis>'' 
depuis le DOS vous en d&eacute;barassera, mais ne soyez pas surpris s'il
r&eacute;agissent et qu'ils essayent de vous contrer. De plus, si jamais &agrave; un
moment de l'op&eacute;ration, vous entendez la voix satanique de Bill Gates
vous parvenant du haut-parleur interne, continuez, et ne regardez jamais
en arri&egrave;re !
D&eacute;livr&eacute; de l'influence contre-balan&ccedil;ante des d&eacute;mons BSD, les d&eacute;mons
jumeaux de DOS et Windows pourront alors prendre le contr&ocirc;le totale de 
votre machine jusqu'&agrave; la damnation &eacute;ternelle de votre &acirc;me.

S'il fallait choisir, je pense que je pr&eacute;f&egrave;rerais m'habituer au 
gr&eacute;sillement !</para>

    </sect1>

    <sect1>
      <title>Que veut dire 'MFC' ?</title>

    <para>
MFC est un acronyme pour 'Merged From -CURRENT.' C'est utilis&eacute;s dans 
les logs  CVS pour noter quand un  changement a  migr&eacute; depuis un 
CURRENT vers une branche STABLE
	</para>
    </sect1>
  </chapter>

