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

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

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

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

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

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

решение1

Это объясняется в коммите к новой версии 3.0:

http://bzr.linuxfoundation.org/loggerhead/lsb/devel/fhs-spec/revision/26

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

решение2

Каксисадмин1138уже упоминалось, FHS 3.0 объясняет это в своем /srvразделе, который я процитирую:

https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s17.html

Если структура каталогов и файлов данных не раскрывается потребителям, ее следует поместить в /var/lib.

Это предложение было добавлено из-заэта ошибка FHS. Там,Толлеф Фог Хинпишет:

Я думаю, что решающее различие здесь заключается в том, имеет ли системный администратор обычное представление о структуре каталогов и должен ли он заботиться о ней.

Полезная часть здесь в том, что в /srvсистемном администраторе«должен заботиться о структуре каталогов».

Связанный контент