Menú
Está libre
registrarse
el principal  /  Programas / Qué archivo de configuración. Archivos de configuración

Qué archivo de configuración. Archivos de configuración

El sistema operativo Linux, a diferencia de Windows, no tiene un registro común para almacenar la configuración del sistema, todas las configuraciones se almacenan en archivos de configuración. La mayoría de estos archivos se publican en el / etc / carpeta.

Los ajustes de la mayoría de los programas del sistema y de terceros están en estos archivos, puede ser configuraciones para un servidor de gráficos, administrador de inicio de sesión, servicios del sistema, servidor web, sistemas de inicialización.

Solo la parte de los archivos de configuración se encuentra en otras carpetas, como los archivos de configuración del entorno de trabajo en el directorio de inicio del usuario. Los principiantes son muy importantes para comprender que son responsables de los que u otros archivos de configuración para que, si es necesario, es muy rápido navegar. En este artículo, veremos los principales archivos de configuración de Linux, su ubicación y propósito.

De hecho, no hay archivos de configuración en el propio sistema Linux. Dado que el sistema operativo es solo un conjunto de programas y un kernel, todos estos archivos fueron creados por ciertos programas y lo leen para configurar el comportamiento. La mayoría de los archivos que utilizamos para considerar estándar son el sistema de inicialización u otras utilidades del sistema.

Como dije, la mayoría de los archivos se publican en / etc. El nombre de esta carpeta está descifrado como "etcétera", que de latín significa "y otros" o ", etc.". Primero, veamos el contenido del directorio / etc Linux:

Hay muchos archivos diferentes aquí. Luego consideraremos el nombramiento de muchos de ellos. La lista está ordenada por el alfabeto.

1. / etc / adjtate

Este archivo de configuración es responsable de configurar el formato de tiempo del sistema y leer por el servicio temporizado de Systemd. El tiempo puede representarse en dos opciones: local: la hora de la zona horaria actual y UTC - la hora de Greenwich. Puede cambiar manualmente el valor o usar la utilidad TIMEDATECTL.

2. /etc/bash.bashrc.

Este archivo pertenece al Shell Command Bash. Este no es un archivo completamente de configuración, y el script, su contenido se realiza cuando se inicia la instancia de bash para ajustar la carcasa. De manera similar, los contenidos del archivo ~ / .bashrc para cada usuario.

3. / etc / crontab

6. / etc / grupo

25. / etc / sudoers

/ etc / sudoers es un archivo de configuración. Esta utilidad le permite ejecutar comandos en nombre de otros usuarios, incluso en nombre del superusuario. Pero solo aquellos usuarios que se explican en este archivo pueden usarlo.

26. /etc/sysctl.conf.

Este archivo es responsable de la ejecución. Aquí puede especificar todos los parámetros del subsistema / sys / y se guardarán después de reiniciar.

27. /etc/vconsole.conf.

Este archivo tiene solo un objetivo: configure la codificación, el diseño del teclado y la fuente predeterminada para todas las consolas virtuales que se ejecutan por máquina.

28. /boot/grub/grub.cfg.

Este archivo de configuración de Linux no está en / etc debido a su propósito especial. Contiene todas las configuraciones de carga de arranque, elementos del menú y otros parámetros, por lo que debe ser accesible antes de que se conecte el sistema de archivos raíz.

conclusiones

En este artículo, revisamos los principales archivos de configuración de Linux que están en el / etc / carpeta. Quizás cualquier archivo importante, en su opinión, se pierda, ¡entonces definitivamente le contará de ellos y su propósito en los comentarios!

Perfil de tareas Uso de la línea de comandos: el método está lejos de ser siempre conveniente. Incluso cuando se trabaja con la mayor línea de comandos, el entorno se usa para guardar la configuración para no especificarlos cada vez y para cualquier equipo. Qué hablar de los servicios complejos del sistema cuyas propiedades deben guardarse no de una sesión a una sesión, pero constantemente (incluso cuando se reinicie el sistema). La salida es simple: el perfil debe mantenerse en el archivo, como lo que se crea con el comando "Guardar configuración".

Sin embargo, el enfoque del almacenamiento del perfil en el archivo, en el que el usuario no puede cambiar este archivo está directamente, pero utiliza configuradores "SMART", es conveniente solo en los casos en que las configuraciones son muchas, y el costo de error es pequeño (por ejemplo, al configurar la apariencia del escritorio). En general, es bastante difícil establecer. comportamiento Sistemas basados \u200b\u200ben las propiedades de descripción (con frecuencia implícitas) del hecho de que este sistema debe recibir como resultado. En otras palabras, de la descripción de lo que debería suceder, no siempre es posible concluir automáticamente cómo se debe obtener.

Archivo de configuración.. Un archivo de texto que contiene la configuración de alguna parte del sistema (utilidad, demonio, etc.). Como regla general, se lee al comenzar. Típico para el método de Linux de organización del perfil.

En resumen, si hay archivo de configuración.Debe haber las herramientas de edición para este archivo. Teniendo en cuenta que se implementa un sistema de almacenamiento altamente desarrollado en Linux procesando (Tanto los datos manuales como los datos automáticos) en el formulario de texto, para inventar algún tipo de formato nuevo es como reinventar la bicicleta. Además, es el texto que se divide en cadenas y las palabras se adapta mejor cuando hay una división clara del perfil en los objetos de control y sus propiedades (por ejemplo, la configuración de algún demonio y los valores de estas configuraciones). Además, los editores de texto Linux se cancelan con los textos estructurados: VI, EMACS, etc.

[Correo electrónico protegido]: ~ $ CAT .viMRC SO $ VIMRUNTEME / VIMRC_EJAMPLE.VIM "ALGUNOS MAPPINGS MAP: ¡MUCHACHO! ^ MAP! ^ O: MUCHITO! ^ M" TUNE SUPERIOR AJUSTE CONFIGURARSHIDH \u003d 2 TABSTOP \u003d 8 HISTORIE \u003d 200 VIMINFO \u003d "50 SET MAILMODE ShowMatch Showcmd Ruler Modeline Set autoindent Ignorecast SmartCase Set NohlSearch NoincSearch Set DIR \u003d / VAR / TMP SET WILDMODE \u003d LISTA: Lista más larga, Full Set WildMenu "Sintaxis para colorear en Colorscheme Desierto Ejemplo 12.2. Editor de ajustes VIM.

Eso es lo que parece archivo de configuración. Para VIM, escrito por Methodius sobre la base del archivo tomado de Gurevich. Es fácil notar que el archivo consta de comandos de línea de comandos VI Línea de comandos con los comentarios (a diferencia de la mayoría de las utilidades de Linux, en los comentarios de VI comienzan en ""). Símbolos "^ o" y "^ M" - Estos son los caracteres de control correspondientes (insertado en un archivo de texto usando "^ v", consulte la conferencia 9). Tal archivo de configuración. Fácil de entender y cambiar.

Como ya se ha visto, el conjunto de variables de entorno es un perfil especial para el cual todos los programas lanzados son sensibles, esta es su dignidad. Las variables circundantes se especifican en el script de comando, que también se puede considerar como archivo de configuración.). Por ejemplo, en muchas distribuciones utilizadas. archivo de configuración. .i18n para configurar características del idioma del teclado, lenguaje de salida del mensaje, etc. 2 La designación "I18N" proviene de la palabra "internacionalización", en la que 20 letras, es decir, "I", "N" y 18 letras entre ellos. :

[Correo electrónico protegido]: ~ $ gato .i18n lang \u003d ru_en.koi8-r Idioma \u003d ru_en.koi8-r sysfontacm \u003d koi8-r sysfontacm \u003d koi8-r sysfont \u003d unicyr_8x16 diccionario \u003d ruso mpage \u003d "- ckoi8-r" exportacion diccionario Mapa Ejemplo 12.3. Archivo de configuración de características de idioma

Sin embargo, para almacenar la configuración de un programa específico (no necesitado por todo lo demás) rodeado, no la solución más exitosa: Sintaxis que especifica la variable de entorno, demasiado simple ( present_name \u003d valor), y las variables se vuelven demasiado, por lo que al verlo es difícil seleccionar cuál es la configuración del grupo. Si intenta empacar todas las configuraciones al valor. uno Variable, este valor será difícil, y toda la ventaja de un formato de texto llegará a NO. Por ejemplo, estándar archivo de configuración. LS Utilidades (más precisamente, solo sus preferencias de color) - / etc / dir_colors (se puede reemplazar con un archivo personal ~ / .dir_colors) tarda cerca de cien líneas junto con los comentarios. El comando LS no usa este archivo, pero la utilidad de DIRCOLORS está creada por la variable LS_COLORS, cuyo valor es la cadena de 600 caracteres sin ningún comentario.

Si el perfil es demasiado grande, manténgalo en uno. archivo de configuración - Entonces, para entregar al usuario un placer dudoso para desmontar este archivo por completo, si es necesario, hacer un cambio mínimo. Métodos de combatir algo incómodo. En particular, el mecanismo ".D" ya conocido en la conferencia: el archivo se divide en varios independiente Archivos entre sí para que sea solo uno de los archivos para editar, y el programa lee todo durante el uso propio.

Otra forma se basa en lo que cambioQue el usuario contribuye al perfil, como regla general, significativamente menor que el volumen de todo el perfil. Por lo tanto, puede ser ventajoso almacenar todas las configuraciones predeterminadas en algún archivo, lo que no es necesario, y el archivo de configuración de usuario se usa como estaba "en la parte superior", cambiando el perfil según ellos. después Cómo se establece el perfil predeterminado. Una ventaja adicional de este método es que el usuario siempre se puede llevar al archivo "Big" para averiguar cómo se realiza esta u otra configuración. Por ejemplo, la utilidad UPDFSTAB que cambia el contenido / etc / fstab cuando o elimina un portador de disco extraíble (por ejemplo, un disco láser), lee los datos de archivo de configuración /etc/updfstab.conf. Este archivo en sí consiste en la línea singular: incluye /etc/Updfstab.conf.default.Lo que lleva al archivo de lectura con la configuración predeterminada, donde se establece una forma de trabajar con muchos dispositivos de sistema extraíbles. Si el administrador necesita cambiar de alguna manera el comportamiento de UPDFSTAB con respecto a un dispositivo específico, copia el grupo correspondiente de configuración de updfstab.conf.default en updfstab.conf después Las gotas incluyen incluir .. Y los corrige. El hecho de que estos grupos de configuración se leen dos veces, no juega un papel especial: leer archivos cortos se realiza rápidamente.

Finalmente, la tercera forma de hacer. archivo de configuración. legible - fraccionamiento Perfil Cuando todas las configuraciones se dividen en grupos, cada grupo se le da su propio nombre y la sintaxis archivo de configuración Está diseñado para que los límites de los grupos difieran bien al ver. En esencia, este método es el antepasado del esquema ".D", donde el grupo corresponde a un archivo separado, pero la situación no se siente incómoda cuando los archivos son inconvenientes (por ejemplo, si los grupos no son totalmente independientes, por lo tanto, Puede ser necesario editarlos a la vez). Archivo de configuración. Las utilidades de marcación WVDIAL, por ejemplo, particionadas por destinatario (proveedor) más una sección separada "predeterminada". Las secciones en sí están separadas entre sí enclavadas encerradas en corchetes:

[Correo electrónico protegido]: ~\u003e gato .wvdialrc módem \u003d / dev / módem baudio \u003d 115200 init1 \u003d atz init2 \u003d atq0 l0 m4 v1 e1 s0 \u003d 0 & c1 y d2 + fclass \u003d 0 & c1 & d2 + fclass \u003d 0 Auto DNS \u003d en el tipo de módem \u003d Teléfono de módem analógico \u003d 0123456 Nombre de usuario \u003d Contraseña de bombero \u003d ¡Fuego! ¡Fuego! Tonline \u003d Teléfono verdadero \u003d 0246813 username \u003d contraseña de COP-120 \u003d DIRECCIÓN DE FUERZA DE GIMMETHEGUN \u003d 10.0.0.120 Ejemplo 12.4. Archivo de configuración particionado

La utilidad WVDIAL tiene una inteligencia artificial altamente desarrollada: se decime de manera independiente, qué tipo de identificación se utiliza en el servidor. Por ejemplo, "desde el otro lado" puede ser el terminal de Linux, que se requiere para ingresar primero un nombre de entrada y contraseña ordinarios, debe obtener una línea de comandos, ejecute servidor Demonio de la red pppd.Y solo después de eso, ejecute PPPD en su propia máquina. Otra variante: pppd. El servidor ya se está ejecutando, y la configuración de "nombre de usuario" y "contraseña" significa la información de identificación del protocolo de CHAP utilizada pppd.. Todo esto y muchos WVDIAL pueden adivinar, así como WVDIALCONF, sabía cómo determinar qué dispositivo es un módem.

Sin embargo, en cualquier inteligencia artificial hay una situación de vida incomprensible. En uno de los servidores (sección "Dialer HotSpace") además Hay un programa con las encarnaciones de la inteligencia artificial, que además Tratando de determinar de qué manera quiero identificar eso llamado. Debido a que estas dos cabinas, Conclusas, todos están esperando a cualquier persona, mientras que alguien no se muestra a sí mismo ... Ayuda a la configuración de Tonline, lo que hace que WVDIAL utilice inmediatamente el protocolo PPP, al que el servidor, pensando "¡AH, PPP!", Lanza con alivio pppd.. La pregunta sigue siendo: ¿Por qué este ajuste útil no se refleja en la documentación (la encontré en los textos de origen del programa Gurevich)? ¿Es porque el par de WVDIALCONF-WVDIAL no parece hacer todo para el usuario, pero se convirtió en que la documentación del usuario para los desarrolladores de este programa no es importante?

La idea de configuración predeterminada se puede desarrollar. Resulta que es conveniente cuando la descripción de configuración no se coloca en el manual, sino directamente en archivo de configuración. En forma de comentarios. Luego, al cambiar esta configuración, el usuario ve inmediatamente que representa, mientras que desaparece la necesidad de encontrar primero una línea en el archivo, y luego buscarlo en el manual. Tal forma común de registro se llama autocontrol Perfil. Por ejemplo, el archivo /etc/man.conf, administrando el trabajo del comando del hombre, está decorado en un estilo modificado:

[Correo electrónico protegido]: ~ $ CAT /ETC/MAN.CONF. . . # Nocache mantiene al hombre de la creación de páginas de caché ("Páginas de gato") # (generalmente una habilita / deshabilita la creación de la página de gato por # creando / eliminando el directorio teswood mkdir) # # nockache # el comando "man -a xyzzy" mostrará a todos los hombres Páginas para Xyzzy. # Cuando el hombre definido CMP intentará evitar mostrar el mismo texto # dos veces. (Pero las páginas comprimidas se comparan desigual.) # CMP / USR / bin / CMP -s. . . Ejemplo 12.5. Archivo de configuración autocontrol

Metodio, tal vez no entendería de inmediato, por qué el MAN MANDAN DE UTILIZAR LA UTILIDAD DE CMP, sin embargo, en los comentarios explicativos, está escrito: cuando debe mostrar varios manuales a la vez, están previamente comparados, y solo son inconsistentes. mostrado.

Si avanza aún más, puede crear varios archivos diferentes con ejemplos de configuraciones para que el usuario pueda tomar uno de ellos y llevar al estado de ellos. Es tal cosa: una configuración de demostración del Metodio y se enciende como configuración predeterminada en su .viMRC (en la primera línea). Por cierto, de hecho, el perfil de VIM es bastante complicado, pero la mayoría de sus configuraciones predeterminadas se encuentran en varios archivos de directorios / USR / Compartir / empuje. - El esquema de forma ".d / .d", donde los archivos de perfil correspondientes a los subgrupos de configuración están en subdirectorios correspondientes a grupos. La inclusión de un archivo de configuración específico puede ocurrir implícitamente: por ejemplo, el desierto de la línea Colorscheme de .VIMRC conduce a la lectura / USR / Compartir / vim / colores / desierto. Empuje..

Archivos de configuración puede tener una sintaxis bastante intrincada si cumple con las estructuras de datos complejas (como, por ejemplo, configurar IRC Client IRSSI) o contener fondos adicionales autocontrol (Por ejemplo, el archivo de configuración de texto de texto de Lynx Text WWW-Browser no está bien documentado, sino que también está marcado las mismas herramientas que se utilizan en el propio navegador para representar HTML).

Archivo de configuración.

Archivo de configuración.

El archivo de configuración es un archivo que describe:
- Estructura del sistema de software; y / o
- Parámetros auxiliares que definen su configuración específica.
Por lo general, el archivo de configuración se implementa como un archivo de texto, que es interpretado por el sistema de software.

Ver también: Archivos

Diccionario Financiero Finams.


Mire lo que es un "archivo de configuración" en otros diccionarios:

    archivo de configuración. - Archivo binario o de texto que contiene información que determina el comportamiento de la aplicación, computadora o dispositivo de red. Networks Network Computing en File de configuración ... Directorio Técnico Traductor

    O un archivo de configuración se utiliza para almacenar la configuración del programa de computadora, incluidos los sistemas operativos. Como regla general, los archivos de configuración tienen un formato de texto y se pueden leer y editar por el usuario del programa. ... ... Wikipedia

    El archivo de configuración o el archivo de configuración se utiliza para almacenar la configuración del programa de computadora, incluidos los sistemas operativos. Como regla general, los archivos de configuración tienen un formato de texto y se pueden leer y editar ... ... Wikipedia

    Tipo de sistema de archivos, desarrollador de cifrado Valiente Wough Operating System Linux, FreeBSD, Mac OS Últimas versiones 1.7.4 (5 de septiembre de 2010) Licencia G ... Wikipedia

    Página de estadísticas del servidor ... Wikipedia

    Este artículo o sección necesita reciclaje. Por favor, mejore el artículo de acuerdo con las reglas de escritura de los artículos. Descriptor ... Wikipedia

    Btrieve Software Product (DBMS), para organizar bases de datos transaccionales (o "navegación"). Basado en el método de la organización de datos ISAM, que proporciona una alta velocidad de búsqueda y extracción de datos. Hubo varias versiones ... ... Wikipedia

    Opera Browser Screenshot Opera 9.6 Tipo de navegador Desarrollador Opera Software ASA Escrito en ... Wikipedia

    Este término también tiene otros valores, consulte PHP (valores). PHP SEMANTICS: Multiparadigre ... Wikipedia

BB RPMOSHN URREULPN BTHYFELFHTOP-IBLEYOUNDS RBTBNEFTPCH HUFTSPUFCH PVTBFFUESH L ZBKMH Notas H FPN TSE LBFBMZA, YUFP I Genérico. BtyFelfhtop OebChiCights RBTBNEPLES OBPHDSFUS H / USR / SRC / SYS / CONF / Notes.

dytelfyChb incluye UFBMB DPUFHROPK DMS YURPMSHPPCHWISH H LPBYZCHTBGYPO-ZBKMBBY. Rpchpmsef chlmayubfsh h felheyk lpzhtbgypostep zbkm uptaynpe dthzpzp zbkkmb, secador de pelo ubnshchenn hortpebs rtpguuu sheyueyas oeevpmshyy yyneyukeyak ht uhweyufchheyk zhbkm. Ottinet, Eumy Chbn Opepvipdinp DPVBchyfs Chuzp Oletulpmshlp DPRPMAFEMFEMFEEMSKI PRGYK YMY DTBCHTPH H SDTP GENÉRICO, FP Chbn RTidadfus Rapdabychbfsh FPMSLP TBYEGH L ZHBKMH GENÉRICO:

INCLUYE GENERICO IDENT MYKERNEL Opciones IPFIREWALL OPCIONES DICIMIENTOS OPCIONES DIAMIENTO IPFIREWALL_DEFAULT_TO_ACEPT Opciones IPDIVERT

vPMSHOFFCHP BDNYUYUFTBFTPH PHEOSF ъbyuufemfemchoske urpupvpn - Obryuboyen lpzhtbgypopzp zbkmb uhhss \u003e\u003e: chbmizhtbgycoshk zbkm vkhdaf pfpvtbfsbf fpmslp yenicoyyayays pfpuifemshop genérico. Bpume pvopchmeyk yupddoppp lpdb, ndpcpufufy zhhlhhypovoschoschop, rsschycheus h genérico, vhdhf dpvbchmesh ч чч блый хп хф дп дхчтбга, emuy fpmslp oe rtrsfufhbfbfshpnh Dytelfucks NoOoptions yy Nodevice. Dbme hfpn tinceMe prieschbefus firpchpk lpzhtbhtbgeposhk zbkm, ozp prongy hufpkufchb, b flter yi tpmy.

rtynyubya:

dMS OHPTLY SDTB UP CHENY CPNPSSHOP PRGSNY (PVSHUOP YURPMSHEFUS DMS FEUFTPECHS), CHSCHPMEF PF INEA Uphrpmshpchbfems (raíz) Umvedhaech Lfbodh:

# CD / USR / SRC / SYS / I386./ Conf && hacer pelusa

lFP RTYNET LPZHTBGYPOPSP ZBKMB SDTB genéricos a TBMIOSPY DPRMOFMFEMSKNY LPNNEFBTYSNY, LPFPTCTP NPZHF Rpobdpvyfsus DMS Suopugy. LFPF RTynet DPMTSEO Upgrbdbfs en Chbehak Lprikek h / usr / src / sys / I386./ Conf / genérico RTBLFYYUELE RPMOPUFSH.

Máquina I386.

bFP BINTIFELF CHOPSTICK. CIS DPMTSOB VSSFS PDOPK YEADKHEY: AMD64, I386, IA64, PC98, PowerPC, YM SPARC64.

CPU I486_CPU CPU I586_CPU CPU I686_CPU

lFB PRGS HLBSCHBEF FIR RTPGUUPTB, LPFTSCHK YURPMSHHEFUSH H CHBEKHEK UYUFEN. h LPOZHYZHTBGYPOOPN ZHBKME NPTSEF VSCHFSH OEULPMSHLP CHIPTSDEOYK PRGYY FPK (OBRTYNET, EUMY BL OE HCHETEOSCH, LBLPK dv FYRPCH RTPGEUUPTB OEPVIPDYNP YURPMSHPCHBFSH - I586_CPU YMY I686_CPU), OP LCA UPVUFCHEOOPZP SDTB MHYUYE HLBSCHCHBFSH FPMSHLP FPF ARY RTPGEUUPTB, LPFPTSCHK HUFBOPCHMEO H CHBYEK UYUFENE. Eumy iglesia htetekets, lbpk abeto opviPdinp yurpmshpchbfsh chbn, chist npsefe chpurpmshpchbfshus zhbkmpn /var/run/dmesg.boot, Üfpvysch hatchfsh rtpfplpm бабзтхлю уйфенст.

Identificó genérico.

lfpf rbtbneft preddemsef neflch \u003e\u003e sdtb. Opepvipdinp, ufpvch uppüchfüchpchbmbmbbbmbmbmbb combating lpgkmb lpozhtbgy sdtb, ottinet Mykernel. , EMUM CHRC UFTPCHBMY YOFTHLGYSN H RT'Stshdheia Rtynetby. OBYuEOYE, LPFPTPE BL RTYUCHPYFE RBTBNEFTH ident VHDEF CHSCHCHPDYFSHUS H RTPGEUUE BZTHLY, RPFPNH RPMEOP DBCHBFSH OPCHSCHN SDTBN DTHZYE YNEOB FPZP LCA, el PD YUFPVSCH PFMYYUBFSH YEE PVSCHYUOPZP SDTB (OBRTYNET, EUMY BL IPFYFE UPVTBFSH LURETYNEOFBMSHOPE RAS).

# Para compilar estáticamente en el cableado del dispositivo instad de /boot/device.hints #hints "genric.hints" # Places predeterminados para buscar dispositivos. Opciones Schedu_ule # Ule Scheduler

rmbytpchel rp hnpmyuba pe freeBSD. PUFBCHF IFK PRGA.

Opciones de Preferencia # Habilitar Kernel Thread Preemption

rpchpmsf chistripthyptyptypefectural OIFSN SDTB CHSCHPHEOSFSFCHTEOFRPH, Obihydsayius H Tserin KHSCHPMOIS. BFB PRGS NPCCF TBLFYUFSUFS UJFENSKU PPP PFAKAYA LI CHEYYOIN CHPADEKUFCHYSN, OPPETNET, la acreditación UUFEF OUTCOOKS MBFOFOPUFY OUFEK, PVTBVBFSHCHBEI RTTTTSCHCHUKS.

Opciones inet # interconexión

rapdabyzlb Uphonchi ChPNPCopouffek. PUFBCHFA OPH PRGA CHLMAYUOOPK, DBCE EMUY Chist OE RBSUTFE RPDLMAYUBFSHUS L UEFY. VPMSHOFCHP RTPZTBNN FTEVHAF, IPFS TBVPFBM IPFS VSHN YOPETHKUK PVTBFFOPK Academy (Loopback) (F.E. Uphtheck Upheck Upheck upeeoye Chokhft Chchezp RL), FBL YUFP BFB PRGS H RTTYOGIE SCHAMSEFUS PVSBFEMSHOPK.

OPCIONES INET6 # PROTOCOLOS DE COMUNICACIONES DE IPV6

cHLMAYUBEF RPDBETSLH LDNNHYLBGYPOOBYA IPv6 RTPFPLPMPMP.

Opciones FFS # BERKELEY FAST Filesystem

cHLMAYUBEF RPDDEZLCH POOPCHOPK ZBBMPC UYUFENZ. OE HDBMSKFE IFH PRGA, EMUY Chist RambiThef Obbztchsbfsus en Zeuflpzp Dyoleb.

Opciones Softupdates # Habilitar el soporte de actualizaciones suaves FFS

lFPF RBTBNFFF CHLMAYUBEF H SDTE FAYOPMPZYA SUAVE ACTUALIZACIONES, LPFPTBS RPCHESTBEF ULPTPUFSH OBBRYUY ACERCA DYULY. OEUNPFFTS ON FP, YUFP BFB FEOPMPGZISES CHLMAYEOB H SDTHE, SCC DMPSOB VSSSFSH CHLMAYEOB DMS PFDEXSKETS DYULPH. RTPUNPFFFFE CHISPPPD LPNBODSHCHY Sophpwesch Poddenimifs, Chlmayuz Wesel Actualizaciones suaves DMS DYULPH CHBESHEK UYUFENZ. Emum Chister HHIDEF RBTBNEST Soft-Actualizaciones, ChBN VKHDEF OPVIPDINP BLFYCHYTPCHBFS HTZP RTTY RPNPEY LPNBODCH (DMS ULEUFCHHEI ZBKMPCHSI UYUFEN) YMY LPNBODSHCHI (DMS y LDC).

Opciones UFS_ACL # Soporte para listas de control de acceso

lFPF RBTBNEFT CHLMAYUBEF H SDTE RPDDEZLCH URREULPCH HORTHBCHMEOISE DPUFHRPN (ACL). PUPPCHCHBEFUS SOBRE YURPMSHAPHBEY TBUTEUPOFEFIE BFFMSHOP, PRIUBOYE CHIST UNPPEEFE OBKFY H TBDEMљ14.12,\u003e. ACL CHLMAYUEOSCH RP HNPMYUBOYA TH OE DPMTSOSCH CHSCHLMAYUBFSHUS B UMHYUBE, EUMY CANT TBOEE YURPMCHPCHBMYUSH EN ZHBKMPHPK UYUFENE, FBL LBL FP HDBMYF URYULY HRTBCHMEOYS DPUFHRPN J YNEOYF AF LBL BEYEEOSCH ZHBKMSCH, OERTEDULBHENSCHN PVTBPN.

Opciones ufs_dirhash # Mejorar el rendimiento en los grandes directorios

bFB PRGS CHLMAYUBF ZHHOLGYPOBMSHopufHOPH, LPFPTBS RPCHESCHYBEF ULPTPUFSH DYUULRCHISCHI PLASTGGYK EN PVMSYY LBFBMBSBI H PVNEO SOBRE YURPMSHAPHBEY DRPPMAFEMSHOPK RBNSFY. DMS VPMSHIPZP UTCHEB YMY TBVPYEK UFBOGI TELPNEEODHEFUS PUFBCHYFS SU CHLMAYUOPET, CHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHCHOTFSHSH DMS UYUFENSH, DMS LPFTPK NME RTYPTFETFOB RBNSFSF, Yuen Ulptpuffs DPUFHRB l Dyulbhtb, OVS.

Opciones MD_ROOT # MD es un dispositivo de raíz potencial

lFPF RBTBNEXT CHLMAYUBEF RAPDABYZLCH YURPMMSHPCHYUS DYOULPCH H RBNSFY DMS LPTECK ZBBMPC UYUFENC.

Opciones NFSCLIENT # Red Files System Opciones del cliente NFSSERVER # Red Files System Server Opciones NFS_ROOT # NFS utilizable como /, requiere NFSClient

uFHECHBS ZHBKMPBCBS UYUFENB. EMUY CHISTE RMBETHEFE NPFYTPCHBFSP TBDEMCH EN ZBKMPCPPZP UTUCHB UNIX (R) TCP / IP, CHIST NPSEFA YULMAYUFSH BFPF RBTBNEXT YA LPBYZCHTBGJPOPPZP ZBKMB SDTB.

Opciones MSDOSFS # MSDOS FILESSTEM

zBCMPCBS UYUFENB MS-DOS (R). Emum Chist Oe UpvitBeufeUSH NPFYTPCHBFS SHPTNBFTPECTS CH DOS TBIDE CSEUFLPZP DYULB H NPNEPODOPTHETHTY, CHIST NPSEFETE ProtePrbopup SBLPNNEFYTPCHBFSHPFF RBTBBNEFT. Opepvipdeschk npdhmsh vkhdaf bchpnbfyueli obbzthzeo, lpdb Chtchchchchchk TB UnpfyThef Tbidem DOS, FBL, LBP LFP Preubop Otobop. LTPNE FPZP, blefmühchoshoscope rpcchpmsef rpmkhyufshd DPUFHR L DOS DYULEFBN VEJ OPEPPIPDINPUFI NPOFIGHTPHBFSH TBNPFTPCHBFSH (TH OE FTEVHEF OBMYIUS MSDOSFS).

Opciones CD9660 # Sistema de archivos ISO 9660

zBBMPCBS UYUFENB ISO DYULPH ISO 9660 DMS LPNRBF. EUMY X CHBU RFU RTYCHPDB CDROM YMY BL VHDEFE MYSH YTEDLB NPOFYTPCHBFSH LPNRBLF-DIJUSHY TIENE DBOOSCHNY, BLPNNEOFYTHKFE FH UFTPLH, FBL LBL OEPVIPDYNSCHK NPDHMIFDYNSCHK NPDHMSH VHDEF BZTHTSEO BCHFPNBFYYUELULY RTY RTCHPN NPOFYTPCHBYYY LPNRBLF-DYULB TIENE DBOOSCHNY. DMS Yurpmshpchbuis Chchlppychi LPNRBF-Dyulph LFB ZBKMPCS UYUFENB OE RPPTEMHEFUS.

Opciones Procfs # Process Filesystem (requiere Pseudofs)

zbbkmpcbs uyufenb rtpgeupch. LFP CHITFHBMSHOBS \u003e\u003e ZHBKMPHBBS UYUFENB NPFUTHENBS C / PROC, LPFPTBS RPCHPMSEF FLBTNESPSAYSN, LLB CHISTBCHBFSH PBN VMSHPTNBGY P Obbrkheeopheby RTPGEUUBI. Yurpmshptoma PROCFS OE FTEVHEFUS, FBL LV LVMSHOFFCHP NPOFTHTHTHNOPHHHTHPHTHPHPHTPHTPSP BDBRFTHBOP DMS TBVPFFS PROCFS: UYUFENB RP KHNPMYUBCH UYUFENH RTPGEUPCH.

Opciones Pseudofs # Pseudo-Filestem Framework

sDTB, LPFPSKHA YURPMSHHEF PROCFS, DPDCSP FBLTCE CHLMAYUBFSH RPDBETSLKH PSEUDOFS,

Opciones Geom_PART_GPT # Tablas de partición GUID. # PCI Ethernet NICS. Dispositivo de # Dec / Intel DC21x4x (Tulip \u003e\u003e) Dispositivo EM # Intel Pro / 1000 Adaptador Gigabit Ethernet Tarjeta Dispositivo ixgb # Intel Pro / 10GBE Ethernet Tarjeta de dispositivo TXP # 3COM 3CR900 (Typhoon \u003e\u003e) Dispositivo VX # 3COM 3C590, 3C595 ( Vórtice \u003e\u003e)

dBCCHEB UPHONCHI LBTF PCI. Blpnneofythkfa ymy hdbmyfe dtbkchb FAI LBTF, LPFPTESK PUHUFUFCHAF HB CHEEK UYUFEN.

# PCI Ethernet NICS que usan el código de controlador de bus MII común. Note: ¡Asegúrese de mantener la línea "Dispositivo MIBUS" para usar estos NICS! Dispositivo MIIBUS # MII Soporte de autobús

rapdablb їZE-MII FTEVHEFUS DMS OELFPFPHATSHI PCI 10/100 ETHERNET LBTF, LPFPTKTCHA YURPMSHAF MII-SUPERFINADO Reteno azul Yyi Tebmighaf Yoofeck Khtbchmeois Retbfühlpn, LPFPTSCHEF IMIFICHTCHEF MII. dPVBChMEOYE dispositivo miibus B LPOZHYZHTBGYPOOSCHK ZHBKM SDTB CHLMAYUBEF RPDDETTSLH UFBODBTFOPZP API miibus J Chuei DTBKCHETPCH PHY, CHLMAYUBS UFBODBTFOSCHK LCA FEI PHY, LPFPTSCHE OE PVTBVBFSCHCHBAFUS UREGYZHYYUEULYN PVTBPN LPOLTEFOSCHN DTBKCHETPN.

Dispositivo BFE # Broadcom BCM440X 10/100 Ethernet dispositivo BGE # Broadcom BCM570XX Gigabit Ethernet dispositivo DC # Dispositivo FXP # Intel EtherExpress PRO / 100B (82557, 82558) Dispositivo LGE # Nivel 1 Lxt1001 Gigabit Ethernet Dispositivo MSK # marvell / syskonnect Yukon II Gigabit Ethernet Dispositivo NGE # NATSEMI DP83820 GIGABIT ETHERNET DISPOSITIVO PCN # AMD AM79C97X PCI 10/100 (Precedente sobre "LNC") Dispositivo Re # Realtek 8139C + / 811/8139C + / 8169 / 8169C / 8110S Dispositivo RL # Realtek 8129/8139 Dispositivo SF # Adaptec AIC-6915 ( STARFIRE \u003e\u003e) Dispositivo SIS # SILICON SISTEMAS INTEGRADOS SIS 900 / SIS 7016 Dispositivo SK # SYSKONNECT SK-984X\u003e SK-982X Dispositivo Ethernet Gigabit Ste # Sundance ST201 (D-Link DFE-550TX) Detalle de dispositivo # Sundance / Tamarack TC9021 Gigabit Ethernet Dispositivo TI # Alteon Networks TIGON I / I / II Gigabit Ethernet dispositivo TL # Texas Instruments Thunderlan Device TX # SMC Etherpower II (83C170 EPIC \u003e\u003e) Dispositivo VGE # a través de VT612X Gigabit Ethernet Dispositivo VR # a través de Rin, Dispositivo de Rhine II WB # Winbond Dispositivo W89C840F Xl # 3com 3c90x (boomerang \u003e\u003e, ciclón \u003e\u003e)

dTBCHEB, LPFPTCHA YURPMMSHAF LPOFTPMMET LUZHEZH MII.

# ISA Ethernet NICS. PCCARD NICS INCLUIDO. Dispositivo CS89X0 NIC # "Dispositivo Ed" Requiere "Dispositivo MIIBUS" Dispositivo ED # NE000, SMC Ultra, 3C503, DS8390 Dispositivo de tarjetas Ex # Intel Etherexpress PRO / 10 y PRO / 10 + EP # ETHERLINK III Basado Tarjetas Fe # Fujitsu MB8696X Dispositivo de tarjetas basadas, es decir # EtherExpress 8/16, 3C507, Starlan 10, etc. Dispositivo LNC # NE2100, NE32-VL LAnce Ethernet Tarjetas de Tarjetas SN # SMC "S 9000 Series de fichas Ethernet Dispositivo XE # Xircom PcCard Ethernet # ISA Dispositivos que utilizan las viejas calzas de ISA #Device LE

dBCCHEB UFEFECHSI LBTF ISA. PooblpnshFushu en ZHBCMP / USR / SRC / SYS / I386./ CONF / NOTAS, IFPWSCH KHOBFSH, LBYEY U U UFEHHEKESK LBTFSH LLBLIN DTBCHUPN RAPDABYCHBAFUS.

# Dispositivo de tarjetas NIC inalámbricas WLAN # 802.11 Soporte

Soporte genérico 802.11. Esta línea es necesaria para redes inalámbricas.

Dispositivo WLAN_WEP # 802.11 Dispositivo de soporte WEP WLAN_CCCMP # 802.11 Dispositivo de soporte CCMP WLAN_TKIP # 802.11 Soporte TKIP

Soporte de criptogo para dispositivos 802.11. Estas líneas son necesarias si tiene la intención de usar el cifrado y los 802.11i protocolos de seguridad.

Dispositivo An # Aironet 4500/4800 802.11 NIC inalámbrico. Dispositivo ATH # ATHEROS PCI / CARDBUS NIC "S ATHTH_HAL # ATHEROS HAL (Capa de acceso de hardware) Dispositivo ATH_RATE_SAMPLE # SAMPLEATE TX Tarife Control para ATH Dispositivo AWI # Baystack 660 y otros Dispositivo WI # WaveN / Thersil / Symbol 802.11 NICS. WL # Older Non 802.11 Wavelan Wireless NIC.

rapdabtzlb tbmiustovabsobsptf lbtf.

# Pseudo Devices Device Loop # Network Loopback

uFBODBTHFPA HUFTPKUFCHP PVTBFOPK Adquisición DMS TCP / IP. CHIST DE EMUM OBBRKHULBEFE TELNET YMY FTP RP PFOPEIA LOCALHOSTHOST (EN QUE 127.0.0.1), FP Upteeoye RTPKDUF YUETE LFP KHUFTPCCHP. Lfpf rbtbneft. Pvsbfemeo .

Dispositivo aleatorio # dispositivo entropy

zEETBFPT UMKHUKHUKOVY BY YUYEM DMS LTYRFPZTBZHYYEULPK OBABFFSHCH.

Dispositivo Ethernet Support

ether Opecez MyShyube, EUMEN XBB EUFS UPHUCHBS LBTFB. Según Chlmayubef, Rapdabtzlch ufbodbtfopp pdb rtpfplpmb ethernet.

Dispositivo sl # kernel resbalón

sL - LFP Rapdablb Slip. Slip Village RTBLFYYYUELE CHSCHFEUEO PPP, LPFTSCHEM MESUYU Shortbikefus, MKHYUYI RPDIPDYM DMS Design Book NPD-NPDPSOFUFEK.

Dispositivo PPP # kernel ppp

rapdablb PPP H SDTE DMS Dial-Up. FBLS Ucheufchef Chetsis PPP, TebmyPhbopzp LLB RTTYMPSEYE, Yurpmshahaeee Tun, RTEDBZBAEEY SPMYEYYUFCHP SPNPCOFUFEK, LLB, Opptinet, Uptue RTY OPVIPIFIFUFY (EKJIYYUY PWBEEOIS L UEFY).

Túnel de paquetes Tun # del dispositivo.

yurpmshhefus rpmshpchbfemshulene rtpztbnnow Pveoureyuyen PPP. PVTBFYFUESH L TBDEM PPP Loise BBB DBMSheeks Yozhptnbgyek.

Dispositivo PTY # PSEUDO-TTYS (TELNET, etc.)

Ruchedp-fetteobm \u003e\u003e ymy imifeed-cover rptf dms chipdb. Yurpmshhephus Chipdseyine Telnet th Rlogin -uhuyusniy, rtympatsoien xterm oelpfptschniy dtkhsen rtympsoisy, flendine lonb emacs.

Dispositivo MD # discos de memoria \u003e\u003e

rEDETEP-KHUFTSPUFCHB DYOULPCH H RBNSFY.

Dispositivo GIF # IPv6 y túneles IPv4

rapdablb fhomemitfucked IPv6 YUETE IPv4, IPv4 YUETE IPv6, IPv4 YUETE IPv4 I IPv6 YUT IPv6. Huftspufchp gif scmsefus Bcfplpyatkhenshn\u003e\u003e, y vkhdaf ukdbchbfs zbkmsk huftpkuffs rp neethe opepvipdins.

Dispositivo Fe # IPv6-TO-IPv4 relevado (traducción)

lFP RUPRUP-HUFTPKUFCHP IBICHBFSHCPF RBLEFSH, LPFPT Esquemas de RPBBRCH YE RETETICTBCHMSEF YI DBENPOH FTBUMSGY IPV4 / IPV6.

# El dispositivo `BPF" habilita el filtro de paquetes de Berkeley. # Sé consciente de la consecuencia administrativa de habilitar esto! # Tenga en cuenta que "BPF" se requiere para DHCP. Dispositivo BPF # Berkeley Packet Filter

zhemshft Rblefpch Berkeley. Lfp rprep-hufpkufchp rpchpmsef reoshpdyfs u uphonzchek yoofhekhecuce h otbangtyuchchku \u003e\u003e (promiscuo) thzzin, h lpfptpn rtechichbfschbhbefus mavpk rblef chitplepchebfemshopk uefy (OptyLenet Ethernet). BFF RBLEFSHCH NPZHF RUSFS-upitboo sobre Dyulya / Ymyi Yumed ADCOBS de RTTY RPNPEY.

rtynyubya:

huftspufchp FBLSTBNPK DMS FPZP, UFPVCH RPMHYUFSH BDTEU РП РП хНПМюБАя Y F.R. Emum Chist YurpmsHefe DCHP, OE HDBMSKFE OBH PRGA.

# Dispositivo de soporte USB uhci # uhci pci-\u003e dispositivo de interfaz USB OHCI # OHCI PCI-\u003e Dispositivo de interfaz USB EHCI # EHCI PCI-\u003e Interfaz USB (USB 2.0) Dispositivo USB # USB bus (requerido) #device udbp # USB doble tubo a granel Ugen interfaz de dispositivos dispositivo dispositivo Uhid # dispositivos de interfaz humana\u003e dispositivo dispositivo UKBD # teclado del dispositivo ulpt # impresora Universidad de Massachusetts # discos / almacenamiento masivo - Requiere scbus y Da dispositivo UMS # ratón dispositivo Ural # Ralink Technology RT2500USB inalámbrica Nics dispositivo Urio # Diamond Rio 500 MP3 reproductor dispositivo uscanner # Escáneres # USB Ethernet, requiere mii aue dispositivo # ADMtek USB Ethernet hacha dispositivo # ASIX Electrónica USB Ethernet CDCE dispositivo # Genérico USB a través de Ethernet señal dispositivo # CATC USB Ethernet Kue # dispositivo de Kawasaki LSI USB Ethernet rue dispositivo # RealTek RTL8150 USB Ethernet Intel (R) Pentium (R) Pro NME RPLOYA RPCHPMSEF YURPMSHPCHBFSH PP 64 Zyzbvbkf Pretgfychopk RBNSFi. FreeBSD Ynef Rapdablch LFPC ChPNPTCopufy Riput UPTB PRGY SDTB PAE, Dpufhropk ChP Selui Felhay Chetuyi FreeBSD. VIVIENDA EN PZTBYUYYEYASN BTIFELFHTECH INTEL, OE DEMBIFUS OILLEBPZP TBMYYUISE NEFF RBNSFSFSH OZSEY YYMCHSCHY 4 ZYZBVBKF. Rbnsfsh, tbneeoobs sofá 4 zyzbvbkf, rtpup dpvbchmsefus l dpufhrop rbnsfy.

dMS FPZP, Juffsch Chlmayufsh PAE H SDTTE, RTPUP DPVBCHF RTYCHEDEOOHOOKH WFTPLh hp lpbyhtbgyposhk zbkm SDTB:

Opciones pae

rtynyubya:

rapdablb PAE H FreeBSD UWEUFCHF FPMSLP DMS RTPGEUPTPH Intel (R) IA-32. FBBNTS, UFP PAE H FREEBSD, OE LUSHCOP RPMPUFSF RTPFEUFTPHBOPI DPMCOP UBIFBFSHUS ObiHydsaynus H UPUFPSUMY VELBIEYE RP UTBSNI, UFBWEHOSHKNEY CHPNPCOFSNY FREEBSD.

rAPDABLB PAE H FREEBSD YNEF EDICIONESHEA PZTBYUYUEÑAS:

    rTPGUUU OE NPCCR RPMHYUFSHD DPUFHR L NEME, YUEN 4 ZYZBVBBKFBN RTPUTBOUFHB VM.

    dtbketchschu huftspuch, lpfptscha oe yurpmshaf yopethekuk, rtychedhf l rpctcedueya yozhptnbgy h sdtte en Chlmayuoshchenn Pae. OE TELPNEODHEFUS YURPMSHAPHBFBFSH FILLEE DTBKCHETS. RP FPK RTTYUYUH H FREEBSD CHLMAYUO LPBYZCHTBGYUTO ZBBMS SDTB PAE, YEY LPFPTPZP HDBMES CHUE DTBKETSCH, P LPFPTSKI YUCHUUFOP, YUFP SOUNT TBVFBAF RTTY CHLMAYUEROOPK RPDDEZL PAE.

    ollpptpt Éxito Uyufenosh Reatement Prodetemsaf Yurpmshptoma Tehumutuch Rbnsfi RP LPMYUYUUFHH DPUFROPK ZHYYYYEULPK RBNSFY. Flite Reather NPZKHF RTYCHUFY L OEOKHOPHUPH NUTYUTOPNH CVDSEOEA RBNSFY YA-BB Pupelopeophek TBVPFSH UYUFENCE PAE. PDYJ FLYY RTTYNETPCH - RETENTEOOBS KERN.MAXVNODES, LPFPTBS HTBCHMSEF NBLUINBMSOSCHPN LPMYUYUUFCHPN VNODE, Tbreeoph HC SDTE. Telpneeoduhefus Hufbopchyfshi de la LFF RPDPVE EK Retente Vegetal Châchojo H Blochbuff es un bobbyuyas.

    cHPNPCOP, RPOBDPVYMIPHUS HCHECHYUFHUFS RTPUFTBOUFCHP CHERTFKHBMSCHOSHKI BDTEUPCH SDTB (KVA) YMY HNEFHYFSH LBKHA-MYVP REISEEOOSTH (ONU. Iglesia), LPTPTPK LSPTBCHDBOPK SUBLPE NPZMP RTTYCHUFY L YEYETRBEA KVA. DMSI LFPP NPCCF VSFSH YURPMSCHBOBBOB PBGS SDTB KVA_PAGES.

h Umkhyube dijo Pfopufemshop rtpychpdifemshopufy i. ufbvymshopufi telpneeodhefus putbafshus l UPHLBUGA THLPCHPDUFCHBC. UFFBUGB THLPCHPDUFCHBC Educación ustecky Yozhptnbgy P Rapdabtzle Pae H FreeBSD.

  • Modo de recuperación.

Introducción

De alguna manera, estar en la búsqueda de la forma en que subrayé los archivos INI de configuración o JSON a mi servidor, llegó a través de las opciones, pero por alguna razón eran incómodos o demasiado simples, o bicicletas. Y aunque amo la configuración de XML, pero a veces son archivos excesivamente enormes e incómodos para una pequeña cantidad de configuraciones para escribir un montón de texto. Una vez le preguntó a un amigo sobre este tema, me tiró una biblioteca. Ella recuerda a JSON en una mezcla con Yaml.

La biblioteca tiene dos interfaces: funcional y objeto. Son muy similares, ya que el objeto utiliza dentro de la implementación funcional, pero tiene algunas diferencias consideradas en esta publicación.

Configurar y conexión

La biblioteca está en muchos repositorios, por lo que la instalación es simple:
$ sudo aptitude install libconfig8 libconfig8-dev liveconfig ++ libconfig ++ - dev

En las fuentes C ++ está conectada por la inclusión:
#Incluir.
o
#Incluir.
O por s.
#Incluir.

Archivo de configuración.

El archivo de configuración es el siguiente tipo de estructura:
# Ejemplo de la versión de configuración de la aplicación de la aplicación \u003d "1.0"; Aplicación: (Ventana: (Title \u003d "(! Lang: Mi aplicación"; size = { w = 640; h = 480; }; pos = { x = 350; y = 250; }; }; list = (("abc", 123, true), 1.234, (/* an empty list */)); books = ({ title = "Isla del tesoro"; author = "Robert Louis Stevenson"; price = 29.95; qty = 5; }, { title = "Choque de nieve."; author = "Neal Stephenson"; price = 9.99; qty = 8; }); misc: { pi = 3.141592654; bigint = 9223372036854775807L; columns = [ "Last Name", "First Name", "MI" ]; bitmask = 0x1FC3; }; }; !}

Los principales tipos de registros en la configuración son tales tipos:

Elemento (ajuste)
Esta es la parte mínima significativa de la estructura de configuración y tiene un valor clave:
Nombre \u003d valor;
o
Nombre: Valor.
Grupos (grupos)
Los grupos pueden contener cualquier número de artículos, pero cada elemento debe contener una clave única dentro del grupo. Grabado en soportes rizados:
(ajustes ...)
Matrices (matrices)
Contiene cualquier número de elementos, incluso cero, pero todos los elementos consisten solo en valores y deben tener el mismo tipo escalar dentro de la matriz. Escribe en corchetes:
[Valor, valor ...]
Listas (listas)
Las listas contienen cero o más elementos de tipo escalar, matrices, grupos o listas. Grabado entre paréntesis:
(Valor, valor ...)
Enteros (enteros)
Se registran en el método decimal habitual (± 0-9) o la forma hexadecimal (0xa-f). Pero los valores enteros se limitan al rango -2147483648..2147483647 (32 bits), pero si se necesitan grandes rangos, se agrega el 'L' al final.
3578934 897893450934l
Flotadores flotando (flotadores)
Escrito demasiado familiar para nosotros
3.1415
Grabación con un estándar exponente con "E".
Valores booleanos (booleano)
Los valores se escriben como 'verdadero' o 'Falso' y dependen del registro (sin cotizaciones, por supuesto).
Cadenas (cuerdas)
Escriba en comillas dobles como "la cadena larga habitual registrada por ejemplo".
Las siguientes opciones eventualmente darán el mismo valor de la cadena:
"La cadena larga habitual" "registrada por ejemplo"
"Cadena larga normal" / * comentario * / "grabado" // comentario ", por ejemplo,".
Comentarios
La configuración es posible tres familiaridades en C ++:
  • # Una sola línea hasta el final de la línea
  • // también línea de una sola línea hasta el final de la línea
  • / * ... * / Multiline comentario incluyendo la transferencia de filas
Conexiones externas (incluye)
Este es generalmente el sabor más delicioso.
# Archivo: quote.cfg quote \u003d "La crítica puede no ser agradable, pero es necesario". "Cumple la misma función que el dolor en el" cuerpo "humano. Llama la atención sobre un estado poco saludable de" "cosas. \\ N" "\\ t - Winston Churchill";
# Archivo: test.cfg info: (Name \u003d "Winston Churchill"; @Include "quote.cfg" circundrointy \u003d "Reino Unido";);

Con API

En esta parte, no pintaré todas las funciones, solo la principal, ya que generalmente son similares, y los principales matices.

Descripción de las características usadas a continuación

#Incluir. #Incluir. #Incluir. / * Este ejemplo lee el archivo de configuración "example.cfg" y muestra sus componentes * / int main (int argc, char ** argv) (/ * Estos tipos se utilizan. * / Config_t cfg; config_setting_t * configuración; const char * STR; CONFIG_INIT (& CFG); / * Inicialización obligatoria * / / * Leemos el archivo. Si un error, completa la operación * / if (! config_read_file (& cfg, "example.cfg")) (fprintf (stderr , "% s:% d -% s \\ n", config_eerror_file (& cfg), config_error_line (& cfg), config_error_text (& cfg)); config_detroy (& cfg); devolución (exit_failure);) / * busca algunos tipo de "nombre". * / if (config_lookup_string (& cfg, "nombre", & str)) printf ("Nombre de la tienda:% s \\ n \\ n", str); else fprintf (stderr, "no" nombre " Configuración en el archivo de configuración. \\ n "); / * Salida de la lista de libros con estanterías * / Configuración \u003d Config_lookup (& CFG," Inventory.books "); Si (Configuración! \u003d NULL) (INT Count \u003d config_setting_length (configuración ); int i; printf ("% - 30s% -30s% -6s% s \\ n", "título", "autor", "precio", "qty"); para (i \u003d 0; i; i< count; ++i) { config_setting_t *book = config_setting_get_elem(setting, i); /* Выводим только те записи, если они имеют все нужные поля. */ const char *title, *author; double price; int qty; if(!(config_setting_lookup_string(book, "title", &title) && config_setting_lookup_string(book, "author", &author) && config_setting_lookup_float(book, "price", &price) && config_setting_lookup_int(book, "qty", &qty))) continue; printf("%-30s %-30s $%6.2f %3d\n", title, author, price, qty); } putchar("\n"); } /* Вывод всех фильмов с полки. */ setting = config_lookup(&cfg, "inventory.movies"); if(setting != NULL) { unsigned int count = config_setting_length(setting); unsigned int i; printf("%-30s %-10s %-6s %s\n", "TITLE", "MEDIA", "PRICE", "QTY"); for(i = 0; i < count; ++i) { config_setting_t *movie = config_setting_get_elem(setting, i); /* Вывод только тех медиа, у которых заполнены все поля. */ const char *title, *media; double price; int qty; if(!(config_setting_lookup_string(movie, "title", &title) && config_setting_lookup_string(movie, "media", &media) && config_setting_lookup_float(movie, "price", &price) && config_setting_lookup_int(movie, "qty", &qty))) continue; printf("%-30s %-10s $%6.2f %3d\n", title, media, price, qty); } putchar("\n"); } config_destroy(&cfg); /* Освободить память обязательно, если это не конец программы */ return(EXIT_SUCCESS); }

Pequeña descripción de la funcionalidad.
Descripción completa en la documentación.

config_t. - Tipo de archivo de configuración (esto no es un registro). Hablando aproximadamente, el contenedor principal.
config_setting_t. - El objeto del elemento de configuración. El ejemplo utiliza un puntero devuelto al contenedor al elemento deseado.
En t. config_read_file(CONFIG_T * CONFIG, CONST CHAR * nombre de archivo): la función lee el archivo de configuración de nombre de archivo en la memoria y llena el objeto de tipo config_t.. No se puede leer desde el archivo, e inmediatamente "Lluvia" en CONFIG_READ_STRING () o dé un descriptor de archivo en CONFIG_READ ()
En t. config_lookup_string (Const Config_T * Config, Const Char * Ruta, Const Char ** Value): busca y devuelve un valor en forma de puntero a una cadena valor.en la ruta especificada camino. Dentro de la configuración configurar.
Config_setting_t * config_lookup. (Const Config_T * Config, Const Char * Ruta): busque una entrada dentro de la configuración sobre la ruta interna especificada y la devuelva.
Config_setting_t * config_setting_get_elem. (Const Config_Setting_T * Configuración, IND IND INDEXED): se usa para matrices, listas para devolver elementos con dicho número en orden
En t. config_setting_lookup_string. (Const Config_setting_T * Configuración, Const Char * Nombre, Const Char ** Value) -
Devuelve el valor valor. Elemento hija nombre. Con respecto a una grabación dada configuración.
Cuando sea necesario obtener un valor en un registro determinado específico, se usan las funciones de tipo.
En t. config_setting_get_int. (Const Config_setting_t * Configuración)

C ++ API.

El mismo ejemplo, pero en C ++. Documentación completa en el sitio.

#Incluir. #Incluir. #Incluir. #Incluir. Usando el espacio de nombres STD; Usando el espacio de nombres libconfig; // Ejemplo que lee el archivo de configuración "example.cfg" y muestra su registro de entrada (INT ARST, CHAR ** ARGV) (Config CFG; // Lea el archivo. O salga de un error // Clase en C ++ no lo hace devuelva un error, y arroja la exclusión del intento (cfg.readfile ("example.cfg");) captura (Const FileException & Fiex) (Std :: Cerr<< "I/O error while reading file." << std::endl; return(EXIT_FAILURE); } catch(const ParseException &pex) { std::cerr << "Parse error at " << pex.getFile() << ":" << pex.getLine() << " - " << pex.getError() << std::endl; return(EXIT_FAILURE); } // Получить некое название. try { string name = cfg.lookup("name"); cout << "Store name: " << name << endl << endl; } catch(const SettingNotFoundException &nfex) { cerr << "No "name" setting in configuration file." << endl; } const Setting& root = cfg.getRoot(); // Найти все книжки на полке. try { const Setting &books = root["inventory"]["books"]; int count = books.getLength(); cout << setw(30) << left << "TITLE" << " " << setw(30) << left << "AUTHOR" << " " << setw(6) << left << "PRICE" << " " << "QTY" << endl; for(int i = 0; i < count; ++i) { const Setting &book = books[i]; // Находим только те записи, что имеют все заполненные поля. string title, author; double price; int qty; if(!(book.lookupValue("title", title) && book.lookupValue("author", author) && book.lookupValue("price", price) && book.lookupValue("qty", qty))) continue; cout << setw(30) << left << title << " " << setw(30) << left << author << " " << "$" << setw(6) << right << price << " " << qty << endl; } cout << endl; } catch(const SettingNotFoundException &nfex) { // Ignore. } // Вывод всех фильмов с полки. try { const Setting &movies = root["inventory"]["movies"]; int count = movies.getLength(); cout << setw(30) << left << "TITLE" << " " << setw(10) << left << "MEDIA" << " " << setw(6) << left << "PRICE" << " " << "QTY" << endl; for(int i = 0; i < count; ++i) { const Setting &movie = movies[i]; // Вывод только тех, что содержат все поля. string title, media; double price; int qty; if(!(movie.lookupValue("title", title) && movie.lookupValue("media", media) && movie.lookupValue("price", price) && movie.lookupValue("qty", qty))) continue; cout << setw(30) << left << title << " " << setw(10) << left << media << " " << "$" << setw(6) << right << price << " " << qty << endl; } cout << endl; } catch(const SettingNotFoundException &nfex) { // Ignore. } return(EXIT_SUCCESS); }
Aquí el mismo principio que en un estilo funcional, solo antes de recibir datos de la configuración, es necesario obtener el elemento raíz cfg.getroot (); Y luego de él para recurrir al resto de los elementos. También es necesario estar atento al hecho de que casi todos los errores son excepciones lanzados.

Conclusión

Además de leer configuraciones convenientes, la API también proporciona la funcionalidad de la creación de elementos de configuración y escríbalo a los medios.