Согласно FHS, каталоги /lib
и /usr/lib
оба предназначены для библиотек (библиотеки, используемые в /sbin
и пользовательские библиотеки соответственно).
Но как насчет /var/lib
папка? Следуя той же логике, в этой папке должно быть что-то вроде «библиотек переменных» (это звучит странно), но на самом деле в ней хранятся данные, созданные и поддерживаемые запущенными программами или как определено в статье в Википедии:
Государственная информация. Постоянные данные, изменяемые программами по мере их выполнения, например, базы данных, метаданные системы упаковки и т. Д.
С новой точки зрения, имеет смысл помещать данные базы данных и обслуживаемые файлы в /srv
вместо того /var/lib
Это объясняется в коммите к новой версии 3.0:
http://bzr.linuxfoundation.org/loggerhead/lsb/devel/fhs-spec/revision/26
В частности, /srv/
предназначен для обслуживаемых структурированных данных файловой системы, /var/lib/
предназначен для данных, потребляемых локально. Apache будет обслуживать / srv, поскольку это иерархическая файловая система. MySQL обслуживает из / var / lib, поскольку к нему обращается только mysqld, а файловая система не является иерархической.
Так как sysadmin1138 уже упоминалось, FHS 3.0 объясняет это в своем /srv
раздел, который я процитирую:
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s17.html
Если каталог и файловая структура данных не видны потребителям, они должны войти в
/var/lib
.
Это предложение было добавлено из-за эта ошибка FHS. Там, Толлеф Туман Хин пишет:
Я думаю, что решающее различие здесь заключается в том, открыт ли системный администратор обычно и должен ли он заботиться о структуре каталогов.
Полезная часть здесь заключается в том, что в /srv
сисадмин "Должен заботиться о структуре каталогов".