
Laut derFHS, die Verzeichnisse /lib
und /usr/lib
dienen beide für Bibliotheken (verwendete Bibliotheken /sbin
bzw. Benutzerbibliotheken).
Aber was ist mit dem /var/lib
Ordner? Nach der gleichen Logik sollte dieser Ordner so etwas wie „Variablenbibliotheken“ enthalten (das klingt seltsam), aber tatsächlich enthält er Daten, die von laufenden Programmen generiert und verwaltet werden, oder wie im Wikipedia-Artikel definiert:
Statusinformationen. Dauerhafte Daten, die von Programmen während der Ausführung geändert werden, z. B. Datenbanken, Metadaten von Verpackungssystemen usw.
Aus einer neuen Perspektive ist es sinnvoller, Datenbankdaten und bereitgestellte Dateien unter /srv
statt unter/var/lib
Antwort1
Dies wird im Commit zur neuen Version 3.0 erklärt:
http://bzr.linuxfoundation.org/loggerhead/lsb/devel/fhs-spec/revision/26
Insbesondere /srv/
ist es für bereitgestellte, dateisystemstrukturierte Daten, /var/lib/
also für lokal verwendete Daten. Apache wird aus /srv bereitgestellt, da sein Dateisystem hierarchisch ist. MySQL stellt aus /var/lib bereit, da nur mysqld darauf zugreift und es nicht hierarchisch ist.
Antwort2
Alssysadmin1138hat bereits erwähnt, FHS 3.0 erklärt dies in seinem /srv
Abschnitt, den ich zitieren werde:
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s17.html
Wenn die Verzeichnis- und Dateistruktur der Daten den Verbrauchern nicht zugänglich gemacht wird, sollten sie in gespeichert werden
/var/lib
.
Dieser Satz wurde hinzugefügt aufgrunddieser FHS-Fehler. Dort,Tollef Fog Heenschreibt:
Ich denke, der entscheidende Unterschied besteht hier darin, ob der Systemadministrator normalerweise mit der Verzeichnisstruktur konfrontiert wird und sich darum kümmern muss.
Der hilfreiche Teil hier ist, dass im /srv
Sysadmin„muss auf die Verzeichnisstruktur achten“.