Инструменты пользователя

Инструменты сайта


linux:administration:configuration_files

Конфигурационные файлы Linux

Конфигурация системы ОС Linux осуществляется по сути лишь путём редактирования текстовых файлов в различных системных папках.

Ниже представлено где файлы конфигурации расположены и каковы их функции. Благодаря стандарту иерархии файловой системы (Filesystem Hierarchy Standard) данные папки и файлы сохраняют своё расположение даже в разных дистрибутивах.

2. Глобальные файлы конфигурации

Глобальные файлы конфигурации определяют поведение системы в целом.

Как правило, они располагаются в корневом разделе диска (/), а доступ к ним требует прав суперпользователя.

Стоит заметить, что согласно стандарту FHS конфигурационные файлы не хранятся в корневой директории, она пустая и содержит в себе только папки.

2.1. /etc/

Большинство глобальных файлов конфигурации хранится в папке /etc.

Папка /etc/ больше походит на файловую систему с множеством подпапок, в которых размещены соответствующие конфигурационные файлы.

Ниже приведён список наиболее полезных подпапок:

  • /etc/X11/ — конфигурационные файлы xorg;
  • /etc/cups/ — подпапка с конфигурационными данными сервера печати CUPS (Common UNIX Printing System);
  • /etc/xdg/ — глобальные файлы конфигурации для приложений, придерживающихся стандартов freedesktop.org;
  • /etc/ssh/ — используется для конфигурации поведения сервера OpenSSH для всей системы;
  • /etc/apparmor.d/ — содержит конфигурационные файлы для системы AppArmor;
  • /etc/udev/ — настройки, относящиеся к udev.

2.2. /etc/opt/

Папка /etc/opt/ должна содержать глобальные файлы конфигурации приложений, установленных в /opt/. Однако в Linux это требование не является обязательным. В результате бывает, что папка /opt/ полна установленных пользователем программ, а /etc/opt/ остаётся пустой.

2.3. /etc/default/

Исторически конфигурационные файлы в папке /etc/default/ содержали настройки сервисов/программ-демонов для их использования с системами инициализации, например upstart. Однако с появлением systemd эта папка стала использоваться в основном для настроек приложений пользовательского пространства.

Система не перезаписывает файлы в папке /etc/default/. А значит, как только мы настроили там поведение приложений, оно не изменится при обновлении системы.

2.4. Важные глобальные файлы конфигурации

Вот несколько наиболее полезных глобальных файлов конфигурации:

  • /etc/resolv.conf — в нём определяется, какой (какие) DNS-сервер(ы) использует система;
  • /etc/bash.bashrc — в нём задают команды для выполнения в момент запуска командной оболочки bash;
  • /etc/profile — интерактивная командная оболочка выполняет команды скрипта .profile при запуске;
  • /etc/dhcp/dhclient.conf — там хранятся сетевые данные, которые запрашивают DHCP-клиенты;
  • /etc/fstab — определяет, где будут смонтированы все доступные системе разделы диска;
  • /etc/hostname — задаёт имя хоста для машины;
  • /etc/hosts — файл, соединяющий IP-адреса с именами хостов;
  • /etc/hosts.deny — перечисленные в этом файле удалённые хосты лишены доступа к машине;
  • /etc/mime.types — содержит MIME-типы данных и соответствующие им расширения файлов;
  • /etc/motd — файл с текстом сообщения, которое выводится при входе пользователя в систему;
  • /etc/timezone — задаёт часовой пояс;
  • /etc/sudoers — файл sudoers контролирует привилегии, относящиеся к команде sudo;
  • /etc/httpd/conf и /etc/httpd.conf.d — конфигурация веб-сервера Apache;
  • /etc/default/grub — содержит конфигурацию, которую использует команда update-grub для создания файла /boot/grub/grub.cfg;
  • /boot/grub/grub.cfg — команда update-grub генерирует этот файл автоматически в соответствии с настройками, заданными в файле /etc/default/grub.

3. Пользовательская конфигурация

Файлы пользовательской конфигурации определяют поведение системы только для задающего настройки пользователя.

Эти файлы, как правило, расположены в домашней папке пользователя и не требуют прав суперпользователя для редактирования.

Следует иметь в виду, что пользовательские настройки всегда имеют более высокий приоритет, чем глобальные. Иными словами, приложение всегда будет придерживаться пользовательских настроек, если таковые есть.

В части пользовательских настроек приложения соответствуют одному из двух стандартов.

3.1. Традиционные файлы конфигурации

Как правило, если у приложения всего один файл конфигурации, его можно найти так:

/home/(username)/.(app_name{rc})

Но если конфигурационных файлов больше, то они хранятся в папке

/home/(username)/.(app_name)

3.2. Конфигурационные файлы, соответствующие стандарту XDG

Разработчики freedesktop.org решили, что старая система недостаточно упорядочена, и выработали базовую спецификацию каталогов XDG.

По стандарту XDG все файлы пользовательской конфигурации хранятся в папке

$XDG_CONFIG_HOME

(обычно в /home/(username)/.config/).

Внутри $XDG_CONFIG_HOME каждое приложение создаёт свои подпапки для конфигурационных файлов.

Базовой спецификации каталогов XDG теперь придерживаются многие активно развивающиеся приложения. Для пользователей стандарт тоже удобен: одной резервной копии папки $XDG_CONFIG_HOME достаточно, чтобы сохранить все настройки.

3.3. Важные файлы пользовательской конфигурации

Среди наиболее часто используемых файлов пользовательской конфигурации следует перечислить:

  • $HOME/.xinitrc — в нём содержатся указания о запуске менеджера окон при работе с командой startx;
  • $HOME/.vimrc — конфигурация vim;
  • $HOME/.bashrc — скрипт, который выполняет командная оболочка bash, когда пользователь запускает командную оболочку без регистрации;
  • $XDG_CONFIG_HOME/nvim/init.vim — конфигурация редактора neovim;
  • $HOME/.editor — задаёт редактор по умолчанию для данного пользователя;
  • $HOME/.gitconfig — в файле указывается имя по умолчанию и адрес электронной почты для указания в коммитах Git;
  • $HOME/.profile — командная оболочка с регистрацией выполняет команды из скрипта .profile при запуске;
  • $HOME/.ssh/config — конфигурация ssh для конкретного пользователя.
/var/www/html/dokuwiki/data/pages/linux/administration/configuration_files.txt · Последнее изменение: — so_v_a