djonasson.xdg_bds

Ansible-Rolle: XDG BDS

CI Ansible Galaxy Qualitätsbewertung Ansible Galaxy MIT Lizenz

Ansible-Rolle zur Konfiguration der XDG Base Directory Specification für Shell-Variablen und Verzeichnisse.

Anforderungen

Keine.

Rollenvariablen

Die Rollenvariablen sind in defaults/main.yml mit folgenden Standardwerten definiert:

xdg_configure_state: present

Der Zustand, in dem Einstellungen über das blockinfile-Modul geschrieben werden. Mögliche Werte: [present, absent].

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

Die Vorlage für die Markerzeile.

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

$XDG_DATA_HOME definiert das Basisverzeichnis, in dem benutzerspezifische Datendateien gespeichert werden sollen. Wenn $XDG_DATA_HOME nicht gesetzt oder leer ist, sollte standardmäßig $HOME/.local/share verwendet werden.

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

$XDG_CONFIG_HOME definiert das Basisverzeichnis, in dem benutzerspezifische Konfigurationsdateien gespeichert werden sollen. Wenn $XDG_CONFIG_HOME nicht gesetzt oder leer ist, sollte standardmäßig $HOME/.config verwendet werden.

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

$XDG_STATE_HOME definiert das Basisverzeichnis, in dem benutzerspezifische Zustandsdateien gespeichert werden sollen. Wenn $XDG_STATE_HOME nicht gesetzt oder leer ist, sollte standardmäßig $HOME/.local/state verwendet werden.

Das $XDG_STATE_HOME enthält Zustandsdaten, die zwischen (Anwendungs-)Neustarts bestehen bleiben sollten, aber nicht wichtig oder portabel genug sind, um in $XDG_DATA_HOME gespeichert zu werden. Es könnte enthalten:

  • Aktionshistorie (Protokolle, Verlauf, zuletzt verwendete Dateien, …)
  • Aktueller Zustand der Anwendung, der bei einem Neustart wiederverwendet werden kann (Ansicht, Layout, geöffnete Dateien, Rückgängig-Historie, …)

Benutzerspezifische ausführbare Dateien können in $HOME/.local/bin gespeichert werden. Distributionen sollten sicherstellen, dass dieses Verzeichnis im UNIX-$PATH-Umgebungsvariable an einer geeigneten Stelle vorhanden ist.

Da $HOME zwischen Systemen mit unterschiedlichen Architekturen geteilt sein kann, könnte die Installation von kompilierten Binärdateien in $HOME/.local/bin Probleme verursachen, wenn sie auf Systemen mit unterschiedlichen Architekturen verwendet werden. Das ist oft kein Problem, aber die Tatsache, dass $HOME teilweise architekturspezifisch wird, wenn kompilierte Binärdateien darin abgelegt werden, sollte beachtet werden.

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

$XDG_DATA_DIRS definiert die Präferenzreihenfolge der Basisverzeichnisse, die zusätzlich zum $XDG_DATA_HOME Basisverzeichnis nach Datendateien durchsucht werden sollen. Die Verzeichnisse in $XDG_DATA_DIRS sollten durch einen Doppelpunkt ':' getrennt sein.

Wenn $XDG_DATA_DIRS nicht gesetzt oder leer ist, sollte ein Wert gleich /usr/local/share/:/usr/share/ verwendet werden.

xdg_config_dirs: "/etc/xdg"

$XDG_CONFIG_DIRS definiert die Präferenzreihenfolge der Basisverzeichnisse, die zusätzlich zum $XDG_CONFIG_HOME Basisverzeichnis nach Konfigurationsdateien durchsucht werden sollen. Die Verzeichnisse in $XDG_CONFIG_DIRS sollten durch einen Doppelpunkt ':' getrennt sein.

Wenn $XDG_CONFIG_DIRS nicht gesetzt oder leer ist, sollte ein Wert gleich /etc/xdg verwendet werden.

Die Reihenfolge der Basisverzeichnisse zeigt ihre Wichtigkeit an; das zuerst aufgeführte Verzeichnis hat die höchste Wichtigkeit. Wenn die gleichen Informationen an mehreren Stellen definiert sind, hat die Information, die relativ zum wichtigeren Basisverzeichnis definiert ist, Vorrang. Das Basisverzeichnis, das durch $XDG_DATA_HOME definiert ist, wird als wichtiger angesehen als eines der Basisverzeichnisse, die durch $XDG_DATA_DIRS definiert sind. Das Basisverzeichnis, das durch $XDG_CONFIG_HOME definiert ist, wird als wichtiger angesehen als eines der Basisverzeichnisse, die durch $XDG_CONFIG_DIRS definiert sind.

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

$XDG_CACHE_HOME definiert das Basisverzeichnis, in dem benutzerspezifische, nicht grundlegende Datendateien gespeichert werden sollen. Wenn $XDG_CACHE_HOME nicht gesetzt oder leer ist, sollte standardmäßig $HOME/.cache verwendet werden.

$XDG_RUNTIME_DIR definiert das Basisverzeichnis, in dem benutzerspezifische, nicht grundlegende Laufzeitdateien und andere Dateiobjekte (wie Sockets, benannte Pipes, ...) gespeichert werden sollen. Das Verzeichnis MUSS dem Benutzer gehören, und er MUSS der einzige sein, der Lese- und Schreibzugriff darauf hat. Der Unix-Zugriffsmodus MUSS 0700 sein.

Die Lebensdauer des Verzeichnisses MUSS an den Benutzer gebunden sein, der eingeloggt ist. Es MUSS beim ersten Einloggen des Benutzers erstellt werden, und wenn der Benutzer sich vollständig abmeldet, MUSS das Verzeichnis entfernt werden. Wenn der Benutzer sich mehr als einmal anmeldet, sollte er auf dasselbe Verzeichnis verwiesen werden, und es ist zwingend erforderlich, dass das Verzeichnis von seiner ersten Anmeldung bis zu seiner letzten Abmeldung im System weiterhin existiert und nicht dazwischen entfernt wird. Dateien in diesem Verzeichnis DÜRFEN keinen Neustart oder einen vollständigen Anmelde-/Abmeldezyklus überstehen.

Das Verzeichnis MUSS auf einem lokalen Dateisystem sein und darf nicht mit einem anderen System geteilt werden. Das Verzeichnis MUSS den Standards des Betriebssystems vollumfänglich entsprechen. Insbesondere auf Unix-ähnlichen Betriebssystemen müssen AF_UNIX-Sockets, symbolische Links, harte Links, richtige Berechtigungen, Dateisperren, Sparse-Dateien, Speicherabbildung, Benachrichtigungen über Dateiänderungen, eine zuverlässige Anzahl an harten Links unterstützt werden, und es dürfen keine Einschränkungen hinsichtlich des Zeichensatzes der Dateinamen auferlegt werden. Dateien in diesem Verzeichnis KÖNNEN einer regelmäßigen Bereinigung unterzogen werden. Um sicherzustellen, dass Ihre Dateien nicht entfernt werden, sollte der Zugriffszeitstempel mindestens einmal alle 6 Stunden monotone Zeit geändert werden, oder das 'Sticky'-Bit sollte auf der Datei gesetzt sein.

Wenn $XDG_RUNTIME_DIR nicht gesetzt ist, sollten Anwendungen auf ein Ersatzverzeichnis mit ähnlichen Eigenschaften zurückgreifen und eine Warnmeldung ausgeben. Anwendungen sollten dieses Verzeichnis für Kommunikations- und Synchronisierungszwecke verwenden und keine größeren Dateien darin ablegen, da es möglicherweise im Arbeitsspeicher läuft und nicht unbedingt auf die Festplatte ausgelagert werden kann.

Abhängigkeiten

Keine

Beispiel-Playbook

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

Lizenz

MIT

Autor

Diese Ansible-Rolle wurde von Daniel Jonasson erstellt.

Über das Projekt

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

Installieren
ansible-galaxy install djonasson.xdg_bds
GitHub Repository
Lizenz
mit
Downloads
134
Besitzer