- Конфигурационные файлы в Linux
- 2. Глобальные конфигурационные файлы
- 2.1. Каталог/etc/
- 2.2. Каталог /etc/opt/
- 2.3. Каталог /etc/default/
- 2.4. Важные файлы глобальной конфигурации
- 3. Конфигурация для конкретного пользователя
- 3.1. Традиционные конфигурации
- 3.2. Конфигурационные файлы, соответствующие стандарту XDG
- 3.3. Важные файлы конфигурации, специфичные для пользователя
- 4. Заключение
- Полное руководство по конфигурационным файлам Linux. Часть 1
- Немного вводных
- Что такое конфигурационные файлы
- Как редактировать конфигурационные файлы
- Конфигурационный файл network-scripts
- Как настроить конфигурационный файл network-scripts
Конфигурационные файлы в Linux
Возможность настраивать Linux так, как нам нужно, делает его мощным в использовании. Хотя большинство дистрибутивов предлагают сложные интерфейсы для настройки системы, эти интерфейсы просто изменяют обычные текстовые файлы конфигурации, разбросанные по системе. Поэтому понимание этих конфигурационных файлов устранит нашу зависимость от этих пользовательских интерфейсов и сделает нас более опытными в работе с Linux.
В этом руководстве мы рассмотрим, где находятся эти файлы и что они делают. Благодаря стандарту иерархии файловой системы, каталоги и файлы, обсуждаемые в этом руководстве, должны быть одинаковыми в разных дистрибутивах.
2. Глобальные конфигурационные файлы
Глобальные конфигурационные файлы определяют поведение всей системы.
Эти файлы обычно находятся в корневом разделе (/) и требуют доступа суперпользователя.
2.1. Каталог/etc/
Большинство глобальных конфигурационных файлов находятся в каталоге /etc.
Каталог /etc/ больше похож на файловую систему и имеет множество подкаталогов, каждый из которых содержит связанные с ним файлы конфигурации.
Ниже приведен список наиболее полезных из этих подкаталогов:
- /etc/X11/ — специфические файлы конфигурации xorg
- /etc/cups/ — подкаталог, содержащий конфигурацию для общей системы печати UNIX
- /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-TYPES и связанных с ними расширений имен файлов
- /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//.>. Но если файлов было больше одного, то конфигурации хранились в каталоге /home//.>.
Ярким примером такого поведения является редактор vim.
3.2. Конфигурационные файлы, соответствующие стандарту XDG
freedesktop.org решил, что старая система была беспорядочной, и разработал спецификацию базового каталога XDG.
Согласно стандарту XDG, все пользовательские файлы конфигурации хранятся в каталоге $XDG_CONFIG_HOME (обычно /home//.config).
Внутри $XDG_CONFIG_HOME каждое приложение создает свои собственные подкаталоги для хранения конфигураций.
Редактор NeoVim и многие активно разрабатываемые приложения теперь следуют спецификации базового каталога 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 для конкретного пользователя
4. Заключение
В этой статье мы узнали о двух типах конфигурационных файлов, доступных в Linux, и о том, где их можно найти.
Полное руководство по конфигурационным файлам Linux. Часть 1
Конфигурационные файлы Linux одновременно и упрощают, и усложняют управление ОС. Параметры конфигурации легко менять, а также переносить на другие системы, но их документирование часто бывает утомительным. Мы собрали понятные объяснения и инструкции по редактированию конфигурационных файлов. Разумеется, в рамках одной статьи невозможно охватить всё, поэтому сосредоточимся на самых распространённых файлах для нескольких дистрибутивов Linux.
Немного вводных
Каждый дистрибутив Linux может использовать разные приложения и сервисы для выполнения одной и той же функции. Например, Red Hat и Ubuntu используют разные приложения для сетевых служб. Когда возможно и уместно, мы отмечаем это в статье. Но если вы встретите конфигурационный файл, о котором здесь не упоминалось, не бойтесь — он просто называется как-то по-другому для используемого вами дистрибутива.
В этом случае вам, возможно, придётся обратиться к документации дистрибутива, который настраиваете. Однако общая идея и процесс близки к тому, о чём говорится далее.
И прежде чем продолжить, упомянем кое-что важное. В примерах мы использовали редактор Nano. Вы можете использовать любой текстовый редактор командной строки, но перед редактированием конфигурационного файла мы настоятельно рекомендуем сначала создать его копию. При копировании добавьте расширение .bak в конец файла, чтобы позже вы могли идентифицировать, что это файл резервной копии.
cp originalFile.conf orginalFile.conf.bak
Существует большая вероятность, что вы в конечном счёте совершите ошибку при редактировании. Поэтому резервные файлы важны. Итак, мы вас предупредили. А теперь погрузимся в удивительный мир конфигурационных файлов Linux.
Что такое конфигурационные файлы
Конфигурационные файлы — это локальные файлы, которые управляют работой программы, утилиты или процесса. Они содержат настройки и инструкции для различных систем и приложений. Часто это текстовые файлы, которые содержат имя переменной (параметра), за которой следует её значение. Большинство конфигурационных файлов Linux можно открыть с помощью обычного текстового редактора и обновить напрямую. Но для редактирования таких файлов вы, скорее всего, будете использовать редактор командной строки, например, Nano или Vim.
Конфигурационные файлы Linux используются для настройки параметров различных процессов операционной системы. Некоторые из этих файлов определяют доступ к сети и протоколы, в то время как другие инструктируют операционную систему о том, как получить доступ к серверам имён. Опытный администратор управляет Linux, редактируя конфигурационные файлы.
В разных дистрибутивах Linux используются не только разные конфигурационные файлы, но и соглашения об именах. Иногда конфигурационные файлы упоминаются только по имени, например «dhclient» или «nsswitch». А иногда на них можно ссылаться с расширением — с точкой или без нее, например, «dhclient.conf» или «nsswitch.conf».
В некоторых случаях на конфигурационные файлы можно ссылаться по расположению в каталоге, например, «/etc/dhclient.conf» или «/etc/nsswitch conf». Хотя соглашения об именах файлов могут немного измениться, как и их расположение в файловой системе, общая идея того, как редактировать отдельные конфигурационные файлы, остаётся прежней. Опытный администратор сможет применить советы из этой статьи к любому дистрибутиву Linux.
«Администрирование Linux. Мега»
Как редактировать конфигурационные файлы
Для редактирования конфигурационного файла нужно только найти его и открыть с помощью текстового редактора. Подавляющее большинство конфигурационных файлов Linux хранят свои данные в виде обычного текста, и изменение их содержимого и сохранение — всё, что требуется для обновления настроек. Для этой работы подойдет множество текстовых редакторов, и обычно их выбор зависит от личных предпочтений.
Многие конфигурационные файлы Linux можно найти в каталоге /etc/ или подкаталоге. Значительную часть времени они будут редактироваться через командную строку, поэтому осваивайтесь с такими приложениями, как Nano или Vi. Эти конфигурационные файлы обычно защищены от стандартных учётных записей пользователей, поэтому не забудьте изменить свои привилегии (можете использовать команду sudo или su). В противном случае могут возникнуть проблемы с поиском файлов.
Хотя настройки применяются сразу после сохранения отредактированного файла, приложения не будут воспринимать изменения до тех пор, пока вы не перезапустите приложение.
Конфигурационный файл network-scripts
Как и в Windows, в Linux есть конфигурационные файлы для каждого сетевого интерфейса. Они сообщают операционной системе сведения о названии интерфейса, следует ли использовать DHCP и должен ли быть включен IPv6. Здесь так стоит упомянуть, что сетевым интерфейсом может быть как виртуальное, так и физическое устройство, как проводное, так и беспроводное
Конфигурационный файл network-scripts — это файл, который управляет сетевым интерфейсом. Параметры конфигурации для данного устройства или виртуального интерфейса сохраняются и редактируются в конфигурационном файле, уникальном для каждого интерфейса в каталоге network-scripts.
Как настроить конфигурационный файл network-scripts
Существует два способа редактирования:
И REHL (и CentOS), и Ubuntu содержат графические утилиты для редактирования конфигурационных файлов. Эти графические утилиты доступны по-разному в зависимости от того, какой графический интерфейс вы используете.
Как правило, настройки можно найти в разделе «Сеть» или «Утилиты». В параметрах сети будут перечислены все интерфейсы, доступные в системе. При редактировании этих сетевых интерфейсов вы получите доступ к большинству настроек, упомянутых выше.
Другой способ редактирования — через текстовый редактор в командной строке. В этом случае вы используете приложение, например, Nano или Vi, чтобы открыть каждый файл и отредактировать его. В REHL все конфигурационные файлы указываются как отдельные файлы. В Ubuntu они находятся в одном файле по пути /etc/network/ file system.
Важно упомянуть, что для редактирования этих файлов вам потребуются повышенные привилегии. Если вы используете графический интерфейс, нужно ввести пароль root. Если командную строку — команду sudo.
Explanation