Menü
Bedava
giriş
ana  /  Programlar / Hangi yapılandırma dosyası. Yapılandırma Dosyaları

Hangi yapılandırma dosyası. Yapılandırma Dosyaları

Linux işletim sistemi Windows'un aksine, sistem ayarlarını saklamak için ortak bir kayıt defterine sahip değil, tüm ayarlar yapılandırma dosyalarında saklanır. Bu dosyaların çoğu / etc / klasörüne gönderilir.

Çoğu sistem ve üçüncü taraf programlarının ayarları bu dosyalarda, bir grafik sunucusu, giriş yöneticisi, sistem hizmetleri, web sunucusu, başlatma sistemleri için ayarlar olabilir.

Yapılandırma dosyalarının sadece bir kısmı, kullanıcının ana dizininde çalışma ortamı ayarları gibi diğer klasörlerde bulunur. Yeni başlayanlar, bunlar veya diğer yapılandırma dosyalarından sorumlu olduklarını anlamak çok önemlidir, böylece gerekirse gezinmek çok hızlıdır. Bu yazıda, Linux'un ana yapılandırma dosyalarına, konumlarını ve amaçlarına bakacağız.

Aslında, Linux sisteminde yapılandırma dosyası yoktur. İşletim sistemi sadece bir dizi program ve çekirdeği olduğundan, tüm bu dosyalar belirli programlar tarafından oluşturuldu ve davranışları yapılandırmak için onlar tarafından okundu. Standart olarak düşündüğümüz dosya, başlatma sistemi veya diğer sistem yardımcı programlarıdır.

Dediğim gibi, çoğu dosya / vb. Bu klasörün adı, Latince "ve diğerleri" veya "ve benzeri" anlamına gelen "et cetera" olarak şifresi çözülür. İlk önce, / etc linux dizininin içeriğini görelim:

Burada birçok farklı dosya var. O zaman birçoğunun randevusunu düşüneceğiz. Liste alfabe ile sıralanır.

1. / etc / adjtime

Bu yapılandırma dosyası, sistem zaman formatını ayarlamaktan ve Systemd zamandolu servis tarafından okunmasından sorumludur. Zaman iki seçenekte gösterilebilir: Yerel - mevcut saat dilimi ve UTC'nin zamanı - Greenwich'in zamanı. Değeri manuel olarak değiştirebilir veya TimeDateCTL yardımcı programını kullanabilirsiniz.

2. /etc/bash.bashrc.

Bu dosya bash komut kabuğuna aittir. Bu tamamen yapılandırma dosyası değildir - ve komut dosyası, kabuğu ayarlamak için bash örneği başlatıldığında içeriği gerçekleştirilir. Benzer şekilde, her kullanıcı için ~ / .bashrc dosyasının içeriği.

3. / etc / crontab

6. / etc / grup

25. / etc / sudoers

/ etc / sudoers bir kurulum dosyasıdır. Bu yardımcı program, Superuser adına da dahil olmak üzere diğer kullanıcılar adına komutları çalıştırmanızı sağlar. Ancak, sadece bu dosyada yazıldığından bu kullanıcılar kullanabilir.

26. /etc/sysctl.conf.

Bu dosya yürütmeden sorumludur. Burada alt sistem / sys / sys / sys / sys / ve yeniden başlatıldıktan sonra kaydedileceklerini belirtebilirsiniz.

27. /etc/vconsole.conf.

Bu dosyanın yalnızca bir hedefi vardır - Makine tarafından çalışan tüm sanal konsollar için kodlamayı, klavye düzenini ve varsayılan yazı tipini ayarlayın.

28. /Boot/grub/grub.cfg.

Bu Linux yapılandırma dosyası, özel amaçları nedeniyle / etc'de değildir. Tüm önyükleyici ayarlarını, menü öğelerini ve diğer parametreleri içerir, bu nedenle kök dosya sistemi bağlıysa erişilebilir olmalıdır.

sonuç

Bu yazıda / etc / klasördeki ana Linux yapılandırma dosyalarını inceledik. Belki de herhangi bir önemli dosyalar, sizin fikrinizde kaçırılır, o zaman kesinlikle onlara ve yorumlardaki amaçlarını söyleyeceksiniz!

Komut satırını kullanarak görev profili - yöntem her zaman uygundur. En komut satırıyla çalışırken bile, ortam, her seferinde ve herhangi bir takım için onları belirlememek için ayarları kaydetmek için kullanılır. Özellikleri bir oturumdan bir oturuma değil, sürekli olarak bir oturuma kaydedilmeyen karmaşık sistem hizmetleri hakkında ne konuşacaksınız, ancak sürekli (sistemi yeniden başlatırken dahil). Çıktı basittir: "Ayarlar Kaydet" komutu tarafından oluşturulanlar gibi, profil dosyada tutulmalıdır.

Bununla birlikte, kullanıcının bu dosyayı değiştiremediği dosyadaki profilin depolanmasına yaklaşımı doğrudan, ancak "SMART" yapılandırıcılarını kullanır, yalnızca ayarların birçok olduğu durumlarda uygundur ve hatanın maliyeti küçük (örneğin, masaüstünün görünümünü ayarlarken). Genel olarak, ayarlanması oldukça zor davranış Bu sistemin alması gereken gerçeğinin açıklamasına (sık sık örtük) özelliklerine göre sistemler sonuç olarak. Başka bir deyişle, ne olacağı açıklamasından, her zaman nasıl elde edilmesi gerektiği sonuçlandırmak mümkün değildir.

Yapılandırma dosyası.. Sistemin bir kısmının ayarlarını içeren bir metin dosyası (yardımcı program, şeytan vb.). Kural olarak, başlarken tarafından okunur. Profili düzenleme Linux yöntemi için tipik.

Kısacası, varsa yapılandırma dosyası., Bu dosya için düzenleme araçları olmalıdır. Linux'ta yüksek gelişmiş bir depolama sisteminin uygulandığını göz önünde bulundurarak İşleme (Hem manuel hem de otomatik) Metin formundaki veriler, bir tür yeni formatı icat etmek, bisikleti yeniden icat etmek ister. Ayrıca, profilin kontrol nesneleri ve özellikleri üzerindeki net bir bölünme olduğunda, dizeleri ve kelimelere bölünmüş metindir (örneğin, bazı arka planların ayarları ve bu ayarların değerleri). Ek olarak, Linux metin editörleri yapılandırılmış metinlerle iptal edilir: VI, EMACS, vb.

[E-posta Korumalı]: ~ $ kedi .vimrc so $ vimruntime / vimrc_example.vim "Bazı eşlemeler Harita: Duvar! ^ m Harita! ^ O: Duvar! ^ m" Tune UP set ShiftWidth \u003d 2 Tabstop \u003d 8 Geçmiş \u003d 200 Viminfo \u003d "50 Set Showmode Showmatch Showcmd Ruler Modeline Set Otomatiktent Ignorecast SmartCase Set Nohlsearch NoockSearch Set Dir \u003d / Var / TMP Set WildMode \u003d Liste: Renkli, Tam Set WildMenu "ColorScheme Çölü'nde Boyama Sözdizimi Örnek 12.2. Ayarlar Editör VIM.

Gibi görünen bu yapılandırma dosyası. Vim için, Gurevich'ten alınan dosyanın temelinde metodius tarafından yazılmıştır. Dosyanın komut satırı komutları VI komut satırından (çoğu Linux yardımcı programının aksine, VI yorumları "nin aksine" "olarak başlayacağını fark etmek kolaydır." ^ O "ve" ^ m "sembolleri - bu karşılık gelen kontrol karakterleridir. ("^ v" kullanarak bir metin dosyasına takılı, konferans 9). Böyle yapılandırma dosyası. Anlaşılması ve değişmesi kolaydır.

Daha önce görüldüğü gibi, çevre değişkenleri kümesi, tüm başlatılan programların hassas olduğu özel bir profildir - bu onun itibarıyla. Çevredeki değişkenler, komut komut dosyasında da belirtilebilir. yapılandırma dosyası.). Örneğin, kullanılan birçok dağıtımda yapılandırma dosyası. .i18n Klavye dil özelliklerini, mesaj çıkış dili, vb. Yapılandırmak için 2 "I18n" atama, 20 harften, yani "I", "n" ve aralarında 18 harften oluşan "uluslararasılaşma" kelimesinden gelir. :

[E-posta Korumalı]: ~ $ cat .i18n lang \u003d ru_en.koi8-r dili \u003d ru_en.koi8-r sysfontacm \u003d koi8-r sysfontacm \u003d koi8-r sysfont \u003d unicyr_8x16 Sözlük \u003d rusça mpage \u003d "- ckoi8-r" İhracat Sözlük Molage Örnek 12.3. Dil Özelliği Yapılandırma Dosyası

Bununla birlikte, belirli bir programın ayarlarını (her şey tarafından gerekli değildir) çevreleyen - en başarılı çözüm değil: çevre değişkenini belirten sözdizimi, çok basit ( coment_name \u003d değer) ve değişkenler kendileri çok fazla olur, bu nedenle, hangi grup ayarlarının hangisinin olduğunu seçmek zordur. Tüm ayarları değere yerleştirmeye çalışırsanız bir Değişken, bu değer zor olacak ve bir metin formatının tüm avantajı no. Örneğin, standart yapılandırma dosyası. LS yardımcı programları (daha kesin, sadece renk tercihleri) - / etc / dir_Colors (kişisel bir dosya ~ / .dir_colors ile değiştirilebilir), yorumlarla birlikte yaklaşık yüz çizgiyi alır. LS komutu bu dosyayı kullanmaz, ancak Dircolors yardımcı programı, herhangi bir yorum yapmadan 600 karakterli dize olan değeri olan LS_Colors değişkeniyle oluşturulur.

Profil çok büyükse, birinde saklayın yapılandırma Dosyası -, kullanıcıyı bu dosyayı tamamen sökmek için şüpheli bir zevk sunmak için, gerekirse minimum bir değişiklik yapın. Biraz rahatsız edici mücadele yöntemleri. Özellikle, ".d" mekanizması, derste zaten bilinen mekanizması: Dosya birkaçına ayrılmıştır. bağımsız Birbirinden dosyalar, böylece düzenlemek için dosyalardan sadece biridir ve program kendi kullanım sırasında her şeyi okur.

Başka bir yol neye güveniyor değişiklikKullanıcının profile katkıda bulunduğunu, bir kural olarak, tüm profilin hacminden önemli ölçüde daha az. Bu nedenle, tüm varsayılan ayarların bir dosyadaki tüm varsayılan ayarları, hiçbir şekilde gerekli olmayan ve kullanıcı ayarları dosyası "üstte" olarak kullandığı gibi kullanımı avantajlı olabilir, profili kendilerine göre değiştirir. sonra Varsayılan profil nasıl ayarlanır? Bu yöntemin ek bir avantajı, kullanıcının, bunun veya başka bir ayarın nasıl yapılacağını öğrenmek için her zaman "büyük" dosyaya getirilebilmesidir. Örneğin, bir çıkarılabilir disk taşıyıcısını (örneğin bir lazer diski) ne zaman (örneğin, bir lazer diski) olan içeriğini / etc / fstab'ı değiştiren UpdFstab yardımcı programı, veri okur yapılandırma Dosyası /etc/updfstab.conf. Bu dosyanın kendisi tekil çizginden oluşur: /etc/updfstab.conf.default dahilOkuma dosyasına varsayılan ayarlara yol açan, birçok çıkarılabilir sistem cihazıyla çalışmanın bir yolu ayarlanır. Yöneticinin bir şekilde belirli bir aygıta ile ilgili olarak değiştirilmesi gerekiyorsa, Updfstab.conf.Default dosyasındaki karşılık gelen ayarlar grubunu kopyalar. sonra STRTS dahildir .. Ve onları düzeltir. Bu ayar gruplarının iki kez okunması, özel bir rol oynamadığı gerçeği: Kısa dosyaları okumak hızlı bir şekilde gerçekleştirilir.

Sonunda, yapmanın üçüncü yolu yapılandırma dosyası. okunaklı - ayrılma Tüm ayarlar gruplara ayrıldığında profil, her grubun kendi adı verilir ve sözdizimi yapılandırma Dosyası Grupların sınırlarının bakarken iyi farklılık göstermesi için tasarlanmıştır. Özünde, bu yöntem, grubun ayrı bir dosyaya karşılık geldiği ".d" şemasının atasıdır, ancak dosyalar uygunsuz olduğunda durum rahatsız edici değil (örneğin, gruplar tamamen bağımsız değilse) onları bir kerede düzenlemek için gerekli olabilir). Yapılandırma dosyası. Örneğin, WVDial Arama Yardımcı Programları, Addressesee (sağlayıcı) artı ayrı bir bölüm "Varsayılan" tarafından bölümlendirildi. Bölümlerin kendileri, köşeli parantez içine alınmış her bir başlıklardan ayrılır:

[E-posta Korumalı]: ~\u003e CAT .WVDIALRC modem \u003d / dev / modem baud \u003d 115200 init1 \u003d ATZ init2 \u003d ATQ0 L0 M4 V1 E1 S0 \u003d 0 & C1 & D2 + FCLASS \u003d 0 & C1 & D2 + FCLASS \u003d 0 Otomatik DNS \u003d Modem Tipi \u003d Analog Modem Telefon \u003d 0123456 Kullanıcı Adı \u003d İtfaiyeci Şifre \u003d Ateş! Ateş! TONLINE \u003d Gerçek Telefon \u003d 0246813 Kullanıcı Adı \u003d COP-120 Şifre \u003d GimmetGun Güç Adresi \u003d 10.0.0.120 Örnek 12.4. Bölümlenmiş yapılandırma dosyası

WVDial Utility, son derece gelişmiş bir yapay zekaya sahiptir: Sunucuda hangi kimlik türü kullanıldığında bağımsız olarak teigns. Örneğin, "diğer taraftan", önce normal bir giriş adı ve şifreyi girmesi gereken Linux terminali olabilir, ardından bir komut satırı almanız gerekir, sunucu Şebeke şeytan pppd.Ve sadece bundan sonra kendi makinenizde PPPD çalıştırın. Başka bir varyant: pppd. Sunucu zaten çalışıyor ve "kullanıcı adı" ve "şifre" ayarları, kullanılan chap protokolünün tanımlama bilgilerini ifade ediyor. pppd.. Bütün bunlar ve birçok WVDial, WVDialconf'un hangi cihazın bir modem olduğunu nasıl belirleyeceğini biliyor.

Ancak, yapay bir zekada, anlaşılmaz bir yaşam durumu var. Sunuculardan birinde ("Dialer Hotshace" bölümünde) ayrıca Yapay zekanın enkarnasyonu olan bir program var. ayrıca Bununla ne gibi tanımlamak istediğimi belirlemeye çalışmak. Çünkü bu iki kokpit, çünkü herkes kimseyi bekliyor, biri kendilerini göstermezken ... kendilerini göstermiyor ... bu, WVDial'ın hemen PPP protokolünü derhal kullanmasına neden olan, sunucunun "ah, ppp!" Olarak kullanmasına neden olan ton hattı yapılandırmasına yardımcı olur. rahatlamayla pppd.. Soru kalır: Bu yararlı ayarlama neden dokümantasyona yansıtılmıyor (Gurevich programının kaynak metinlerinde buldum)? WVDialconf-WVDial çiftinin kullanıcı için her şeyi yapmadığı gibi görünmüyor, ancak bu programın geliştiricileri için kullanıcı belgeleri önemli değil mi?

Varsayılan ayarlar fikri geliştirilebilir. Kurulum açıklaması manuel olarak yerleştirilmediğinde, doğrudan içeri girdiğinde uygun olduğu ortaya çıktı. yapılandırma dosyası. Yorumlar şeklinde. Ardından, bu ayarı değiştirirken, kullanıcı derhal temsil ettiğini görür, ancak dosyada bir satır bulma ihtiyacını ortadan kaybolur ve ardından kılavuzda arayın. Böyle ortak bir kayıt yöntemi denir kendi kendine belgelendirme Profil. Örneğin, /etc/man.conf dosyası, adam komutunun çalışmasını yöneten, değiştirilmiş bir tarzda dekore edilmiştir:

[E-posta Korumalı]: ~ $ Cat /etc/man.conf. . . # Nocache, adamı önbellek sayfalarını oluşturmasını engeller ("Kedi Sayfaları") # (Genel olarak, Kedi Sayfası Oluşturmayı Nasıl Etkiliyor / Devre Dışı Bırak) # Dizini Oluşturma / Silme) # # Nocache # Komutu "Man -a Xyzzy" Xyzzy için sayfalar. # CMP tanımlandığında Adam aynı # metni iki kez göstermeyi önleyecektir. (Ancak sıkıştırılmış sayfalar eşitsizliği karşılaştırır.) # CMP / USR / bin / CMP -S. . . Örnek 12.5. Kendi kendini belgeleyen yapılandırma dosyası.

Methodius, belki de hemen anlayamadım, neden CMP yardımcı programını kullanacak adam komutunun, açıklayıcı yorumlarda yazılır: bir kerede birkaç kılavuz göstermeniz gerektiğinde, önceden karşılaştırılırlar ve sadece tutarsızdır. gösterilmiştir.

Daha fazla giderseniz, kullanıcı örnekleri ile birkaç farklı dosya oluşturabilirsiniz, böylece kullanıcı bunlardan birini alabilir ve kendi durumuna getirebilir. Böyle bir şeydir - bir gösteri - metodius'un yapılandırılması ve varsayılan ayarlar olarak açıktır .Vimrc'nize (ilk satırda). Bu arada, aslında, VIM profili oldukça karmaşıktır, ancak varsayılan ayarlarının çoğu çeşitli dizin dosyalarında bulunur / USR / Paylaş / vim. - Ayarlar alt gruplarına karşılık gelen profil dosyalarının gruplara karşılık gelen alt dizinlerde olduğu ".d / .d" şeması şekli. Belirli bir konfigürasyon dosyasının dahil edilmesi dolaylı olarak ortaya çıkabilir: örneğin, .vimrc'den Çizgi Colorscheme çölünün okumasına yol açar / USR / Paylaş / vim / renkler / çöl. Vim..

Yapılandırma Dosyaları Karmaşık veri yapılarına uyunsa (örneğin, IRC istemcisi IRSSI'yi yapılandırın) veya ek fon içermezse, oldukça karmaşık bir sözdizimine sahip olabilir veya kendi kendine belgelendirme (Örneğin, Lynx metni www tarayıcısı metin kurulum dosyası sadece iyi belgelenmemiştir, ancak aynı zamanda tarayıcının HTML'yi temsil etmesi için aynı araçları işaretleyin).

Yapılandırma dosyası.

Yapılandırma dosyası.

Yapılandırma dosyası, tanımlayan bir dosyadır:
- Yazılım sisteminin yapısı; ve / veya
- Belirli ayarını tanımlayan yardımcı parametreler.
Genellikle yapılandırma dosyası, yazılım sistemi tarafından yorumlanan bir metin dosyası olarak uygulanır.

Ayrıca bakınız: Dosyalar

Finansal sözlük finams.


Diğer sözlüklerde "yapılandırma dosyası" nedir?

    yapılandırma dosyası. - Uygulamanın, bilgisayarın veya ağ cihazının davranışını belirleyen bilgiyi içeren ikili veya metin dosyası. Ağlar Ağ Bilgi İşlemi TR Yapılandırma Dosyası ... Teknik Tercüman Dizini

    Veya bir konfigürasyon dosyası, işletim sistemleri de dahil olmak üzere bilgisayar program ayarlarını saklamak için kullanılır. Kural olarak, yapılandırma dosyaları bir metin formatına sahiptir ve programın kullanıcısı tarafından okunabilir ve düzenlenebilir. ... ... wikipedia

    Yapılandırma dosyası veya yapılandırma dosyası, işletim sistemleri de dahil olmak üzere bilgisayar program ayarlarını saklamak için kullanılır. Kural olarak, yapılandırma dosyaları bir metin formatına sahiptir ve okunabilir ve düzenlenebilir ... ... wikipedia

    Tip Dosya Sistemi, Şifreleme Geliştirici Valient Gough Ameltery System Linux, FreeBSD, Mac OS Son sürüm 1.7.4 (5 Eylül 2010) Lisansı ... wikipedia

    Sunucu İstatistikleri Sayfası ... Vikipedi

    Bu makale veya bölümün geri dönüşüm ihtiyacı var. Lütfen makalenin yazma kurallarına uygun makaleyi iyileştirin. Tanımlayıcı ... wikipedia

    İşlemsel (veya "navigasyon") veritabanlarını düzenlemek için yazılım ürünü (DBMS). Yüksek arama ve veri çıkarma hızı sağlayan ISAM veri kuruluş yöntemine dayanarak. Birkaç versiyon vardı ... ... ... wikipedia

    Opera Tarayıcı Ekran Görüntüsü Opera 9.6 Tarayıcı Tipi Geliştirici Opera Software ASA Yazılı ... Wikipedia

    Bu terimde ayrıca başka değerlere sahiptir, bkz. PHP (değerler). PHP semantics: MultiParadigre ... Wikipedia

Bb rpmoshn urreulpn bthyfelfht-ibdyounds rbtbneftpch huftspufch pvtbfyfuesh l zbkmh not h fpn tse lbfbmza, yufp i jenerik. BTYFELFHTOP OebChilights RBTBneples Obphdsfus H / USR / SRC / SYS / CONF / NOTLAR.

dYTELFYCHB, UFBMB DPUFHROPK DMS YURPMSHPPCHWIS H LPBYZCHTBGYPO-ZBKMBBY'dir. Rpchpmsef chlmayubfsh h felheyk lpzhtbgypostep zbkm uptaynpe dthzpzp zbkkmb, saç kurutma makinesi Ubnshchenn HorthPebs rtpguuu sheyueyas oeevpmshyy yyneyukeyak ht uhweyufchheyk zhbkm. Ottinet, eumy chbn opepvipdinp dpvbchyfs chuzp oletulpmshlp dprpmafemfemfeemski prgyk ymy dtbchtph h sdtp jenerik, fp chbn rtidadfus rapdabychbfsh fpmslp tbyegh l zhbkmh jenerik:

Genel Ideal Mykernel Seçenekleri IPFirewall Seçenekleri DUMYNET Seçenekleri IPFirewall_Default_To_Accept Seçenekleri IPDivert

vpmshoffchp bdnyuyuftbftph pheosf urbyuufemfemchoske urpupvpn - obryuboyen lpzhtbgypopzp zbkmb uhhss \u003e\u003e: chbmizhtbgyposhk zbkm vkhdaf pfpvtbfsbf fpmslp yeniicoyyays pfpuifemshop jenerik. BPUME PVOPCHMEYK YUPDDOPPPPOPPOVOSCHOPOP, NDPCPUFUFIFY ZHHLHHOPOVOSCHOPOP, RSSCHYCHEUS H Genel, VHDHF DPVBSHMESH ЧЧТБГА, EMUY FPMSLP OE RTRSFUFCHPHBFSHPNH DYTELCKS NOMTIONS YY NODEVICE. DBME HFPN TBBIDEME PRESCHBEFUS FIRPCHPPK LPZHTBHTBGEPOSHK ZBKM, OZP prgisy HUFPKUFCHB, B FBLTER YI TPMY.

rtynyubya:

dMS Ohptly SDTB UP CHENY CPNPSSHOP PRGSNY (PVSHUOP YURPMSHEFUS DMS FEUFTPHS), ChSCHPMEF PF Inea Uphrpmshpchbbfems (Root) Umvedhaech LfBodh:

# CD / USR / SRC / SYS / i386./ Conf && havlamak

lFP RTYNET LPZHTBGYPOPSP ZBKMB SDTB JENELIC TBMIOSPY DPRMOFMFEMSKNY LPNNEFBTYSNY, LPFPTCTP NPZHF RPOBDPVYFSUS DMS SUOPUGI. LFPF rtynet dpmtseo upgrbdbfs chbehak lprikek h / usr / src / sys / i386./ Conf / jenerik rtblfyyuele rpmopufs.

Makine i386.

bFP Bintifelf çubuk. 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 RTPGUUUPTB, LPFTSCHK YURPMSHHEFUS H Chbekhek Uyüfen. 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 EY RTPGEUUPTB, LPFPTSCHK HUFBOPCHMEO H CHBYEK UYUFENE. Eumy Kilisesi Heteks, LBPK FIR Opvipdinp YURPMSHBBFSH CHBN, Chist Npsefe Chpurpmshpchbfshus zhbkmpn /var/run/dmesg.boot, üfpvysch hatchfsh rtpfplpm бабзтхлю уйфенст.

Özerk.

lfpf rbtbneft preddemsef NEFLCH \u003e\u003e SDTB. OPEPVIPDINP, UFPVCH UPPÜCHFCHBBMBMBB LPGKMB LPOZHTBGY SDTB, Ottinet Mykernel. , Emum chrc uftpchbmy yofthlgysn h rt'stshdeia rtynetby. OBYuEOYE, LPFPTPE BL RTYUCHPYFE RBTBNEFTH identi VHDEF CHSCHCHPDYFSHUS H RTPGEUUE BZTHLY, RPFPNH RPMEOP DBCHBFSH OPCHSCHN SDTBN DTHZYE YNEOB FPZP LCA, PD YUFPVSCH PFMYYUBFSH Yee PVSCHYUOPZP SDTB (OBRTYNET, EUMY BL IPFYFE UPVTBFSH LURETYNEOFBMSHOPE RAS).

#Boot/device.hints #hints "jenerik.hints" #hints "Generic.hints" #hints cihazları aramak için varsayılan yerleri statik olarak derlemek. Seçenekler Schedu_Ule # ULE Scheduler

rmbytpchel rp hnpmyuba pe freebsd. PUFBCHF IFK PRGA.

Seçenekler Preemption # Çekirdek İplik Preemption'u Etkinleştir

rPCHPMSF Chistripthyptypectural OIFSN SDTB Chschpheosfsfchteoofrph, Obihydsayius H Tserin Khschpmois. BFB PRGS NPCCF TBLFYUFSUFS UJFENSKU PPP PFAKAYA LI Cheyyoin Chpadekufchysn, Oppetnet, BBB Uufef Outcooks Mbfofopufi Oufek, Pvtbvbfshchbei rttttschuks.

Seçenekler inet # Internetworking

rapdabyzlb Uphonchi Chpnpcopouffek. PUFBCHFA OPH PRGA ChlMAYUOOOPK, DBCE EMUY Chist oe rbsutfe rpdlmayubfshus l uefy. VPMSHOFCHP RTPZTBNN FTEVHAF, IPFS TBVPFBM IPFS VSHN YOPETHEKUK PVTBFOPK Akademisi (Loopback) (F.E. Uphtheck Upheck Ustaeoye Chokhft Chchezp RL), FBL Yufp BFB PRGS H Rtyogire Schamsefus Pvsbfemshopk.

Seçenekler inet6 # IPv6 İletişim Protokolleri

chlmayubef rpdbetslh ldnnhylbgypoobya IPv6 IPv6.

Seçenekler FFS # Berkeley Fast Dosya Sistemi

chlmayubef rpddezlch poopchopk zbbmpc uyufenz. OE HDBMSKFE IFH PRGA, ZEUFLPZP DYOLEB'DE EMUY Chist RAMBITHEF OBBZTCHSBFSUS.

Seçenekler SoftupDates # FFS Soft Güncellemeleri Desteğini Etkinleştir

lFPF RBTBNFFF CHLMAYUBEF H SDTE FAYOPMPZYA Soft Güncellemeleri, LPFPTBS RPCHESTBEF UPTPUFSH Obbryuy Dyuly hakkında. FP, YUFP BFB FeOpmpgzises Chlmayeob H Sdthe, SCC DMPSOB VSSFSH CHLMAYEOB DMS PFDEXSPSETS DYULPH'TA OEUNPFTS. Rtpunpfffe chisppd lpnbodshy sophpwesch poddenimifs, chlmayuz wesel yumuşak güncellemeler DMS DYULPH chbeshek Uyufenz. Emum Chater Hhidef Rbtbnest Soft-Güncellemeleri, Chbn VKHDEF OPVIPDINP BLFYCHYTPCHBFS HTZP RTY RPNPEY LPNBODCH (DMS ULEUFCHHEI ZBKMPCHSI UYUFEN) YMY LPNBODSHCHI (DMS ve LDC).

Seçenekler UFS_ACL # erişim kontrol listeleri için destek

lFPF RBTBNEFT CHLMAYUBEF H SDTE RPDDEZLCH URREULPCH HORTHBCHMEOISE DPUFHRPN (ACL). YURPMOPHBAY TBUTEOPEOPHIE BFFMSHOP, PRIUBOYE OKUYUCU HAKKINDA PUPPCHCHBEFUS, PRIUBOYE ORTIK OBKFY H TBDEMљ14.12,\u003e. Acl chlmayueosch rp hnpmyuboya th oe dpmtsosch chschlmayubfshus b umhyube, eumy şarkı tboee yurpmshpchbmyush üzerinde zhbkmpchpk uyure, fbl lbl fp hdbmyf uryuly hrtbchmeoys dpufhrpn j yneoyf af lbl beyeeosch zhbkmsch, oertedulbhenschn pvtbpn.

Seçenekler UFS_DIRHASH # Büyük Dizinlerdeki Performansı Artırın

bFB PRGS CHLMAYUBEF ZHHOLGYPOBMOPUFUFSHOPHOPHOPHOPF, LPFPTBSCHISCHYBEF UPTPUFSH DYULRCHISCHI PLASTGGYK ÜZERİNDE PVMSYY LBFBMBSBI H PVNEO YURPMSHAPHBEY HAKKINDA DPRPMAFEMOPK RBNSFY. DMS VPMSHIKZP UTCHEB YMY TBVPYEK UFBOGI TELPNEEODHEFUS PUFBCHYFS Onu ChlMAYUOOOPK, Chchchchchchayufsh DMS Uyufensh, DMSFSF, Yuen Ulptpuffs DPUFHRB L DYULBHTB, OPTYENET DMS VTBODNBHTB.

Seçenekler MD_ROOT # MD potansiyel bir kök cihazıdır

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

Seçenekler NFSClient # Ağ Dosya Sistemi İstemcisi Seçenekleri NFSServer # Ağ FilesSystem Sunucu Seçenekleri NFS_ROOT # NFS /, NFSClient gerektirir

ufhechbs zhbkmpcbs Uyufenb. Emuy Chister RMBETHEFE NPFYTPCHBFSP TBDEMCH ZBKMPCPPZP UTUCHB UNIX (R) TCP / IP, Chist NPSEFA YULMAFSH BFPF RBTBNEXT YA LPBYZCHTBGJPOPPZP ZBKMB SDTB.

Seçenekler MSDOSFS # MSDOS FISSISTEM

zBCMPCBS Uyufenb MS-DOS (R). Emum chist oe upvitbefeuush npfytpchbfs shptnbftpts ch dos tbide cseuflpzp doulb h npneopodopthefthly, chist npsefe proteprbopup sblpnnefytpchbfshpff rbtbneft. OPEPVIPDESCHK NPDHMSH VKHDAF BCHPNBFYUELI OBBZTHZEO, LPDB CHTCHCHCHCHCHK TBPFFFYTHEF TBBIDEM DOS, FBL, LBP LFP PREOBOP OTSE. Ltpne fpzp, blefmühiskoskop rblef rpchpmsef rpmkhyufshd dpufhr l dos doulefonfbn vej opepvipdinpufi npofightpchbfsh tbnpftpbbfsh (th oe ftevhef obmyius msdosfs).

Seçenekler CD9660 # ISO 9660 Dosya Sistemi

zBBMPCBS Uyufenb ISO 9660 DMS LPNRBF DYULPH. Eumy X Chbu RFU RTYCHPDB CDROM YMY BL VHDEFE MYYSH YTEDLB NPOFYTPCHBFSH LPNRBLF-DYUMY DOBOSCHNY, BLPNNEOFYTHKFE FH UFTPLH, FBL LBL OEPVIPDYNSCHK NPDHMSH VHDEF BZTHTSEO BCHFPNBFYYUEYY RTY RETCHPN NPOFYTPCHOYY LPNRBLF-DYOLB DOOSCHNY. DMS YURPMSHPCHBUIS CHCHLPPYCHI LPNRBF-DYULPH LFB ZBKMPCS UYUFENB OE RPPTEMHEFUS.

Seçenekler Procfs # İşlem Dosya Sistemi (sözde gerektirir)

zbbkmpcbs uyufenb rtpgeupch. LFP CHITFHBMSHOBS \u003e\u003e ZHBKMPCHBS UYUFENB NPFUTHENBS C / Proc, LPFPTBS RPCHPMSEF FLBTNESPSAOYSN, LLB Chistbchbfsh PBN Vmshptnbgy p obbrkheeophebegy rtpgeuubi. YURPMSPTOMA PROCFS OE FTEVHEFUS, FBL LB LVMSHOFFCHP NPOFTHPHPHPHPHPHPHPHPHPHPPPSPSPFFFTHBOP DMS TBVPFFS ProCFS: Uyufenb RP KHNPMYUBCH Uyufenh RTPGEUPCH.

Seçenekler Pseudofs # Pseudo-FilesSystem Framework

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

Seçenekler GEOM_PART_GPT # GUID bölüm tabloları. # PCI Ethernet Nics. Cihaz DE # DEC / Intel DC21X4X (Lale \u003e\u003e) Cihaz EM # Intel Pro / 1000 Adaptörü Gigabit Ethernet Kart Cihazı IXGB # Intel Pro / 10GBE Ethernet Kart Cihazı TXP # 3COM 3CR990 (Tayfun \u003e\u003e) Cihaz VX # 3COM 3C590, 3C595 ( Vortex \u003e\u003e)

dBCCHEB UPHONCHI LBTF PCI. Blpnneofythkfa YMY HDBMYFE DTBKCHB FAI LBTF, LPFPTESK PUHUFUFCAF HB Cheek Uyüfen.

# PCI Ethernet NICS Ortak MII veri yolu denetleyicisi kodunu kullanan. # Not: Bu Nics'i kullanmak için "Cihaz Miibus" satırını tutacağınızdan emin olun! Cihaz Miibus # Mii Otobüs Desteği

rapdablb їze-Mii FTEVHEFUS DMS OFFPFPHATSHI PCI 10/100 Ethernet LBTF, LPFPTKTCHA YURPMSHAF MII-Superfined Reted Mavi YYI TebMighaf Yofheck Khtbchmeois Retbfühlpn, LPFPTSCHEOIS Imifytchef Mii. dPVBChMEOYE cihazı 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.

Cihaz BFE # Broadcom BCM440X 10/100 Ethernet Cihaz BGE # Broadcom BCM570XX Gigabit Ethernet Cihaz DC # Aygıt FXP # ıntel EtherExpress Pro / 100B (82557, 82558) Cihaz LGE # SEVİYE 1 LXT1001 Gigabit Ethernet Cihazı MSK # Marvell / Syskonnect Yukon II Gigabit Ethernet Cihaz NGE # Natsemi DP83820 Gigabit Ethernet cihazı PCN # AMD AM79C97X PCI 10/100 (Önceliği Üzeri "LNC") Aygıt Re # Realtek 8139c + / 8169 / 8169c / 8110S Cihaz RL # Realtek 8129/8139 Cihaz SF # Adaptec AIC-6915 ( Starfire \u003e\u003e) Cihaz Sis # SİLİKON ENTEGRE SİSTEMLER SIS 900 / SIS 7016 Cihaz SK # SYSKONNECT SK-984X\u003e SK-982X Gigabit Ethernet Cihazı Ste # Sundance ST201 (D-link DFE-550TX) Cihaz StGe # Sundance / çamı TC9021 Gigabit Ethernet Cihaz Ti # Alteon Ağlar Tigon I / I / II Gigabit Ethernet Cihaz TL # Texas Instruments Thunderlan Cihaz TX # SMC Etherpower II (83C170 EPIC \u003e\u003e) Cihaz Vgë # VIA VT612X Gigabit Ethernet cihazı VR # Via Ren, Ren II Cihaz WB # Winbond W89C840F cihazı XL # 3COM 3C90X (Boomerang \u003e\u003e, Cyclone \u003e\u003e)

dTBCHEB, LPFPTCHA Yurpmshaf Lpoftpmmet Luzhezh Mii.

# ISA Ethernet Nics. PCCARD NICS dahil. Cihaz CS89x0 Nic # "Cihaz, Ed" "Cihaz Miibus" SMC Ultra Aygıt ED # NE000, 3C503 gerektirir, DS8390 kartlar cihaz Ör # Intel EtherExpress Pro / 10 ve Pro / 10 + cihaz Ep # Etherlink III Tabanlı kartlar cihaz Fe no Fujitsu MB8696X Bazlı Kartlar Cihazı IE # EtherExpress 8/16, 3C507, Starlan 10 vb. Cihaz LNC # NE2100, NE32-VL Lance Ethernet Kartı Cihaz SN # SMC "Le #device 9000 Serisi Ethernet Cips Cihaz Xe # Xircom PCCard Ethernet # ISA aygıtları Kullanan The Old Isa dolgularının S

dBCCHEB UFEFECHSI LBTF ISA. Zhbcmp / usr / src / sys / sys / sys / sys / sys i386./ CONF / NOTLAR IFPWSCH KHOBFSH, LBYEY U UFEHHEKHESK LBTFSH LLBLIN DTBCHUPN Rapdabychbafus.

# Kablosuz NIC Kartları Cihazı WLAN # 802.11 Destek

Genel 802.11 desteği. Bu hat kablosuz ağ için gereklidir.

Cihaz WLAN_Wep # 802.11 WEP Destek Cihazı WLAN_CCMP # 802.11 CCMP Destek Cihazı WLAN_TKIP # 802.11 TKIP Destek

802.11 aygıtları için Crypto desteği. Şifreleme ve 802.11i güvenlik protokollerini kullanmayı düşünüyorsanız, bu hatlar gerekir.

Cihaz bir # aironet 4500/4800 802.11 Kablosuz NICS. Cihaz ATH # ATHEROS PCI / CARDBUS NIC "S Cihazı ATH_HAL # ATHEROS HAL (Donanım Erişim Katmanı) Cihaz Ath_Rate_Sample # Ath Cihazı Awi # BayStack 660 ve diğerleri için Sampplate TX Hızı Kontrolü ve diğerleri Cihaz / Sembol 802.11 Kablosuz Nics. #Device WL # Eski Olmayan 802.11 Wavelan Kablosuz Nic.

rapdabtzlb tbmiustovabsobsptf lbtf.

# Pseudo Cihazları Cihaz Döngü # Ağ Loopback

ufbodbthfopa HuftPKUFCHP PVTBFOPK Edinim DMS TCP / IP. Emum Chist Obbrkhulbefe Telnet YMY FTP RP PFOPEIA Localhost (Que 127.0.0.1'de), FP Updaeoye Rtpkduf Yuete LFP khuftpcchp. Lfpf rbtbneft. Pvsbfemeo .

Cihaz rastgele # entropi cihazı

zeetbfpt Umkhukhukovy Yuyem DMS Ltyrfpztbzhyeulpk Obabifshch tarafından.

Cihaz eter # Ethernet desteği

eter Opecher MyShyube, Eumen XBB EUFS UPHUCHBS LBTFB. ChlMAYUBEF RAPDABTZLCH UFBODBTFOPP PDB RTPFPLPMB Ethernet'e göre.

Cihaz SL # çekirdek kayma

sL - LFP Rapdablb kayma. Kayma köyü rtblfyyuele chschfeueo ppp, lpftschem mesuyu shortbieFus, Mkhyuyu rpdipdym DMS tasarım kitabı NPD-NPDPSOFUFEK.

Cihaz PPP # Çekirdek PPP

rAPDABLB PPP H SDTE DMS tasarımcı çevirmeli bağlantı. FBLS UCHEUFCHEF CHETSIS PPP, TEBMYPCHBOPZP LLB RTYMPSEE, YURPMSHAHAEEEE TUN, RTEDBZBAEEY SPMYEYUFCHP SPNPCOFEKEK, LLB, OPTTİNET, UPTUE RTY OPVIPFUFY (Ekjiyuy Pwbeeois l uefy).

Cihaz Tun # Paket Tüneli.

yurpmshhefus rpmshpbfemshuleen rtpztbnnow pveoureyen ppp. PVTBFYFUESH L TBDEM PPP LOIKE BBB DBMSHEEKS YOZHPTNBYEK.

Cihaz PTY # Pseudo-TTYS (Telnet vb.)

Ruchedp-FetteOBM \u003e\u003e YMY Imifeed-Kapak RPTF DMS Chipdb. YURPMSHHEPHUS Chipdseyine Telnet TH RLOGIN -UYUSNIY, RTYMPATSOIEN XTERM OELPFPTSCHNIY DTKHSEN RTYMPSOISY, Flentine Lonb Emacs.

Cihaz MD # Bellek Diskleri \u003e\u003e

ruredep-khuftspufchb dyoulpch h rbnsfy.

Cihaz GIF # IPv6 ve IPv4 Tünelleme

rapdablb fhomemitfucked IPv6 YUETE IPv4, IPv4 YUETE IPv6, IPv4 YUETE IPv4 I IPv6 YUTE IPv6. HUFTSPUFCHP GIF SCMSEFUS Bcfplpyatkhenshn\u003e\u003e, Y vkhdaf ukdbchbfs zbkmsk huftpkuffs rp nethe opepvipdins.

Cihaz İnanç # IPv6-IPv4 Röle (Çeviri)

lFP RUPRUP-HUFTPKUFCHP IBICHBFSHCPF RBLEFSH, RPUMBCH YE RETETITTBCHMSEF Yi DBENPOH FTBUMGY IPv4 / IPV6'nın LPFPT Şemaları.

# `BPF" cihazı, Berkeley Packet filtresini etkinleştirir. # Bunu etkinleştirmenin idari sonuçunun farkında olun! # DHCP için "BPF" gerekli olduğuna dikkat edin. Cihaz BPF # Berkeley Paket Filtresi

zhemshft Rblefpch Berkeley. LFP RUPREP-HUFPKUFCHP RPCHPMSEF RETOFHPDYFS U UPHONZCHEK YOFHEKHEKHECUCE H OTBANGTYUCHKU \u003e\u003e (Promishous) THEZZIN, H LPFPTPN RTECHICHBFSHCHBEFUS MAVPK RBLEF CHITPLEPCHEBFEMOPK UEFY (Optylenet Ethernet). BFF RBLEFSHCH NPZHF RUSFS-Upitboo, Dyulya / Ymyi Yumed RTY RPNPey adcobs hakkında.

rtynyubya:

hUFTSPUFCHP FBLSTBNPK DMS FPZP, UFPVCH RPMHYUFSH BDTEU РП РП ХНПМЮБАЯ Y F.R. Emum Chist YURPMSHEFE DCHP, OE HDBMSKFE OBH PRGA.

# USB Destek Cihazı UHCI # UHCI PCI-\u003e USB Arabirim Cihazı OHCI # OHCI PCI-\u003e USB Arabirim Cihazı EHCI # EHCI PCI-\u003e USB Arabirimi (USB 2.0) Cihaz USB # USB Otobüs (gerekli) #Device UDBP # USB Çift Toplu Boru Cihazlar Aygıtlar UGEN Arabirimi Cihazı Uhid # İnsan Arayüzü Aygıtları\u003e Cihaz UKBD # Klavye Aygıtları UPT # Yazıcı Cihazı UMASS # Diskler / Kütle Deposu - SCBUS ve DA Cihazı Gerektirir. Oyuncu cihazı usanner # tarayıcılar # usb ethernet, MII cihazı AUE gerektirir # ADKTEK USB Ethernet Cihazı AX # ASIX Elektronik USB Ethernet Cihazı CDCE # GENELIC USB ÜZERİNE ETHERNET Cihazı Cue # CATC USB Ethernet Cihazı Kue # Kawasaki LSI USB Ethernet Cihazı Rue # Realtek RTL8150 USB # Realtek Ethernet Intel (R) Pentium (R) Pro NME RPSIA RPCHPMSEF YURPMSHPCHBFSH PP 64 ZYZBVBKF PRIMGFYCHOPK RBNSFY. FreeBSD Ynef Rapdablch LFPC ChPNPTCOPUFY RIPTB PRGY SDTB PAE, DPUFHROPK CHP SELUI FELHAY CHETUYI FREEBSD. Pztbyuyeyasn Btifelfhtech Intel, OE Dembefus OilleBPZP TBMYYUISE NEFF RBNSFSFSH OZSEY YYMCHSCHY 4 ZYZBVBKF. Rbnsfsh, tbneeoobs kanepe 4 zyzbvbkf, rtpup dpvbchmsefus l dpufhrop rbnsfy.

dMS FPZP, Juffsch Chlmayufsh PAE H SDTTE, RTPUP DPVBCHF RTYCHEDEOOHOOH WFTPLH HP LPBYHTBGYPOSHK ZBKM SDTB:

Seçenekler pae

rtynyubya:

rAPDABLB PAE H FLEBSD UWEUFCHF FPMSLP DMS RTPGEUPTPH Intel (R) IA-32. FBBNTS, UFP PAE H FREEBSD, OE LUSHCOP RPMPUFSF RTPFEUFTPHBOPI DPMCOP UBIFBFSHUS Obihydsaynus H Upufpsumy Velbieoye RP Utbsni, UFBWehoshkney Chpnpcofsny FreeBSD.

rapdablb PAE H FLEBSD YNEF EXEDHAEE PZTBYUYUYUEYAS:

    rtpguuu oe npccr rpmhyufshd dpufhr l Neme, Yuen 4 zyzbvbkfbn rtputboufhb vm.

    dTBKETCHSCHU HUFTSPUCH, LPFPTSCHA OE YURPMSHAF YOPETHEKUK, RTYCHEDHF L RPCTCEDUEYA YOZHPTNBGY H CHLMAYUOSHCHENN PAE şirketinde. OE Telpneodhefus Yurpmshaphbfsh Fbye Dtbkchets. RP FPK RTYUYUH H FREEBSD CHLMAYUO LPBYZCHTBGYPOSHK ZBBM SDTB PAE, YEY LPFPTPZP HDBMES Chue Dtbketsch, P LPFPTSKI YUCHUUFOP, YUGP SOUNT TBVFBAF RTY CHLMAYUEOOPK RPDDEZL PAE.

    oellPPTPT Başarı Uyupenosh Reather Prodemsaf YURPMSHPTOMA Tehumutuch RBNSFI RP LPMYUUUFHH DPUFHROPK ZHYYYEULPK RBNSFY. Flite reather npzkhf rtychufy l oeookhoph nutyutopnh cvdseoea rbnsfy ya-bb pupvelopeophek tbvpfsh uyüfenc pae. Pdyj fblyy rtynetpch - retenteoobs kern.maxvnodes, lpfptbs htbchmsef nbluinbmsoschpn lpmyuyuufchpn vnode, tbeeoph hc sdte. TELPNEEODUHEFUS HUFBOPCHIKSHI LFF RPDPVOSE EK Retenta Sebze Châchojo H Blochbuff bir Bobbyuas'dır.

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

h Umkhyube Pfopufemshop RTPYCHPDIFEMSHOPUFY I. Ufbvymshopufi Telpneeodhefus Putbafshus L Uphlbuga THlpchpdufchb söyledi. UFFBUGB THLPCHPDUFCHB Ustecky Eğitim YOZHPTNBGY P RAPDABTZLE PAE H FLEBSD.

  • Kurtarma Modu.

Giriş

Her nasılsa, yapılandırma Ini dosyalarını veya JSON'u sunucuma nasıl tuttuğumu aramada olmak, ancak bir nedenden ötürü rahatsız edici veya çok basit ya da bisikletler. Ve XML yapılandırma seviyorum, ama bazen aşırı büyük dosyaları ve metin bir sürü yazmaya ayarlardan az sayıda rahatsız olsa. Bir keresinde bu konuda bir arkadaş sorduktan sonra bana bir kütüphane attı. JSON'u YAML ile bir karışımla hatırlatıyor.

Kütüphanenin iki arayüzü vardır: fonksiyonel ve nesne. Çok benzerler, çünkü nesne fonksiyonel uygulamanın içinde kullandığından, ancak bu yazıda düşünülen bazı farklılıklar var.

Yapılandır ve Bağlantı

Kütüphane birçok depoda, bu yüzden kurulum basittir:
dev - $ sudo aptitude libconfig8 libconfig8-dev liveconfig ++ libconfig ++ yüklemek

C ++ kaynaklarında şunlardır:
#Dahil etmek.
veya
#Dahil etmek.
Veya S için
#Dahil etmek.

Yapılandırma dosyası.

CONFIG dosyası aşağıdaki tip yapıdır:
# Örnek Uygulama Yapılandırma Dosyası Sürümü \u003d "1.0"; Uygulama: (Pencere: (Başlık \u003d "(! Lang: Uygulamam"; size = { w = 640; h = 480; }; pos = { x = 350; y = 250; }; }; list = (("abc", 123, true), 1.234, (/* an empty list */)); books = ({ title = "Hazine Adası"; author = "Robert Louis Stevenson"; price = 29.95; qty = 5; }, { title = "Kar kazası."; author = "Neal Stephenson"; price = 9.99; qty = 8; }); misc: { pi = 3.141592654; bigint = 9223372036854775807L; columns = [ "Last Name", "First Name", "MI" ]; bitmask = 0x1FC3; }; }; !}

Config'teki ana kayıt türleri bu türlerdir:

Öğe (Ayar)
Bu, yapılandırma yapısının minimum belirgin kısmıdır ve anahtar değerine sahiptir:
İsim \u003d Değer;
veya
İsim: Değer.
Gruplar (Gruplar)
Gruplar herhangi bir sayıda öğe içerebilir, ancak her bir eleman grubun içindeki benzersiz bir anahtar içermelidir. Kıvırcık parantez içinde kaydedildi:
(Ayarlar ...)
Diziler (diziler)
Herhangi bir sayıda unsur, hatta sıfır bile bulunur, ancak tüm elemanlar sadece değerlerden oluşur ve dizinin içindeki aynı skaler tipine sahip olmalıdır. Köşeli parantez içinde yazar:
[Değer, Değer ...]
Listeler (Listeler)
Listeler sıfır veya daha fazla skaler tip elemanları, dizileri, grupları veya listeleri içerir. Parantez içinde kaydedildi:
(Değer, Değer ...)
Tamsayılar (tamsayılar)
Olağan ondalık metodun (± 0-9) veya onaltılık formda (0xA-F) kaydedilirler. Ancak tamsayı değerleri, -2147483648..2147483647 (32bit) aralığı ile sınırlıdır, ancak büyük aralıklara ihtiyaç duyulursa, sonunda 'l' eklenir.
3578934 897893450934L
Yüzer yüzer (yüzer)
Bize çok tanıdık yazılmış
3.1415
"E" ile bir bedel standardı ile kayıt.
Boolean Değerleri (Boolean)
Değerler 'TRUE' veya 'FALSE' ve Kayıt Bağlı (elbette tırnaksız) olarak yazılmıştır.
Dizeleri (dizeleri)
Çift tırnak içinde "örneğin kaydedilen normal uzun dize" olarak yazın.
Aşağıdaki seçenekler sonunda dizenin aynı değerini verecektir:
"Her zamanki uzun dize" "örneğin kaydedildi"
"Normal Long String" / * Yorum * / "Kaydedildi" // Yorum "Örneğin".
Yorumlar
Config, C ++ 'da üç aşinalık olabilir:
  • # Hattın sonuna kadar tek hatlı
  • // aynı zamanda hattın sonuna kadar tek hatlı
  • / * ... * / satır transferi dahil çok satırlı yorum
Harici bağlantılar (dahil)
Bu genellikle en lezzetli tadıdır.
# Dosya: quote.cfg quote \u003d "Eleştiri kabul edilemez, ancak gerekli." BODY " "BT AĞRISI İnsan OLARAK aynı fonksiyonu yerine getirir" BT " "Her şey \\ N."" Bir Sağlıksız Devlete \\ t Dikkat Aramalar - Winston Churchill".;
# Dosya: test.cfg info: (İsim \u003d "Winston Churchill"; @include "quote.cfg" circstry \u003d "uk";);

API ile

Bu bölümde, tüm fonksiyonları, yalnızca ana, genel olarak benzer olduklarından ve ana nüans olduklarından boyamayacağım.

Aşağıdaki kullanılan fonksiyonların açıklaması

#Dahil etmek. #Dahil etmek. #Dahil etmek. / * Bu örnek, "example.cfg" yapılandırma dosyasını okur ve bileşenlerini * / int ana (int argc, char ** argv) görüntüler (/ * bu türler kullanılır. * / Config_t cfg; config_setting_t * ayar; const char * str; config_init (& CFG);. (! config_read_file (& cfg, "example.cfg")) / * zorunlu Başlatma * / / * Biz dosyayı okumak bir hata, işlemin * / if (fprintf tamamlarsanız (stderr "% s:% d -% s \\ n", config_error_file (ve CFG), config_error_line (ve CFG), config_error_text (ve YPL)); config_destroy (ve YPL) GERİ (EXIT_FAILURE);) / * bir ara tür "isim" * / if printf ( "Mağaza Adı:% s \\ n \\ n", str) ((& CFG, "Ad", & str) config_lookup_string);. başka fprintf (STDERR, "HAYIR" ADI " . "); raflarda * / ayarı \u003d config_lookup (& cfg, kitaplar listesinin / * Çıktı "yapılandırma dosyasında ayarı \\ n!; if (ayar \u003d NULL) (int adet \u003d config_setting_length (ayar inventory.books") ) int i; printf ( "% - 30 sn% -30s% -6S% s \\ n", "başlık", "yazar", "fiyat", "adet"); (i \u003d 0; 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); }

İşlevselliğin küçük açıklaması
Dokümantasyonda tam açıklama.

config_t. - Yapılandırma dosyasının türü (bu bir kayıt değildir). Kabaca konuşursak, ana kap.
config_setting_t. - Yapılandırma öğesinin amacı. Örnek, konteynere istenen öğeye döndürülen bir işaretçi kullanır.
int. config_read_file(Config_t * yapılandırma, const char * dosyaismi) - Fonksiyon belleğe FileName yapılandırma dosyasını okur ve tip nesnesini doldurur config_t.. Dosyadan okunamıyorsunuz ve Config_Read_string () 'de ()' de hemen "Yağmur" veya Config_Read () içindeki bir dosya tanımlayıcısı verin.
int. config_lookup_string (Sabit * yapılandırma config_t, const char * yolu, const char ** değeri) - bir dizgeye bir gösterici şeklinde arar ve döner bir değer değer vermekbelirtilen yolda yol. yapılandırmanın içinde config.
Config_setting_t * config_lookup. (Const Config_T * Config, Const Char * Yolu) - Yapılandırılan iç yolda yapılandırma içindeki bir girişi arar ve geri döner.
Config_setting_t * config_setting_get_elem. (Const config_setting_t * ayar, işaretsiz int index) - diziler için kullanılır, öğeleri bu tür bir sayı ile iade etmek için listeler
int. config_setting_lookup_string (Const config_setting_t * ayar, Const Char * Adı, Const Char ** değeri) -
Değeri döndürür değer vermek Kız elemanı İsim. Belirli bir kayıtla ilgili olarak ayarı.
Belirli bir ayar kaydında bir değer elde etmek gerektiğinde, Tip işlevleri kullanılır.
int. config_setting_get_int. (Const config_setting_t * ayarı)

C ++ API.

Aynı örnek, ancak C ++ 'da. Sitede tam belgeler

#Dahil etmek. #Dahil etmek. #Dahil etmek. #Dahil etmek. Ad alanını kullanma std; İsim alanı libconfig kullanarak; // "example.cfg" yapılandırma dosyasını okuyan ve giriş kaydını (int argc, char ** argv) okuyan örneği (Config CFG; // dosyayı okuyun. Veya C ++ 'da bir hata // sınıftan çıkmayın (() "example.cfg" CFG.ReadFile;) bir hata döndürür ve denemede dışlanmasını atar Yakalama (İnşaat 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); }
Burada fonksiyonel bir tarzda olduğu gibi aynı prensip, yalnızca yapılandırmadan veri almadan önce, kök elemanı elde etmek gerekir. cfg.getroot (); Ve sonra elementlerin geri kalanına dönmek için ondan. Neredeyse tüm hataların istisnalar atıldığı gerçeğine özen gösterilmesi de gereklidir.

Sonuç

Uygun yapılandırmaların okunmasına ek olarak, API ayrıca yapılandırma öğelerinin oluşturulmasının işlevselliğini de sağlar ve medyaya yazın.