Provided by: debconf-doc_1.5.91_all 

NUME
debconf - sistemul de configurare a pachetelor Debian
DESCRIERE
Debconf este un sistem de configurare pentru pachetele Debian. Există o comandă rar utilizată numită
debconf, documentată în debconf(1)
Debconf oferă o interfață consistentă pentru configurarea pachetelor, permițându-vă să alegeți din mai
multe interfețe de utilizator. Aceasta oferă suport pentru preconfigurarea pachetelor înainte ca acestea
să fie instalate, ceea ce permite instalărilor și actualizărilor de mari dimensiuni să vă ceară toate
informațiile necesare în prealabil și apoi să facă treaba în timp ce dumneavoastră faceți altceva. Vă
permite, dacă vă grăbiți, să săriți peste întrebările și informațiile mai puțin importante în timpul
instalării unui pachet (și să reveniți asupra acestora mai târziu).
Preconfigurarea pachetelor
Debconf poate configura pachetele chiar înainte ca acestea să fie instalate în sistemul dumneavoastră.
Acest lucru este util deoarece permite ca toate întrebările pe care pachetele le vor pune să fie adresate
la începutul unei instalări, astfel încât restul instalării să poată continua în timp ce sunteți plecat
să serviți o ceașcă de cafea.
Dacă utilizați apt (versiunea 0.5 sau ulterioară) și aveți instalat apt-utils, fiecare pachet instalat de
apt va fi preconfigurat automat. Acest lucru este controlat prin intermediul
/etc/apt/apt.conf.d/70debconf
Uneori s-ar putea să doriți să preconfigurați un pachet manual, atunci când nu îl instalați cu apt.
Puteți utiliza dpkg-preconfigure(8) pentru a face acest lucru, doar treceți-i numele de fișiere ale
pachetelor pe care doriți să le preconfigurați. Veți avea nevoie de apt-utils instalat pentru ca acest
lucru să funcționeze.
Reconfigurarea pachetelor
Să presupunem că ați instalat pachetul și ați răspuns la întrebările lui debconf, dar acum că l-ați
folosit o vreme, vă dați seama că doriți să reveniți și să modificați unele dintre răspunsurile
dumneavoastră. În trecut, reinstalarea unui pachet era adesea lucrul care trebuia făcut atunci când erați
în această situație, dar atunci când reinstalați pachetul, debconf pare să își amintească că ați răspuns
la întrebări și nu le mai pune din nou (aceasta este o caracteristică).
Din fericire, debconf facilitează reconfigurarea oricărui pachet care îl utilizează. Să presupunem că
doriți să reconfigurați chiar debconf. Trebuie doar să rulați, ca root:
dpkg-reconfigure debconf
Aceasta va pune toate întrebările pe care le-ați văzut când debconf a fost instalat prima dată. Este
posibil să vă pună și alte întrebări, deoarece pune chiar și întrebări cu prioritate scăzută care ar fi
putut fi omise atunci când pachetul a fost instalat. Îl puteți utiliza și pe orice alt pachet care
utilizează debconf.
Interfețe
Una dintre caracteristicile unice ale debconf este faptul că interfața pe care v-o prezintă este doar una
dintre multe altele, care pot fi schimbate după bunul plac. Există multe interfețe debconf disponibile:
dialog Interfața implicită, aceasta utilizează programele whiptail(1) sau dialog(1) pentru a vă afișa
întrebările. Aceasta funcționează în modul text.
readline
Cea mai tradițională interfață, aceasta arată destul de asemănător cu modul în care a fost
întotdeauna configurarea Debian: o serie de întrebări, afișate la consolă folosind text simplu, și
solicitări realizate folosind biblioteca readline. Oferă chiar și suport pentru completarea cu
tabulatorul. Pachetul libterm-readline-gnu-perl este foarte recomandat dacă alegeți să utilizați
această interfață; modulul readline implicit nu acceptă solicitarea cu valori implicite. Cel
puțin, veți avea nevoie de pachetul perl-modules instalat pentru a utiliza această interfață.
Această interfață are câteva taste rapide speciale. «pageup» (sau «ctrl-u») va reveni la
întrebarea anterioară (dacă pachetul care utilizează debconf acceptă acest lucru), iar «pagedown»
(sau «ctrl-v») va trece la următoarea întrebare.
Aceasta este cea mai bună interfață pentru munca de administrare de la distanță pe o conexiune
lentă, sau pentru cei care se descurcă bine cu unix.
noninteractive
Aceasta este anti-interfața. Nu interacționează deloc cu dvs. și face ca răspunsurile implicite să
fie utilizate pentru toate întrebările. Poate trimite mesaje de eroare către root, dar asta este
tot; în rest, este complet silențioasă și discretă, o interfață perfectă pentru instalările
automate. Dacă utilizați această interfață și aveți nevoie de răspunsuri la întrebări care nu sunt
implicite, va trebui să preconfigurați baza de date debconf; consultați secțiunea de mai jos
privind instalarea nesupravegheată a pachetelor pentru mai multe detalii.
gnome Aceasta este o interfață grafică X modernă care utilizează bibliotecile gtk și gnome. Desigur,
necesită ca variabila de mediu DISPLAY să aibă o valoare validă pentru a funcționa; debconf se va
întoarce la alte interfețe dacă nu poate funcționa. Rețineți că această interfață necesită să
aveți instalat pachetul libgtk3-perl.
kde Această interfață oferă o interfață grafică X modernă bazată pe platforma KDE. Desigur, aveți
nevoie ca variabila de mediu DISPLAY să aibă o valoare validă pentru a utiliza această interfață
și trebuie să instalați pachetul debconf-kde-helper. Interfața va reveni la dialog dacă unele
dintre condițiile prealabile nu sunt îndeplinite.
editor Aceasta este pentru acei fanatici care trebuie să facă totul într-un editor de text. Acesta
rulează editorul dvs. preferat pe un fișier care seamănă cu un fișier de configurare unix tipic,
iar dvs. editați fișierul pentru a comunica cu debconf. Autorul Debconf preferă să nu comenteze cu
privire la circumstanțele care au dus la scrierea acestei interfețe.
web
Această interfață acționează ca un server web, la care vă conectați cu navigatorul dvs. web,
pentru a parcurge întrebările și a răspunde la ele. Este foarte promițător, dar deocamdată este
puțin greoi. Atunci când această interfață pornește, ea va afișa locația către care trebuie să
îndreptați navigatorul dvs. web. Din motive de securitate, trebuie să executați navigatorul web pe
aceeași mașină pe care o configurați.
Țineți cont de faptul că aceasta nu este o interfață foarte sigură. Oricine are acces la
calculatorul care este configurat poate accesa serverul web și configura lucrurile în timp ce
această interfață rulează. Prin urmare, aceasta este mai mult o dovadă de concept decât orice
altceva.
Puteți schimba interfața implicită utilizată de debconf prin reconfigurarea debconf. Pe de altă parte,
dacă doriți să schimbați interfața doar pentru un minut, puteți defini variabila de mediu DEBIAN_FRONTEND
la numele interfeței de utilizat. De exemplu:
DEBIAN_FRONTEND=readline apt-get install slrn
Comenzile dpkg-reconfigure(8) și dpkg-preconfigure(8) vă permit, de asemenea, să le pasați opțiunea
--frontend=, urmată de numele interfeței pe care doriți să o utilizeze.
Rețineți că nu toate interfețele vor funcționa în toate situațiile. Dacă o interfață nu reușește să
pornească din anumite motive, debconf va afișa un mesaj explicând de ce și va trece la următoarea
interfață similară.
Priorități
O altă caracteristică plăcută a debconf este că întrebările pe care vi le pune sunt prioritizate. Dacă nu
doriți să fiți deranjat de fiecare lucru mărunt, puteți configura debconf să vă pună doar cele mai
importante întrebări. Pe de altă parte, dacă sunteți obsedat de control, îl puteți face să vă arate toate
întrebările. Fiecare întrebare are o prioritate. În ordinea crescătoare a importanței:
low Întrebări foarte banale care au valori implicite care vor funcționa în marea majoritate a
cazurilor.
medium Întrebări normale care au valori implicite rezonabile.
high Întrebări care nu au un răspuns implicit rezonabil.
critical
Întrebări pe care trebuie să le vedeți cu adevărat (altfel...).
Vi se vor afișa numai întrebările cu o prioritate egală sau mai mare decât prioritatea aleasă. Puteți
stabili valoarea priorității prin reconfigurarea debconf sau temporar, pasând --priority= urmată de
valoare, comenzilor dpkg-reconfigure(8) și dpkg-preconfigure(8), sau prin definirea variabilei de mediu
DEBIAN_PRIORITY.
Baza de date principală
Debconf utilizează o bază de date principală destul de flexibilă și potențial complicată pentru stocarea
datelor, cum ar fi răspunsurile la întrebări. Fișierul /etc/debconf.conf este utilizat pentru a configura
această bază de date. Dacă trebuie să configurați ceva complicat, cum ar fi să faceți debconf să citească
o bază de date de la distanță pentru a obține valorile implicite, cu suprapuneri locale, citiți pagina de
manual debconf.conf(5) pentru toate detaliile sângeroase. În general, baza de date principală este
localizată în /var/cache/debconf/ .
Instalarea nesupravegheată a pachetelor
Dacă aveți multe mașini de gestionat, vă veți afla uneori în situația de a trebui să efectuați o
instalare sau o actualizare nesupravegheată a pachetelor pe mai multe sisteme, atunci când răspunsurile
implicite la unele întrebări de configurare nu sunt acceptabile. Există mai multe moduri de a aborda
această problemă; toate implică crearea unei baze de date și utilizarea acesteia de către debconf pentru
a obține răspunsurile dorite.
Ar trebui să citiți debconf.conf(5) înainte de această secțiune, deoarece trebuie să înțelegeți cum
funcționează bazele de date ale debconf.
Cel mai simplu mod de a configura baza de date este să instalați pachetele pe o mașină și să răspundeți
la întrebările lor ca de obicei. Sau ați putea folosi dpkg-preconfigure(8) pentru a configura un set de
pachete fără a le instala efectiv. Sau ați putea decide chiar să scrieți manual o bază de date debconf în
text simplu sau ceva de acest gen.
Odată ce aveți baza de date, trebuie să vă dați seama cum să faceți sistemele la distanță să o utilizeze.
Acest lucru depinde, desigur, de configurația acestor sisteme și de tipurile de baze de date pe care sunt
configurate să le utilizeze.
Dacă utilizați baza de date debconf LDAP, un singur server LDAP poate răspunde automat la oricare sau la
toate întrebările privind instalarea pachetelor pentru o întreagă rețea de mașini debian.
Dar poate că utilizați ceva mai ușor de configurat, cum ar fi, de exemplu, configurația implicită a bazei
de date debconf, sau pur și simplu nu doriți ca sistemele dvs. de la distanță să utilizeze LDAP tot
timpul. În acest caz, cea mai bună abordare este să configurați temporar sistemele la distanță pentru a
stivui baza dvs. de date sub propriile baze de date existente, astfel încât să extragă valorile implicite
din aceasta. Debconf oferă două variabile de mediu, DEBCONF_DB_FALLBACK și DEBCONF_DB_OVERRIDE, pentru a
facilita acest lucru din mers. Iată un exemplu de utilizare:
cat /var/cache/debconf/config.dat | \
ssh root@target "DEBIAN_FRONTEND=noninteractive \
DEBCONF_DB_FALLBACK=Pipe apt-get upgrade"
Acest lucru face ca debconf de pe gazda de la distanță să citească datele care sunt transmise prin
conexiunea ssh și să le interpreteze ca o bază de date debconf în format text simplu. Apoi utilizează
această bază de date ca bază de date de rezervă - o bază de date numai pentru citire care este interogată
pentru răspunsuri la întrebări în cazul în care baza de date debconf principală a sistemului nu are
răspunsuri.
Iată o altă modalitate de a utiliza variabila de mediu DEBCONF_DB_FALLBACK:
ssh -R 389:ldap:389 root@target \
"DEBCONF_DB_FALLBACK='LDAP{host:localhost}' apt-get upgrade"
Aici ssh este utilizat pentru a configura o conexiune LDAP tunelată și pentru a rula debconf. Debconf
este instruit să utilizeze serverul LDAP ca bază de date de rezervă. Observați utilizarea lui
„{host:localhost}” pentru a configura modul în care debconf accesează baza de date LDAP prin furnizarea
câmpului „host” cu valoarea „localhost”.
Iată o altă metodă:
scp config.dat root@target:
ssh root@target "DEBCONF_DB_FALLBACK='File{/root/config.dat}' apt-get upgrade
Aici copiați baza de date cu scp, apoi ssh și faceți debconf să utilizeze fișierul pe care l-ați copiat.
Acest lucru ilustrează o prescurtare pe care o puteți utiliza în parametrii DEBCONF_DB_FALLBACK - dacă un
nume de câmp este omis, acesta devine implicit „nume fișier”.
Există o singură problemă cu aceste utilizări ale parametrului DEBCONF_DB_FALLBACK: În timp ce baza de
date de rezervă poate oferi răspunsuri la întrebări pe care celelalte baze de date debconf nu le-au văzut
niciodată, aceasta este interogată doar ca o soluție de rezervă; după celelalte baze de date. Dacă
trebuie să înlocuiți temporar o valoare existentă pe gazda de la distanță, trebuie să utilizați în schimb
variabila DEBCONF_DB_OVERRIDE. Ca și DEBCONF_DB_FALLBACK, aceasta stabilește o bază de date temporară,
dar această bază de date este consultată înaintea celorlalte și poate fi utilizată pentru a înlocui
valorile existente.
Dezvoltarea pentru Debconf
Dezvoltatorii de pachete și alte persoane care doresc să dezvolte pachete care utilizează debconf ar
trebui să citească debconf-devel(7) .
Pe scurt, debconf comunică cu scripturile de întreținere sau cu alte programe prin intermediul intrării
și ieșirii standard, utilizând un limbaj de comandă simplu, orientat pe linii, similar cu cel utilizat de
protocoalele comune de internet, cum ar fi SMTP. Programele utilizează acest protocol pentru a solicita
debconf să afișeze întrebări utilizatorului și să recupereze răspunsurile utilizatorului. Întrebările în
sine sunt definite într-un fișier separat, denumit fișier de șabloane „templates file”, care are un
format asemănător unui fișier de control debian.
Pachetele Debian care utilizează debconf furnizează de obicei atât un fișier de șabloane „templates”, cât
și un script „config” (rulat pentru a preconfigura pachetul) în secțiunea de metadate de control a
pachetului.
VARIABILE DE MEDIU
DEBIAN_FRONTEND
Utilizată pentru a schimba temporar interfața utilizată de debconf. A se vedea mai sus.
DEBIAN_PRIORITY
Utilizată pentru a modifica temporar prioritatea minimă a întrebării pe care debconf o va afișa. A
se vedea mai sus.
DEBCONF_DEBUG
Activează ieșirea de depanare la ieșirea de eroare standard. Poate fi definită ca un nume de
facilitate sau o expresie regulată care corespunde unui nume de facilitate (cum ar fi '.*' pentru
a afișa toate informațiile de depanare). Numele facilităților includ:
user Informații de depanare de interes pentru un utilizator debconf.
developer
Informații de depanare de interes pentru un dezvoltator de pachete.
db Informații de depanare despre baza de date principală.
DEBCONF_NOWARNINGS
Definiți la „yes” pentru a dezactiva unele avertismente pe care debconf le poate afișa. Nu suprimă
afișarea erorilor fatale.
DEBCONF_TERSE
Definiți la „yes” pentru a activa modul laconic, în care interfețele debconf reduc cantitatea de
detalii cât mai mult posibil.
DEBCONF_DB_FALLBACK
Stivuiește o bază de date după bazele de date utilizate în mod normal, astfel încât aceasta să fie
utilizată ca soluție de rezervă pentru obținerea informațiilor de configurare. Consultați
„Instalarea nesupravegheată a pachetelor” de mai sus. Dacă valoarea variabilei este numele unei
baze de date existente în debconf.conf, atunci acea bază de date va fi utilizată. În caz contrar,
variabila de mediu poate fi utilizată pentru a configura o bază de date din mers, prin indicarea
tipului de bază de date și, opțional, prin transmiterea parametrilor câmp:valoare, în interiorul
unor acolade după tip. Spațiile sunt utilizate pentru a separa câmpurile, astfel încât nu puteți
specifica o valoare de câmp care conține spații albe.
Astfel, aceasta utilizează fallbackdb în debconf.conf:
DEBCONF_DB_FALLBACK=fallbackdb
În timp ce acest lucru creează o nouă bază de date de tip File, îi indică un nume de fișier de utilizat
și dezactivează efectuarea copiilor de rezervă:
DEBCONF_DB_FALLBACK=File{Filename:/root/config.dat Backup:no}
Și ca o prescurtare, aceasta creează o bază de date de tip File cu un nume de fișier:
DEBCONF_DB_FALLBACK=File{/root/config.dat}
Rețineți că, dacă o bază de date de rezervă este configurată din mers, aceasta va fi implicit numai
pentru citire.
DEBCONF_DB_OVERRIDE
Stivuiește o bază de date înaintea bazelor de date utilizate în mod normal, astfel încât să poată
trece peste valorile din acestea. Valoarea variabilei funcționează la fel ca valoarea lui
DEBCONF_DB_FALLBACK.
DEBCONF_DB_REPLACE
Utilizează o anumită bază de date în locul bazelor de date utilizate în mod normal. Acest lucru
poate fi util pentru testarea cu o bază de date separată fără a fi nevoie să creați un
debconf.conf separat sau pentru a evita blocarea bazelor de date normale.
DEBCONF_SYSTEMRC
Dacă această variabilă de mediu este activată, debconf va ignora fișierul ~/.debconfrc al unui
utilizator și va utiliza în schimb fișierul de sistem. Dacă este definită la numele unui fișier
obișnuit, debconf va utiliza acel fișier cu prioritate față de fișierele de configurare ale
sistemului.
DEBCONF_FORCE_DIALOG
Dacă această variabilă de mediu este activată, debconf va utiliza dialog în locul whiptail pentru
interfața de dialog.
DEBCONF_FORCE_XDIALOG
Dacă această variabilă de mediu este activată, debconf va utiliza Xdialog în loc de whiptail
pentru interfața de dialog.
DEBCONF_NONINTERACTIVE_SEEN
Stabiliți-o la „true” pentru ca fanionul „seen” să fie activat pentru întrebările adresate în
interfața neinteractivă.
ERORI
Probabil destul de multe, există o grămadă de cod aici.
Dacă depuneți un raport de eroare, asigurați-vă că includeți următoarele informații:
* Interfața debconf pe care o foloseați când a apărut problema
* Ce ați făcut pentru a declanșa problema.
* Textul integral al oricărui mesaj de eroare. Dacă puteți reproduce eroarea, faceți acest lucru cu
DEBCONF_DEBUG='.*' definită și exportată. Acest lucru accelerează foarte mult depanarea.
CONSULTAȚI ȘI
debconf.conf(5), debconf-devel(7), dpkg-preconfigure(8), dpkg-reconfigure(8), debconf(1),
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).
DEBCONF(7)