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/.config
und $HOME/.local
Verzeichnisse, die Sie speziell erwähnen, haben einen Ursprung in derXDG-Basisverzeichnisspezifikation.
$HOME/.config
Hier werden die benutzerspezifischen Konfigurationsdateien abgelegt, wenn kein vorhanden ist$XDG_CONFIG_HOME
.$HOME/.cache
Hier werden die Cachedateien pro Benutzer abgelegt, wenn kein vorhanden ist$XDG_CACHE_HOME
.$HOME/.local/share
ist 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/folders
und C
Unterverzeichnisse T
fü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/.ssh
und $HOME/.netrc
.
Weiterführende Literatur
- Waldo Bastian, Ryan Lortie und Lennart Poettering (2010). XDG-Basisverzeichnisspezifikation. Freedesktop.org.
- Chris Jackson (05.02.2008).Wo soll ich Programmdaten statt Programmdateien schreiben?. Originalrezept Awesomsauce. Microsoft.
- Bereitstellungshandbuch zum Verwalten von Roaming-Benutzerdaten. Technische Bibliothek von Windows Vista. Microsoft TechNet.
- https://askubuntu.com/questions/102046/
- https://unix.stackexchange.com/a/555214/5132
- https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
- Lionel Drico (11.03.2009). Passen Sie Ihre Anwendung an, um XDG-Ordner zu verwenden.