Konfigurationsdatei

aus Wikipedia, der freien Enzyklopädie

Eine Konfigurationsdatei ist eine Datei auf einem Computer, in der bestimmte Einstellungen (die Konfiguration) von Computerprogrammen oder Hardwarebestandteilen gespeichert sind.

Weit verbreitet ist die Verwendung einfacher Textdateien in der auf dem jeweiligen Betriebssystem üblichen Kodierung, etwa ASCII oder UTF-8, sodass sie mit verschiedensten Programmen, z. B. einem beliebigen Texteditor oder auf der Kommandozeile, bearbeitet werden können.

Konfigurationsdateien können u. a. auch binär, komprimiert oder verschlüsselt sein. Auch gibt es Programme, die ihre Konfigurationsdateien komplett selbst verwalten. Der Benutzer muss bzw. kann sich in solchen Fällen nicht direkt mit der entsprechenden Konfigurationsdatei auseinandersetzen.

Dateiformate

Grundsätzlich ist kein spezielles Dateiformat vorgegeben – jedes Programm bzw. die Entwickler eines Computerprogramms legen selbst fest, wie Einstellungen gespeichert werden. Eine sehr einfache Art, Konfigurationsoptionen zu speichern, ist, sie als Variablen in binärer Form als Daten in eine Datei mit vorgegebenem Namen (und absolutem oder relativem Pfad) zu schreiben. Diese Daten sind jedoch nur schwer außerhalb des Programms interpretierbar. Damit also eine Konfigurationsdatei auch außerhalb des Programms gelesen und verändert werden kann, nutzen viele Programme Textdateien als Konfigurationsdateien, die einer bestimmten Syntax folgen, mit dem Nachteil, dass das Programm die Daten beim Einlesen interpretieren (englisch parse) muss, um sie in ihre binäre Form zurückzuführen.

Es gibt einige standardisierte Dateiformate, die für Konfigurationsdateien gerne verwendet werden. Das liegt nicht zuletzt daran, dass es zahlreiche Programmbibliotheken zum Einlesen solcher Dateiformate gibt. Zu den verbreitetsten Dateiformaten gehören:

  • INI (Initialisierungsdatei)
  • XML (Extensible Markup Language)
  • JSON (JavaScript Object Notation)
  • YAML (YAML Ain’t Markup Language)
  • TOML (Tom's Obvious, Minimal Language)
  • .properties (Java-Properties-Datei)
  • Property List

Verbreitung je nach Betriebssystem

Grundsätzlich ist das verwendete Dateiformat nicht vom Betriebssystem abhängig, aber oft verwenden Anwendungen die gleichen Formate wie das Betriebssystem, auf dem sie laufen.

Windows

Unter Windows wurden häufig die Initialisierungsdateien (*.ini) eingesetzt. Auch die Registrierungsdatenbank (englisch Registry) user.dat eines Windows-Systems ist eine Konfigurationsdatei. Diese Datei liegt aber in einem binären Format vor, weshalb es spezieller Anwendungen und Dienste bedarf, um sie öffnen und bearbeiten zu können.

Unix-artige Betriebssysteme

Unix-artige Betriebssysteme wie Linux oder macOS benutzen sehr viele verschiedene Formate, wobei darauf geachtet wird, dass es sich um Textdateien wie ASCII handelt. Binäre Formate sind eher unüblich. Obwohl Dateien auf Linux-Systemen oftmals keine Dateiendung haben, besitzen Konfigurationsdateien manchmal Kürzel/Dateiendungen wie: *.cnf, *.conf oder *.cfg. Apple formatiert Einstellungen in macOS oft als sogenannte

die das Dateikürzel *.plist tragen.[1]

In unixoiden Systemen legen Anwendungen meist selbständig ihre eigenen Konfigurationsdateien im Benutzerverzeichnis (meist /home/benutzername/) mit einem führenden Punkt im Dateinamen ab. Durch den Punkt werden die Dateien als versteckt angesehen und standardmäßig bei der Ausgabe des Verzeichnisinhaltes nicht angezeigt. Freedesktop.org schreibt jedoch ein anderes Verzeichnis vor: $XDG_CONFIG_HOME oder wenn diese Umgebungsvariable nicht gesetzt ist: ~/.config/.[2]

Bei der Installation einer Anwendung oder durch einen Systemadministrator können auch für alle Benutzer geltende Konfigurationsdateien im Verzeichnis /etc erstellt werden. In macOS werden die benutzerspezifischen Konfigurationsdateien von Anwendungen normalerweise in /Users/benutzername/Library/Preferences[1] abgelegt. macOS speichert Einstellungen, die für alle Benutzer gelten, neben dem /etc-Verzeichnis auch in /Library/Preferences.[1]

Einzelnachweise

  1. a b c Comparing the Mac OS X Property List to the Windows Registry (Memento des Originals vom 12. Mai 2014 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.macforensicslab.com (englisch), www.macforensicslab.com, zugegriffen: 30. Juli 2011
  2. XDG Base Directory Specification. Environment variables. In: freedesktop.org. 24. November 2010, abgerufen am 3. August 2020 (englisch).