Comprendre les emplacements des fichiers de configuration d'accueil: ~ /, ~ / .config / et ~ / .local / share /

14

Il y a un certain nombre de fichiers de configuration cachés dans mon répertoire personnel:

  • certains d'entre eux sont ~/(par exemple ~/.cinnamon)
  • certains d'entre eux sont ~/.config/(par exemple ~/.config/cinnamon-session)
  • certains d'entre eux sont ~/.local/share/(par exemple ~/.local/share/cinnamon-session)

Quelle est la logique de l'emplacement des fichiers de configuration de la maison?

a) Quelle est la différence entre les fichiers cachés à ces trois endroits?

b) Que signifie exactement «local» dans ce contexte, vs config, vs home?

c) Dans le répertoire personnel, existe-t-il également d'autres répertoires de configuration communs importants utilisés par plusieurs applications?


Debian 8.6 Cinnamon 2.2.16

Vue elliptique
la source
1
Certains de ces éléments sont couverts par la spécification du répertoire de base XDG .
StrongBad

Réponses:

16

Il y a une longue histoire ici en ce qui concerne le cas général des "fichiers dot", mais les répertoires $HOME/.configet $HOME/.localque vous mentionnez spécifiquement ont une origine dans la spécification de répertoire de base XDG .

  • $HOME/.configest où vont les fichiers de configuration par utilisateur s'il n'y en a pas $XDG_CONFIG_HOME.
  • $HOME/.cacheest l'endroit où les fichiers de cache par utilisateur vont s'il n'y en a pas $XDG_CACHE_HOME.
  • $HOME/.local/shareest où vont les fichiers de données par utilisateur s'il n'y en a pas $XDG_DATA_HOME.

Les utilisateurs de Windows peuvent reconnaître cela comme un parallèle de ce que Microsoft a eu dans Windows NT depuis la version 4 (bien que les noms aient changé dans la version 6.0):

  • %USERPROFILE%/AppData/Local/aka %LOCALAPPDATA%- où vont les fichiers de données par utilisateur pour cette machine
  • %USERPROFILE%/AppData/Roaming/aka %APPDATA%- où vont les fichiers de données par utilisateur auxquels un utilisateur itinérant peut accéder à partir de plusieurs machines
  • %USERPROFILE%/AppData/Local/Temp/aka %TEMP%- où vont les fichiers temporaires par utilisateur

L'idée est que chaque utilisateur les fichiers peuvent être (entre tout à fait beaucoup d'autres choses) les fichiers de données d'application (machine spécifique ou d' itinérance), les fichiers de configuration d'application , les fichiers mis en cache et les fichiers temporaires , et les applications les placer dans les sous - arbres enracinés à ces répertoires particuliers.

(MacOS a un système similaire dans lequel les utilisateurs obtiennent des sous-arborescences "utilisateur local" individuelles par utilisateur sous /var/foldersavec Cet des Tsous - répertoires pour le cache et les fichiers temporaires.)

Comme le notent les gens d'Arch, certains fichiers et répertoires "à points" sont devenus couramment utilisés par plusieurs applications et ne sont probablement pas en accord avec XDG dans un avenir prévisible, tels que $HOME/.sshet $HOME/.netrc.

Lectures complémentaires

JdeBP
la source