Назад | Перейти на главную страницу

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

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