Next: L'utilisation
des fichiers partagés Up: LES
BASES DE NIS Previous: Le
fichier ypservers
Les fichiers que je viens de vous décrire sont les fichiers d'administration des systèmes sous IRIX 5.3. Pour qu'ils puissent être partagés par le NIS ils doivent être mis en forme. Cette mise en forme doit assurer une découverte rapide d'une occurence dans un fichier. Le format qui fut alors choisi est celui d'une base de données disponible sur les sytèmes UNIX BSD et qui est dbm. En ce qui concerne la rapidité, il a été démontré que la recherche d'une clé et de sa valeur associée nécessitait au plus deux accés au système de fichier.
Ce système utilise des tables hachées pour classer les fichiers en fonction d'une clé. Elle met donc un fichier source sous la forme de deux fichiers. Un fichier représentant la table des clés et un deuxième fichier contenant les données relatives à ces clés. Le fichier qui contient les clés et qui est donc le fichier d'index a l'extension .dir alors que le fichier qui contient les données a l'extension .pag.
De plus, en utilisant une convention de nommage relativement simple
les noms de fichiers utilisés permettent de connaître la clé
qui est utilisée. Par exemple dans le cas du fichier passwd
les clés utilisées sont le nom et le numéro d'identification.
Nous avons donc deux tables qui sont utilisées pour représenter
le fichier passwd ce qui fait un total de quatre fichiers.
Les fichiers sont alors :
Fichier des clés classées par nom | pw.byname.dir |
Fichier des données classées par nom | pw.byname.pag |
Fichier des clés classées par uid | pw.byuid.dir |
Fichier des données classées par uid | pw.byuid.pag |
Par ailleurs suite à la façon dont sont gérés les fichiers de la base sur le disque il est fortement déconseillé de recopier ces fichiers avec les commandes classiques telles que cp ou mv. Car d'une part ces fichiers sont spécifiques de l'architecture de la machine sur laquelle ils ont été créés et d'autre part ils contiennent un certain nombre de blocs non alloués. Ces blocs seraient alors considérés comme des blocs nuls par ces commandes. Donc lorsqu'il est nécessaire de recopier ces fichiers dans un répertoire différent, il faut les recréer.
En plus des informations contenues dans les fichiers sources deux données sont ajoutées lors de la construction des maps : Une entrée concernant le serveur maître dont la map est issue et une entrée concernant l'estampille de modification de la map. Ceci permet les mises à jour seulement à partir des maps les plus récentes sur les serveurs esclaves.