stringtranslate.com

Archivo de configuración

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.

Se está editando un archivo de configuración para GNU GRUB . Los comentarios (las líneas que comienzan con #) se utilizan como documentación y como una forma de "deshabilitar" la configuración.

Archivos de configuración y sistemas operativos

Sistemas operativos Unix y similares

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 .configdirectorio, 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 (.)rcsufijo " " .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 la configuración del sistema.

MS-DOS

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.BATque 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 ]

Microsoft Windows

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

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 .

macOS

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 .

Sistema operativo IBM/2

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.

Sistemas operativos HarmonyOS y OpenHarmony

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, deviceConfigy Module. El config.jsonarchivo 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.jsonarchivo de configuración de la aplicación fundamental de HarmonyOS. DeviceConfigabarca los detalles de configuración para dispositivos específicos, incluidos predeterminado, teléfono, tableta, PC, TV, automóvil, dispositivo portátil, 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 Moduleobjeto 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. MainAbilityIndica el nombre de la capacidad de entrada del paquete HAP. [6]

Formatos de serialización

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 .

Comparación

Véase también

Referencias

  1. ^ https://opensource.apple.com/source/postfix/postfix-174.2/Postfix.Config/main.cf.default. Archivado el 3 de agosto de 2017 en Wayback Machine.
  2. ^ http://opensource.apple.com/source/apache/apache-769/httpd.conf. Archivado el 1 de agosto de 2020 en Wayback Machine.
  3. ^ "archivo rc". Catb.org . Consultado el 29 de febrero de 2012 .
  4. ^ Microsoft: Kit de recursos para estaciones de trabajo Windows NT.
  5. ^ Los archivos INI de OS/2 por James J. Weinkam.
  6. ^ Evans, Melissa. «HarmonyOS (Hongmeng) — config.json». Mo4Tech . Consultado el 24 de marzo de 2024 .
  7. ^ TOML, TOML, 15 de enero de 2023 , consultado el 15 de enero de 2023
  8. ^ La tipificación sintáctica se refiere al uso de la sintaxis para designar tipos de datos . En lenguajes que permiten la tipificación sintáctica, la declaración de tipo estará basada en la sintaxis (por ejemplo, trueserá 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, truey "true"serán reconocibles como booleanos, mientras que microwavey "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).
  9. ^ Las opiniones sobre si la tipificación de sintaxis en los formatos de configuración es una característica buena o mala varían entre los autores: algunos la consideran una desventaja (véase, por ejemplo, ¿Qué está mal con TOML? § Tipificación de sintaxis) y otros la favorecen.
  10. ^ "Acerca de | CUE" . Consultado el 6 de octubre de 2022 .
  11. ^ "El formato de intercambio de datos de notación de objetos JavaScript (JSON)".
  12. ^ "Especificación TOML".
  13. ^ "Definición de gramática formal UCL · Número 231 · vstakhov/libucl". GitHub .
  14. ^ "Índice de especificaciones YAML™".
  15. ^ "Lenguaje de marcado extensible (XML) 1.0 (quinta edición)".