Konfigurationsdatei

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.

DateiformateBearbeiten

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 diese 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 fertige Programmbibliotheken zum Einlesen und Parsen solcher Dateiformate gibt. Zu den verbreitetsten Dateiformaten gehören:

  • INI (Initialisierungsdatei)
  • YAML (YAML Ain’t Markup Language)
  • TOML (Tom's Obvious, Minimal Language)
  • XML (Extensible Markup Language)
  • JSON (JavaScript Object Notation)

Verbreitung je nach BetriebssystemBearbeiten

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.

WindowsBearbeiten

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 BetriebssystemeBearbeiten

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 Property List 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]

EinzelnachweiseBearbeiten

  1. a b c Comparing the Mac OS X Property List to the Windows Registry (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).