Chapitre 2. Administration du système

Ce chapitre donne un aperçu du système Red Hat Linux. Cette présentation est destinée à vous guider pour certains aspects de Red Hat Linux que vous ne connaissez peut-être pas. En outre, ce chapitre souligne certaines différences entre Red Hat Linux et d'autres systèmes UNIX.

Structure du système de fichiers

Red Hat adhère au Filesystem Hierarchy Standard (FHS, standard en matière de hiérarchie du système de fichiers), document de collaboration définissant les noms et emplacements de nombreux fichiers et répertoires. Nous continuerons à respecter cette norme pour garantir la conformité de Red Hat Linux.

Le document FHS actuel est la référence faisant autorité pour tout système de fichiers compatible avec le standard FHS toutefois, celui-ci comprend de nombreuses zones indéfinies ou extensibles. Cette section donne un aperçu de la norme et une description des éléments du système de fichiers non couverts par la norme.

La norme complète peut être consultée à :

http://www.pathname.com/fhs/

La conformité avec la norme signifie beaucoup ; mais les deux aspects les plus importants sont la compatibilité avec d'autres systèmes également conformes et la possibilité de monter la partition /usr en lecture seule (car elle contient des exécutables courants et n'a pas pour vocation d'être modifiée par les utilisateurs). Du fait que la partition /usr peut être montée en lecture seule, il est possible de monter /usr depuis le CD-ROM ou un autre ordinateur via un NFS en lecture seule.

Aperçu de la hiérarchie standard du système de fichiers (FHS)

Les répertoires et les fichiers mentionnés ici son un petit sous-ensemble de ceux spécifiés par le document FHS. Consultez le dernier document FHS pour obtenir des informations complètes.

Répertoire /dev

Le répertoire /dev contient des entrées de système de fichiers représentant des périphériques connectés au système. Ces fichiers sont essentiels pour assurer le bon fonctionnement du système.

Répertoire /etc

Le répertoire /etc est réservé aux fichiers de configuration locaux sur votre ordinateur. Il ne faut placer aucun fichier binaire dans /etc. Tous les fichiers binaires qui se trouvaient précédemment dans /etc devraient à présent se trouver dans /sbin, voire dans /bin.

Les répertoires X11 et skel doivent être des sous-répertoires de /etc :

/etc
  |- X11
  +- skel

Le répertoire X11 est destiné à des fichiers de configuration X11 tels que XF86Config. Le répertoire skel est destiné aux fichiers utilisateurs "squelette", utilisés pour remplir un répertoire personnel lors de la création d'un nouvel utilisateur.

Répertoire /lib

Le répertoire /lib ne doit contenir que les bibliothèques nécessaires pour exécuter les fichiers binaires figurant dans /bin et /sbin.

Répertoire /proc

Le répertoire /proc contient des fichiers spéciaux permettant soit d'extraire des informations, soit de les envoyer au noyau. /proc offre une méthode aisée pour accéder aux informations sur le système d'exploitation (à l'aide de la commande cat).

Répertoire /sbin

Le répertoire /sbin est destiné aux exécutables utilisés uniquement par l'utilisateur root. Les exécutables figurant dans /sbin servent uniquement à démarrer et monter /usr, ainsi qu'à exécuter des opérations de récupération du système. La FHS indique ce qui suit :

"/sbin contient généralement des fichiers essentiels pour le démarrage du système, en plus des fichiers binaires figurant dans /bin. Tout ce qui est exécuté après /usr est supposé monté (lorsqu'il n'y a pas de problème) et doit être placé dans /usr/sbin. Les fichiers binaires d'administration du système exclusivement locaux doivent être placés dans le répertoire /usr/local/sbin."

Au minimum, les programmes suivants doivent figurer dans /sbin :

arp, clock, getty, halt, init, fdisk,
fsck.*, ifconfig, lilo, mkfs.*, mkswap, reboot,
route, shutdown, swapoff, swapon, update
	  

Répertoire /usr

Le répertoire /usr est destiné aux fichiers pouvant être partagés sur tout un site. Le répertoire /usr dispose habituellement de sa propre partition, et devrait être montable en lecture seule. Les répertoires suivants doivent être des sous-répertoires de /usr:

/usr
  |- X11R6
  |- bin
  |- doc
  |- etc
  |- games
  |- include
  |- lib
  |- libexec
  |- local
  |- sbin
  |- share
  +- src

Le répertoire X11R6 est destiné au système X Window (XFree86 sur Red Hat Linux), bin contient des exécutables, doc contient la documentation autre que les pages man, etc contient des fichiers de configuration pour l'ensemble du site, games est réservé aux jeux (qui l'eût cru !), include contient des fichiers d'en-tête C, lib des bibliothèques, libexec de petits programmes d'aide appelés par d'autres programmes, sbin est destiné aux fichiers binaires d'administration système (qui ne se trouvent pas dans /sbin), share contient des fichiers non spécifiques à l'architecture, et src le code source.

Répertoire /usr/local

La FHS indique ce qui suit :

"La hiérarchie /usr/local est destinée à être utilisée par l'administrateur système lors de l'installation locale du logiciel. Elle doit être à l'abri de toute réécriture lors de la mise à jour du logiciel système. Elle peut être utilisée pour des programmes et des données partageables entre un groupe d'ordinateurs, mais ne figurant pas dans /usr."

Le répertoire /usr/local est similaire, par sa structure, au répertoire /usr. Il contient les sous-répertoires suivants, qui sont similaires, par leur vocation, à ceux figurant dans le répertoire /usr :

/usr/local
       |- bin
       |- doc
       |- etc
       |- games
       |- info
       |- lib
       |- man
       |- sbin
       +- src

Répertoire /var

Du fait que la FHS exige que vous soyez en mesure de monter /usr en lecture seule, tous les programmes qui écrivent des fichiers journaux ou ont besoin de répertoires spool ou lock devraient probablement les écrire dans le répertoire /var . La FHS indique que /var est pour :

"… les fichiers de données variables. Ceci comprend les répertoires et fichiers de spool, les données administratives et de connexion, de même que les fichiers transitoires et temporaires."

Les répertoires suivants doivent être des sous-répertoires de /var :

/var
  |- cache
  |- db
  |- ftp
  |- gdm
  |- lib
  |- local
  |- lock
  |- log
  |- named
  |- nis
  |- opt
  |- preserve
  |- run
  +- spool
       |- anacron
       |- at
       |- cron
       |- fax
       |- lpd
       |- mail
       |- mqueue
       +- news
       |- rwho
       |- samba
       |- slrnpull
       |- squid
       |- up2date 
       |- uucp
       |- uucppublic
       |- vbox
       |- voice
       |- tmp
       |- yp

Les fichiers journaux système tels que wtmp et lastlog vont dans /var/log. Le répertoire /var/lib contient également les bases de données système RPM. Les fichiers lock se trouvent dans /var/lock. Le répertoire /var/spool comprend des sous-répertoires pour divers systèmes devant stocker des fichiers de données.

/usr/local dans Red Hat Linux

Dans Red Hat Linux, l'usage prévu pour /usr/local diffère légèrement de celui spécifié par la FHS. La FHS indique que /usr/local est le lieu de stockage des logiciels devant rester à l'abri des mises à jour du logiciel système. Du fait que les mises à jour du système à partir de Red Hat s'effectuent en toute sécurité à l'aide du système RPM et de Gnome-RPM, il est superflu de protéger des fichiers en les plaçant dans /usr/local. Nous conseillons plutôt d'utiliser /usr/local pour y placer les logiciels locaux figurant sur votre ordinateur.

Par exemple, imaginons que vous ayez monté /usr via un NFS en lecture seule de beavis. Si vous souhaitez installer un paquetage ou un programme mais n'êtes pas autorisé à écrire sur beavis, installez-le sous /usr/local. Plus tard peut-être, lorsque vous aurez convaincu l'administrateur système de beavis d'installer le programme dans /usr, vous pourrez le désinstaller de /usr/local.