Понимание расположения домашних файлов конфигурации: ~/, ~/.config/ и ~/.local/share/

Понимание расположения домашних файлов конфигурации: ~/, ~/.config/ и ~/.local/share/

В моем домашнем каталоге есть несколько скрытых файлов конфигурации:

  • некоторые из них находятся в ~/(например ~/.cinnamon)
  • некоторые из них находятся в ~/.config/(например ~/.config/cinnamon-session)
  • некоторые из них находятся в ~/.local/share/(например ~/.local/share/cinnamon-session)

Какова логика размещения файлов конфигурации дома?

а) В чем разница между скрытыми файлами в этих трех местах?

б) Что именно означает «локальный» в данном контексте, в сравнении с конфигурационным и домашним?

в) Есть ли в домашнем каталоге другие важные общие каталоги конфигурации, используемые несколькими приложениями?


Debian 8.6 Cinnamon 2.2.16

решение1

Здесь есть долгая история, когда речь заходит об общем случае «файлов с точкой», но каталоги $HOME/.configи $HOME/.local, которые вы конкретно упомянули, имеют происхождение изСпецификация базового каталога XDG.

  • $HOME/.configгде хранятся файлы конфигурации для каждого пользователя, если нет $XDG_CONFIG_HOME.
  • $HOME/.cacheкуда попадают файлы кэша для каждого пользователя, если нет $XDG_CACHE_HOME.
  • $HOME/.local/shareкуда помещаются файлы данных каждого пользователя, если нет $XDG_DATA_HOME.

Пользователи Windows могут увидеть в этом параллель с тем, что Microsoft использовала в Windows NT, начиная с версии 4 (хотя названия изменились в версии 6.0):

  • %USERPROFILE%/AppData/Local/также известный как %LOCALAPPDATA%— где хранятся файлы данных для каждого пользователя на этой машине
  • %USERPROFILE%/AppData/Roaming/также известный как %APPDATA%— куда помещаются файлы данных для каждого пользователя, к которым перемещаемый пользователь может получить доступ с нескольких машин
  • %USERPROFILE%/AppData/Local/Temp/также известный как %TEMP%— место, где хранятся временные файлы пользователя

Идея состоит в том, что файлы для каждого пользователя могут быть (помимо всего прочего)файлы данных приложений(машинно-зависимый или перемещаемый),файлы конфигурации приложения,кэшированные файлы, ивременные файлы, и приложения помещают их в поддеревья, корнем которых являются эти конкретные каталоги.

(В MacOS есть похожая система, в которой пользователи получают индивидуальные «локальные» поддеревья для каждого пользователя в подкаталогах /var/foldersи Cподкаталогах Tдля кэша и временных файлов.)

Как отмечают специалисты Arch, существуют некоторые файлы и каталоги с точками, которые стали широко использоваться несколькими приложениями и вряд ли будут совместимы с XDG в обозримом будущем, например, $HOME/.sshи $HOME/.netrc.

дальнейшее чтение

Связанный контент