Arquivo de configuração - Configuration file

Na computação , os arquivos de configuração (comumente conhecidos simplesmente como arquivos de configuração ) são arquivos usados ​​para definir os parâmetros e as configurações iniciais de alguns programas de computador . Eles são usados ​​para aplicativos de usuário , processos de servidor e configurações do sistema operacional .

Alguns aplicativos fornecem ferramentas para criar, modificar e verificar a sintaxe de seus arquivos de configuração; estes às vezes têm interfaces gráficas. Para outros programas, espera-se que os administradores de sistema criem e modifiquem arquivos manualmente usando um editor de texto, o que é possível porque muitos são arquivos de texto simples editáveis ​​por humanos. Para processos de servidor e configurações de sistema operacional, geralmente não existe uma ferramenta padrão, mas os sistemas operacionais podem fornecer suas próprias interfaces gráficas, como YaST ou debconf .

Alguns programas de computador só lêem seus arquivos de configuração na inicialização . Outros verificam periodicamente se há alterações nos arquivos de configuração. Os usuários podem instruir alguns programas a reler os arquivos de configuração e aplicar as alterações ao processo atual, ou mesmo a ler arquivos arbitrários como um arquivo de configuração. Não existem padrões definitivos ou convenções fortes.

Um arquivo de configuração para GNU GRUB sendo editado. Os comentários (as linhas que começam com ' #') são usados ​​como documentação e como uma forma de "desabilitar" a configuração.

Arquivos de configuração e sistemas operacionais

Unix e sistemas operacionais semelhantes ao Unix

Em sistemas operacionais semelhantes ao Unix , existem muitos formatos de arquivo de configuração diferentes, com cada aplicativo ou serviço potencialmente tendo um formato único, mas há uma forte tradição deles serem em texto simples editável por humanos, e um formato simples de par chave-valor é comum. Extensões de arquivo de .cnf, .conf, .cfg, .cfou .inisão muitas vezes utilizados.

Quase todos os formatos permitem comentários e , nesse caso, as configurações individuais podem ser desabilitadas adicionando-se o caractere de comentário ao início . Freqüentemente, os arquivos de configuração padrão contêm extensa documentação interna na forma de comentários e os arquivos man também são normalmente usados ​​para documentar o formato e as opções disponíveis.

O software de todo o sistema geralmente usa arquivos de configuração armazenados em /etc, enquanto os aplicativos de usuário geralmente usam um " dotfile " - um arquivo ou diretório no diretório inicial prefixado com um ponto , que no Unix oculta o arquivo ou diretório da lista casual.

Alguns arquivos de configuração executam um conjunto de comandos na inicialização. Uma convenção comum é que esses arquivos tenham " rc" em seus nomes, normalmente usando o nome do programa e um " (.)rc" sufixo, por exemplo, " .xinitrc", " .vimrc", " .bashrc", " xsane.rc". Consulte os comandos de execução para obter mais detalhes.

Em contraste, o AIX da IBM usa um banco de dados Object Data Manager (ODM) para armazenar muitas das configurações do sistema.

MS-DOS

O próprio MS-DOS se baseou principalmente em apenas um arquivo de configuração CONFIG.SYS,. Este era um arquivo de texto simples com pares chave-valor simples (por exemplo DEVICEHIGH=C:\DOS\ANSI.SYS) até o MS-DOS 6, que introduziu um formato de arquivo INI. Havia também um arquivo de lote de texto simples padrão denominado AUTOEXEC.BATque executava uma série de comandos na inicialização . Ambos os arquivos foram mantidos até o Windows 98SE , que ainda rodava no MS-DOS.

Um exemplo de CONFIG.SYS para 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

Os aplicativos DOS usavam uma grande variedade de arquivos de configuração individuais, a maioria deles binários, proprietários e não documentados - e não havia convenções ou formatos comuns.

Microsoft Windows

O aplicativo REGEDIT sendo usado para editar os dados do Registro do Windows

Os primeiros sistemas operacionais da família Microsoft Windows utilizavam amplamente arquivos INI de texto simples (de "inicialização"). Eles serviram como o mecanismo principal para configurar o sistema operacional e os recursos do aplicativo. As APIs para ler e escrever a partir deles ainda existem no Windows, mas depois de 1993, a Microsoft começou a afastar os desenvolvedores do uso de arquivos INI e em direção ao armazenamento de configurações no Registro do Windows , um banco de dados hierárquico para armazenar definições de configuração, que foi introduzido naquele ano com Windows NT .

Mac OS

A Lista de propriedades é o formato de arquivo de configuração padrão no macOS (bem como nos aplicativos iOS , NeXTSTEP , GNUstep e Cocoa ). Ele usa a extensão de nome de arquivo .plist .

IBM OS / 2

O OS / 2 da IBM usa um formato binário, também com um sufixo .INI, mas é diferente das versões para Windows. Ele contém uma lista de listas de pares de valores-chave não digitados. Dois arquivos controlam as configurações de todo o sistema: OS2.INI e OS2SYS.INI. Os desenvolvedores de aplicativos podem escolher entre usá-los ou criar um arquivo específico para seus aplicativos.

Formatos de serialização

Existem vários formatos de serialização de uso geral que podem representar estruturas de dados complexas em um formato facilmente armazenado, e são frequentemente usados ​​como base para arquivos de configuração, particularmente em aplicativos e bibliotecas de software de código-fonte aberto e independente de plataforma . As especificações que descrevem esses formatos são rotineiramente disponibilizadas ao público, aumentando assim a disponibilidade de analisadores e emissores nas linguagens de programação.

Os exemplos incluem: JSON , XML e YAML .

Veja também

  • .properties , uma extensão de arquivo usada principalmente em Java
  • HOCON , um superconjunto de .properties e JSON
  • Arquivo INI , um formato de arquivo de configuração comum
  • JSON , com suporte para tipos de dados complexos e estruturas de dados
  • Executar comandos , o que explica a origem histórica do sufixo "rc"
  • TOML , um formato de arquivo de configuração especificado formalmente
  • YAML , com suporte para estruturas e tipos de dados complexos

Referências

  1. ^ https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default .
  2. ^ http://opensource.apple.com/source/apache/apache-769/httpd.conf .
  3. ^ "arquivo rc" . Catb.org . Página visitada em 29/02/2012 .
  4. ^ Microsoft: Windows NT Workstation Resource Kit .
  5. ^ Os arquivos OS / 2 INI por James J. Weinkam.