У меня есть приложение, которому нужно сохранять некоторую информацию о сеансе и т. д. постоянные данные. Какой системный каталог подойдет для этого?
Что-то ниже var/
?
решение1
Это зависит от того, какие данные вы планируете хранить.
Только для чтения (независимо от машины)-> /usr/share/"your_app"
Только для чтения (зависит от машины) -> /usr/lib/"your_app"
Чтение-запись -> /var/lib/"your_app"
Пожалуйста, посетитеСтандарт иерархии файловой системыдля более подробной информации.
решение2
- mysql использует /var/lib/mysql, поэтому да, /var/{lib][your_directory}/ является вариантом.
/srv
это место, используемое для групповых файлов.ФХС:
/srv : Данные для услуг, предоставляемых этой системой
Обоснование
Основная цель указания этого заключается в том, чтобы пользователи могли найти местоположение файлов данных для конкретной службы, и чтобы службы, которым требуется единое дерево для данных только для чтения, записываемых данных и скриптов (например, скриптов cgi), могли быть разумно размещены. Данные, которые представляют интерес только для конкретного пользователя, должны находиться в домашнем каталоге этого пользователя.
Методология, используемая для именования подкаталогов /srv, не определена, поскольку в настоящее время нет единого мнения о том, как это следует делать. Одним из методов структурирования данных в /srv является протокол, например, ftp, rsync, www и cvs. В больших системах может быть полезно структурировать /srv по административному контексту, например, /srv/physics/www, /srv/compsci/cvs и т. д. Эта настройка будет отличаться от хоста к хосту. Поэтому ни одна программа не должна полагаться на определенную структуру подкаталогов /srv, существующую или данные, обязательно хранящиеся в /srv. Однако /srv всегда должен существовать в системах, совместимых с FHS, и должен использоваться в качестве расположения по умолчанию для таких данных.
Я бы лично использовал для этого личную точку монтирования. Облегчает жизнь, делая резервное копирование этих данных.