Menü
Ingyenes
becsekkolás
a fő  /  Programok / Milyen konfigurációs fájl. Konfigurációs fájlok

Milyen konfigurációs fájl. Konfigurációs fájlok

A Windows Linux operációs rendszerrel ellentétben nincs közös nyilvántartás a rendszerbeállítások tárolásához, az összes beállítás konfigurációs fájlokban tárolódik. A legtöbb fájl a / etc / mappában található.

A legtöbb rendszer és a harmadik féltől származó program beállításai ezek a fájlok vannak, a grafikus szerver, a bejelentkezési menedzser, a rendszerszolgáltatások, a webszerver, az inicializálási rendszerek beállításai lehetnek.

A konfigurációs fájlok csak egy része más mappákban található, például a munkakörnyezet beállítási fájljainak beállítása a felhasználó otthoni könyvtárában. A kezdők nagyon fontosak ahhoz, hogy megértsük, hogy felelősek azokért vagy más konfigurációs fájlokért, így szükség esetén nagyon gyors navigálni. Ebben a cikkben megnézzük a Linux fő konfigurációs fájljait, helyüket és céljukat.

Tény, hogy a Linux rendszerben nincs konfigurációs fájl. Mivel az operációs rendszer csak egy program és rendszermag, mindezen fájlokat bizonyos programok hozták létre, és azokat a viselkedés konfigurálása. A legtöbb olyan fájl, amelyet a szabványnak tartottunk, az inicializálási rendszer vagy más rendszer segédprogramok.

Amint azt mondtam, a legtöbb fájl a / stb. Ennek a mappanak a neve "Et CETERA" -nek van visszafejtve, amely a latin "és mások" vagy "és így tovább". Először nézzük meg az / etc Linux könyvtár tartalmát:

Itt sok különböző fájl létezik. Aztán sok közülük kinevezünk. A lista az ábécé szerint történik.

1. / etc / adjtime

Ez a konfigurációs fájl felelős a rendszer időformátumának beállításáért és a SYLYD-TIMEDED szolgáltatással. Az idő két lehetőség közül ábrázolható: Helyi - az aktuális időzónát és az UTC-t - a Greenwich idejét. Manuálisan módosíthatja az értéket, vagy használja a Timedatectl segédprogramot.

2. /etc/bash.bashrc.

Ez a fájl a Bash Command Shellhez tartozik. Ez nem teljesen konfigurációs fájl - és a szkript, annak tartalmát akkor végezzük, ha a bash példány elindul a héj beállításához. Hasonlóképpen, a fájl tartalma ~ / .bashrc minden felhasználó számára.

3. / etc / crontab

6. / etc / csoport

25. / etc / sudoers

Az / etc / sudoers egy telepítőfájl. Ez a segédprogram lehetővé teszi a parancsok végrehajtását más felhasználók nevében, beleértve a superuser nevében. De csak azok a felhasználók, akik ezt a fájlban írják le, használhatják.

26. /etc/sysctl.conf.

Ez a fájl felelős a végrehajtásért. Itt megadhatja az összes paramétert az alrendszer / sys / sys / és az újraindítás után mentésre kerül.

27. /etc/vconsole.conf.

Ez a fájlnak csak egy célja van - állítsa be a kódolást, a billentyűzet elrendezését és az alapértelmezett betűtípust a gép által futó virtuális konzolokhoz.

28. / boot/grub/grub.cfg.

Ez a Linux konfigurációs fájl nem / stb. Tartalmazza az összes bootloader beállítást, menüpontot és más paramétereket, így a root fájlrendszer csatlakoztatása előtt hozzáférhetőnek kell lennie.

következtetések

Ebben a cikkben áttekintettük az / etc / mappában található fő Linux konfigurációs fájlokat. Talán minden fontos fájl, véleménye szerint hiányoznak, akkor biztosan elmondja nekik és céljukat a megjegyzésekben!

Feladatprofil a parancssor segítségével - A módszer messze nem mindig kényelmes. Még akkor is, ha a legtöbb parancssorral működik, a környezetet a beállítások mentésére használják, hogy ne adjanak meg őket minden alkalommal és bármely csapat számára. Mit kell beszélni olyan komplex rendszerszolgáltatásokról, amelyek tulajdonságait nem egy munkamenetből kell menteni, de folyamatosan (beleértve a rendszer újraindításakor). A kimenet egyszerű: a profilt a fájlban kell tartani, például a "Save Settings" parancs által létrehozott parancsot.

Azonban a fájl tárolásának megközelítése a fájlban, amelyben a felhasználó nem tudja megváltoztatni ezt a fájlt, de használja az "SMART" konfigurátorokat, csak olyan esetekben van, ahol a beállítások sokak, és a hiba költsége kicsi (például az asztal megjelenése során). Általában meglehetősen nehéz beállítani viselkedés a rendszer leírásán alapuló (gyakran implicit) tulajdonságai alapján eredményeként. Más szóval, a leírásból, hogy mi történjen, nem mindig lehet automatikusan arra a következtetésre jutni, hogyan kell megszerezni.

Konfigurációs fájl.. A rendszer egyes részének (segédprogram, démon stb.) Beállításait tartalmazó szövegfájl. Általános szabályként olvassa el, amikor elindul. Tipikus a profil szervezési módjához.

Röviden, ha van konfigurációs fájl., A fájl szerkesztési eszközeinek kell lennie. Figyelembe véve, hogy egy erősen fejlett tárolási rendszert Linux alatt hajtanak végre feldolgozás (mind a kézi, mind az automatikus) adatok szöveges formában, hogy feltaláljanak valamilyen új formátumot, hogy újraindítsák a kerékpárt. Ezenkívül az a szöveg, amely húrokra és szavakra osztható, a legjobban megfelel, ha a vezérlő objektumok és tulajdonságainak profiljának világos megosztása (például bizonyos démon beállításai és ezeknek a beállításoknak az értékei). Ezenkívül a Linux szövegszerkesztők törlésre kerülnek a strukturált szövegekkel: vi, emacs stb.

[E-mail védett]: ~ $ macska .vimrc so $ vimruntime / vimrc_example.vim 'Néhány leképezés Térkép: fal! ^ M Térkép! Showmatch showcmmd vonalzó Modeline set autoindent innorecast smartcase set nohlsearch noincsearch set dir \u003d / var / tmp set wildmode \u003d lista: leghosszabb, teljes set set setmenu "színezés szintaxis a colorscheme sivatagban 12.2. Beállítások szerkesztő VIM.

Ez az, ami úgy néz ki konfigurációs fájl. Vim, írta Metód alapján a fájl vett Gurevich. Könnyű észrevenni, hogy a fájl a parancssori parancsok VI parancssori parancsokból áll (a legtöbb Linux segédprogramokkal ellentétben, a VI megjegyzésekben a ""). "^ O" és "^ M" szimbólumok - ez a megfelelő vezérlő karakterek ("^ V" használatával beillesztve, lásd az előadást 9). Ilyen konfigurációs fájl. Könnyen érthető és változtatható.

Mint már látott, a környezeti változókészlet különleges profil, amelyhez az összes indított program érzékeny - ez a méltóság. A környező változók a parancsszkriptben vannak megadva, amely szintén tekinthető konfigurációs fájl.). Például számos eloszlásban konfigurációs fájl. .I18n A billentyűzet nyelvének, az üzenet kimeneti nyelvének stb. Az "I18N" megjelölés a "Nemzetköziesítés" szóból származik, amelyben 20 betű, azaz "I", "N" és 18 betű között. :

[E-mail védett]: ~ $ macska .i18n lang \u003d ru_en.koi8-r nyelv \u003d ru_en.koi8-r sysfontacm \u003d koi8-r sysfontacm \u003d koi8-r sysfont \u003d unicyr_8x16 szótár \u003d orosz mpage \u003d "- ckoi8-r" export szótár 12.3. Példa. Nyelvi funkció konfigurációs fájl

Azonban egy adott program beállításainak tárolása (nem szükséges minden más) körülvéve - nem a legsikeresebb megoldás: szintaxis, amely meghatározza a környezeti változót, túl egyszerű ( present_name \u003d érték), és a változók maguk is túl sokat válnak, így a megtekintéskor nehéz kiválasztani, hogy melyik csoport beállításai vannak. Ha megpróbálja csomagolni az összes beállítást az értékre egy változó, ez az érték nehéz lesz, és a szövegformátum minden előnye nem lesz. Például szabványos konfigurációs fájl. LS segédprogramok (pontosabban csak a színbeállításai) - / etc / dir_colors (helyettesíthető egy személyes fájlba ~ / .dir_colors). Az LS parancs nem használja ezt a fájlt, de a DiRcolors segédprogram az LS_Colors változó által létrehozott, amelynek értéke a 600 karakteres karakterlánc megjegyzése nélkül.

Ha a profil túl nagy, tartsa az egyikben konfigurációs fájl - Szóval, hogy a felhasználónak kétséges örömét adja meg, hogy teljes mértékben szétszerelje ezt a fájlt, szükség esetén minimális módosítást végezzen. A kényelmetlenség küzdésének módja kissé. Különösen az előadásról már ismert ".d" mechanizmus: a fájl többre oszlik független A fájlok egymástól úgy, hogy csak az egyik szerkesztendő fájl, és a program mindent önhasználó alatt olvas.

Egy másik út rámutat arra, hogy mit változásHogy a felhasználó hozzájárul a profilhoz, általában lényegesen kisebb, mint a teljes profil térfogata. Ezért előnyös lehet az összes alapértelmezett beállításainak egy bizonyos fájlban történő tárolására, amely egyáltalán nem szükséges, és a felhasználói beállítások a "tetején", a profil megváltoztatása szerint utána Az alapértelmezett profil beállítása. Ennek a módszernek a további előnye, hogy a felhasználó mindig a "nagy" fájlba hozható, hogy megtudja, hogyan történik ez vagy más beállítás. Például az UPDFSTAB segédprogram, amely megváltoztatja a tartalmat / etc / fstab-t, ha eltávolítható lemezhordozó (például lézerlemez), olvassa el az adatokat konfigurációs fájl /etc/updfstab.conf. Ez a fájl maga az egyedülálló vonalból áll: tartalmazza a /etc/updfstab.conf.defaultMi vezet az olvasási fájlhoz az alapértelmezett beállításokkal, ahol sok eltávolítható rendszereszközzel dolgozni kell. Ha az adminisztrátornak valahogy kell módosítania az UPDFSTAB viselkedését egy adott eszközhöz képest, a megfelelő beállítási csoportot másolja az UPDFSTAB.CONF.DEFEFAULT frissítve utána A strits magában foglalja .. És kijavítja őket. Az a tény, hogy ezek a beállítási csoportok kétszer olvashatók, nem játszanak speciális szerepet: A rövid fájlok olvasása gyorsan történik.

Végül a harmadik út konfigurációs fájl. olvasható - partícionálás Profil Ha az összes beállítás csoportba kerül, minden csoport saját nevét és szintaxisát kapja konfigurációs fájl Úgy tervezték, hogy a csoportok határai jól különböznek a megtekintéskor. Lényegében ez a módszer az őse a „.d” sémát, ahol a csoport megfelel egy külön fájlban, de a helyzet nem kényelmetlen, ha a fájlok kényelmetlen (például, ha a csoportok nem teljesen független, ezért szükség lehet egyszerre szerkeszteni őket). Konfigurációs fájl. WVDial tárcsázási segédprogramok, például a címzett (szolgáltató) és egy külön "alapértelmezett" szakasz. Szekciók magukat egymástól elkülönítik egymást szögletes zárójelben lévő címsoroktól:

[E-mail védett]: ~\u003e macska .wvdialrc modem \u003d / dev / modem baud \u003d 115200 init1 \u003d ATZ init2 \u003d ATQ0 L0 M4 V1 E1 S0 \u003d 0 és C1 és D2 + FCLASS \u003d 0 & C1 & D2 + FCLASS \u003d 0 AUTO DNS \u003d modem típuson \u003d Analóg modem telefon \u003d 0123456 Felhasználónév \u003d tűzoltó jelszó \u003d tűz! Tűz! Tonline \u003d True Phone \u003d 0246813 Felhasználónév \u003d COP-120 jelszó \u003d Gimetheegun Force Cím \u003d 10.0.0.120 12.4. Példa. Particionált konfigurációs fájl

A WVDial segédprogramnak erősen fejlett mesterséges intelligenciája van: függetlenül attól, hogy milyen típusú azonosítást használ a kiszolgálón. Például a "másik oldalról" lehet a Linux terminál, amely először adjon meg egy rendes beviteli nevet és jelszót, akkor meg kell kapnia egy parancssorot, futni szerver Hálózati démon pppd.És csak azt követően, hogy futtassa a PPPD-t a saját gépén. Egy másik változat: pppd. A szerver már fut, és a "Felhasználónév" és a "Jelszó" beállítások a használt CHAP protokoll azonosítási adatait jelentik pppd.. Mindez és sok WVDial képes kitalálni, és a WVDialConf tudta, hogyan lehet meghatározni, hogy melyik eszköz modem.

Azonban bármilyen mesterséges intelligencián van egy érthetetlen élethelyzet. Az egyik kiszolgáló ("Dialer hotspace" szakasz) is Van egy program a mesterséges intelligencia megtestesülésével, amely is Megpróbálja meghatározni, hogy milyen módon szeretném azonosítani ezt a hívást. Mivel ez a két pilótafülke megkötötte, mindenki senkit vár, míg valaki nem mutatja magukat ... segíti a tonline konfigurációját, ami a WVDialis azonnal használja a PPP protokollt, amelyhez a szerver, gondolkodás "ah, PPP!" megkönnyebbüléssel pppd.. A kérdés továbbra is fennáll: miért nem tükröződik ez a hasznos hangolás a dokumentációban (találtam a Gurrevich program forrásszövegeiben)? Ez azért van, mert a WVDialConf-Wvdial pár nem tűnik mindent a felhasználó számára, de lett, a program fejlesztői felhasználói dokumentációja nem fontos?

Az alapértelmezett beállítási ötlet kidolgozható. Kiderül, hogy kényelmes, ha a beállítási leírás nem kerül a kézikönyvbe, hanem közvetlenül konfigurációs fájl. Észrevételek formájában. Ezután a beállítás megváltoztatásakor a felhasználó azonnal látja, hogy képviseli, miközben eltűnik, hogy először találjon egy sort a fájlban, majd keresse meg azt a kézikönyvben. A nyilvántartásba vétel ilyen közös módját hívják önmegképzelés Profil. Például az /etc/man.conf fájl, az ember parancsának kezelése, módosított stílusban díszített:

[E-mail védett]: ~ $ Macska /etc/man.conf. . . # A nocache megtartja az embert a cache oldalak létrehozásáról ("Cat Pages") # (általában az egyik engedélyezi / letiltja a Cat Page Creation-t # A könyvtár létrehozása / törlése Thewood mkdir) # # Nocache # A "Man -a Xyzzy" parancs megmutatja az összes embert Oldalak xyzzy. # Amikor a CMP meg van adva, megpróbálja elkerülni ugyanazt a # szöveget kétszer. (De tömörített oldalak összehasonlítása egyenlőtlen.) # CMP / usr / bin / cmp -s. . . 12.5. Példa. Önhordó konfigurációs fájl.

Metodius, talán nem értem azonnal, hogy miért utasítaná a CMP segédprogramot a magyarázó megjegyzésekben, írja be: ha egyszerre több kézikönyvet kell mutatnia, előre összehasonlításra kerülnek, és csak inkonzisztensek Látható.

Ha továbblépsz, több különböző fájlt hozhat létre a beállítások példáival, hogy a felhasználó átvegye az egyiket, és hozza meg őket. Ez egy ilyen dolog - a demonstrációs - konfiguráció a Methodius, és be van kapcsolva, mint alapértelmezett beállítások a .vimrc (az első sorban). By the way, sőt, a vim profil meglehetősen bonyolult, de az alapértelmezett beállítások nagy része a különböző könyvtári fájlok / usr / share / vim. - Az alak ".d / .d" séma, ahol a beállítási alcsoportoknak megfelelő profilfájlok a csoportoknak megfelelő alkönyvtárakban vannak. A konkrét konfigurációs fájl bevonása implicit módon jelentkezhet: Például a .vimrc vonal színek-sivatagja olvasható / usr / share / vim / színek / sivatag. Vim..

Konfigurációs fájlok Lehet, hogy meglehetősen bonyolult szintaxissal rendelkezik, ha megfelelnek a komplex adatstruktúráknak (például például az IRC kliens irssi konfigurálása), vagy további forrásokat tartalmaznak önmegképzelés (Például a Lynx Szöveg Www-Browser Text Setup fájl nem csak jól dokumentált, de ugyanazokat az eszközöket is jelöli, amelyeket a böngészőben a HTML képviseletére használ.).

Konfigurációs fájl.

Konfigurációs fájl.

A konfigurációs fájl egy olyan fájl, amely leírja:
- a szoftverrendszer felépítése; és / vagy
- Kiegészítő paraméterek, amelyek meghatározzák a konkrét beállítást.
Általában a konfigurációs fájl szöveges fájlként valósul meg, amelyet a szoftverrendszer értelmez.

Lásd még: Fájlok

Pénzügyi szótár Finams.


Nézze meg, mi az "konfigurációs fájl" más szótárakban:

    konfigurációs fájl. - Információkat tartalmazó bináris vagy szöveges fájl, amely meghatározza az alkalmazás, a számítógép vagy a hálózati eszköz viselkedését. Networks Network Computing EN konfigurációs fájl ... Műszaki fordítókönyvtár

    Vagy a konfigurációs fájl a számítógépes program beállításainak tárolására szolgál, beleértve az operációs rendszereket is. Szabályként a konfigurációs fájlok szöveges formátummal rendelkeznek, és a program felhasználója olvasható és szerkeszthető. ... ... Wikipedia

    A konfigurációs fájl vagy a konfigurációs fájl a számítógépes program beállításainak tárolására szolgál, beleértve az operációs rendszereket is. Szabályként a konfigurációs fájlok szöveges formátumúak és olvashatók és szerkeszthetők ... ... Wikipedia

    Írja be a fájlrendszert, a titkosítási fejlesztő valenti gough operációs rendszer Linux, FreeBSD, Mac OS Legújabb verzió 1.7.4 (2010. szeptember 5.) licenc g ... Wikipedia

    Szerver statisztikai oldal ... Wikipedia

    Ez a cikk vagy szakasz újrahasznosításra van szüksége. Kérjük, javítsa a cikket a cikkek írásbeli szabályainak megfelelően. Leíró ... Wikipedia

    BTRIEE szoftver termék (DBMS), tranzakciós (vagy "navigációs") adatbázisok megszervezéséhez. Az ISAM adatszervezési módszer alapján, amely magas keresési és adatkivonási sebességet biztosít. Volt több verzió ... ... Wikipedia

    Opera böngésző Screenshot Opera 9.6 Böngésző típusfejlesztő Opera szoftver ASA írva ... Wikipedia

    Ez a kifejezés más értékekkel is rendelkezik, lásd a PHP-t (értékeket). PHP szemantika: multiparadigre ... Wikipedia

Bb rpmosn urrulpn bthyfelfhtop-ibdleyounds rbtbneftpch huftspufch pvtbfyfuesh l zbkmh Megjegyzések H FPN Tse lbfbmza, yucp i generic. BTYFELFHTOP OEBCHILHIGHTS RBTBNIES OBHDSFUS H / USR / SRC / SYS / CONF / NOTS.

dytelfychb közé tartozik az UFBMB DPUFHROPK DMS YURPMSHPPCHWIS H LPBYZCHTBGYPO-ZBKMBBY. Rpchpmsef chlmayubfsh h felheyk lpzhtbgypostep zbkm uptaynpe dtzpzp zbkkmb, hajszárító Ubnshchenn Horthpebs rpguuu sheyueyas oeevpmshyy yyyueyurak ht uhweyufchheyk zhbkm. Ottinet, Eumy Chbn Opepvipdinp DPVBchyfs Chuzp Oletulpmshlp DPRPMAFEMFEMFEEMSKI PRGYK YMY DTBCHTPH H SDTP GENERIC, FP Chbn RTidadfus Rapdabychbfsh FPMSLP TBYEGH L ZHBKMH GENERIC:

Tartalmazza az általános azonosító myKernel Options Ipfirewall Options DummyNet Options Ipfirewall_default_to_accept Opticiók ipdivert

vpmshoffchp bdnyuyuftbffph pheosf ъbyuufemfemchoske urpupvpn - obryuboyen lpzhtbgypopzp zbkmb uhhss \u003e\u003e: chkmizhtbgyposhk zbkm vkhdaf pfpvtbfsbf fpmslp yenicoyyyys pfpuifemshop generic. Bpume pvopchmeyk yupddoppp lpdb, ndpcpufy zhhlhypovoschoschop, rsschycheus h generikus, vhdhf dpvbchmesh ч чч блый хп хф дп блчтбга, emuy fpmslp oe rtrsfufchphbfshpnh dytfucks nooptions yy nodevice. DBME HFPN TBYME PRIESCHBEFUS FIRPCHPK LPZHTBHTBGEPOSHK ZBKM, OZP PRGYY HUFPKUFCHB, B FBLTER YI TPMY.

rtynyubya:

dMS józan sdtb up cheny cpnpsshop prgsny (pvshuop yurpmshefus dms feuftpechs), Chschpmef PF inea uphrpmshpchbfems (gyökér) Umvedhaech Lfbodh:

# CD / usr / src / sys / I386./ Conf && make lint

lfp rtynet lpzhtbgypopsp zbkmb sdtb generic a tbmiospy dprmofmmfemskny lpnnefbtysny, lpfptctp npzhf rpobdpvyfsus dms suopugi. LFPF RTYNET DPMTSEO UPGRBDBFS CHBEHEH LRRKKKH H / USR / SRC / SYS / SYS / I386./ Conf / generic rtblfyyuele rpmopufsh.

Gép I386.

bFP Bintifelf pálcika. 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 RTPGUUUUFTB, LPFTSCHK YURPMSHEFUS 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 FYR RTPGEUUPTB, LPFPTSCHK HUFBOPCHMEO H CHBYEK UYUFENE. Eumy templom Heteeks, LBPK FIROPVIPDINP YURPMSHPCHBFSH CHBN, Chist NPSEFE ChPURPMSHPCHBFSHUS ZHBKMPN /VAR/RUN/DMESG.BOOT, ÜFPVYSCH Hatchfsh RTPFplpm Бабзтхл уйфенст.

Azonos általános.

lFPF RBTBNEFT PREDDEMSEF NEFLCH \u003e\u003e SDTB. OPEPVIPDINP, UFPVCH UPPÜCHFÜCHPCHBMBMBB Kombázás LPGKMB LPOZHTBGY SDTB, OTTINET MyKernel. , EMUM Chrc UFTPCHBMY YOFTHLYSN H RT'STHDHEIA RTYNETBY. OBYuEOYE, LPFPTPE BL RTYUCHPYFE RBTBNEFTH Ident VHDEF CHSCHCHPDYFSHUS H RTPGEUUE BZTHLY, RPFPNH RPMEOP DBCHBFSH OPCHSCHN SDTBN DTHZYE YNEOB FPZP LCA, a PD YUFPVSCH PFMYYUBFSH YEE PVSCHYUOPZP SDTB (OBRTYNET, EUMY BL IPFYFE UPVTBFSH LURETYNEOFBMSHOPE RAS).

# Statikailag összeállítani az eszköz kábelezését instrad of /boot/device.hints #Hints "generic.hints" # alapértelmezett helyek megjeleníteni eszközöket. Lehetőségek SCRECTU_ULE # ULE ütemező

rMBYTPCHEL RP HNPMYUBA PE FreeBSD. PUFBCHF IFK PRGA.

Options Preesption # Engedélyezés a kernel szál előterjesztése

rPCHPMSF Chistripthyptyptypefectural OIFSN SDTB ChschpheosfsfChteoofRph, obihydsayius h Tserin Khschpmois. BFB PRGS NPCCF TBLFYUFSUFS Ujfensku PPP Pfakaya Li Cheyyoin Chpadekufchysn, Oppetnet, BBB UUFEF Outcooks Mbfofopufy Oufek, Pvtbvbfshchbei RttTtschuks.

Opciók inet # internetesworking

rapdabyzlb Uphonchi Chpnpcopouffek. Pufbchfa oph prga chlmayuoopk, dbce emuy chist oe rbsutfe rpdlmayubfshus l ufy. VPMShOFCHP RTPZTBNN FTEVHAF, IPFS TBVPFBM IPFS VSHN YOPETHEKUK PVTBFOPK Academy (VISSZAHURKOLÁS) (F. E. Uphtheck Upheck Updaeoye Chokhft Chchezp RL), FBL YUFP BFB PRGS H RTyogire Schamsefus PVSBFEMSHOPK.

Opciók Inet6 # IPv6 kommunikációs protokollok

chlmayubef RPDBETSLH LDNNHYLBGYPOOBYA IPv6 IPv6.

Opciók FFS # Berkeley gyors fájlrendszer

chlmayubef rpddezlch poopchopk zbbmpc uyufenz. OE HDBMSKFTE IFH PRGA, EMUY ChIST RAMBITHEF OBBZTCHSBFSUS A ZEUFLPZP DYOLEB-ben.

Opciók Softupdates # Engedélyezése FFS Soft frissítések támogatása

lFPF RBTBNFFF CHLMAYUBEF H SDTE FAYOPMPZZYA Soft frissítések, LPFPTBS RPCHESTBEF ULPTPUFSH OBBRYUY A DYYUY. Oeunpfts az FP, YUFP BFB FEOPMPGZISES CHLMAYEOB H SDTHE, SCC DMPSOB VSSFSH CHLMAYEOB DMS PFDEXKETS DYULPH. Rpunpfffe chisppd lpnbodshchy sophpwesch poddenimifs, chlmayuz wesel lágy frissítések dMS dyulph chfeshek uyufenz. Emum chister hhidef rbtbnest lágyfrissítések, CHBN vkhdef opvipdinp blfychytpchbfs htzp rty rpnpey lpnbodch (dms uleufchhei zbkmpchsi uyufen) ymy lpnbodshchi (DMS és LDC).

Opciók UFS_ACL # Támogatás a hozzáférés-vezérlési listákhoz

lFPF RBTBNEFT CHLMAYUBEF H SDTE RPDDEZLCH URREULPCH HORTHBCHMEISE DPUFHRPN (ACL). PuppchchbeFus a Yurpmshaphey Tbuteopeophehie BFFMSHOP, PRIUBOYE ChIST UBKFY H TBDEMљ14.12,\u003e. Acl chlmayueosch rp hnpmyuboya th oe dpmtsosch chschlmayubfshus b umyube, eumy sing toee yurpmshpchbmyush on zhbkmpchpk uyufene, fbl lbl fp hdbmyf uryuly hrtbchmeoys dpufhrpn j yneoyf af lbl beyeeosch zhbkmsch, oertedulhbenschn pvtbpn.

Opciók UFS_DIRHASH # A nagy könyvtárak teljesítményének javítása

bFB PRGS CHLMAYUBEF ZHHOLGYPOBMSHOPUFSHOPH, LPFPTBS RPCHESCHYBEF ULPTPUFSH DYULRCHISCHI PLASTGGYK ON PVMSYY LBFBMBSBI H PVNEO AZ YURPMSHAPHBEY DPRPMAFEMSHOPK RBNSFY. DMS VPMShIPZP Utcheb YMY TBVPYEK Ufbogi Telpneeodhefus Pufbchyfs Her Chlmayuoopk, Chchchchchchchayufsh DMS Uyufensh, DMS LPFTPK NME RTYPTFEFOB RBNSFSF, Yuen Ulptpuffs DPUFHRB L DYULBHTB, OVS.

Opciók MD_ROOT # MD egy potenciális root eszköz

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

Opciók nfsclient # hálózati fájlrendszer kliens opciók NFSSERVER # hálózati fájlrendszer szerver opciók NFS_ROOT # NFS használható, mint /, nfsclient szükséges

ufhechbs zhbkmpcs uyufenb. EMUY CHISTER RMBETHEFE NPFYTPCHBFSP TBDEMCH át ZBKMPCPPZP UTUCHB UNIX (R) TCP / IP, Chist NPSEFA YULMAYUFSH BFPF RBTBNext Ya Lpbyzchtbgjpoppzp ZBKMB SDTB.

Opciók msdosfs # msdos filesstem

zBCMPCBS UYUFENB MS-DOS (R). EMUM Chist OE UPVITBEFEUUSH NPFYTPCHBFS SHPTNBFTPECTS CH DOS TBIDE CSEUFLPZP DYULB H NPNEOPODOPTHEFTHLY, Chist NPSEFE PROTEPRBOPUP SBLPNNEFYTPCHBFSHPFF RBTBNEFT. Opepvipdeschk npdhmsh vkhdaf bchpnbfyueli obbzthzeo, lpdb chtchchchchk tb excefitef tbidem dos, fbl, lbp lfp preubop Otse. LTPNE FPZP, Blefmühchoshoscope RBlef Rpchpmsef RPMKHYUFSHD DPUFHR L DOS Dyulefbn Vej OpepvipDinpufi NpoFightpchBFSH TBNPFTPCHBFSH (th oe FTEVHEF Obmyius msdosfs).

Opciók CD9660 # ISO 9660 fájlrendszer

zBBMPCBS UYUFENB ISO 9660 DMS LPNRBF DYULPH. eUMY X CHBU RFU RTYCHPDB CDROM YMY BL VHDEFE MYYSH YTEDLB NPOFYTPCHBFSH LPNRBLF-DYULY van DBOOSCHNY, BLPNNEOFYTHKFE FH UFTPLH, FBL LBL OEPVIPDYNSCHK NPDHMSH VHDEF BZTHTSEO BCHFPNBFYYUEULY RTY RETCHPN NPOFYTPCHBOYY LPNRBLF-DYULB van DBOOSCHNY. DMS YURPMSHPCHBUIS CHCHLPPYCHI LPNRBF-DYULPH LFB ZBKMPCS UYUFENB OE RPPTEMHEFUS.

Opciók Procfs # Folyamatfájlrendszer (pszeudofs)

zBBKMPCBS UYUFENB RTPGEUPCH. LFP ChITFHBMSHOBS \u003e\u003e ZhBKMPCHBS Uyufenb NPFUTHENBS C / PROC, LPFPTBS RPCHPMSEF FLBTNESPSAOYSN, LLB CHISTBCHBFSH PBN VMSHPTNBGY P OBBRKHEEOPHEBGY RTPGEUUBI. Yurpmshptoma procfs OE FTEVHEFUS, FBL LB LVMShOFFCHP NPOFTHPHTHNOPHPHPHTHPHPHTPSP BDBRFTHBOP DMS TBVPFFS procfs: Uyufenb RP KhNPMYUBCH Uyufenh RTpgeupch.

Opciók pszeudofs # pszeudo-fájlrendszer keretrendszer

sdtb, lpfpskha yurpmshhef procfs, dpdcsp fbltce chlmayubfsh rpdbetslkh pszeudofs,

Opciók GEOM_PART_GPT # GUID partíció táblázatok. # PCI Ethernet NICS. Device de # Dec / Intel DC21x4x (Tulip \u003e\u003e) Eszköz em # Intel Pro / 1000 Adapter Gigabit Ethernet kártya eszköz IXGB # Intel Pro / 10GBE Ethernet kártya eszköz TXP # 3Com 3CR990 (Typhoon \u003e\u003e) eszköz vx # 3Com 3c590, 3C595 ( Vortex \u003e\u003e)

dBCCHEB UPHONCHI LTTF PCI. Blpnneofitkfa YMY HDBMYFE DTBKCHB FAI LBTF, LPFPTESK PUHUFUFCHAF HB Cheek Uyufen.

# PCI Ethernet NICS, amelyek a közös Mii buszvezérlőkódot használják. # MEGJEGYZÉS: Ügyeljen arra, hogy tartsa meg az "Eszköz Miibus" vonalat, hogy ezeket a NIC-t használhassa! Eszköz Mibus # Mii Bus Support

rapdablb їze-mii ftevhefus dms oelfpfpfhathi pci 10/100 Ethernet lbtf, lpfptktcha yurpmshaf mii-szuperfűtött Retheed Blue YYI TEBMEHAF YOHECK KHTBCHMEIF YOHECK KHTBCHMEIS RETBFÜHLPN, LPFPTSCHEF IMIFIFYTCHEF MII. dPVBChMEOYE eszköz 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.

Eszköz BFE # Broadcom BCM440X 10/100 Ethernet Device BGE # Broadcom BCM570XX Gigabit Ethernet Device DC # Eszköz FXP # Intel EtherExpress Pro / 100B (82.557, 82.558) Eszköz LGE # SZINT 1 LXT1001 Gigabit Ethernet Device MSK # Marvell / Syskonnect Yukon II Gigabit Ethernet eszköz NTE # Natsemi DP83820 Gigabit Ethernet Device PCN # AMD AM79C97X PCI 10/100 (elsőbbsége "LNC") eszköz Re # Realtek 8139C + / 8169 / 8169c / 8110s Device RL # Realtek 8129/8139 Device SF # Adaptec AIC-6915 ( StarFire \u003e\u003e) eszköz SIS # szilícium integrált rendszerek SIS 900 / SIS 7016 eszköz SK # Syskonnect SK-984X\u003e SK-982X GIGABIT Ethernet eszköz Ste # Sundance ST201 (D-LINK DFE-550TX) Device Stge # Sundance / Tamarack TC9021 Gigabit Ethernet Eszköz TI # Alteon Networks Tigon I / I / II Gigabit Ethernet eszköz TL # Texas eszközök Thunderlan eszköz TX # SMC Etherpower II (83C170 Epic \u003e\u003e) eszköz VGGE # Via vt612x Gigabit Ethernet eszköz VR # via Rajna, Rajna II eszköz WB # Winbond W89C840F eszköz XL # 3Com 3c90x (Boomerang \u003e\u003e, Cyclone \u003e\u003e)

dTBCHEB, LPFPTCHA YURPMSHAF LPOFTPMET LUZHEZH MII.

# Isa Ethernet NICS. A PCCARD NICS tartalmazza. Eszköz CS89X0 NIC # "eszköz ed" szükséges "eszköz Mibus" eszköz ed # NE000, SMC Ultra, 3C503, DS8390 kártyák EX # Intel EtherExpress Pro / 10 és Pro / 10 + eszköz EP # Etherlink III alapú kártyák eszköz fe # Fujitsu MB8696x Alapú kártyák eszköz, azaz # EtherExpress 8/16, 3C507, Starlan 10 stb. Eszköz LNC # Ne2100, NE32-VL LANCE Ethernet kártyák eszköz SN # SMC "S 9000 sorozat Ethernet Chips Device XE # Xircom PCCard Ethernet # ISA eszközök, amelyek a régi Isa Shims #device le

dbccheb ufefechsi lbtf isa. Pooblpnshfushu a ZHBCMP / usr / src / sys / sys / I386./ Conf / megjegyzések, ifpwsch khobfsh, lyey u u u ufehhekhesk lbtfsh llblin dtbchupn rapdabychbafus.

# Vezeték nélküli NIC kártyák eszköz WLAN # 802.11 Támogatás

Generic 802.11 támogatás. Ez a vonal a vezeték nélküli hálózathoz szükséges.

Eszköz WLAN_WEP # 802.11 WEP támogató eszköz WLAN_CCMP # 802.11 CCMP támogató eszköz WLAN_TKIP # 802.11 TKIP támogatás

Crypto támogatás 802.11 készülékekhez. Ezek a vonalak szükségesek, ha titkosítást és 802.11i biztonsági protokollokat kíván használni.

Eszköz # AIRONET 4500/4800 802.11 vezeték nélküli NICS. Eszköz ATH # ATHEROS PCI / PCI Nic „S Device Ath_Hal # Atheros Hal (Hardware Access Layer) Device Ath_Rate_Sample # Samplerate TX Rate Control Ath Device AWI # BayStack 660 és társai készülék Wi # WaveLAN / Intersil / Symbol 802.11 vezeték nélküli hálózati kártyák. #Device WL # Régebbi Non 802.11 Wavelan Wireless Nic.

rapdabtzlb tbmiustovabsobsptf lbtf.

# Pseudo eszközök eszközhurok # hálózati loopback

uFBODBTHFOPA HUFTPKUFCHP PVTBFOKK ACQUISTION DMS TCP / IP. Emum Chist Obbrkhulbefe Telnet Ymy FTP RP PFOPEA LocalHost (a Que 127.0.0.1), FP Updeeooe RTPKDUF YUEETE LFP KHUFTPCCHP. LFPF RBTBNEFT. Pvsbfemeo .

Eszköz véletlen # entrópia eszköz

zeetbfpt Umkhukovy Yuyem DMS ltyrfpztbzyeulpk Obabifshch.

Eszköz éter # Ethernet támogatás

ether Opecher Myshyube, Eumen XBB Eufs Uphuchbs LBTFB. Chlmayubef RAPDABTZLCH UFBODBTFOPP PDB RTPFPLPMB Ethernet szerint.

Eszköz sl # kernel slip

sL - LFP rapdablb csúszás. Slip Village Rtblfyyuele Chschfeoo PPP, LPFTSCHEM Mesuyu ShortbikeFus, MKHYUYI RPDIPDYM DMS Design Book NPD-NPDPSOFUFEK.

Eszköz PPP # kernel PPP

rapdablb PPP H SDTE DMS tervező dial-up. FBLS UCHEUFCHEF CHETSIS PPP, TEBMYPCHBOPZP LLB RTYMPSEYE, YURPMSHAHAEEE TUN, RTEDBZBAEEY SPMYEYUFCHP SPNPCOFUFEK, LLB, OPPTINET, UPTUE az RTY OPVIPVIPFUFY (Ekjiyuy Pwbeeois L UEFY).

Eszköz tun # csomag alagút.

yurpmshefus rpmshpchbfemshulene rpztbnnow pveoureyuyen ppp. Pvtbfyfuesh l tbdem ppp loise bbb dbmsheeks yozhptnbgyek.

Pty # Pseudo-TTY (telnet stb.)

Ruchedp-Fetteobm \u003e\u003e Ymy Imifeed-Cover RPTF DMS chipdb. Yurpmshhephus chipdseyine telnet th rlogin -uhuyusniy, rtympatsoien xterm oelpfptschniy dtkhsen rtympsoisy, flendine lonb emacs.

Eszköz md # memóriakártyák \u003e\u003e

reddep-khuftspufchb dyoulpch h rbnsfy.

Eszköz GIF # IPv6 és IPv4 alagút

rapdablb fhomemitfucked IPv6 Yuete IPv4, IPv4 Yuete IPv6, IPv4 Yuete IPv4 i Ipv6 Yute IPv6. HUFTSPUFCHP GIF SCMSEFUS Bcfpppppppppppphenshn\u003e\u003e, y vkhdaf ukdbfs zbkmsk huftpkuffs rp nethe opepvipdins.

Device Faith # IPv6-to-IPv4 relaying (fordítás)

lFP RUPRUP-HUFTPKUFCHP IBICHBFSHCPF RBLEFSH, az RPUMPT YE RETETICTBCHMSEF YI DBENPOH FTBUMSGY IPV4 / IPV6.

# A `bpf" eszköz lehetővé teszi a Berkeley csomagszűrő számára. # Tisztában kell lennie az adminisztratív következménye ennek lehetővé tétele érdekében! # Megjegyzendő, hogy a "BPF" szükséges a DHCP számára. Device BPF # Berkeley csomagszűrő

zhemshft RbleFpch Berkeley. LFP RUPREP-HUFPKUFCHP RPCHPMSEF RetoshpDyfs U Uphonzchek Yofhekhecuce h OtbangTyuchchku \u003e\u003e (válogatás) Thezzin, h LPFPTPN RTechichBfshchbefus Mavpk RBlef ChiTplepchebfemshopk UEFY (Optylenet Ethernet). BFF RBLEFSHCH NPZHF RUSFS-UPITBOO A DYULYA / YMYI YMYI YMYI YUMED ADCOBS RTY RPNPEY.

rtynyubya:

hUFTSPUFCHP FBLSTBNPK DMS FPZP, UFPVCH RPMHYUFSH BDTEU РTП РП хНПМюБАя Y F.R. Emum Chist Yurpmshefe DCHP, OE HDBMSKFAKE OBH PRGA.

# USB Support Device UHCI # UHCI PCI\u003e USB Interface Device ohci # ohci PCI\u003e USB Interface Device EHCI # EHCI PCI\u003e USB interfész (USB 2.0) Device USB # USB busz (Kötelező) #DEVICE UDBP # USB Double Bulk Pipe eszközök Device Ugen Interface Device Uhid # Human Interface Devices\u003e eszköz UKBD # billentyűzet eszköz Ulpt # Printer Device uMass # Lemezek / Mass Storage - szükséges ScBus és Da Device UMS # Mouse Device Ural # Ralink Technology RT2500USB vezeték nélküli hálózati kártyák Device Urio # Diamond Rio 500 MP3 Játékos eszköz USCANNER # szkennerek # USB Ethernet, igényel Mii Device Aue # Asax USB Ethernet eszköz ax # Asax Electronics USB Ethernet eszköz CDCE # Generic USB over Ethernet eszköz cue # Catc USB Ethernet eszköz Kue # Kawasaki LSI USB Ethernet eszköz Rue # Realtek RTL8150 USB Ethernet Intel (R) Pentium (R) PRO NME RSHYA RPCHPMSEF YURPMSHPCHBFSH PP 64 Zyzbvbkf PretGfychopk RBNSFY. FreeBSD YNEF RAPDABLH LFPC CHPNPTCOPUFY RIPTB UPTB PRGY SDTB PAE, DPUFHROPK CHP SELUI Felhay CHETUYI FreeBSD. Lakásviszonyok PZTBYUYEYASN BTIFELFHTECH INTEL, OE Dembefus Oillebpzp TBMYYUISE NEFF RBNSFsFSH Ozsey Yymchschy 4 Zyzbvbkf. RBNSFSH, TBNEEOOBS COUCH 4 ZYZBVBKF, RTPUP DPVBCHMSEUS L DPUFHROP RBNSFY.

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

Opciók PAE

rtynyubya:

rAPDABLB PAE H FREESSD UWEUFCHF FPMSLP DMS RTPGEUPTPH INTEL (R) IA-32. FBBNTS, UFP PAE H FREESSD, OE LUSHCOP RPMPUFSF RTPFEUFTPCHBOPI DPMCOP UBIFBFSHUS OBIHYSSAYNUS H UPUFPSUMY VELBIEYE RP UTBSNI, UFBWEHOSKNKEY CHPNPCOFSNY FREBSD.

rAPDABLB PAE H FREESSD YNEF HASZNÁLATA PZTBYUYUYEYAS:

    rtpguuu oe npccr rpmhyufshd dpufhr l néme, yuen 4 zyzbvbkfn rtputboufhb vm.

    dtbketchschu HUFTSPUCH, LPFPTSCHA OE YURPMSHAF YOPETHEKUK, RECHEDHF L RPCTEDUEYA Yozhptnbgy H Sdtte a Chlmayuoshchenn Pae-nál. OE TELPNEODHEFUS YURPMSHAPHBFSH FBYEE DTBKCHETS. RP FPK RTyuyuh h FreeBSD Chlmayuo LpbyzchtbgyPoshk ZBBM SDTB PAE, YEY LPFPTPZP HDBMES Chue Dtbketsch, P LPFPTSKI YUCHUUFOP, YUFP SOUNT TBVFBAF RTY CHLMAYUEOOPK RPDDezl PAE.

    oellpppt siker UYUFENOSH REAITER PRODEMSAF YURPMSHTOME TEHUMUTUCH RBNSFI RP LPMYUYUUFHH DPUFHROPK ZHYYYEULPK RBNSFY. FLITE REAER NPZKHF RTYCHUFY L OEOKHOFHOFHOFEUTOPNH CVDSEOEA RBNSFY YA-BB PUPVELOPEOPHEK TBVPFSH UYUFENC PAEE. PDYJ FBLYY RTynetpch - Retenteoobs kern.maxvnodes, LPFPTBS HTBCHMSEF NBLUINBMSOSCHPN LPMYUYUUFCHPN vnode, TBEEOPH HC SDTE. TELPNEEODUHEFUS HUFBOPCHYFSHI A LFF RPDPVOSE EK Retenta Növényi Châchojo H Blochbuff egy Bobbyuyas.

    chPNPCOP, RPobdpvymifus Hchechyuhufs RTPUFTBOUFCHP Chertfkhbmschoshki BDTeupch SDTB (KVA) YMY HNEOPHYFSH LBKHA-MYVP REISEEOOKH (UN. Church), LPTPTPK LSPTBCHDBOPK SUBLPE NPZMP RTYCHUFY L YEYETRBEA KVA. DMSI LFPP NPCCF VSFSH YURPMSCHBOBBOB PBGS SDTB KVA_Pages.

h Umkyube - mondta Pfopufemshop RTPYCHPDIFEMSHOPUFY I. UFBVYMSHOPUFI TELPNEEODHEFUS PUTBAFSHUS L UPHLBUGA THLPCHPDUFCHB. Uffbugb thlpchpdufchb ustecky oktatás yozhptnbgy p rapdabtzle pae h freebsd.

  • Helyreállítási mód.

Bevezetés

Valahogy a keresésben, hogyan rögzítem a konfigurációs ini fájlokat vagy a JSON-t a kiszolgálón az opciókon keresztül, de valamilyen oknál fogva kényelmetlenek vagy túl egyszerűek voltak, vagy kerékpárok. És bár szeretem az XML konfigurációt, de néha túlzottan hatalmas fájlok és kényelmetlenek egy kis számú beállításhoz, hogy sok szöveget írjanak. Egyszer megkérdezte egy barátot erről a témáról, egy könyvtárat dobott. A JSON-t egy YAML-vel való keverékben emlékezteti.

A könyvtárnak két interfésze van: funkcionális és objektum. Ezek nagyon hasonlítanak, mivel az objektum a funkcionális megvalósítás belsejében használja, de ebben a hozzászólásban néhány különbség van.

Konfigurálás és kapcsolat

A könyvtár számos tárhelyen van, így a telepítés egyszerű:
$ sudo aptitude telepítése libconfig8 libconfig8-dev liveconfig ++ libconfig ++ - dev

A C ++ forrásokban az alábbiak:
#Inlude.
vagy
#Inlude.
Vagy S.
#Inlude.

Konfigurációs fájl.

A Config fájl a következő típusú szerkezet:
# Példa az alkalmazás konfigurációs fájl verziója \u003d "1.0"; Alkalmazás: (Ablak: (Cím \u003d "(! Lang: Az alkalmazásom"; size = { w = 640; h = 480; }; pos = { x = 350; y = 250; }; }; list = (("abc", 123, true), 1.234, (/* an empty list */)); books = ({ title = "Kincses sziget"; author = "Robert Louis Stevenson"; price = 29.95; qty = 5; }, { title = "Snow Crash."; author = "Neal Stephenson"; price = 9.99; qty = 8; }); misc: { pi = 3.141592654; bigint = 9223372036854775807L; columns = [ "Last Name", "First Name", "MI" ]; bitmask = 0x1FC3; }; }; !}

A konfigurációs rekordok fő típusai ilyen típusok:

Elem (beállítás)
Ez a konfigurációs struktúra minimális jelentős része, és kulcsfontosságú értéke van:
Név \u003d érték;
vagy
Név: Érték.
Csoportok (csoportok)
A csoportok tartalmazhatnak bármilyen elemet, de minden elemnek tartalmaznia kell egy egyedi kulcsot a csoporton belül. Göndör zárójelben rögzített:
(beállítások ...)
Tömbök (tömbök)
Bármely számú elemet tartalmaz, még nulla, de az összes elem csak értékekből áll, és ugyanolyan skaláris típusúnak kell lennie a tömbben. A szögletes zárójelben írja:
[Érték, érték ...]
Listák (listák)
A listák nulla vagy több skalár típusú elemeket, tömböket, csoportokat vagy listákat tartalmaznak. Zárójelben rögzített:
(Érték, érték ...)
Egész számok (egész számok)
A szokásos decimális módszer (± 0-9) vagy hexadecimális formában (0xa-f) rögzítik őket. De az egész értékek a -2147483648..2147483647..2147483647 (32 bit) tartományra korlátozódnak, de ha nagy tartományokra van szükség, akkor az "L" a végén kerül hozzáadásra.
3578934 897893450934L
Float úszik (úszók)
Túlságosan ismerős számunkra
3.1415
Felvétel az "E" exponens szabványnak.
Boolean értékek (Boolean)
Az értékeket "igaz" vagy "hamis" és regiszterfüggővé írják (természetesen idézetek nélkül).
Húrok (húrok)
Írjon kettős idézeteket, mint "a szokásos hosszú karakterláncot."
A következő opciók végül ugyanolyan értéket adnak a karakterláncban:
"A szokásos hosszú string" "például rögzítve"
"Normál hosszú string" / * megjegyzés * / "rögzített" // megjegyzés ".
Hozzászólások
A konfiguráció három ismerősé válik a C ++ -ban:
  • # Egyetlen sor a sor végéig
  • // is egyszeri vonal a sor végéig
  • / * ... * / multiline megjegyzés, beleértve a sorátutalást is
Külső kapcsolatok (magában foglalja)
Ez általában a leginkább finom íz.
# Fájl: quote.cfg quote \u003d "A kritika nem lehet elfogadható, de szükséges." "Ez ugyanazt a funkciót teljesíti, mint az emberi" "test fájdalma. Ez felhívja a figyelmet a" "dolgok egészségtelen állapotára. \\ N" "" Winston Churchill ";
# Fájl: test.cfg info: (Név \u003d "Winston Churchill"; @nclude "quote.cfg" körül "uk";);

API-vel

Ebben a részben nem fogok festeni az összes funkciót, csak a főbb, mivel ezek általában hasonlóak, és a fő árnyalatok.

Az alábbi jellemzők leírása

#Inlude. #Inlude. #Inlude. / * Ez a példa a "example.cfg" konfigurációs fájlt olvassa, és megjeleníti komponenseinek * / int Main (INT ARRGC, char ** argv) (/ * Ezeket a típusokat használják. * / Config_t cfg; config_setting_t * beállítása; const char * str, config_init (& cfg); / * Kötelező inicializálás * / / * Elolvasta a fájlt. Ha hiba történt, akkor a műveletet * / ha (! config_read_file (& cfg, "example.cfg") (Frintf (stderr) "% s:% d -% s \\ n", config_error_file (& cfg), config_error_line (& cfg), config_error_text (& cfg)); config_destroy (& cfg); visszatérés (Exit_Failure);) / * Keressen néhányat "Név". * / IF (CONFIG_LOOKUP_STRING (& CFG, "NAME", & STR)) Printf ("Store név:% s \\ n \\ n", STR); másholf (stderr, "nincs" név " Beállítás a konfigurációs fájlban. \\ n "); / * A könyvek listájának kimenete polcokkal * / Setting \u003d config_lookup (& cfg," leltár.books "); ha (Beállítás! \u003d NULL) (int Count \u003d Config_Setting_Length (Beállítás) ); int i; nyomtatás ("% - 30s% -30S% -6s% s \\ n", "Cím", "Szerző", "Ár", "qty"); mert (i \u003d 0;< 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); }

A funkcionalitás kis leírása
Teljes leírás a dokumentációban.

config_t. - A konfigurációs fájl típusa (ez nem rekord). Nagyjából beszél, a fő tartály.
config_setting_t. - A konfigurációs elem tárgya. A példa egy mutatót használ a tartályba a kívánt elemre.
Int. config_read_file(config_t * config, const char * fájlnév) - Funkció A fájlnév konfigurációs fájlja a memóriára és kitölti a típusobjektumot config_t.. Nem lehet olvasni a fájlból, és azonnal "eső" a CONFIG_READ_STRING (), vagy adjon meg fájlleíró a Config_Read ()
Int. config_lookup_string (CONST CONFIG_T * CONFIG, CONSTRY * PATH, CONSTRY ** érték) - Keresések és értékek egy mutató formájában egy karakterlánc formájában ÉrtékA megadott útvonalon pálya. A konfiguráció belsejében config.
Config_setting_t * config_lookup. (Const Config_t * Config, const char * Path) - keres egy bejegyzés belsejében config újra a megadott belső kontúrt és visszatér rá.
Config_setting_t * config_setting_get_elem. (Const config_setting_t * beállítása, unsigned int index) - a tömbökhez, listák, amelyek az elemeket ilyen számmal adják meg
Int. config_setting_lookup_string (Const config_setting_t * beállítás, const char * név, const char ** érték) -
Visszaadja az értéket Érték Lányos elem név. Egy adott felvétel tekintetében beállítás.
Ha szükséges egy adott beállított rekordban értéket kapni, akkor típusú funkciókat használnak.
Int. config_setting_get_int (Const config_setting_t * beállítás)

C ++ API.

Ugyanaz a példa, de a C ++. Teljes dokumentáció az oldalon

#Inlude. #Inlude. #Inlude. #Inlude. Névtér STD használatával; Névtér libconfig használatával; // Példa, amely elolvassa a "example.cfg" konfigurációs fájlt, és megjeleníti a bejegyzési rekordot (INT ARRGC, CHAN ** ARGV) (CONFIG CFG; // A fájl olvasása. Vagy olvassa el a fájlt a C ++ Hiba visszaadása, és dobja a kipróbálás (cfg.readfile ("example.cfg");) Catch (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); }
Itt ugyanaz az elv, mint egy funkcionális stílusban, csak az adatok fogadása előtt, a gyökérelem megszerzéséhez szükséges cfg.getroot (); Aztán tőle, hogy forduljon az elemek többi részéhez. Szükség van arra is, hogy figyeljük arra a tényre is, hogy szinte minden hibát kivételtek.

Következtetés

A kényelmes konfigurációk olvasása mellett az API is biztosítja a konfigurációs elemek létrehozásának funkcionalitását, és írja azt a médiához.