Jump to content

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

(Перенаправлено из файла конфигурации )

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

Некоторые приложения предоставляют инструменты для создания, изменения и проверки синтаксиса файлов конфигурации; иногда они имеют графический интерфейс. Для других программ системные администраторы могут создавать и изменять файлы вручную с помощью текстового редактора, что возможно, поскольку многие из них представляют собой простые текстовые файлы, редактируемые человеком. Для серверных процессов и настроек операционной системы часто не существует стандартного инструмента, но операционные системы могут предоставлять свои собственные графические интерфейсы, такие как YaST или debconf.

Некоторые компьютерные программы считывают файлы конфигурации только при запуске . Другие периодически проверяют файлы конфигурации на наличие изменений. Пользователи могут поручить некоторым программам перечитать файлы конфигурации и применить изменения к текущему процессу или даже прочитать произвольные файлы в качестве файла конфигурации. Не существует четких стандартов или строгих соглашений.

файл конфигурации для GNU GRUB Редактируемый . Комментарии (строки, начинающиеся с #) используются как в качестве документации, так и как способ «отключить» настройку.

Конфигурационные файлы и операционные системы

[ редактировать ]

Unix и Unix-подобные операционные системы

[ редактировать ]

В Unix-подобных операционных системах существует множество различных форматов файлов конфигурации, причем каждое приложение или служба потенциально имеет уникальный формат, но существует устойчивая традиция использования их в виде простого текста, редактируемого человеком, и пары ключ-значение используется простой формат . общий. Расширения имен файлов .cnf, .conf, .cfg, .cf или .ini часто используются.

Почти все форматы допускают комментарии . В этом случае отдельные настройки можно отключить, добавив в начале символ комментария . Часто файлы конфигурации по умолчанию содержат обширную внутреннюю документацию в виде комментариев. [1] [2] и man-файлы также обычно используются для документирования доступного формата и опций.

Общесистемное программное обеспечение часто использует файлы конфигурации, хранящиеся в /etc, в то время как пользовательские приложения часто используют « точечный файл » — файл или каталог в домашнем каталоге с префиксом точки , который в Unix скрывает файл или каталог от случайного списка. Поскольку это приводит к загрязнению, новые пользовательские приложения обычно создают собственную папку в .config каталог, стандартизированный подкаталог домашнего каталога.

Некоторые файлы конфигурации запускают набор команд при запуске. Распространенным соглашением является то, что такие файлы должны иметь " rc"от их имени, [3] обычно используется имя программы, а затем " (.)rc"суффикс, например" .xinitrc", " .vimrc", " .bashrc", " xsane.rc". см. в разделе команды запуска Дополнительные сведения .

В отличие от этого, IBM AIX базу данных использует Object Data Manager (ODM) для хранения большей части своих системных настроек.

Сама MS-DOS в основном полагалась только на один файл конфигурации. CONFIG.SYS. Это был обычный текстовый файл с простыми парами ключ-значение (например, DEVICEHIGH=C:\DOS\ANSI.SYS) до MS-DOS 6, в которой был представлен формат стиля INI-файла. Также существовал стандартный текстовый пакетный файл с именем AUTOEXEC.BAT который запускал серию команд при загрузке . Оба этих файла сохранялись до Windows 98SE , которая все еще работала поверх MS-DOS.

Пример CONFIG.SYS для MS-DOS 5:

DOS=HIGH,UMB
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DEVICEHIGH=C:\DOS\ANSI.SYS
FILES=30
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P

Приложения DOS использовали широкий спектр отдельных файлов конфигурации, большинство из которых были двоичными, проприетарными и недокументированными, и не было никаких общих соглашений или форматов. [ нужна ссылка ]

Microsoft Windows

[ редактировать ]
Приложение REGEDIT используется для редактирования данных реестра Windows.

Раннее семейство операционных систем Microsoft Windows широко использовало текстовые файлы INI (из «инициализации»). Они служили основным механизмом настройки операционной системы и функций приложений. [4] API -интерфейсы для чтения и записи из них все еще существуют в Windows, но после 1993 года Microsoft начала отговаривать разработчиков от использования файлов INI и переходить к хранению настроек в реестре Windows — иерархической базе данных для хранения настроек конфигурации, которая была представлена ​​в том же году с Windows НТ .

Список свойств — это стандартный формат файла конфигурации в macOS (а также в iOS , NeXTSTEP , GNUstep и Cocoa приложениях ). Он использует расширение имени файла .plist.

IBM OS/2 использует двоичный формат, также с суффиксом .INI, но он отличается от версий для Windows. Он содержит список списков нетипизированных пар ключ-значение. [5] Общесистемные настройки управляются двумя файлами: OS2.INI и OS2SYS.INI. Разработчики приложений могут выбирать, использовать ли их или создать отдельный файл для своих приложений.

Операционные системы HarmonyOS и OpenHarmony

[ редактировать ]

Операционные системы на базе HarmonyOS и OpenHarmony используют файл конфигурации «config.json» в корневом каталоге каждого приложения HAP . Он содержит три модуля, такие как app, deviceConfig и Module. config.json соответствует формату файла JSON, где каждая запись содержит атрибут и соответствующее ему значение. Последовательность значений атрибута произвольная, но каждый атрибут должен быть уникальным и неповторяющимся. Значение, присвоенное каждому атрибуту, соответствует основным типам данных JSON . от HarmonyOS DevEco Studio предоставляет два метода редактирования. config.json: представление редактирования кода и представление визуального редактирования. Объект app содержит универсальные сведения о конфигурации приложения, как показано в config.json файл конфигурации основного приложения HarmonyOS. DeviceConfig включает сведения о конфигурации для конкретных устройств, включая устройства по умолчанию, телефон, планшет, ПК, телевизор, автомобиль, носимые устройства, liteWearable и smartVision. Настройки под меткой по умолчанию применяются ко всем устройствам. Если для других устройств существуют уникальные требования, необходимо настроить параметры под соответствующей меткой типа устройства. Module Объект содержит сведения о конфигурации пакета HAP, основные атрибуты, которые должна определить каждая способность (например, имя пакета, имя класса, тип и возможности, предоставляемые способностью), а также разрешения, необходимые приложению для доступа к системе или другим защищенным разделам приложение. MainAbility Указывает название возможности входа в пакет HAP. [6]

Форматы сериализации

[ редактировать ]

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

Примеры: JSON , XML и YAML .

Сравнение

[ редактировать ]
Сравнение форматов [7]
Формат Формальные характеристики Разрешает комментарии Типизация синтаксиса [8] [9]
КИЙ [10] Да Да Да
ЭТОТ Нет Да Нет
JSON Да [11] Нет Да
ТОМЛ Да [12] Да Да
ЛЧ Нет [13] Да Да
ЯМЛ Да [14] Да Да
XML Да [15] Да Нет

См. также

[ редактировать ]
  • .properties — расширение файла, в основном используемое в Java.
  • HOCON , расширенный набор .properties и JSON.
  • INI-файл , распространенный формат файла конфигурации.
  • JSON с поддержкой сложных типов данных и структур данных.
  • Команды запуска , что объясняет историческое происхождение суффикса «rc».
  • TOML — формально определенный формат файла конфигурации.
  • YAML с поддержкой сложных типов и структур данных.
  1. ^ https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default . Архивировано 3 августа 2017 г. в Wayback Machine.
  2. ^ http://opensource.apple.com/source/apache/apache-769/httpd.conf . Архивировано 1 августа 2020 г. в Wayback Machine.
  3. ^ «RC-файл» . Catb.org . Проверено 29 февраля 2012 г.
  4. ^ Microsoft: Ресурсный комплект для рабочей станции Windows NT .
  5. ^ INI-файлы OS/2, созданные Джеймсом Дж. Вайнкамом.
  6. ^ Эванс, Мелисса. «HarmonyOS (Hongmeng) — config.json» . Мо4Тех . Мо4Тех . Проверено 24 марта 2024 г.
  7. ^ ТОМЛ , ТОМЛ, 15 января 2023 г. , получено 15 января 2023 г.
  8. ^ Типизация синтаксиса означает использование синтаксиса для обозначения типов данных . В языках, допускающих синтаксическую типизацию, объявление типа будет основано на синтаксисе, например true будет логическим значением, пока "true" будет строкой , тогда как в языках, которые не допускают типизации синтаксиса, она будет основана на семантике , например true и "true" оба будут распознаваться как логические значения, в то время как microwave и "microwave" оба будут распознаваться как строки (это потребует от синтаксического анализатора некоторых предварительных ожиданий относительно типа конкретного поля, но это часто имеет место в файлах конфигурации).
  9. ^ Мнения о том, является ли синтаксическая типизация в форматах конфигурации хорошей или плохой функцией, различаются среди авторов. некоторые считают это недостатком (см., например, «Что не так с TOML § Синтаксическая типизация »), а другие отдают ему предпочтение.
  10. ^ «О программе | КЮЕ» . Проверено 6 октября 2022 г.
  11. ^ «Формат обмена данными нотации объектов JavaScript (JSON)» .
  12. ^ «Спецификация ТОМЛ» .
  13. ^ "Формальное определение грамматики UCL · Выпуск №231 · vstahav/libucl" . Гитхаб .
  14. ^ «Указатель спецификаций YAML™» .
  15. ^ «Расширяемый язык разметки (XML) 1.0 (пятое издание)» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b8e2f14c7a9283facd1bd83caacca12e__1720449960
URL1:https://arc.ask3.ru/arc/aa/b8/2e/b8e2f14c7a9283facd1bd83caacca12e.html
Заголовок, (Title) документа по адресу, URL1:
Configuration file - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)