Comment stocker les articles : pathetc/storage.conf

Ce fichier définit comment innd va stocker les articles. Ce fichier n'est lu qu'au démarrage d'innd

[Important]

Quand il reçoit un article, innd va stocker l'article dans la première (du début à la fin) entrée qui accepte l'article.

Il existe cinq méthodes de stockage pour les articles :

tradspool

tradspool est la méthode traditionnelle de stockage des articles. Elle stocke chaque article dans son propre fichier de nom news/groupe/nnnn. Groupe est une arborescence de répertoires (fr.test donnera fr/test/) et nnnn le numéro d'ordre donnée par innd de l'article dans le groupe. Cette méthode est donc gourmande en inodes, ce qui peut poser des problèmes au système de fichiers, de plus il faut faire une expiration manuel des articles. C'est par contre la méthode recommandée pour pouvoir utiliser des outils tiers et pour faire les sauvegardes.

cnfs

Cette méthode stocke l'article dans un buffer. C'est la méthode la plus rapide (on ne crée pas un fichier à chaque nouvel article). Le buffer est cyclique, quand innd arrive à la fin du buffer, il recommence au début de celui-ci, écrasant les articles les plus anciens. Cette méthode permet d'allouer un espace disque à innd et ne plus avoir à s'inquiéter d'un potentiel manque de place. Par contre en cas de défaillance du disque, il est plus difficile de récupérer les données.

timehash

Cette méthode stocke l'article dans un nouveau fichier dont le nom est déterminé par la date d'arrivée du fichier et un numéro d'ordre.

timecaf

Cette méthode stocke l'article dans un fichier dont le nom est déterminé par la date d'arrivée du fichier. Contrairement à timehash, cette méthode peut stocker plusieurs articles dans le même fichier. Ces deux méthodes de stockage facile le traitement d'expiration des articles.

trash

Cette méthode envoie directement l'article à la poubelle et ne le stocke pas.

Chaque entrée du fichier à la forme suivante :

method <methodname>1 {
    newsgroups: <wildmat>2
    class: <storage class number>3
    size:  <minsize>[,>maxsize<]4
    expires:  <mintime>[,>maxtime<]5
    options:  <options>6
    exactmatch: true|false7
    }

1

méthode de stockage utilisée

2

masque de capture selon le format uwildmat(3)

[Attention]

Attention le point d'exclamation(!) ne peut pas être utilisé, pour ne pas prendre certains groupes, il faut utiliser l'arobase(@)

3

numéro utilisé en interne par innd pour identifier cette entrée.

[Attention]

Ce numéro doit être unique. mais innd fonctionnera quand même si plusieurs méthodes ont le même numéro, mais nous risquons d'avoir des comportements bizarres...

4

Taille en bytes des articles pouvant être stockés par cette entrée. Cette sous-entrée est optionnelle.

5

Détermine si l'article peut être stocké par cette entrée en regardant la valeur de l'entête Expires. Cette sous-entrée est optionnelle.

6

Permet de passer des options spécifiques à la méthode de stockage de l'entrée. Cette entrée est optionnelle, et ne sert qu'à préciser à la méthode cnfs le groupe de buffer à utiliser.

7

En cas de cross-postage de l'article, tout les forums ou est posté l'article doivent-ils valider le masque de capture. Par défaut (si cette sous-entrée est absente), il suffit qu'un seul forum valide le masque.

[Attention]

Il n'y pas d'espace entre le nom de l'option et les deux-points.

Nous voila prêts à utiliser Inn2. Il ne reste plus qu'à alimenter notre serveur en articles.