Unterschied zwischen locate und mlocate

14

Ich wollte den Befehl installieren locate, der über verfügbar ist sudo apt-get installmlocate.

Allerdings lief ich erstmal sudo apt-get installlocatewas was anderes installiert zu haben scheint.

Die Eingabe des Befehls locate <package>scheint jedoch erforderlich zu sein mlocate.

Was ist das Paket locateund kann (sollte) es sicher entfernt werden?

Winterflaggen
quelle
1
Ich glaube, mlocate war der Ersatz für den ursprünglichen Ort, aber das war vor 15 Jahren, und wahrscheinlich ist ein Paket ein Alias ​​oder ein Verweis auf das andere. Es gibt eine andere Variante, "slocate", die die Sichtbarkeit einer Datei basierend auf den Benutzerberechtigungen beobachtet hat, die ich jedoch nicht sehe. Das ist schon lange her
Otheus

Antworten:

25

Das locate- Paket ist die Implementierung von locate aus GNU-findutils . Das mlocate- Paket ist eine weitere Implementierung desselben Konzepts namens mlocate . Sie implementieren die gleiche grundlegende Funktionalität: Schnelles Nachschlagen von Dateinamen basierend auf einem Index, der (normalerweise) jede Nacht neu erstellt wird. Sie unterscheiden sich in einigen Funktionen über die grundlegende Verwendung hinaus. Insbesondere erstellt GNU locate nur einen Index mit weltweit lesbaren Dateien (es sei denn, Sie führen ihn über Ihr Konto aus), wohingegen mlocate einen Index aller Dateien erstellt, dem aufrufenden Benutzer jedoch nur die Dateien anzeigt, auf die er zugreifen kann. Dies macht mlocate in den meisten Fällen nützlicher, aber in einigen ungewöhnlichen Installationen, in denen es nicht vom Systemadministrator ausgeführt wird, unbrauchbar (weilmlocatemuss setuid root sein ) und ein Sicherheitsrisiko.

Wenn Sie unter Debian und Derivaten beide installieren, locatewird die mlocateImplementierung ausgeführt, und Sie müssen ausgeführt werden locate.findutils, um die GNU-Implementierung auszuführen. Dies wird durch Alternativen gesteuert . Wenn Sie beide installiert haben, verbringen beide Zeit damit, ihren jeweiligen Index neu zu erstellen, aber ansonsten treten keine Konflikte auf.

Gilles 'SO - hör auf böse zu sein'
quelle
2
Sie haben es versäumt, das Hauptfeature zu erwähnen mlocate, von dem es seinen Namen erhält ("merging locate"): Es stellt eine Version updatedbbereit, die ihren alten Index wiederverwendet, um die Aktualisierungsleistung zu verbessern, indem nur Listen von Dateien / Unterverzeichnissen für Verzeichnisse abgefragt werden, in denen sich das ctimegeändert hat .
ssokolow
5

mlocate ist eine neuere Implementierung von locate. Sobald Sie es installiert mlocatehaben

Ändert die Binärdatei / usr / bin / locate so, dass sie über den alternativen Mechanismus auf mlocate zeigt.

Das ist der Grund, warum Sie ein lokales Verhalten erhalten, wenn Sie in dieser Reihenfolge installieren.

Details finden Sie hier

Anthon
quelle
In der Tat habe ich nie installiert mlocate, aber auf meinem Ubuntu 16.04 System/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate
Cayhorstmann