Jak uzyskać mlocate do indeksowania tylko niektórych katalogów?


23

Chciałbym użyć mlocate na moim serwerze Ubuntu, ale tylko do indeksowania niektórych katalogów (np. /homeI /data, ale nie wszystko poniżej /). Jednak standardowa konfiguracja mlocate działa w drugą stronę; określasz ścieżki, które chcesz usunąć (za pomocą PRUNE_PATHS).

Czy jest jakiś prosty sposób, aby to osiągnąć, lub podobne narzędzie, które zrobi to, co chcę? (uwaga: powinien utrzymywać indeks podobny do mlocate, więc findna przykład nie do przyjęcia) Dzięki.

Odpowiedzi:


16

Możesz użyć opcji -U (--ATATA-root PATH)

updatedb -l 0 -U /home/user/music -o /home/user/databasefile

-o zapisuje do pliku wyjściowego

-l 0 powoduje, że możesz go przeczytać, w przeciwnym razie jest on dostępny tylko dla lokalizacji

Następnie możesz użyć go w następujący sposób:

locate -d /home/user/databasefile Dylan

-d ustawia ścieżkę do bazy danych

Aby użyć mlocate z więcej niż jednym katalogiem głównym, po prostu utwórz dwa pliki bazy danych i użyj opcji lokalizuj z dwiema opcjami ścieżki bazy danych:

locate -d /home/user/dbfile1 -d /home/user/dbfile2 searchstring

Podsumowując i odpowiedz bardziej szczegółowo na pytanie:

updatedb -l 0 -U /home -o /home/user/home_dbfile
updatedb -l 0 -U /data -o /home/user/data_dbfile
locate -d /home/user/home_dbfile -d /home/user/data_dbfile Dylan

Upvoting, ponieważ jest to częściowa odpowiedź. Pozwala jednak na dodanie do białej listy tylko jednej ścieżki. Moje pytanie dotyczyło w szczególności, jak dodać do białej listy więcej niż jedną ścieżkę.
— Andrew Ferrier,

1
Poprawiona odpowiedź i dla łatwiejszej obsługi sugeruję utworzenie aliasu
— Janghou,

dobra odpowiedź! Nie wiedziałem, że możesz przeszukiwać dwie bazy danych równolegle, dzięki za wyjaśnienie. Oznaczę to jako zaakceptowane, chyba że nadejdzie lepsza odpowiedź!
— Andrew Ferrier,

Czy updatedb -l 0 -U /home/user/musicrekurencyjny? Wydaje się, że nie w moim przypadku
— Gaia,

22

Edytuj plik /etc/updatedb.conf

Skonfiguruj za PRUNEPATHSpomocą katalogów, których NIE chcesz przeszukiwać

PRUNEPATHS="/tmp /var/spool /media"

PRUNEPATHS: Rozdzielona spacjami lista nazw ścieżek katalogów, które nie powinny być skanowane przez updatedb. Każda nazwa ścieżki musi mieć dokładnie taką formę, w jakiej katalog byłby zgłaszany przez lokalizację. Domyślnie ścieżki nie są pomijane.

Należy pamiętać, że wszystkie powyższe informacje o konfiguracji można również zmienić lub zaktualizować za pomocą opcji wiersza polecenia narzędzia updatedb.


Nie, to dokładne przeciwieństwo tego, czego chcę. Spowoduje to indeksowanie wszystkiego oprócz tych katalogów.
— Andrew Ferrier,

Możesz ustawić PRUNEPATHS ze wszystkim oprócz swoich katalogów. W ten sposób skanuje tylko twoje katalogi.
— LnxSlck

OK, dziękuję za wyjaśnienie. To trochę niepraktyczne, ponieważ gdy dodam podkatalogi obok katalogów, chcę je indeksować, musiałbym pamiętać o dodaniu ich do PRUNEPATHS. Jednak to by działało. Dzieki za sugestie.
— Andrew Ferrier,

Tak, wiem, ale nie mogę znaleźć wielu informacji na temat mlocate, aby to zrobić. Nie możesz użyć czegoś takiego jak znaleźć?
— LnxSlck

Nie, mam dużo danych, dlatego ważne jest, aby były indeksowane. Wyjaśnili w pytaniu.
— Andrew Ferrier,

1

Znalazłem coś innego, co możesz spróbować:

  1. QuickSearch - „Więc mój SearchTool używa innego sposobu: używa polecenia„ ls ”do wyświetlenia listy przeszukiwanego folderu, a następnie wyszukuje dane wyjściowe. W ten sposób szybkość wyszukiwania jest bardzo duża (z wyjątkiem pierwszego uruchomienia „ls”). ”

Nie jestem pewien co do indeksowania.

  1. Użyj GUI narzędzia do śledzenia
  2. Dość kiepskie rozwiązanie sudo znaleźć „umieść tutaj swoje katalogi wyszukiwania”> files.list grep „nazwa pliku” files.list

Staraj się nie dodawać wielu odpowiedzi. W razie potrzeby edytuj istniejącą odpowiedź i dołącz więcej informacji. Dzięki.
— jokerdino

Tak, zrobię to
— LnxSlck,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.