Où stocker datatables partagées dans FHS 3.0?

Je travaille sur une application conforme FHS2 qui stockait des données dans $sharedstatedir (par exemple $(prefix)/com , par exemple /usr/local/com ).

Ce directory n'est plus dans FHS 3.0, et il semble que nous devons commencer à utiliser soit

  • /var/lib , qui devrait stocker

    Information d'état variable

    ou plus verbeux,

    des informations d'état relatives à une application ou au système. Les informations d'état sont des données que les programmes modifient pendant leur exécution et qui concernent un hôte spécifique.

    ou

  • /var/local , qui devrait stocker

    Données variables pour /usr/local

    (Aucune autre information n'est donnée sur /var/local .)

Lequel d'entre eux devrions-nous utiliser?

Question bonus: Y a-t-il une variable pour /var/lib / /var/local , comme sharedstatedir et les amis que nous devrions utiliser, ou devrions-nous simplement coder le path dans nos makefiles?

Vous devriez choisir /var/lib .

/usr/com n'existe pas dans FHS 2.3 ou FHS 3. FHS 2.3 FHS 3.0

sharedstatedir est un concept dans les autotools GNU et les normes de encoding GNU

GNU et freestandards.org ne s'alignent pas toujours.

Le problème que vous mentionnez a été mentionné dans un post de la list de diffusion de 2006 . Dans le cas de Red Hat, la conclusion était d'utiliser /var/lib

Techniquement, si vous travaillez sur un projet open source qui utilise /var/local défaut le prefix /usr/local , vous pouvez utiliser /var/local . Mais je ne crois pas que quelqu'un le fasse en pratique. Pour commencer, notez que /var/local est probablement vide sur votre système. Pour deux, notez que dès que vous ou quelqu'un qui exécute ./configure change le prefix en /usr , vous ne pouvez pas utiliser /var/local , et la seule option restante est /var/lib .