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 las configuraciones iniciales de algunos programas o aplicaciones de computadora , procesos de servidor y configuraciones del sistema operativo .
Algunas aplicaciones proporcionan herramientas para crear, modificar y verificar la sintaxis de sus archivos de configuración; a veces, estos tienen interfaces gráficas. En el caso de otros programas, es posible que los administradores de sistemas tengan que crear y modificar archivos manualmente mediante un editor de texto, lo que es posible porque muchos son archivos de texto sin formato que pueden ser editados por personas. En el caso de los procesos de servidor y las configuraciones 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 iniciarse . Otros comprueban periódicamente los archivos de configuración para comprobar si hay 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 estrictas.
En los sistemas operativos tipo Unix existen muchos formatos de archivos de configuración diferentes, y cada aplicación o servicio puede tener un formato único, pero existe una fuerte tradición de que estén en texto sin formato editable por humanos, y es común un formato de par clave-valor simple . A menudo se utilizan las extensiones de nombre de archivo .cnf
, .conf
, o ..cfg
.cf
.ini
Casi todos los formatos permiten comentarios , en cuyo caso, se pueden desactivar configuraciones individuales 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 utilizan normalmente para documentar el formato y las opciones disponibles.
El software de todo el sistema suele utilizar archivos de configuración almacenados en /etc
, mientras que las aplicaciones de usuario suelen utilizar un " archivo de puntos ": un archivo o directorio en el directorio de inicio precedido por un punto , que en Unix oculta el archivo o directorio de la 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 iniciarse. Una convención común es que dichos archivos tengan " rc
" en su nombre, [3] generalmente se usa el nombre del programa y luego un (.)rc
sufijo " " .xinitrc
, por ejemplo, " .vimrc
", " ", " .bashrc
", " xsane.rc
". Consulte los comandos de ejecución 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 las configuraciones del sistema.
El propio MS-DOS dependía principalmente de un único archivo de configuración, CONFIG.SYS
. Se trataba de un archivo de texto sin formato con pares clave-valor 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 por lotes de texto sin formato estándar llamado AUTOEXEC.BAT
que ejecutaba una serie de comandos al iniciar el sistema . Ambos archivos se mantuvieron 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 DOS utilizaban una amplia variedad de archivos de configuración individuales, la mayoría de ellos binarios, propietarios y no documentados, y no existían convenciones o formatos comunes. [ cita requerida ]
Los primeros sistemas operativos de la familia Microsoft Windows utilizaban en gran medida archivos INI (de "inicialización") en texto plano . Estos servían como mecanismo principal para configurar el sistema operativo y las características de las aplicaciones. [4] Las API para leer y escribir desde estos archivos todavía existen en Windows, pero después de 1993, Microsoft comenzó a alejar a los desarrolladores del uso de archivos INI y a orientarlos hacia el almacenamiento de 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
.
El sistema operativo 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 las configuraciones de todo el sistema: OS2.INI y OS2SYS.INI. Los desarrolladores de aplicaciones pueden elegir si utilizarlos 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 atributo 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 para editar 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 universales 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, wearable, liteWearable y smartVision. Las configuraciones bajo la etiqueta predeterminada se aplican a todos los dispositivos. Si hay requisitos únicos para otros dispositivos, se deben configurar las configuraciones bajo la etiqueta de tipo de dispositivo respectivo. El Module
objeto contiene los detalles de configuración del paquete HAP, los atributos esenciales que cada Ability debe definir (como el nombre del paquete, el nombre de la clase, el tipo y las capacidades proporcionadas por la Ability), junto con los permisos que la aplicación necesita para acceder al sistema u otras secciones protegidas de la aplicación. MainAbility
Indica el nombre de la capacidad de entrada del paquete HAP. [6]
Existen varios formatos de serialización de uso general que pueden representar estructuras de datos complejas en un formato de fácil almacenamiento y que suelen utilizarse como base para archivos de configuración, en particular en aplicaciones y bibliotecas de software de código abierto e independientes de la plataforma . Las especificaciones que describen estos formatos se ponen a disposición del público de forma habitual, 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 lenguajes que no permiten la tipificación sintáctica estará basada en la semántica (por ejemplo, true
y "true"
serán reconocibles como booleanos, mientras que 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).