Definition

Konfigurationsdatei

Eine Konfigurationsdatei definiert die Parameter, Optionen, Einstellungen und Präferenzen für Betriebssysteme, Infrastrukturgeräte und Anwendungen in einem IT-Kontext.

Software- und Hardwaregeräte sind häufig sehr komplex und unterstützen unzählige Optionen und Parameter. Administratoren müssen genaue Einstellungen vornehmen, die für die Besonderheiten des Rechenzentrums, der Cloud oder der Benutzerumgebung geeignet sind. In Konfigurationsdateien legen sie beispielsweise fest, wo Protokolldateien einer Anwendung gespeichert sein sollen, welche Plug-ins in einem bestimmten Programm zulässig sind und sogar das Farbschema und die Dashboard-Widget-Einstellungen in einer Benutzeroberfläche (UI).

IT-Systeme arbeiten mit einer einzigen Konfigurationsdatei oder teilen die Einstellungen auf mehrere Dateien für verschiedene Komponenten des Systems auf. Eine komplexe Anwendung stützt sich beispielsweise auf Konfigurationsdateien für Benutzeroberflächeneinstellungen, Netzwerkparameter, Speicherparameter und andere Aspekte, die für den Betrieb notwendig sind. Mehrere Konfigurationsdateien machen jedoch die Verwaltung etwas komplizierter.

Die Anwendung oder ein anderes System öffnet und liest die Konfigurationsdatei beim Start, liest die einzelnen Einstellungen und wendet sie an. Wenn Sie Einstellungen in der Datei ändern, während die Anwendung läuft, übernimmt diese die neuen Parameter entweder beim Neustart, oder wenn sie im laufenden Betrieb die Konfigurationsdatei erneut einliest.

Formate und Syntax von Konfigurationsdateien

Konfigurationsdateien haben viele Namen. In Linux-Umgebungen verwendete Klartext-Konfigurationsdateien haben Dateinamenerweiterungen wie.cnf,.conf,.cfg,.cf und.ini. Frühe Befehlszeilen-Betriebssysteme wie MS-DOS arbeiteten mit einer einzigen Klartext-Konfigurationsdatei mit der Erweiterung .sys, zum Beispiel config.sys. Gängige moderne Konfigurationsdateiendungen hängen vom vorherrschenden Dateiformat ab oder verwenden .config.

Manche Konfigurationsdateien sind in lesbaren Sprachen verfasst und verwenden einfachen Text, der mit jedem gängigen Texteditor kompatibel ist. Beliebte Skriptsprachen wie PHP setzen auf eine einfache Textdatei, php.ini, und Windows-Desktops haben immer noch eine desktop.ini-Datei, um das Aussehen des Desktops, der Symbole und anderer visueller Merkmale zu konfigurieren.

Konfigurationsdateien haben größtenteils ein Serialisierungsformat wie XML, YAML und JSON angenommen, um komplexe Datenstrukturen in einer Weise darzustellen, die Sie leicht speichern und parsen können. Die resultierenden Dateinamen resultieren oft das Format wider. Eine Konfigurationsdatei im YAML-Format könnte zum Beispiel so aussehen: myapplication_configuration.yaml. Auf diese Weise identifizieren Administratoren eine moderne Konfigurationsdatei anhand ihres Namens und nicht anhand ihrer Erweiterung.

Inhalt der Konfigurationsdatei

 

Der Inhalt von Konfigurationsdateien ist zwar oft spezifisch für die jeweilige Anwendung oder das System, lässt sich aber im Allgemeinen in vier Haupttypen unterteilen: Kommentare, Flags, Einstellungen und Pfade.

Kommentare sind für eine Konfigurationsdatei unerlässlich, haben aber keinen Einfluss auf das Verhalten der Datei. Kommentare sind die Anmerkungen des Entwicklers oder Administrators, die der Dokumentation dienen. Im .ini-Dateiformat verwenden Sie zum Beispiel eine Raute und Semikolons, um Kommentare zu markieren:

# Dies ist ein Kommentar in einer typischen.ini-Datei

Flags steuern, welche Optionen in einer Anwendung oder einem System aktiviert und deaktiviert werden. Sie aktivieren Flags mit einer numerischen Eins (1) oder dem Wort true und mit einer numerischen Null (0) oder dem Wort false deaktivieren Sie diese. Wenn Sie beispielsweise in einer Ansible-Konfigurationsdatei temporäre Dateien lesbar machen möchten, setzen Sie beim entsprechenden Falg ein True.

; allow temp files to be world readable

allow_world_readable_tmpfiles = True

In einem anderen Beispiel gibt die Konfigurationsdatei an, ob die Namen der einzelnen Aufgaben in der Standardausgabe erscheinen:

; do not send task labels to the display

display_args_to_stdout = False

Einstellungen sind die Zuordnung von Konstanten zu variablen Informationen, die es ermöglichzen, zahlreiche Betriebsparameter zu definieren. So könnte eine Anwendung beispielsweise die Variable server verwenden, um die IP-Adresse des Anwendungsservers zu definieren, und die Variable port, um den vom Server an der angegebenen IP-Adresse verwendeten Kommunikations-Port zu definieren:

; set the IP address and port for the application server

server = 192.1.2.62    

port = 144

Anwendungen greifen routinemäßig auf Speicherorte zu, um wichtige Informationen wie Protokolldateien oder Plug-ins zu laden oder zu speichern. Es gibt zwar Standardspeicherorte, aber es ist üblich, Speichergeräte und Ordner über Pfade und sogar bestimmte Dateinamen festzulegen. Die Anwendung verwendet die bevorzugten Pfade, die in der Konfigurationsdatei angegeben sind. Ein Pfad beschreibt zum Beispiel das Laufwerk und den Ordner zu einer Konfigurationsdatei (dbsettings.ini):

Ort der Datenbankkonfigurationsdatei

; location of the database config file

 

database_setup = “c:\\programs\\new\\dbsettings.ini” In ähnlicher Weise verwenden Entwickler und Administratoren Pfade, um einfach die gewünschten Dateinamen zu beschreiben. Zum Beispiel legt eine klassische config.sys-Datei den Speicherort und den Namen der gewünschten UI-Shell fest:

; the location and name of the UI shell in MS-DOS 5

shell = c:\dos\command.com

Arbeiten mit Konfigurationsdateien

Zum Erstellen und Bearbeiten von Konfigurationsdateien stehen verschiedene Werkzeuge zur Verfügung. Diese Werkzeuge helfen dem Benutzer, Parameter innerhalb der Datei zu finden, in ein anderes Dateiformat zu konvertieren und andere Aufgaben zu erfüllen.

Texteditoren wie Microsoft Windows Notepad und Linux GNU nano gehören zu den üblichen Werkzeugen für das Bearbeiten von Dateien, die für Menschen lesbar sind. Einige Texteditoren bieten Such- und Mustervergleichsfunktionen, um den Benutzern das Auffinden und Ändern von Inhalten zu erleichtern.

Andere Tools sind auf Dateiformate spezialisiert, wie um Beispiel JSON Editor Online für das JSON-Format. Swagger Editor kann YAML-Dateien in JSON konvertieren. Weitere Editoren gibt es für Formate wie XML, TOML und so weiter.

Für die Arbeit mit Konfigurationsdateien sollten Sie ein System aus Kommentaren, Tests, Versionskontrolle und Backups einrichten. Verwenden Sie Kommentare, um wichtige Vorgänge innerhalb der Datei zu dokumentieren, und schreiben Sie sie so, dass andere sie verstehen können. Testen Sie Konfigurationsdateien gründlich und stellen Sie sicher, dass die Anwendung oder das System wie vorgesehen funktioniert. Führen Sie eine Namens- oder Versionskontrollkonvention ein, damit die Editoren von Konfigurationsdateien Änderungen, die im Laufe der Zeit vorgenommen wurden, wie zum Beispiel das Einführen eines neuen Pfads zum Speichern, nachverfolgen können und wissen, wer sie vorgenommen hat. Behandeln Sie schließlich Konfigurationsdateien als kritisch und nehmen Sie sie in ein Sicherungsschema auf.

Diese Definition wurde zuletzt im Februar 2023 aktualisiert

Erfahren Sie mehr über Softwareentwicklung