Конфигурация системы ОС Linux осуществляется по сути лишь путём редактирования текстовых файлов в различных системных папках.
Ниже представлено где файлы конфигурации расположены и каковы их функции. Благодаря стандарту иерархии файловой системы (Filesystem Hierarchy Standard) данные папки и файлы сохраняют своё расположение даже в разных дистрибутивах.
Глобальные файлы конфигурации определяют поведение системы в целом.
Как правило, они располагаются в корневом разделе диска (/), а доступ к ним требует прав суперпользователя.
Стоит заметить, что согласно стандарту FHS конфигурационные файлы не хранятся в корневой директории, она пустая и содержит в себе только папки.
Большинство глобальных файлов конфигурации хранится в папке /etc.
Папка /etc/ больше походит на файловую систему с множеством подпапок, в которых размещены соответствующие конфигурационные файлы.
Ниже приведён список наиболее полезных подпапок:
Папка /etc/opt/ должна содержать глобальные файлы конфигурации приложений, установленных в /opt/. Однако в Linux это требование не является обязательным. В результате бывает, что папка /opt/ полна установленных пользователем программ, а /etc/opt/ остаётся пустой.
Исторически конфигурационные файлы в папке /etc/default/ содержали настройки сервисов/программ-демонов для их использования с системами инициализации, например upstart. Однако с появлением systemd эта папка стала использоваться в основном для настроек приложений пользовательского пространства.
Система не перезаписывает файлы в папке /etc/default/. А значит, как только мы настроили там поведение приложений, оно не изменится при обновлении системы.
Вот несколько наиболее полезных глобальных файлов конфигурации:
Файлы пользовательской конфигурации определяют поведение системы только для задающего настройки пользователя.
Эти файлы, как правило, расположены в домашней папке пользователя и не требуют прав суперпользователя для редактирования.
Следует иметь в виду, что пользовательские настройки всегда имеют более высокий приоритет, чем глобальные. Иными словами, приложение всегда будет придерживаться пользовательских настроек, если таковые есть.
В части пользовательских настроек приложения соответствуют одному из двух стандартов.
Как правило, если у приложения всего один файл конфигурации, его можно найти так:
/home/(username)/.(app_name{rc})
Но если конфигурационных файлов больше, то они хранятся в папке
/home/(username)/.(app_name)
Разработчики freedesktop.org решили, что старая система недостаточно упорядочена, и выработали базовую спецификацию каталогов XDG.
По стандарту XDG все файлы пользовательской конфигурации хранятся в папке
$XDG_CONFIG_HOME
(обычно в /home/(username)/.config/).
Внутри $XDG_CONFIG_HOME каждое приложение создаёт свои подпапки для конфигурационных файлов.
Базовой спецификации каталогов XDG теперь придерживаются многие активно развивающиеся приложения. Для пользователей стандарт тоже удобен: одной резервной копии папки $XDG_CONFIG_HOME достаточно, чтобы сохранить все настройки.
Среди наиболее часто используемых файлов пользовательской конфигурации следует перечислить:
$XDG_CONFIG_HOME/nvim/init.vim — конфигурация редактора neovim;