Articulo de referencia

Archivo de configuración

Un archivo de configuración , también conocido como archivo config , es un archivo que almacena datos utilizados para configurar un sistema de software, como una aplicación , un...

Un archivo de configuración , también conocido como archivo config , es un archivo que almacena datos utilizados para configurar un sistema de software, como una aplicación , un servidor o un sistema operativo .

Algunas aplicaciones proporcionan una herramienta para crear, modificar y verificar la sintaxis de sus archivos de configuración , a veces mediante una interfaz gráfica de usuario (GUI). Por ejemplo, los administradores de sistemas suelen crear y modificar archivos de configuración de texto con un editor de texto. Para los procesos de servidor y la configuración del sistema operativo, a menudo no existe una herramienta estándar, pero los sistemas operativos pueden ofrecer interfaces gráficas como YaST o debconf.

Algunos programas informáticos solo leen sus archivos de configuración al iniciarse . Otros los revisan periódicamente para detectar cambios. Los usuarios pueden indicar a algunos programas que vuelvan a leer los archivos de configuración y apliquen los cambios al proceso actual, o incluso que lean archivos arbitrarios como si fueran archivos de configuración. No existen estándares definitivos ni convenciones estrictas.

Formato de archivo

En general, un archivo de configuración puede tener cualquier formato . El formato aplicable a un sistema en particular viene determinado por su diseño. A menudo, se utiliza un formato estandarizado, ya que permite usar herramientas diseñadas para dicho formato, aunque no estén diseñadas para el sistema que lo utiliza. En concreto, los formatos de serialización de propósito general , como JSON , XML y YAML , se utilizan con frecuencia en software de código abierto y multiplataforma . Las especificaciones de estos formatos suelen estar disponibles públicamente para facilitar su uso generalizado.

La siguiente tabla compara los formatos más utilizados para los datos de configuración.

La columna de tipado sintáctico indica si la sintaxis admite tipos de datos . Un formato tiene tipado sintáctico si el tipo de un valor se especifica mediante la sintaxis; por ejemplo, truees un booleano mientras que "true"es una cadena . Un formato no tiene tipado sintáctico si el tipo de un valor se basa en la semántica ; por ejemplo, truey "true"son ambos booleanos si el analizador espera un booleano. Las opiniones sobre el valor del tipado sintáctico varían .

Ejemplos

A continuación se muestran ejemplos de archivos de configuración organizados según los sistemas operativos en los que se utilizan habitualmente.

Unix y sistemas similares a Unix

En los sistemas operativos Unix y similares se utilizan muchos formatos de archivo diferentes . Aun así, existe una fuerte tradición de usar formatos de texto plano editables por humanos, incluidos los pares clave-valor simples. A menudo se utilizan extensiones de archivo como .cnf, .conf, .cfg, .cfo ..ini

Muchos formatos permiten comentarios , en cuyo caso, se pueden deshabilitar configuraciones individuales anteponiendo el carácter de comentario . A menudo, los archivos de configuración predeterminados contienen una amplia documentación interna en forma de comentarios [ 7 ] [ 8 ] y los archivos man también se utilizan normalmente para documentar el formato y las opciones disponibles.

El software del sistema suele usar archivos de configuración almacenados en /etc, mientras que las aplicaciones de usuario suelen usar un " archivo oculto " (un archivo o directorio en el directorio principal precedido por un punto , que en Unix oculta el archivo o directorio de las listas casuales. Dado que esto causa contaminación, las aplicaciones de usuario más recientes generalmente crean su propia carpeta en el .configdirectorio , un subdirectorio estandarizado del directorio principal.

De forma similar a los archivos de configuración, un script de shell de comando de ejecución (rc) puede configurar una sesión de shell . A menudo, estos scripts se nombran con un sufijo después del nombre del programa que los consume, como , , , . [ 9 ]rc.xinitrc.vimrc.bashrcxsane.rc

Por el contrario, AIX de IBM utiliza una base de datos Object Data Manager (ODM) para almacenar gran parte de la configuración del sistema.

MS-DOS

MS-DOS dependía principalmente del CONFIG.SYSarchivo de configuración, un archivo de texto plano con pares clave-valor simples (por ejemplo, DEVICEHIGH=C:\DOS\ANSI.SYS). MS-DOS 6 introdujo el formato de archivo INI. Similar a un archivo rc, el archivo por lotes llamado AUTOEXEC.BATejecutaba comandos al iniciar . Ambos archivos se mantuvieron hasta Windows 98SE , que aún se ejecutaba sobre MS-DOS.

Un ejemplo de CONFIG.SYS:

DOS = ALTO, DISPOSITIVO UMB = C:\DOS\HIMEM.SYS DISPOSITIVO = C:\DOS\EMM386.EXE DISPOSITIVO RAM ALTO = C:\DOS\ANSI.SYS ARCHIVOS = 30 SHELL = C:\DOS\COMMAND.COM C:\DOS /E:512 /P

Las aplicaciones de DOS utilizaban una gran variedad de archivos de configuración individuales, la mayoría de ellos binarios, propietarios y sin documentar, y no existían convenciones ni formatos comunes.

Windows

La aplicación REGEDIT que se utiliza para editar los datos del Registro de Windows.

Los primeros sistemas operativos Windows utilizaban ampliamente archivos INI de texto plano, que servían como mecanismo principal para configurar el sistema operativo y las aplicaciones. [ 10 ] Las API para leer y escribir en estos archivos aún existen en Windows, pero después de 1993, Microsoft comenzó a desalentar a los desarrolladores del uso de archivos INI y a orientarlos hacia el almacenamiento de la configuración en el registro , una base de datos jerárquica para almacenar la configuración, que se introdujo con Windows NT . Los sistemas posteriores utilizan XML y otros formatos en lugar del registro.

macOS

La lista de propiedades es el formato de archivo de configuración estándar en macOS (así como en iOS , NeXTSTEP , GNUstep y aplicaciones Cocoa ). Utiliza la extensión de archivo.plist .

IBM OS/2

El sistema operativo OS/2 de IBM utiliza un formato binario, también con la extensión .INI, pero difiere de las versiones de Windows. Contiene una lista de listas de pares clave-valor sin tipo. [ 11 ] Dos archivos controlan la configuración global del sistema: OS2.INI y OS2SYS.INI. Los desarrolladores de aplicaciones pueden elegir si utilizarlos o crear un archivo específico para sus aplicaciones.

Sistemas operativos HarmonyOS y OpenHarmony

Los sistemas operativos basados ​​en HarmonyOS y OpenHarmony utilizan archivos de configuración JSON, denominados config.json. El IDE de la plataforma , DevEco Studio , proporciona métodos para editar config.json. [ 12 ]

Véase también

  • .properties , extensión de archivo para archivos de configuración utilizada principalmente en Java.
  • HOCON , un superconjunto de .properties y JSON
  • Comandos de ejecución , origen histórico del sufijo "rc" para los scripts de inicio.

Referencias

  1. TOML , TOML, 15/01/2023 , consultado el 15/01/2023
  2. "El formato de intercambio de datos JSON (JavaScript Object Notation)" .
  3. "Especificación TOML" .
  4. "Definición formal de la gramática UCL · Problema n.° 231 · vstakhov/libucl" . GitHub .
  5. "Índice de especificaciones YAML™" .
  6. "Lenguaje de marcado extensible (XML) 1.0 (Quinta edición)" .
  7. https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default . Archivado el 3 de agosto de 2017 en Wayback Machine
  8. http://opensource.apple.com/source/apache/apache-769/httpd.conf . Archivado el 1 de agosto de 2020 en Wayback Machine
  9. "archivo rc" . Catb.org . Consultado el 29 de febrero de 2012 .
  10. Microsoft: Kit de recursos para estaciones de trabajo Windows NT .
  11. ^ Los archivos INI de OS/2 por James J. Weinkam.
  12. Evans, Melissa. "HarmonyOS (Hongmeng) — config.json" . Mo4Tech . Mo4Tech . Consultado el 24 de marzo de 2024 .