Provided by:
manpages-pl_20060617-3_all 
NAZWA
locatedb - bazy nazw plikow z kompresj pocztkow
OPIS
Ta strona podrcznika opisuje format baz danych nazw plikow dla locate w
wersji GNU.
Bazy nazw plikow zawieraj listy plikow, istniejcych w szczegolnych
drzewach katalogow w momencie ostatniej aktualizacji baz.
Moe istnie wiele baz danych nazw plikow. Uytkownicy mog wybra bazy,
ktore przeszukuje locate, poslugujc si zmienn rodowiskow lub opcj
wiersza polece; zobacz locate(1L). Administrator systemu moe wybra
czsto, z jak aktualizowane s bazy, oraz katalogi, dla ktorych zawieraj
zapisy. Normalnie bazy nazw plikow zaktualizowane s przez okresowe
uruchamianie programu updatedb, zwykle noc; zobacz updatedb(1L).
updatedb uruchamia program o nazwie frcode kompresujcy list nazw plikow
przy uyciu front-compression [kompresji pocztkow], redukujcej rozmiar
bazy danych 4 do 5-krotnie. Front-compression (znana rownie jako
incremental encoding [kodowanie przyrostowe]) dziala wedlug nastpujcych
zasad.
Pozycje w bazie danych stanowi posortowan list (dla wygody uytkownikow
nie rozroniajcymi wielkoci znakow). Poniewa lista jest posortowana,
prawdopodobnie kada z jej pozycji posiada wspolny przedrostek (lacuch
pocztkowy) z pozycj poprzedni. Kada pozycja bazy rozpoczyna si bajtem
licznika ronicy offsetu. Jest to dodatkowa liczba znakow przedrostka
pochodzcego z poprzedniej pozycji bazy, jaka powinna by zastosowana
ponad liczb znakow, jakiej uywa poprzednia pozycja w stosunku do jej z
kolei poprzednika. (Licznik ten moe by ujemny.) Po liczniku nastpuje
ograniczona znakiem null kocowka ASCII -- cz nazwy, ktora nastpuje po
wspolnym przedrostku.
Jeli licznik ronicy offsetu jest wikszy ni moliwy do przechowania w
pojedynczym bajcie (+/-127), to bajt posiada warto 0x80, a licznik
nastpuje w slowie dwubajtowym, z bajtem starszym jako pierwszym
(sieciowy porzdek bajtow).
Kada 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 (lczone), nawet jeli ze wszystkich baz
oprocz pierwszej usunito pierwsz (sztuczn) pozycj. Wynika to std, e
licznik ronicy offsetu pierwszego wpisu pochodzcego z drugiej i
kolejnych baz bdzie nieprawidlowy.
Istnieje rownie stary format bazy danych, uywany przez uniksowe
programy locate i find oraz ich wczeniejsze wydania GNU. W celu
utworzenia baz w starym formacie updatedb uruchamia programy o nazwach
bigram i code. Stary format roni si od powyszego opisu w nastpujcy
sposob. W nowym formacie kada z pozycji zaczyna si od licznika ronicy
offsetu i koczy si bajtem null. W starym formacie wartoci bajtu od 0 do
28 wskazuj na licznik ronicy offsetu od -14 do 14. Wartoci bajtu
wskazujc, na to e wystpuje po niej dlugi licznik jest 0x1e (30), nie za
0x80. Dlugie liczniki przechowywane s w porzdku bajtow hosta, ktory
niekoniecznie jest sieciowym porzdkiem bajtow, oraz o rozmiarze slowa
integer hosta, zwykle majcym 4 znaki. One take reprezentuj licznik o 14
mniejszy od ich wartoci. Wiersze bazy danych nie posiadaj bajtu
ogranicznika; pocztek nastpnego wiersza wskazywany jest jego pierwszy
bajt o wartoci <= 30.
Poza tym, zamiast rozpoczynania si fikcyjn pozycj, stary format bazy
danych rozpoczyna si od 256 bajtowej tablicy zawierajcej 128 najczciej
wystpujcych dwuznakow (bigram) w licie plikow. Dwuznak w tym kontekcie
jest par ssiednich bajtow. Bajty w bazie danych posiadajce ustawiony
starszy bit s indeksami (z wyczyszczonym starszym bitem) do tablicy
dwuznakow. Kodowanie dwuznakow i liczniki ronicy offsetu powoduj, e
bazy te s o 20-25% mniejsze w porownaniu z nowym formatem. Nie s jednak
czysto 8-bitowe. Kady z bajtow nazwy pliku, przypadajcy na zakres
uywany dla kodow specjalnych, zastpowany jest w bazie przez znak
zapytania, co nieprzypadkowo stanowi mask powloki dopasowujc pojedynczy
znak.
PRZYK/LAD
Dane wejciowe do frcode:
/usr/src
/usr/src/cmd/aardvark.c
/usr/src/cmd/armadillo.c
/usr/tmp/zoo
Dlugo najdluszego wspolnego przedrostka z poprzedniego zapisu:
0 /usr/src
8 /cmd/aardvark.c
14 rmadillo.c
5 tmp/zoo
Dane wynikowe z frcode, z kocowymi znakami null zamienionymi na znaki
nowej linii i zmianie liczby bajtow 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 TAKE
find(1L), locate(1L), locatedb(5L), xargs(1L).
Znajdowanie plik'ow (dokumentacji Info on-line lub drukowanej)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
LOCATEDB(5)