Grundlegendes zu den Speicherorten der Home-Konfigurationsdateien: ~/, ~/.config/ und ~/.local/share/

Grundlegendes zu den Speicherorten der Home-Konfigurationsdateien: ~/, ~/.config/ und ~/.local/share/

In meinem Home-Verzeichnis befinden sich mehrere versteckte Konfigurationsdateien:

  • einige von ihnen sind in ~/(zB ~/.cinnamon)
  • einige von ihnen sind in ~/.config/(zB ~/.config/cinnamon-session)
  • einige von ihnen sind in ~/.local/share/(zB ~/.local/share/cinnamon-session)

Welche Logik gilt für den Speicherort der Home-Konfigurationsdateien?

a) Was ist der Unterschied zwischen versteckten Dateien an diesen drei Orten?

b) Was genau bedeutet „lokal“ in diesem Kontext, vs. Konfiguration, vs. Home?

c) Gibt es im Home-Verzeichnis auch andere wichtige gemeinsame Konfigurationsverzeichnisse, die von mehreren Anwendungen verwendet werden?


Debian 8.6 Cinnamon 2.2.16

Antwort1

Es gibt hier eine lange Geschichte, wenn es um den allgemeinen Fall von "Punktdateien" geht, aber die $HOME/.configund $HOME/.localVerzeichnisse, die Sie speziell erwähnen, haben einen Ursprung in derXDG-Basisverzeichnisspezifikation.

  • $HOME/.configHier werden die benutzerspezifischen Konfigurationsdateien abgelegt, wenn kein vorhanden ist $XDG_CONFIG_HOME.
  • $HOME/.cacheHier werden die Cachedateien pro Benutzer abgelegt, wenn kein vorhanden ist $XDG_CACHE_HOME.
  • $HOME/.local/shareist der Ort, an den die Datendateien pro Benutzer gehen, wenn kein vorhanden ist $XDG_DATA_HOME.

Windows-Benutzer erkennen darin möglicherweise eine Parallele zu dem, was Microsoft seit Version 4 in Windows NT hat (auch wenn sich die Namen in Version 6.0 geändert haben):

  • %USERPROFILE%/AppData/Local/aka %LOCALAPPDATA%— Wohin die benutzerspezifischen Datendateien für diese Maschine gehen
  • %USERPROFILE%/AppData/Roaming/aka %APPDATA%— wo benutzerspezifische Datendateien, auf die ein Roaming-Benutzer von mehreren Rechnern aus zugreifen kann, abgelegt werden
  • %USERPROFILE%/AppData/Local/Temp/auch bekannt %TEMP%als: Wohin die temporären Dateien pro Benutzer gehen

Die Idee ist, dass benutzerspezifische Dateien (neben vielen anderen Dingen)Anwendungsdatendateien(maschinenspezifisch oder Roaming),Anwendungskonfigurationsdateien,zwischengespeicherte Dateien, Undtemporäre Dateien, und Anwendungen platzieren sie in Unterbäumen, deren Wurzeln in diesen bestimmten Verzeichnissen liegen.

(MacOS hat ein ähnliches System, bei dem Benutzer individuelle „benutzerlokale“ Unterbäume /var/foldersund CUnterverzeichnisse Tfür Cache und temporäre Dateien erhalten.)

Wie die Leute von Arch anmerken, gibt es einige „Punkt“-Dateien und -Verzeichnisse, die mittlerweile von mehreren Anwendungen häufig verwendet werden und in absehbarer Zukunft wahrscheinlich nicht mit XDG übereinstimmen werden, wie etwa $HOME/.sshund $HOME/.netrc.

Weiterführende Literatur

verwandte Informationen