Konfigurační soubor

Konfigurační soubor je v informatice označení pro menší textový soubor, v němž je pomocí prostého textu zapsána konfigurace (tj. nastavení) počítačového programu. Struktura souboru a formát zápisu jednotlivých nastavení není nijak standardizován, záleží na tvůrci programu, který konfigurační soubor používá. Používá se však typicky angličtina a znaková sada ASCII (v dnešních unixových systémech často UTF-8).

Charakteristika

editovat

Konfigurační soubor slouží k nastavení variabilních vlastností počítačových programů (nastavení aplikace, ale i operačního systému). Konfigurační soubory jsou většinou řádkově orientované, dají se považovat za jednoduché databáze. V konfiguračním souboru jsou typicky dvojice názvu příslušného nastavení a jeho hodnoty. Formát není nijak standardizován, avšak existují dobře známé formy, například soubor passwd, ve kterém jsou definováni uživatelé v unixových systémech nebo konfigurační soubor Apache HTTP Serveru. Pro zpracování (parsování) konfiguračních souborů existují různé knihovny, které programátorům zjednodušují jejich používání.

Správa konfiguračních souborů

editovat

Konfigurační soubory jsou určeny k tomu, aby je uživatel nebo správce počítače mohl přímo měnit pomocí jakéhokoliv textového editoru, který pracuje s prostým textem. Obtížněji se s nimi pracuje pomocí programu, protože je nutné je netriviálně parsovat a zachovat nastavení, která do něj zapsal člověk (textový soubor není příliš vhodný ke strojovému zpracování). Přesto existují programy, které mají textové nebo grafické uživatelské rozhraní, pomocí kterého zjednodušují uživateli změnu konfiguračních souborů. Typicky je však přímou editací konfiguračního souboru k dispozici více možností nastavení programu, než pomocí použití grafického nástroje. Některé distribuce Linuxu se vymezují právě tím, že poskytují sofistikovaný konfigurační nástroj (např. Yast v SUSE nebo debconf pro Debian).

Načítání konfiguračního souboru

editovat

Počítačový program čte konfigurační soubor při svém startu. Pro změnu jeho nastavení je pak nutné po úpravě konfiguračního souboru program ukončit a znovu spustit. Někdy je však vhodné, aby program uměl změnit své nastavení i za běhu bez přerušení svého běhu, což se hodí zejména pro různé démony, které běží na pozadí (bez přímé komunikace s uživatelem). Program proto může umožňovat znovunačtení konfiguračního souboru, ke kterému dojde typicky až po upozornění od uživatele (typicky pomocí signálu).

Unixové systémy

editovat

V unixových operačních systémech existují stovky variant formátu zápisu konfiguračního souboru. Každá aplikace nebo služba může mít unikátní formát konfiguračního souboru. S vývojem programu se může formát konfiguračního souboru měnit, avšak nestává se to často. Konfigurační soubory jsou tradičně popsány v manuálových stránkách nebo jinou vhodnou formou (info, soubory README a podobně). V mnoha případech jsou s programem dodávány konfigurační soubory s výchozím nastavením důležitých voleb a obsahují rozsáhlou vnitřní dokumentaci ve formě komentářů přímo v konfiguračním souboru.

Programy v unixových systémech mají typicky globální konfigurační soubor v adresáři /etc (viz SUS, LSB apod.) a umožňují zároveň vytvořit uživatelskou konfiguraci v konfiguračním souboru umístěném v domácím adresáři uživatelů (typicky tzv. skrytý soubor začínající tečkou).

Systém DOS používal ke konfiguraci především dva soubory s názvem CONFIG.SYS a AUTOEXEC.BAT, které byly využívány i v systémech Microsoft Windows pro DOS.

Microsoft Windows

editovat

Od systému Windows 95 včetně celé řady Windows NT (tj. včetně Windows XP, Windows 7 atd.) je firmou Microsoft preferováno ukládání nastavení do binární datové struktury registru systému Windows uspořádané do stromu. Dřívější verze (Windows 3.0, Windows 3.1x) však používaly též textové konfigurační soubory (s příponou souboru .INI jako inicializace), které kvůli zpětné kompatibilitě přetrvaly až do současných verzí Windows.

IBM OS/2

editovat

IBM OS/2 používá binární formát také s příponou .INI, ale liší se od verzí Microsoft Windows. Obsahuje seznam seznamů netypovaných dvojic klíč-hodnota. Dva konfigurační soubory jsou určeny pro kontrolní nastavení (OS2.INI a OS2SYS.INI). Vývojáři aplikací si mohou vybrat, zda chtějí použít nebo vytvořit zvláštní konfigurační soubor pro své aplikace.

Konfigurační jazyky

editovat

Pro konkrétní popis zápisu konfiguračních souborů bylo vytvořeno mnoho jazykových specifikací. Např. skriptovací jazyk Lua, který je používán jako konfigurační jazyk v jiných programech. Dále pak všechny značkovací jazyky. Trend XML a YAML pro použití jako formát konfiguračního souboru lze částečně přičíst ke zvýšené popularitě Open source software a softwarových aplikací a knihoven nezávislých na platformě. Specifikace popisující tyto formáty jsou běžně k dispozici veřejnosti.

Související články

editovat

Externí odkazy

editovat

Reference

editovat

V tomto článku byl použit překlad textu z článku Configuration file na anglické Wikipedii.