Provided by: manpages-ro_4.27.0-1_all bug

NUME

       locatedb - bază de date de nume de fișiere comprimată frontal

DESCRIERE

       Această  pagină de manual documentează formatul bazelor de date cu nume de fișiere pentru versiunea GNU a
       locate. Bazele de date cu nume de fișiere conțin liste de fișiere care se  aflau  în  anumiți  arbori  de
       directoare în momentul în care bazele de date au fost actualizate ultima dată.

       Pot  exista mai multe baze de date. Utilizatorii pot selecta bazele de date în care locate caută folosind
       o variabilă de mediu sau o opțiune de linie de comandă; a se vedea locate(1). Administratorul  de  sistem
       poate  alege  numele  de  fișier al bazei de date implicite, frecvența cu care sunt actualizate bazele de
       date și directoarele pentru care acestea conțin intrări. În mod normal, bazele de date cu nume de fișiere
       sunt actualizate prin rularea periodică a programului updatedb, de obicei în fiecare noapte; a  se  vedea
       updatedb(1).

Formatul bazei de date GNU LOCATE02

       Acesta  este  formatul implicit al bazelor de date produse de updatedb. Programul updatedb execută frcode
       pentru a comprima lista de nume de fișiere utilizând compresia frontală, ceea ce reduce dimensiunea bazei
       de date de un factor de 4 până la 5.  Compresia  frontală  (cunoscută  și  sub  denumirea  de  codificare
       incrementală) funcționează după cum urmează.

       Intrările  din  baza  de  date sunt o listă ordonată (fără a ține cont de diferențele dintre majuscule și
       minuscule, pentru confortul utilizatorilor). Deoarece  lista  este  sortată,  este  probabil  ca  fiecare
       intrare  să  aibă  un  prefix (șir inițial) comun cu intrarea anterioară. Fiecare intrare în baza de date
       începe cu un octet de contorizare diferențială cu semn, care reprezintă numărul suplimentar de  caractere
       ale prefixului intrării precedente care urmează să fie utilizate în plus față de numărul pe care intrarea
       precedentă  îl  utilizează  de  la  predecesorul  său  (numărătoarea poate fi negativă.) După numărătoare
       urmează un rest ASCII cu terminație nulă, partea din nume care urmează prefixului partajat.

       În cazul în care numărul diferențial de poziție este mai mare decât poate fi stocat într-un octet cu semn
       (±127), octetul are valoarea 0x80 (binar 10000000), iar numărul real urmează într-un cuvânt de 2  octeți,
       cu  octetul  cel  mai  mare  mai  întâi  (ordinea  octeților  de rețea). Această numărătoare poate fi, de
       asemenea, negativă (bitul de semn fiind în primul dintre cei doi octeți).

       Fiecare bază de date începe cu o intrare fictivă pentru un fișier numit „LOCATE02”,  pe  care  locate  îl
       verifică  pentru  a  se asigura că fișierul bazei de date are formatul corect; în timpul căutării, ignoră
       această intrare.

       Bazele de date nu pot fi concatenate împreună, chiar dacă prima  intrare  (fictivă)  este  eliminată  din
       toate  bazele  de  date,  cu excepția primei. Acest lucru se datorează faptului că numărul diferențial de
       poziție din prima intrare a celei de-a doua baze de date și a următoarelor va fi greșit.

       În viitor, este posibil ca datele din baza de date „locate” să nu  fie  sortate  într-o  anumită  ordine.
       Pentru a obține rezultate sortate, trimiteți ieșirea din locate prin sort -f.

Formatul bazei de date „slocate”

       Programul slocate utilizează un format de bază de date similar, dar nu chiar la fel ca GNU locate. Primul
       octet  al  bazei de date specifică nivelul său de securitate.  Dacă nivelul de securitate este 0, slocate
       va citi, va potrivi și va imprima numele fișierelor numai pe baza informațiilor  din  baza  de  date.  Cu
       toate  acestea,  dacă  octetul  de  nivel de securitate este 1, slocate omite intrările de la ieșire dacă
       utilizatorul care îl invocă nu are acces la ele. Al doilea octet al bazei de date este  zero.  Al  doilea
       octet  este  urmat de prima intrare din baza de date. Prima intrare din baza de date nu este precedată de
       nici un număr diferențial sau de o intrare fictivă. În schimb, se presupune că numărul diferențial pentru
       primul element este zero.

       Începând cu a doua intrare (dacă există) în baza de date, datele sunt interpretate  ca  în  formatul  GNU
       LOCATE02.

Formatul vechi al bazei de date „locate”

       Acesta  este, de asemenea, un format vechi de bază de date, utilizat de programele Unix locate și find și
       de versiunile anterioare ale celor GNU. updatedb rulează programe numite bigram și code pentru a  produce
       baze  de  date în format vechi. Formatul vechi diferă de descrierea de mai sus în următoarele aspecte. În
       loc ca fiecare intrare să înceapă cu un octet de contorizare a diferenței de poziție și să se termine  cu
       un  zero, valorile octeților de la 0 la 28 indică valori de contorizare a diferenței de poziție de la -14
       la 14. Valoarea octetului care indică faptul că urmează un număr diferențial de poziție  lung  este  0x1e
       (30),  nu 0x80. Numărătorile lungi sunt stocate în ordinea octeților gazdă, care nu este neapărat ordinea
       octeților rețelei, și în ordinea mărimii cuvântului întreg gazdă,  care  este  de  obicei  de  4  octeți.
       Acestea  reprezintă,  de asemenea, un număr cu 14 mai mic decât valoarea lor. Liniile bazei de date nu au
       un octet de terminare; începutul liniei următoare este indicat de primul octet al acesteia având valoarea
       ≤ 30.

       În plus, în loc să înceapă cu o intrare fictivă, vechiul format al bazei de date începe cu  un  tabel  de
       256  de  octeți  care  conține  cele  mai frecvente 128 de bigrame din lista de fișiere. O bigramă este o
       pereche de octeți adiacenți. Octeții din baza de date care au bitul înalt activat sunt indexuri (cu bitul
       înalt șters) în tabelul bigramelor. Codificarea bigramelor și a numărătorii diferențiale de poziție  face
       ca  aceste  baze  de  date  să fie cu 2025% mai mici decât noul format, dar nu le face să fie curate pe 8
       biți. Orice octet dintr-un nume de fișier care se află în intervalele utilizate pentru codurile  speciale
       este  înlocuit  în  baza  de  date cu un semn de întrebare, care, nu întâmplător, este metacaracterul din
       shell pentru a se potrivi cu un singur caracter.

EXEMPLU

       Intrare în frcode:
       /usr/src
       /usr/src/cmd/aardvark.c
       /usr/src/cmd/armadillo.c
       /usr/tmp/zoo

       Lungimea celui mai lung prefix al intrării precedente care trebuie partajat:
       0 /usr/src
       8 /cmd/aardvark.c
       14 rmadillo.c
       5 tmp/zoo

       Ieșire de la frcode, cu nulurile din urmă schimbate în linii noi și cu numărul  de  octeți  care  pot  fi
       imprimați:
       0 LOCATE02
       0 /usr/src
       8 /cmd/aardvark.c
       6 rmadillo.c
       -9 tmp/zoo

       (6 = 14 - 8, și -9 = 5 - 14)

RAPORTAREA ERORILOR

       Ajutor în internet pentru GNU findutils: <https://www.gnu.org/software/findutils/#get-help>.
       Raportați orice erori de traducere la: <https://translationproject.org/team/ro.html>

       Raportați  orice altă problemă prin intermediul formularului de la sistemul de urmărire a erorilor al GNU
       Savannah:
              <https://savannah.gnu.org/bugs/?group=findutils>
       Subiectele generale despre pachetul GNU findutils sunt discutate pe lista de discuții bug-findutils:
              <https://lists.gnu.org/mailman/listinfo/bug-findutils>

DREPTURI DE AUTOR

       Drepturi de autor © 1994-2024 Free Software Foundation, Inc. Licență GPLv3+: GNU GPL versiunea  3  sau  o
       versiune ulterioară <https://gnu.org/licenses/gpl.html>.
       Acesta  este  software  liber:  sunteți  liber  să-l  modificați  și  să-l redistribuiți. Nu există NICIO
       GARANȚIE, în limitele prevăzute de lege.

CONSULTAȚI ȘI

       find(1), locate(1), xargs(1), locatedb(5)

       Documentația completă este disponibilă la <https://www.gnu.org/software/coreutils/tsort>
       sau local prin intermediul comenzii: info locatedb

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

                                                                                                     LOCATEDB(5)