djonasson.xdg_bds

Rôle Ansible : XDG BDS

CI Score de qualité Ansible Galaxy Ansible Galaxy Licence MIT

Rôle Ansible pour configurer les variables shell et répertoires de la Spécification du Répertoire de Base XDG.

Exigences

Aucune.

Variables du Rôle

Les variables du rôle sont définies dans defaults/main.yml avec ces valeurs par défaut :

xdg_configure_state: present

L'état dans lequel les paramètres sont écrits via le module blockinfile. Valeur dans : [present, absent].

xdg_marker: "# {mark} BLOQUE GÉRÉ PAR ANSIBLE (djonasson.xdg_bds)"

Le modèle de ligne de marquage.

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

$XDG_DATA_HOME définit le répertoire de base relatif auquel les fichiers de données spécifiques à l'utilisateur doivent être stockés. Si $XDG_DATA_HOME n'est pas défini ou vide, une valeur par défaut égale à $HOME/.local/share doit être utilisée.

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

$XDG_CONFIG_HOME définit le répertoire de base relatif auquel les fichiers de configuration spécifiques à l'utilisateur doivent être stockés. Si $XDG_CONFIG_HOME n'est pas défini ou vide, une valeur par défaut égale à $HOME/.config doit être utilisée.

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

$XDG_STATE_HOME définit le répertoire de base relatif auquel les fichiers d'état spécifiques à l'utilisateur doivent être stockés. Si $XDG_STATE_HOME n'est pas défini ou vide, une valeur par défaut égale à $HOME/.local/state doit être utilisée.

Le $XDG_STATE_HOME contient des données d'état qui doivent persister entre les redémarrages (d'application), mais qui ne sont pas assez importantes ou portables pour l'utilisateur pour être stockées dans $XDG_DATA_HOME. Il peut contenir :

  • l'historique des actions (journaux, historique, fichiers récemment utilisés, …)
  • l'état actuel de l'application pouvant être réutilisé lors d'un redémarrage (vue, disposition, fichiers ouverts, historique d'annulation, …)

Les fichiers exécutables spécifiques à l'utilisateur peuvent être stockés dans $HOME/.local/bin. Les distributions doivent garantir que ce répertoire apparaisse dans la variable d'environnement UNIX $PATH, à un endroit approprié.

Étant donné que $HOME peut être partagé entre des systèmes de différentes architectures, l'installation de binaires compilés dans $HOME/.local/bin pourrait poser des problèmes lorsqu'ils sont utilisés sur des systèmes à architectures différentes. Cela n'est souvent pas un problème, mais il faut garder à l'esprit que $HOME devient partiellement spécifique à l'architecture si des binaires compilés y sont placés.

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

$XDG_DATA_DIRS définit l'ensemble de répertoires de base, ordonné par préférence, à rechercher pour des fichiers de données en plus du répertoire de base $XDG_DATA_HOME. Les répertoires dans $XDG_DATA_DIRS doivent être séparés par un deux-points ':'.

Si $XDG_DATA_DIRS n'est pas défini ou vide, une valeur égale à /usr/local/share/:/usr/share/ doit être utilisée.

xdg_config_dirs: "/etc/xdg"

$XDG_CONFIG_DIRS définit l'ensemble de répertoires de base, ordonné par préférence, à rechercher pour des fichiers de configuration en plus du répertoire de base $XDG_CONFIG_HOME. Les répertoires dans $XDG_CONFIG_DIRS doivent être séparés par un deux-points ':'.

Si $XDG_CONFIG_DIRS n'est pas défini ou vide, une valeur égale à /etc/xdg doit être utilisée.

L'ordre des répertoires de base indique leur importance ; le premier répertoire listé est le plus important. Lorsque la même information est définie à plusieurs endroits, l'information définie relative au répertoire de base le plus important prend priorité. Le répertoire de base défini par $XDG_DATA_HOME est considéré comme plus important que n'importe lequel des répertoires de base définis par $XDG_DATA_DIRS. Le répertoire de base défini par $XDG_CONFIG_HOME est considéré comme plus important que n'importe lequel des répertoires de base définis par $XDG_CONFIG_DIRS.

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

$XDG_CACHE_HOME définit le répertoire de base relatif auquel les fichiers de données non essentiels spécifiques à l'utilisateur doivent être stockés. Si $XDG_CACHE_HOME n'est pas défini ou vide, une valeur par défaut égale à $HOME/.cache doit être utilisée.

$XDG_RUNTIME_DIR définit le répertoire de base relatif auquel les fichiers et autres objets de fichiers non essentiels spécifiques à l'utilisateur doivent être stockés. Le répertoire DOIT appartenir à l'utilisateur et il DOIT être le seul ayant un accès en lecture et écriture. Son mode d'accès Unix DOIT être 0700.

La durée de vie du répertoire DOIT être liée à l'utilisateur étant connecté. Il DOIT être créé lorsque l'utilisateur se connecte pour la première fois et, si l'utilisateur se déconnecte complètement, le répertoire DOIT être supprimé. Si l'utilisateur se connecte plus d'une fois, il doit être dirigé vers le même répertoire, et il est obligatoire que le répertoire continue d'exister de sa première connexion à sa dernière déconnexion sur le système, sans être supprimé entre-temps. Les fichiers dans le répertoire NE DOIVENT pas survivre à un redémarrage ou à un cycle complet de déconnexion/reconnexion.

Le répertoire DOIT être sur un système de fichiers local et ne pas être partagé avec un autre système. Le répertoire DOIT être pleinement conforme aux normes du système d'exploitation. Plus précisément, sur les systèmes d'exploitation de type Unix, les sockets AF_UNIX, les liens symboliques, les liens durs, les permissions appropriées, le verrouillage des fichiers, les fichiers épars, la cartographie de la mémoire, les notifications de changement de fichier, un compte de lien dur fiable doivent être supportés, et aucune restriction sur le jeu de caractères des noms de fichiers ne doit être imposée. Les fichiers dans ce répertoire PEUVENT faire l'objet d'un nettoyage périodique. Pour garantir que vos fichiers ne soient pas supprimés, leur horodatage d'accès doit être modifié au moins une fois toutes les 6 heures de temps monotone ou le bit 'sticky' doit être défini sur le fichier.

Si $XDG_RUNTIME_DIR n'est pas défini, les applications doivent se rabattre sur un répertoire de remplacement avec des capacités similaires et afficher un message d'avertissement. Les applications doivent utiliser ce répertoire à des fins de communication et de synchronisation et ne doivent pas y placer de fichiers volumineux, car il peut se trouver en mémoire d'exécution et ne peut pas nécessairement être échangé sur disque.

Dépendances

Aucune

Exemple de Playbook

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

Licence

MIT

Auteur

Ce rôle Ansible a été créé par Daniel Jonasson.

À propos du projet

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

Installer
ansible-galaxy install djonasson.xdg_bds
Licence
mit
Téléchargements
134
Propriétaire