Show 013.html syntax highlighted
<HTML><HEAD><TITLE>Linux-Mandrake: Guide de l'utilisateur et Manuel de référence</TITLE>
<LINK REV=MADE HREF="mailto:info@mandrakesoft.com"></HEAD>
<BODY BGCOLOR="#ffffff"><center><font size="+5"><STRONG><table border="0"><tr><td><STRONG>Linux-Mandrake</STRONG>:</td></tr><tr><td>Guide de l'utilisateur</td></tr><tr><td>et Manuel de référence</td></tr></table></STRONG></font>
<p><font size="+2"><STRONG><table border="0"><tr><td><STRONG>MandrakeSoft</STRONG></td></tr></table></STRONG></font>
<p><STRONG><table border="0"><tr><td> </td></tr><tr><td> </td></tr><tr><td>Janvier 2000</td></tr><tr><td><CODE>http://www.linux-mandrake.com</CODE></td></tr><tr><td></td></tr></table></STRONG></center>
<hr><a href="014.html">Suivant : Le système de fichiers de
<STRONG>Linux</STRONG>: <STRONG>ext2fs</STRONG></a><br><a href="012.html">Précédent : L'édition de texte: <STRONG>Emacs</STRONG> et <STRONG>VI</STRONG></a><br><a href="../">Retour</a><br><hr><a href="000.html#toc"><font size="-1">(Retour à la table des matières)</font></a>
<H1><font size="+1"><a name="122">Chapitre 3 : Organisation de l'arborescence des fichiers</a></font></H1><hr><p>Aujourd'hui, un système <STRONG>Unix</STRONG> est gros, très gros, et c'est
particulièrement vrai avec <STRONG>Linux</STRONG>: la profusion de logiciels
disponibles en ferait un système ingérable s'il n'y avait des lignes de
conduite quant au placement des fichiers dans l'arborescence.
<p>Le standard reconnu en la matière est le <EM>FHS</EM>
(<EM>Filesystem Hierarchy Standard</EM>,
« norme pour les hiérarchies de systèmes de fichiers »), et
il en est à sa version 2.0 à l'heure où ce manuel est écrit. Le document
décrivant la norme est disponible sur <EM>Internet</EM> en différents
formats à <CODE>http://www.pathname.com/fhs/</CODE>. Ce chapitre n'en est qu'un
résumé succinct, mais qui devrait vous suffire pour savoir dans quel
répertoire rechercher (ou mettre) un fichier donné.
<H1><a name="123">Données partagées et non partagées, statiques et non statiques</a></H1>
<p>Les données sur un système <STRONG>Unix</STRONG> peuvent être classées selon ces
deux critères. Vous aurez deviné ce que signifient l'un et l'autre: des
données partagées sont des données pouvant être communes à plusieurs
machines le long d'un réseau, tandis que des données non partagées ne le
peuvent pas. Des données statiques n'ont pas à être modifiées en
utilisation normale, tandis que des données non statiques peuvent
l'être. Au fur et à mesure que nous explorerons l'arborescence, nous
classerons les différents répertoires dans chacune de ces catégories.
<p>Notez que ces classements sont seulement recommandés: vous n'êtes pas
obligé(e) de suivre ces recommandations, mais adopter ces lignes de
conduite vous aidera grandement pour gérer votre système. Notez
également que la distinction statique/non statique n'a pour portée que
l'utilisation du système et pas sa configuration. Si vous installez un
programme, vous aurez bien évidemment à modifier des répertoires
« normalement » statiques, tels que <CODE>/usr</CODE> par exemple.
<H1><a name="124">Le répertoire racine: <CODE>/</CODE></a></H1>
<p>Le répertoire racine contient toute la hiérarchie du système. Il est
inclassable puisque ses sous-répertoires peuvent être statiques ou non,
partagés ou non. Voici un liste des principaux répertoires et
sous-répertoires:
<ul><li><CODE>/bin</CODE>: binaires essentiels au système. Ce répertoire renferme
les commandes de base qui sont susceptibles d'être utilisées par tout le
monde et nécessaires pour utiliser le système: <CODE>ls</CODE>,
<CODE>cp</CODE>, <EM>login</EM>, etc. Statique, non partagé.
<li><CODE>/boot</CODE>: contient les fichiers nécessaires au gestionnaire de
démarrage de <STRONG>Linux</STRONG> (<STRONG>LILO</STRONG> dans le cas des architectures
<STRONG>Intel</STRONG>). Cela peut ou non comprendre le noyau: s'il n'est pas
ici, il doit être situé dans la racine. Statique, non partagé.
<li><CODE>/dev</CODE>: fichiers périphériques du système (<CODE>dev</CODE> pour
<EM>DEVices</EM>, « périphériques »). Statique, non
partagé.
<li><CODE>/etc</CODE>: ce répertoire contient tous les fichiers de
configuration spécifiques à la machine.
<li><CODE>/home</CODE>: contient tous les répertoires personnels des
utilisateurs du système. Ce répertoire peut ou non être partagé (les
grands réseaux le rendent généralement partagé par <EM>NFS</EM>), et il est
évidemment non statique.
<li><CODE>/lib</CODE>: ce répertoire contient les bibliothèques essentielles
au système ainsi que les modules du noyau, dans <CODE>/lib/modules</CODE>.
Toutes les bibliothèques nécessaires aux binaires présents dans les
répertoires du système <CODE>/bin</CODE> et <CODE>/sbin</CODE>, doivent s'y trouver,
ainsi que l'éditeur de liens <CODE>ld.so</CODE>. Statique, non partagé.
<li><CODE>/mnt</CODE>: répertoire contenant les points de montage pour les
systèmes de fichiers temporaires. Non statique, non partagé.
<li><CODE>/opt</CODE>: ce répertoire contient des paquetages non nécessaires
au fonctionnement du système. Il est recommandé que les fichiers
statiques (binaires, bibliothèques, pages de manuel, etc.) de tels
paquetages aient leur place dans le fichier <CODE>/opt/nom_du_paquetage</CODE>
et que leurs fichiers de configuration spécifiques à la machine soient
placés dans le répertoire <CODE>/etc/opt</CODE>.
<li><CODE>/root</CODE>: répertoire personnel du Tout-Puissant. Non statique,
non partagé.
<li><CODE>/usr</CODE>: voir section suivante. Statique, partagé.
<li><CODE>/sbin</CODE>: contient les binaires systèmes essentiels au
démarrage du système, exploitables uniquement par <CODE>root</CODE>.
L'utilisateur peut les exécuter aussi mais il n'en obtiendrait pas grand
chose en général. Statique, non partagé.
<li><CODE>/tmp</CODE>: répertoire destiné à contenir les fichiers
temporaires que peuvent créer certains programmes. Non statique, non
partagé.
<li><CODE>/var</CODE>: emplacement pour les données souvent modifiées par
des programmes (par exemple le serveur de courrier électronique, les
programmes d'audit, le serveur d'impression, etc.). Tout <CODE>/var</CODE> est
non statique, mais ses différents sous-répertoires peuvent être partagés
ou non.</ul>
<H1><a name="125"><CODE>/usr</CODE>: le gros morceau</a></H1>
<p>Le répertoire <CODE>/usr</CODE> est le principal répertoire de stockage des
applications. Tous les binaires dans ce répertoire ne doivent pas être
nécessaires au démarrage ou à l'entretien du système, puisque très
souvent la hiérarchie <CODE>/usr</CODE> est sur un système de fichiers séparé.
Étant donnée sa taille souvent importante, <CODE>/usr</CODE> possède sa propre
hiérarchie de sous-répertoires. Nous n'en citerons que quelques-uns:
<ul><li><CODE>/usr/X11R6</CODE>: toute la hiérarchie de <STRONG>X Window System</STRONG>. Tous
les binaires nécessaires au fonctionnement de <STRONG>X</STRONG> (cela comprend
bien sûr les serveurs <STRONG>X</STRONG>) et toutes les bibliothèques nécessaires
doivent s'y trouver. Le répertoire portant le nom
<CODE>/usr/X11R6/lib/X11</CODE> contient les aspects de la configuration de
<STRONG>X</STRONG> qui ne varient pas de machine à machine. Nous avons déjà vu
que la configuration spécifique pour chaque machine est dans
<CODE>/etc/X11</CODE>.
<li><CODE>/usr/bin</CODE>: ce répertoire contient la grande majorité des
programmes binaires du système. <EM>Tout</EM> programme binaire qui
n'est pas nécessaire à l'entretien du système et n'est pas un programme
d'administration du système doit se trouver dans ce répertoire, à
l'exception des programmes que vous installez vous-mêmes, qui doivent
être dans <CODE>/usr/local</CODE>.
<li><CODE>/usr/lib</CODE>: ce répertoire contient toutes les bibliothèques
nécessaires pour employer les programmes situés dans le répertoire
<CODE>/usr/bin</CODE> et <CODE>/usr/sbin</CODE>. Il existe également un lien
symbolique <CODE>/usr/lib/X11</CODE> qui pointe vers le répertoire renfermant
les bibliothèques de <STRONG>X Window System</STRONG>, c'est-à-dire <CODE>/usr/X11R6/lib</CODE>
(si <STRONG>X Window System</STRONG> est installé, bien sûr).
<li><CODE>/usr/local</CODE>: c'est dans ce répertoire que vous devrez
installer vos applications personnelles. Le programme d'installation y
aura créé toute la hiérarchie nécessaire: <CODE>lib/</CODE>, <CODE>man/</CODE>, etc.
<li><CODE>/usr/share/</CODE>: ce répertoire contient toutes les données
nécessaires aux applications dans <CODE>/usr/</CODE>, ainsi que toutes les
données indépendantes de la plate-forme. Vous y trouverez notamment les
informations de zones et de localisation (<CODE>zoneinfo</CODE> et
<CODE>locale</CODE>).</ul>
<p>Il existe également des répertoires <CODE>/usr/doc</CODE> et <CODE>/usr/man</CODE>,
qui contiennent respectivement la documentation des applications et les
pages de manuel du système, mais le standard recommande qu'ils soient
peu à peu déplacés dans <CODE>/usr/share</CODE>.
<H1><a name="126"><CODE>/var</CODE>: données modifiables en cours d'utilisation</a></H1>
<p>Le répertoire <CODE>/var</CODE> contient toutes les données de fonctionnement
des programmes qui tournent sur le système. Contrairement aux données de
travail dans <CODE>/tmp</CODE>, ces données doivent être conservées intactes
lors d'un redémarrage. Il existe de nombreux sous-répertoires, et
quelques-uns sont très utiles:
<ul><li><CODE>/var/log</CODE>: contient les fichiers d'audit du système;
<li><CODE>/var/spool</CODE>: contient les fichiers de travail des démons du
système. Par exemple, <CODE>/var/spool/lpd</CODE> contient les fichiers de
travail du serveur d'impressions et le répertoire <CODE>/var/spool/mail</CODE>
contient les fichiers de travail du serveur de courrier électronique
(donc tout le courrier qui arrive et sort de votre système).
<li><CODE>/var/run</CODE>: ce répertoire sert à conserver une trace de tous
les processus en cours d'utilisation par le système, de façon à pouvoir
agir sur ces processus lors d'un changement de niveau d'exécution du
système (voir un chapitre précédent).</ul>
<H1><a name="127"><CODE>/etc</CODE>: les fichiers de configuration</a></H1>
<p>Le répertoire <CODE>/etc</CODE> est un des répertoires essentiels de tout
système <STRONG>Unix</STRONG>. Il contient tous les fichiers de configuration de
base du système. Ne l'effacez surtout pas pour gagner de la place! De
même, si vous voulez étaler votre arborescence sur plusieurs partitions,
sachez que <CODE>/etc</CODE> ne doit pas être mis sur une partition séparée:
il est nécessaire à l'initialisation du système.
<p>Quelques fichiers importants sont:
<ul><li><CODE>passwd</CODE> et <CODE>shadow</CODE>: ces deux fichiers sont des
fichiers texte qui contiennent tous les utilisateurs du système ainsi
que leurs mots de passe (cryptés <CODE>:)</CODE>). <CODE>shadow</CODE> n'est là que
si vous utilisez les mots de passe <EM>shadow</EM>, mais c'est l'option
par défaut de l'installation;
<li><CODE>inittab</CODE>: c'est le fichier de configuration du programme
<CODE>init</CODE>, qui joue un rôle fondamental lors du démarrage du
système ainsi que nous le verrons plus tard;
<li><CODE>services</CODE>: ce fichier contient une énumération des services
réseau existants;
<li><CODE>profile</CODE>: il s'agit du fichier de configuration du
<EM>shell</EM>, bien que certains <EM>shells</EM> en utilisent d'autres. Par
exemple, <STRONG>Bash</STRONG> utilise <CODE>bashrc</CODE>;
<li><CODE>crontab</CODE>: fichier de configuration de <CODE>cron</CODE>,
programme chargé de l'exécution périodique de commandes.</ul>
<p>Il existe également certains sous-répertoires pour les programmes dont
la configuration requiert un grand nombre de fichiers. C'est le cas de
<STRONG>X Window System</STRONG>, par exemple, qui dispose de tout le répertoire
<CODE>/etc/X11</CODE>.
<hr><a href="014.html">Suivant : Le système de fichiers de
<STRONG>Linux</STRONG>: <STRONG>ext2fs</STRONG></a><br><a href="012.html">Précédent : L'édition de texte: <STRONG>Emacs</STRONG> et <STRONG>VI</STRONG></a><br><a href="../">Retour</a><br><hr>Copyright © 2000 <a href="http://www.mandrakesoft.com/">MandrakeSoft</a></BODY></HTML>
See more files for this project here