LINUX.ORG.RU

Куда складывают технические данные, специфичные для пользователей?

 


1

2

Есть директория /home - там на каждого пользователя свои поддиректории. И по-идее, все данные, которые к пользователю относятся должны идти сюда.

С другой стороны, /home это такая директория, которую хочется бекапить. А данные бывают технические, которые бэкапить не нужно.

В моём случае это индексы для поискового движка. Размещать эти индексы в /var было бы хорошо, если бы движок был сервисом и работал в одном экземпляре на всех пользователей.

Но он работает не так, у него для разных пользователей разные индексы.

И вот я мучаюсь с выбором имени директории, в которую эти индексы складывать. Мучения связаны с тем, что не хочется тщательно читать все 50 страниц FHS - https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf

пока склоняюсь к /var/cache/appname/user/something.dat

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 2)

https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

В моём случае это индексы для поискового движка.

XDG_CACHE_HOME (~/.cache), если это кэш и его можно безопасно удалять.

XDG_DATA_HOME (~/.local/share), если это важные данные.

Есть неканоничный XDG_STATE_HOME=~/.state. Предлагается для хранения локальных временных настроек, типа позиций окон, last opened files и т.п. Эквивалентно /var.

E ★★★
()

Ну, наверное, ~/.cache/appname будет лучшим выбором. Есть хороший шанс, что бекапилки будут пропускать эту директорию по умолчанию. А вод для создания /var/cache/appname могут потребоваться лишние права.

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

XDG_CACHE_HOME (~/.cache)

у меня в системе не так:

$ echo ${XDG_CACHE_HOME}

$

Кто должен устанавливать эти переменные окружения?
https://superuser.com/questions/365847/where-should-the-xdg-config-home-varia...

Что делать, если они не установлены?

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от legolegs

могут потребоваться лишние права.

portage всё всегда из-под рута ставит, ей всё равно

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

$XDG_CACHE_HOME defines the base directory relative to which user specific non-essential data files should be stored. If $XDG_CACHE_HOME is either not set or empty, a default equal to $HOME/.cache should be used.

Вообще этим должно заниматься DE. Базовая система заботится только об XDG_RUNTIME_DIR. Если у тебя самопальное или недонастроенное DE, то придётся добавлять вручную в .profile.

E ★★★
()
Ответ на: комментарий от legolegs

Важен не факт выставляют/не выставляют, а наличие туториала - как выставить в данном ДЕ. Или официальная документация от производителей ДЕ, что надо пользоваться файлами конфигурации от bash. Чтобы на эту документацию можно было сослаться.

Einstok_Fair ★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.