djonasson.xdg_bds

Ansible Роль: XDG BDS

CI Ansible Galaxy Quality Score Ansible Galaxy MIT Лицензия

Ansible роль для настройки переменных оболочки и директорий согласно Спецификации базового каталога XDG.

Требования

Нет.

Переменные Роли

Переменные роли определены в defaults/main.yml с такими значениями по умолчанию:

xdg_configure_state: present

Состояние, в котором настройки записываются с помощью модуля blockinfile. Значения: [present, absent].

xdg_marker: "# {mark} ANSIBLE MANAGED BLOCK (djonasson.xdg_bds)"

Шаблон маркера строки.

xdg_data_home: "{{ ansible_user_dir }}/.local/share"

$XDG_DATA_HOME определяет базовый каталог, относительно которого должны храниться пользовательские данные. Если $XDG_DATA_HOME не установлен или пуст, используется значение по умолчанию $HOME/.local/share.

xdg_config_home: "{{ ansible_user_dir }}/.config"

$XDG_CONFIG_HOME определяет базовый каталог для хранения пользовательских конфигурационных файлов. Если $XDG_CONFIG_HOME не установлен или пуст, используется значение по умолчанию $HOME/.config.

xdg_state_home: "{{ ansible_user_dir }}/.local/state"

$XDG_STATE_HOME задает базовый каталог для хранения пользовательских файлов состояния. Если $XDG_STATE_HOME не установлен или пуст, используется значение по умолчанию $HOME/.local/state.

$XDG_STATE_HOME содержит данные состояния, которые должны сохраняться между перезапусками приложений, но не столь важны, чтобы хранить их в $XDG_DATA_HOME. Это могут быть:

  • история действий ( журналы, история, недавно используемые файлы и т.д.)
  • текущее состояние приложения, которое можно восстановить при перезапуске (вид, макет, открытые файлы, история отмены и т.д.)

Пользовательские исполняемые файлы могут храниться в $HOME/.local/bin. Дистрибутивы должны гарантировать, что эта директория занесена в переменную окружения UNIX $PATH в правильном месте.

Поскольку $HOME может быть разделяемым между системами с различной архитектурой, установка скомпилированных бинарных файлов в $HOME/.local/bin может вызвать проблемы при использовании на системах с различной архитектурой. Обычно это не является проблемой, но факт, что $HOME становится частично специфичным для архитектуры, если в него помещаются скомпилированные бинарные файлы, следует иметь в виду.

xdg_data_dirs: "/usr/local/share/:/usr/share"

$XDG_DATA_DIRS определяет упорядоченный по предпочтению список базовых каталогов для поиска файлов данных в дополнение к базовому каталогу $XDG_DATA_HOME. Директории в $XDG_DATA_DIRS должны быть разделены двоеточием ':'.

Если $XDG_DATA_DIRS не установлен или пуст, используется значение /usr/local/share/:/usr/share/.

xdg_config_dirs: "/etc/xdg"

$XDG_CONFIG_DIRS определяет упорядоченный по предпочтению список базовых каталогов для поиска конфигурационных файлов в дополнение к базовому каталогу $XDG_CONFIG_HOME. Директории в $XDG_CONFIG_DIRS должны быть разделены двоеточием ':'.

Если $XDG_CONFIG_DIRS не установлен или пуст, используется значение /etc/xdg.

Порядок базовых каталогов указывает на их значимость: первый каталог в списке наиболее важен. Когда одна и та же информация определяется в нескольких местах, информация, определенная относительно более важного базового каталога, имеет приоритет. Базовый каталог, определенный переменной $XDG_DATA_HOME, считается более важным, чем любой из базовых каталогов, определенных переменной $XDG_DATA_DIRS. Базовый каталог, определенный переменной $XDG_CONFIG_HOME, считается более важным, чем любой из базовых каталогов, определенных переменной $XDG_CONFIG_DIRS.

xdg_cache_home: "{{ ansible_user_dir }}/.cache"

$XDG_CACHE_HOME определяет базовый каталог для хранения несущественных файлов данных пользователя. Если $XDG_CACHE_HOME не установлен или пуст, используется значение по умолчанию $HOME/.cache.

$XDG_RUNTIME_DIR определяет базовый каталог для хранения несущественных файлов времени выполнения и других объектов файлов (таких как сокеты, именованные каналы и т.д.). Директория ДОЛЖНА принадлежать пользователю, и только он ДОЛЖЕН иметь доступ на чтение и запись к ней. Режим доступа Unix ДОЛЖЕН быть 0700.

Срок жизни каталога ДОЛЖЕН быть связан с авторизацией пользователя. Он ДОЛЖЕН создаваться при первом входе пользователя и, если пользователь полностью выходит из системы, каталог ДОЛЖЕН быть удален. Если пользователь заходит несколько раз, он должен попасть в один и тот же каталог, и обязательно, чтобы каталог продолжал существовать с его первой авторизации до последнего выхода из системы, и не удалялся между этим. Файлы в каталоге ДОЛЖНЫ быть удалены при перезагрузке или полном входе/выходе из системы.

Каталог ДОЛЖЕН находиться на локальной файловой системе и не должен быть разделяемым с какой-либо другой системой. Каталог ДОЛЖЕН полностью соответствовать стандартам операционной системы. Более конкретно, в операционных системах, подобных Unix, должны поддерживаться сокеты AF_UNIX, символические ссылки, жесткие ссылки, правильные разрешения, блокировка файлов, разреженные файлы, отображение памяти, уведомления о изменениях файлов, надежный подсчет жестких ссылок, не должно быть наложено никаких ограничений на набор символов имени файла. Файлы в этом каталоге могут подлежать периодической очистке. Чтобы ваши файлы не удалялись, их временная метка доступа должна быть изменена как минимум раз каждые 6 часов монохронного времени, или должен быть установлен 'липкий' бит на файле.

Если $XDG_RUNTIME_DIR не установлен, приложения должны обращаться к замещающему каталогу с аналогичными возможностями и выводить предупреждающее сообщение. Приложения должны использовать этот каталог для целей связи и синхронизации и не должны помещать в него большие файлы, так как он может находиться в памяти во время выполнения и не может быть обязательно выгружен на диск.

Зависимости

Нет

Пример Плейбука

- hosts: localhost
  roles:
    - role: djonasson.xdg_bds

Лицензия

MIT

Автор

Эта Ansible роль была создана Даниэлем Йонассоном.

О проекте

Ansible role to configure XDG Base Directory Specification shell variables and directories.

Установить
ansible-galaxy install djonasson.xdg_bds
Лицензия
mit
Загрузки
201
Владелец