Różnica między lokalizacją a mlocate


15

Chciałem zainstalować polecenie locate, które jest dostępne za pośrednictwem sudo apt-get installmlocate.

Najpierw jednak uruchomiłem program, sudo apt-get installlocatektóry prawdopodobnie zainstalował coś innego.

locate <package>Wydaje się jednak, że wpisanie polecenia wymaga mlocate.

Co to jest paczka locatei czy można (powinna) być bezpiecznie usunięta?


1
Wydaje mi się, że mlocate zastąpił pierwotną lokalizację, ale to było 15 lat temu i prawdopodobnie jedna paczka to pseudonim lub odnośnik do drugiej. Istnieje inny wariant, „slocate”, w którym zaobserwowano widoczność pliku na podstawie uprawnień użytkownika, ale go nie widziałem. To przez długi czas
Otheus

Odpowiedzi:


25

Zlokalizować pakiet jest realizacja zlokalizować od findutils GNU . Mlocate pakiet to kolejna realizacja tej samej koncepcji zwanej mlocate . Implementują tę samą podstawową funkcjonalność: szybkie wyszukiwanie nazw plików na podstawie indeksu, który (zwykle) jest przebudowywany każdej nocy. Różnią się one niektórymi funkcjami poza podstawowym użytkowaniem. W szczególności GNU locate buduje indeks tylko plików czytelnych dla świata (chyba że uruchamiasz go ze swojego konta), podczas gdy mlocate buduje indeks wszystkich plików, ale pozwala tylko wywołującemu użytkownikowi zobaczyć pliki, do których może uzyskać dostęp. To sprawia, że ​​mlocate jest bardziej użyteczny w większości przypadków, ale nie nadaje się do użytku w niektórych nietypowych instalacjach, w których nie jest uruchamiany przez administratora systemu (ponieważmlocatemusi to być setuid root ) i ryzyko bezpieczeństwa.

W przypadku Debiana i pochodnych, jeśli zainstalujesz oba, locateuruchomi mlocateimplementację i musisz uruchomić, locate.findutilsaby uruchomić implementację GNU. Jest to zarządzane za pomocą alternatyw . Jeśli masz oba zainstalowane, oboje spędzą czas na odbudowywaniu odpowiedniego indeksu, ale poza tym nie będą ze sobą konfliktować.


2
Zlekceważyłeś wspomnieć mlocateo głównej funkcji, od której pochodzi jego nazwa („scalanie lokalizacji”): Udostępnia wersję, updatedbktóra ponownie używa swojego starego indeksu w celu poprawy wydajności aktualizacji, poprzez zapytanie tylko o listy plików / podkatalogów dla katalogów, w których ctimezmienił się .
ssokolow

6

mlocate to nowsza realizacja locate. Po zainstalowaniu mlocatego

zmieni binarne / usr / bin / locate, aby wskazywały na mlocate poprzez mechanizm alternatywny.

Dlatego zachowuje się mlocate, jeśli instalujesz w tej kolejności.

Szczegóły można znaleźć tutaj


W rzeczywistości nigdy nie instalowałem mlocate, ale w moim systemie Ubuntu 16.04,/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate
cayhorstmann
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.