/var/lib для хранения обслуживаемых данных, почему?

По данным ФХС, справочники /lib а также /usr/lib оба для библиотек (библиотеки, используемые в /sbin и пользовательские библиотеки соответственно).

Но как насчет /var/lib папка? Следуя той же логике, в этой папке должно быть что-то вроде "переменных библиотек" (это звучит странно), но на самом деле она содержит данные, сгенерированные и поддерживаемые запущенными программами или как определено в статье в Википедии:

Государственная информация. Постоянные данные, изменяемые программами при их запуске, например, базы данных, метаданные системы упаковки и т. Д.

С новой точки зрения, имеет смысл поместить данные базы данных и обслуживаемые файлы в /srv вместо /var/lib

2 ответа

Это объясняется в коммите к новой версии 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 Сисадмин "должен заботиться о структуре каталогов".

Другие вопросы по тегам