Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
opis pakietu napisał(-a):
mlocate jest nową implementacją locate, narzędzia do znajdowania plików gdziekolwiek w systemie plików, na podstawie ich nazwy, używając określonych wzorców czy wyrażeń regularnych. W odróżnieniu od narzędzi takich jak find(1), locate do wyszukiwania używa uprzednio stworzonej bazy danych, pozwalając, aby zapytania były wykonywane dużo szybciej. Rzeczona baza danych jest uaktualniana okresowo poprzez crona.
Istnieje kilka implementacji locate: oryginalna implementacja z GNU findutils, slocate oraz mlocate. Przewaga mlocate polega na:
* indeksowaniu całego systemu plików, natomiast rezultaty wyszukiwania
zawierają jedynie pliki, do których użytkownik wykonujący locate ma
dostęp. Baza danych może być uaktualniana tylko przez roota, a zwykli
użytkownicy mają do niej dostęp jedynie z poziomu programu locate.
slocate również działa w ten sposób, ale oryginalny locate już nie.
* zamiast ponownego czytania całej zawartości wszystkich katalogów za
każdym razem, gdy baza danych jest uaktualniana, mlocate utrzymuje
informacje o znaczniku czasu w swojej bazie danych i dzięki temu wie,
czy zawartość katalogów uległa zmianie, bez ponownego ich czytania.
Sprawia to, że uaktualnianie staje się dużo szybsze i mniej obciąża
twardy dysk. Tę funkcjonalność posiada jedynie mlocate.
http://packages.debian.org/lenny/mlocate
różnica w czasie budowaniu indeksu (zwłaszcza przy zachowaniu regularności), naprawdę robi wrażenie :)
Ostatnio edytowany przez azhag (2008-12-03 23:47:22)
Offline
ja mam proste rozwiązanie.
updatedb zostało wywalone z crona na rzecz ręcznych aktualizacji, odbywających się "kiedy mi się chce, a komp nic nie robi". jest uruchamiane na uprawnieniach użytkownika nobody, który nie ma praw odczytu katalogów domowych i muzyki - tak więc lista plików w indeksie jest mniej więcej stała.
następnie:
$ pwd /home/harry $ find -type f . > ./ffind-db
i gdy czegoś potrzebuję:
grep -i coś ffind-db
dodałem sobie naturalnie "alias ig='grep -i'" do listy aliasów. ponieważ żaden inny plik w moim katalogu domowym nie zaczyna się od "ff", szybko dopełnia się tą nazwę tabem.
podobny zabieg dla katalogu z muzyką (który zmienia się rzadziej od ~, ale częściej od /).
ale chyba przetestuję tego mlocate ;]
P.S. tak naprawdę nic nie stałoby na przeszkodzie, aby dpkg dołączał listę zainstalowanych właśnie plików (lub usuwał je z listy przy deinstalacji) do bazy .?locate. wtedy updatedb byłoby niemal zbędne.
Offline
harry666t napisał(-a):
jupdatedb zostało wywalone z crona na rzecz ręcznych aktualizacji, odbywających się "kiedy mi się chce, a komp nic nie robi"
ja nauczyłem się wieczorem (lub w nocy, jak kto woli) wyłączać komputer za pomocą updatedb && shutdown -h now
Offline