Archivo de configuración
# Archivo de configuración

En informática, los archivos de configuración son archivos utilizados para configurar los argumentos (parámetros) y la configuración inicial de algunos programas informáticos. Se usan para aplicaciones de usuario, procesos de servidor y configuraciones de sistema operativo.

Algunas aplicaciones proporcionan herramientas para crear, modificar y verificar la sintaxis de sus archivos de configuración; estos a veces tienen interfaces gráficas. Para otros programas, se puede esperar que los administradores de sistemas creen y modifiquen archivos a mano usando un editor de texto; posible porque muchos son textos simples editables por humanos. Para los procesos del servidor y la configuración del sistema operativo, a menudo no existe una herramienta estándar, pero los sistemas operativos pueden proporcionar sus propias interfaces gráficas como YaST o debconf.

Algunos programas de computadora solo leen sus archivos de configuración al inicio. Otros revisan periódicamente los archivos de configuración para ver los 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 un archivo de configuración. No hay estándares definitivos ni convenciones fuertes.

## Archivos de configuración y Sistemas Operativos

### Unix y sistemas operativos similares a Unix

En los sistemas operativos tipo Unix, existen muchos formatos de archivo de configuración diferentes, con cada aplicación o servicio que potencialmente tiene un formato único, pero existe una fuerte tradición de que se trata de texto plano editable por humanos, y se usa un formato simple de pares clave-valor común. Las extensiones de nombre de archivo de .cnf, .conf, .cfg, .cf o también .ini y similares se utilizan a menudo.

Casi todos los formatos permiten comentarios, en cuyo caso, las configuraciones individuales pueden desactivarse anteponiendo el carácter de comentario. A menudo, los archivos de configuración predeterminados contienen una amplia documentación interna en forma de comentarios y los archivos Man también se utilizan generalmente para documentar el formato y las opciones disponibles.

El software de todo el sistema a menudo usa archivos de configuración almacenados en /etc, mientras que las aplicaciones de usuario a menudo usan un "archivo-punto": un archivo o directorio en el directorio inicial con un punto, que en Unix oculta el archivo o directorio de una lista informal.

Algunos archivos de configuración ejecutan un conjunto de comandos al inicio. Una convención común es que dichos archivos tengan "rc" en su nombre, generalmente usando el nombre del programa y luego un sufijo "(.)rc" p. ej. ".xinitrc", ".vimrc", ".bashrc", "xsane.rc".

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

### MS-DOS

MS-DOS se basó principalmente en un solo archivo de configuración, CONFIG.SYS. Se trata de un archivo de texto sin formato con pares de valores-clave simples (por ejemplo, DEVICEHIGH=C:\DOS\ANSI.SYS) hasta MS-DOS 6, que introdujo un formato de estilo de archivo INI. También había un archivo batch estándar de texto sin formato llamado AUTOEXEC.BAT que ejecutaba una serie de comandos en el arranque. Ambos archivos se conservaron hasta Windows 98SE, que aún se ejecutaba en MS-DOS.

Un ejemplo CONFIG.SYS para MS-DOS 5:

Las aplicaciones de DOS usaban una amplia variedad de archivos de configuración individuales, la mayoría de ellos binarios, propietarios e indocumentados, y no había convenciones o formatos comunes.

### Microsoft Windows

La familia de sistemas operativos de Microsoft Windows utilizaba archivos INI de texto sin formato (para "inicialización"). Estos sirvieron como el mecanismo principal para configurar el sistema operativo y las características de la aplicación. Las API para leer y escribir aún existen en Windows, pero después de 1993, Microsoft comenzó a alejar a los desarrolladores del uso de archivos INI y al almacenamiento de configuraciones en el Registro de Windows, una base de datos jerárquica para almacenar las configuraciones, que se introdujo ese año con Windows NT.

### Mac OS X

El archivo de la lista de propiedades es el formato de archivo de configuración estándar en Mac OS X (así como en las aplicaciones iOS, NeXTSTEP, GNUstep y Cocoa). Los archivos de lista de propiedades usan la extensión .plist del nombre de archivo, y por lo tanto, a menudo se los denomina archivos p-list.

### IBM OS/2

El OS/2 de IBM usa un formato binario, también con un sufijo .INI, pero esto difiere de las versiones de Windows. Contiene una lista de listas de pares clave-valor sin tipo. Dos archivos controlan la configuración de todo el sistema: OS2.INI y OS2SYS.INI. Los desarrolladores de aplicaciones pueden elegir si usarlos o crear un archivo específico para sus aplicaciones.

## Formatos de serialización

Existen varios formatos de serialización de uso general que pueden representar estructuras de datos complejas en un formato de almacenamiento fácil, y estos se utilizan a menudo como base para archivos de configuración, particularmente en bibliotecas y aplicaciones de software de código abierto y multiplataforma. Las especificaciones que describen estos formatos se ponen a disposición del público de forma rutinaria, lo que aumenta la disponibilidad de analizadores y emisores en los lenguajes de programación.

Los ejemplos incluyen: XML, YAML y JSON.

