- unstable 1.5.91
DEBCONF.CONF(5) | File Formats Manual | DEBCONF.CONF(5) |
NUME¶
debconf.conf - fișierul de configurare debconf
DESCRIERE¶
Debconf este un sistem de configurare pentru pachetele Debian. „/etc/debconf.conf” și „~/.debconfrc” sunt fișiere de configurare pe care debconf le folosește pentru a determina ce baze de date ar trebui să folosească. Aceste baze de date sunt folosite pentru stocarea a două tipuri de informații; date de configurare dinamice pe care utilizatorul le introduce în ele și date statice de șablon. Debconf oferă un sistem de control (driver) a bazelor de date flexibil și extensibil. Noi sisteme de control pot fi create cu un minim de efort, iar seturile de sisteme de control pot fi combinate în diverse moduri.
SINOPSIS¶
# Acesta este un exemplu de fișier de configurare
# care este suficient pentru a utiliza debconf.
Config: configdb
Templates: templatedb
Name: configdb
Driver: File
Filename: /var/cache/debconf/config.dat
Name: templatedb
Driver: File
Mode: 644
Filename: /var/cache/debconf/templates.dat
FORMATUL FIȘIERULUI¶
Formatul acestui fișier este o serie de strofe, fiecare separată de cel puțin un rând complet gol. Liniile de comentariu care încep cu un caracter „#” sunt ignorate.
Prima strofă a fișierului este specială, este utilizată pentru a configura debconf ca un întreg. Două câmpuri trebuie să fie în această primă strofă:
Câmpurile suplimentare care pot fi utilizate includ:
- Frontend
- Interfața pe care Debconf ar trebui să o utilizeze, cu prioritate față de orice interfață definită în baza de date debconf.
- Priority
- Prioritatea pe care trebuie să o utilizeze Debconf, care prevalează asupra oricărei priorități definite în baza de date debconf.
- Admin-Email
- Adresa de e poștă electronică la care Debconf ar trebui să trimită mesaje dacă trebuie să se asigure că administratorul a văzut un mesaj important. Valoarea implicită este „root”, dar poate fi definită la orice adresă de poștă electronică validă pentru a trimite mesajul acolo. Dacă preferați ca debconf să nu vă trimită niciodată mesaje, specificați o adresă goală. Acest lucru poate fi anulat din mers cu variabila de mediu DEBCONF_ADMIN_EMAIL.
- Debug
- Dacă este activată, aceasta va determina debconf să emită informații de depanare la ieșirea de eroare standard. Valoarea la care este definită poate fi ceva de genul „user”, „developer”, „db” sau o expresie regulată. De obicei, mai degrabă decât să o definiți permanent într-un fișier de configurare, veți dori doar să activați temporar depanarea, iar variabila de mediu DEBCONF_DEBUG poate fi definită pentru a realiza acest lucru.
- NoWarnings
- Dacă este activată, aceasta va face ca debconf să nu afișeze avertismente cu privire la diverse lucruri. Acest lucru poate fi anulat din mers cu variabila de mediu DEBCONF_NOWARNINGS.
- Log
- Face ca debconf să înregistreze informațiile de depanare pe măsură ce rulează, în syslog. Valoarea la care este definită controlează ceea ce este înregistrat. Consultați Debug, mai sus, pentru o explicație a valorilor care pot fi definite pentru a controla ceea ce este înregistrat.
- Terse
- Dacă este stabilită la „true”, face ca unele interfețe debconf să utilizeze un mod special de afișare laconică care afișează cât mai puțin posibil. Valoarea implicită este „false”. Modul „Terse” (laconic) poate fi activat temporar prin intermediul variabilei de mediu DEBCONF_TERSE.
De exemplu, prima strofă a unui fișier poate
arăta astfel:
Config: configdb
Templates: templatedb
Fiecare strofă rămasă în fișier
stabilește o bază de date. O strofă de bază de
date începe prin numirea bazei de date:
Name: configdb
Apoi indică ce sistem de control (driver) de bază de
date ar trebui utilizat pentru această bază de date.
Consultați SISTEME DE CONTROL, mai jos, pentru informații
despre sistemele de control disponibile.
Driver: File
Puteți indica faptul că baza de date nu este
esențială pentru buna funcționare a debconf prin a
spune că nu este necesară. Acest lucru va face ca debconf
să meargă mai departe dacă baza de date
eșuează din anumite motive.
Required: false
Puteți marca orice bază de date ca
„readonly” (numai-citire) și debconf nu va scrie nimic
în ea.
Readonly: true
De asemenea, puteți limita tipurile de date care pot intra în baza de date cu ajutorul liniilor Accept- și Reject-; a se vedea CONTROLUL ACCESULUI, mai jos.
Restul fiecărei strofe a bazei de date este utilizat pentru
a furniza configurația specifică sistemului de control
(driver) respectiv. De exemplu, sistemul de control „Text”
trebuie să știe că are un director în care
să plaseze baza de date, așa că puteți spune:
Filename: /var/cache/debconf/config.dat
SISTEME DE CONTROL¶
Există o serie de sisteme de control (drivers) disponibile, iar altele pot fi scrise cu puțină dificultate. Sistemele de control sunt în general de două tipuri. În primul rând, există sisteme de control reale - sisteme de control care accesează și stochează efectiv date într-un anumit tip de bază de date, care poate fi pe sistemul de fișiere local sau pe un sistem de la distanță. Apoi există meta-sisteme de control care combină alte sisteme de control pentru a forma sisteme mai interesante. Să începem cu primele.
Pe de altă parte, întregul fișier trebuie să fie citit de fiecare dată când debconf pornește, iar salvarea acestuia este, de asemenea, lentă.
Următoarele lucruri sunt configurabile pentru acest sistem de control.
- Filename
- Fișierul care urmează să fie utilizat ca bază de date. Acesta este un câmp obligatoriu.
- Mode
- Permisiunile cu care se creează fișierul dacă acesta nu există. Valoarea implicită este 600, deoarece fișierul ar putea conține parole în anumite circumstanțe.
- Format
- Formatul fișierului. Consultați secțiunea FORMATE de mai jos. În mod implicit se utilizează un format asemănător formatului rfc-822.
- Backup
- Dacă ar trebui făcută o copie de rezervă a fișierului vechi înainte de a-l modifica. Valoarea implicită este „true”.
Ca exemplu de configurare a unei baze de date folosind acest sistem de control:
Name: mydb
Driver: File
Filename: /var/cache/debconf/mydb.dat
Următoarele lucruri sunt configurabile pentru acest sistem de control.
- Directory
- Directorul în care se pun fișierele. Necesar.
- Extension
- O extensie de adăugat la numele fișierelor. Trebuie să fie definită cu un șir nevid; valoarea implicită este „.dat”
- Format
- Formatul fișierului. Consultați secțiunea FORMATE de mai jos. În mod implicit se utilizează un format asemănător formatului rfc-822.
- Backup
- Dacă ar trebui făcută o copie de rezervă a fișierului vechi înainte de a-l modifica. Valoarea implicită este „true”.
Ca exemplu de configurare a unei baze de date folosind acest sistem de control:
Name: mydb
Driver: DirTree
Directory: /var/cache/debconf/mydb
Extension: .txt
Acest sistem de control este configurabil în aceleași moduri ca și sistemul de control „DirTree”, plus:
- Mode
- Permisiunile cu care se creează fișierele. Valoarea implicită este 600, deoarece fișierele ar putea conține parole în anumite circumstanțe.
Ca exemplu de configurare a unei baze de date folosind acest sistem de control:
Name: mydb
Driver: PackageDir
Directory: /var/cache/debconf/mydb
Acest sistem de control de bază de date accesează un director LDAP pentru datele de configurare debconf. Datorită naturii acestui mecanism, directoarele LDAP ar trebui accesate în mod normal în modul numai citire. Acest lucru se datorează faptului că pot avea loc accesări multiple și, în general, este mai bine pentru consistența datelor dacă nimeni nu încearcă să modifice datele în acest timp. Desigur, accesul în scris este acceptat pentru acele cazuri în care doriți să actualizați datele de configurare din director.
Pentru informații despre configurarea unui server LDAP pentru debconf, citiți „/usr/share/doc/debconf-doc/README.LDAP” (din pachetul „debconf-doc”).
Pentru a utiliza acest sistem de control de bază de date, trebuie să aveți instalat pachetul „libnet-ldap-perl”. debconf sugerează acest pachet, dar nu depinde de el.
Vă rugăm să analizați cu atenție implicațiile de securitate ale utilizării unei baze de date debconf la distanță. Dacă nu aveți încredere în sursă și în rețeaua care intervine, nu este un lucru foarte sigur de făcut.
Următoarele lucruri sunt configurabile pentru acest sistem de control.
- server
- Numele gazdei sau adresa IP a unui server LDAP la care să se efectueze conectarea.
- port
- Portul la care se face conectarea la serverul LDAP. Dacă nu este dat niciunul, este utilizat portul implicit.
- basedn
- DN-ul sub care vor fi stocate toate elementele de configurare. Se presupune că fiecare element de configurare va trăi într-un DN de tipul cn=<numele elementului>,<DN de bază>. Dacă această structură nu este respectată, toate pariurile sunt închise...
- binddn
- DN-ul pentru conectarea la director. Dacă nu este specificat niciunul, se va utiliza legătura anonimă.
- bindpasswd
- Parola care urmează să fie utilizată într-o legătură autentificată (utilizată cu binddn, mai sus). Dacă nu este specificată, se va utiliza legătura anonimă.
- keybykey
- Activează accesul la intrări LDAP individuale, în loc de a le prelua pe toate odată la început. Acest lucru este foarte util dacă doriți să monitorizați jurnalele LDAP pentru anumite chei debconf solicitate. În acest fel, ați putea scrie, de asemenea, cod de manipulare personalizat pe partea serverului LDAP.
Un exemplu de strofă care configurează o bază de date utilizând acest sistem de control, presupunând că baza de date de la distanță se află pe example.com și poate fi accesată anonim:
Name: ldapdb
Driver: LDAP
Readonly: true
Server: example.com
BaseDN: cn=debconf,dc=example,dc=com
KeyByKey: 0
Un alt exemplu, de data aceasta baza de date LDAP este pe localhost și se poate scrie în ea:
Name: ldapdb
Driver: LDAP
Server: localhost
BaseDN: cn=debconf,dc=domain,dc=com
BindPasswd: secret
KeyByKey: 1
Următoarele lucruri sunt configurabile pentru acest sistem de control.
- Format
- Formatul pentru citire și scriere. Consultați secțiunea FORMATE de mai jos. În mod implicit se utilizează un format asemănător formatului rfc-822.
- Infd
- Numărul descriptorului de fișier din care se citește. Valoarea implicită este citirea de la intrarea standard. Dacă este definit la „none”, baza de date nu va citi niciun fel de date la pornire.
- Outfd
- Numărul descriptorului de fișier în care se scrie. În mod implicit, se scrie la ieșirea standard. Dacă este definit la „none”, baza de date va fi înlăturată la închidere.
Aceștia sunt toate sistemele control reale, acum trecem la meta-sistemele de control.
Lucrurile devin mai interesante dacă una dintre bazele de date din stivă este numai-pentru-citire. „readonly”. Luați în considerare o stivă de baze de date foo, bar și baz, unde foo și baz sunt ambele numai-pentru-citire. Debconf dorește să schimbe un element, iar acest element este prezent doar în baz, care este numai-pentru-citire. Sistemul de control de stivă „stack” este suficient de inteligent pentru a realiza că nu va funcționa și va copia elementul din baz în bar, iar scrierea va avea loc în bar. Acum elementul din baz este umbrit de elementul din bar și nu va mai fi vizibil pentru debconf.
Acest tip de lucru este deosebit de util în cazul în care doriți să direcționați mai multe sisteme către o bază de date centrală, numai pentru citire, permițând în același timp ca anumite lucruri să fie anulate pe fiecare sistem. Atunci când se adaugă controlul accesului, stivele vă permit să faceți multe alte lucruri interesante, cum ar fi redirecționarea tuturor parolelor către o bază de date, în timp ce o bază de date aflată sub aceasta se ocupă de orice altceva.
Pentru a configura o stivă „stack” , este necesară o singură piesă de configurare:
- Stack
- Aici specificați o listă de alte baze de date, după nume, pentru a-i spune ce alcătuiește stiva.
De exemplu:
Name: megadb
Driver: stack
Stack: passworddb, configdb, companydb
AVERTISMENT: Sistemul de control de stivă „stack” nu este încă foarte bine testat. Utilizați-l pe propriul risc.
Backup
Trebuie să specificați următoarele câmpuri pentru a configura acest sistem de control de baze de date:
De exemplu:
Name: backup
Driver: Backup
Db: mydb
Backupdb: mybackupdb
Debug
Trebuie să specificați următoarele câmpuri pentru a configura acest sistem de control de baze de date:
- Db
- Baza de date din care se citește și în care se scrie.
CONTROLUL ACCESULUI¶
Atunci când configurați o bază de date, puteți, de asemenea, să utilizați anumite câmpuri pentru a specifica controlul accesului. De exemplu, puteți specifica că o bază de date acceptă numai parole sau că o bază de date acceptă numai lucruri cu „foo” în nume.
- Readonly
- După cum s-a menționat mai înainte, acest control de acces, dacă este stabilit la „true”, face ca o bază de date să fie de tip „readonly”, numai-pentru-citire. Debconf va citi valori din aceasta, dar nu va scrie niciodată nimic în ea.
- Accept-Name
- Textul din acest câmp este o expresie regulată compatibilă perl care este comparată cu numele elementelor pe măsură ce acestea sunt solicitate din baza de date. Numai dacă numele unui element corespunde expresiei regulate, baza de date va permite debconf să îl acceseze sau să îl modifice.
- Reject-Name
- La fel ca Accept-Name, cu excepția faptului că orice nume de element care corespunde acestei expresii regulate va fi respins.
- Accept-Type
- O altă expresie regulată, aceasta se potrivește cu tipul elementului care este accesat. Accesul va fi permis numai dacă tipul corespunde expresiei regulate.
- Reject-Type
- La fel ca Accept-Type, cu excepția faptului că orice tip care corespunde acestei expresii regulate va fi respins.
FORMATE¶
Unele dintre sistemele de control de baze de date utilizează module de format pentru a controla formatul real în care baza de date este stocată pe disc. Acestea sunt formatele acceptate în prezent:
- 822
- Acesta este un format de fișier bazat în mare măsură pe formatul rfc-822 pentru antetele mesajelor de poștă electronică. Formate similare sunt folosite în cadrul Debian; în fișierul de stare (status) dpkg, și așa mai departe.
EXEMPLU¶
Iată un exemplu mai complicat de fișier debconf.conf.
# Această strofă este utilizată pentru configurarea
# generală a debconf.
Config: stack
Templates: templates
Log: developer
Debug: developer
# Aceasta este propria mea bază de date locală.
Name: mydb
Driver: DirTree
Directory: /var/cache/debconf/config
# Aceasta este o altă bază de date pe care o folosesc
# pentru a păstra doar configurația serverului X.
Name: X
Driver: File
Filename: /etc/X11/debconf.dat
Mode: 644
# Este cam greu să-mi dau seama ce întrebări
# aparțin lui X; ar trebui să folosească o
structură
# arborescentă mai profundă, astfel încât
să pot
# face potrivire doar pentru ^X/
# În fine.
Accept-Name: xserver|xfree86|xbase
# Aceasta este baza de date debconf globală,
# numai-citire (pentru mine!) a companiei noastre.
Name: company
Driver: LDAP
Server: debconf.foo.com
BaseDN: cn=debconf,dc=foo,dc=com
BindDN: uid=admin,dc=foo,dc=com
BindPasswd: secret
Readonly: true
# Nu vreau nicio parolă care ar putea
# să se afle pe acolo.
Reject-Type: password
# Dacă această BD nu este accesibilă
# din orice motiv, continuă oricum.
Required: false
# Folosesc această bază de date
# pentru a păstra parolele în siguranță.
Name: passwords
Driver: File
Filename: /etc/debconf/passwords
Mode: 600
Accept-Type: password
# Să le punem pe toate împreună într-o
bază de date.
# in a database stack.
Name: stack
Driver: Stack
Stack: passwords, X, mydb, company
# Astfel, toate parolele ajung în baza de date a parolelor.
# Cele mai multe lucruri legate de configurarea X se duc
# în baza de date X, iar orice altceva se duce în baza mea
# de date principală. Valorile sunt căutate pe rând
în fiecare
# dintre acestea, iar dacă niciuna nu are o anumită valoare,
# aceasta este căutată în baza de date LDAP a
întregii
# companii (cu excepția cazului în care este o
parolă).
# O bază de date este, de asemenea, utilizată pentru
# a păstra șabloanele. Nu este nevoie să o facem
# la fel de sofisticată.
Name: templates
Driver: File
Mode: 644
Format: 822
Filename: /var/cache/debconf/templates
NOTE¶
Dacă utilizați ceva de genul ${HOME} în acest fișier, aceasta va fi înlocuită cu valoarea variabilei de mediu numită.
Variabilele de mediu pot fi de asemenea utilizate pentru a suprascrie bazele de date din mers, a se vedea debconf(7)
Numele câmpurilor (partea de linie înainte de două puncte) nu sunt sensibile la majuscule. Valorile, însă, sunt sensibile la majuscule.
ÎMBUNĂTĂȚIRI PLANIFICATE¶
Mai multe sisteme de control și formate. Unele idei includ: un sistem de control „SQL”, cu capacitatea de a accesa o bază de date la distanță. Un sistem de control „DHCP,” care pune la dispoziție unele lucruri speciale, cum ar fi numele de gazdă, adresa IP și serverele DNS. Un sistem de control care extrage valori din câmpurile TXT ale înregistrărilor DNS publice. Un format care este compatibil cu rezultatul cdebconf. Un sistem de control de suprascriere, care poate suprascrie câmpul de valori sau fanioanele tuturor cererilor care trec prin el.
FIȘIERE¶
/etc/debconf.conf
~/.debconfrc
CONSULTAȚI ȘI¶
AUTOR¶
Joey Hess <joeyh@debian.org>
TRADUERE¶
Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2024
Dacă găsiți o greșeală în traducere, vă rugăm să o raportați autorului acestei traduceri, pe lista de discuții <debian-l10n-romanian@lists.debian.org> sau trimițând un raport de eroare contra pachetului „debconf” către sistemul de urmărire al erorilor din Debian (BTS).