Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 8
  • Ce este un fișier de configurare. Fișier de configurare

Ce este un fișier de configurare. Fișier de configurare

  • Mod de recuperare

Introducere

Cumva, în timp ce căutam cum să atașez fișierele de configurare ini sau json la serverul meu, am trecut prin opțiuni, dar din anumite motive erau incomode sau prea simple, sau biciclete. Și deși îmi place configurația xml, uneori acestea sunt fișiere prea mari și este incomod să scrii mult text pentru un număr mic de setări. Odată ce am pus o întrebare unui prieten pe această temă, mi-a aruncat biblioteca. Amintește de json amestecat cu yaml.

Biblioteca are două interfețe: funcțională și obiect. Sunt foarte asemănătoare, deoarece obiectul folosește o implementare funcțională în interior, dar au unele diferențe, discutate în această postare.

Configurare și conectare

Biblioteca se află în multe depozite, deci instalarea este simplă:
$ sudo aptitude install libconfig8 libconfig8-dev libconfig++ libconfig++-dev

În codul sursă, C++ este conectat doar cu un singur include:
#include
sau
#include
sau pentru C
#include

Fișier de configurare

Fișierul de configurare are următoarea structură:
# Exemplu de versiune a fișierului de configurare a aplicației = "1.0"; aplicație: ( fereastra: ( titlu = "(!LANG:Aplicația mea"; size = { w = 640; h = 480; }; pos = { x = 350; y = 250; }; }; list = (("abc", 123, true), 1.234, (/* an empty list */)); books = ({ title = "Insula comoara"; author = "Robert Louis Stevenson"; price = 29.95; qty = 5; }, { title = "prăbușire de zăpadă"; author = "Neal Stephenson"; price = 9.99; qty = 8; }); misc: { pi = 3.141592654; bigint = 9223372036854775807L; columns = [ "Last Name", "First Name", "MI" ]; bitmask = 0x1FC3; }; }; !}

Principalele tipuri de intrări din config sunt următoarele tipuri:

Element (Setare)
Aceasta este partea minimă semnificativă a structurii de configurare și are forma cheie-valoare:
nume = valoare;
sau
nume: valoare
Grupuri
Grupurile pot conține orice număr de elemente, dar fiecare element trebuie să conțină o cheie unică în cadrul grupului. Scris între paranteze:
(setari...)
Matrice
Conțin orice număr de elemente, chiar și zero, dar toate elementele sunt doar valori și trebuie să fie de același tip scalar în cadrul matricei. Scrie între paranteze drepte:
[valoare, valoare...]
Liste
Listele conțin zero sau mai multe elemente scalare, matrice, grupuri sau liste. Scris între paranteze:
(valoare, valoare...)
Valori întregi (numere întregi)
Ele sunt scrise în modul zecimal obișnuit (±0-9) sau în formă hexazecimală (0xA-f). Dar valorile întregi sunt limitate la intervalul -2147483648..2147483647 (32 de biți), dar dacă sunt necesare intervale mai mari, atunci se adaugă „L” la sfârșit.
3578934 897893450934L
Numere fracționale în virgulă mobilă (floating)
Este scris și în modul obișnuit
3.1415
Notația cu exponentul este standard cu „e”.
Valori booleene
Valorile sunt scrise ca „adevărat” sau „fals” și nu fac distincție între majuscule și minuscule (fără ghilimele, desigur).
Siruri de caractere
Scris între ghilimele duble ca „Șir lung normal scris de exemplu”.
Următoarele opțiuni vor avea aceeași valoare șir:
„Șir lung obișnuit” „înregistrat de exemplu”
„Șir lung normal” /* comentariu */ „înregistrat” // comentariu „de exemplu” .
Comentarii
În configurație, există trei tipuri familiare în C++:
  • # o singură linie până la sfârșitul rândului
  • // de asemenea, o singură linie până la sfârșitul rândului
  • /*… */ comentariu pe mai multe rânduri, inclusiv întreruperi de rând
Conexiuni externe (Include)
Acesta este, în general, cel mai delicios delicios.
# file: quote.cfg quote = "Critica poate să nu fie acceptabilă, dar este necesară." „Îndeplinește aceeași funcție ca și durerea în corpul uman“ „. Atrage atenția asupra unei stări nesănătoase a „“ lucrurilor.\n” „\t--Winston Churchill”;
# fișier: info test.cfg: (nume = „Winston Churchill”; @include „quote.cfg” țară = „Marea Britanie”; );

Cu API

În această parte, nu voi descrie toate funcțiile, ci doar pe cele principale, deoarece sunt în general similare, și nuanțele principale.

Descrierea funcțiilor utilizate mai jos

#include #include #include /* Acest exemplu citește fișierul de configurare „example.cfg” și scoate componentele acestuia */ int main(int argc, char **argv) ( /* folosește tipuri personalizate. */ config_t cfg; config_setting_t *setting; const char *str ; config_init(&cfg); /* inițializare obligatorie */ /* Citiți fișierul, ieșiți dacă eroare */ if(! config_read_file(&cfg, "example.cfg")) ( fprintf(stderr, "%s:%d - %s \n", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg)); config_destroy(&cfg); return(EXIT_FAILURE); ) /* Căutați o valoare „nume”. */ if(config_lookup_string(&cfg, „ nume", &str)) printf("Nume magazin: %s\n\n", str); else fprintf(stderr, "Fără setare "nume" în fișierul de configurare.\n"); /* Listează cărțile cu */ setare = config_lookup(&cfg, "inventory.books"); if(setting != NULL) ( int count = config_setting_length(setting); int i; printf("%-30s %-30s %-6s %s \n", „TITLU”, „AUTOR”, „PRț”, „CANTITATE”); pentru(i = 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); }

O mică descriere a funcționalității
Descriere completă în documentație.

config_t- tipul fișierului de configurare (aceasta nu este încă o intrare). În linii mari, containerul principal.
config_setting_t- obiect element de configurare. Exemplul folosește indicatorul returnat de container către elementul care trebuie căutat.
int config_read_file(config_t * config, const char * filename) - funcția citește fișierul de configurare numele fișierului în memorie și completează un obiect de tip config_t. Nu puteți citi din fișier, dar imediat „alimentați” șirul în config_read_string() sau dați descriptorul fișierului la config_read()
int config_lookup_string(const config_t * config, const char * cale, const char ** valoare) - caută în sus și returnează valoarea ca indicator către un șir valoare, de-a lungul drumului dat caleîn interiorul config config.
config_setting_t* config_lookup(const config_t * config, const char * path) - caută o intrare în interiorul config la calea internă dată și o returnează.
config_setting_t* config_setting_get_elem(const config_setting_t * setting, unsigned int index) - folosit pentru matrice, liste pentru a returna elemente din ele cu un astfel de număr în ordine
int config_setting_lookup_string(const config_setting_t * setare, const char * nume, const char ** valoare) -
returnează o valoare valoare element copil Nume raportat la intrarea dată setare
Când este necesar să obțineți o valoare într-o anumită înregistrare, atunci funcționează ca
int config_setting_get_int(const config_setting_t * setare)

API C++

Același exemplu, dar în C++. Documentatie completa pe site

#include #include #include #include folosind namespace std; folosind spațiul de nume libconfig; // Un exemplu care citește fișierul de configurare „example.cfg” și scoate intrările lui int main(int argc, char **argv) ( Config cfg; // Citește fișierul. Sau ieșire cu o eroare // Clasa C++ nu returnează o eroare, dar aruncă o excepție try ( cfg.readFile("example.cfg"); ) catch(const FileIOException &fioex) ( 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); }
Aici același principiu ca și în stilul funcțional, numai înainte de a primi date din configurație, trebuie să obțineți elementul rădăcină cfg.getRoot();și abia apoi de la ea să se adreseze altor elemente. De asemenea, trebuie să fiți atenți la faptul că aproape toate erorile aruncă excepții.

Concluzie

Pe lângă citirea configurațiilor convenabile, API-ul oferă și funcționalitatea de a crea elemente de configurare și de a le scrie pe media.

Formatul general al fișierelor de configurare

Configurarea majorității componentelor pachetului softwarerealizat folosind fișierele de configurare. Fișierele de configurare sunt fișiere text, ceea ce vă permite să le editați cu orice editor de text).

Format general de fișier de configurare:

Începutul fișierului ---

[Numele secțiunii 1]

...
Parametrul N = valoarea1, ..., valoarea K

[Numele secțiunii X]
Parametrul1 = valoare1, ..., valoareK
...

--- sfârșitul fișierului ---

Fișierele de configurare sunt formate după următorul principiu:

Simboluri „ ; ” sau „ # " în rândurile fișierului de configurare indicați începutul comentariului - tot textul care urmează aceste caractere din rând este omis de moduleDr.Web pentru servere de mail UNIXla citirea parametrilor dintr-un fișier de configurare.

Conținutul fișierului este împărțit într-o secvență de secțiuni denumite. Numele posibile de secțiuni sunt codificate și nu pot fi arbitrare. Numele secțiunii este dat între paranteze drepte.

Fiecare secțiune conține un grup de parametri de configurare grupați după semnificație.

O linie a fișierului specifică valoarea unui singur parametru.

Formatul de bază pentru specificarea valorii parametrului (spațiile din jurul caracterului „=", dacă există, sunt ignorate):

<Имя параметра> = <Значение>

Numele posibile ale parametrilor sunt codificate hard și nu pot fi arbitrare.

Toate numele de secțiuni și parametri din fișier nu fac distincție între majuscule și minuscule.

Ordinea secțiunilor din fișier și ordinea parametrilor în cadrul secțiunilor nu contează.

Valorile parametrilor dintr-un fișier de configurare pot fi incluse înghilimele (și trebuie incluse între ghilimele dacă conțin spații).

Unii parametri pot avea mai multe valori, caz în care valorile parametrilor sunt separate prin virgulă sau valoarea parametrului este specificată de mai multe ori în rânduri diferite ale fișierului de configurare. Când se afișează valorile parametrilor separate prin virgule, spațiile dintre valoare și virgulă, dacă există, sunt ignorate. Dacă un spațiu face parte dintr-o valoare, întreaga valoare trebuie să fie cuprinsă între ghilimele.

Un exemplu de specificare a unui parametru care are mai multe valori:

1) Listarea mai multor valori separate prin virgule:

Parametru = Valoare1, Valoare2, „Valoare 3”

2) Setarea acelorași valori ale parametrilor în linii diferite ale fișierului de configurare:

Parametru = Valoarea2
Parametru = Value1
Parametru = „Valoarea 3”

Reguli de descriere a parametrilor adoptate în acest document

În acest manual, fiecare opțiune este descrisă după cum urmează:

[Starea de utilizare înReguli]

ParameterName = (Tipul parametru | Valori posibile)

Descrierea parametrului.

(Poate avea mai multe valori).

(Observații speciale)

(Notite importante)

Valoare implicită:

ParameterName = (valoare | lipsește)

Starea de utilizare în reguliindicate cu următoarele pictograme:

Parametrul poate fi utilizat în SETĂRI -piese Reguli de procesare a scrisorilorpentru a-și schimba temporar valoarea la procesarea unui anumit mesaj pentru care partea condiționată a regulii este adevărată.

Parametru atunci când este utilizat înReguli de procesare a scrisorilorare semantică „aditivă” (acumulativă), adică dacă mai multe reguli sunt adevărate pentru un mesaj care specifică valori diferite pentru acest parametru, atunci lista combinată a valorilor acestuia din regulile declanșate acționează ca valoare a parametrului.

Parametru atunci când este utilizat înReguli de procesare a scrisoriloracceptă clonarea e-mailului, de ex. dacă scrisoarea are mai mulți destinatari, iar pentru diferiți destinatari ai scrisorii sunt adevărate reguli diferite, specificând variat valoarea acestui parametru, mesajul va fi clonat (în funcție de numărul de destinatari), iar pentru fiecare copie a mesajului se va folosi ca valoare a parametrului valoarea din Regula care este adevărată pentru acest mesaj.

Dacă nu este specificată starea de utilizare în reguli pentru un parametru, atunci acest parametru nu poate fi utilizat înReguli de procesare a scrisorilor.

Descrierea parametrilor și secțiunilor fișierelor de configurare este dată în ordinea în care acestea apar în fișierul de configurare creat în timpul instalării pachetului software.Dr.Web pentru servere de mail UNIX.

Câmp Tip parametru poate lua următoarele valori:

valoare numerică- valoarea parametrului este un întreg nenegativ.

timp (timp) - valoarea parametrului este specificată în unități de timp. Valoarea constă dintr-un număr întreg urmat de o literă care definește tipul de unități de timp ( s - secunde, m - minute, h – ore, majusculele nu sunt luate în considerare). Dacă nu există nicio literă în valoarea parametrului, atunci se consideră că timpul este specificat în secunde.

Exemple: 30s, 15m

dimensiune (dimensiune) - valoarea parametrului este specificată în unități de dimensiune a memoriei (disc sau RAM). Valoarea constă dintr-un număr întreg, urmat de o literă care determină tipul de unități pentru măsurarea cantității de memorie ( b - octeți, k - kiloocteți, m - megaocteți, g gigaocteți, fără distincție între majuscule și minuscule). Dacă nu există nicio literă în valoarea parametrului, atunci se consideră că dimensiunea este specificată în octeți.

Exemple: 20b, 15k

drepturi (permisiuni) - valoarea parametrului este un număr din trei cifre care indică permisiunile pentru fișiere în formatul acceptat în sistemele UNIX.
Fiecare drept este o combinație (suma) a trei drepturi de bază:

o Dreptul de citire (r) este indicat de cifra 4;

o Dreptul de scriere (w) este notat cu numărul 2;

o Dreptul de executare (x) este notat cu cifra 1.

În acest caz, prima cifră a numărului specifică drepturile pentru proprietarul fișierului, a doua - pentru grupul de proprietari de fișiere, iar a treia - pentru toți ceilalți care nu sunt nici proprietari, nici membri ai grupului corespunzător.

Exemple: 755, 644

boolean (Da s/Nu) - Tip boolean ale cărui valori sunt reprezentate prin șiruri de caractere " Da și nu".

calea către fișier/director(calea către fișier/director) - un șir care specifică locația fișierului sau a directorului pe sistemul de fișiere. Rețineți că pe sistemele de operare Linux/UNIX, numele fișierelor și directoarelor sunt sensibile la majuscule și minuscule. Dacă se specifică că valoarea parametrului poate fi masca , apoi măștile de fișiere care conțin următoarele caractere speciale pot fi folosite ca valori ale parametrilor:

o? - înlocuiește orice caracter;

o* – înlocuiește orice secvență de caractere (inclusiv goală).

Exemplu: „?.e* " este o mască care se potrivește fișierelor al căror nume este format dintr-un singur caracter și o extensie de orice lungime și începe cu litera " e " (x.exe , g.e , f.enable , etc.).

acțiune - un șir care conține numele acțiunilor efectuate asupra obiectelor care au provocat orice reacție a componentelor pachetului softwareDr.Web pentru servere de mail UNIX. În unele cazuri, puteți seta o acțiune principală și până la trei acțiuni suplimentare pentru un parametru. Tipul de parametru în acest caz este apelatListă de acțiuni. Acțiunea principală în acest caz ar trebui să fie întotdeauna prima din listă. Pentru diferiți parametri, setul de acțiuni permise poate diferi, caz în care este specificat separat pentru fiecare parametru. Pentru o listă generală a acțiunilor care pot fi utilizate, consultațide mai jos.

abordare - un șir care conține adresa socket-ului componenteiDr.Web pentru servere de mail UNIXsau un modul sau program extern.
Are formatul TYPE:ADDRESS . Sunt permise următoarele tipuri:

o inet- Se folosesc socket-uri TCP ADDRESS are formatul PORT@NODE_NAME . NODE_NAME poate fi fie o adresă IP directă, fie numele de domeniu al gazdei.

Exemplu:

adresa = inet: [email protected]

o local- sunt utilizate socket-uri UNIX locale, caz în care adresa este calea către fișierul socket.

Exemplu:

Adresă = local:%var_dir/.daemon

o pid- adresa reală a procesului trebuie citită din fișierul PID al acestuia. Acest tip de adresă este disponibil doar în unele cazuri, iar dacă este posibil să-l folosească, acest lucru este indicat în mod explicit în descrierea parametrului.

text (valoare text), șir(șir) - valoarea parametrului este specificată ca șir de text, textul din șir poate fi cuprins între ghilimele (dacă șirul conține spații, sunt necesare ghilimele).

opțiuni de piscină - setările pool-ului de fire. Au un format special, descris în secțiuneTipuri de parametri speciali.

privește în sus- șiruri de caractere care specifică obiectele separate prin virgulă de căutat.

LookupLite - Căutare simplificată , în care puteți specifica doar fie o valoare imediată, fie Căutare tip fișier .

depozitare (depozitare) - obiecte pentru stocarea datelor. Sintaxa este similară privește în sus , cu excepția utilizării unei liste diferite de prefixe și a celei în Depozitare macro nu poate fi folosită$s .
Mai multe despre tipuri Vedeți Lookup , LookupLite și Storage privește în sus.

Setări TLS/SSL (TLSSettings)- setări pentru o conexiune criptată folosind protocoale criptografice TLS și SSL. Au un format special, descris în secțiuneTipuri de parametri speciali.

lista de șiruri- un set de valori de text separate prin virgule.

Dacă valoarea parametrului se potrivește cu modelul file:/path_to_file (unde calea_to_file este calea către fișier), atunci valorile textului sunt obținute din fișierul specificat în parametru. Fiecare valoare din fișier trebuie să fie scrisă pe o linie separată. Dacă apare o eroare la preluarea informațiilor din fișier, un mesaj de diagnosticare corespunzător este trimis în fișierul jurnal și programul va continua încărcarea.

nivel de detaliu(nivel de jurnal) - șir care indicătransmiterea de informații către un jurnal sau serviciu syslog.

valori posibile (valoare)- parametrul are un tip nedescris în paragrafele precedente ale acestei liste. În acest caz, este enumerată lista valorilor permise pentru aceasta.

Comportamentul modulelor cu fișiere de configurare specificate incorect

Dacă valoarea oricărui parametru este setată incorect,Dr.Web pentru servere de mail UNIXafișează un mesaj de eroare și iese.

Dacă, la încărcarea unui fișier de configurare, în acesta se găsesc parametri necunoscuți, programul continuă în modul normal, dar în fișierul jurnal este afișat un avertisment corespunzător.

Unii parametri pot folosi expresii regulate ca valori (pentru fiecare parametru, este notat în descrierea acestuia). Sintaxa implicită este expresiile regulate. Perl . Puteți afla despre elementele de bază ale expresiilor regulate, de exemplu, în Wikipedia (articol „ Expresii obisnuite").

Setările terminalului sunt stocate în fișierele de configurare. Fișierele sunt text, unicode, pot fi editate cu orice editor de text care acceptă unicode, Notepad / Notepad este bine. Puteți găsi o descriere completă a tuturor parametrilor permiși în fișierele de configurare și a valorilor acestora în tutorialul despre parametrii fișierului de configurare.

Configurația finală a terminalului se obține prin însumarea parametrilor din trei surse:

  • Fișier de configurare la nivel de sistem toate.wtc
  • Fișier de configurare individual
  • Fișiere conectate conform listei listă.wtc(editarea listelor nu este acceptată de configuratorul WTware)

Dacă terminalul își găsește adresa MAC în lista list.wtc sau își găsește configurația individuală, atunci va încerca să se conecteze la serverul terminal. În caz contrar, va fi lansat Expertul de configurare a terminalului.

Fișier de configurare la nivel de sistem

Fișier de configurare la nivel de sistem se numeste all.wtc . Este căutat în directorul Toată lumea din directorul de date pe care l-ați specificat în timpul instalării. În cazul nostru, acesta este directorul C:\users\all users\WTware\Everyone\. Este convenabil să scrieți în el acei parametri care au aceleași valori pentru toate terminalele, de exemplu server .

Fișier de configurare individual

Fișiere de configurare individuale sunt stocate în directorul Terminals, care se află în directorul de date WTware pe care l-ați specificat în timpul instalării. În cazul nostru, acesta este directorul C:\users\all users\WTware\Terminals\.

Un terminal a cărui placă de rețea are o adresă MAC de 00:01:02:aa:bc:8e va căuta configurația sa în director MA.CA.DR.EU.TE.RM, fișierul ar trebui să fie numit config.wtc . Fiți atenți la majuscule dacă serverul dvs. TFTP este pe o mașină Unix!

De asemenea, aruncați o privire la fișierele incluse aflate în directoarele Șabloane și conexiuni din directorul de date WTware. Folosind șablonul și directivele de conectare, puteți include fișiere suplimentare în fișierul de configurare a terminalului.

Lista fișierelor incluse

Directorul ListIncludes (în directorul de date specificat în timpul instalării) conține fișiere de configurare generale cu descrieri ale parametrilor terminalului, pe care terminalele le includ prin enumerare în fișierul list.wtc.

ATENŢIE! list.wtc este doar pentru configurarea manuală a terminalului. Configuratorul grafic nu citește list.wtc și nici nu citește sau permite editarea fișierelor din directorul ListIncludes. Prin urmare, nu ar trebui să încercați să configurați același terminal cu configuratorul și prin list.wtc.
Sintaxa este exact aceeași cu fișierul de configurare. Fișierele specificate în list.wtc pentru terminalul din acest director vor fi lipite la începutul fișierului de configurare a terminalului principal înainte ca terminalul să-l citească. Prin urmare, în fișierele din acest director, puteți scrie șablon, conexiune, ecranul următor.

Lista fișierelor incluse aflat în fișierul Everyone/list.wtc. Format de linie în acest fișier:

01:02:03:04:05:06[([nume utilizator@][nume terminal])] [fișier [fișier...]]] [# comentariu]
Exemple: înseamnă că terminalul cu adresa mac 02:03:04:05:06:07 va citi parametrii din fișierul ListIncludes/file1.
03:04:05:06:07:08([email protected]) fisier2
Aceasta înseamnă că terminalul cu adresa MAC 03:04:05:06:07:08 va citi parametrii din fișierul ListIncludes/file2 și va înlocui numele de utilizator „vasja” în fereastra „Login to Windows”.
04:05:06:07:08:09(term5) file6 file7 # Computerul contabilului șef adjunct.
Aceasta înseamnă că terminalul cu adresa mac 04:05:06:07:08:09 va fi numit term5, similar parametrului clienthostname și va citi parametrii din fișierele ListIncludes/file6 și ListIncludes/file7 .
Pentru a putea specifica numele de utilizator cu litere rusești, trebuie să deschideți acest fișier în Notepad și să salvați cu Encoding: Unicode.

Ordinea de citire, prioritatea valorii

Fișierele de configurare sunt citite în această ordine:

  1. toate.wtc
  2. Fișierele listate în list.wtc
  3. Fișierele conectate la configurația terminalului prin șablon și directive de conectare
  4. Configurare individuală

Parametrii sunt suprascriși pe măsură ce sunt citiți și se folosește ultima valoare. Acestea. dacă, de exemplu, parametrul server este specificat în all.wtc și configurația individuală, atunci se va folosi valoarea din configurația individuală, deoarece se citește mai târziu.

b Rpmoshchn URYULPN BTIYFELFHTOP-BCHYUYNSCHI RBTBNEFTCH Y HUFTPKUFCH PVTBFYFEUSH L ZHBKMH NOTE H FPN TSE LBFBMPZE, UFP Y GENERIC. bTIYFELFHTOP OEEBCHUYNSHE RBTBNEFTSC OBIPDSFUSS H /usr/src/sys/conf/NOTES .

dYTELFYCHB includ UFBMB DPUFHROPK DMS YURPMSHЪPCHBOIS CH LPOZHJZHTBGYPOOSCHI ZHBKMBI. POB RPCHPMSEF CHLMAYUBFSH CH FELHEYK LPOZHYZHTBGYPOOSCHK ZHBKM UPDETSYNPE DTHZPZP ZHBKMB, FEN UBNSCHN HRTPEBS RTPGEUU CHOEUEOYS OEVPMSHYYI YNEOEOYK CH UHEEUFCHHAMEYK. obrtynet, EUMY CHBN OEPVVIPDYNP DPVBCHYFSH CHUEZP OEULPMSHLP DPRPMOYFEMSHOSHCHI PRGEK YMY DTTBKCHETPCH H SDTP GENERIC, FP CHBN RTYDEFUS RPDDETTSYCHBFSH FPMSHLP TBOYGH L ZHBKMH GENERIC:

Includeți opțiuni GENERIC ident MYKERNEL Opțiuni IPFIREWALL Opțiuni DUMMYNET Opțiuni IPFIREWALL_DEFAULT_TO_ACCEPT IPDIVERT

VPMShOFCHP BDNEYUFTBFTPCP PHEOSF ъBYUUFEMFEMCHEFTSHBSUFBBB RETED UFBTSHN URPUPVPN - OBRYUBYEN LPZHTBGYPOPZP ZBKKMM UHHSS >>: CBBM LPZHTBGPPA ZBKM VKM VKDEF PFFPLPTB b RPUME PVOCHMEOYK YUIPDOPZP LPDB, OPCHSHCHE JHOLGYPOBMSHOSHCH CHPNPTSOPUFY, RPSCHYCHYYEUS H GENERIC, VHDHF DPVBCHMEOSCH Y H CHBYH LPOZHJZHTTBGYA, EUMY FPMSHLP OE RTERTELFFIMFCHFCH nu RTERTELSFUPCHFY. dBMEE CH FFPN TBDEME PRYUSCHCHBEFUS FYRPCHPK LPOZHYZHTBGYPOOSCHK ZHBKM, EZP PRGIY Y HUFTPKUFCHB, B FBLTS YI TPMY.

rtyyyyyyyyyeh:

DMS UVPTLY SDTB UP CHUENY CHPNPTSOSCHNY PRGYSNNY (PVSCHYUOP YURPMSHHEFUS DMS FEUFYTPCHBOYS), CHSHCHRPMOYFE PF YNEOY UHRETRPMSHЪPCHBFEMS (rădăcină) UMEDHAEHA LPNBODH:

# cd /usr/src/sys/ i386/conf && face LINT

FP RTYNET LPOZHJZHTBGYPOOPZP ZHBKMB SDTB GENERIC U TBMYUOSCHNY DPRPMOIFEMSHOSCHNY LPNNEOFBTYSNNY, LPFPTSCHE NPZHF RPOBDPVYFSHUS DMS SUOPUFY. FFPF RTYNET DPMCEO UPCHRDBFSH U CHBYEK LPRYEK H /usr/src/sys/ i386/conf/GENERIC RTBLFYUEULY RPMOPUFSH.

Mașină i386

fp btiyfelfhtb nbyoshch. POB DPMTSOB VSHFSH PDOPC YJ UMEDHAEYI: amd64 , i386 , ia64 , pc98 , powerpc , YMY sparc64 .

CPU I486_CPU CPU I586_CPU CPU I686_CPU

LFB PRGYS HLBSHCHCHBEF FYR RTPGEUUPTB, LPFPTSCHK YURPMSHEKHEFUUS CH CHBYEK UYUFENE. 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 FRI RTPGEUUPTB, LPFPTSCHK HUFBOPCHMEO H CHBYEK UYUFENE. eUMY CH OE HCHETEOSCH, LBLPK FYR OEVPVIPDYNP YURPMSHЪPCHBFSH ChBN, CH NPTSEFE CHPURPMSHЪPCHBFSHUS ZHBKMPN /var/run/dmesg.boot , YUFPVSCH HCHYDEFSH RTPFPLPM ЪBZTHFENSCHLY.

Ident GENERIC

FFPF RBTBNEFT PRTEDEMCEF NEFLH >> SDTB. oEPVIPDYNP, UFPVSH POB UPPFCHEFUFCHPCHBMB OBCHBOYA ZHBKMB LPOZHYZHTBGYY SDTB, OBRTYNET MYKERNEL. OBYuEOYE, LPFPTPE BL RTYUCHPYFE RBTBNEFTH ident VHDEF CHSCHCHPDYFSHUS H RTPGEUUE BZTHLY, RPFPNH RPMEOP DBCHBFSH OPCHSCHN SDTBN DTHZYE YNEOB FPZP LCA, PD YUFPVSCHPDYFSHUS H RTPGEUUE BZTHLY, RPFPNH RPMEOP DBCHBFSH OPCHSCHN SDTBN DTHZYE YNEOB FPZP LCA, PD YUFPVSCH PD YUFPVSCH YUFPVSCH PFMYPVBTYUBFFYSHO YUFPVSCH YUFPVSCH PFMYZBOPTYPVFFETBFYSHOP

#Pentru a compila static în cablarea dispozitivului în loc de /boot/device.hints #hints „GENERIC.hints” # Locuri implicite pentru a căuta dispozitive. opțiuni SCHED_ULE # ULE planificator

rMBOYTPCHEYL RP HNPMYUBOYA PE FreeBSD. pufbchshfe ffh prgya.

Opțiuni PREMPTION # Activați preempțiunea firului de nucleu

rPCHPMSEF CHSHCHUPLPRTYPTYFEFOSHCHN OIFSN SDTB CHSHCHFEUOSFSH LPOLHTEOFPCH, OBIPDSEYIUS CH TETSYNE CHSHCHRPMOEOIS. yFB PRGIS NPCEF RPNPYUSH RPCHSHCHUIFSH TEBLFICHOPUFSH UYUFENSCH RP PFOPIEOYA L CHOEYOYIN CHPDEKUFCHYSN, OBRTYNET, BL UYUEF UOYTSEOIS MBFEOPOPUFY OYFEK, PVTVBFSHETSCHBAEYI OYFEK, PVTVBFSHETSCHBAEYI .

Opțiuni INET # InterNETworking

RPDDETSLB UEFECHSCHI CHPNPTSOPUFEK. PUFBCHSHFE LFH PRGYA CHLMAYUEOOPC, DBCE EUMY CHSHCHOE RMBOITHEFE RPDLMAYUBFSHUS L UEFY. vPMSHYOUFCHP RTPZTBNN FTEVHAF, YuFPVSCH TBVPFBM IPFS VSC YOFETZHEKU PVTBFOPK UCHSY (loopback) (F.E.

Opțiuni INET6 # IPv6 protocoale de comunicații

CHLMAYUBEF RPDDETZLH LPNNHOYLBGYPOOSCHI RTPFPLPMCH IPv6.

Opțiuni FFS # Berkeley Fast Filesystem

CHLMAYUBEF RPDDETZLH PUOPCHOPK ZHBKMPCHPK UYUFENSCH. oE HDBMSKFE LFH PRGYA, EUMY CHSH RMBOITHEFE ЪBZTHTSBFSHUS U TSEUFLPZP DYULB.

Opțiuni SOFTUPDATES # Activați suportul FFS Soft Updates

FFPF RBTBNEFT CHLMAYUBEF CH SDTE FEIOPMPZYA Actualizări soft, LPFPTBS RPCHSHCHYBEF ULPTPUFSH ЪBRYUY OB DYULY. oEUNPFTS DESPRE FP, UFP LFB FEIOPMPZYS CHLMAYUEOB CH SDTE, POB DPMTSOB VSHCHFSH CHLMAYUEOB DMS PFDEMSHOSHCHI DYULCH. rTPUNPFTYFE CHSHCHPD LPNBODSCH YUFPVSCH PTEDEMYFSH, CHLMAYUEOSCH Actualizările mele soft DMS DYULPCH CHBYEK UYUFENSCH. eUMY CHSHCH O HCHYDYFE RBTBNEFT soft-actualizări, CHBN VKhDEF OEEPVIPDYNP BLFYCHYTPCHBFSH EZP RTY RPNPEY LPNBODSCH (DMS UHEEUFCHHAEYI ZHBKMPCHSHI UYUFEN) YMY LPNBODSCH (DMS OPPCCENCHSHI ZHBKMPCHSHI UYUFEN).

Opțiuni UFS_ACL # Suport pentru liste de control acces

FFPF RBTBNEFT CHLMAYUBEF CH SDTE RPDDETTSLH URYULPCH HRTBCHMEOYS DPUFHRPN (ACL). PUOPCHSCCHBEFUUS DESPRE YURPMSHЪPCHBOY TBUYTEOOOSCHI BFTYVHFPCH Y UFS2, DEFBMSHOPE PRYUBOYE CHSC UNPTSEFE OBKFY H tbdemљ14.12, >. ACL CHLMAYUEOSCH RP HNPMYUBOYA TH OE DPMTSOSCH CHSCHLMAYUBFSHUS B UMHYUBE, EUMY Sing TBOEE YURPMSHPCHBMYUSH PE ZHBKMPCHPK UYUFENE, FBL LBL FP HDBMYF URYULY HRTBCHMEOYS DPUFYEOFHRPN J.

Opțiuni UFS_DIRHASH # Îmbunătățiți performanța pe directoare mari

uFB PRGIS CHLMAYUBEF ZHOLGYPOBMSHOPUFSH, LPFPTBS RPCHSHCHYBEF ULPTPUFSH DYULPCHSCHI PRETBGYK DESPRE VPMSHYI LBFBMPZBI CH PVNEO DESPRE YURPMSH'PCHBOYE DPRPMOIFEMSHOPK RBNSFY. DMS VPMSHYPZP UETCHETB YMY TBVPYUK UFBOGYY TELPNEODHEFUS PUFBCHYFSH EE CHLMAYUEOOPK, Y CHCHLMAYUYFSH DMS UYUFENSCH, DMS LPFPTPK VPMEE RTYPTYFEFOB RBPUNSFSH, YUEN ULTPUBNET DMS UYUFENSCH, YUEN ULTPUBNET

Opțiuni MD_ROOT # MD este un dispozitiv rădăcină potențial

FFPF RBTBNEFT CHLMAYUBEF RPDDETTSLH YURPMSHЪPCHBOYS DYULPCH CH RBNSFY DMS LPTOECHPK ZHBKMPCHPK UYUFENSCH.

Opțiuni NFSCLIENT # Network Filesystem Client Opțiuni NFSSERVER # Network Filesystem Server Opțiuni NFS_ROOT # NFS utilizabil ca /, necesită NFSCLIENT

uEFECHBS ZHBKMPCHBS UYUFENB. eUMY CH O RMBOYTHEFE NPOFIITCHBFSH TBDEMSCH U ZHBKMPCHPZP UETCHETB UNIX (R) YuETE TCP/IP, CH NPTSEFE YULMAYUYFSH FFPF RBTBNEFT YЪ LPOZHYZKHTBGYPOOPZP ZHBKMB SDTB.

Opțiuni MSDOSFS # Sistem de fișiere MSDOS

JBKMPCHBS UYUFENB MS-DOS (R). eUMMY CH OE UPVYTBEFEUSH NPOFITPCHBFSH ZHPTNBFYTPCHBOOSCHK H DOS TBDEM TSEUFLPZP DYULB CH NPNEOF ЪBZTHЪLY, ChSCH NPTSEFE VEЪPRBUOP BLPNNEOFYTPCHBFSH FFPF RBTBNEFT. oEPVIPDYNSCHK NPDHMSh VHDEF BCHFPNBFYUEULY ЪBZTKHTSEO, LPZDB ChSCH H RETCHSHKK TB UNPOFYTHEFE TBDEM DOS, FBL, LBL LFP PRYUBOP OYCE. LTPNE FPZP, SBNEYUBFEMSHOSHCHK RBLEF RPCHPMSEF RPMHYUYFSH DPUFHR L DOS DYULEFBN VEH OEVPVIPDYNPUFY NPOFITPCHBFSH Y TBNPOFYTPCHBFSH YI (Y OE FTEVHEF OBMYFSYUY).

Opțiuni CD9660 # ISO 9660 Sistem de fișiere

JBKMPCHBS UYUFENB ISO 9660 DMS LPNRBLF-DYULPCH. CDROM-ul eUMY X CHBU RFU RTYCHPDB YMY BL VHDEFE MYYSH YTEDLB NPOFYTPCHBFSH LPNRBLF-DYULY au DBOOSCHNY, BLPNNEOFYTHKFE FH UFTPLH, FBL LBL OEPVIPDYNSCHK NPDHMSH VHDEFULFTPCHBFCHBFSH DYULY BPLNEOFYTHKFE FH UFTPLH, FBL LBL OEPVIPDYNSCHK NPDHMSH VHDEFULFULFTPCHBFTYBTYBFTY BULFUPCHBTYBTYRBY. DMS YURPMSHЪPCHBOIS ЪCHLPCHSHI LPNRBLF-DYULPCH LFB ZHBKMPCHBS UYUFENB OE RPFTEVHEFUS.

Opțiuni PROCFS # Procesează sistemul de fișiere (necesită PSEUDOFS)

zhBKMPCHBS UYUFENB RTPGEUUPCH. yFP CHYTFHBMSHOBS >> ZHBKMPCHBS UYUFENB NPOFYTHENBS Ch /proc, LPFPTBS RPCHPMSEF FBLYN RTYMPSEOYSN, LBL CHSHCHDBCHBFSH CHBN VPMSHYE YOZHPTNBGYY P BRHEOOOSCHI RTPGEUUBI. YURPMSHJPCHBOYE PROCFS OE FTEVHEFUS, FBL LBL VPMSHYOUFCHP NPOYFPTYOZPCHSCHI Y PFMBDPYUOSCHI YOUFTHNEOPCH VSCHMP BDBRFYTPCHBOP DMS TBVPFSH VEJ

Opțiuni PSEUDOFS # Cadru pseudo-sistem de fișiere

sDTB, LPFPTSCHE YURPMSHHAF PROCFS, DPMTSOSCH FBLCE CHLMAYUBFSH RPDDETTSLH PSEUDOFS,

Opțiuni GEOM_PART_GPT # Tabele de partiții GUID. # NIC-uri Ethernet PCI. device de # DEC/Intel DC21x4x (Tulip >>) device em # Intel PRO/1000 adaptor Gigabit Ethernet Card device ixgb # Intel PRO/10GbE Ethernet Card device txp # 3Com 3cR990 (Typhoon >>) device vx # 3Com 3c590, 3c595 ( Vortex >>)

dTBKCHETB UEFEC LBTF PCI. BLPNNEOFYTHKFE YMY HDBMYFE DTTBKCHETB FEI LBTF, LPFPTSHCHE PFUHFUFCHHAF CH CHBYEK UYUFENE.

# NIC-uri Ethernet PCI care utilizează codul comun al controlerului de magistrală MII. # NOTĂ: Asigurați-vă că păstrați linia „device miibus” pentru a utiliza aceste NIC-uri! dispozitiv miibus # suport magistrală MII

rPDDETSLB YYOSCH MII FTEVHEFUS DMS OELPFPTSCHI PCI 10/100 Ethernet LBTF, LPFPTSHCHE YURPMSHHAF MII-UPCHNEUFYNSHCHE RETEDBFUYLY YMY TEBMYJHAF YOFETZHEKU HRTBCHMEOYS RETEDBFLPPUTSLBFPYKU Dispozitiv dPVBChMEOYE miibus B LPOZHYZHTBGYPOOSCHK ZHBKM SDTB CHLMAYUBEF RPDDETTSLH UFBODBTFOPZP API miibus J CHUEI DTBKCHETPCH PHY, CHLMAYUBS UFBODBTFOSCHK LCA FEI PHY, LPFPTSCHE OE PVTBFVKBFSCHCHPVTBFVCHETPCH PHY.

Dispozitiv bfe # Dispozitiv Broadcom BCM440x 10/100 Ethernet bge # Broadcom BCM570xx Dispozitiv Gigabit Ethernet dc # DEC/Intel 21143 și diverse dispozitive similare fxp # Intel EtherExpress PRO/100B (82557, 82558) dispozitiv lge # Dispozitiv LXT10 Level 1 gigabit # ether0net 1 Dispozitiv Marvell/SysKonnect Yukon II Gigabit Ethernet nge # NatSemi DP83820 dispozitiv gigabit ethernet pcn # AMD Am79C97x PCI 10/100 (precedență față de „lnc”) dispozitiv re # RealTek 8139C+/8169/8169S/8169/8169S/81109S/81109S/81109S Dispozitiv 81029S # Dispozitiv Adaptec AIC-6915 (Starfire >>) sis # Dispozitiv Silicon Integrated Systems SiS 900/SiS 7016 sk # SysKonnect SK-984x > Dispozitiv SK-982x gigabit Ethernet ste # Dispozitiv Sundance ST201 (D-Link DFE-550TX) stge # Sundance/Tamarack TC9021 gigabit Ethernet device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 EPIC >>) device vge # VIA VT612x gigabit Ethernet device vr # VIA Rhine, Rhine II dispozitiv wb # dispozitiv Winbond W89C840F xl#3Com 3c90x (Bumerang >>, Ciclon >>)

dTBKCHETB, LPFPTSHCHE YURPMSH'HAF LPOFTPMMET YYOSCH MII.

# ISA Ethernet NIC-uri. NIC-uri pccard incluse. device cs # Crystal Semiconductor CS89x0 NIC # „device ed” necesită dispozitiv „device miibus” ed # NE000, SMC Ultra, 3c503, DS8390 card device ex # Intel EtherExpress Pro/10 și Pro/10+ device ep # Etherlink III dispozitiv carduri fe # Fujitsu MB8696x dispozitiv de carduri, adică # EtherExpress 8/16, 3C507, StarLAN 10 etc. device lnc # NE2100, NE32-VL Lance Ethernet cards device sn # seria 9000 de cipuri Ethernet SMC dispozitiv xe # Xircom pccard Ethernet # dispozitive ISA care folosesc vechile shims ISA # device le

dTBKCHETB UEFEC LBTF ISA. pOBLPNShFEUSH U ZHBKMPN /usr/src/sys/ i386 conf/NOTE

# Dispozitiv de carduri NIC fără fir WLAN # Suport 802.11

Suport generic 802.11. Această linie este necesară pentru rețea fără fir.

Dispozitiv wlan_wep # 802.11 Dispozitiv de suport WEP wlan_ccmp # 802.11 Dispozitiv de suport CCMP wlan_tkip # 802.11 Suport TKIP

Suport criptografic pentru dispozitive 802.11. Aceste linii sunt necesare dacă intenționați să utilizați criptarea și protocoalele de securitate 802.11i.

Dispozitiv și # NIC-uri wireless Aironet 4500/4800 802.11. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) device ath_rate_sample # SampleRate tx rate control for ath device awi # BayStack 660 and other device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.de wl # NIC fără fir mai vechi non 802.11 Wavelan.

rPDDETSLB TBMYUOSCHI VEURTPCHPDOSCHI LBTF.

# Buclă de dispozitiv pseudo-dispozitive # Buclă de rețea

uFBODBTFOPE HUFTPKUFCHP PVTBFOPK UCHSY DMS TCP/IP. eUMY CHSH JBRHULBEFE telnet YMYY FTP RP PFOPIEOYA localhost (PO 127.0.0.1), FFPF RBTBNEFT PVSEBFEMEO .

Dispozitiv aleatoriu # Entropie dispozitiv

ZEOETBFPT UMHYUBKOSCHI YUYUEM DMS LTYRFPZTBJYUEULPK ЪBEYFSCH.

Dispozitiv ether # suport Ethernet

eter OEPVIPDYN MYYSH CH UMHYUBE, EUMY H CHBU EUFSH UEFECHBS LBTFB. conform CHLMAYUBEF RPDDETTSLH UFBODBTFOPZP LPDB RTPFPLPMB Ethernet.

Dispozitiv sl # Kernel SLIP

sl - ffp RPDDETZLB SLIP. SLIP VSCHM RTBLFYUEULY CHSHCHFEUOEEO PPP, LPFPTSCHK MEZUE OBUFTBYCHBEFUUS, MKHYUY RPDIPDYF DMS UPEDYOEOYK NPDEN-NPDEN Y YNEEF VPMSHYE CHPNPTSOPUFEK.

Dispozitiv ppp # Kernel PPP

RPDDETCLB PPP H SDTE DMS UPEDYOEOYK dial-up. FBLS USUFCHFCEF CHETSIUS PPP, TEBMYPCHBOPZP LLB RTYMPSEYE, YURPMSHAHAEEE TUN, TUN RTEDBZBAEEI VPMYUYUFCHP ChPNPCPUFEK, LLB, Ottinet, Upden Opener Opepvipteufuy (Vol Uefy).

Device tun # Tunel de pachete.

YURPMSHЪHEFUS RPMSHЪPCHBFEMSHULYN RTPZTBNNIGHT PVEUREYOYEN PPP. pVTBFIFEUSH L TBDEMH PPP LFPC LOYZY OB DBMSHOEKYEK YOZHPTNBGYEK.

Pty dispozitiv # Pseudo-ttys (telnet etc)

RUECHDP-FETNYOBM >> YMYY YNYFYTPCHBOOSCHK RPTF DMS CHIPDB. JURPMSHJHEFUS CHIPDSEYNY telnet Y rlogin -YEYUYYSNY, RTYMPSEOYEN xterm Y OELPFPTSCHNY DTHZYNYY RTYMPSEOYSNY, FBLYNY LBL Emacs .

Dispozitiv md # Discuri de memorie >>

RUECHDP-HUFTPKUFCHB DYULPCH CH RBNSFY.

Gif dispozitiv # Tunnel IPv6 și IPv4

RPDDETCLB FHOOEMYTPCHBOYS IPv6 UETE IPv4, IPv4 UETE IPv6, IPv4 UETE IPv4 IPv6 UETE IPv6. HUFTPKUFCHP gif SCHMSEFUS BCHFPLMPOYTHENSCHN>>, Y VKhDEF UTDBCHBFSH ZHBKMSCH HUFTPKUFCH RP NET OEPVIPDYNPUFY.

Credința dispozitivului # Retransmitere de la IPv6 la IPv4 (traducere)

FP RUECHDP-HUFTPKUFCHP BICHBFSCHCHBEF RBLEFSHCH, LPFPTSCHE VSCHMY RPUMBOSCH ENH Y RETEOBRTTBCHMSEF YI DBENPOH FTBOUMSGIY IPv4/IPv6.

# Dispozitivul „bpf” activează filtrul de pachete Berkeley. # Fiți conștienți de consecințele administrative ale activării acestui lucru! # Rețineți că „bpf” este necesar pentru DHCP. device bpf # Filtrul de pachete Berkeley

JYMSHFT RBLEFCH Berkeley. FP RUECHDP-HUFTPKUFCHP RPCHPMSEF RETECHPDYFSH UEFECHSHCHE YOFETZHEKUSCH CH OETBVPTYUYCHSHCHKK >> (promiscuu) TETSYN, CH LPFPTPN RETEICHBFSCHBEFUS MAVPC RBLEF CH YTPLPNETCHEEBFEMSHOPK UEFYther (promiscuu). yFY RBLEFSH NPZHF VSHCHFSH UPITBOEOSCH DESPRE DYUL Y / YMY YUUMEDPCHBOSH RTY RPNPEY.

rtyyyyyyyyyeh:

HUFTPKUFCHP FBLCE YURPMSHЪHEFUS RTPZTBNNPK DMS FPZP, UFPVSCH RPMKHYUYFSH BDTEU YMAB RP HNPMYUBOYA Y F.R. eUMY CHSH YURPMSHHEFE DCHP, OE HDBMSKFE LFH PRGYA.

# Dispozitiv de suport USB uhci # UHCI PCI->Dispozitiv de interfață USB ohci # OHCI PCI->Dispozitiv de interfață USB ehci # EHCI PCI->Dispozitiv de interfață USB (USB 2.0) usb # USB Bus (necesar) #dispozitiv udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # Human Interface Devices >> device ukbd # Keyboard device ulpt # Printer device umass # Discuri/Mass storage - Necesită scbus și da device ums # Mouse device ural # Ralink Technology RT2500USB wireless NICs device urio # Diamond Rio 500 dispozitiv MP3 player uscanner # Scanere # USB Ethernet, necesită dispozitiv mii aue # ADMtek USB Ethernet device ax # ASIX Electronics USB Ethernet device cdce # Generic USB over Ethernet device cue # CATC USB Ethernet device kue # Kawasaki LSI USB Ethernet device rue # RealTek RTL8150 USB Ethernet Intel(R) Pentium(R) Pro FreeBSD YNEEF RPDDETTSLH LFPK ChPNPTSOPUFY RPUTEDUFCHPN PRGYY SDTB PAE, DPUFHROPK PE CHUEI FELHEYI CHETUYSI FreeBSD. h U PZTBOYUEOISNY BTIYFELFHTSC Intel, OE DEMBEFUS OILBLLPZP TBMYUYS NETsDH RBNSFSHA OYTSE YMYY CHCHYE 4 ZYZBVBKF. RBNSFSH, TBNEEEOOBS CHSHCHIE 4 ZYZBVBKF, RTPUFP DPVBCHMSEFUS L DPUFHROPK RBNSFY.

DMS FPZP, UFPVSCH CHLMAYUYFSH PAE H SDTE, RTPUFP DPVBCHSHFE RTYCHEDEOOHA UFTPLH CH LPOZHZHTBGYPOOSCHK ZHBKM SDTB:

OpțiuniPAE

rtyyyyyyyyyeh:

RPDDETCLB PAE H FreeBSD UHEEUFCHHEF FPMSHLP DMS RTPGEUUPTPCH Intel(R) IA-32. fBLTS UMEDHEF ЪBNEFYFSH, UFP PAE H FreeBSD OE VSCHMP RPMOPUFSHHA RTPFEUFYTPCHBOP Y DPMTSOP UYUYFBFSHUS OBIPDSEYNUS CH UPUFPSOY VEFB-FEUFYTPCHBOYS RP UTBCHOEOYA, UTBNYVYPCHBOYA GRATUIT

rPDDETCLB PAE H FreeBSD YNEEF UMEDHAEYE PZTBOYUEOOIS:

    rTPGEUU OE NPTCEF RPMHUYFSH DPUFHR L VPMEE, YUEN 4 ZYZBVBKFBN RTPUFTBOUFCHB VM.

    dTBKCHETSCH HUFTPKUFCH, LPFPTSCHE OE YURPMSHHAF YOFETZEKU, RTYCHEDHF L RPCHTETSDEOYA YOZHPTNBGYY CH SDTE U CHLMAYEOOSCHN PAE. OE TELPNEODHEFUS YURPMSHЪPCHBFSH FBLIE DTTBKCHETSCHCH. rp lfpk rtyuyoe h FreeBSD CHLMAYUEO LPOZHYZHTBGYPOOSCHK ZHBKM SDTB PAE , Ъ LPFPTPZP HDBMEOSCH CHUE DTBCCHETSCHCH, P LPFPTSCHI Y'CHEUFOP, UFP POY OE TBVPFBAF RTY CHLMAYDETZLEOPKE

    oELPFPTSHCHE UYUFENOSHCH RETENEOOSCHE PTEDEMSAF YURPMSHЪPCHBOYE TEUKHTUPCH RBNSFY RP LPMYUEUFCHH DPUFHROPK ZHYYYYUEULPK RBNSFY. fBLYE RETENEOOSCHE NPZHF RTYCHEUFY L OEOHTSOPPNKH YUTENETOPPNKH CHSHDEMEOYA RBNSFY Ъ-ЪB PUPVEOOPUFEK TBVPFSCH UYUFENSCH PAE. pDIO Y FBLYI RTYNETCH - RETENEOOBS kern.maxvnodes , LPFPTBS HRTBCHMSEF NBLUINBMSHOSHCHN LPMYUEUFCHPN vnode, TBTEEOOOSCHI H SDTE. TELPNEODHEFUUS HUFBOPCHYFSH FFH Y RPDPVOSCHE EK RETENEOOSCHE CHTHYUOKHA H BDELCBFOSHCHE OBBYUEOYS.

    ChPNPTSOP, RPobdpvyfus Hchechyuhufs RTPFTBOUFFCHPHBHBMSCHBS BDTEUPH SDTB (KVA) YMY HNEUPHYFSH LBKHA-MYVP RITEYEOOKH (UN. CHRACT), LPFTBCHDBOPK LPFTPK NPRTBCHDBOP SUBLPY NPZMP LBKHA-MYVP RITEYEOOKH (UN. CHRACT), LPFTBCHDBOPK LPFTPK NPRTBCHDBOP SUBLPY NPZMP LBKHA-MYVP RITEYEOOKH. dMS ffpzp npcef vshchfsh jurpmshjchbob prgys sdtb KVA_PAGES .

h UMHYUBE UPNOOYK PFOPUYFEMSHOP RTPYCHPDYFEMSHOPUFY Y UVBVYMSHOPUFY TELPNEODHEFUUS PVTBFYFSHUS L UFTBOYGE THLPCHPDUFCHB. uFTBOYGB THLPCHPDUFCHB UPDETSYF UCHETSHA YOZHPTNBGYA P RPDDETSLE PAE H FreeBSD.

Sistemul de operare Linux, spre deosebire de Windows, nu are un registru comun pentru stocarea setărilor sistemului; toate setările sunt stocate în fișierele de configurare. Majoritatea acestor fișiere se află în folderul /etc/.

Setările majorității programelor de sistem și ale terților se află în aceste fișiere, acestea pot fi setări pentru serverul grafic, managerul de autentificare, serviciile de sistem, serverul web, sistemul de inițializare.

Doar o parte din fișierele de configurare se află în alte foldere, de exemplu, fișierele de configurare desktop din directorul principal al utilizatorului. Este foarte important ca începătorii să înțeleagă de ce sunt responsabile anumite fișiere de configurare, pentru a naviga rapid dacă este necesar. În acest articol, ne vom uita la principalele fișiere de configurare Linux, locația și scopul acestora.

De fapt, nu există fișiere de configurare în sistemul Linux în sine. Deoarece sistemul de operare este doar un set de programe și un nucleu, toate aceste fișiere au fost create de anumite programe și sunt citite de acestea pentru a configura comportamentul. Majoritatea fișierelor pe care suntem obișnuiți să le considerăm standard sunt legate de sistemul de inițializare sau alte utilitare de sistem.

După cum am spus, majoritatea fișierelor sunt localizate în /etc. Numele acestui folder înseamnă „et cetera”, care înseamnă „și alții” sau „și așa mai departe” în latină. Mai întâi, să vedem conținutul directorului Linux /etc:

Există destul de multe fișiere diferite aici. În continuare, vom lua în considerare scopul multora dintre ele. Lista este sortată alfabetic.

1. /etc/adjtime

Acest fișier de configurare este responsabil pentru setarea formatului de timp al sistemului și este citit de serviciul systemd-timedated. Ora poate fi reprezentată în două versiuni: LOCAL - ora fusului orar curent și UTC - Greenwich Mean Time. Puteți modifica manual valoarea sau puteți utiliza utilitarul timedatectl.

2. /etc/bash.bashrc

Acest fișier aparține shell-ului bash. Nu este cu adevărat un fișier de configurare - este un script, conținutul său este executat de fiecare dată când bash este pornit pentru a configura shell-ul. În mod similar, conținutul fișierului ~/.bashrc este executat pe o bază de utilizator.

3. /etc/crontab

6. /etc/group

25. /etc/sudoers

/etc/sudoers este fișierul de configurare. Acest utilitar vă permite să executați comenzi în numele altor utilizatori, inclusiv în numele superutilizatorului. Dar numai acei utilizatori care sunt înregistrați în acest fișier îl pot folosi.

26. /etc/sysctl.conf

Acest fișier este responsabil pentru runtime. Aici puteți seta toți parametrii din subsistemul /sys/ și vor fi salvați după repornire.

27. /etc/vconsole.conf

Acest fișier are un singur scop - de a seta codificarea implicită, aspectul tastaturii și fontul pentru toate consolele virtuale care rulează pe mașină.

28./boot/grub/grub.cfg

Acest fișier de configurare Linux nu este în /etc din cauza scopului său special. Acesta conține toate setările bootloader-ului, elementele de meniu și alte opțiuni, așa că ar trebui să fie disponibil înainte ca sistemul de fișiere rădăcină să fie montat.

concluzii

În acest articol, ne-am uitat la principalele fișiere de configurare Linux care se află în folderul /etc/. Poate că unele fișiere importante, după părerea dvs., lipsesc, atunci asigurați-vă că ne spuneți despre ele și scopul lor în comentarii!

Top articole similare