Entendendo os locais dos arquivos de configuração: ~ /, ~ / .config / e ~ / .local / share /

9

Existem vários arquivos de configuração ocultos no meu diretório pessoal:

  • alguns deles estão em ~/ (por exemplo, ~/.cinnamon )
  • alguns deles estão em ~/.config/ (por exemplo, ~/.config/cinnamon-session )
  • alguns deles estão em ~/.local/share/ (por exemplo, ~/.local/share/cinnamon-session )

Qual é a lógica de onde os arquivos de configuração inicial estão ativos?

a) Qual é a diferença entre arquivos ocultos nesses três locais?

b) O que exatamente "local" significa neste contexto, vs config, vs home?

c) No diretório inicial, existem também outros importantes diretórios de configuração comuns usados por vários aplicativos?

Debian 8.6 Canela 2.2.16

    
por Eliptical view 28.09.2016 / 19:38

1 resposta

9

Há uma longa história aqui quando se trata do caso geral de "arquivos de ponto", mas os diretórios $HOME/.config e $HOME/.local que você menciona especificamente têm uma origem na especificação de diretório base do XDG .

  • $HOME/.config é para onde os arquivos de configuração por usuário vão se não houver $XDG_CONFIG_HOME .
  • $HOME/.cache é onde os arquivos de cache por usuário vão se não houver $XDG_CACHE_HOME .
  • $HOME/.local/share é para onde os arquivos de dados por usuário vão se não houver $XDG_DATA_HOME .

Os usuários do Windows podem reconhecer isso como um paralelo do que a Microsoft teve no Windows NT desde a versão 4 (embora os nomes tenham mudado na versão 6.0):

  • %USERPROFILE%/AppData/Local/ a.k.a. %LOCALAPPDATA% - onde os arquivos de dados por usuário desta máquina são
  • %USERPROFILE%/AppData/Roaming/ a.k.a. %APPDATA% - onde os arquivos de dados por usuário que um usuário móvel pode acessar de várias máquinas vão
  • %USERPROFILE%/AppData/Local/Temp/ a.k.a. %TEMP% - onde os arquivos temporários por usuário vão

A idéia é que os arquivos por usuário podem ser (entre muitas outras coisas) arquivos de dados de aplicativos (específicos da máquina ou em roaming), arquivos de configuração de aplicativos , arquivos em cache e arquivos temporários , e aplicativos os colocam em subárvores com raiz nesses diretórios específicos.

Como o pessoal do Arch observa, existem alguns arquivos e diretórios "ponto" que se tornaram comumente usados por vários aplicativos e é improvável que eles concordem com o XDG no futuro previsível, como $HOME/.ssh e $HOME/.netrc .

Leitura adicional

por 28.09.2016 / 20:31