book.sgml 		1.133 --> 1.137
basics/chapter.sgml	1.97  --> 1.109
This commit is contained in:
Marc Fonvieille 2003-08-21 12:48:39 +00:00
parent 7eb746701d
commit 7d9556503e
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=17947
2 changed files with 367 additions and 17 deletions

View file

@ -3,7 +3,7 @@
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.97
Original revision: 1.109
-->
<chapter id="basics">
@ -18,7 +18,7 @@
<!-- 10 Mar 2000 -->
</chapterinfo>
<title>Quelques bases d'Unix</title>
<title>Quelques bases d'UNIX</title>
&trans.a.fonvieille;
<sect1 id="basics-synopsis">
@ -29,7 +29,7 @@
<para>Le chapitre suivant couvrira les commandes et fonctionnalit&eacute;s
de base du syst&egrave;me d'exploitation FreeBSD. La plupart de ces
informations sera valable pour n'importe quel syst&egrave;me
d'exploitation Unix. Soyez libre de passer ce chapitre si vous
d'exploitation &unix;. Soyez libre de passer ce chapitre si vous
&ecirc;tes familier avec ces informations. Si vous &ecirc;tes nouveau
&agrave;
FreeBSD, alors vous voudrez certainement lire attentivement ce
@ -39,7 +39,7 @@
<itemizedlist>
<listitem>
<para>Comment les permissions de fichier d'Unix
<para>Comment les permissions de fichier d'&unix;
fonctionnent.</para>
</listitem>
<listitem>
@ -62,10 +62,10 @@
<sect1 id="permissions">
<title>Permissions</title>
<indexterm><primary>Unix</primary></indexterm>
<indexterm><primary>UNIX</primary></indexterm>
<para>FreeBSD, &eacute;tant un descendant direct de l'Unix BSD, est
bas&eacute; sur plusieurs concepts cl&eacute;s d'Unix. Le premier,
<para>FreeBSD, &eacute;tant un descendant direct de l'&unix; BSD, est
bas&eacute; sur plusieurs concepts cl&eacute;s d'&unix;. Le premier,
et le plus prononc&eacute;, est le fait que FreeBSD est un
syst&egrave;me d'exploitation multi-utilisateurs. Le syst&egrave;me
peut g&eacute;rer plusieurs utilisateurs travaillant tous
@ -228,6 +228,140 @@
vous d&eacute;sirez plus d'information sur les permissions de fichier et
comment les positionner, soyez s&ucirc;r de consulter la page de manuel
&man.chmod.1;.</para>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Contribution de </contrib>
</author>
</authorgroup>
</sect2info>
<title>Permissions symboliques</title>
<indexterm><primary>Permissions</primary><secondary>symboliques</secondary></indexterm>
<para>Les permissions symboliques, parfois d&eacute;sign&eacute;es
sous le nom d'expressions symboliques, utilisent des
caract&egrave;res &agrave; la place de valeur en octal pour
assigner les permissions aux fichiers et r&eacute;pertoires.
Les expressions symboliques emploient la syntaxe: (qui)
(action) (permissions), avec les valeurs possibles
suivantes:</para>
<informaltable frame="none">
<tgroup cols="3">
<thead>
<row>
<entry>Option</entry>
<entry>Lettre</entry>
<entry>Repr&eacute;sente</entry>
</row>
</thead>
<tbody>
<row>
<entry>(qui)</entry>
<entry>u</entry>
<entry>Utilisateur</entry>
</row>
<row>
<entry>(qui)</entry>
<entry>g</entry>
<entry>Groupe</entry>
</row>
<row>
<entry>(qui)</entry>
<entry>o</entry>
<entry>Autre</entry>
</row>
<row>
<entry>(qui)</entry>
<entry>a</entry>
<entry>Tous (<quote>le monde entier</quote>)</entry>
</row>
<row>
<entry>(action)</entry>
<entry>+</entry>
<entry>Ajouter des permissions</entry>
</row>
<row>
<entry>(action)</entry>
<entry>-</entry>
<entry>Retirer des permissions</entry>
</row>
<row>
<entry>(action)</entry>
<entry>=</entry>
<entry>Fixe les permissions de fa&ccedil;on explicite</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>r</entry>
<entry>Lecture</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>w</entry>
<entry>Ecriture</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>x</entry>
<entry>Ex&eacute;cution</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>t</entry>
<entry>bit collant (sticky)</entry>
</row>
<row>
<entry>(permissions)</entry>
<entry>s</entry>
<entry>Ex&eacute;cuter avec l'ID utilisateur (UID) ou groupe (GID)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Ces valeurs sont utilis&eacute;es avec la commande
&man.chmod.1; comme pr&eacute;c&eacute;demment mais avec
des lettres. Par exemple, vous pourriez utiliser la commande
suivante pour refuser l'acc&egrave;s au fichier
<replaceable>FICHIER</replaceable> &agrave; d'autres
utilisateurs:</para>
<screen>&prompt.user; <userinput>chmod go= FICHIER</userinput></screen>
<para>Une liste s&eacute;par&eacute; par des virgules peut &ecirc;tre
fournie quand plus d'un changement doit &ecirc;tre effectu&eacute;
sur un fichier. Par exemple la commande suivante retirera
les permissions d'&eacute;criture aux groupes et au &ldquo;reste du
monde&rdquo; sur le fichier <replaceable>FICHIER</replaceable>,
puis ajoutera la permission d'ex&eacute;cution pour tout le
monde:</para>
<screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>FICHIER</replaceable></userinput></screen>
<para>La plupart des utilisateurs ne rel&egrave;veront pas ceci,
mais il doit &ecirc;tre pr&eacute;cis&eacute; que la
m&eacute;thode avec les nombres en octal ne fera que fixer ou
assigner des permissions &agrave; un fichier; elle n'en ajoutera
ou n'en supprimera pas.</para>
</sect2>
</sect1>
<sect1 id="dirstructure">
@ -974,7 +1108,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
repr&eacute;sente l'espace m&eacute;moire dont a eu besoin l'application,
et la quantit&eacute; r&eacute;sidente repr&eacute;sente
l'espace qui est en fait utilis&eacute; actuellement. Dans cet exemple
vous pouvez voir que <application>Netscape</application> a
vous pouvez voir que <application>&netscape;</application> a
exig&eacute; presque 30&nbsp;MO de RAM, mais
utilise actuellement seulement 9MO.</para>
@ -1152,7 +1286,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
<prompt>Password:</prompt>
&prompt.root; <userinput>/bin/kill -s HUP 198</userinput></screen>
<para>Comme la plupart des commandes Unix, &man.kill.1; n'affichera
<para>Comme la plupart des commandes &unix;, &man.kill.1; n'affichera
rien si la commande est couronn&eacute;e de succ&egrave;s. Si vous
envoyez un signal &agrave; un processus dont vous n'&ecirc;tes pas le
propri&eacute;taire alors vous verrez <errorname>kill:
@ -1230,7 +1364,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
sentir plus &agrave; l'aise avec un interpr&eacute;teur de commandes
proche du C
comme <command>tcsh</command>. Si vous venez du monde Linux ou que
vous &ecirc;tes nouveau &agrave; l'interface en ligne de commande d'Unix
vous &ecirc;tes nouveau &agrave; l'interface en ligne de commande d'&unix;
vous pourriez essayer <command>bash</command>. L'id&eacute;e principale
est que chaque interpr&eacute;teur de commandes &agrave; des
caract&eacute;ristiques uniques qui peuvent ou ne peuvent pas
@ -1478,8 +1612,8 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
est un &eacute;diteur appel&eacute; <application>ee</application>,
qui signifie l'&eacute;diteur facile (easy editor). Pour lancer
<application>ee</application>, on taperait sur la ligne de
commande <command>ee fichier</command> o&ugrave;
<literal>fichier</literal> est le nom du fichier qui doit &ecirc;tre
commande <command>ee <replaceable>fichier</replaceable></command> o&ugrave;
<replaceable>fichier</replaceable> est le nom du fichier qui doit &ecirc;tre
&eacute;dit&eacute;. Par exemple, pour &eacute;diter
<filename>/etc/rc.conf</filename>, tapez <command>ee
/etc/rc.conf</command>. Une fois sous <command>ee</command>, toutes
@ -1545,7 +1679,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse
repr&eacute;sente le clavier.</para>
<para>La plupart de ces p&eacute;riph&eacute;riques sous un syst&egrave;me
d'exploitation Unix peuvent &ecirc;tre acc&eacute;d&eacute;s par
d'exploitation &unix; peuvent &ecirc;tre acc&eacute;d&eacute;s par
l'interm&eacute;diaire de fichiers appel&eacute;s fichiers
sp&eacute;ciaux de p&eacute;riph&eacute;rique
(&ldquo;device node&rdquo;), qui sont situ&eacute;s dans le
@ -1857,6 +1991,193 @@ console none unknown off secure</programlisting>
</sect2>
</sect1>
<sect1 id="binary-formats">
<title>Le format des fichiers binaires</title>
<para>Afin de comprendre pourquoi &os; utilise le format
<acronym>ELF</acronym>, vous devez d'abord conna&icirc;tre
quelques d&eacute;tails concernant les 3 formats
&ldquo;dominants&rdquo; d'ex&eacute;cutables actuellement en vigueur
sous &unix;:</para>
<itemizedlist>
<listitem>
<para>&man.a.out.5;</para>
<para>Le plus vieux et le format objet &ldquo;classique&rdquo;
d'&unix;. Il utilise une ent&ecirc;te courte et compacte
avec un nombre magique au d&eacute;but qui est souvent
utilis&eacute; pour caract&eacute;riser le format (voir la
page de manuel &man.a.out.5; 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 de caract&egrave;res.</para>
</listitem>
<listitem>
<para><acronym>COFF</acronym></para>
<para>Le format objet SVR3. L'ent&ecirc;te comprend une
table de section, de telle sorte que vous avez plus de
sections qu'uniquement .text, .data et .bss.</para>
</listitem>
<listitem>
<para><acronym>ELF</acronym></para>
<para>Le successeur de <acronym>COFF</acronym>, qui
permet des sections multiples et des valeurs possibles de 32
bits et 64 bits. Un inconv&eacute;nient majeur:
<acronym>ELF</acronym> a aussi &eacute;t&eacute; con&ccedil;u
en supposant qu'il y aurait qu'un seul ABI par architecture
syst&egrave;me. Cette hypoth&egrave;se est en fait assez
incorrecte, et m&ecirc;me dans le monde SYSV (qui a
au moins trois ABIs: SVR4, Solaris, SCO) cela ne se
v&eacute;rifie pas.</para>
<para>&os; essaye de contourner ce probl&egrave;me en
fournissant un utilitaire pour <emphasis>marquer</emphasis>
un ex&eacute;cutable connu <acronym>ELF</acronym> avec
des informations sur l'ABI qui va avec. Consultez la page
de manuel de &man.brandelf.1; pour plus
d'informations.</para>
</listitem>
</itemizedlist>
<para>&os; vient du camp &ldquo;classique&rdquo; et a
utilis&eacute; le format &man.a.out.5;, une technologie
employ&eacute;e et &eacute;prouv&eacute;e &agrave; travers des
g&eacute;n&eacute;rations de BSDs, jusqu'aux d&eacute;buts de la
branche 3.X. Bien qu'il fut possible de compiler et
d'ex&eacute;cuter des binaires natifs <acronym>ELF</acronym> (et
noyaux) sous &os; avant cela, &os; a initiallement
r&eacute;sist&eacute; &agrave; la &ldquo;pression&rdquo; de passer
&agrave; <acronym>ELF</acronym> comme format par d&eacute;faut.
Pourquoi? Bien, quand le camp Linux ont fait leur
p&eacute;nible transition vers <acronym>ELF</acronym>, ce n'est pas
tant fuir le format <filename>a.out</filename> qui rendait
difficile la construction de biblioth&egrave;ques partag&eacute;e
pour les d&eacute;veloppeurs mais le m&eacute;canisme de
biblioth&egrave;ques partag&eacute;es bas&eacute; sur des tables de
sauts inflexible. Puisque les outils <acronym>ELF</acronym>
disponibles offraient une solution au probl&egrave;me
des biblioth&egrave;ques partag&eacute;es et &eacute;taient
per&ccedil;us comme &ldquo;le chemin &agrave; suivre&rdquo; de toute
fa&ccedil;on, le co&ucirc;t de la migration a &eacute;t&eacute;
accept&eacute; comme n&eacute;cessaire, et la transition a
&eacute;t&eacute; r&eacute;alis&eacute;e. Le m&eacute;canisme &os;
de biblioth&egrave;ques partag&eacute;es se rapproche plus
du style de m&eacute;canisme de biblioth&egrave;ques
partag&eacute;es de &sunos; de Sun, et est tr&egrave;s simple
&agrave; utiliser.</para>
<para>Pourquoi existe-t-il tant de formats diff&eacute;rents?</para>
<para>Dans un obscure et lointain pass&eacute;, il y avait du
mat&eacute;riel simple. Ce mat&eacute;riel simple supportait
un simple petit syst&egrave;me. <filename>a.out</filename>
&eacute;tait compl&egrave;tement adapt&eacute; pour
r&eacute;pr&eacute;senter les binaires sur ce syst&egrave;me simple
(un PDP-11). Au fur et &agrave; mesure que des personnes
portaient &unix; &agrave; partir de ce syst&egrave;me
simple, ils ont maintenus le format <filename>a.out</filename>
parce qu'il &eacute;tait suffisant pour les premiers portages
d'&unix; sur des architectures comme le Motorola 68k, les VAX,
etc.</para>
<para>Alors un certain ing&eacute;nieur mat&eacute;riel brillant
a d&eacute;cid&eacute; qu'il pourrait forcer le mat&eacute;riel
&agrave; faire des choses bizarre, l'autorisant ainsi &agrave;
r&eacute;duire le nombre de portes logiques et permettant
au coeur du CPU de fonctionner plus rapidement.
Bien qu'on l'a fait fonctionner avec ce nouveau
type de mat&eacute;riel (connu de nos jour sous le nom de
RISC), <filename>a.out</filename> n'&eacute;tait pas adapt&eacute;
&agrave; ce mat&eacute;riel, aussi beaucoup de formats ont
&eacute;t&eacute; d&eacute;velopp&eacute;s
pour obtenir de meilleures performances de ce mat&eacute;riel
que ce que pouvait offrir le simple et limit&eacute; format
qu'&eacute;tait <filename>a.out</filename>. Des
choses comme <acronym>COFF</acronym>, <acronym>ECOFF</acronym>,
et quelques autres obscures formats ont &eacute;t&eacute;
invent&eacute; et leur limites explor&eacute;es avant que les choses
ne se fixent sur <acronym>ELF</acronym>.</para>
<para>En outre, les tailles des programmes devenaient
&eacute;normes alors que les disques (et la m&eacute;moire
physique) &eacute;taient toujours relativment
petits, aussi le concept de biblioth&egrave;que partag&eacute;e
est n&eacute;. Le syst&egrave;me de VM (m&eacute;moire virtuelle)
est &eacute;galement devenu plus sophistiqu&eacute;.
Tandis que chacune de ces avanc&eacute;es &eacute;tait
faites en utilisant le format <filename>a.out</filename>,
son utilit&eacute; a &eacute;t&eacute; &eacute;largie
de plus en plus avec chaque nouvelle fonction. De plus les
gens ont voulu charger dynamiquement des choses &agrave;
l'ex&eacute;cution, ou se d&eacute;barasser de partie de
leur programme apr&egrave;s l'initialisation pour &eacute;conomiser
de l'espace m&eacute;moire et de pagination. Les langages
sont devenus plus sophistiqu&eacute;s et les gens ont voulu
du code appel&eacute; automatiquement avant la partie
principale du programme. Beaucoup de modifications ont
&eacute;t&eacute; apport&eacute;es au format <filename>a.out</filename>
pour rendre possible toutes ces choses, et cela a
fonctionn&eacute; pendant un certain temps. Avec le temps,
<filename>a.out</filename> n'&eacute;tait plus capable de
g&eacute;rer tous ces probl&egrave;mes sans une augmentation
toujours croissante du code et de sa complexit&eacute;.
Tandis <acronym>ELF</acronym> r&eacute;solvait plusieurs de
ces probl&egrave;mes, il aurait &eacute;t&eacute; p&eacute;nible
de quitter un syst&egrave;me qui a fonctionn&eacute;.
Ainsi <acronym>ELF</acronym> a d&ucirc; attendre jusqu'au moment
o&ugrave; il &eacute;tait plus p&eacute;nible de rester avec
<filename>a.out</filename> que d'&eacute;migrer vers
<acronym>ELF</acronym>.</para>
<para>Cependant, avec le temps, les outils de compilation
desquels ceux de &os; sont d&eacute;riv&eacute;s (l'assembleur
et le chargeur tout sp&eacute;cialement) ont
&eacute;volu&eacute; en parall&egrave;le.
Les d&eacute;veloppeurs &os; ajout&egrave;rent les
biblioth&egrave;ques partag&eacute;es et corrig&egrave;rent
quelques bogues. Les gens de chez GNU qui ont &agrave;
l'origine &eacute;crit ces programmes, les r&eacute;criv&egrave;rent
et ajout&egrave;rent un support plus simple pour la compilation
multi-plateformes, avec diff&eacute;rents formats
&agrave; volont&eacute;, etc. Lorsque beaucoup de personnes
ont voulu &eacute;laborer des compilateurs multi-plateformes
pour &os;, elles n'eurent pas beaucoup de chance puisque
les anciennes sources que &os; avait pour
<application>as</application> et <application>ld</application>
n'&eacute;taient pas adapt&eacute;es &agrave; cette t&acirc;che.
Le nouvel ensemble d'outils de GNU
(<application>binutils</application>) supporte la compilation
multi-plateformes, <acronym>ELF</acronym>, les
biblioth&egrave;ques partag&eacute;es, les extensions C++, etc.
De plus, de nombreux vendeurs de logiciels fournissent des
binaires <acronym>ELF</acronym>, et c'est une bonne chose pour
permettre leur ex&eacute;cution sous &os;.</para>
<para><acronym>ELF</acronym> est plus expressif
qu'<filename>a.out</filename> et permet plus d'extensibilit&eacute;
dans le syst&egrave;me de base.
Les outils <acronym>ELF</acronym> sont mieux maintenus, et
offrent un support pour la compilation multi-plateformes, ce qui
est important pour de nombreuses personnes.
<acronym>ELF</acronym> peut &ecirc;tre l&eacute;g&egrave;rement plus lent
qu'<filename>a.out</filename>, mais tenter de mesurer cette
diff&eacute;rence n'est pas ais&eacute;. Il y a
&eacute;galement de nombreux d&eacute;tails qui
diff&egrave;rent entre les deux dans la fa&ccedil;on dont
ils mappent les pages m&eacute;moire, g&egrave;re le code
d'initialisation, etc.
Dans le futur, le support <filename>a.out</filename> sera
retir&eacute; du noyau <filename>GENERIC</filename>, et
par la suite retir&eacute; des sources du noyau une fois que le
besoin d'ex&eacute;cuter d'anciens programmes
<filename>a.out</filename> aura disparu.</para>
</sect1>
<sect1 id="basics-more-information">
<title>Pour plus d'information</title>

View file

@ -3,8 +3,7 @@
The FreeBSD French Documentation Project
$FreeBSD$
$Id: book.sgml,v 1.14 2003-07-07 14:58:09 blackend Exp $
Original revision: 1.133
Original revision: 1.137
-->
<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
@ -28,6 +27,8 @@
%bookinfo;
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
%freebsd;
<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
%trademarks;
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
<!ENTITY % txtfiles SYSTEM "../../../en_US.ISO8859-1/books/handbook/txtfiles.ent"> %txtfiles;
@ -89,6 +90,34 @@
&bookinfo.legalnotice;
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.general;
</legalnotice>
<abstract>
<para>Bienvenue &agrave; FreeBSD! Ce manuel d&eacute;crit l'installation
et l'utilisation quotidienne de la <emphasis>Version
@ -149,7 +178,7 @@
</listitem>
<listitem>
<para>Vous apprendront quelques bases d'Unix.</para>
<para>Vous apprendront quelques bases d'&unix;.</para>
</listitem>
<listitem>
@ -159,7 +188,7 @@
<listitem>
<para>Vous pr&eacute;senteront X, le syst&egrave;me de
fren&ecirc;trage d'Unix, et d&eacute;tailleront comment configurer
fren&ecirc;trage d'&unix;, et d&eacute;tailleront comment configurer
un environnement de travail qui vous rendra plus productif.</para>
</listitem>
</itemizedlist>