En informática , los archivos de configuración (comúnmente conocidos simplemente como archivos de configuración ) son archivos que se utilizan para configurar los parámetros y configuraciones iniciales de algunos programas o aplicaciones informáticas , procesos del servidor y configuraciones del 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 del sistema creen y modifiquen archivos a mano usando un editor de texto, lo cual es posible porque muchos son archivos de texto sin formato 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 informáticos sólo leen sus archivos de configuración al inicio . Otros revisan periódicamente los archivos de configuración en busca de 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 existen estándares definitivos ni convenciones sólidas.
En los sistemas operativos tipo Unix existen muchos formatos diferentes de archivos de configuración, y cada aplicación o servicio tiene potencialmente un formato único, pero existe una fuerte tradición de que estén en texto sin formato editable por humanos, y se utiliza un formato simple de par clave-valor . común. Las extensiones de nombre de archivo de .cnf
, .conf
, .cfg
o se utilizan a menudo .cf
..ini
Casi todos los formatos permiten comentarios , en cuyo caso, las configuraciones individuales se pueden desactivar anteponiendo el carácter de comentario . A menudo, los archivos de configuración predeterminados contienen documentación interna extensa en forma de comentarios [1] [2] y los archivos man también se suelen utilizar 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 de puntos ", un archivo o directorio en el directorio de inicio con el prefijo de un punto , que en Unix oculta el archivo o directorio de una lista casual. Dado que esto causa contaminación, las aplicaciones de usuario más nuevas generalmente crean su propia carpeta en el .config
directorio, un subdirectorio estandarizado del directorio de inicio.
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, [3] normalmente usando el nombre del programa y luego un (.)rc
sufijo " ", por ejemplo, " .xinitrc
", " .vimrc
", " .bashrc
", " xsane.rc
". Consulte ejecutar comandos para obtener más detalles.
Por el contrario, AIX de IBM utiliza una base de datos Object Data Manager (ODM) para almacenar gran parte de la configuración de su sistema.
El propio MS-DOS se basó principalmente en un solo archivo de configuración, CONFIG.SYS
. Este era un archivo de texto plano con pares clave-valor simples (p. ej. DEVICEHIGH=C:\DOS\ANSI.SYS
) hasta MS-DOS 6, que introdujo un formato de estilo de archivo INI. También había un archivo por lotes de texto sin formato estándar llamado AUTOEXEC.BAT
que ejecutaba una serie de comandos en el arranque . Ambos archivos se conservaron hasta Windows 98SE , que todavía se ejecutaba sobre MS-DOS.
Un ejemplo de CONFIG.SYS para MS-DOS 5:
DOS = ALTO,UMBDISPOSITIVO = C:\DOS\HIMEM.SYSDISPOSITIVO = C:\DOS\EMM386.EXE RAMDISPOSITIVO ALTO = C:\DOS\ANSI.SYSARCHIVOS = 30SHELL = C:\DOS\COMMAND.COM C:\DOS /E:512 /P
Las aplicaciones de DOS utilizaban una amplia variedad de archivos de configuración individuales, la mayoría de ellos binarios, propietarios e indocumentados, y no existían convenciones ni formatos comunes. [ cita necesaria ]
La primera familia de sistemas operativos Microsoft Windows utilizaba en gran medida archivos INI de texto plano (de "inicialización"). Estos sirvieron como mecanismo principal para configurar el sistema operativo y las características de la aplicación. [4] Las API para leer y escribir desde estos todavía existen en Windows, pero después de 1993, Microsoft comenzó a alejar a los desarrolladores del uso de archivos INI y a almacenar configuraciones en el Registro de Windows , una base de datos jerárquica para almacenar configuraciones, que se introdujo ese año con Windows NT .
La Lista de propiedades es el formato de archivo de configuración estándar en macOS (así como en las aplicaciones iOS , NeXTSTEP , GNUstep y Cocoa ). Utiliza la extensión de nombre de archivo .plist
.
OS/2 de IBM utiliza 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. [5] Dos archivos controlan la configuración de todo el sistema: OS2.INI y OS2SYS.INI. Los desarrolladores de aplicaciones pueden elegir si utilizarlas o crear un archivo específico para sus aplicaciones.
Los sistemas operativos basados en HarmonyOS y OpenHarmony utilizan el archivo de configuración “config.json” en el directorio raíz de cada aplicación HAP . Contiene tres módulos como app
, deviceConfig
y Module
. El config.json
archivo se adhiere al formato de archivo JSON, donde cada entrada comprende un atributo y su valor correspondiente. La secuencia de valores de atributos es arbitraria, pero cada atributo debe ser único y no repetitivo. El valor asignado a cada atributo se alinea con los tipos de datos fundamentales de JSON . DevEco Studio de HarmonyOS proporciona dos métodos de edición config.json
: la vista de edición de código y la vista de edición visual. El objeto "app" contiene los detalles de configuración universal para la aplicación, como se demuestra en el config.json
archivo de configuración de la aplicación fundamental de HarmonyOS. DeviceConfig
abarca los detalles de configuración para dispositivos específicos, incluidos los predeterminados, teléfono, tableta, PC, TV, automóvil, portátil, liteWearable y smartVision. La configuración bajo la etiqueta predeterminada se aplica a todos los dispositivos. Si existen requisitos únicos para otros dispositivos, es necesario configurar los ajustes bajo la etiqueta de tipo de dispositivo respectivo. El Module
objeto lleva los detalles de configuración del paquete HAP, los atributos esenciales que cada Habilidad debe definir (como el nombre del paquete, el nombre de la clase, el tipo y las capacidades proporcionadas por la Habilidad), junto con los permisos que la aplicación necesita para acceder al sistema u otras secciones protegidas. de la aplicación. Indica MainAbility
el nombre de la capacidad de entrada del paquete HAP. [6]
Existe una serie de formatos de serialización de uso general que pueden representar estructuras de datos complejas en un formato fácilmente almacenado y que a menudo se utilizan como base para archivos de configuración, particularmente en bibliotecas y aplicaciones de software de código abierto y neutrales para la plataforma . 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 todos los lenguajes de programación.
Los ejemplos incluyen: JSON , XML y YAML .
true
será un booleano mientras que "true"
será una cadena ), mientras que en los lenguajes que no permiten la escritura de sintaxis se basará en la semántica (por ejemplo, true
y "true"
ambos serán reconocibles como booleanos). , while microwave
y "microwave"
serán reconocibles como cadenas (esto requerirá que el analizador tenga algunas expectativas previas sobre el tipo de un campo en particular, pero este suele ser el caso en los archivos de configuración).