Provided by: manpages-pl_0.7-2_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)