Tables des matières. - 5 La hiérarchie /var << >> Up Title Contents

5 La hiérarchie /var


/var -- Variable data

|

+-adm System administrative data, symbolic link to /var/log

+-catman Locally-formatted manual pages

+-lib Application state information

+-local Variable data of software from /usr/local

+-lock Lock files

+-log Log files and directories

+-named DNS files, networking only

+-nis Network Information Service (NIS) database files

+-preserve Saved files after crash or hang-up from ex or vi

+-run Files relevant to running processes

+-spool Directories for queued work to be performed later

+-tmp Temporary files, used to keep /tmp small

/var contient des fichiers de données variables. Ceci inclut les répertoires et fichiers de spool, les données administratives et de rapports, et les fichiers éphémères et temporaires.

Certaines portions de /var ne sont pas partageables entre différents systèmes. Par exemple, /var/log, /var/lock, et /var/run. D'autres portions sont partageables, notamment /var/spool/mail et /var/spool/news.

/var est spécifié ici pour qu'il soit possible de monter /usr en lecture seule. Tout ce qui jadis allait dans /usr et dans lequel on écrit pendant l'opération du système (à l'opposé de l'installation et de la maintenance logicielle) devrait être dans /var.

Si on ne peut pas mettre /var dans une partition séparée, il est souvent préférable de déplacer /var hors de la partition root dans la partition /usr. (Ceci est fait quelquefois pour réduire la taille de la partition root ou quand l'espace devient petit dans la partition root.) Cependant, /var ne devrait pas être lié à /usr parce que ceci rend la séparation de /usr et de /var plus difficile et risque de créer des conflits de dénomination. À la place, liez /var à /usr/var.

5.1 /var/adm : fichiers de rapports et compte-rendus (obsolète)

Ce répertoire a été remplacé par /var/log et d'autres répertoires. Ce devrait être un lien symbolique vers /var/log jusqu'à ce que tous les programmes ne se réfèrent plus à aucun fichier dans /var/adm.

utmp a été déplacé vers /var/run. Tous les fichiers de rapport ont été déplacés dans /var/log, en incluant le fichier wtmp.

Le support pour le paquetage des distributions devrait être stocké dans /var/lib/<name>.

Note : le lien symbolique /var/adm ne doit pas être nécessaire sur la plupart des systèmes ELF linux-i386 puisque le changement a été introduit avant que ELF ne soit donné au public.

5.2 /var/catman : pages de manuel formatées localement (optionnel)

Ce répertoire fournit un emplacement standard pour les sites qui fournissent une partition /usr en lecture seule, mais qui veulent permettre de faire un cache des pages de manuel formatées en local. Les sites qui montent /usr en écriture (par exemple, les installations en utilisateur simple) peuvent opter de ne pas utiliser /var/catman et d'écrire les pages de manuel formatées dans les répertoires cat[1-9] de /usr directement. Nous recommandons que la plupart des sites utilisent une des options suivantes à la place :

* Préformater toutes les pages de manuel dans /usr avec le programme catman.

* Ne permettre aucun cache des pages de manuel formatées, et demander que nroff soit lancé à chaque fois qu'une page de manuel est utilisée.

* Permettre le cache local des pages de manuel formatées dans /var/catman.

La structure de /var/catman a besoin de refléter à la fois le fait de hiérarchies de pages de manuel multiples et la possibilité du support de plusieurs langues.

Étant donnée une page de manuel non formatée qui apparaît normalement dans /usr/<path1>/man/man[1-9], la version formatée dans le cache devrait aller dans /var/catman/<path2>/cat[1-9], où <path2> est <path1>. Les composants <path1> et <path2> sont absents dans le cas de /usr/man et /var/catman.

Par exemple, /usr/man/man1/ls.1 est formatée dans /var/catman/cat1/ls.1, et /usr/X11R6/man/<locale>/man3/XtClass.3x dans /var/catman/X11R6/<locale>/cat3/XtClass.3x.

Les pages de manuel écrites dans /var/catman/cat[1-9] peuvent à la fin être transférées dans /usr/<path>/cat[1-9] ou expirées ; de la même façon, les pages de manuel formatées dans /usr/<path>/cat[1-9] peuvent être expirées si elles n'ont pas été accédées pendant une certaine période de temps.

Si les pages de manuel pré-formatées arrivent avec un système Linux sur un support en lecture seule (un CD-ROM, par exemple), ils devraient être installés dans /usr/<path>/cat[1-9]. /var/catman est réservé à un cache en écriture pour les pages de manuel formatées.

5.3 /var/lib : information sur l'état des applications

/var/lib -- Application state information

|

+-emacs State directory for Emacs

+-games Variable game data (score files)

+-news Variable files for Cnews/INN

+-texmf Variable data associated with TeX

+-xdm X display manager authentication files and error logs

/var/lib/<name> est l'emplacement approprié pour le support de tous les packages de distributions. Des distributions Linux différentes peuvent utiliser des noms différents, bien sûr.

5.3.1 /var/lib/emacs

Le répertoire d'état de GNU Emacs, l'emplacement des fichiers de données indépendants de l'architecture qu'Emacs modifie quand il tourne, devrait être /var/lib. En ce moment, Emacs ne situe que son répertoire de fichiers lock sous le répertoire d'état (dans <statedir>/emacs/lock), mais il pourrait faire un usage plus intensif du répertoire d'état dans le futur.

Notamment, il ne faut que l'addition d'une simple option au programme configure d'Emacs pour provoquer ce changement (avant la compilation).

5.3.2 /var/lib/games

Tout comme les sous-répertoires listés ci-dessus, toute donnée variable ayant un rapport avec les jeux situés dans /usr/games devrait être placée ici. /var/lib/games devrait tenir les données variables trouvées précédemment dans /usr/lib/games ; les données statiques, comme le texte d'aide, les descriptions de niveaux, et ainsi de suite, devraient rester dans /usr/lib/games.

5.3.3 /var/lib/news

/var/lib/news devrait être utilisé pour stocker toutes les données variables associées avec les serveurs de nouvelles comme Cnews ou INN, en comprenant le fichier d'historique, le fichier actif, et ainsi de suite.

5.3.4 /var/lib/texmf

/var/lib/texmf devrait être utilisé pour stocker les données variables associées avec TeX. En particulier, /var/lib/texmf/fonts stockera toutes les fontes qui sont générées automatiquement par MakeTeXPK.

Il devrait y avoir un lien de /usr/lib/texmf/fonts/tmp vers /var/lib/texmf/fonts. Ce lien permet aux utilisateurs d'utiliser le chemin unique /usr/lib/texmf/fonts/tfm en faisant des changements à leur variable d'environnement TEXFONTS. (Ceci est le chemin par défaut pour les outils TeX de Karl Berry, distribués sur ftp.cs.umb.edu:/pub/tex. (La raison pour laquelle les outils de Karl Berry sont mentionnés est qu'ils sont la norme de-facto pour les installations UNIX de TeX. Ces outils sont largement utilisée, un lien du répertoire de fontes approprié vers /var/lib/texmf/fonts devrait être fait.)

Le MakeTeXPK qui est distribué avec dvipsk placera les fichiers .pk dans fonts/pk/<device>/<fontname> (par exemple, fonts/pk/CanonCX/cmr10.300pk).

Les fichiers .pk peuvent être purgés périodiquement de l'arborescence /var/lib/texmf, ou bien peuvent être déplacées dans l'arborescence /usr/lib/texmf. Si des générateurs automatiques .mf ou .tfm sont utilisés, ils devraient placer leurs données dans les sous-répertoires mf ou tfm de /var/lib/texmf/fonts.

5.3.5 /var/lib/xdm

/var/lib/xdm contient les données variables de xdm, qui consiste en les fichiers xdm-errors et tous les fichiers d'autorité xdm. Les binaires xdm comme le chooser devraient toujours être situés dans l'emplacement historique /usr/X11R6/lib/X11/xdm. Le fichier xdm-pid devrait être placé dans /var/lib/xdm malgré l'existence de /var/run. Les fichiers restants devraient être placés dans /etc/X11/xdm.

5.4 /var/local : données variables des logiciels de /usr/local

Ce répertoire contient toutes les données variables relatées aux logiciels trouvés dans /usr/local. Naturellement, l'implémentation de ce répertoire est laissé aux soins de l'administrateur du site. Cependant, les informations que l'on peut classer dans un autre répertoire /var ne devraient pas être placées dans /var/local. Par exemple, tous les fichiers lock vont quand même dans /var/lock.

5.5 /var/lock : fichiers lock

Les fichiers lock devraient être stockés à l'intérieur de la structure de répertoire /var/lock.

Pour préserver la possibilité de monter /usr en lecture seule, aucun fichier lock ne devrait être placé sur la partition /usr.

Les fichiers lock de périphériques, comme les fichiers lock du périphérique série que l'on trouvait soit dans /usr/spool/locks soit dans /usr/spool/uucp, devraient maintenant être stockés dans /var/lock. La convention de dénomination qui devrait être utilisée est LCK.. suivi du nom de base du périphérique. Par exemple, pour verrouiller /dev/cua0 le fichier LCK..cua0 serait créé.

Le format utilisé pour les fichiers lock de périphériques Linux devraient être dans le format de fichier lock HDB UUCP. Le format HDB va stocker l'identificateur de processus (PID) comme un nombre décimal en ASCII sur dix octets, avec une nouvelle ligne à la fin. Par exemple, si le processus 1230 contient un fichier lock, il contiendrait les onze caractères : espace, espace, espace, espace, espace, espace, un, deux, trois, zéro, et nouvelle ligne.

Alors, n'importe quoi qui voudrait utiliser /dev/cua0 peut lire le fichier lock et agir en conséquence (tous les locks dans /var/lock devraient être lisibles par tout le monde).

5.6 /var/log : fichiers et répertoires de rapports

Le répertoire contient divers fichiers de rapports. La plupart des rapports devraient être écrits dans ce répertoire ou dans un sous-répertoire approprié.

lastlog record of last login of each user

messages system messages from syslogd

wtmp record of all logins and logouts

Un lien symbolique de /var/log/utmp vers /var/run/utmp peut être requis jusqu'à ce que les programmes ne se réfèrent plus à /var/adm/utmp (/var/adm est lui-même un lien symbolique de transition vers /var/log).

5.7 /var/named : fichiers de DNS

Ce répertoire contient tous les fichiers de travail du serveur de nom Internet, named.

Nous recommandons que /etc/named.boot soit un lien symbolique vers /var/named/named.boot puisque /etc/named.boot est le fichier de démarrage par défaut si aucun argument n'est donnée à named.

5.8 /var/nis : fichiers de la base de données du Service d'Information Réseau (NIS)

Le Service d'Information Réseau (NIS) était connu précédemment comme les Pages Jaunes de Sun (YP). La fonctionnalité et l'emplacement des répertoires pour les deux sont les mêmes, mais le nom "Yellow Pages" (NdT Pages Jaunes) est une marque déposée au Royaume-Uni, appartenant à British Telecommunications plc, et ne peut être utilisé sans permission.

5.9 /var/preserve : fichiers sauvés après un crash ou un blocage de ex ou vi

Ce répertoire contient les fichiers sauvés générés par toute terminaison inattendue de ex, vi, ou leurs clones.

5.10 /var/run : fichiers variables d'exécution

Ce répertoire contient des fichiers d'informations système qui décrivent le système depuis qu'il a démarré. En général, les fichiers de ce répertoire devraient être nettoyés (enlevés ou tronqués selon le cas) au début du processus de démarrage.

Les fichiers d'identificateurs de processus (PID), qui étaient placés à l'origine dans /etc, sont placés dans /var/run. La convention d'appellation des fichiers de PID est <nom-programme>.pid. Par exemple, le fichier PID de crond est appelé /var/run/crond.pid.

Le format interne des fichiers PID reste inchangé. Le fichier doit consister de l'identificateur de processus en décimal codé en ASCII, suivi d'un caractère nouvelle ligne. Par exemple, si crond était le processus numéro 25, /var/run/crond.pid contiendrait trois caractères : deux, cinq et nouvelle ligne.

Les programmes qui lisent les fichiers PID devraient être quelque peu flexibles dans ce qu'ils acceptent ; c'est-à-dire, ils devraient ignorer les espaces blancs supplémentaires, les zéros en tête, l'absence de la nouvelle ligne à la fin, ou les lignes additionnelles dans le fichier PID. Les programmes qui créent des fichiers PID devraient utiliser la spécification simple située dans le paragraphe ci-dessus.

Le fichier utmp, qui stocke les informations sur qui utilise en ce moment le système, est situé dans ce répertoire.

Les programmes qui maintiennent les sockets de domaine UNIX éphémères devraient les placer dans ce répertoire.

5.11 /var/spool : répertoires de spool

/var/spool est traditionnellement utilisé pour les données locales à la machine étant mises en attente en direction ou en provenance de sous-systèmes UNIX. Par exemple, les travaux d'impression sont stockés ici avant livraison au daemon de l'imprimante ligne, le courrier électronique vers l'extérieur est stocké avant livraison aux systèmes éloignés, et les fichiers UUCP sont stockés avant transmission aux voisins UUCP. Le courrier qui arrive et les nouvelles sont stockées ici avant livraison aux utilisateurs, et les travaux at et cron sont stockés avant leur exécution retardée par le daemon cron.

/var/spool -- Spool directories

|

+-at at jobs

+-cron cron jobs

+-lpd Printer spool directory

+-mail User mailbox files

+-mqueue Outgoing mail queue

+-news News spool directory

+-rwho Rwhod files

+-smail Spool directories for smail

+-uucp Spool directory for UUCP

Les fichiers lock UUCP devraient être placés dans /var/lock. Voyez la section ci-dessus sur /var/lock.

5.11.1 /var/spool/lpd

/var/spool/lpd -- Printer spool directory

|

+-<printer> Spools for a specific printer

Le fichier lock pour lpd, lpd.lock, devrait être placé dans /var/spool/lpd. Le fichier lock pour chaque imprimante devrait être placé dans le répertoire de spool pour cette imprimante et nommé lock.

5.12 /var/tmp : fichiers temporaires, utilisés pour garder /tmp petit

Les fichiers dans /var/tmp sont stockés pour une durée non spécifiée (rappelez-vous s'il vous plaît que les répertoires temporaires du système ne sont pas garantis de garder des données pendant n'importe quelle durée).

Les données stockées dans /var/tmp sont typiquement nettoyées "d'une manière spécifique au système", mais en général à des intervalles moins fréquents que /tmp. Plus d'informations sur les répertoires temporaires se trouvent dans la section de la norme dédiée à /tmp (ci-dessus).

Il devrait y avoir un lien symbolique depuis /usr/tmp vers /var/tmp, pour des raisons de compatibilité.


<< >> Up Title Contents

© 1996-1997 "Logiciels du Soleil"