Provided by: manpages-pl_0.5-1_all bug

NAZWA

       locatedb - bazy nazw plików z kompresją początków

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       Ta strona podręcznika opisuje format baz danych nazw plików dla locate w wersji GNU.

       Bazy  nazw  plików  zawierają  listy  plików,  istniejących  w szczególnych drzewach katalogów w momencie
       ostatniej aktualizacji baz.

       Może istnieć wiele baz danych nazw plików.  Użytkownicy  mogą  wybrać  bazy,  które  przeszukuje  locate,
       posługując  się zmienną środowiskową lub opcją wiersza poleceń; zobacz locate(1L).  Administrator systemu
       może wybrać częstość, z jaką  aktualizowane  są  bazy,  oraz  katalogi,  dla  których  zawierają  zapisy.
       Normalnie  bazy nazw plików zaktualizowane są przez okresowe uruchamianie programu updatedb, zwykle nocą;
       zobacz updatedb(1L).

       updatedb uruchamia program o nazwie frcode kompresujący listę nazw plików przy  użyciu  front-compression
       [kompresji  początków],  redukującej rozmiar bazy danych 4 do 5-krotnie. Front-compression (znana również
       jako incremental encoding [kodowanie przyrostowe]) działa według następujących zasad.

       Pozycje w bazie danych stanowią posortowaną listę (dla wygody użytkowników nie rozróżniającymi  wielkości
       znaków).  Ponieważ lista jest posortowana, prawdopodobnie każda z jej pozycji posiada wspólny przedrostek
       (łańcuch początkowy) z pozycją poprzednią. Każda pozycja bazy  rozpoczyna  się  bajtem  licznika  różnicy
       offsetu.  Jest  to  dodatkowa  liczba  znaków  przedrostka  pochodzącego z poprzedniej pozycji bazy, jaka
       powinna być zastosowana ponad liczbę znaków, jakiej używa poprzednia pozycja w stosunku do  jej  z  kolei
       poprzednika. (Licznik ten może być ujemny.) Po liczniku następuje ograniczona znakiem null końcówka ASCII
       — część nazwy, która następuje po wspólnym przedrostku.

       Jeśli  licznik różnicy offsetu jest większy niż możliwy do przechowania w pojedynczym bajcie (+/-127), to
       bajt posiada wartość 0x80, a licznik następuje w słowie dwubajtowym, z  bajtem  starszym  jako  pierwszym
       (sieciowy porządek bajtów).

       Każda  baza danych rozpoczyna się od sztucznej pozycji dla pliku o nazwie `LOCATE02'. locate sprawdza ten
       zapis, by upewnić się, że plik bazy posiada poprawny format; ignoruje te pozycję podczas przeszukiwań.

       Bazy danych nie mogą być sklejane (łączone), nawet jeśli ze  wszystkich  baz  oprócz  pierwszej  usunięto
       pierwszą  (sztuczną)  pozycję. Wynika to stąd, że licznik różnicy offsetu pierwszego wpisu pochodzącego z
       drugiej i kolejnych baz będzie nieprawidłowy.

       Istnieje również stary format bazy danych, używany  przez  uniksowe  programy  locate  i  find  oraz  ich
       wcześniejsze  wydania GNU.  W celu utworzenia baz w starym formacie updatedb uruchamia programy o nazwach
       bigram i code. Stary format różni się od powyższego opisu w następujący sposób. W nowym formacie każda  z
       pozycji  zaczyna  się  od  licznika  różnicy offsetu i kończy się bajtem null. W starym formacie wartości
       bajtu od 0 do 28 wskazują na licznik różnicy offsetu od -14 do 14. Wartością bajtu wskazującą, na  to  że
       występuje po niej długi licznik jest 0x1e (30), nie zaś 0x80. Długie liczniki przechowywane są w porządku
       bajtów hosta, który niekoniecznie jest sieciowym porządkiem bajtów, oraz o rozmiarze słowa integer hosta,
       zwykle mającym 4 znaki. One także reprezentują licznik o 14 mniejszy od ich wartości. Wiersze bazy danych
       nie  posiadają  bajtu  ogranicznika;  początek  następnego  wiersza  wskazywany jest jego pierwszy bajt o
       wartości <= 30.

       Poza tym, zamiast rozpoczynania się fikcyjną pozycją, stary format bazy  danych  rozpoczyna  się  od  256
       bajtowej tablicy zawierającej 128 najczęściej występujących dwuznaków (bigram) w liście plików. Dwuznak w
       tym  kontekście  jest  parą  sąsiednich bajtów. Bajty w bazie danych posiadające ustawiony starszy bit są
       indeksami (z wyczyszczonym starszym bitem) do tablicy dwuznaków.  Kodowanie dwuznaków i liczniki  różnicy
       offsetu  powodują,  że  bazy  te są o 20-25% mniejsze w porównaniu z nowym formatem. Nie są jednak czysto
       8-bitowe.  Każdy z bajtów nazwy pliku, przypadający na zakres używany dla kodów specjalnych,  zastępowany
       jest w bazie przez znak zapytania, co nieprzypadkowo stanowi maskę powłoki dopasowującą pojedynczy znak.

PRZYKŁAD

       Dane wejściowe do frcode:
       /usr/src
       /usr/src/cmd/aardvark.c
       /usr/src/cmd/armadillo.c
       /usr/tmp/zoo

       Długość najdłuższego wspólnego przedrostka z poprzedniego zapisu:
       0 /usr/src
       8 /cmd/aardvark.c
       14 rmadillo.c
       5 tmp/zoo

       Dane  wynikowe  z  frcode,  z  końcowymi  znakami null zamienionymi na znaki nowej linii i zmianie liczby
       bajtów na postać drukowalną:
       0 LOCATE02
       0 /usr/src
       8 /cmd/aardvark.c
       6 rmadillo.c
       -9 tmp/zoo

       (6 = 14 - 8, a -9 = 5 - 14)

ZOBACZ TAKŻE

       find(1L), locate(1L), locatedb(5L), xargs(1L).
       Znajdowanie plików (dokumentacji Info on-line lub drukowanej)

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne.
       W razie zauważenia różnic między powyższym opisem a rzeczywistym  zachowaniem  opisywanego  programu  lub
       funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 5 locatedb

       Prosimy   o   pomoc   w   aktualizacji   stron   man  -  więcej  informacji  można  znaleźć  pod  adresem
       http://sourceforge.net/projects/manpages-pl/.

                                                                                                     LOCATEDB(5)