svn commit: r50172 - head/fr_FR.ISO8859-1/books/handbook/linuxemu

Marc Fonvieille blackend at FreeBSD.org
Sun Apr 16 16:26:30 UTC 2017


Author: blackend
Date: Sun Apr 16 16:26:29 2017
New Revision: 50172
URL: https://svnweb.freebsd.org/changeset/doc/50172

Log:
  MFen 1.136 --> r49367

Modified:
  head/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.xml

Modified: head/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.xml
==============================================================================
--- head/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.xml	Sun Apr 16 04:57:28 2017	(r50171)
+++ head/fr_FR.ISO8859-1/books/handbook/linuxemu/chapter.xml	Sun Apr 16 16:26:29 2017	(r50172)
@@ -4,10 +4,10 @@
      The FreeBSD French Documentation Project
 
      $FreeBSD$
-     Original revision: 1.136
+     Original revision: 49367
 -->
 <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="linuxemu">
-  <info><title>Compatibilité binaire avec Linux</title>
+  <info><title>Compatibilité binaire avec &linux;</title>
     <authorgroup>
       <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Restructuré et en partie mis à jour
 	  par </contrib></author>
@@ -30,67 +30,46 @@
       <secondary>Linux</secondary>
     </indexterm>
 
-    <para>&os; fournit une compatibilité binaire avec plusieurs autres
-      systèmes d'exploitation du type &unix;, y compris Linux.
-      A ce point, vous devez vous demander pourquoi exactement
-      &os; a besoin d'être capable d'exécuter des binaires Linux?
-      La réponse à cette question est très simple.  De
-      nombreuses entreprises et de nombreux développeurs ne
-      développent que pour Linux, puisque que c'est la dernière
-      chose “à la mode” dans le monde de l'informatique.
-      Cela ne laisse aux utilisateurs de &os; que la possibilité
-      de réclamer auprès des ces mêmes entreprises
-      et développeurs des versions native pour &os; de leurs
-      applications.  Le problème est, que la plupart de ces
-      entreprises ne réalisent pas vraiment combien de personnes
-      utiliseraient leur produit si il y aurait une version pour &os;
-      également, et la plupart continuent de développer uniquement
-      pour Linux.  Donc que doit faire un utilisateur de &os;?
-      C'est là que la compatibilité binaire avec Linux entre en
-      scène.</para>
-
-    <para>En bref, la compatibilité permet aux utilisateurs de
-      &os; d'exécuter environ 90% des applications Linux
-      sans aucune modification.  Cela inclus des applications
-      comme <application>&staroffice;</application>,
-      la version Linux de <application>&netscape;</application>,
-      <application>&adobe; &acrobat;</application>,
-      <application>&realplayer;</application>,
-      <application>VMware</application>,
-      <application>&oracle;</application>,
-      <application>&wordperfect;</application>, <application>Doom</application>,
-      <application>Quake</application>, et plus.  On rapporte
+    <para>&os; fournit une compatibilité binaire avec &linux;,
+      permettant aux utilisateurs d'installer et d'exécuter la plupart
+      des applications &linux; sur un système &os; sans avoir à modifier
+      ces applications.  On rapporte
       également que dans certaines situations, les binaires Linux
-      sont plus performants sous &os; que sous Linux.</para>
+      sont plus performants sous &os; que sous &linux;,.</para>
 
     <para>Il existe cependant certaines caractéristiques
-      spécifiques à Linux qui ne sont pas
-      supportées sous &os;.  Les binaires Linux ne
+      spécifiques à &linux;, qui ne sont pas
+      supportées sous &os;.  Par exemple, des binaires &linux; ne
       fonctionneront pas sous &os; s'ils utilisent massivement
       des appels
       &i386; spécifiques, comme activation du mode virtuel
       8086.</para>
 
+    <note>
+      <para>Le support de la compatibilité &linux; pour les binaires
+	64bits a été ajouté avec &os; 10.3.</para>
+    </note>
+
     <para>Après la lecture de ce chapitre, vous connaîtrez:</para>
     <itemizedlist>
       <listitem>
 	<para>Comment activer la compatibilité binaire avec
-	  Linux sur votre système.</para>
+	  &linux; sur un système &os;.</para>
       </listitem>
 
       <listitem>
-	<para>Comment installer des bibliothèques partagées Linux
+	<para>Comment installer des bibliothèques partagées &linux;
 	  supplémentaires.</para>
 	</listitem>
 
       <listitem>
-	<para>Comment installer des application Linux sur votre
+	<para>Comment installer des application &linux; sur un
 	  système &os;.</para>
       </listitem>
 
       <listitem>
 	<para>Les détails de l'implémentation de la
-	  compatibilité Linux sous &os;.</para>
+	  compatibilité &linux; sous &os;.</para>
       </listitem>
     </itemizedlist>
 
@@ -98,280 +77,208 @@
 
     <itemizedlist>
       <listitem>
-	<para>Savoir comment installer des logiciels tiers
-	  (<xref linkend="ports"/>).</para>
+	<para>Savoir comment installer des <link
+	  linkend="ports">logiciels tiers</link>.</para>
       </listitem>
     </itemizedlist>
 
   </sect1>
 
   <sect1 xml:id="linuxemu-lbc-install">
-    <title>Installation</title>
+    <title>Configurer la compatibilité binaire avec &linux;</title>
+
+    <indexterm><primary>Catalogue des logiciels portés</primary></indexterm>
 
-    <indexterm><primary>KLD (kernel loadable object)</primary></indexterm>
+    <para>Par défaut, les bibliothèques &linux; ne sont pas installées
+      et la compatibilité binaire avec Linux n'est pas activée.  Les
+      bibliothèques &linux; peuvent être installées soit manuellement
+      soit à partir du catalogue des logiciels portés.</para>
 
-    <para>La compatibilité binaire avec Linux n'est pas
-      activée par défaut.  La manière la plus simple
-      pour activer cette fonctionnalité est de charger le KLD
-      <literal>linux</literal> (<quote>Kernel LoaDable
-      object</quote>—objet chargeable par le noyau, ce que l'on
-      nomme couramment un module).  Vous pouvez charger ce module
-      en tapant ce qui suit sous l'utilisateur
-      <systemitem class="username">root</systemitem>:</para>
+    <para>Avant de tenter de compiler un logiciel, charger le module
+      du noyau &linux;, sinon la compilation risque d'échouer:</para>
 
     <screen>&prompt.root; <userinput>kldload linux</userinput></screen>
 
-    <para>Si vous désirez que la compatibilité Linux soit
-      toujours activée, alors vous devrez ajouter la ligne
-      suivante au fichier <filename>/etc/rc.conf</filename>:</para>
+    <para>Pour une compatibilité en 64bits:</para>
 
-    <programlisting>linux_enable="YES"</programlisting>
+    <screen>&prompt.root; <userinput>kldload linux64</userinput></screen>
 
-    <para>La commande &man.kldstat.8; peut être utilisée
-      pour vérifier que le KLD est chargé:</para>
+    <para>Pour vérifier que le module est bien chargé:</para>
 
     <screen>&prompt.user; <userinput>kldstat</userinput>
-Id Refs Address    Size     Name
- 1    2 0xc0100000 16bdb8   kernel
- 7    1 0xc24db000 d000     linux.ko</screen>
+      Id Refs Address    Size     Name
+      1    2 0xc0100000 16bdb8   kernel
+      7    1 0xc24db000 d000     linux.ko</screen>
+
+    <para>Le logiciel précompilé
+      <package>emulators/linux_base-c6</package> ou la version
+      compilée à partir du catalogue des logiciels portés est la
+      méthode la plus simple pour installer l'ensemble des
+      bibliothèques et binaires de base &linux; sur un système
+      &os;.</para>
+
+    <screen>&prompt.root; <userinput>printf "compat.linux.osrelease=2.6.18\n" >> /etc/sysctl.conf</userinput>
+&prompt.root; <userinput>sysctl compat.linux.osrelease=2.6.18</userinput>
+&prompt.root; <userinput>pkg install emulators/linux_base-c6</userinput></screen>
+
+    <para>Pour activer au démarrage la compatibilité &linux;, ajouter
+      ligne suivante au fichier
+      <filename>/etc/rc.conf</filename>:</para>
+
+    <programlisting>linux_enable="YES"</programlisting>
+
+    <para>Sur les machines 64bits, <filename>/etc/rc.d/abi</filename>
+      chargera automatiquement le module pour l'émulation
+      64bits.</para>
 
     <indexterm>
       <primary>options du noyau</primary>
-      <secondary>LINUX</secondary>
+      <secondary>COMPAT_LINUX</secondary>
     </indexterm>
 
-    <para>Si pour quelques raisons vous ne voulez ou pouvez charger le
-      KLD, alors vous pouvez lier statiquement la compatibilité
-      binaire Linux dans votre noyau en ajoutant <literal>options
-      COMPAT_LINUX</literal> à votre fichier de configuration du noyau.
-      Puis installez votre noyau comme décrit dans la
+    <para>Les utilisateurs préférant lier statiquement la
+      compatibilité binaire &linux; dans leur noyau devront ajouter
+      <literal>options COMPAT_LINUX</literal> à leur fichier de
+      configuration du noyau.  Puis compiler et installer le nouveau
+      noyau comme décrit dans la
       <xref linkend="kernelconfig"/>.</para>
 
-    <sect2>
-      <title>Installer les bibliothèques Linux</title>
+    <sect2 xml:id="linuxemu-libs-manually">
+      <title>Installer des bibliothèques supplémentaires à la main</title>
+
       <indexterm>
-	<primary>Linux</primary>
-	<secondary>installer les bibliothèques Linux</secondary>
+	<primary>bibliothèques partagées</primary>
       </indexterm>
 
-      <para>Cela peut être fait de deux manières, soit
-	en utilisant le logiciel porté
-	<link linkend="linuxemu-libs-port">linux_base</link>, soit
-	en les installant <link linkend="linuxemu-libs-manually">à la main</link>.</para>
-
-      <sect3 xml:id="linuxemu-libs-port">
-	<title>Installation à l'aide du logiciel porté
-	  linux_base</title>
-	<indexterm><primary>catalogue des logiciels
-	  portés</primary></indexterm>
-
-	<para>C'est de loin la méthode la plus simple pour
-	  installer les bibliothèques.  La procédure est
-	  juste identique à l'installation d'un autre logiciel
-	  porté à partir du
-	  <link xlink:href="file://localhost/usr/ports/">catalogue
-	  des logiciels portés</link>.
-	  Faites ce qui suit:</para>
-
-	<screen>&prompt.root; <userinput>cd /usr/ports/emulators/linux_base-fc4</userinput>
-&prompt.root; <userinput>make install distclean</userinput></screen>
-
-	<para>La compatibilité binaire Linux devrait maintenant
-	  fonctionner.  Certains programmes pourront se plaindre de
-	  versions mineures incorrectes de certaines bibliothèques
-	  systèmes.  Cela semble, en général, ne pas
-	  vraiment être un problème.</para>
-
-	<note><para>Il peut y avoir de multiples versions disponibles
-	  du logiciel porté <package>emulators/linux_base</package>, correspondant
-	  à différentes distributions et versions de Linux.
-	  Vous devez installez la version la plus proche de ce que
-	  nécessite les applications Linux que vous désirez
-	  installer.</para></note>
-      </sect3>
-
-      <sect3 xml:id="linuxemu-libs-manually">
-	<title>Installer les bibliothèques à la main</title>
-
-	<para>Si vous n'avez pas le catalogue des logiciels
-	  portés installé, vous pouvez à la
-	  place installer les bibliothèques à la main.
-	  Il vous faudra les bibliothèques partagées
-	  Linux dont à besoin le programme et l'éditeur
-	  de lien dynamiques.  Vous devrez également
-	  créer un répertoire racine
-	  “masquant” (“shadow root”),
-	  <filename>/compat/linux</filename>, pour les
-	  bibliothèques Linux sur votre système &os;.
-	  Toute bibliothèque partagée ouverte par les
-	  programmes Linux exécutés sous &os; iront d'abord voir
-	  dans cette arborescence.  Ainsi, si un programme Linux
-	  charge, par exemple, <filename>/lib/libc.so</filename>,
-	  &os; essayera d'abord d'ouvrir
-	  <filename>/compat/linux/lib/libc.so</filename>, puis si
-	  cette bibliothèque n'existe pas,
-	  <filename>/lib/libc.so</filename>.  Les bibliothèques
-	  partagées doivent donc être installées
-	  sous l'arborescence <filename>/compat/linux/lib</filename>
-	  plutôt que sous les chemins d'accès
-	  mentionnés par la commande Linux
-	  <command>ld.so</command>.</para>
-
-	<para>Généralement, vous ne devrez cherchez à
-	  savoir de quelles bibliothèques partagées
-	  dépendent les binaires Linux que les premières
-	  fois que vous installerez des programmes Linux sur votre
-	  système &os;.  Au bout d'un moment, vous disposerez
-	  d'un jeu suffisant de bibliothèques partagées
-	  Linux sur votre système pour être en mesure
-	  d'exécuter les binaires Linux nouvellement
-	  importés sans effort supplémentaire.</para>
-      </sect3>
-
-      <sect3>
-	<title>Comment installer des bibliothèques
-	  partagées supplémentaires</title>
-	<indexterm><primary>bibliothèques
-	  partagées</primary></indexterm>
-
-	<para>Que faire si vous avez installé le logiciel
-	  porté <filename>linux_base</filename> et que votre
-	  application se plaint toujours qu'il lui manque des
-	  bibliothèques partagées?
-	  Comment savoir quelles bibliothèques partagées
-	  ont besoin les binaires Linux, et où se les
-	  procurer?  Il a habituellement deux possibilités
-	  (pour suivre les instructions ci-dessous, vous devrez
-	  être en session sous le compte super-utilisateur
-	  <systemitem class="username">root</systemitem>).</para>
-
-	<para>Si vous avez accès à un système
-	  Linux, déterminez de quelles bibliothèques
-	  partagées l'application a besoin, et copiez-les sur
-	  votre système &os;.  Soit l'exemple suivant:</para>
-
-	<informalexample>
-	  <para>Supposons que vous veniez de télécharger
-	    le binaire Linux de <application>Doom</application>,
-	    et que vous l'avez installé sur un système
-	    Linux.  Vous pouvez alors vérifier de quelles
-	    bibliothèques partagées il a besoin pour
-	    fonctionner avec la commande
-	    <command>ldd linuxdoom</command>:</para>
+      <para>Si une application &linux; se plaint de l'absence d'une
+	bibliothèque partagée après avoir configuré la compatibilité
+	binaire &linux;, déterminez quelle est la bibliothèque
+	partagée nécessaire au binaire &linux; et installez-la à la
+	main.</para>
+
+      <para>A partir d'un système &linux;, la commande
+	<command>ldd</command> peut être utilisée pour déterminer
+	quelles sont les bibliothèques partagées dont l'application a
+	besoin.  Par exemple, pour contrôler quelles bibliothèques
+	partagées sont nécessaires à <command>linuxdoom</command>,
+	exécuter cette commande à partir d'un système &linux; où est
+	installé <application>Doom</application>:</para>
 
-	  <screen>&prompt.user; <userinput>ldd linuxdoom</userinput>
+      <screen>&prompt.user; <userinput>ldd linuxdoom</userinput>
 libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29</screen>
 
-	  <indexterm><primary>liens symboliques</primary></indexterm>
-	  <para>Vous devrez récupérer tous les
-	    fichiers mentionnés dans la dernière colonne,
-	    et les installer sous <filename>/compat/linux</filename>,
-	    en utilisant les noms de la première colonne comme
-	    liens symboliques qui pointent dessus.  Cela signifie
-	    que vous aurez éventuellement les fichiers suivants
-	    sur votre système &os;:</para>
+      <indexterm>
+	<primary>liens symboliques</primary>
+      </indexterm>
+
+      <para>Ensuite, copier tous les fichiers mentionnés dans la
+	dernière colonne, du système sous &linux; vers
+	<filename>/compat/linux</filename> sur le système &os;.  Une
+	fois copiés, créer les liens symboliques vers les noms de
+	fichiers donnés dans la première colonne.  Cet exemple donnera
+	lieu aux fichiers suivants sur le système &os;:</para>
 
-	  <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0
+      <screen>/compat/linux/usr/X11/lib/libXt.so.3.1.0
 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0
 /compat/linux/usr/X11/lib/libX11.so.3.1.0
 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0
 /compat/linux/lib/libc.so.4.6.29
 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen>
 
-	  <blockquote>
-	    <note>
-	      <para>Remarquez que si vous avez déjà
-		une bibliothèque partagée de même
-		numéro de version majeure que celle indiquée
-		par la première colonne du résultat
-		de la commande <command>ldd</command>, il est inutile
-		de copier le fichier donné par la dernière
-		colonne sur votre système, celui que vous
-		avez déjà devrait suffire.
-		Il est cependant recommandé de recopier
-		malgré tout la bibliothèque partagée
-		si c'est une version récente.
-		Vous pouvez supprimer l'ancienne version, du moment
-		que le lien symbolique pointe sur la nouvelle.  Par
-		exemple, si vous avez les bibliothèques suivantes
-		sur votre système:</para>
+      <para>Si une bibliothèque &linux; partagée existe avec le même
+	numéro de version majeure que celle indiquée par la première
+	colonne du résultat de la commande <command>ldd</command>, il
+	est inutile de la copier vers le nom de fichier donné par la
+	dernière colonne, la bibliothèque déjà existante devrait
+	fonctionner.  Il est cependant recommandé de copier malgré
+	tout la bibliothèque partagée si c'est une version récente.
+	L'ancienne version peut être supprimée, du moment que le lien
+	symbolique pointe sur la nouvelle.</para>
 
-	      <screen>/compat/linux/lib/libc.so.4.6.27
+      <para>Par exemple, les bibliothèques suivantes existent déjà sur
+	le système &os;:</para>
+
+      <screen>/compat/linux/lib/libc.so.4.6.27
 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27</screen>
 
-	      <para>et que vous avez un nouveau binaire qui
-		d'après le résultat de la commande
-		<command>ldd</command> semble avoir besoin d'une
-		version plus récente:</para>
-
-	      <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen>
-	      <para>Si vous n'avez qu'une ou deux versions de retard
-		sur le dernier indice, alors ne vous souciez pas
-		d'installer la version
-		<filename>/lib/libc.so.4.6.29</filename> plus
-		récente, parce que le programme devrait fonctionner
-		sans problème avec une version
-		légèrement antérieure.
-		Vous pouvez néanmoins décider de remplacer
-		<filename>libc.so</filename>, ce qui devrait vous
-		donner quelque chose comme:</para>
+      <para>et <command>ldd</command> indique qu'un binaire a besoin
+	d'une version plus récente:</para>
+
+      <screen>libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29</screen>
 
-	      <screen>/compat/linux/lib/libc.so.4.6.29
+      <para>Etant donné que la bibliothèque existante n'a qu'une ou
+	deux versions de retard sur le dernier digit, le programme
+	devrait fonctionner avec la version légèrement plus ancienne.
+	Il est, néanmoins, plus sûr de remplacer la
+	<filename>libc.so</filename> existante avec la version plus
+	récente:</para>
+
+      <screen>/compat/linux/lib/libc.so.4.6.29
 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29</screen>
-	    </note>
-	  </blockquote>
 
-	  <blockquote>
-	    <note>
-	      <para>Le mécanisme de lien symbolique n'est
-		nécessaire que pour les binaires Linux.
-		L'éditeur de liens dynamiques de &os;
-		se charge lui-même de trouver les numéros
-		de versions majeures adéquats et vous
-		n'avez pas à vous en préoccuper.</para>
-	    </note>
-	  </blockquote>
-	</informalexample>
-      </sect3>
+      <para>Généralement, vous ne devrez cherchez à savoir de quelles
+	bibliothèques partagées dépendent les binaires &linux; que les
+	premières fois que vous installerez des programmes &linux; sur
+	le système &os;.  Au bout d'un moment, il y aura un ensemble
+	suffisant de bibliothèques partagées &linux; sur le système
+	pour être en mesure d'exécuter les binaires &linux;
+	nouvellement importés sans effort supplémentaire.</para>
     </sect2>
 
     <sect2>
-      <title>Installer des binaires Linux ELF</title>
+      <title>Installer des binaires &linux; <acronym>ELF</acronym></title>
       <indexterm>
 	<primary>Linux</primary>
 	<secondary>binaires ELF</secondary>
       </indexterm>
 
       <para>Une étape supplémentaire est parfois
-	nécessaire pour les binaires ELF: le
-	“marquage”.  Si vous tentez d'exécuter un
-	binaire ELF non marqué, vous obtiendrez un message
-	d'erreur ressemblant à ce qui suit:</para>
+	nécessaire pour les binaires <acronym>ELF</acronym>.  Quand
+	un binaire <acronym>ELF</acronym> non marqué est exécuté, une
+	erreur sera générée:</para>
 
       <screen>&prompt.user; <userinput>./mon-binaire-elf-linux</userinput>
 ELF binary type not known
 Abort</screen>
 
-      <para>Pour que le noyau &os; puisse distinguer un binaire ELF
-	&os; d'un binaire Linux, vous devez employer l'utilitaire
-	&man.brandelf.1;:</para>
+      <para>Pour que le noyau &os; puisse distinguer un binaire
+	<acronym>ELF</acronym> &os; d'un binaire &linux;, vous devez
+	employer l'utilitaire &man.brandelf.1;:</para>
 
       <screen>&prompt.user; <userinput>brandelf -t Linux mon-binaire-elf-linux</userinput></screen>
 
       <indexterm><primary>outils GNU</primary></indexterm>
       <para>Les outils GNU incorporent désormais automatiquement
-	les marques nécessaires dans les binaires ELF, vous
-	aurez donc de moins en moins besoin de passer par cette
-	étape à l'avenir.</para>
+	les marques nécessaires dans les binaires ELF,
+	cette étape n'est généralement pas nécessaire.</para>
+    </sect2>
+
+    <sect2>
+      <title>Installer une application &linux; basée sur
+	<acronym>RPM</acronym></title>
+
+      <para>Pour installer une application &linux; basée sur
+	<acronym>RPM</acronym>, installer en premier le logiciel
+	précompilé ou porté <package>archivers/rpm4</package>.  Une
+	fois installé, <systemitem class="username">root</systemitem>
+	peut utiliser la commande suivante pour installer un
+	<filename>.rpm</filename>:</para>
+
+      <screen>&prompt.root; <userinput>cd /compat/linux</userinput>
+&prompt.root; <userinput>rpm2cpio < /path/to/linux.archive.rpm | cpio -id</userinput></screen>
+
+      <para>Si nécessaire, utiliser <command>brandelf</command> sur
+	les binaires <acronym>ELF</acronym> installés.  Il faut noter
+	que cela empêchera une desinstallation propre.</para>
     </sect2>
 
     <sect2>
       <title>Configurer le résolveur de noms de domaines</title>
 
-      <para>Si le DNS ne fonctionne pas, ou si vous avez les
-	messages:</para>
+      <para>Si le <acronym>DNS</acronym> ne fonctionne pas, ou si cette
+	erreur apparaît::</para>
 
       <screen>resolv+: "bind" is an invalid keyword resolv+:
 "hosts" is an invalid keyword</screen>
@@ -383,19 +290,21 @@ Abort</screen>
       <programlisting>order hosts, bind
 multi on</programlisting>
 
-      <para>Où l'ordre ci-dessus spécifie qu'il faut tout
+      <para>Cela indique qu'il faut tout
 	d'abord regarder dans le fichier <filename>/etc/hosts</filename>
-	puis interroger le DNS.  Quand le fichier
+	puis interroger le <acronym>DNS</acronym>.  Quand le fichier
 	<filename>/compat/linux/etc/host.conf</filename> n'existe pas,
-	les applications Linux trouvent le fichier
-	<filename>/etc/host.conf</filename> de &os; et se plaignent de
+	les applications &linux; trouvent le fichier
+	<filename>/etc/host.conf</filename> et se plaignent de
 	sa syntaxe &os; incompatible.  Supprimez
-	<literal>bind</literal> si vous n'avez pas configuré de
-	serveur de noms avec le fichier
+	<literal>bind</literal> si un serveur de noms n'est pas configuré
+	avec le fichier
 	<filename>/etc/resolv.conf</filename>.</para>
     </sect2>
   </sect1>
 
+  <?ignore
+
   <sect1 xml:id="linuxemu-mathematica">
     <info><title>Installer &mathematica;</title>
       <authorgroup>
@@ -3693,34 +3602,26 @@ options SHMMAXPGS=393216
       </sect3>
     </sect2>
   </sect1>
+  ?>
 
   <sect1 xml:id="linuxemu-advanced">
     <title>Sujets avancés</title>
 
-    <para>Si vous êtes curieux de savoir comment la
-      compatibilité binaire avec Linux fonctionne, cette
-      section est faite pour vous.  La plupart de ce qui suit est
-      principalement basé sur un courrier électronique
+    <para>Cette section décrit comment la
+      compatibilité binaire avec &linux; fonctionne, et est basée
+      sur un courrier électronique
       de Terry Lambert <email>tlambert at primenet.com</email>
       envoyé à la &a.chat; (Message ID:
       <literal><199906020108.SAA07001 at usr09.primenet.com></literal>).</para>
 
-    <sect2>
-      <title>Comme ça marche?</title>
-
-      <indexterm><primary>chargeur de classe d'exécution</primary></indexterm>
+      <indexterm><primary>chargeur de classe
+	d'exécution</primary></indexterm>
 
       <para>&os; possède une abstraction appelée
 	“chargeur de classe d'exécution”.  C'est
 	une portion de l'appel système &man.execve.2;.</para>
 
-      <para>Ce qui se passe est que &os; dispose d'une liste de
-	chargeurs, à la place d'un simple chargeur avec retour
-	(“fallback”) vers le chargeur
-	<literal>#!</literal> pour exécuter n'importe quel
-	interpréteur de commandes ou procédure.</para>
-
-      <para>Historiquement, l'unique chargeur sur les plate-formes
+      <para>Historiquement, le chargeur
 	&unix; examinait le nombre magique (généralement
 	les 4 ou 8 premiers octets du fichier) pour voir si
 	c'était un binaire connu par le système, et si
@@ -3730,46 +3631,41 @@ options SHMMAXPGS=393216
 	système, l'appel &man.execve.2; retournait un
 	échec, et l'interpréteur de commandes tentait de
 	l'exécuter comme une commande
-	d'interpréteur.</para>
-
-      <para>Cette hypothèse est celle par défaut quelque
-	soit l'interpréteur de commandes actuel.</para>
+	d'interpréteur. Cette hypothèse était celle par défaut
+	<quote>quelque soit l'interpréteur de commandes
+	actuel</quote>.</para>
 
       <para>Plus tard, une modification a été faite sur
 	&man.sh.1; pour examiner les deux premiers caractères,
 	et s'ils étaient <literal>:\n</literal>, alors elle
 	invoquait l'interpréteur de commandes &man.csh.1;
-	à la place (nous pensons que l'entreprise SCO fut la
-	première à faire cette modification).</para>
+	à la place.</para>
+
+      <para>&os; possède désormais une liste de chargeurs, avec un
+	chargeur par défaut, <literal>#!</literal>, pour exécuter les
+	interpréteurs ou les procédures de commandes.</para>
 
-      <para>Ce que fait maintenant &os; est de parcourir une liste de
-	chargeurs, avec un chargeur <literal>#!</literal>
-	générique qui reconnaît les noms des
-	interpréteurs qui se trouvent après le
-	caractère espace suivant, puis avec un retour possible
-	vers <filename>/bin/sh</filename>.</para>
-      <indexterm><primary>ELF</primary></indexterm>
-
-      <para>Pour le support de l'ABI Linux, &os; voit le nombre
-	magique comme un binaire ELF (il ne fait pas la
-	différence à ce niveau entre &os;, &solaris;,
-	Linux, ou tout autre système d'exploitation qui dispose
-	d'un type d'image ELF).</para>
-      <indexterm><primary>Solaris</primary></indexterm>
+      <indexterm>
+	<primary>ELF</primary>
+      </indexterm>
 
-      <para>Le chargeur ELF recherche une <emphasis>marque</emphasis>
-	spécifique, qui se trouve dans une section de commentaire
+      <indexterm>
+	<primary>Solaris</primary>
+      </indexterm>
+
+      <para>Pour le support de l'<acronym>ABI</acronym> &linux;, &os;
+	voit le nombre magique comme un binaire ELF.  Le chargeur ELF
+	recherche une <emphasis>marque</emphasis>
+	spécifique, qui se trouve dans une section de commentaires
 	dans l'image ELF, et qui n'est pas présente dans les
 	binaires SVR4/&solaris; ELF.</para>
 
-      <para>Pour que les binaires Linux puissent fonctionner, ils
+      <para>Pour que les binaires &linux; puissent fonctionner, ils
 	doivent être <emphasis>marqués</emphasis> sous le
 	type <literal>Linux</literal> avec &man.brandelf.1;:</para>
 
       <screen>&prompt.root; <userinput>brandelf -t Linux file</userinput></screen>
 
-      <para>Quand cela est fait, le chargeur ELF verra le marquage
-	<literal>Linux</literal> sur le fichier.</para>
       <indexterm>
 	<primary>ELF</primary>
 	<secondary>marquage</secondary>
@@ -3778,7 +3674,7 @@ options SHMMAXPGS=393216
       <para>Lorsque le chargeur ELF voit le marquage
 	<literal>Linux</literal>, le chargeur remplace un pointeur
 	dans la structure <literal>proc</literal>.  Tous les appels
-	système sont indéxés par
+	système sont indexés par
 	l'intermédiaire de ce pointeur (dans un système
 	&unix; traditionnel, cela serait la structure
 	<literal>sysent[]</literal>, contenant les appels
@@ -3787,9 +3683,9 @@ options SHMMAXPGS=393216
 	(“trap”) pour le signal de code
 	“trampoline”, et plusieurs autres corrections
 	(mineures) qui sont gérées par le noyau
-	Linux.</para>
+	&linux;.</para>
 
-      <para>Le vecteur d'appel système Linux contient, entre
+      <para>Le vecteur d'appel système &linux; contient, entre
 	autres, une liste des entrées
 	<literal>sysent[]</literal> dont les adresses résident
 	dans le noyau.</para>
@@ -3798,76 +3694,52 @@ options SHMMAXPGS=393216
 	binaire Linux, le code “trap”
 	déréférence de la structure
 	<literal>proc</literal> le pointeur de la fonction de l'appel
-	système, et utilise les points d'entrée Linux,
+	système, et utilise les points d'entrée &linux;,
 	et non pas &os;, de d'appel système.</para>
 
-      <para>De plus, le mode Linux redéfinit dynamiquement
-	l'origine des requêtes; c'est, en effet, ce qu'effectue
-	l'option <option>union</option> (<emphasis>pas</emphasis> le
-	type de système de fichiers
-	<literal>unionfs</literal>!) de montage des systèmes de
+      <para>Le mode &linux; <emphasis>redéfinit dynamiquement</emphasis>
+	l'origine des requêtes.  C'est, en effet, équivalent à
+	l'option <option>union</option> de montage des systèmes de
 	fichiers.  Tout d'abord, une tentative est faite pour
-	rechercher le fichier dans le répertoire <filename>/compat/linux/chemin-origine</filename>,
-	<emphasis>puis</emphasis> uniquement si cela échoue, la
+	rechercher le fichier dans le répertoire <filename>/compat/linux/<replaceable>chemin-origine</replaceable></filename>.
+	Si cela échoue, la
 	recherche est effectuée dans le répertoire
-	<filename>/chemin-origine</filename>.
+	<filename>/<replaceable>chemin-origine</replaceable></filename>.
 	Cela permet de s'assurer que les binaires nécessitant
-	d'autres binaires puissent s'exécuter (par exemple,
-	l'ensemble des outils Linux peuvent tourner sous l'ABI Linux).
-	Cela signifie également que les binaires Linux peuvent
+	d'autres binaires puissent s'exécuter.  Par exemple,
+	l'ensemble des outils &linux; peuvent tourner sous l'ABI &linux;.
+	Cela signifie également que les binaires &linux; peuvent
 	charger et exécuter les binaires &os;, s'il n'y a pas
-	de binaires Linux correspondant présents, et vous
+	de binaires &linux; correspondant présents, et vous
 	pourriez placer une commande &man.uname.1; dans l'arborescence
 	<filename>/compat/linux</filename> pour vous
-	assurer que les binaires Linux ne puissent pas dire qu'ils ne
-	tournent pas sous Linux.</para>
+	assurer que les binaires &linux; ne puissent pas dire qu'ils ne
+	tournent pas sous &linux;.</para>
 
-      <para>En effet, il y a un noyau Linux dans le noyau &os;; les
+      <para>En effet, il y a un noyau &linux; dans le noyau &os;.  Les
 	diverses fonctions sous-jacentes qui implémentent tous
 	les services fournis par le noyau sont identiques entre les
 	deux tables d'entrées des appels systèmes &os;
-	et Linux: les opérations sur les systèmes de
+	et &linux;: les opérations sur les systèmes de
 	fichiers, les opérations sur la mémoire
-	virtuelle, la gestion des signaux, l'IPC System V, etc.  La
+	virtuelle, la gestion des signaux, iet l'IPC System V.  La
 	seule différence est que les binaires &os; utilisent
 	les fonctions <emphasis>glue</emphasis> de &os;, et les
-	binaires Linux celles de Linux (les plus anciens
-	systèmes d'exploitation avaient uniquement leurs
-	propres fonctions de <emphasis>glue</emphasis>: les adresses
-	des fonctions dans une structure <literal>sysent[]</literal>
-	statique globale, au lieu des adresses des fonctions
-	déréférencées d'un pointeur
-	initialisé dynamiquement pointant vers la structure
-	<literal>proc</literal> du processus faisant l'appel).</para>
-
-      <para>Laquelle est l'ABI native &os;?  Cela n'a pas
-	d'importance.  Basiquement, la seule différence est que
-	(actuellement, cela pourrait facilement changer dans les
-	versions futures, et probablement après cela) les
+	binaires &linux; celles de &linux;.  Les
 	fonctions <emphasis>glue</emphasis> de &os; sont liées
 	en statique dans le noyau, les fonctions
-	<emphasis>glue</emphasis> Linux peuvent être
+	<emphasis>glue</emphasis> &linux; peuvent être
 	liées statiquement, ou l'on peut y accéder via
 	un module du noyau.</para>
 
-      <para>Oui, mais est-ce vraiment de l'émulation?  Non.
-	C'est l'implémentation d'une interface binaire pour les
-	applications (ABI).  Il n'y a pas d'émulateur (ou de
-	simulateur, pour couper court aux prochaines questions)
-	impliqué.</para>
-
-      <para>Mais pourquoi appelle-t-on parfois cela
-	“émulation Linux”?  Pour rendre difficile
-	la vente des versions de &os;!  Sérieusement, c'est
-	dû au fait que l'implémentation historique a
-	été faite à une époque où
-	il n'y avait pas vraiment d'autres mots pour décrire ce
-	qui était en développement; dire que &os;
-	exécutait les binaires Linux n'était pas vrai si
-	vous n'aviez pas compilé le code ou chargé un
-	module, aussi un terme était nécessaire pour
-	qualifier ce qui était chargé — donc
-	l'“émulateur Linux”.</para>
-    </sect2>
+      <para>Techniquement, ce n'est pas vraiment de l'émulation,
+	c'est l'implémentation d'une interface binaire pour les
+	applications (<acronym>ABI</acronym>).  Cela est parfois
+	appelé <quote>émulation &linux;</quote> parce que
+	l'implémentation a été faite à une époque où il n'y avait pas
+	vraiment d'autres mots pour décrire ce qui était en
+	développement. Dire que &os; exécutait les binaires &linux;
+	n'était pas vrai, jusqu'à ce le code de support &linux; soit
+	compilé ou le module soit chargé.</para>
   </sect1>
 </chapter>


More information about the svn-doc-head mailing list