fbpx
Wikipedia

Configuration file

In computing, configuration files (commonly known simply as config files) are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system settings.

Some applications provide tools to create, modify, and verify the syntax of their configuration files; these sometimes have graphical interfaces. For other programs, system administrators may be expected to create and modify files by hand using a text editor, which is possible because many are human-editable plain text files. For server processes and operating-system settings, there is often no standard tool, but operating systems may provide their own graphical interfaces such as YaST or debconf.

Some computer programs only read their configuration files at startup. Others periodically check the configuration files for changes. Users can instruct some programs to re-read the configuration files and apply the changes to the current process, or indeed to read arbitrary files as a configuration file. There are no definitive standards or strong conventions.

A configuration file for GNU GRUB being edited. Comments (the lines beginning with a '#') are used both as documentation and as a way to "disable" the setting.

Configuration files and operating systems edit

Unix and Unix-like operating systems edit

Across Unix-like operating systems many different configuration-file formats exist, with each application or service potentially having a unique format, but there is a strong tradition of them being in human-editable plain text, and a simple key–value pair format is common. Filename extensions of .cnf, .conf, .cfg, .cf or .ini are often used.

Almost all formats allow comments, in which case, individual settings can be disabled by prepending with the comment character. Often the default configuration files contain extensive internal documentation in the form of comments[1][2] and man files are also typically used to document the format and options available.

System-wide software often uses configuration files stored in /etc, while user applications often use a "dotfile" – a file or directory in the home directory prefixed with a period, which in Unix hides the file or directory from casual listing. Since this causes pollution, newer user applications generally make their own folder in the .config directory, a standardized subdirectory of the home directory.

Some configuration files run a set of commands upon startup. A common convention is for such files to have "rc" in their name,[3] typically using the name of the program then an "(.)rc" suffix e.g. ".xinitrc", ".vimrc", ".bashrc", "xsane.rc". See run commands for further details.

By contrast, IBM's AIX uses an Object Data Manager (ODM) database to store much of its system settings.

MS-DOS edit

MS-DOS itself primarily relied on just one configuration file, CONFIG.SYS. This was a plain text file with simple key–value pairs (e.g. DEVICEHIGH=C:\DOS\ANSI.SYS) until MS-DOS 6, which introduced an INI-file style format. There was also a standard plain text batch file named AUTOEXEC.BAT that ran a series of commands on boot. Both these files were retained up to Windows 98SE, which still ran on top of MS-DOS.

An example CONFIG.SYS for 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 applications used a wide variety of individual configuration files, most of them binary, proprietary and undocumented - and there were no common conventions or formats.[citation needed]

Microsoft Windows edit

 
The REGEDIT application being used to edit Windows Registry data

The early Microsoft Windows family of operating systems heavily utilized plain-text INI files (from "initialization"). These served as the primary mechanism to configure the operating system and application features.[4] The APIs to read and write from these still exist in Windows, but after 1993, Microsoft began to steer developers away from using INI files and toward storing settings in the Windows Registry, a hierarchical database to store configuration settings, which was introduced that year with Windows NT.

macOS edit

The Property List is the standard configuration file format in macOS (as well as in iOS, NeXTSTEP, GNUstep and Cocoa applications). It uses the filename extension .plist.

IBM OS/2 edit

IBM's OS/2 uses a binary format, also with a .INI suffix, but this differs from the Windows versions. It contains a list of lists of untyped key–value pairs.[5] Two files control system-wide settings: OS2.INI and OS2SYS.INI. Application developers can choose whether to use them or to create a specific file for their applications.

Serialization formats edit

A number of general-purpose serialization formats exist that can represent complex data structures in an easily stored format, and these are often used as a basis for configuration files, particularly in open-source and platform-neutral software applications and libraries. The specifications describing these formats are routinely made available to the public, thus increasing the availability of parsers and emitters across programming languages.

Examples include: JSON, XML, and YAML.

Comparison edit

Format comparison[6]
Format Formal specs Allows comments Syntax typing[7][8]
CUE[9] Yes Yes Yes
INI No Yes No
JSON Yes[10] No Yes
TOML Yes[11] Yes Yes
YAML Yes[12] Yes Yes
XML Yes[13] Yes No

See also edit

  • .properties, a file extension mainly used in Java
  • HOCON, a superset of .properties and JSON
  • INI file, a common configuration file format
  • JSON, with support for complex data types and data structures
  • Run commands, which explains the historical origin of the "rc" suffix
  • TOML, a formally-specified configuration file format
  • YAML, with support for complex data types and structures

References edit

  1. ^ https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default. 2017-08-03 at the Wayback Machine
  2. ^ http://opensource.apple.com/source/apache/apache-769/httpd.conf. 2020-08-01 at the Wayback Machine
  3. ^ "rc file". Catb.org. Retrieved 2012-02-29.
  4. ^ Microsoft: Windows NT Workstation Resource Kit.
  5. ^ The OS/2 INI Files by James J. Weinkam.
  6. ^ TOML, TOML, 2023-01-15, retrieved 2023-01-15
  7. ^ Syntax typing refers to the use of syntax to designate data types. In languages that allow syntax typing, type declaration will be syntax-based – e.g. true will be a boolean while "true" will be a string – whereas in languages that do not allow syntax typing it will be semantics-based – e.g. true and "true" will be both recognizable as booleans, while microwave and "microwave" will be both recognizable as strings (this will require the parser to have some prior expectations about the type of a particular field, but this is often the case in configuration files).
  8. ^ Opinions on whether syntax typing in configuration formats is a good or a bad feature vary among authors. with some considering it a disadvantage (see for example What is wrong with TOML § Syntax typing) and others favoring it.
  9. ^ "About | CUE". Retrieved October 6, 2022.
  10. ^ "The JavaScript Object Notation (JSON) Data Interchange Format".
  11. ^ "TOML Specification".
  12. ^ "YAML™ Specification Index".
  13. ^ "Extensible Markup Language (XML) 1.0 (Fifth Edition)".

configuration, file, file, redirects, here, resource, scripts, resource, windows, computing, configuration, files, commonly, known, simply, config, files, files, used, configure, parameters, initial, settings, some, computer, programs, they, used, user, applic. rc file redirects here For resource scripts see Resource Windows In computing configuration files commonly known simply as config files are files used to configure the parameters and initial settings for some computer programs They are used for user applications server processes and operating system settings Some applications provide tools to create modify and verify the syntax of their configuration files these sometimes have graphical interfaces For other programs system administrators may be expected to create and modify files by hand using a text editor which is possible because many are human editable plain text files For server processes and operating system settings there is often no standard tool but operating systems may provide their own graphical interfaces such as YaST or debconf Some computer programs only read their configuration files at startup Others periodically check the configuration files for changes Users can instruct some programs to re read the configuration files and apply the changes to the current process or indeed to read arbitrary files as a configuration file There are no definitive standards or strong conventions A configuration file for GNU GRUB being edited Comments the lines beginning with a are used both as documentation and as a way to disable the setting Contents 1 Configuration files and operating systems 1 1 Unix and Unix like operating systems 1 2 MS DOS 1 3 Microsoft Windows 1 4 macOS 1 5 IBM OS 2 2 Serialization formats 3 Comparison 4 See also 5 ReferencesConfiguration files and operating systems editUnix and Unix like operating systems edit Across Unix like operating systems many different configuration file formats exist with each application or service potentially having a unique format but there is a strong tradition of them being in human editable plain text and a simple key value pair format is common Filename extensions of cnf conf cfg cf or ini are often used Almost all formats allow comments in which case individual settings can be disabled by prepending with the comment character Often the default configuration files contain extensive internal documentation in the form of comments 1 2 and man files are also typically used to document the format and options available System wide software often uses configuration files stored in a href etc html class mw redirect title etc etc a while user applications often use a dotfile a file or directory in the home directory prefixed with a period which in Unix hides the file or directory from casual listing Since this causes pollution newer user applications generally make their own folder in the config directory a standardized subdirectory of the home directory Some configuration files run a set of commands upon startup A common convention is for such files to have rc in their name 3 typically using the name of the program then an rc suffix e g xinitrc vimrc bashrc xsane rc See run commands for further details By contrast IBM s AIX uses an Object Data Manager ODM database to store much of its system settings MS DOS edit MS DOS itself primarily relied on just one configuration file a href CONFIG SYS html title CONFIG SYS CONFIG SYS a This was a plain text file with simple key value pairs e g DEVICEHIGH C DOS ANSI SYS until MS DOS 6 which introduced an INI file style format There was also a standard plain text batch file named a href AUTOEXEC BAT html title AUTOEXEC BAT AUTOEXEC BAT a that ran a series of commands on boot Both these files were retained up to Windows 98SE which still ran on top of MS DOS An example CONFIG SYS for 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 applications used a wide variety of individual configuration files most of them binary proprietary and undocumented and there were no common conventions or formats citation needed Microsoft Windows edit nbsp The REGEDIT application being used to edit Windows Registry dataThe early Microsoft Windows family of operating systems heavily utilized plain text INI files from initialization These served as the primary mechanism to configure the operating system and application features 4 The APIs to read and write from these still exist in Windows but after 1993 Microsoft began to steer developers away from using INI files and toward storing settings in the Windows Registry a hierarchical database to store configuration settings which was introduced that year with Windows NT macOS edit The Property List is the standard configuration file format in macOS as well as in iOS NeXTSTEP GNUstep and Cocoa applications It uses the filename extension plist IBM OS 2 edit IBM s OS 2 uses a binary format also with a INI suffix but this differs from the Windows versions It contains a list of lists of untyped key value pairs 5 Two files control system wide settings OS2 INI and OS2SYS INI Application developers can choose whether to use them or to create a specific file for their applications Serialization formats editA number of general purpose serialization formats exist that can represent complex data structures in an easily stored format and these are often used as a basis for configuration files particularly in open source and platform neutral software applications and libraries The specifications describing these formats are routinely made available to the public thus increasing the availability of parsers and emitters across programming languages Examples include JSON XML and YAML Comparison editFormat comparison 6 Format Formal specs Allows comments Syntax typing 7 8 CUE 9 Yes Yes YesINI No Yes NoJSON Yes 10 No YesTOML Yes 11 Yes YesYAML Yes 12 Yes YesXML Yes 13 Yes NoSee also edit properties a file extension mainly used in Java HOCON a superset of properties and JSON INI file a common configuration file format JSON with support for complex data types and data structures Run commands which explains the historical origin of the rc suffix TOML a formally specified configuration file format YAML with support for complex data types and structuresReferences edit https opensource apple com source postfix postfix 174 2 Postfix Config main cf default Archived 2017 08 03 at the Wayback Machine http opensource apple com source apache apache 769 httpd conf Archived 2020 08 01 at the Wayback Machine rc file Catb org Retrieved 2012 02 29 Microsoft Windows NT Workstation Resource Kit The OS 2 INI Files by James J Weinkam TOML TOML 2023 01 15 retrieved 2023 01 15 Syntax typing refers to the use of syntax to designate data types In languages that allow syntax typing type declaration will be syntax based e g true will be a boolean while true will be a string whereas in languages that do not allow syntax typing it will be semantics based e g true and true will be both recognizable as booleans while microwave and microwave will be both recognizable as strings this will require the parser to have some prior expectations about the type of a particular field but this is often the case in configuration files Opinions on whether syntax typing in configuration formats is a good or a bad feature vary among authors with some considering it a disadvantage see for example What is wrong with TOML Syntax typing and others favoring it About CUE Retrieved October 6 2022 The JavaScript Object Notation JSON Data Interchange Format TOML Specification YAML Specification Index Extensible Markup Language XML 1 0 Fifth Edition Retrieved from https en wikipedia org w index php title Configuration file amp oldid 1166114800, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.